From 5e3052249936a6b9f08c3c6e46d0463cbc1c271f Mon Sep 17 00:00:00 2001 From: officereso Date: Fri, 19 Apr 2019 22:18:49 -0500 Subject: [PATCH] Renamed Modules.serverRaidAutomod.py to Modules.automod. Changed virenv to support conda. Signed-off-by: officereso --- .idea/.name | 1 + .idea/Discord Bot.iml | 15 + .idea/codeStyles/codeStyleConfig.xml | 5 + .idea/dictionaries/freeman.xml | 12 + .idea/encodings.xml | 4 + .idea/libraries/R_User_Library.xml | 6 + .idea/misc.xml | 4 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + .../{serverRaidAutomod.py => automod.py} | 8 +- bot.py | 2 +- venv/bin/activate | 76 + venv/bin/activate.csh | 37 + venv/bin/activate.fish | 75 + venv/bin/chardetect | 12 + venv/bin/easy_install | 12 + venv/bin/easy_install-3.6 | 12 + venv/bin/pip | 12 + venv/bin/pip3 | 12 + venv/bin/pip3.6 | 12 + venv/bin/python | Bin 0 -> 11944432 bytes venv/bin/python3 | Bin 0 -> 11944432 bytes .../aiohttp-3.5.4.dist-info/INSTALLER | 1 + .../aiohttp-3.5.4.dist-info/LICENSE.txt | 201 + .../aiohttp-3.5.4.dist-info/METADATA | 433 + .../aiohttp-3.5.4.dist-info/RECORD | 124 + .../aiohttp-3.5.4.dist-info/WHEEL | 5 + .../aiohttp-3.5.4.dist-info/top_level.txt | 1 + .../site-packages/aiohttp/__init__.py | 216 + .../site-packages/aiohttp/_cparser.pxd | 140 + .../site-packages/aiohttp/_find_header.c | 10000 +++++++ .../site-packages/aiohttp/_find_header.h | 14 + .../site-packages/aiohttp/_find_header.pxd | 2 + .../site-packages/aiohttp/_frozenlist.c | 7325 +++++ ...frozenlist.cpython-36m-x86_64-linux-gnu.so | Bin 0 -> 313659 bytes .../site-packages/aiohttp/_frozenlist.pyx | 108 + .../site-packages/aiohttp/_headers.pxi | 84 + .../site-packages/aiohttp/_helpers.c | 5312 ++++ .../_helpers.cpython-36m-x86_64-linux-gnu.so | Bin 0 -> 217613 bytes .../site-packages/aiohttp/_helpers.pyi | 8 + .../site-packages/aiohttp/_helpers.pyx | 35 + .../site-packages/aiohttp/_http_parser.c | 24057 ++++++++++++++++ ...ttp_parser.cpython-36m-x86_64-linux-gnu.so | Bin 0 -> 1583046 bytes .../site-packages/aiohttp/_http_parser.pyx | 845 + .../site-packages/aiohttp/_http_writer.c | 5616 ++++ ...ttp_writer.cpython-36m-x86_64-linux-gnu.so | Bin 0 -> 199248 bytes .../site-packages/aiohttp/_http_writer.pyx | 152 + .../site-packages/aiohttp/_websocket.c | 3538 +++ ..._websocket.cpython-36m-x86_64-linux-gnu.so | Bin 0 -> 102618 bytes .../site-packages/aiohttp/_websocket.pyx | 54 + .../python3.6/site-packages/aiohttp/abc.py | 208 + .../site-packages/aiohttp/base_protocol.py | 81 + .../python3.6/site-packages/aiohttp/client.py | 1139 + .../aiohttp/client_exceptions.py | 268 + .../site-packages/aiohttp/client_proto.py | 237 + .../site-packages/aiohttp/client_reqrep.py | 1048 + .../site-packages/aiohttp/client_ws.py | 301 + .../site-packages/aiohttp/connector.py | 1128 + .../site-packages/aiohttp/cookiejar.py | 357 + .../site-packages/aiohttp/formdata.py | 150 + .../site-packages/aiohttp/frozenlist.py | 72 + .../site-packages/aiohttp/frozenlist.pyi | 54 + .../python3.6/site-packages/aiohttp/hdrs.py | 100 + .../site-packages/aiohttp/helpers.py | 704 + .../python3.6/site-packages/aiohttp/http.py | 56 + .../site-packages/aiohttp/http_exceptions.py | 98 + .../site-packages/aiohttp/http_parser.py | 764 + .../site-packages/aiohttp/http_websocket.py | 653 + .../site-packages/aiohttp/http_writer.py | 172 + .../python3.6/site-packages/aiohttp/locks.py | 44 + .../python3.6/site-packages/aiohttp/log.py | 8 + .../site-packages/aiohttp/multipart.py | 937 + .../site-packages/aiohttp/payload.py | 456 + .../site-packages/aiohttp/payload_streamer.py | 74 + .../python3.6/site-packages/aiohttp/py.typed | 1 + .../site-packages/aiohttp/pytest_plugin.py | 337 + .../site-packages/aiohttp/resolver.py | 112 + .../site-packages/aiohttp/signals.py | 34 + .../site-packages/aiohttp/signals.pyi | 18 + .../site-packages/aiohttp/streams.py | 631 + .../site-packages/aiohttp/tcp_helpers.py | 63 + .../site-packages/aiohttp/test_utils.py | 659 + .../site-packages/aiohttp/tracing.py | 369 + .../site-packages/aiohttp/typedefs.py | 46 + .../python3.6/site-packages/aiohttp/web.py | 484 + .../site-packages/aiohttp/web_app.py | 511 + .../site-packages/aiohttp/web_exceptions.py | 411 + .../site-packages/aiohttp/web_fileresponse.py | 344 + .../site-packages/aiohttp/web_log.py | 235 + .../site-packages/aiohttp/web_middlewares.py | 120 + .../site-packages/aiohttp/web_protocol.py | 582 + .../site-packages/aiohttp/web_request.py | 743 + .../site-packages/aiohttp/web_response.py | 717 + .../site-packages/aiohttp/web_routedef.py | 193 + .../site-packages/aiohttp/web_runner.py | 308 + .../site-packages/aiohttp/web_server.py | 57 + .../aiohttp/web_urldispatcher.py | 1133 + .../python3.6/site-packages/aiohttp/web_ws.py | 458 + .../python3.6/site-packages/aiohttp/worker.py | 242 + .../async_timeout-3.0.1.dist-info/INSTALLER | 1 + .../async_timeout-3.0.1.dist-info/LICENSE | 201 + .../async_timeout-3.0.1.dist-info/METADATA | 165 + .../async_timeout-3.0.1.dist-info/RECORD | 9 + .../async_timeout-3.0.1.dist-info/WHEEL | 5 + .../top_level.txt | 1 + .../site-packages/async_timeout/__init__.py | 115 + .../site-packages/async_timeout/py.typed | 1 + .../python3.6/site-packages/attr/__init__.py | 65 + .../python3.6/site-packages/attr/__init__.pyi | 255 + .../python3.6/site-packages/attr/_compat.py | 159 + .../python3.6/site-packages/attr/_config.py | 23 + .../python3.6/site-packages/attr/_funcs.py | 290 + .../lib/python3.6/site-packages/attr/_make.py | 2086 ++ .../site-packages/attr/converters.py | 78 + .../site-packages/attr/converters.pyi | 12 + .../site-packages/attr/exceptions.py | 57 + .../site-packages/attr/exceptions.pyi | 7 + .../python3.6/site-packages/attr/filters.py | 52 + .../python3.6/site-packages/attr/filters.pyi | 5 + .../lib/python3.6/site-packages/attr/py.typed | 0 .../site-packages/attr/validators.py | 282 + .../site-packages/attr/validators.pyi | 24 + .../attrs-19.1.0.dist-info/INSTALLER | 1 + .../attrs-19.1.0.dist-info/LICENSE | 21 + .../attrs-19.1.0.dist-info/METADATA | 249 + .../attrs-19.1.0.dist-info/RECORD | 30 + .../attrs-19.1.0.dist-info/WHEEL | 6 + .../attrs-19.1.0.dist-info/top_level.txt | 1 + .../chardet-3.0.4.dist-info/DESCRIPTION.rst | 70 + .../chardet-3.0.4.dist-info/INSTALLER | 1 + .../chardet-3.0.4.dist-info/METADATA | 96 + .../chardet-3.0.4.dist-info/RECORD | 91 + .../chardet-3.0.4.dist-info/WHEEL | 6 + .../chardet-3.0.4.dist-info/entry_points.txt | 3 + .../chardet-3.0.4.dist-info/metadata.json | 1 + .../chardet-3.0.4.dist-info/top_level.txt | 1 + .../site-packages/chardet/__init__.py | 39 + .../site-packages/chardet/big5freq.py | 386 + .../site-packages/chardet/big5prober.py | 47 + .../site-packages/chardet/chardistribution.py | 233 + .../chardet/charsetgroupprober.py | 106 + .../site-packages/chardet/charsetprober.py | 145 + .../site-packages/chardet/cli/__init__.py | 1 + .../site-packages/chardet/cli/chardetect.py | 85 + .../chardet/codingstatemachine.py | 88 + .../python3.6/site-packages/chardet/compat.py | 34 + .../site-packages/chardet/cp949prober.py | 49 + .../python3.6/site-packages/chardet/enums.py | 76 + .../site-packages/chardet/escprober.py | 101 + .../python3.6/site-packages/chardet/escsm.py | 246 + .../site-packages/chardet/eucjpprober.py | 92 + .../site-packages/chardet/euckrfreq.py | 195 + .../site-packages/chardet/euckrprober.py | 47 + .../site-packages/chardet/euctwfreq.py | 387 + .../site-packages/chardet/euctwprober.py | 46 + .../site-packages/chardet/gb2312freq.py | 283 + .../site-packages/chardet/gb2312prober.py | 46 + .../site-packages/chardet/hebrewprober.py | 292 + .../site-packages/chardet/jisfreq.py | 325 + .../python3.6/site-packages/chardet/jpcntx.py | 233 + .../chardet/langbulgarianmodel.py | 228 + .../chardet/langcyrillicmodel.py | 333 + .../site-packages/chardet/langgreekmodel.py | 225 + .../site-packages/chardet/langhebrewmodel.py | 200 + .../chardet/langhungarianmodel.py | 225 + .../site-packages/chardet/langthaimodel.py | 199 + .../site-packages/chardet/langturkishmodel.py | 193 + .../site-packages/chardet/latin1prober.py | 145 + .../site-packages/chardet/mbcharsetprober.py | 91 + .../site-packages/chardet/mbcsgroupprober.py | 54 + .../python3.6/site-packages/chardet/mbcssm.py | 572 + .../site-packages/chardet/sbcharsetprober.py | 132 + .../site-packages/chardet/sbcsgroupprober.py | 73 + .../site-packages/chardet/sjisprober.py | 92 + .../chardet/universaldetector.py | 286 + .../site-packages/chardet/utf8prober.py | 82 + .../site-packages/chardet/version.py | 9 + .../discord.py-1.0.1.dist-info/INSTALLER | 1 + .../discord.py-1.0.1.dist-info/LICENSE | 21 + .../discord.py-1.0.1.dist-info/METADATA | 149 + .../discord.py-1.0.1.dist-info/RECORD | 122 + .../discord.py-1.0.1.dist-info/WHEEL | 5 + .../discord.py-1.0.1.dist-info/top_level.txt | 1 + .../site-packages/discord/__init__.py | 65 + .../site-packages/discord/__main__.py | 291 + .../python3.6/site-packages/discord/abc.py | 990 + .../site-packages/discord/activity.py | 582 + .../site-packages/discord/appinfo.py | 74 + .../python3.6/site-packages/discord/asset.py | 159 + .../site-packages/discord/audit_logs.py | 346 + .../site-packages/discord/backoff.py | 85 + .../discord/bin/libopus-0.x64.dll | Bin 0 -> 423142 bytes .../discord/bin/libopus-0.x86.dll | Bin 0 -> 380885 bytes .../python3.6/site-packages/discord/calls.py | 155 + .../site-packages/discord/channel.py | 1155 + .../python3.6/site-packages/discord/client.py | 1192 + .../python3.6/site-packages/discord/colour.py | 230 + .../site-packages/discord/context_managers.py | 67 + .../python3.6/site-packages/discord/embeds.py | 530 + .../python3.6/site-packages/discord/emoji.py | 295 + .../python3.6/site-packages/discord/enums.py | 282 + .../python3.6/site-packages/discord/errors.py | 164 + .../discord/ext/commands/__init__.py | 20 + .../discord/ext/commands/_types.py | 30 + .../site-packages/discord/ext/commands/bot.py | 969 + .../site-packages/discord/ext/commands/cog.py | 411 + .../discord/ext/commands/context.py | 291 + .../discord/ext/commands/converter.py | 503 + .../discord/ext/commands/cooldowns.py | 148 + .../discord/ext/commands/core.py | 1513 + .../discord/ext/commands/errors.py | 364 + .../discord/ext/commands/help.py | 1238 + .../discord/ext/commands/view.py | 194 + .../site-packages/discord/ext/ipc/__init__.py | 16 + .../site-packages/discord/ext/ipc/client.py | 85 + .../site-packages/discord/ext/ipc/errors.py | 33 + .../site-packages/discord/ext/ipc/protocol.py | 134 + .../site-packages/discord/ext/ipc/server.py | 133 + .../python3.6/site-packages/discord/file.py | 105 + .../site-packages/discord/gateway.py | 739 + .../python3.6/site-packages/discord/guild.py | 1538 + .../python3.6/site-packages/discord/http.py | 824 + .../python3.6/site-packages/discord/invite.py | 308 + .../site-packages/discord/iterators.py | 589 + .../python3.6/site-packages/discord/member.py | 635 + .../site-packages/discord/message.py | 805 + .../python3.6/site-packages/discord/mixins.py | 42 + .../python3.6/site-packages/discord/object.py | 70 + .../python3.6/site-packages/discord/opus.py | 278 + .../site-packages/discord/permissions.py | 624 + .../python3.6/site-packages/discord/player.py | 344 + .../site-packages/discord/raw_models.py | 151 + .../site-packages/discord/reaction.py | 177 + .../site-packages/discord/relationship.py | 78 + .../python3.6/site-packages/discord/role.py | 283 + .../python3.6/site-packages/discord/shard.py | 359 + .../python3.6/site-packages/discord/state.py | 1010 + .../python3.6/site-packages/discord/user.py | 770 + .../python3.6/site-packages/discord/utils.py | 433 + .../site-packages/discord/voice_client.py | 446 + .../site-packages/discord/webhook.py | 729 + .../python3.6/site-packages/discord/widget.py | 250 + .../python3.6/site-packages/easy-install.pth | 2 + .../idna-2.8.dist-info/INSTALLER | 1 + .../idna-2.8.dist-info/LICENSE.rst | 80 + .../site-packages/idna-2.8.dist-info/METADATA | 239 + .../site-packages/idna-2.8.dist-info/RECORD | 22 + .../site-packages/idna-2.8.dist-info/WHEEL | 6 + .../idna-2.8.dist-info/top_level.txt | 1 + .../python3.6/site-packages/idna/__init__.py | 2 + .../lib/python3.6/site-packages/idna/codec.py | 118 + .../python3.6/site-packages/idna/compat.py | 12 + venv/lib/python3.6/site-packages/idna/core.py | 396 + .../python3.6/site-packages/idna/idnadata.py | 1979 ++ .../python3.6/site-packages/idna/intranges.py | 53 + .../site-packages/idna/package_data.py | 2 + .../python3.6/site-packages/idna/uts46data.py | 8205 ++++++ .../idna_ssl-1.1.0-py3.6.egg-info/PKG-INFO | 81 + .../idna_ssl-1.1.0-py3.6.egg-info/SOURCES.txt | 12 + .../dependency_links.txt | 1 + .../installed-files.txt | 8 + .../not-zip-safe | 1 + .../requires.txt | 1 + .../top_level.txt | 1 + venv/lib/python3.6/site-packages/idna_ssl.py | 40 + .../multidict-4.5.2.dist-info/INSTALLER | 1 + .../multidict-4.5.2.dist-info/LICENSE | 201 + .../multidict-4.5.2.dist-info/METADATA | 113 + .../multidict-4.5.2.dist-info/RECORD | 32 + .../multidict-4.5.2.dist-info/WHEEL | 5 + .../multidict-4.5.2.dist-info/top_level.txt | 1 + .../site-packages/multidict/__init__.py | 33 + .../site-packages/multidict/__init__.pyi | 202 + .../python3.6/site-packages/multidict/_abc.py | 42 + .../site-packages/multidict/_compat.py | 9 + .../python3.6/site-packages/multidict/_istr.c | 238 + .../_istr.cpython-36m-x86_64-linux-gnu.so | Bin 0 -> 30563 bytes .../site-packages/multidict/_multidict.c | 11710 ++++++++ ..._multidict.cpython-36m-x86_64-linux-gnu.so | Bin 0 -> 665715 bytes .../site-packages/multidict/_multidict.pyx | 362 + .../multidict/_multidict_base.py | 137 + .../site-packages/multidict/_multidict_iter.c | 272 + .../site-packages/multidict/_multidict_iter.h | 20 + .../multidict/_multidict_iter.pxd | 9 + .../site-packages/multidict/_multidict_py.py | 492 + .../multidict/_multidict_views.c | 586 + .../multidict/_multidict_views.h | 20 + .../multidict/_multidict_views.pxd | 9 + .../site-packages/multidict/_pair_list.c | 1296 + .../site-packages/multidict/_pair_list.h | 56 + .../site-packages/multidict/_pair_list.pxd | 49 + .../site-packages/multidict/py.typed | 1 + .../pip-19.0.3-py3.6.egg/EGG-INFO/PKG-INFO | 73 + .../pip-19.0.3-py3.6.egg/EGG-INFO/SOURCES.txt | 391 + .../EGG-INFO/dependency_links.txt | 1 + .../EGG-INFO/entry_points.txt | 5 + .../EGG-INFO/not-zip-safe | 1 + .../EGG-INFO/top_level.txt | 1 + .../pip-19.0.3-py3.6.egg/pip/__init__.py | 1 + .../pip-19.0.3-py3.6.egg/pip/__main__.py | 19 + .../pip/_internal/__init__.py | 78 + .../pip/_internal/build_env.py | 215 + .../pip/_internal/cache.py | 224 + .../pip/_internal/cli/__init__.py | 4 + .../pip/_internal/cli/autocompletion.py | 152 + .../pip/_internal/cli/base_command.py | 341 + .../pip/_internal/cli/cmdoptions.py | 809 + .../pip/_internal/cli/main_parser.py | 104 + .../pip/_internal/cli/parser.py | 261 + .../pip/_internal/cli/status_codes.py | 8 + .../pip/_internal/commands/__init__.py | 79 + .../pip/_internal/commands/check.py | 41 + .../pip/_internal/commands/completion.py | 94 + .../pip/_internal/commands/configuration.py | 227 + .../pip/_internal/commands/download.py | 176 + .../pip/_internal/commands/freeze.py | 96 + .../pip/_internal/commands/hash.py | 57 + .../pip/_internal/commands/help.py | 37 + .../pip/_internal/commands/install.py | 566 + .../pip/_internal/commands/list.py | 301 + .../pip/_internal/commands/search.py | 135 + .../pip/_internal/commands/show.py | 168 + .../pip/_internal/commands/uninstall.py | 78 + .../pip/_internal/commands/wheel.py | 186 + .../pip/_internal/configuration.py | 387 + .../pip/_internal/download.py | 971 + .../pip/_internal/exceptions.py | 274 + .../pip/_internal/index.py | 990 + .../pip/_internal/locations.py | 211 + .../pip/_internal/models/__init__.py | 2 + .../pip/_internal/models/candidate.py | 31 + .../pip/_internal/models/format_control.py | 73 + .../pip/_internal/models/index.py | 31 + .../pip/_internal/models/link.py | 163 + .../pip/_internal/operations/__init__.py | 0 .../pip/_internal/operations/check.py | 155 + .../pip/_internal/operations/freeze.py | 247 + .../pip/_internal/operations/prepare.py | 413 + .../pip/_internal/pep425tags.py | 381 + .../pip/_internal/pyproject.py | 171 + .../pip/_internal/req/__init__.py | 77 + .../pip/_internal/req/constructors.py | 339 + .../pip/_internal/req/req_file.py | 382 + .../pip/_internal/req/req_install.py | 1021 + .../pip/_internal/req/req_set.py | 197 + .../pip/_internal/req/req_tracker.py | 88 + .../pip/_internal/req/req_uninstall.py | 596 + .../pip/_internal/resolve.py | 393 + .../pip/_internal/utils/__init__.py | 0 .../pip/_internal/utils/appdirs.py | 270 + .../pip/_internal/utils/compat.py | 264 + .../pip/_internal/utils/deprecation.py | 90 + .../pip/_internal/utils/encoding.py | 39 + .../pip/_internal/utils/filesystem.py | 30 + .../pip/_internal/utils/glibc.py | 93 + .../pip/_internal/utils/hashes.py | 115 + .../pip/_internal/utils/logging.py | 318 + .../pip/_internal/utils/misc.py | 1040 + .../pip/_internal/utils/models.py | 40 + .../pip/_internal/utils/outdated.py | 164 + .../pip/_internal/utils/packaging.py | 85 + .../pip/_internal/utils/setuptools_build.py | 8 + .../pip/_internal/utils/temp_dir.py | 155 + .../pip/_internal/utils/typing.py | 29 + .../pip/_internal/utils/ui.py | 441 + .../pip/_internal/vcs/__init__.py | 534 + .../pip/_internal/vcs/bazaar.py | 114 + .../pip/_internal/vcs/git.py | 369 + .../pip/_internal/vcs/mercurial.py | 103 + .../pip/_internal/vcs/subversion.py | 200 + .../pip/_internal/wheel.py | 1095 + .../pip/_vendor/__init__.py | 111 + .../pip/_vendor/appdirs.py | 604 + .../pip/_vendor/cachecontrol/__init__.py | 11 + .../pip/_vendor/cachecontrol/_cmd.py | 57 + .../pip/_vendor/cachecontrol/adapter.py | 133 + .../pip/_vendor/cachecontrol/cache.py | 39 + .../_vendor/cachecontrol/caches/__init__.py | 2 + .../_vendor/cachecontrol/caches/file_cache.py | 146 + .../cachecontrol/caches/redis_cache.py | 33 + .../pip/_vendor/cachecontrol/compat.py | 29 + .../pip/_vendor/cachecontrol/controller.py | 367 + .../pip/_vendor/cachecontrol/filewrapper.py | 80 + .../pip/_vendor/cachecontrol/heuristics.py | 135 + .../pip/_vendor/cachecontrol/serialize.py | 186 + .../pip/_vendor/cachecontrol/wrapper.py | 29 + .../pip/_vendor/certifi/__init__.py | 3 + .../pip/_vendor/certifi/__main__.py | 2 + .../pip/_vendor/certifi/cacert.pem | 4512 +++ .../pip/_vendor/certifi/core.py | 20 + .../pip/_vendor/chardet/__init__.py | 39 + .../pip/_vendor/chardet/big5freq.py | 386 + .../pip/_vendor/chardet/big5prober.py | 47 + .../pip/_vendor/chardet/chardistribution.py | 233 + .../pip/_vendor/chardet/charsetgroupprober.py | 106 + .../pip/_vendor/chardet/charsetprober.py | 145 + .../pip/_vendor/chardet/cli/__init__.py | 1 + .../pip/_vendor/chardet/cli/chardetect.py | 85 + .../pip/_vendor/chardet/codingstatemachine.py | 88 + .../pip/_vendor/chardet/compat.py | 34 + .../pip/_vendor/chardet/cp949prober.py | 49 + .../pip/_vendor/chardet/enums.py | 76 + .../pip/_vendor/chardet/escprober.py | 101 + .../pip/_vendor/chardet/escsm.py | 246 + .../pip/_vendor/chardet/eucjpprober.py | 92 + .../pip/_vendor/chardet/euckrfreq.py | 195 + .../pip/_vendor/chardet/euckrprober.py | 47 + .../pip/_vendor/chardet/euctwfreq.py | 387 + .../pip/_vendor/chardet/euctwprober.py | 46 + .../pip/_vendor/chardet/gb2312freq.py | 283 + .../pip/_vendor/chardet/gb2312prober.py | 46 + .../pip/_vendor/chardet/hebrewprober.py | 292 + .../pip/_vendor/chardet/jisfreq.py | 325 + .../pip/_vendor/chardet/jpcntx.py | 233 + .../pip/_vendor/chardet/langbulgarianmodel.py | 228 + .../pip/_vendor/chardet/langcyrillicmodel.py | 333 + .../pip/_vendor/chardet/langgreekmodel.py | 225 + .../pip/_vendor/chardet/langhebrewmodel.py | 200 + .../pip/_vendor/chardet/langhungarianmodel.py | 225 + .../pip/_vendor/chardet/langthaimodel.py | 199 + .../pip/_vendor/chardet/langturkishmodel.py | 193 + .../pip/_vendor/chardet/latin1prober.py | 145 + .../pip/_vendor/chardet/mbcharsetprober.py | 91 + .../pip/_vendor/chardet/mbcsgroupprober.py | 54 + .../pip/_vendor/chardet/mbcssm.py | 572 + .../pip/_vendor/chardet/sbcharsetprober.py | 132 + .../pip/_vendor/chardet/sbcsgroupprober.py | 73 + .../pip/_vendor/chardet/sjisprober.py | 92 + .../pip/_vendor/chardet/universaldetector.py | 286 + .../pip/_vendor/chardet/utf8prober.py | 82 + .../pip/_vendor/chardet/version.py | 9 + .../pip/_vendor/colorama/__init__.py | 6 + .../pip/_vendor/colorama/ansi.py | 102 + .../pip/_vendor/colorama/ansitowin32.py | 257 + .../pip/_vendor/colorama/initialise.py | 80 + .../pip/_vendor/colorama/win32.py | 152 + .../pip/_vendor/colorama/winterm.py | 169 + .../pip/_vendor/distlib/__init__.py | 23 + .../pip/_vendor/distlib/_backport/__init__.py | 6 + .../pip/_vendor/distlib/_backport/misc.py | 41 + .../pip/_vendor/distlib/_backport/shutil.py | 761 + .../_vendor/distlib/_backport/sysconfig.cfg | 84 + .../_vendor/distlib/_backport/sysconfig.py | 788 + .../pip/_vendor/distlib/_backport/tarfile.py | 2607 ++ .../pip/_vendor/distlib/compat.py | 1120 + .../pip/_vendor/distlib/database.py | 1339 + .../pip/_vendor/distlib/index.py | 516 + .../pip/_vendor/distlib/locators.py | 1295 + .../pip/_vendor/distlib/manifest.py | 393 + .../pip/_vendor/distlib/markers.py | 131 + .../pip/_vendor/distlib/metadata.py | 1094 + .../pip/_vendor/distlib/resources.py | 355 + .../pip/_vendor/distlib/scripts.py | 417 + .../pip/_vendor/distlib/t32.exe | Bin 0 -> 92672 bytes .../pip/_vendor/distlib/t64.exe | Bin 0 -> 102400 bytes .../pip/_vendor/distlib/util.py | 1756 ++ .../pip/_vendor/distlib/version.py | 736 + .../pip/_vendor/distlib/w32.exe | Bin 0 -> 89088 bytes .../pip/_vendor/distlib/w64.exe | Bin 0 -> 99328 bytes .../pip/_vendor/distlib/wheel.py | 988 + .../pip/_vendor/distro.py | 1197 + .../pip/_vendor/html5lib/__init__.py | 35 + .../pip/_vendor/html5lib/_ihatexml.py | 288 + .../pip/_vendor/html5lib/_inputstream.py | 923 + .../pip/_vendor/html5lib/_tokenizer.py | 1721 ++ .../pip/_vendor/html5lib/_trie/__init__.py | 14 + .../pip/_vendor/html5lib/_trie/_base.py | 37 + .../pip/_vendor/html5lib/_trie/datrie.py | 44 + .../pip/_vendor/html5lib/_trie/py.py | 67 + .../pip/_vendor/html5lib/_utils.py | 124 + .../pip/_vendor/html5lib/constants.py | 2947 ++ .../pip/_vendor/html5lib/filters/__init__.py | 0 .../filters/alphabeticalattributes.py | 29 + .../pip/_vendor/html5lib/filters/base.py | 12 + .../html5lib/filters/inject_meta_charset.py | 73 + .../pip/_vendor/html5lib/filters/lint.py | 93 + .../_vendor/html5lib/filters/optionaltags.py | 207 + .../pip/_vendor/html5lib/filters/sanitizer.py | 896 + .../_vendor/html5lib/filters/whitespace.py | 38 + .../pip/_vendor/html5lib/html5parser.py | 2791 ++ .../pip/_vendor/html5lib/serializer.py | 409 + .../_vendor/html5lib/treeadapters/__init__.py | 30 + .../_vendor/html5lib/treeadapters/genshi.py | 54 + .../pip/_vendor/html5lib/treeadapters/sax.py | 50 + .../_vendor/html5lib/treebuilders/__init__.py | 88 + .../pip/_vendor/html5lib/treebuilders/base.py | 417 + .../pip/_vendor/html5lib/treebuilders/dom.py | 236 + .../_vendor/html5lib/treebuilders/etree.py | 340 + .../html5lib/treebuilders/etree_lxml.py | 366 + .../_vendor/html5lib/treewalkers/__init__.py | 154 + .../pip/_vendor/html5lib/treewalkers/base.py | 252 + .../pip/_vendor/html5lib/treewalkers/dom.py | 43 + .../pip/_vendor/html5lib/treewalkers/etree.py | 130 + .../html5lib/treewalkers/etree_lxml.py | 213 + .../_vendor/html5lib/treewalkers/genshi.py | 69 + .../pip/_vendor/idna/__init__.py | 2 + .../pip/_vendor/idna/codec.py | 118 + .../pip/_vendor/idna/compat.py | 12 + .../pip/_vendor/idna/core.py | 396 + .../pip/_vendor/idna/idnadata.py | 1979 ++ .../pip/_vendor/idna/intranges.py | 53 + .../pip/_vendor/idna/package_data.py | 2 + .../pip/_vendor/idna/uts46data.py | 8205 ++++++ .../pip/_vendor/ipaddress.py | 2419 ++ .../pip/_vendor/lockfile/__init__.py | 347 + .../pip/_vendor/lockfile/linklockfile.py | 73 + .../pip/_vendor/lockfile/mkdirlockfile.py | 84 + .../pip/_vendor/lockfile/pidlockfile.py | 190 + .../pip/_vendor/lockfile/sqlitelockfile.py | 156 + .../pip/_vendor/lockfile/symlinklockfile.py | 70 + .../pip/_vendor/msgpack/__init__.py | 66 + .../pip/_vendor/msgpack/_version.py | 1 + .../pip/_vendor/msgpack/exceptions.py | 41 + .../pip/_vendor/msgpack/fallback.py | 977 + .../pip/_vendor/packaging/__about__.py | 27 + .../pip/_vendor/packaging/__init__.py | 26 + .../pip/_vendor/packaging/_compat.py | 31 + .../pip/_vendor/packaging/_structures.py | 68 + .../pip/_vendor/packaging/markers.py | 296 + .../pip/_vendor/packaging/requirements.py | 138 + .../pip/_vendor/packaging/specifiers.py | 749 + .../pip/_vendor/packaging/utils.py | 57 + .../pip/_vendor/packaging/version.py | 420 + .../pip/_vendor/pep517/__init__.py | 4 + .../pip/_vendor/pep517/_in_process.py | 207 + .../pip/_vendor/pep517/build.py | 108 + .../pip/_vendor/pep517/check.py | 202 + .../pip/_vendor/pep517/colorlog.py | 115 + .../pip/_vendor/pep517/compat.py | 23 + .../pip/_vendor/pep517/envbuild.py | 158 + .../pip/_vendor/pep517/wrappers.py | 163 + .../pip/_vendor/pkg_resources/__init__.py | 3171 ++ .../pip/_vendor/pkg_resources/py31compat.py | 23 + .../pip/_vendor/progress/__init__.py | 127 + .../pip/_vendor/progress/bar.py | 94 + .../pip/_vendor/progress/counter.py | 48 + .../pip/_vendor/progress/helpers.py | 91 + .../pip/_vendor/progress/spinner.py | 44 + .../pip/_vendor/pyparsing.py | 6452 +++++ .../pip/_vendor/pytoml/__init__.py | 4 + .../pip/_vendor/pytoml/core.py | 13 + .../pip/_vendor/pytoml/parser.py | 341 + .../pip/_vendor/pytoml/test.py | 30 + .../pip/_vendor/pytoml/utils.py | 67 + .../pip/_vendor/pytoml/writer.py | 106 + .../pip/_vendor/requests/__init__.py | 133 + .../pip/_vendor/requests/__version__.py | 14 + .../pip/_vendor/requests/_internal_utils.py | 42 + .../pip/_vendor/requests/adapters.py | 533 + .../pip/_vendor/requests/api.py | 158 + .../pip/_vendor/requests/auth.py | 305 + .../pip/_vendor/requests/certs.py | 18 + .../pip/_vendor/requests/compat.py | 74 + .../pip/_vendor/requests/cookies.py | 549 + .../pip/_vendor/requests/exceptions.py | 126 + .../pip/_vendor/requests/help.py | 119 + .../pip/_vendor/requests/hooks.py | 34 + .../pip/_vendor/requests/models.py | 953 + .../pip/_vendor/requests/packages.py | 16 + .../pip/_vendor/requests/sessions.py | 770 + .../pip/_vendor/requests/status_codes.py | 120 + .../pip/_vendor/requests/structures.py | 103 + .../pip/_vendor/requests/utils.py | 977 + .../pip/_vendor/retrying.py | 267 + .../pip-19.0.3-py3.6.egg/pip/_vendor/six.py | 952 + .../pip/_vendor/urllib3/__init__.py | 92 + .../pip/_vendor/urllib3/_collections.py | 329 + .../pip/_vendor/urllib3/connection.py | 391 + .../pip/_vendor/urllib3/connectionpool.py | 896 + .../pip/_vendor/urllib3/contrib/__init__.py | 0 .../urllib3/contrib/_appengine_environ.py | 30 + .../contrib/_securetransport/__init__.py | 0 .../contrib/_securetransport/bindings.py | 593 + .../contrib/_securetransport/low_level.py | 346 + .../pip/_vendor/urllib3/contrib/appengine.py | 289 + .../pip/_vendor/urllib3/contrib/ntlmpool.py | 111 + .../pip/_vendor/urllib3/contrib/pyopenssl.py | 466 + .../urllib3/contrib/securetransport.py | 804 + .../pip/_vendor/urllib3/contrib/socks.py | 192 + .../pip/_vendor/urllib3/exceptions.py | 246 + .../pip/_vendor/urllib3/fields.py | 178 + .../pip/_vendor/urllib3/filepost.py | 98 + .../pip/_vendor/urllib3/packages/__init__.py | 5 + .../urllib3/packages/backports/__init__.py | 0 .../urllib3/packages/backports/makefile.py | 53 + .../pip/_vendor/urllib3/packages/six.py | 868 + .../packages/ssl_match_hostname/__init__.py | 19 + .../ssl_match_hostname/_implementation.py | 156 + .../pip/_vendor/urllib3/poolmanager.py | 450 + .../pip/_vendor/urllib3/request.py | 150 + .../pip/_vendor/urllib3/response.py | 705 + .../pip/_vendor/urllib3/util/__init__.py | 54 + .../pip/_vendor/urllib3/util/connection.py | 134 + .../pip/_vendor/urllib3/util/queue.py | 21 + .../pip/_vendor/urllib3/util/request.py | 118 + .../pip/_vendor/urllib3/util/response.py | 87 + .../pip/_vendor/urllib3/util/retry.py | 411 + .../pip/_vendor/urllib3/util/ssl_.py | 381 + .../pip/_vendor/urllib3/util/timeout.py | 242 + .../pip/_vendor/urllib3/util/url.py | 230 + .../pip/_vendor/urllib3/util/wait.py | 150 + .../pip/_vendor/webencodings/__init__.py | 342 + .../pip/_vendor/webencodings/labels.py | 231 + .../pip/_vendor/webencodings/mklabels.py | 59 + .../pip/_vendor/webencodings/tests.py | 153 + .../_vendor/webencodings/x_user_defined.py | 325 + .../site-packages/setuptools-40.8.0-py3.6.egg | Bin 0 -> 571890 bytes .../python3.6/site-packages/setuptools.pth | 1 + .../INSTALLER | 1 + .../typing_extensions-3.7.2.dist-info/LICENSE | 254 + .../METADATA | 40 + .../typing_extensions-3.7.2.dist-info/RECORD | 8 + .../typing_extensions-3.7.2.dist-info/WHEEL | 5 + .../top_level.txt | 1 + .../site-packages/typing_extensions.py | 1509 + .../websockets-6.0.dist-info/INSTALLER | 1 + .../websockets-6.0.dist-info/METADATA | 160 + .../websockets-6.0.dist-info/RECORD | 79 + .../websockets-6.0.dist-info/WHEEL | 5 + .../websockets-6.0.dist-info/top_level.txt | 4 + .../websockets-6.0.dist-info/zip-safe | 1 + .../site-packages/websockets/__init__.py | 17 + .../site-packages/websockets/client.py | 420 + .../site-packages/websockets/compatibility.py | 59 + .../site-packages/websockets/exceptions.py | 207 + .../websockets/extensions/__init__.py | 0 .../websockets/extensions/base.py | 89 + .../extensions/permessage_deflate.py | 548 + .../websockets/extensions/test_base.py | 4 + .../extensions/test_permessage_deflate.py | 849 + .../site-packages/websockets/framing.py | 295 + .../site-packages/websockets/handshake.py | 153 + .../site-packages/websockets/headers.py | 339 + .../site-packages/websockets/http.py | 331 + .../site-packages/websockets/protocol.py | 1023 + .../site-packages/websockets/py35/__init__.py | 2 + .../websockets/py35/_test_client_server.py | 114 + .../site-packages/websockets/py35/client.py | 33 + .../site-packages/websockets/py35/server.py | 22 + .../site-packages/websockets/py36/__init__.py | 2 + .../websockets/py36/_test_client_server.py | 107 + .../site-packages/websockets/py36/protocol.py | 20 + .../site-packages/websockets/server.py | 779 + .../site-packages/websockets/speedups.c | 130 + .../speedups.cpython-36m-x86_64-linux-gnu.so | Bin 0 -> 20223 bytes .../websockets/test_client_server.py | 1114 + .../websockets/test_exceptions.py | 122 + .../site-packages/websockets/test_framing.py | 228 + .../websockets/test_handshake.py | 117 + .../site-packages/websockets/test_headers.py | 173 + .../site-packages/websockets/test_http.py | 228 + .../websockets/test_localhost.pem | 48 + .../site-packages/websockets/test_protocol.py | 997 + .../site-packages/websockets/test_speedups.py | 0 .../site-packages/websockets/test_uri.py | 48 + .../site-packages/websockets/test_utils.py | 53 + .../python3.6/site-packages/websockets/uri.py | 60 + .../site-packages/websockets/utils.py | 14 + .../site-packages/websockets/version.py | 1 + .../yarl-1.3.0.dist-info/INSTALLER | 1 + .../yarl-1.3.0.dist-info/LICENSE.txt | 201 + .../yarl-1.3.0.dist-info/METADATA | 551 + .../site-packages/yarl-1.3.0.dist-info/RECORD | 15 + .../site-packages/yarl-1.3.0.dist-info/WHEEL | 5 + .../yarl-1.3.0.dist-info/top_level.txt | 1 + .../python3.6/site-packages/yarl/__init__.py | 978 + .../python3.6/site-packages/yarl/__init__.pyi | 88 + .../python3.6/site-packages/yarl/_quoting.c | 12162 ++++++++ .../_quoting.cpython-36m-x86_64-linux-gnu.so | Bin 0 -> 545686 bytes .../python3.6/site-packages/yarl/_quoting.pyx | 390 + .../lib/python3.6/site-packages/yarl/py.typed | 1 + .../python3.6/site-packages/yarl/quoting.py | 204 + venv/lib64 | 1 + venv/pyvenv.cfg | 3 + 674 files changed, 271116 insertions(+), 2 deletions(-) create mode 100644 .idea/.name create mode 100644 .idea/Discord Bot.iml create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/dictionaries/freeman.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/libraries/R_User_Library.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml rename Modules/raidAutomod/{serverRaidAutomod.py => automod.py} (72%) create mode 100644 venv/bin/activate create mode 100644 venv/bin/activate.csh create mode 100644 venv/bin/activate.fish create mode 100755 venv/bin/chardetect create mode 100755 venv/bin/easy_install create mode 100755 venv/bin/easy_install-3.6 create mode 100755 venv/bin/pip create mode 100755 venv/bin/pip3 create mode 100755 venv/bin/pip3.6 create mode 100755 venv/bin/python create mode 100755 venv/bin/python3 create mode 100644 venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/INSTALLER create mode 100644 venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/LICENSE.txt create mode 100644 venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/METADATA create mode 100644 venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/RECORD create mode 100644 venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/WHEEL create mode 100644 venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/top_level.txt create mode 100644 venv/lib/python3.6/site-packages/aiohttp/__init__.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_cparser.pxd create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_find_header.c create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_find_header.h create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_find_header.pxd create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_frozenlist.c create mode 100755 venv/lib/python3.6/site-packages/aiohttp/_frozenlist.cpython-36m-x86_64-linux-gnu.so create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_frozenlist.pyx create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_headers.pxi create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_helpers.c create mode 100755 venv/lib/python3.6/site-packages/aiohttp/_helpers.cpython-36m-x86_64-linux-gnu.so create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_helpers.pyi create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_helpers.pyx create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_http_parser.c create mode 100755 venv/lib/python3.6/site-packages/aiohttp/_http_parser.cpython-36m-x86_64-linux-gnu.so create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_http_parser.pyx create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_http_writer.c create mode 100755 venv/lib/python3.6/site-packages/aiohttp/_http_writer.cpython-36m-x86_64-linux-gnu.so create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_http_writer.pyx create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_websocket.c create mode 100755 venv/lib/python3.6/site-packages/aiohttp/_websocket.cpython-36m-x86_64-linux-gnu.so create mode 100644 venv/lib/python3.6/site-packages/aiohttp/_websocket.pyx create mode 100644 venv/lib/python3.6/site-packages/aiohttp/abc.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/base_protocol.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/client.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/client_exceptions.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/client_proto.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/client_reqrep.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/client_ws.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/connector.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/cookiejar.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/formdata.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/frozenlist.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/frozenlist.pyi create mode 100644 venv/lib/python3.6/site-packages/aiohttp/hdrs.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/helpers.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/http.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/http_exceptions.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/http_parser.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/http_websocket.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/http_writer.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/locks.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/log.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/multipart.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/payload.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/payload_streamer.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/py.typed create mode 100644 venv/lib/python3.6/site-packages/aiohttp/pytest_plugin.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/resolver.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/signals.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/signals.pyi create mode 100644 venv/lib/python3.6/site-packages/aiohttp/streams.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/tcp_helpers.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/test_utils.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/tracing.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/typedefs.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/web.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/web_app.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/web_exceptions.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/web_fileresponse.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/web_log.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/web_middlewares.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/web_protocol.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/web_request.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/web_response.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/web_routedef.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/web_runner.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/web_server.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/web_urldispatcher.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/web_ws.py create mode 100644 venv/lib/python3.6/site-packages/aiohttp/worker.py create mode 100644 venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/INSTALLER create mode 100644 venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/LICENSE create mode 100644 venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/METADATA create mode 100644 venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/RECORD create mode 100644 venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/WHEEL create mode 100644 venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/top_level.txt create mode 100644 venv/lib/python3.6/site-packages/async_timeout/__init__.py create mode 100644 venv/lib/python3.6/site-packages/async_timeout/py.typed create mode 100644 venv/lib/python3.6/site-packages/attr/__init__.py create mode 100644 venv/lib/python3.6/site-packages/attr/__init__.pyi create mode 100644 venv/lib/python3.6/site-packages/attr/_compat.py create mode 100644 venv/lib/python3.6/site-packages/attr/_config.py create mode 100644 venv/lib/python3.6/site-packages/attr/_funcs.py create mode 100644 venv/lib/python3.6/site-packages/attr/_make.py create mode 100644 venv/lib/python3.6/site-packages/attr/converters.py create mode 100644 venv/lib/python3.6/site-packages/attr/converters.pyi create mode 100644 venv/lib/python3.6/site-packages/attr/exceptions.py create mode 100644 venv/lib/python3.6/site-packages/attr/exceptions.pyi create mode 100644 venv/lib/python3.6/site-packages/attr/filters.py create mode 100644 venv/lib/python3.6/site-packages/attr/filters.pyi create mode 100644 venv/lib/python3.6/site-packages/attr/py.typed create mode 100644 venv/lib/python3.6/site-packages/attr/validators.py create mode 100644 venv/lib/python3.6/site-packages/attr/validators.pyi create mode 100644 venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/INSTALLER create mode 100644 venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/LICENSE create mode 100644 venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/METADATA create mode 100644 venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/RECORD create mode 100644 venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/WHEEL create mode 100644 venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/top_level.txt create mode 100644 venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/DESCRIPTION.rst create mode 100644 venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/INSTALLER create mode 100644 venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/METADATA create mode 100644 venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/RECORD create mode 100644 venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/WHEEL create mode 100644 venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/entry_points.txt create mode 100644 venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/metadata.json create mode 100644 venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/top_level.txt create mode 100644 venv/lib/python3.6/site-packages/chardet/__init__.py create mode 100644 venv/lib/python3.6/site-packages/chardet/big5freq.py create mode 100644 venv/lib/python3.6/site-packages/chardet/big5prober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/chardistribution.py create mode 100644 venv/lib/python3.6/site-packages/chardet/charsetgroupprober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/charsetprober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/cli/__init__.py create mode 100644 venv/lib/python3.6/site-packages/chardet/cli/chardetect.py create mode 100644 venv/lib/python3.6/site-packages/chardet/codingstatemachine.py create mode 100644 venv/lib/python3.6/site-packages/chardet/compat.py create mode 100644 venv/lib/python3.6/site-packages/chardet/cp949prober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/enums.py create mode 100644 venv/lib/python3.6/site-packages/chardet/escprober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/escsm.py create mode 100644 venv/lib/python3.6/site-packages/chardet/eucjpprober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/euckrfreq.py create mode 100644 venv/lib/python3.6/site-packages/chardet/euckrprober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/euctwfreq.py create mode 100644 venv/lib/python3.6/site-packages/chardet/euctwprober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/gb2312freq.py create mode 100644 venv/lib/python3.6/site-packages/chardet/gb2312prober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/hebrewprober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/jisfreq.py create mode 100644 venv/lib/python3.6/site-packages/chardet/jpcntx.py create mode 100644 venv/lib/python3.6/site-packages/chardet/langbulgarianmodel.py create mode 100644 venv/lib/python3.6/site-packages/chardet/langcyrillicmodel.py create mode 100644 venv/lib/python3.6/site-packages/chardet/langgreekmodel.py create mode 100644 venv/lib/python3.6/site-packages/chardet/langhebrewmodel.py create mode 100644 venv/lib/python3.6/site-packages/chardet/langhungarianmodel.py create mode 100644 venv/lib/python3.6/site-packages/chardet/langthaimodel.py create mode 100644 venv/lib/python3.6/site-packages/chardet/langturkishmodel.py create mode 100644 venv/lib/python3.6/site-packages/chardet/latin1prober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/mbcharsetprober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/mbcsgroupprober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/mbcssm.py create mode 100644 venv/lib/python3.6/site-packages/chardet/sbcharsetprober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/sbcsgroupprober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/sjisprober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/universaldetector.py create mode 100644 venv/lib/python3.6/site-packages/chardet/utf8prober.py create mode 100644 venv/lib/python3.6/site-packages/chardet/version.py create mode 100644 venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/INSTALLER create mode 100644 venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/LICENSE create mode 100644 venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/METADATA create mode 100644 venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/RECORD create mode 100644 venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/WHEEL create mode 100644 venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/top_level.txt create mode 100644 venv/lib/python3.6/site-packages/discord/__init__.py create mode 100644 venv/lib/python3.6/site-packages/discord/__main__.py create mode 100644 venv/lib/python3.6/site-packages/discord/abc.py create mode 100644 venv/lib/python3.6/site-packages/discord/activity.py create mode 100644 venv/lib/python3.6/site-packages/discord/appinfo.py create mode 100644 venv/lib/python3.6/site-packages/discord/asset.py create mode 100644 venv/lib/python3.6/site-packages/discord/audit_logs.py create mode 100644 venv/lib/python3.6/site-packages/discord/backoff.py create mode 100644 venv/lib/python3.6/site-packages/discord/bin/libopus-0.x64.dll create mode 100644 venv/lib/python3.6/site-packages/discord/bin/libopus-0.x86.dll create mode 100644 venv/lib/python3.6/site-packages/discord/calls.py create mode 100644 venv/lib/python3.6/site-packages/discord/channel.py create mode 100644 venv/lib/python3.6/site-packages/discord/client.py create mode 100644 venv/lib/python3.6/site-packages/discord/colour.py create mode 100644 venv/lib/python3.6/site-packages/discord/context_managers.py create mode 100644 venv/lib/python3.6/site-packages/discord/embeds.py create mode 100644 venv/lib/python3.6/site-packages/discord/emoji.py create mode 100644 venv/lib/python3.6/site-packages/discord/enums.py create mode 100644 venv/lib/python3.6/site-packages/discord/errors.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/commands/__init__.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/commands/_types.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/commands/bot.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/commands/cog.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/commands/context.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/commands/converter.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/commands/cooldowns.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/commands/core.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/commands/errors.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/commands/help.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/commands/view.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/ipc/__init__.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/ipc/client.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/ipc/errors.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/ipc/protocol.py create mode 100644 venv/lib/python3.6/site-packages/discord/ext/ipc/server.py create mode 100644 venv/lib/python3.6/site-packages/discord/file.py create mode 100644 venv/lib/python3.6/site-packages/discord/gateway.py create mode 100644 venv/lib/python3.6/site-packages/discord/guild.py create mode 100644 venv/lib/python3.6/site-packages/discord/http.py create mode 100644 venv/lib/python3.6/site-packages/discord/invite.py create mode 100644 venv/lib/python3.6/site-packages/discord/iterators.py create mode 100644 venv/lib/python3.6/site-packages/discord/member.py create mode 100644 venv/lib/python3.6/site-packages/discord/message.py create mode 100644 venv/lib/python3.6/site-packages/discord/mixins.py create mode 100644 venv/lib/python3.6/site-packages/discord/object.py create mode 100644 venv/lib/python3.6/site-packages/discord/opus.py create mode 100644 venv/lib/python3.6/site-packages/discord/permissions.py create mode 100644 venv/lib/python3.6/site-packages/discord/player.py create mode 100644 venv/lib/python3.6/site-packages/discord/raw_models.py create mode 100644 venv/lib/python3.6/site-packages/discord/reaction.py create mode 100644 venv/lib/python3.6/site-packages/discord/relationship.py create mode 100644 venv/lib/python3.6/site-packages/discord/role.py create mode 100644 venv/lib/python3.6/site-packages/discord/shard.py create mode 100644 venv/lib/python3.6/site-packages/discord/state.py create mode 100644 venv/lib/python3.6/site-packages/discord/user.py create mode 100644 venv/lib/python3.6/site-packages/discord/utils.py create mode 100644 venv/lib/python3.6/site-packages/discord/voice_client.py create mode 100644 venv/lib/python3.6/site-packages/discord/webhook.py create mode 100644 venv/lib/python3.6/site-packages/discord/widget.py create mode 100644 venv/lib/python3.6/site-packages/easy-install.pth create mode 100644 venv/lib/python3.6/site-packages/idna-2.8.dist-info/INSTALLER create mode 100644 venv/lib/python3.6/site-packages/idna-2.8.dist-info/LICENSE.rst create mode 100644 venv/lib/python3.6/site-packages/idna-2.8.dist-info/METADATA create mode 100644 venv/lib/python3.6/site-packages/idna-2.8.dist-info/RECORD create mode 100644 venv/lib/python3.6/site-packages/idna-2.8.dist-info/WHEEL create mode 100644 venv/lib/python3.6/site-packages/idna-2.8.dist-info/top_level.txt create mode 100644 venv/lib/python3.6/site-packages/idna/__init__.py create mode 100644 venv/lib/python3.6/site-packages/idna/codec.py create mode 100644 venv/lib/python3.6/site-packages/idna/compat.py create mode 100644 venv/lib/python3.6/site-packages/idna/core.py create mode 100644 venv/lib/python3.6/site-packages/idna/idnadata.py create mode 100644 venv/lib/python3.6/site-packages/idna/intranges.py create mode 100644 venv/lib/python3.6/site-packages/idna/package_data.py create mode 100644 venv/lib/python3.6/site-packages/idna/uts46data.py create mode 100644 venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/PKG-INFO create mode 100644 venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/SOURCES.txt create mode 100644 venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/dependency_links.txt create mode 100644 venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/installed-files.txt create mode 100644 venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/not-zip-safe create mode 100644 venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/requires.txt create mode 100644 venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/top_level.txt create mode 100644 venv/lib/python3.6/site-packages/idna_ssl.py create mode 100644 venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/INSTALLER create mode 100644 venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/LICENSE create mode 100644 venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/METADATA create mode 100644 venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/RECORD create mode 100644 venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/WHEEL create mode 100644 venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/top_level.txt create mode 100644 venv/lib/python3.6/site-packages/multidict/__init__.py create mode 100644 venv/lib/python3.6/site-packages/multidict/__init__.pyi create mode 100644 venv/lib/python3.6/site-packages/multidict/_abc.py create mode 100644 venv/lib/python3.6/site-packages/multidict/_compat.py create mode 100644 venv/lib/python3.6/site-packages/multidict/_istr.c create mode 100755 venv/lib/python3.6/site-packages/multidict/_istr.cpython-36m-x86_64-linux-gnu.so create mode 100644 venv/lib/python3.6/site-packages/multidict/_multidict.c create mode 100755 venv/lib/python3.6/site-packages/multidict/_multidict.cpython-36m-x86_64-linux-gnu.so create mode 100644 venv/lib/python3.6/site-packages/multidict/_multidict.pyx create mode 100644 venv/lib/python3.6/site-packages/multidict/_multidict_base.py create mode 100644 venv/lib/python3.6/site-packages/multidict/_multidict_iter.c create mode 100644 venv/lib/python3.6/site-packages/multidict/_multidict_iter.h create mode 100644 venv/lib/python3.6/site-packages/multidict/_multidict_iter.pxd create mode 100644 venv/lib/python3.6/site-packages/multidict/_multidict_py.py create mode 100644 venv/lib/python3.6/site-packages/multidict/_multidict_views.c create mode 100644 venv/lib/python3.6/site-packages/multidict/_multidict_views.h create mode 100644 venv/lib/python3.6/site-packages/multidict/_multidict_views.pxd create mode 100644 venv/lib/python3.6/site-packages/multidict/_pair_list.c create mode 100644 venv/lib/python3.6/site-packages/multidict/_pair_list.h create mode 100644 venv/lib/python3.6/site-packages/multidict/_pair_list.pxd create mode 100644 venv/lib/python3.6/site-packages/multidict/py.typed create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/PKG-INFO create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/SOURCES.txt create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/dependency_links.txt create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/entry_points.txt create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/not-zip-safe create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/top_level.txt create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__main__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/build_env.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cache.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/autocompletion.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/base_command.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/cmdoptions.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/main_parser.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/parser.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/status_codes.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/check.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/completion.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/configuration.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/download.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/freeze.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/hash.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/help.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/install.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/list.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/search.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/show.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/uninstall.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/wheel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/configuration.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/download.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/exceptions.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/index.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/locations.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/candidate.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/format_control.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/index.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/link.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/check.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/freeze.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/prepare.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pep425tags.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pyproject.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/constructors.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_file.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_install.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_set.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_tracker.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_uninstall.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/resolve.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/appdirs.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/deprecation.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/encoding.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/filesystem.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/glibc.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/hashes.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/logging.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/misc.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/models.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/outdated.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/packaging.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/setuptools_build.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/temp_dir.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/typing.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/ui.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/bazaar.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/git.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/mercurial.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/subversion.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/wheel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/appdirs.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/_cmd.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/adapter.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/cache.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/file_cache.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/redis_cache.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/controller.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/filewrapper.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/heuristics.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/serialize.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/wrapper.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__main__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/cacert.pem create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/core.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5freq.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5prober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/chardistribution.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetgroupprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/chardetect.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/codingstatemachine.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cp949prober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/enums.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escsm.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/eucjpprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrfreq.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwfreq.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312freq.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312prober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/hebrewprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jisfreq.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jpcntx.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langbulgarianmodel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langcyrillicmodel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langgreekmodel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhebrewmodel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhungarianmodel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langthaimodel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langturkishmodel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/latin1prober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcharsetprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcsgroupprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcssm.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcharsetprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcsgroupprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sjisprober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/universaldetector.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/utf8prober.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/version.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansi.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansitowin32.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/initialise.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/win32.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/winterm.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/misc.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/shutil.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.cfg create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/tarfile.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/database.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/index.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/locators.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/manifest.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/markers.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/metadata.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/resources.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/scripts.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/t32.exe create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/t64.exe create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/util.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/version.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/w32.exe create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/w64.exe create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/wheel.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distro.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_ihatexml.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_inputstream.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_tokenizer.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/_base.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/datrie.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/py.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_utils.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/constants.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/base.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/lint.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/optionaltags.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/sanitizer.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/whitespace.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/html5parser.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/serializer.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/genshi.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/sax.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/base.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/dom.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/base.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/dom.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree_lxml.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/genshi.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/codec.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/core.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/idnadata.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/intranges.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/package_data.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/uts46data.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/ipaddress.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/linklockfile.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/mkdirlockfile.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/pidlockfile.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/sqlitelockfile.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/symlinklockfile.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/_version.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/exceptions.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/fallback.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__about__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_structures.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/markers.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/requirements.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/specifiers.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/utils.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/version.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/_in_process.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/build.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/check.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/colorlog.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/envbuild.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/wrappers.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/py31compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/bar.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/counter.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/helpers.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/spinner.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pyparsing.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/core.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/parser.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/test.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/utils.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/writer.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__version__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/_internal_utils.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/adapters.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/api.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/auth.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/certs.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/compat.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/cookies.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/exceptions.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/help.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/hooks.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/models.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/packages.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/sessions.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/status_codes.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/structures.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/utils.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/retrying.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/six.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/_collections.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connection.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connectionpool.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_appengine_environ.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/bindings.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/low_level.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/appengine.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/ntlmpool.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/pyopenssl.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/securetransport.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/socks.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/exceptions.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/fields.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/filepost.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/backports/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/backports/makefile.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/six.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/poolmanager.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/request.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/response.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/connection.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/queue.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/request.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/response.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/retry.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/ssl_.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/timeout.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/url.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/wait.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/__init__.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/labels.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/mklabels.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/tests.py create mode 100644 venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/x_user_defined.py create mode 100644 venv/lib/python3.6/site-packages/setuptools-40.8.0-py3.6.egg create mode 100644 venv/lib/python3.6/site-packages/setuptools.pth create mode 100644 venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/INSTALLER create mode 100644 venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/LICENSE create mode 100644 venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/METADATA create mode 100644 venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/RECORD create mode 100644 venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/WHEEL create mode 100644 venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/top_level.txt create mode 100644 venv/lib/python3.6/site-packages/typing_extensions.py create mode 100644 venv/lib/python3.6/site-packages/websockets-6.0.dist-info/INSTALLER create mode 100644 venv/lib/python3.6/site-packages/websockets-6.0.dist-info/METADATA create mode 100644 venv/lib/python3.6/site-packages/websockets-6.0.dist-info/RECORD create mode 100644 venv/lib/python3.6/site-packages/websockets-6.0.dist-info/WHEEL create mode 100644 venv/lib/python3.6/site-packages/websockets-6.0.dist-info/top_level.txt create mode 100644 venv/lib/python3.6/site-packages/websockets-6.0.dist-info/zip-safe create mode 100644 venv/lib/python3.6/site-packages/websockets/__init__.py create mode 100644 venv/lib/python3.6/site-packages/websockets/client.py create mode 100644 venv/lib/python3.6/site-packages/websockets/compatibility.py create mode 100644 venv/lib/python3.6/site-packages/websockets/exceptions.py create mode 100644 venv/lib/python3.6/site-packages/websockets/extensions/__init__.py create mode 100644 venv/lib/python3.6/site-packages/websockets/extensions/base.py create mode 100644 venv/lib/python3.6/site-packages/websockets/extensions/permessage_deflate.py create mode 100644 venv/lib/python3.6/site-packages/websockets/extensions/test_base.py create mode 100644 venv/lib/python3.6/site-packages/websockets/extensions/test_permessage_deflate.py create mode 100644 venv/lib/python3.6/site-packages/websockets/framing.py create mode 100644 venv/lib/python3.6/site-packages/websockets/handshake.py create mode 100644 venv/lib/python3.6/site-packages/websockets/headers.py create mode 100644 venv/lib/python3.6/site-packages/websockets/http.py create mode 100644 venv/lib/python3.6/site-packages/websockets/protocol.py create mode 100644 venv/lib/python3.6/site-packages/websockets/py35/__init__.py create mode 100644 venv/lib/python3.6/site-packages/websockets/py35/_test_client_server.py create mode 100644 venv/lib/python3.6/site-packages/websockets/py35/client.py create mode 100644 venv/lib/python3.6/site-packages/websockets/py35/server.py create mode 100644 venv/lib/python3.6/site-packages/websockets/py36/__init__.py create mode 100644 venv/lib/python3.6/site-packages/websockets/py36/_test_client_server.py create mode 100644 venv/lib/python3.6/site-packages/websockets/py36/protocol.py create mode 100644 venv/lib/python3.6/site-packages/websockets/server.py create mode 100644 venv/lib/python3.6/site-packages/websockets/speedups.c create mode 100755 venv/lib/python3.6/site-packages/websockets/speedups.cpython-36m-x86_64-linux-gnu.so create mode 100644 venv/lib/python3.6/site-packages/websockets/test_client_server.py create mode 100644 venv/lib/python3.6/site-packages/websockets/test_exceptions.py create mode 100644 venv/lib/python3.6/site-packages/websockets/test_framing.py create mode 100644 venv/lib/python3.6/site-packages/websockets/test_handshake.py create mode 100644 venv/lib/python3.6/site-packages/websockets/test_headers.py create mode 100644 venv/lib/python3.6/site-packages/websockets/test_http.py create mode 100644 venv/lib/python3.6/site-packages/websockets/test_localhost.pem create mode 100644 venv/lib/python3.6/site-packages/websockets/test_protocol.py create mode 100644 venv/lib/python3.6/site-packages/websockets/test_speedups.py create mode 100644 venv/lib/python3.6/site-packages/websockets/test_uri.py create mode 100644 venv/lib/python3.6/site-packages/websockets/test_utils.py create mode 100644 venv/lib/python3.6/site-packages/websockets/uri.py create mode 100644 venv/lib/python3.6/site-packages/websockets/utils.py create mode 100644 venv/lib/python3.6/site-packages/websockets/version.py create mode 100644 venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/INSTALLER create mode 100644 venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/LICENSE.txt create mode 100644 venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/METADATA create mode 100644 venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/RECORD create mode 100644 venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/WHEEL create mode 100644 venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/top_level.txt create mode 100644 venv/lib/python3.6/site-packages/yarl/__init__.py create mode 100644 venv/lib/python3.6/site-packages/yarl/__init__.pyi create mode 100644 venv/lib/python3.6/site-packages/yarl/_quoting.c create mode 100755 venv/lib/python3.6/site-packages/yarl/_quoting.cpython-36m-x86_64-linux-gnu.so create mode 100644 venv/lib/python3.6/site-packages/yarl/_quoting.pyx create mode 100644 venv/lib/python3.6/site-packages/yarl/py.typed create mode 100644 venv/lib/python3.6/site-packages/yarl/quoting.py create mode 120000 venv/lib64 create mode 100644 venv/pyvenv.cfg diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..951baf6 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +Discord Bot \ No newline at end of file diff --git a/.idea/Discord Bot.iml b/.idea/Discord Bot.iml new file mode 100644 index 0000000..d80c5fe --- /dev/null +++ b/.idea/Discord Bot.iml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..a55e7a1 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/dictionaries/freeman.xml b/.idea/dictionaries/freeman.xml new file mode 100644 index 0000000..945a8ab --- /dev/null +++ b/.idea/dictionaries/freeman.xml @@ -0,0 +1,12 @@ + + + + automod + lastmemjoin + membersjoined + ouat + timebetweenjoin + timefirstmemberjoin + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..15a15b2 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/libraries/R_User_Library.xml b/.idea/libraries/R_User_Library.xml new file mode 100644 index 0000000..71f5ff7 --- /dev/null +++ b/.idea/libraries/R_User_Library.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..fb9e9f6 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..721060e --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Modules/raidAutomod/serverRaidAutomod.py b/Modules/raidAutomod/automod.py similarity index 72% rename from Modules/raidAutomod/serverRaidAutomod.py rename to Modules/raidAutomod/automod.py index 56991d7..fe9ad35 100644 --- a/Modules/raidAutomod/serverRaidAutomod.py +++ b/Modules/raidAutomod/automod.py @@ -6,12 +6,18 @@ import time class RaidAutomod(commands.Cog): def __init__(self, client): self._last_member = None + self.client = client + @commands.Cog.listener() async def on_member_join(self, member): lastmemjoin = open("Modules/raidAutomod/lastmemjoin", 'w') lastmemjoin.write(str(member) + "\n" + str(time.monotonic())) - print("TEST") + + @commands.Cog.listener() + async def on_message(self, member, message): + + await self.client.process_commands(message) def setup(client): diff --git a/bot.py b/bot.py index 6ae5055..f696375 100644 --- a/bot.py +++ b/bot.py @@ -3,7 +3,7 @@ from discord.ext.commands import Bot -cogs = ["Modules.raidAutomod.serverRaidAutomod"] +cogs = ["Modules.raidAutomod.automod"] prefix = 'o!' token = "NTAxNDg1OTA2ODAxNDU5MjAw.D2gAwg.rJHib_V5kvYcWIaGArFv53o9QsA" diff --git a/venv/bin/activate b/venv/bin/activate new file mode 100644 index 0000000..5cbc4f1 --- /dev/null +++ b/venv/bin/activate @@ -0,0 +1,76 @@ +# This file must be used with "source bin/activate" *from bash* +# you cannot run it directly + +deactivate () { + # reset old environment variables + if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then + PATH="${_OLD_VIRTUAL_PATH:-}" + export PATH + unset _OLD_VIRTUAL_PATH + fi + if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then + PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}" + export PYTHONHOME + unset _OLD_VIRTUAL_PYTHONHOME + fi + + # This should detect bash and zsh, which have a hash command that must + # be called to get it to forget past commands. Without forgetting + # past commands the $PATH changes we made may not be respected + if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then + hash -r + fi + + if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then + PS1="${_OLD_VIRTUAL_PS1:-}" + export PS1 + unset _OLD_VIRTUAL_PS1 + fi + + unset VIRTUAL_ENV + if [ ! "$1" = "nondestructive" ] ; then + # Self destruct! + unset -f deactivate + fi +} + +# unset irrelevant variables +deactivate nondestructive + +VIRTUAL_ENV="/home/freeman/PycharmProjects/Discord Bot Rewrite/venv" +export VIRTUAL_ENV + +_OLD_VIRTUAL_PATH="$PATH" +PATH="$VIRTUAL_ENV/bin:$PATH" +export PATH + +# unset PYTHONHOME if set +# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) +# could use `if (set -u; : $PYTHONHOME) ;` in bash +if [ -n "${PYTHONHOME:-}" ] ; then + _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}" + unset PYTHONHOME +fi + +if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then + _OLD_VIRTUAL_PS1="${PS1:-}" + if [ "x(venv) " != x ] ; then + PS1="(venv) ${PS1:-}" + else + if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1" + else + PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1" + fi + fi + export PS1 +fi + +# This should detect bash and zsh, which have a hash command that must +# be called to get it to forget past commands. Without forgetting +# past commands the $PATH changes we made may not be respected +if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then + hash -r +fi diff --git a/venv/bin/activate.csh b/venv/bin/activate.csh new file mode 100644 index 0000000..b9874da --- /dev/null +++ b/venv/bin/activate.csh @@ -0,0 +1,37 @@ +# This file must be used with "source bin/activate.csh" *from csh*. +# You cannot run it directly. +# Created by Davide Di Blasi . +# Ported to Python 3.3 venv by Andrew Svetlov + +alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate' + +# Unset irrelevant variables. +deactivate nondestructive + +setenv VIRTUAL_ENV "/home/freeman/PycharmProjects/Discord Bot Rewrite/venv" + +set _OLD_VIRTUAL_PATH="$PATH" +setenv PATH "$VIRTUAL_ENV/bin:$PATH" + + +set _OLD_VIRTUAL_PROMPT="$prompt" + +if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then + if ("venv" != "") then + set env_name = "venv" + else + if (`basename "VIRTUAL_ENV"` == "__") then + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + set env_name = `basename \`dirname "$VIRTUAL_ENV"\`` + else + set env_name = `basename "$VIRTUAL_ENV"` + endif + endif + set prompt = "[$env_name] $prompt" + unset env_name +endif + +alias pydoc python -m pydoc + +rehash diff --git a/venv/bin/activate.fish b/venv/bin/activate.fish new file mode 100644 index 0000000..a7c8bcb --- /dev/null +++ b/venv/bin/activate.fish @@ -0,0 +1,75 @@ +# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org) +# you cannot run it directly + +function deactivate -d "Exit virtualenv and return to normal shell environment" + # reset old environment variables + if test -n "$_OLD_VIRTUAL_PATH" + set -gx PATH $_OLD_VIRTUAL_PATH + set -e _OLD_VIRTUAL_PATH + end + if test -n "$_OLD_VIRTUAL_PYTHONHOME" + set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME + set -e _OLD_VIRTUAL_PYTHONHOME + end + + if test -n "$_OLD_FISH_PROMPT_OVERRIDE" + functions -e fish_prompt + set -e _OLD_FISH_PROMPT_OVERRIDE + functions -c _old_fish_prompt fish_prompt + functions -e _old_fish_prompt + end + + set -e VIRTUAL_ENV + if test "$argv[1]" != "nondestructive" + # Self destruct! + functions -e deactivate + end +end + +# unset irrelevant variables +deactivate nondestructive + +set -gx VIRTUAL_ENV "/home/freeman/PycharmProjects/Discord Bot Rewrite/venv" + +set -gx _OLD_VIRTUAL_PATH $PATH +set -gx PATH "$VIRTUAL_ENV/bin" $PATH + +# unset PYTHONHOME if set +if set -q PYTHONHOME + set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME + set -e PYTHONHOME +end + +if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" + # fish uses a function instead of an env var to generate the prompt. + + # save the current fish_prompt function as the function _old_fish_prompt + functions -c fish_prompt _old_fish_prompt + + # with the original prompt function renamed, we can override with our own. + function fish_prompt + # Save the return status of the last command + set -l old_status $status + + # Prompt override? + if test -n "(venv) " + printf "%s%s" "(venv) " (set_color normal) + else + # ...Otherwise, prepend env + set -l _checkbase (basename "$VIRTUAL_ENV") + if test $_checkbase = "__" + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal) + else + printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal) + end + end + + # Restore the return status of the previous command. + echo "exit $old_status" | . + _old_fish_prompt + end + + set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" +end diff --git a/venv/bin/chardetect b/venv/bin/chardetect new file mode 100755 index 0000000..bb94f3c --- /dev/null +++ b/venv/bin/chardetect @@ -0,0 +1,12 @@ +#!/bin/sh +'''exec' "/home/freeman/PycharmProjects/Discord Bot Rewrite/venv/bin/python" "$0" "$@" +' ''' +# -*- coding: utf-8 -*- +import re +import sys + +from chardet.cli.chardetect import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/venv/bin/easy_install b/venv/bin/easy_install new file mode 100755 index 0000000..73e6753 --- /dev/null +++ b/venv/bin/easy_install @@ -0,0 +1,12 @@ +#!"/home/freeman/PycharmProjects/Discord Bot Rewrite/venv/bin/python" +# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==40.8.0','console_scripts','easy_install' +__requires__ = 'setuptools==40.8.0' +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('setuptools==40.8.0', 'console_scripts', 'easy_install')() + ) diff --git a/venv/bin/easy_install-3.6 b/venv/bin/easy_install-3.6 new file mode 100755 index 0000000..49984d4 --- /dev/null +++ b/venv/bin/easy_install-3.6 @@ -0,0 +1,12 @@ +#!"/home/freeman/PycharmProjects/Discord Bot Rewrite/venv/bin/python" +# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==40.8.0','console_scripts','easy_install-3.6' +__requires__ = 'setuptools==40.8.0' +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('setuptools==40.8.0', 'console_scripts', 'easy_install-3.6')() + ) diff --git a/venv/bin/pip b/venv/bin/pip new file mode 100755 index 0000000..7852f98 --- /dev/null +++ b/venv/bin/pip @@ -0,0 +1,12 @@ +#!"/home/freeman/PycharmProjects/Discord Bot Rewrite/venv/bin/python" +# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip' +__requires__ = 'pip==19.0.3' +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('pip==19.0.3', 'console_scripts', 'pip')() + ) diff --git a/venv/bin/pip3 b/venv/bin/pip3 new file mode 100755 index 0000000..ed83a3e --- /dev/null +++ b/venv/bin/pip3 @@ -0,0 +1,12 @@ +#!"/home/freeman/PycharmProjects/Discord Bot Rewrite/venv/bin/python" +# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip3' +__requires__ = 'pip==19.0.3' +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('pip==19.0.3', 'console_scripts', 'pip3')() + ) diff --git a/venv/bin/pip3.6 b/venv/bin/pip3.6 new file mode 100755 index 0000000..dd6198f --- /dev/null +++ b/venv/bin/pip3.6 @@ -0,0 +1,12 @@ +#!"/home/freeman/PycharmProjects/Discord Bot Rewrite/venv/bin/python" +# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip3.6' +__requires__ = 'pip==19.0.3' +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('pip==19.0.3', 'console_scripts', 'pip3.6')() + ) diff --git a/venv/bin/python b/venv/bin/python new file mode 100755 index 0000000000000000000000000000000000000000..9030e3fd6ab7082147dd940940317e2e12db62ff GIT binary patch literal 11944432 zcma%k30O>D`2U@0%9P5qNQ9Sh{ zv_hgu9GiH~S8R1jH6xHPNnEQZK;mcq(F2x9Mv`jTxYqGL8%PrUql3$pTkTRU8%NeA z?P`x!e_GXl^*mSNWf=Z6NxU?UEC=y?ej(w1{`y}nr0XTs()A=Y5)@Pazgh?%5n=1! z|6N13+GRc@Zm5xItLI<+?XDz1s$16rrg4aq%s}G*zy8w0z>KHkv8{_&cS$CxCdZ9P zpGEU$4d~Zrkx#Eh^Zl0x_X@Ti&}%@y-b)wvwrZU>$xpbBu9FCzk*=e#wZ||&al&=Q zVtt|$cnGp9V2??pLbrz=1K-RxGyv)mY#o4(NcJ3h74$gxhrqW5?bEOkSte0TIL4Tb zT$%7q1)`DfA^7^R?E%*kdNk}rG*HV&*bHzwifB!1(C-gU2{;cB*BW5FfT8GRve7h_L_?K^B%@K=I=7CH<4ONc9iZz=jhw9kS65h#Ig3v?~86sSV~ zJI4QuwgWVgIcPrzdLeEHa0&Ld=pRSEx9F3TraRG84q@DQU@`3XVfO@=$R)s;*wA+d z+~9i#TX*C+3QUBJk2O?B{@v({(C>*nwrJ}EL_VVa56JNvc5TF$fkUJYeImEvn+97Q zw5&uTP8qoeAkQo~wnJY>d^>P20oUL^4EsIAEtHA1fbTBq*#Q1JXhrm^!3#i}NE_$` z@QtAdz&9VfeDt>=w>R1wfhX{dgDnMqL)aH$ECKpA(H;W$qCErJ8QhuBO5i_4Zf)?0 z=%P=gGkjLaQHQn}Y#rbahdzvWCCu$C+AGlB1%H2VrE(K%6M(o}@J-<-(jEO8^q*i% zA`j5FL0^b|DzF?eyO6IIJ`dPeBi~;1%c0G|y$1Vw^q&E*0YljQp`Suez!>A8eZVz< zCLfdEkZ&mLx@a3Bp9Az6*vx>gXqO@1RM?4_fj1d7=po-(=%0WVIFGHZM2J!t1EJ>0luPL2mC_2A2^p0Q;Zl3a7UmmKt5IIjqn#D z|9;pnLKB&Swk05yw%|0PQv~>f^8#^g0B7XQfYyTEN;p6U;>N;u1-xZIE@~)1TqaHS z2l^81-%#&L@Sme^2EHYDjfhXA=e;?v*!@n5X7xu2eSG42cC$b#*9MKPgUJIQF5E+R6e#Bn} z-xzQJULel_#MuA~;U{7OTehUh`~qh!d>*jz;eU;Of8>})Y~Uo9K zLR$#^7Vv{l9rlrk_eT3)Q3E#=_EOZj1LNdD?+0ltY_}1^hmD9C`oEz!fgcZ!HE2D)L)KhO_I5QGDNANYy1LHh#Y1_M6eCBm+SHj%T)?+?EwiG?o?wji{B zqJ~4@grQvvdjpDs*iFzkhFt_(S0Dg!8(`OqS5O7*hml1Nr!nOo9CGeinm{YX&<=`a4b_M(=;5i`23AFjJDIqon zeIohr9YIVe^dtCsgYyPB1db-`WOiEwFTDz{XB3|!MO}hGdMHRC-MX~XXtC-DggV@p9?>c--x}7_7>W|4O=B( zfqaL-CGraGZr~*$pBHSJ#0b6*)Mr`;F(uKpO-H){eswy2J8%jyrXe9g3Xv-rc_PU1 zfbI#rl(?90(DCRG2InP>CoUbduOMe7>@%Uwk<%Ky^UzkvV+H*HzIgEX&{DZT8%D6N zLJh|eL*y59JDR@?@veyPguJ&Adl79Snee{`@(?!@oG#ER5*MQl&QjP0!#@mh>i}iM zokn~O&@LY&*R?U zp2v8fF^(1bA<(MuU5Bj+{R7ZjY0Lz0Gce{;U>?o+1G)%(C+I2QrjvRx<`VQfA53@7j!A?L;|3XBd!z9+2yd$MteAHf6ylK3H)@x5o51{Z7*y`P|s`ht1!j{ zAO!6+U>LdP*s7(cl#zH%R6AXV(po)wGaYTD1e16d5z$*mj6d*=l6ZRe8JOlR} zd_B>BjCzL3%>b+ccf_B7tp;#Mo=n7k18)v60J+YssR4TWKl7XT&s?O`X=vzzdjz}{$^+4h8wF^KqLykPi_(*9etlaRL= z{YaoM#=J;lD-frFwit0+5odya5%Hr;@5!J0s1Op zHbD!(m&$7N_hS4uG#9ZCL!U@95Zv05{22v~3vzTs9a5Qy_z*fav1QP?E5S}A2HeN+ zcR@c1{b4k=13h1gWyW1Z+g$j@(VWYX&zR;q1AlMSHWs!%$g@?Z4l4--9#o&JlgKCdn5LkOg!P<19vX`cTj5%T?=otH7TzG zZDpEkD6NCU5t)QoBE6}76Jj(Zrq;i`;9rUOdop7VLq87uLo{aqIJSTq>c2tr^rbnf z(cg{OUGV$T92;nyI?n0!Xe-c|)!_Uq2^i~$%-E@zUq?!6k9b{-c>x$h*KRg)97T*1 zpby(1aPtsz5qbuE3DElR$;uHr?g8-6fZGDU5v`H%g#Yl1z%hXBChAV6i9C^`AM7c> zLD=8Xny;cS6>~IH=vY$QOK`hm+;fx{jJPr2oPf;%S_R{rfX+w%i!=y&kW5};9z@r$ zoa$k8{KK^N>C`>}^U{&Y!;_ik7nyY~NB&1NW;5DT|5<~ssL2lgJCyTNCQpz|{%*7# zN%bS}ZlbM9`8xDH&xGc8hgP9BnKaBe*ekIHvhodMuR_ghkV_BkeW*z)QRqieJ_q%$ zppGD!bJle{Hx%&pk0rA{^%3=D#N!!{w=ibJJ1&p{~i9`uzNutK#V6HQ-S85 zAW75ucO{LjhtHShe-GPXX->>VleYb#jSzK(<{M1yB+*oicN%>wOVHmyYaU9+$&wj+BgPAq$-7@>{NIS{1m8aJ z&(Rzt^+lTJ-&zVN=L=$5P}f|<4TQ~)5`WO#_u!umTL#TzDUH`))A8lXS?!;x{dHW#2S zB2xfewA1K#1&A|8t9woHHr0hQ^%0oVp^f560LolatW= zVe_H9b=1d0UyZ(IqLFhm&36(x7J>7Xu2BxgeM0Ldlo<2}(;UsPx25%Lq47jbqhqDh z_0dMIRp9=m+_}&%;adf+AM|eI_+w<|IS0P?@MZl|+Y4IzO8C6~@#T{w5I4FWv*GU{F);#}`Q*Xo z1$ZLYQgB-+hp0NlXwW(W;r|JnE^3j=CpxA-t-ApI(eQI=U3wrMg6%Z?+OXN8Zwr4I z+Vf=coWvNjXiev7>}8relJ+NoA4hGoppU_>NPVQ9A*kI>X3dDL5Lk`8pJm1x3Ep+Y z&4X_Vv>wfQ9ri}VE21Bc_8qj}(fnmp8~u}i37t1mwaQr;|77HlN-s1<0kf%pBief~ z&R072O{%5*1X^zp9an0Xr<-NwCiO4GoV{r$1Ns1JQ37sY{H^Hc0>Nl&{WC5J*-OWK zPjxhM)uP=2`*j?H33U8!=qJ%Q*>T#TvlYBwGQOcSPZMIZX`95{0#7Qs|GY0gr144M zB-5Ck|E!^zG#L6XY7V5eS%8-%lbg^c!nc}xMF$?6_LA`#=VC&#dvSv3kTm4{F5|KU&=X3HOc2n z{!r-w`!HJPX39ARUoTp(25iQF4sv_Q9D`UIqYR!F+N!AUHT=rJ8EJCppRoJVyu_SB zb9_dO17eM6zX$Ty(Ye*bw;1)`Mch!tyrCQuw1Z`Gk$mgvJfG8g1jso8?d{N=|2YSu z!M7$skO+xlrhs=BP(hw8&?_+(Ni_wvm;y0$-8=s??k{ThMNA^iWeeL+X&s222;Y5R zA#(PDeFu$s2ip+ZwnFTA^qpvqPvDKD^ChN9)P4&bBHLx^m_uz6&;R~if*iwTc*L_G z{U3CF)o6{<2ygV~(p+P~OQE$9|614&LU#bNXxugA*+JKxaCXYn+d{`RN8HJOYWPlL zhSU7N5L*FG7m@@r9C>CT_cz3@N53Qbmt|_*MC-Scsjm{Y@!)($?iTO~MUna=VRu3P z;afVIQ;YJS`qgEtFzz$hRlyO^M2qP<<-penbccUFjdhS64DEN6+d}F`zEF%a5c(tRLtrEF z2(jvv*BQQ^7)vT!z?Vu}%=aDo8Z<5z-0$G7N3Du9ekuIz(2fAd1NtwuXTp9SwnFd^ zLX&0QfcPH37Igklo;G;ubT0Q`Qw7h47O+iP2=rC>5)ezoUZ&nQsPQF@mv|A6oNQt) z$z+DHuhsN&(|Cr3!3lLWgPATkZ$jzhqcA_mSk7%b6dHldv zr}>E4l=?Fc5cC6jGW_8&kn@B zM?aAA_n|G7!|)N|WBx?$NfeWYeigM5lL)!`(78RMI-BN;MSnTXbDU}}>bynQYasMo zj|lFnPo%aN&VFpQgkaOAW{Eh{k24fH1?{~Vb(J+wKr zc9O>x?YZDapym=8JMlTwc|1lAA|m*yNn-ftZ!hq^VEnxp;|Hy6A9By2yhmtDB@Vfq zz!`%WEjq5b%zSzykF3<7Z;8A+VJxTh5dUculuo%fVV?z#6Z+?6;?L4?7a;#4wC|HR z@K&Hd6ES;{<0RUnfwz>q7@S|=NTm~P^q^yhf!C3?)zKbG;|@_?HI03Woc#bIcQDQs z=&iJW8S%%_Uj^-mHCPICKpaiWj6!2K354{g#{G0&f6$)>ejt2>$h#1_JLMRoU4b!3 zN$tRY3f^2Amj)Y=&xj$PKZK+X#d{Dpt}Sm2pK;@fn0-+WVNqTJd!`#BDCF}E(m)W4 z1)+=~8jOY;-&PIAM$D6cK=;5bIGF)q|VLA=9ULuuYn?LFhQsg^m{1Y+#ncoUXbTtvfeO>!HiEGgapJIn$_4qIMtw9p}=6Y*mfM_Wy2M?Au`OC;fR$PzImEq zM>DQCL1@cMgPAK5G0K-!MNT|rZkU%L-xemZi^w8@2@?x*ZPF4r{8%w3oG0Shz|+|} z^nIAn7;htD4u`?04A+PWb7RJfh2*#}W_%%|%jXWWh~Qey6FZNZATCz4b#)z#&3A_{H9V#Wp+fH`R#9*;Ll!+r_F z6KXQzUIzF!St#bzF=?htXg9G*5lkc14m>nbdC z!r`|N=^B`*GC~6bCcy${u%-ATDPBXo4Bsb2ViE3H2vkKp0hePCBNnM~1R`6G$ZD4M z5mk*@TmhDyBeutM#p`(-fdY@ah2fgiU|*CHk}!NPGoGP9#PAanaoR>PCECgfW*I^e zGtSK^jNwOME>=7~mX-0+U<3jMWkx~e65k+CycgF@RTT&G87sbqr+}ZpQ)M{1!s29% z%@uRq6i3D|Sr$s&IlN2`&sj2W8!~q>&(19kfBA(9g*eg-rwxA|!wtnW1^hH0To1Cg z*YVQw;zbD<1tHmvE5vGuMLZG5K`lna6%`5@4!+{)jyBNXTSf8}gj|LR+pzVl6E+otX&JIk;@)y{ePY;#7o#p@6CMdQf6&U@T-3(p;1{9AktTi$wN9hT%jp zZ9=&gid>=ChVO)joP@}s8zv47+oWjb#BeWJwBc|RIIZ98FuV2GKE_v2*jmoxaiRpC z5!Q;u#xA&B>cyyt8KJ4IBKJI_=@!3P%&1;5C=BIsLwQ1OnhnpXXBe|dWWXqeZ5E52 z`20{+d~7M%+AwOO*2;x^vVwfvn^EP5F=Drl77S+_gRfB>u^nCz-U6<`RvE96WWI%~ zhPGnbJTX5sQ`L~i@I^5=eAu+kVK`O^(Y!F65R5=W%;Om1+*i>o@5W3LMlrTd2KM|g zuI*mVZbpI2bjP9O3G5gyPC2|TM0{Liw=Wbkcvn{z;z05C;-K5v=$@FTtYw@$Ba6@Q z&Ai&CrICLFF=kEzF2>i6!q%r7g=R4hT+g-`-B?VnR`*lFId0B~xiLg^u*vBX0oECeDwRxgWT&@Vu9XSa^Vm_CD!wx5zAOdfs0%Imj zBN-5Z9f3-DfVfkka(CP@B_Fr*)-#4;Oxc{n7b)`$k&bK2 zsKo5Ql%bnoZzkk(1beLzE#|l}oYsBV0`g_&AtD(u-ro`o|8b$FHFUOQe32Z-y zV*W~o{0M~TFlGXK5{k5Zdxj@Ybhamt!Sxj5;;mS-3lme$pkyN+I#B|?LX+Ht3}85d_xuPUF_CBP z#I4`7xV8y{8G$%~vs<9V;oFPFfs9UJR1XpFjS#!SGlU7u=E4a6UJ))&ha=WqVdKfi(aT>3zfy z^h1GgU_B5CL<6zFMqm@L1t8bt$$d$34ShF|3J^(y-Unm=nLrkB5Rl4Yw2uPEsV#@< z6VT+IO+M|PhCTz3`yb~4^6z6Jh0s@MTVlaA3fjLx^-ZeFpzi>cz#pQl+akapSOP2q$iMZ2 zfmOg7fLucn17QI9cp*ZrH^l(ty46N%BldW-6M)UY79a^ALiRWkA=fH)0=sB`H*_j( zlY3ifKst~C8~}(Mf+p87j?sP&^hw|pkPn;&h@68y4_pL_fXhHJPy$>BZUCi#?0)MC z^vS->xi(FN>?IWf2DDFX2LeQfLX+#>Hh?W4d+m?h2XFu!0Vlu(a07^phn@gT1U!H#01>i>fb8S) zqWxLWvjHDqKG1rN0-EgSSPV#I3EF`Gxpqs0+`n7{tOLYAC=dax2Z%`T?Z%)V3&aBn zfb`k};cP>HJ0O)EXzvEdJs`4IelL&#><5S(fX<@rgV5w!bq(%g$+bFi?T74{83nii7kVM!4+H>90CH`K$TH~V0ND>h_Oh)8 z)&L=Z7zhI*fDHh-=S+m`jUm_T;sJ91dwlK_!Z&}V^jz1LF*|(wvkoyNx zX^*z_nqX(N$-X56pc_EM1e#o3t)5)tBiD%s0Yu0%P2^sj4egJF zb^=BNWFMCsFadA}$UOnFzmr_g^af@DvjHDq4nX#$EdcxhA_34#0CN9i84v`l0D^&) z0J(P_0)zolSx?&=pvm3^A~Ddhz(!ybwGn$F+FO7mY9r4?>;iTJ? z0Ff-{g8;eDkV9>`&?kUA+CK$-8aNA_2QC0bz$M@^Pz+oJ$g>3GnlQPqK(51=14JsQ zz6)IiJOCa7)xcwbNDcH$;1y60d;~rLUx5ao2_Vu8-9p;9ZcDEBD*!xz>6fgtGzJQ)UFQ7L-u8otu z1pNWB|8Ous_U()S?0}JgBQOde_gu++WU_yW+#4d#0+IcrL_DF%ela3suk}p83n16k z$$bQ0fb4Ty0Qdp^0NFcE_R-gWMAD%%0kQ{&JYRJfAp0n?fn&gNAP2|=P5|V7_bDJBAlLuT z0vCY-;4(m@7@FJ*Edk1aTR=H*7q|yJ0Ej$Yon>cRoi1GUk_1au8GK%sGzcJ;uPe$sH%yMIgHZE&ZB5iF&+t$4< ztV?{C^192Oo0D@NCN9+0ZL?s_z}j=;%_r_Yt6wm^G_mIqmzRYfhRj&%Z+sx2;NX$t zGqqYmLe-`p`(ks8Nldv`&7E_hztOovhb{#jDG2WruC=xA7lSJ;?i)|}lx_~vSg_l% z*Xukja{a4Kle@iNxa0Q92$f(r?Q<^^*GzxcFK@&b_1e$FnZ-r* zO$#(kEVqZPp6!)epP+NcI^5&V)=v)UGp6kie;lj!I%!h={=_Ji18Y0>a8hWhC^@^K z!%r7qn;oY{WDS0D$a|r(UDeKjO1F2a8}E&N`K+^=*ht@x8|-nh+Ssq)K;LV(b7%hv zxU{2h#hhDyIo`eQ%?kJ1xUW0^#cZ`vnctm26xRYRl(^qkgt?>>=*AvPXTJ1znc>eIC+$6#v zoK;ovV@A}aCf~$;z2E!hD%3dL{Th+mEq=me6T!Yojq#g;I*jdY=kTs+R zO@GWDZFTtD$@$u4^K(wi7amKCe_Zsyp|qcC()l)*7q5M|vfanI=GmX@!WI^+e08;` zw{XEF1>ybKE6ZkHy3*_yc)QQazDsXyFV60gm^b|P?pmb=$6CS29y$V_;(@Lwm97qJ z3c5COZcNtO#LeBUeFJ}um}URyPv*>N7o+RSs*l_#E$<(u*7NA!5exTDOxzSa@MgT3clgKbDCO*TI&`v3y6~pVdUiH5Y<#Es6Z_Kb`Y)ZDRGG6X=8wQ21d^@lyx^z&4X-Y}x zP~O9onr$xEQbcb($F?8R{)_AH*F}YDn{HblOYY}n`SSYnn!6jh75QDuw3aw8eX+;R z@x`PD#}maTBCgo$-l?i_EX~)gax~RE;Ma63x4!$Y&ZSO&PNjIdUAezw{ZW4Pq7}(5 zS;O7ms%_I&DGvVDHdbZIMsJVQp|z8OJIAbT8RMJ(rFY%K*~6DF-0`}8Q)2B^!RyNb5(oIdaL7Ox9;1%^>2^GZND|iTk>)$eThQoyy7rWrYgVJ5SI_&OhWkVf zZ*Wvr7|<9zwc7yewd#A7GqTm1tE&Qs?C9e;#VTxP51Ch1yMWU%a^VKgOtq@G z)5DUo=dJs*Y0&Ln^B?c2e*URQ*;$1XGRgc!&WBNtwu{DO)s@6-a_^>~ zdZ6Eez~p6{Oqx`~)>IbTn>jap8s{GsB+x^1Zk9(e) zKhoN=tIbM>Bd1;&FFKxg?YwK!@XqfBzdjn-y|`UWTHA|m6O(4HQXChWWwJZe(5O%N z?CPsw&Whh(de%R=7ghVtz9DnB&)R}KW37C%Io~`EH)>huJYX%<bDQB zPFC^RmD`JV^VyR=st-5n|Gs2@@PgyUbETV(#}7+CdBIim*7){S%~Sph3|$IFg;yNE zR_L^Ot#7RG+?PH@8%2tj!WS-45P6=?y?<`IVe^%hmyfiaonaOBl6U6n=94Poj`?ps zIVhdTi{G$&=BAE|eycZId^R|@!TrjG`zfMnI&(N>rp4TKj}LYFwD;D=f+vr@i!Al# z9B*oWI43ag#NBHH4~~ra#k=y+%5R%}wQ0Wd4y~2ByRQBk8gjVPjQKrpJZ%}Ws~}Tj z;}5R;qG%0;_xh0qYcq9SQ!|WywHO^$-KS#IY1 zMmwFRhy6OJ+hw?0IT;5w`mSH(eE(jXPaRE*2efr8(dZle+WcKfqW-*tJsIJ-#uTHS zB_&0Nf9C%w9lZF*(94hemFd1Vd2Hcdb9C6YiN`Y4ygr7QYTr^Ey3xO7eJB0Zy>vn^ z{@4`i@+J`yC5&p^qqM`!}~PL&PSaMLf4F)uDU4xwP%-4PeNO=l;(s)CFx{8 zwmi`LTk)5f7iK-wc-;Hv%S%erjC65VE^|qb%5uFF-Xy2C>$UbzbJ(Hc&gi zC$IeO+%?zFJU@4n_HbU!j3EOAI_@XE+x*^c5m){_?Pj|xOwH;>QTpXaOM*`9x0?0n z!vx)YCB@nmFT1&L`n$L9>9fB`Nx`&7z=Es4$EWN!i*cPB{=NJ`n@d|era$bytLqcn z=HJgwPf5%PYI`}vZ%t^~#I+7}?`~I59vG7TH19aK`#7)1i<=5V_HV6m-M`xA%p$!a z`kJ@#Jtn!t*h2;}8>Cf@n1aiqrU zq+Wc^(JK|{8$=%hMcEOvFDBLdloozp-hcH`?UdMzZ{}IUYu(l#R=V#MVfwqw$aLOa zy)(r%Oze`g2ahOZK7PFYaL&+6$qzf*zij+4ZH?>DE5jY$ceu9i!qi5^__jT74u96= z#NV&`a{jh$+pqA##NRb1H~cNHDG6KRX*Qrd&bjV*hd~E4#zfWcYqYze^|G6`QOqr? ziPr9i^BTpw`gc~`w>5st`{l0pZG8h~oLq6@i9^XRbH66vkMnkfep}^v^{c(JLqyfo z=YNdHTsu4C&xkYKo+=Kp+~ee*?t1IMw;AbaSF#VJ%{lhzT-!pcSzhDxJr%wz9>1FF zJTdN`MA#GPj6iP-WNIiogfZ%y;!^bV(Ibg zo7N8*mG&%sNzP{e@)HX+ekpWb>ESc9WO4tkr-bdJuWk3`xOdqwVzS`OXa65la(M1H z^tG*ac}LzKTzK)#A;&{mdXdrXA7`)mtLoybu9j`>J9dw?QM@QkNGnu>}1;;*Y zk9qXy;TYjkU88+Zo2LHMUb!dD>_)8K{Tt6O1UCO&=j8HqVV+*2&cP#5gY-8lcs`HI z@SHT=cyL2Y(U?7Bb>Ef@|Cu*n-SU*8-r1E$<160{D|qzwj{&!(EN%akX`2Nu3YrG$ z`i4*1@3AW1seP$twe_6?B@4CcbFbc6vUQ8mma`SL55q#2d!<=7+7Gn}dXt)c&9nUj zrE>%N)`jlPZj(4L%DUJub>96zw`kQB9+Q*SnY$F11ug2j;mwop$CT9P?0Pl)dz_a( z?viyKT`DYSKlVn>j7M&q-)dVE4L1GUx9#kt^uBxa4GTmcv}RqdyE3}$t#OBkvzI?D zIUia5;Pkc=fBfCIbxe(%+0A8p!rY>|p?VJ-?uPDuov^}hB~RafRL;5JSjTgj7t&Wf z%^tJ#V!L?*?xY5BE1xa!+~md`{E^c|XL`U7OUCl(gUw%O-JEd8KcquopO6)Hx@~;E zJ$R@wv0uT`Id&T>CVp05HmBmlO4G$1f7f|b4&NSisBd(j^4-%i0<)1p$ELMEQQZjyg< z)oA|HDT6er9IX}|7y9Y$k{W>;+I#-!4Ym@`~5g2@3_ai@B3!C?5qOU z>I=8wrRoN){>__tukzG=OeSofxUR2DE&f$s`|)CmQl4I~NU+Y{{_ z%a6so{8{e%cJAdRJ@TI1U39m2(V9i(#c^YG0;a?Nex;taTFua(Pv1p%Z1-SN@$FB} z-I7(%X z%mcv(p=a;0)|PcGDnHNP+EgGO;k8x$bNa$=3GN9d%%lya6$gtQ(vGCI53L(marsm7 z$nh@mU#$A-+b&gFfBs6-FOMqYk%3jyd)+>8L08kd{A!l+{=f(Go$GxLtu%XP9;TlV zTOE3P)gSkbJvzs>UsUK4bz!{9wmurEvFkSbwyb+qJ$~k&YYG;HZ?u;D5OfzDZWnK} z{i{RR?B4_Ibo?%9bzAkq$IGo<66eTO<8Hcf{Tz>|_y07av}%#iI#OA8`l(*$Kjvp_ zbgs%0+HX7DY}nYX=hw!7<_~Q$CpnZ%(|cfjFu?W9#xLq-qmMW@DSG@o?J#Mp^T3Bj zdbRdsxD<^Q`fcIFyMQ_i?s^O@2C~b?B#l! z_wLsE`nbMpuE*vCt$QDKWqkAed*#e-(W_yWM)un+=4N)->s=MQ>3q;0$EQK3=AIeY z)V!mER{xoA3_pc5)hf;Ec(6-&+rDFJ^@e>>`moGp*R*#h0#bzMGP|l5ZR%S1ULkdc z(~6MFCw8vA&Q{Fu8_LW~3u>|G6{MuGXjpjQ_4a*V&MpqK-7s?YtjkTGw5;8XiZ^bk z`W|%Gs!m~V;VCWaE^Ye#_VA4yt+P$F!;-4^$Ii~}>wn&Csm{14udAEtkNw&-rPsF? zH{z8i-e~i4=<2fFZfEN=U?KP`>vmv!{3q4N3EeBC3{b-I^*)2Vq{J>r>q_v&7^ z*LV36-|!=)U19i`w1t2BTU^l#Gzebekg$7s%W>U)_eEKjfuWO!W$&v~7T#U?bYDZ? zodI*48XT`^?`GOm=}*7P&z$b@<+yop#G!)?D z{#G^fbf)VVPlun!e;m*gIL>o9cDO`)t%vm+oyv!0t`kUs$|DbTHW1! z`um=T+HM@HsC)i<wd*LD5!VzkMLpF zk96~yGAHT5yVZ9D)9y4?#=YatxX@8l(c9_kx4d(4hrgffx+_*+e6w}e_u%YGL*Dn-=R*-KS*@bAM!4SC75q@C>$qj!{ON!```8 zTvIMp_*=Tm@Y_;Bx|eH6Mu?N~Nz;bu+AS%u%Xcr+R+mY+l#tGq`5?&z>912sjYvA^5dN`OBm1 zzMPIt%33a~4u4B_n6BvT=lLyn@`%bkk9S_V_F-Aw+riIGD#PB*wchLRYaeW4;SIHc8XLYOPAJHKdC((Wu}b8)41MjgK8q{!vpf_VCdRsloG5XB z!Cj`)(tO#Y|LZK@*b^!pik1qT{Hn7Keia13Z=+G1Y1X5i zUibI<4o)sXy*pN%c>JjBW$H~YkByxRFJ;HYDc+u@mAfP^?eOv^YfgN9zi^21pGy}n z&-{7h?Vi~9&7t8|Z)$p^JZECv(!VH8D@km&tFaO`?|kXBRpfJR+`4W?%QcG|ixZZe zo8HAI+X@Mfvt)Ue2cfqvJX%xejLIS4V6k2eP1xH4R?N8c&@_XCdh zP2sKWd~xi@M>8|u*nKQp6&(^DvMu3zz@g1I26arB9o!U}6XgGLLjHo;ZsmIwe@DmM z+Zf$+e_j6QeDBB+O;^rNac+0&(+m9``Ay`PZ2?ApYW zhyN~nQ>PtanCWEP-t|SM*SMDT8-z1`+n4Y4XuD2hfX@3316KBKvmx0p=ydYSs}H-Z z8(DIq`+d*ak&S0w2G^V$Cj$)eduRDxeTnf2-7@Xd?9w(F(T z;6Luw>w+b_@CgN<;h>q)PRO7}vo)#l{JeC=w~ZJgZ}-7`Ix zIS;?H)%$m7lDX}%#-hBp`Jb;1Hs#EF60PZ>{?`7?++Fj|IUIUDWyiwXRl9pmsQfmj z$0Pn9?>;^)6M~yut-=!8;eO0aKZ`cPrKOGuQ#w`^ZJ3_wmJ}W5HYIE17sa~;fo(IB zmTEZPon6uRXua~_PDz>>S*LpIJDZmKE18UUzwTSV=z_!Uu+Q$n`wq{I`52P?K3uJ% z26O-P&tr$`4Gt_AysS}q@TvugySmO_aZbzRa_2^siE+oa+!{7Ieq?G$)be(=ekWUR znz8&L`&>2U_{g3zdG>eM7a-4`%#x>!B~Ou-{5?pYRl1j{;{VX3D(%lg>i!A^PggyIJzLhzXr zW&LYe>c2KsetxnCO5V6+50gB5m`J{z>?@VW4`ewH$sQ(o{4Okf^8cjBPC^@sG0PQC}mUPkw()UY%C(lO6%TJ!ok!R0j;rC%#x1%ie ztFyfCxv|uLjK$v0O@5u^IU;%W>#)>W!E%0vv8+RHmONH0d7iKw_fsr<1D5>w(F3{j zTFUZ%MSg=^-Z~6m$=`wHJn6tvXC02C5XbmmS;unzll}Gb>S<=Nk290c4`tz#XE@~L zFJP%Zn&mv~&cfGZdEe;GGGFo=OY-U=&lbqDm*EF%<=Gdrym{@%i7d}fo@JD0*I=oW zJO?9>Po8&@XV+t?hdjF~kAE3I&?e7*mF0bJ1k1XSXEWsG8NqVi?qWHPk6HLLSn9E6 zsfX;nmsd{-%W<5-V$Wc)_h)(ij%BHTEX#2u`|IV^IfW&^I?K8#vg9Gp2Fc4mlx1E+ zS#`R!1uja6JhQ5=Y5v*!HK1Q6PEL83`?DPEOzpn1@hK2 zh{fK>QfDzsesvc9SeE*GvK(Jimh)#D%lf;s@N-$tb3>MK$!|8uTc3L@$JdG_&oGvC z7{u~=T*+ep$TD963;#UJI((WWe_lQ;pF3QZb(qXDF8PfUdF$4|QV)4XO&)(P%Xu}O zCC@OH^%1e;KhKgsh2{8?XDa2@d5L9xZn9h__hYGtJc}(a|0I_DS6J3zGt2syu)OZb z@7~B8*OcXa7{{{CEiCJKl4U)o;PXoe{3{Ds#w}r4|0I_6RAI@pmu20^@3F{R2UV8$ zja@9q>pRPQJF(Q`$TBZWmORcZd8V+e|0oAmszlmji$Zvbd8<)$nZWTBIFiy^fSwwKrg1npZbgQ9!hOC|Qga@|%Q`MoP5 z#mgo3v}=;pu#lLUOJgPW;~w}mJV-}s-#koW7fckkTKdvF@lFzZ!e{bpp#S@u>0egj z*<(hR2{>fgYRAjDRr2B`{EK^VLP8GU^-M%*AmMjpqPkhN_NDxa9+Ett)Bl_2YadCT z&t;PO{ad5(I~%BzjLVz=0g^!Le6mQwXLd@~Uz&djU5D~1lKCo8e(!N44{Vy|?Ki@Hkq7M_y&d(-?eu99`|a{2E%#QD*BLM7v_rFlwFHW|0@ zxMV~Fn#Xaq#D4s?u+<_x&sDMiq;;Lw{x|>iAvDh)Ngl~4`27kT5|ZEc3|^R!@vVRH z8x{c)yLG5!J*E8XOCDMYY?h<>sn?`G2dVHf6OYGug z6b!*|t#T9Lt$7qB>x|`U6~7gdc_n|gZ0$?)IL1o&pPypEA$Xa$N(&Z>zi^1;_>$}3L?Ty4tB%w1GaQH|) ztH}>EKqS@THz_b2u`~4jtuN&}({-~bk-YC=nyr%TE#W7GO6rvIb;J_;(L0jkK9=$; zT_ne`CR#F6>HFjo3`x$PgxLQc$90I4zV>N~R#k%OlRDGBU;!aX^!?nfyTq>VBYC}h z(&IR4zQpe4EqOhjr3Yp~sKhQf+O9Q^Q|n*+#s#`0{}yw}>r48%CLT`trW&oxK+4xy zO!GHL@~2VzNpwk`fGv{ai?98yl8p5y@AFA8PvY1^>xva$)M-0^mBwWLc&+RFF7tMlz-WQ=HDxMUB^q7kFkoE z*hPtwdZc-xj3xC8eI@lj-Y!X0V=du}ze~=C-ZXzB&fC`dl_hrR`7@`V#9mV;nb$0xA=21)D*TO{X$^mh?`+$HwoS0(4I^m|bkj7!e9 zw8;PFj~OlD8;~Dwf{<4lkq|66d7nH@-w&nh5V}Uf_q`}t&+!sEle|n~FI+EKHw$Wi zG)iK(pr3amsof8+uh!3fAIW+ip!Nd1QIPpgv6bYP&iB$Vi9JnQa=tyM=Xs-8V)s&Q z-^6T?IXk;#rb$k5aw}2ZD@yi~KMa#DL~c@{!nY+>_X~DZc|= zM`S%e<7ZunNb7uxw>x65nf2dwen!u8@A&_I{*D5lj9YkFvTk^}waNqfeOP^)gfBVD z`2I%oh*n9?AIT{H!`GL55~Xq;c|7TRcA@{A zA^P(d5g$B)d0;!~=iTAtQ+aWz9-3#7J~l`>FWHog{!vf*u8T_Ry-9N3VJ{v-3I6sd z{Lu6hdj$y-CA@?6^ceZX`%C$p8pctNQJ+YIUfxzdth<-(x?A#JCw=xbP)-c1yiA54 zdc1sG>OT{jg)b~^@8)L{uequeUkiF0pKPT#68q>0&|ACivxy!G+}leP5~krjw~q4b zFseykO#Xdemdf*6@mZ<dKTiGcCqDBR6VDz62SBlN23EEnNxX0D-hOTG0JgFX@}%i=#Q^0G_PwHocwKj? z9eb63;$`EI3v=Y(t^Nq^>g8$NZgM_yAN?o9WMzXFmT>INtwE{ai}D+4~i(Y!17dJl#F?t1k&h7r_4wkIiF5Q%iWK z7Xs7tQ+GWxXH4`j&M|ys)K!*;uL7Cz$$mk39uxhp)x<|Ov!Ry?|F`nPS$ct5@V7r4 zNczey^1<}b%Nytytln$O#>2O5Abs~gV@_x1!mYe1{+HPc08yBQ@E$bDlZ}QuKHLA| zU6c*vbE~~@4+Y(smxGX(tX==G7mT5to9YzaAs~ z?b5^L!mm_&dv9TXakTK!vSZC|%n!DoYUP6!tn|E{#-m$Li9HsZZI zQ%-cpUhe85UhxCQ-D|=d7ZLCII_23-^{zjIc+@<~DRZ0hhQq%}ynjpjGu}$?<&He@ z!+%eGt|T1obQ=9Cw(UemLO(biVw*lIcc$N7E&8Y7knUF#*sHoPuN%d&lY{}WY+t>@Garb=Krz(Fh2x2r!6L*{%=yB9il(2 zj(Fwv)SJ4y$fh$UXWwtAXSj`*c_$Hn_zwCfy$kQ{lRmRg?BH}`L|+F5dOViRPv4Z? zvpZA&hlu_R>GKDA8Rk;q^T)B?o*z6NBpVD zl>9#7x2oQ#FXl*y-w|`g=O?Te>DNmq+GYCrp5inv{PmFkA7LH{`q_6O=?62^f3V|{ z6!G8unEuAUcn@*T^i~n|EoDZ98+#d4KQ;Iq{bYvlpRFaIo|EY(*V8=FR2bUypB*{b zDYp{+Nuam9R8!V3yi-L!-G|XGyQu+>Nd9ikyN?l{*IG$maTEP;jqtb8p_qOK)xRJu zcsXVn@#r4Ss&EY3F?Ex#x_D zP8s6vHY6_NADm)3@jpWK#-E@b&QU%*MR@cGaEy?ev9tl)cUq?A%CNJlmNId=$?N}-L*~%O7Cuu1Sv!cawNI%hDdWyoocz5Y2 z;(c$>-&hOYZwWUrKd-rGlG6u&m^6*_Uw*iqgs(ea_kEYUfuNdK3Uwsst9_wq8DWBQzHFOfy5^S@XgIf{7YgVfuOGUV#G z>Q!9Ons^8BCBz4R2S-JD!2jZ%y+{l0SO22_Oc#Flg~Tg9re+=zejU_e^n+ig2iiOG zt!%bL_%^ife8SOkBwnNM?|{NlJ{NvE+}`xC@|IFPytWVNqkpj8gG9geO5)u!7>}>2 z-d{p&rT!>4B({m7`lY+Uz( z?tc9ZIrIq#Skq_S%F_0Zk{z>U>kq?ckpE-nLx)Q+F+ zOZvX2$UhSQT}~iA;au7=*yTj!!>`$ozoSq~;C%?&`|Gm)t_3$*d!uEd|*Rqd`(e*9iN1RgEB$!_;=~8`#$Ewhb8|S+3}SZDB(uo zt3hUV={vr(UD?xF?_tkT&!Jsc%g?*DUY!=7hr39howJ7{`%0eI5YE=F*g>NlNAta$ zKSB5;wu{*^iu#22Z-k?wJSRTKDGzt`#TMY!{4=+(4#Q=@J@Ewx8h)WV9@7XXo%5w z&1W9A-$SvIk$t;9iTU+il5=w z9YXo*#pi{|wC`XqJ&@jreN^So-ZQATJ*A&^#aB#uJJ|jA+hVN}`Q-4jdHUO{Dd*rl z!@b7KRPPOEs$D-Keu3~^r048UX_pzo?Z=xU%QBSxY| zn07f@^iQ2Yd_d#pYlYu*67fZ4ad*o?+2w*#yBq??HvWg`nF&&clC5j#3^g!m68NZz#U5PPum_cye3Kh!7i(((Jr@_`PG+msh^6=OZD^1L*XxOM||BMshMEMMAu@P}oAPaX5~ zo&GI<{(Oq~zdB8JKeg2EH^HAx&Tczsfx=c}J##Vf-Un!xCF*x}$AH=B z`|hPan}vUoB>(2J^`g;Gl#i3wmexBD6&atywr4zsc1_rac-%@+a8Q|WY;t?&uwiT_R&j!aiSdln3B^6c^y^WkBle+v#~cuf202MWI!-L&Doi|G&d zsa^BYOvC#ZQ4hhdCPNQ~50ssUIbL~S;JfsnuwFXz5Yi7SU$GYaPRByxU0SCKdH%Dn z5nr>C_EMNe2OUAY`!%+AmgN84QsH;fqqY?O+;PPFKOqh`_VRTo#N^NZlks?g+B!1zi}=-uuAp5og?0(@gBm*%dAG?vFEAhkgys4#S=DZP98(HrZ@iDU+9{YlPW~l+|6sI*u(Ox$(%%V{m=bZIh3=~m<-=26D z`PBTH@%xzgABhBR{3~xI|8s>Og0x_GR^#Du!bfxykA6ZvrwYGvw)po`|GyNT-9SCZ z&o8y_CW@nNG=JPq^xZ4Tr)~lDd6V!9PAA?ollZTMFM&gvoKbwFBcp_$DZlNRPJM>) z!w59Q=m)<}zrAKt-f-EG#N+3Ze!2KuAwTT? z%8qq^W4!-FcKpT3lE0emS}*!rFE+hZL|tp;;qsqh>qM{hkZGcS4-I#F{gra=qISiW z60gyE^~*}Q88?GkYACPuN=jAd0z@WYYy?-?Ljsan90kiTH<|| z(hs*1{(I$z9<5KJyYX^HCFSq`3*`^=`^xT{ZXo{Y+bn_{iwlvT@qBXOU0$@8~D3vafY#rk|^HZWH0@Wt(N9SD>SN@-j0i9KS1WCH!vE z_gBd--zk;nZaA3nzk3`7r#10gSNjsrEh}yB-;rM2UQ>2;{zs_2|3<)Cdk6nG$?>4K zGr`d4<1tFu;NRjL2OQP#ziFN73gO9l;@?Pp!hBw?$3VsCe?E?yKT-II7UEqM!yTcO zu}&BhuKqnM`k(GceBdzh2bq_<4<;V_0=WZ)-0*u+z^z@q@0YeK(MQuc~x8CjGHzrVGT_3ouS8T{m-!-zkkb7j;je*5b};$7KMF3&^>I%W~^p5w?L z-HMmBlE3B-+Bf9S&*m|HbbEs=bwu?B>Wkb`Q~8?c#Ge>kW241kE)52mOQofaZ9~AZ!gE ztY^D^Ej|3AllZ{a?0@Y!JuBb-2JznEq(6~x^iG_3_x|i3L%*|qp7>U?8PLHl|Cmg? z;uXek=pV<|5s%%;ND2OSx#D7m&J$7_cuYWX7yX=h=_&LdRz5mQ{9h*?{ABp~jJs$U z8jcd?Bex!{ddtp}oUD2WHbQ|Y3mG=iDH;!a_&O^L?K%_&GJQs$(VwUIU3jiRc6swJ z)c-NUUw{HV54=&D2PQR=&x%)RScIXMg#31J81;{E^KygYccj({7YqMB)NAroe2@Mx zR`&f&^8fB}@}DdEBg7|mCp8>?1NJ>QlKJ^y*}BATRpj5Vaq<-T$;24(uFvoR<$L}Y zzl8{cnmoNa*9voZc}@Dy#$$fHNOJyI{!{aOsU2gZ$*1nG^w0f^(^Ua4>Z%{?3+mWHI`Q#j6IIV7ea$b(XKT@K(LlUk z&j&3L{Q+*NT3F9RWdccfoc3V#6YweefL z4hBLA=Q+2ZPQ9%t+b6xUhJJNJS)Na2Sns5Lm^ZEy{{xm1@2O{=#O+=_Q@ng@3F)^L zZpTxty*vDYE#+OAzFsx@p=^xrgM@?-55vAD7;KE_}B5bl=GF&ouFQs+RQqI`fjh zNgwjbd&)C4&*KA1rTCwqym$Hew96slv#d+Co__k_dg<*0<)3?XjsoHDr6y1M z*d-(VdWq!RQF`b(w$yJYWl6tK(9eZC;gwVr2gSHUM`fhC@XlKPs|MyA1 zllV-50H(Lf|D`|YgxAaNU3Zc4Kf;fY-}Y=q4Q!%#UkSFxr{*2D2x-U5&6g7I+kqJa z>D0?_rH6sjshOY1Ueo80K4u3AP%zB%l2*Ug`!MZ$r5tfK0@nKdo|cJD7seqMoJl_2 zdohmgks{i6BOYlT4`%i9&JyC2USfl86<#xz{QKU9LQn$#+te>a3^Ms>^5MQnbomZ(8{w&GJ=r6=pfyqA3s-qcu%RH zzpZ@upE7@2ApP`Q!1x^_K0BSqdT-Wq9L%oR_ZMDMHh-J~wU~Y?Up^``OR za^YJ^{{ziz@9V;UjDFtdcV+7;ZI_Y{ewoQB4;B5idBnSa&U_{HM30?D{F49B-=G#R ze?E|SkM_;a*0^Fm)Mau${}SoHC;9^vk6+8uKYt{=b6?W;r#XK3Ncc1ag7LY;e()S+ znBr)d^c*{t{&S@8UtLW4XffmEF7bH@0vn$iomU?(yr)g{+Q$rb8LvFtdmsIOg4)%p zxaik<$b2cNUv`Z4r2h92|JTkX|GMFlM{>UUP2zpyVNjG1cT?fFX0LCSjVG6Yt;ye| zdS{CNpGS+&ujtRL1?OGU^xODNrGC33MuK z)62LC#A_a=pR@;jHStY;!boIP;+$6#@rpCpFCcAtSt~tvFN^v0HwZ_6I*NMuq-?(S zA{^f2snEGu_HH=eB6+$tqd(aD!L8gTeBg_iUyl_25YnLW={b&g$Qw3obo?X6#bvVZ zVg!icS)I#;8+*Bb4)xsiuTni%ts~z1%p|7^e)ZI3^64u(rx(?W|9V<*iTEEYeMTCm z?JxZMa2xA?`yVXj|5y2c?-{fswTuJ`X{a` z$~ma<%s!&u`~u>2yV3u@z8Sw*tNie~o)hHgC5o1*y_FB_;Di^-F1Le^)!Tblshnpm zApgoo>2Kdry-y;+nq7W*@b-=%O?g={o_I8o@`UqCPau&ReZ@}H%&Ve5SaDjp7vm_U zIIR-@c$vNS3H{o~lppTuW!{dIe?^(zPFc!&vv&-4I=F|IvB+<3$4g4vTdBCqz6D1` zSu8)?e5T~Tm-xf}Z4~XFBi{cx{dS@7CbjpG1E`;V;h#vJ_U~-z$nnCTRzFht67y2n zSN)ajb<_+-G`&5FjuQXMTWA+*JBm&bK9FVpWbILO(XrNE%&$*G;zIem>a}ezx67`( zITD^P`zI2k;r-IT%o4pVf9t=M^@jKwiA&RG^k*a%lrU~gg#7Rj>0k73qv%JCQ-d=t(@vFOZa<_PRv;pQIfR6aM^o z;)4sAm%c6iSFa-8_cQv5{ceqw4ION6_S>cH-5rK7dE#4;&-vSu{`m#OzyBuXSuZ_| zQ+#Es=^^%hKr2@*Bz?_AjNhjSNB1gEc4^-bVeaK7IG)wpw-5EXyZEoirQzd$yt&iy zFV0!DiT;1tPpuREOBmN#{MOuD+OB6Hp5fiUDaEgV0=-_1pV1sIS1V3?buMeN`lF`2 z@xgOgdcOXw9mw#52?Ncw+ z{HXF~((^B#uQ`i+26r3f9Hy(@JrLklZ}wM|6Xy2v#&YU^V9U}xw#{(T59s+FW^X*l zu!4B+8uEWge!CR?n%nm^@(KE>{)YJMNBSUV6XMk9`@c2GwQrCYvAW5e_gs%{|hRKpI{z8D=1%HQNaS1cfXWe@c; zLG>*mnWT>& zO8y54x99Lo|M4>Y{}gU80(*Dk-k_W!kG{5we2#p1YlnWQFK%ljUZLlApk6OOSfhG} z#r(Q~a5N8gxAw-gzI3thLq-$tevNkjm+(I!znQt=iHp)uTPtkaw z_i*O1=Y?-mNBVxn7rh1Vg@eF84lG;0Z2^D72Ub8Zl+*k#`qR1O({&kp*!_k76$!`W z?7kK^q6Gi^mGVjSE$Z_O^{2mCOFmbzU55JWBdv2WQNYKOG ziql?uu?Y&&rkC@kkbgx5?M|yj(X;56P0qoqOXb{nDCsM2B>l(Yv*twN{ZpyuuWiaN z&XV0fdz74m{&&?lYB208iGGhZ);sXGQae5)eGWcI{>(yH&&;yk=oQL?W_o$Ai+Eqz zxx3jghxyg@_Cq8nSNY#4vgw=Qm4DyCkq|EjR1vSx^I022A47sN`kog!(n}*wtlTdC zeIL?4Sqt`yz{m8NeXmrXAIu`3x?jfpez>KVD(R>9D)M11m{-YOT|2VB>l6KB$4k!p zcjf)U8|#Tbt@V>vB40u>~=wo8y16&wK>&I=xR1 zZsX+>(Z~M;g`oV0X*8ND{xQu%XZW}9N4TZwv*x%_j@&MPxO}nv@bOZ;eI4n}==Q+9%=zT~Zxo$8)#}ALy_`5~#xJ(m zk@T z>RCy=rjz>ov+%nSCdMbXF9*VKOD{iz8yMcD=X8R8A|xWi<2on5Nc7)6lK9@*w+;T* znIS&#D&q^y@p26Y2G*`vexhH8JoAfnr0-Ln|4@3k_*CNEhe3fT*ZJQl`nT#G&~pd0 zeiY^4NG4~+wT#C*ML$XX*WgAe*%RYeM8yvH3!5+e-rh&M)a26?2QA(#`m0c#@%gLv*{g)_c?|I<}i;N43f`-Mzyd4|e~D@?QU1dd`K2b1P#NFa3Hi3c4*X4X~HV ze|Oow#-B2>@3K<+ZrV-yD{p3m^4lnCTTHx0{R`a2OXG3G2eePIhw|8dUBoLj51K9d zt5=C$?V2Tgwffnb`&sXK!Y^M+`oEODujA0|iN{~29)7bGZ;0X2+B@)K%z^AC#GjZ% zyzXtr%TEbMXQYV#O7+rPqG&IKzl{UC%GUW`l7H6aSYfO9q-B>nn{c57du=|I{Il9$ z3w}6z8ucH$zEuC)#7Wr8Cw~A#ljnioLLn$24}82_@@QX-+Qz=*LG+)l|0(sK?@bl{ zqf-3N6Uis5^%l6FmlbCdpE9A;uMR(pcu(2-=S{m3Up0erhIsj-;`&{kR}B8JVHxS8 zZ&ROf)!P91t-W8@^X%wuyxbQfex{z=ReFmyxrq4R%kVSgKm9u*@uIxyf1~J7`TwqW zY~@Js+ucr=JWs|Pe_MX_+cSs{oPh?S{Kfx9(FNxc-y_cUk{gz<8>#2Mf3d#^ar)Lm z@qdZ&HClYG*g(AENA%~ng}({^v3{qnn)Vu0zS_n6DfCBr?_3yfoUDGcQtzodLVWI5 z9=J()AjmmVcJI+V9d7C6=dxF%@mogtuHz}^6}xWf$oayrm)67Wn;aun?a17U*-m5lT^z)_X!Cvx#8+-X7_*h;&zbvorhd4F=>3S0Z zg%bSa=a&+%yls->!5=G@!5Vh@pWHp>&UK(yHEEb-mCpn!O^gB#0P&tyKK2R z8O?+LnEvB>KDR>r|0Mngyhpn)68_){@@bg5r6W+Im%}x#*!^v0er7YAZ-oOG|K6Tb zJN^-lXYK0!DCYMg486o;mu`)dw-EjY1Ta1|kCpP-1BNy}bqkoUexSJC4P=IQeP@(& zpq6mH<5c2cRGxGCg^#( zYlVMH^XQ6QNdL0%aZ^a&vm5al8qhyjEjcy62zlTU*)gvDqj0V}S4;Z7Bk6}5rH8{- z6Ytk~n3GlSe6_c(n-&l6SsK0{>1#fsKEuA%QT4%%@0Q>8oke*N zK3>j2ez5#gS+?()Q{LzvLA?#zl=O)h`CqB`l%7X8`uYO;VOQDvpccvxE0pK!L_b>k z?9y}hM+iUjEb{NyIj+Ee8T{P*@TOZBN5OB?bBWhzJz46EX4Mey)B7=w6aVWvM6Yuu zVC$uF4e?0t7Xn)^vyLWyo&C@i3axl_=V#C=pyE; zwD85sGqD-Wdo99WMn~!L=)6bJ=VrLk^T4m@|7VDPGxT4EXX6-nqd+ZQMhNe#WZsx5 zyjO8op>wS_2){c^K7IeDJd=dmG{N}4`~nkm$a@P`5FdCw=9G&?zt_3MdxsIX-xIa6 zT^sSilPP~M;po$Kv`cr{KF%@HTlY_)Sd>xXv&Q|rB8r{B{^$eoxj=Gmqx0S&Z|^xv z@|3+d>~E6uUA>PbEEB&NGcKHti z&Gc65{CfZU6iGvbv1euzCm1VIB_s@_jktz1q*EcR^1V5wF-c<{UzN z9SSuXpQ;JWY*3e%GZ9vX*F4G0IZt?%{2_K9Z zk2&SmqOWKm{giX?$X3&jml8AinuT@;Oa%{xV6t`$PKe zM&ZlPB)-mma1ABI<1xn&uiTva{7Cfoo4PeE9Dd-sJQ zP{Q+}XCo~;zAWbWH2;g&pq)g#Py0K&2;V&LIiAQrl!sqjNcsvrkAHyZKRJ;2wP`p8 zN~7?*l$W|cC7(LPt(9lQzw&VAXEevl)l0~ya#zZKtMCh@&*{5SV__fjK#W7IU3Gds z{VvgW!fg!C9*PbHz&3#IxEr40?`>fA9EFet)pbQ|FStZdA_Ld9(cUo9V5cuv&^Zp^f|_o$p2Z^3vE&yzf)$0mB0?6=OtyFewk0JdY-c zSNxFjREz$k^NA0fM}Ig`_>Z?EJ~+VkicR#%6yjam?(LK}i~i+2@q=`J={(^NUn)M+ znSbDZUhaWn&5nIru-j0yas<;%FV$=5xAE_n#?kNK z3KkdT@8P`QYvj{)GWmCi&&#ukXZ8D58b(C-%1=h;U?3E@v6qMTWxa#zSa0ypE*RSC z-KuO{U0+AMr)-_GQT{Mf;~b3@g%+>dEJ+G7Io!L2C& z+v0QFGUAnbA04w9&S?lgp-c~_w~#(MlKjIu()2Fk)ygwSk6ylmZo>1`?-@t$3jh59 z#0RUkc4V~hKc7RqOYak#B7CL%r27KK%NpTJHi(bTl^rR3f$Y+w^}x^7u=g$`eWjky z3eN#usBvt~)u;$1JQp8H&%f9C`QUHs(N9^svK7=ruj+koKjQsw(X!~ay!>+!@vg74 z|6MA4f0)DaeD>i(92}RulIL<$BihVfBB-raO__kON*T7-(r6l;u-&5dms_zap6;-AES@{L;9O! zm~JFGqmO+=L9(KM0}0CT?oH|cf&awml&AZaQa$`g^N8am|2E?D?AhX@=ai>y$}jFX zoOq;j^>9BgD>a_U>YUzG;bYK!m>#;{DXq6-Jo)rLOTX zE+y2vukzIw<@<^Ilh2gbH+Rl+#s5ceV3Vi+#Zr0p*{F8)?C6x?`NyU6jUMmoD?3Lz zXEph(FI#_D0)I34Z`1pZj!?bHZxA1Np6v~OJ3mLfSLXxamR?SW`HWA^2-@*9;ZH0l zUNMGzJ`+Cg6ykl_&jOj3G3Qgxz7I?N@KeQOT<`rjLG*b{(5&A6YU%;$$jd>Bujt@C z{Q9$D#HZuZ=*Q>>M#4V+X=u3NJuk(a@GtTo+eS3JZ`VB?r?*GZmq=)a$Mriq&14^4 zF2A~CF~?CMem}*HW|y9_ap37NwDGxK>uiDkl9Q;1t`AD}@Cy9X<|fG+g+ru*@1d%5dDZ4@rqyV;K;d~@QX9fCjR@f^^IN5F#gC7%Ml1D z?~pwDGEVyVNXm1E@IN5`m_K(ll;*LAKxXZ#(70la=Xj6!oOHR`u;w~-ALiD$v^w_-sbRr zo5vxB@!w}8J>)pi*T8&+$IhXgFq0Px2g3(UQ7B#h7w>Pb6n;MCnJIjqwZwaM9tq9y z@(lVNi^p@y&KFGqZv5-UaXhoV^fpuYu2(R=o)w>2XNcZ5hETq-3BUL`4B_%O5&s3@ z=uE)da}fSs-p4q^=(}{DVVLlj7ZL9*+kf0|x$xhUPl)$hll0HZ zCnq_F5RVmbNaJ7AMZ0gM_O4QVWyi#vekzAM(alxH2kX*jp&=+Wa?r8ItKMtK=e;fb z>*%D(#Ji@VgGLGKaz`Msd%efd^G8T;%Y;|{JLdHCx+uE#D9RtLFO9Dg8p)@7B>4}M zg0?!B^zki9>7Q9b`ilKXf3?>VMJ;C%uhTlfJmH<1r}U1eCkH#GXOKSn4-za&$PaIv zFFqGiF?-TYBU`St_MWD^5$Ip8Azq<uU5nCQn^F<_NtSzgwdGRj5=260j}S zFW$J6c+cx>?^B}x2K?FLy05ICO~8D{=T4mu4E}#v7x8TEDCaO*e4aXoc%RO($ep7# z@I&Jh+j_WDPL|)^-cG#YF#6SE;T0Q*-&^(^@x>d7chw`Ip^Wvvc+bt=#0T~J=^^hO zdkpdTi=^)neap$#Uc}>4N)EBTbjmLIt4j0L*W_=pzc4>MB{>gXCjM6tpCLYXAEmss^gl*FXnxq&UW(`B4+AH#U75{T@zQCO^XU$@3+c$q z2XlxI%w~Udi}bcF3}o%9Igb$<7kvf^-0&Xj$WX$(=H3vePti{niT*&vY4j%fr-UCT z{94JwXo{kp6)$}^P;Vh#ez2JJR%$%~X7ysjFpG=+vbY$bd>cQ8^-dQ3^tjrk^T2PZ zz3;A3yR`nitLPKw67O0;|D?9jZln>@L$CG?;Z9zj1@3ul=Ssg0`QcG?SVrHk-vyX1 z`g^6%n0|MrN%&valYZcC);nDI$xDdu@B|~5f1~IPq-En@X$PB84qeF`-h*43ejX{) z&!I<3&O6wmAm?cH?~%@Ny+t;W9iuY-gL~1h!aCCLU?9Wm%KGb%6?aMPlZJMk1wEKN z&1Li78&4&l-@Zft4Ef>s>L`lA&xd~Dg#vwgEa~^sJUuBnuK}sa^WqiTITGUcCx{EP zOYGLt_I?-qjXt&;^DWfkiMaVKQ}p^^mP-VSd{DN7STzFN0Yz*Oh(Wj6kos2 z5brB{@5i(I3fF!jn(1ZOQrfHXdN4!@`us3P`uK&+Gj-zs2m;FMU5Wri*|>-Q7ge~w z;rvP2`dIHY(%<|!HM6<$|95MNKk^FkMzV?KAVC@bC-i%}=oYVg8)G4e9@0$9DBxQR;`cATb*Km1X;wG5K>$``t6iCff86(pSE~h8`t7><WqFQIeQk-^XH0wxb)Mf z_j`x;+kd=~{C{yU<1zU2<(CqV>zvXJlIMM-O_M*X{f=Pwibce0PGX$KMgNah;*+$W zzJ>5r>c9F&&`;2{Z$-nz(>Jwq*WsdaR`@bXn`U&Cfu$Se-Y*{{>4td;v^t+h{i+(?Zx#7Kfu4R>AXj`@L9_9-J9V? zlyemC8x^O~Gt~0}(ciN>{VI0%L`OnDI~@i!d1`(_jRpOWo|`v~utM?5|P0|S(Vd#xt)cg zf9@FK{q~?Y$}ZA>?;^_6HDa>kLH>7TuYudx(jfoTBgp5A2RC(h0-52xr?P)<7Jirfx#AnR5d~`ZVwXlgpz+3f;s0Dkygx%fWE9~18rT|r zR_`MU{p_@JMZY!ue5&{iL)>|PadoNQPJua$PrQ-zpNRgt9PzGx)|hJL7q7OP0Fj?eQYmBSXq$!g#{^>zpVX$vKqoygjY}{0!XXXs zx*dURh0Tbb()hemc6nC*uD;bEBn2bZ=Xo|%ChIGK8F9B{PAQdpZ*QxGpO;*hpKlZ z+|~H^>wM0yg+Ft!@K2bp9unR(M|||0(XDFNvgO44CeSVmMZW{`lF1XhxKy4+^20%m zD|Qh5_!G$IiL&=0?35rL>71e5IePOF;<1})#}(55%AJY7@gynPi$&2V(tpo$tnqt_ zmyhO>zVZ)@)5j&xDC8&8PvwiWSKxDc8}TR}bILHjn$SVKPrtKvz4&ZjPy7fyf68dZ zeh}Q%_`kn_9s2>I|Kkkey$`V7;D`IJA>MU2<@}H69}wQV4gC$>ikJ1u1O2te9>scg~>Ufei`QQ@}lx^b}2K!Gr||1LHd~114G^$1vfB0 zJ$hgFGSOcyJ8rM%k(q6x=uRlg=>M(freRhubN3_uy|VXL-z+{giuZ#=|2`6h`Qboq zsUM!BI33jU{&~^c<7`%M3~!8l7upt1(|bhj_Q1n?RU&*>(c)KAqPM=kRAr4_#&Ny*%=C(?9m# zQ=|R6ngi^j&w@BHZF=3cYklD zeJ>WD-IAp5i!)QbFZ`1>;=O;O{HF>ZD?jZ18u6RtpQAIRkH+lil-G)W#762T-c=f3 zx9mXro~N0|mWqC^o&^B_8R07mAMPB8}e$e^y%W zyX#2ba}o3Z-(|<=4kg~dgn5k7f&OT!=(P?!N9`J>amc{i)DP6&0jNLgL+J=k#7c0@MMeiKAfDZXe)72V^9u5n@##?>gWGtSaw+keYp91dwfDp$iC5_T zz+s$R)k3`P6WaYO(Z3IK?iDb*6DqQ zhf4k%G*0fH7jq61#ph}m)abjlegZXm+4eZ%(cd_Z8ZSAs>xswozEEZl{LUl%-1uyq z&OCF2_>91%<@vbYfA}ro-&7n8JVyC{Mz@G|LVInzv0K^r|1RmXPv>dd#OGP*Csy{J zrE%?yySjVX(vY7&)%c|UN7R3<_}qXF$mEZ7jw|^8gX4)0=zSNz5&gv}^6$N(G``+H ziS+&3?d_CDi2fzzs{wm4HOffg*EEv8QtLM4hW9f=?IusxgQS;wqTOZ^-{Ozd{LZq= z&M=(O_m3UroIer&%Vfvyv5d!`i2mV>=;!U>l#QG6hI>~Ew*^KNZ6ifDs~^cevzz1L zcXr-To*dLTxkh~M7yW?FA0Fg)VYdnmH#rC1VV?Yn@MlB2KG@Qc!-cO@{GO|Qz0hyg zoIpNP^&VzQh4%nKUB>^%dY&ab2Xw)Kv{$sC)F1AV-3PSZ{-)~v%VCo9L&{k%{6@v^ zomwxVmhfdudR4Z)IhRT{9F)%-RB6`@E%tG;ee7sY`^6-?$h8~pA6xCyp;4lG>4HQ< zDwk?X=i5`cr3+@ZWZF_oldD=%{O-Sg16K9AKT*FvnP^P6C0o*`;Fg4amB_azbM1-N zWV$VC?PzOFW}{a8IrQMDKH1WesgD}79qoDlTaQ~nUB5a}-@H1}m`t|-sBiDgrV{O$ zmdv_TE@3ycuFAJ(*45|nA!i>Vd~Qj#Mfr47vc5fyJ#c(VwPxEp^QrczDb=29Nw=ok zQ6sJkpOdRHx%Q|v)oMf?Z6HJS)r%7T0dTIqIcHzjXFKh`*34RKQIMu1o0T+)#M*pY zHkWQ|Z#1z%(^z!XxGtA&Pni&@wzW~d9oo&AyzLpZ!f4l{!6sTFfp6L}*1)89COwO+Zd;6|E*SRh!I{$zsx2IcEnZ|}>r&HTiLxCon$q%(?b*eK_ zCci-qsTSz1AcsksP1UCx)Aa=mwG=R@wau)B|Ls3>hZeRC+AXpPv~Kz|bEfm@w#KLt zN?+ZWhL<;Xv=u%l5*_$rojHve1>d%{BwCVfO}Hh4dxtD%6(-wdeVCyon{02^B^_p! zJ1&IHrW>NhTxxyRrEKMYaI}^N!{8s8j`parv85y5j4H|;D__)zV5!!Q_SAagzPg~3 z`b=9x0kn6)yclM++(< zl*<_rk_swX3s)uDnNGDdm{7(Q|E2W5Rcx0MAkRztuf5*tYRYA!Y&x5o95uqgrjiu& z*3oA7K+}zuX4f|6ff*IPXi2xN)_+i6F4dN7P3b>eugP2Q06iod8oH7VT$OTm$wplG(FKHI?#j+YQJ+31OAtTzS+VO|G~F; zjSo>veRF1=1!d8H_!d!{$)N9CZTI+JfM$eTI)m=c(*4lqT&q##J6m1h`XBTNymoA} zU`W!MYRg-l`Z(k zB6j!{n73pQUoQDNxp#J53TC&q_y^dn2*GXeOn72C2TSHs>(XuZSvk``wP3_1iH1H} zv)~?nuW28eNF*%lhAfd?#1uiCQ}KUrngEh*AgL8}RLrs#uhu$rjP zpl?IyBbw?n&=3A!--tePooZi@Y)aQJ z?C|_1glBvEfy
    >G!?2~TDPgtd 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%0D+8<a6uorlr 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%0ABeQD(0<bAq=lrb^B8L62Ek0LDJAqS9*F5l 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%0D8wft{ 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%0D+s|OU@e<QO<#^kn@)tc<202 zyrB>ho}7Op>dc(aC2GZ-Luwu2-8s*_<;l5eU^_U>oL5cu<oqiS-u_LwoSU}G=lpbq zoMV{}Ye`6+UgjU?Bo$G(nYYa(X=L7elBD`c+I|Tb(vJI8fiO4B)b}Ap$O=j7;+>?- zzfcE|@FXcs)R{?o3pG|TNhOdvNO*UWvi|lY$u#gII4DUI(J%wOlJtiMZ?Ak%FXQ#H z%d~AK36f}-0m37?Wa&P$zJv|SX(#+%rm$(O`;x;ZcjC|~tIft?yRgQPI{dJ7pG`4) zjddmqk9D_%U#8)gq}h;H??aCKz$o0ezQ-@=0%<{bI?ZAU{)f82#8R1tfq4&i7We-E z!(6)L!5rqCKkzUYZL`oYH()cyt>CF(9xi+tP!(;r+&GQs763nHi%o?dL7@<Y?hy7n z4xru{97=%kyNH5P%|7rkRKBQC|3bxohR<%`u9Em7JldND<O&jh0YHmYI4o<V^BKV@ zf~t3c#9X)oe+A&)@FTd70H}8yhv5If@iPj%g8W=e6#yIEbp<%N1wOJBEs$^(THwJ{ zZAzbL-cjmF((OLc{93e`EwC<8D|FKWNOdE;y9EX-+!ZfFqiG-u9MVngPKl3CG*1dZ z<D@VshiTVreN!kC0gXJhtQY;Eza#8iSo?zP|4SM1!Nz4V+4n~QIg6k_!%%+_M+|@# zwQ=}Nj0Tfl{QO!lcfI!b%K*1uXB6u7!l8(uVJNiA!QntdovvUDp1kaFnwr8)pbsIt zp<7YN1imw{exCx+OVkL-a6XCj-AW?VH(GB)g%HluHv+^dufFjz>GJdqdk;}Y-ND{b z_@!?cLZb$E7;@4#0&={v_Bdh<*d%hoK=JdEB~yYcB2RrRL(pm1)m7vwAw8}>Cbqnm zEFHk^<!aJ%qK&(8p_kw2uDv`i>F&D5xVY9(Lq-H!agUtqnG1C3ebR6ss95(y+JOS) z98B<e!jMsP{qYyzgK~lAGbxRW+m2TZwFfS?v92i}3J<>_qxc1UeL=_1zYr`TXH0dY zN!<*Pf=b-#7+1vX{>o;kYiCXFF~oh5xO0Km#u+zr2TtQ?y*^rumx4ZI%ny*{<$CZ= z$Pn&-F4r^dhS~>q&vJd1s4{!t+i<$#a{XiBDTXwb>*-{Vmg^sqJwo1VxgLvVVkJ}V zhgC9x@m{Xy15O|g_j0|6IAporEL|s<>X%v)meI0YF9p{il5;QDGto26<$8-2T8@_M zlfgx@vz3a=7W_iNp{ZKxhz(k<uMs@#Se_6(jTzfL{Pu`L-cy*FI&%=A#;*dFdD@<A zw->`Z-}7eej-}e|{t+^li9W1rmvM<7qju?{(8(q`f)db&jQ!&rvP~C+eg!><aDH{s z1VS6(kl|;jQqcWc0;t*nhw~z9R_9Ej4gkS#G!811t`ZeN>Q%x|2T<=x9Lj+4n@<eN zKCr1LfA&LZ8laIh?y>-fAS+pQO!Uf>;FQC3!b}X(kHj4EN(^KCQ!s<Yp#$nZH;xjs z<P!=Kc%2x=js8>;b5>l-^+#gH1woP%lUfWJ!g&&-0t|H<DfcAi7m+m+^E^>2B&GmT zTM6$@ObIaV#5D6t%)8!+IU&G#$eM{+cdx{lPLxl~t-BHv9Ecm#+=&@ai8+QKqitfS z5+xKrog}7L-$esY`YCaedd(zgfIE62Uq?ixJLzGuf$zRnxPY;;HtwmZ>|0e@x0xct zbp#sdF+dP$1>Y7n`qmIGQ?u%~@Ndjz?YqN#2K+W$b1q_d%>jyJW<aJ!tM$au2H*jJ zQB%=~>vinb$xyXFv#BiNf2b&$0#doqP_Jv$am)r<U@ADG(wCXww*aGu3$r=)#*{sw zRJ~e{KtAUFv0&w*V~nt!eI*uokeBhngryyteJuHFtTYB;5mZ0HkDz?vx1vlxe7W9O zS0ChheuW&^WjGpCf+Fv%)UVI4Hi+4c)~9f@6Q4>7awL%Wy>4v6olOn0Ge9<6Q9sf1 zwz!+B!3c$O<Y&Q?bVh8_`IQ>jY(3uPc&#sFi>3Ks=-?mLn2?_NQ;f-gFVk$?g{N}L z=)oGJcMZD9O#{cEx5lX~FqV;~343r@ZiGFBmnfz-l*%(RXSlXOEpF}41(BMW@$g(c z3OhcPB#qv4jVUI+ry3YJ2ajwuC$469srk*Vh8aXnbFBvE^YCe-<d&^O?p+-ea<cRi zwUx<}K&0mt{)Myn7)^2;s*lc}+f;jcZ9sCy9(+#3y0mz<Wr=8@&lnAdEOj^ihFjl! z+@OdNmmbW)@M8H`IO(Z}xx%Tx5;YN{+$o{*4fxsni?9mFc3cr;Teo||f2Ixq_dq58 z^5K%@50h;hZh&+9pe%O;PY(lM^TPXnp=S+x?%e@}+Gk}65j;H(9^-|tB6xbNx|tU~ zUhwonwFf=;#QK7#I&k;O+QUNe8iXLe@6TlD;*RSg#ChLPI8Gxj{hCQF5xEx+s5BG3 zOMbw+;2#hm7<cGc1_*FJde(96iIJx4j|rM86>WbGUL}>hIhWi1w#!t{xRT4S&g}{H z$*A+KbXm8E0Mz+5YAm-2z{On#4)4RltPt|ALppi*SV(+AV@loqHr0oo5boGo56S)# zSn}@C;N%B{FMvnI4Q!<uW&=%W$2vdmaq)7Q2Ny73aKuA%Q&4OWe1A+OAEa|N-viL4 z(sD3FCC}pf)62v#&tsq&u13G$M4q1dNuI+T^&u08sGeZxRY1|PZL~9K;%y+(G1p2d z*hS2FCgePb<aZHf9vJX=cH$zaUT)2VU+6V3=AVz^6tYS;m?f{UQfBHyG^iK^9*hLJ z5J>DaM8BtpSgMMo8eRaZs>VyWukq_LRzBehUL(YJ!+-tEJf*&dbn=8DQ&q}O)b+<5 zLZ_TCe1w2_n65pZ{<uVSM^DmO{4;cr^yHi!nsnCb0R!rq_%tT<Ppq-*slrIHScZ5> zrT-sNmgQcI+5ZQly;vBzgU8pwaF`Mt$YcJ85Ytb%1P4-pzNfF@9`4Y<PhOyl*ObhZ z7J(G1zO_UEWbg%pQe!I4ky<od4_!r@n+wub<i@rHh43$M{(oCMs40xGV6(YE%>p$# zxUJ4ppiph=L758*hOUDmNvUZLDas)YT0aS%p5?Qf>iN0d)<^PDfeHLrQfx3ak-@*B zhjT3^7!>6jP>uGOlEk+$jr$T1p4HJ%DIn{%ClPpkzC|zMF#264)Le)0z@aLo3!}RM zZC@{bQ_%L0yn!R$z|UR)`Y?30gG1a@Q`)k&_n<8(Hv~<Uu5t^q{}H6-UFnP=k{WKy z!jM=(8B&gC+v)UCijW>ZYsQddVNZJzk7A{C=DVN^h3z|`87}KJjOas%PFd*!bzull zLvI7BJ8nXbO6jWK_B_B}g&OKBcuuM7X{T0x0Zf!S4fXp9s9vPhx4rf#M@*$WVh?d^ z4s=_5js#SPW@Tt|t=LB+-lq^v<`4Zo>KCCZc8UqcPBlvrA9Q3U`nprdG!=e}*?sBZ zk?`A=Nlnp?$G64H75?IK<Ye-QZg&X}=bJQC<a{?KNMm&K4)@cL>KP1%5=nh`_p)PK z85(ySNdLldpL!@f@-+%gP}qrrtt|>UM^WgC!gVV2MPcDFw4fB^&Ixhb3}BjkgS-EN z4|}fU)6f~-?@NsclccpE_K{$pMeL)5YL3eOS<v_hu`B?~dSdym0!v(&Af|xLd+bqh z4+*89BE|l?P^iyL*(m@9sdDlveqVp&TJiHfM(yjmnlwn&q)QR+Q#C0YRg<nVT@Jx_ z8Nw~LbEv1vzK7PJqHH#*w8~VMK3>ldh3lvDDIYHwl>BOvvw@N#!)5yoRk9zX>&Sr5 z*C<T?7KKw3*LNsfLLm(W+wUlRhC+BV(P3^ymco0R!r=m_(d~p<T`brFLGe8fxt>BX zx3Tt<TqF*yK~(`AgiLwzd}aVIC^5xQOQ6xYM!9FPdf@@(k6y!jCanf}RDfE=>rfFD zoofI|gYRfqu+J7nR55CyaR46HA8#vW{v$WIBLg0X8T1s`!-f)-pdKgCM<=QJx%|Y? zMS>=)`gyj#=$xa!rza+dfOmpz5Mb-llG%YHRsD%JdhYoIsMQwZl}V>%f;3xZ{U>c# z;UT}<7gp$8;~((yXKDb~L4C)a1bpxm`}itUv<Iw}{U*xHbxQrYwlui!t?V%pzVj9f zld?q>l)dX#_HRXH^KA1gDEqpCvOg;*t8xmSS)$(83j)gS8_<9{!Z<oUSvLdw3zB@A zK^<>+)kJwdl{S7J#<G3B%^~-Nu=#2os8;nmUUSIv&^})paq+mvO2dD@p;BiWO~>H8 zRwO)UB=H?bW34z}kBx)=KtG$5LolsxB3>-SSFPvsKpb(b1^5<de77mkxIp8dZHV$h zUH<ZIF4M&C>-#+TpS5F9RKEL(N6JlbYLvRj{w&&<@00}S*X78=aNV~<3W#=}wSBRl zH*BOz_3?4F=lfJs9sH^V6<O&f?!OvLKHjodMKASTI1hGi*%$T0w$GS%-DTX-3T$6w z-uKt%VMTMO$R2L_U+v*;`Cq-{b(!RU^^(_E75SW7{=Ap`dHYLnS=-lTl0WYyudyof zuv`9Hdz{<;w_ftPO!D7)$!jd)M-}P#zwna(!oIhUX<wH~{tGX8jYa%!`Om!a_nDWx zE|dIcUh*1?;dFQ`vbn`h^`g|{^>R>Q;XY+NNc?mQg9KGg1i#v%723U%n@|K-Uh)rs zxfxYvdiZI;+>|Oa{Sd+2oHYFX8N7)g2F)U0Ci~bh7>n{*VT=J%`3%PK=s66*525hI z1r$1=aPlV<(otA?3566Cre4O{hh%M20gd_vWA$7VmR&(%2?}XfQFsM~s=wmO9}P$U ziorrMxYIuSPkcVA+BKWHZ!aCTm0>Hv+98M%p!T4@Cgpeo0Y~&KOB5AK^;HTr+o8i2 z24LNFSc^en)^8}(Lt*L-6q=#1i3)8|SoAyEZ74Oh;QI_!Mxx6B)VK-yY7}--VIvAN z{;(;(Z7A4w;ZOufRizeI{{ijYSoRTH2&fs`Q4q%c3CYtad`N{~P_W)Y;ZGE5QNe)q zAt<QO9zbQl`UDbv2*5m|4@TiE6~++xHVRWwm_mgoP_X<(qSTf1A-ajJ0%#7j?KBE6 zQsEaAey75pDAfHM1p}gsP*C+Mp;QD>TNnzT5iJIV*nd!{hr(<sG(%xC722W@@h`;i zTW>fs(D@(qRh@O{(<F4mHR?82l#_5fd}>c$DtCiO;6xL85>Rxi2$_>IFP&2#;(a*V ze>7_ggLwkMt7KtF0|R~yd<|>@G#T^{`o~pY>K~;D#BkO93+Dz?KV~eAs<~iy(ryyC zXnd-42a_qiid5iBfUTXfK)>d@HU}3*lwDardkevp`O>HvZUBDr1JE`6DB$$>OLU`~ zfMMWY#E4nLG6_4By9FPF;SsA<6Q6iU@KrEu39m|P_#BL6@oP*<CEgS6EFPdRT1;aO z+FQH<v%U8}j}9^<;6b=$^mcyvAE2QDG+Vc^*zxgkm6{zuyweC8i<|P8b2p$$XC4Oc z2rW6ldVc`Id5kSDx7t-uaJZoYhv9=i0S`lUl8u7v9*1t^97U5$0mz0c@n4*YkIfmT zoMXs=SHKmOTm+tR1b#)}SGaY;Id1nahWZ^~b#mW19#Qi4R!sK~0OpWF?1(sXX{xGg z2iwJP;PXhmb!qABF^|Us+#0^{13iHw9{#=cH#U;Wp1=)v^C{ve+6&diEGUVt$R2fh zJF)J38Q;VJJ*xjH0?GJUfT-4GqTgKp-T0sS>-gA}<27NI{Z>D#{d`UK3#vjlmv^<% zKc=fMk*mCI>*S)Ns<3J`yl11rQw3>WyZj3B?J*xaUz>miYhAi?cKfLWzWx}rS(kn^ zyAeHQ?OaRBCs}dlSW{6DA|5&4jM}sr@s1*n?r=Yf7GKU$^o7Md0+T3@qoR{=8!f<q zP9pDpPC)w^R7G+568X>Y3JkQ#(Hk!(iu+dZ{|LUdviv6~>Vr|JPipG?P9dYcvY(MY zz?&9zsLeD33x9V#P<1)I4IX{OEqfWzjeW43bbd7ZHM|z^I`-0?ADzE~Ow!xRou3d_ zBigu>B0VwT{FGwFQxsC5d=*o^RKmNs&fzpHBvs5U`St(M!q|XeAq(4(11DQCEM(?6 z2jFHnt%ek}m<(UL3MOake5Jd68PquITXLYsrx)-)g2AT~3gLd}O+>W~0yG4WZ6pdC zsW1_RCQcM)qcEEa^HJE0LR>r1`v4T`^9^Om6dZlfF-!1R2ig}2o-P4m#91d*_tYIj zEzoRy`6FqA7r`E73ZY_D+T4i<tsN(%NVw3>_-D8rcg*Cp<K$TV&E&M><g^5wxLL%g zs_r@oqBmEy>fObnD0jyF(AS7wI1)I6;26~z&l=6-Dx~f2z-b}L=q;BTVbYjJm7%%} zZAfJnegVRbJ+w9+iF>Q8>=zCRzgRldqeD|1@Kq#oqF8+H1_b>K*L;O<v-bjNGGg)> zgu**0_>DxtHW7#T0J~~OOeaJ%B?9B*6LG*qbz4JDlJ8@|74_Cm0%`DF0x;mR2vC2) zSI2wv8Dvks?;`wfp_!evH`LwB?Uu%tXzi)xD-ofFI|1yTlq1)Un?j`)A+1LpG^W3A zsG<9eZ3lHdSUc@6Q7Q`o7_MW6RSi21&}l6l(U@(lZb!%vu~<NHt}=kR?{kC`MDT1n zmvpoe4oWC&`MDM7Afc;IDa3Z0jaLVt0$=Y%%IXB#)qM}+5O7KuD(djFo{CIlA&fs( zrx6T=<eABzU@Ba@krX}wUC|Y3+S6ae!vFR(Zl|#9g{pFnD0}$Vx~KDCl^Yp=He0|g z@@Zq!dw8zx&xj-p#c7RbO6$TsDPJ<9<*0cLvsh)A>B2o}6P(q<Oc(A+7YXKJrV9@< zF_qA>o)R_p>{;m9J@H<S(=^RaF~|kuO&H<V6#+rbFM>Yof-;R`5v+U)Z=6=<H*+|b zuoTu!!S|#3-)E?p8$}<h6?=zx?-8)1s2{v>va<JC*&)EqD5MqQVHw1nn~fF5A|RDd zK919a(2pjekQi)Np({|xsEkX5&}>@?;ALR##UlO)98~E$1-cBV6Zp`K5M*y<uOk&e z>maz>Xe!**r_BXWiEr-Nkz5)XfTdyMW9SZ};Q=ruCLjdvFL|BmG&9TwZ0(7Qe9nb- z8hpwCS2|V?Av|LzUDl;VgRT4Kg8x~T9~_D`6i>5@_+<Ss;JOnUD(7N5sk1J9YjE&X z$W`5{J83bzaz1bGX@e@Bd*?HsEevJ@USv1ud&YGMrojSk(rnxva6n_xp*t`2B)*)0 zFBqfwR~y{kqMnd!=(RS2c+<WEmI4P4#>}TJ%_Yq|&Cj>bLqgslm^N%cr-}X)St<}c zWN9`f8*f>nD~q^hp)8@|28}Yup&d-JyM<B4(oU!}%9Lp;?c29(BP#8^r9fTAGC=@p zo(V`38Kj_kQ{wRcFd>hDf31X!x@o!IRQ9<SL(4+~v^*sRRfpE8l>W}NF>@yfA8>wh zyP<Lxb)yASlik>Pb8hB(EaTRa<uF^zW^OHakPK()BdD@1%+=#Qz_*V<Y719eF<{+V zwsC7o4M%HfNc<m4YbhRVHI|?nx3l~j&~*pf!Tfb6DCbUTC?5_ECiB}Rf3cC!vdcc& z2MuLNGRm9n)G*>BU@;xH5&))#(GhUK*LO7x+PB5H=x!L!ZMyln8%Bx!C^YMav6($s zLYlc@Z03gXKEd2DHgm(cM3$mN57m=??Gf#H(j{j!j3TdwaUI&rH4J;HSHrN}5P<5v z8lonBd|?{b&j#azHe!bAz2$YYvTa8_gRMPC0A>jnpk*y7prZGqa{X&jAGW6L%|w-* z<SJ+=9B;s5`r&K8z8KMXNYEVqmCX_DBqt^xa3xxfIL}C>mJGHgm7ogFvc@k!ugh!8 zb5fQ22M3eVreZ3Ss`7$887ONP8g{kb+L1^w_xY3D7<vE>7%4LD1bbEDOG0y3;;;4< z(5Wj?>zq$Ixe`xuC2k;?EAb>(Vky~p!^?)bW$muSnL?zR*#_+%N0#nKk6bQfO8XHv zSy|ro!vEyK+YbqzCrErg9rwiN9N<c65{)fF=XRc2@{u9K6%$}iE!%l&u|}B{v7M)u zjRf;twVmgxK2@;Zrm5z97oCzKO7u=61bTdEw)qnbJmKuADih9}Xo%1xV(qF$GHH%n zX>9k0h~p}rho}b5zrk={bu4Iz>bD7KzpZrmln#67@Fg9-#UWz=4z^>uVFuGlmZ`av zG~Z{mzzfv<{v;*`o>n>ut$txB#0853)j>y&`E*H6f>KmKm2TR-yC{lnJSxJ$RbV5= zc$I7nfL6cJbeKW<#|cZm*6+SHA;WmURF8#nG`b`e`X)4FKz9)-{s@4ocIAvx=S3!f zIu3r$R>mpfI7?Q4ql4ud(4k>C=0p5pWYsSk080;%EMe5*pR<=yg&5j`!LKJBhTx#$ z0=fq=Jp)8)efowKK0oBis29ER&oNE3Q9~py%rVN+OM<QeWR4cM%~Gi~mE{p}ohS>1 zGMg!H2!#}_5tC5nIPN6@12*QyMjkC!BE@)pc2uc9AjeCWW--_Uh!-j?UC1>(P(BV` z`%Q6>nxOrT0K9gw_mQx<r>rz+8J>D5n3h;?h(6B+g~ykp3#CTaE=7_J*Umu9TD+AN zU7NPD2EYlul@(o^x3XdZ(_K@LAox>)Uk(IZtu}3l<;G!<=#&L}F||u_(60#|TpRS* z+O)OxX$`vypDjajB?<X{7!AbPb84;H*#q#ga_|JwCUdRYw13|q-mdu5kn=>$^c{3w z_rR4$plKBN_|uSpy90iWU>dIglWEeExJY!offWNyYrML}&WxbL#iOS^9#K^1ASxcw zj=oP#fV`hqt2SMgr~?=~T2*OBi=&u>D7q1oj)JaY<ao)@m4sy^qncdvLuy?0$lnae z8?Fa~FmO#CKZ>wa0b9TqHgVDff~f-25}+2;RrM(S>jC+4x>vIf*av4}J#yMn3-Pyg zBK|e?Xiw@V!2Y=~5(5*uPPWvG$KrljA{e``ha+3-Q6e3+VS*;1)NKrB0=BOC9f~w; zsRQ~j+HL)ijXnz4@{TmQAXlt%Rnol;&D64A@LQ1Zvx1*U`#E~SS#y?}t!AnCeDi0_ z_6Cw_<149Q%JGvlThii@CCPH^<rIl5-e-WATexFBP>&kJoA4RiCRAlpu~EFP9xdp9 zAf(D}It3e-VNHU2=&{4xBE#FvpoBkJ3hLhP(INFGOHIbg5T;*hcoW?&!<tY!!|GD{ zUI#v`3Dt9Rg1KFWH6d3X0j%(`(%XN-Y}=+K(iG!?q@Uqx5sW@bA1eiw%+7&8w8>UO zbLm?_Qrk79Hgkv=PK%x}lY#DD5C)?jnZ$*|aagLR{+Lc~sSl&+h*N$2GhAt%KS7&t zw4xw_g=+2~;G<FSDr_>*sZ<jh`P?PduN7&VLl*Fgb6k;3^P}z`-0BM04t~Ri)qQRw zgdIDvp~+x895ykP08)B@l)^+P%T`Zfm2{CaZSy(A63OTvMP*gD$_GQ>8L89^6CuY+ zBU$Ns0@1c3IWAj$ZK4Y6N(6*U{h{!;1|x2Z@>*`?hfL*~;Ymoa@*1rC5UYdfnk-(q z0eXi2w>sv2h-fRMWrlG?3Vt>4)TVK-8*JBr?RuQT7@@at+YSho!0NHF8PLwQHTV-i zmG)pCWTpix=qCzlx)n?}6|`Uly^}?O2B#8;%(URlybLICGD1mjMJbO>ArMug!FB-g zF}SMmwhM>)xEPCY8~Y5#@TGUqsV<F&$6~j?3+pm^2V(H(#`q6e(Zgtasl8dzGEqc# zGSJU(#fMSYL?=bRLLdyPdb6suhHwkY`Y`QjK#tc%0p;7A&6~Wm8xI~81(DK}Xc}ib zlTwV<K+<5j9+E1}XC=7CMNk9I-Jp9vHUao&xMrFX<09zl^}tk;DE<HvFS10LNTj<Z zHklGHvP4iLNDOSBjScY(vf1(^VEhKT1yb&_s#G|o>92x6rrBb!-%o@|O>t-=G8rP1 zcYhRpc1;U>3xVj098sSPw5Yrkis?2vK;3f3vk36_U65-)nvH%nyTVF0;>qIdtTP?y zMvgXVY&z0|*t5uyl#Mz+1>n!?p`BpnH^Cf4*cgvt=<PRVE==?x6UA)8H(X-vLng}H zCi=Ne<co<iGSN?)VCJDsXv_O<6T7hYl9xp$VyjUdk1<VTk%^6v(&-%PHc=ubGQpoW zRGVPtYE5a$4s3-e`i@5wqsc@*n>cKm7)>TdKuVh!>oyVlwoX(LnHZ~0F!OOTLD=#p z5`J5YG5KUX=__R$n<Fs(XD>z%IT=sGdt5WLd7ht7#}E4!!#H5Q<|>V+`=rhi%xkVQ z@if77Yz}x!f5@L@txEv&LPdjDiM(hDjA}T(1>l!)Zkc*6o&wDQOe>D_@wDRD3CKUV zx}jFXE9=5;7yz!a)yOpTy-#GCpv+U>qfH*iCP7k{Gm!(QVbz+K$BC2#dFF)MP|e*S zkCM=X6h9+OqL?;`(5AjAK!wjFB^mI@a6M941ZR@qd<g2=nB}gGLeY~8{=8YbHkkP~ zn1cvgzBUH-#ny1%lVqaoE<e|p=AI;T_ou_pzl4cGK&;|t-)c~@h?EqvpSDQxa}f#7 zgrN5GIk%s|n{=xwAwQqfelqh_Fb5H~yr2D6^+75M$%KlbR6J&yC?pe2Tbd?bbDPK# z6Di=&drg~Q=C{BcMA!-@a(W|*4P+vVO&l~$Y#<ZY-6r04n<x?!1!UrFZGxGHwSo!4 zRxlAc940oCiDEWUKS~m{nM}M5DV?aTZWHPqov1Q0u~nO3=IX6sg0SUH3~YclnfD2) z>wHR&zqG!gpW!Mp%`yEkXwc@0$sCWr-9)C17EyV{+9V4ULLj;#hu8SK8+817{Ep|b zIxoj^Osx}jp1ZYfiVK>42NH=Jg^7~kX;Vq#5XV7^BQ};Qd}I|#72}$>F@68S?R%!A zs*~ya7ut6gm<NIAiX7!r*X7@_cq!;}<hL;w*4kjE(xB=|)=Q<IdxH5GSf6P)yb0}z z7llqCdg4fa1{HUdsyvh9m{nEcI7+dVLU67@o8oy#>D0^Ut!v~PimDGyL`4;&`lc;3 z=*U<_n+!x&k*i!}(SGmhM$}9)qwDNAIkf=Ncz`1B1OXcf7^U*QC*Uvuj6vV$!~b)H z$Y=jsMT`IE$p89n-Tt5R_Wy$0|4gy%u9XW0G-&@>#UiMPuE<s1|MmCu{}MU%4W!Bc zp9#1{0Q|p9K-K%%|7L~o{{|t7*#Cb`|8J20Gr%PIzv1owO}GDLV!I<W&@b=iF1P=z z;sjJgSL7=1{{uxj|FpACKb`+u<W!Az+JFAIX$Jz}|6fEI2>>gww?BjbR^G%rCLLuV z@btr1s;lW$9vCQ^eGm!b#$+`pnmX-q`phdVyFmd}qXzYzXrXpazdXCK0&4j4wxVY; z<f1F`d3E#^pyMWudOy$~?s?*)Qs0vrUKQ!j7#;%~Zhg=5WAB|Ec%IF3GL!*GB|Rb< zs3WP`tEOX8{-+jA!-IryR8$+TAFE@P&?yVE{6DoQJ=37T$*X{WYSAiS55c^1qcsF~ zlw5$Ha?u&ElUE5EeiATE`~R`M!vu{nA$un*0!q<bN??@k;xQ5_y$gV@G~|9P2`q`^ zj&<qVa{@=JRBIwRv=LNmtC^r`*!ckF%g-eaYIXX=9-CQlKkB^k_EjCy{42EaZ5z0s zq1Q&tbfKK2;5Zuj`ou^jhjJy?hhAN&_i?2*qe?B17M1~ty!#AYnVNq!_=5;vu1(?` zb1>>YitRKKhaT``+q4<QHZQqtR%M&L$YxWKN)oBOs$y5mH13Q>RFTK45#@u9U+v1+ zfJl9!7NudPX#B|S$L?6O)}P>75AR~u`V(C1LkQ+te}e0A6W}n^s)lX@q6(VJw7Ff8 zxTy|Uo5#ASVxMBWr$MoNF2*U{vtgE&ayVzTobkfH=!O4N@Kks2c<_$E)4FyEFFI8G zU#($w6`M7p;;bryTe3z(a4TNL@kDSetJvRI+6L1lc)FTBjo{|Dnp-qJr?~?i<}+r= z<)-pO4KrPzv8|!q%yfOm>fa@pO=zjO?q(<Xj8%>YtUHN@cLJtPvYTzx@1Z-1hMocB zUkI~DV3cyXmpyFspxH_G)-pSZ?iTylrN=?1I?>PxK*3bW+qdHsnSM18(t%oIq0=V- ziE5sSiwqVN##7-IIM<?(as`EyQaT*N!LmoBX&lLbsLnfeIPB3oCQ6O`h?)h(zI4%? z=WRsfE48+z1#^7pDKp*{&lXLz_?zd}q%66Dr*)^x3%^b9G%fCM<4wz5#WHC#+k*XF zL2~y`Xfzxn#s<!B24Xi{9c!9(xPcS)J>t~^-3G41e+lL~)KWP;%{tt`by%&JS%(__ z5ir%^+iYXuL%I$%bPJHKoK0-&T5nxB8cKK=5GwW^uGp^t>Cx{Ucg1qm4cnosE|;qA z!&<TMpR2BZAE~-2RG_N+6oraaH&&#n>TbqUns}?oakgTmxunwch5V_C>x?eJSgMK& zs)OdRE-LItyc6AIW<QLp@jTuYbE4k?D{YYgNrR7XUvped@QkaaGOm_EA}>M4H_bl- z{6T~-KdyFJ_99llD``fs9)pF(nWr)NtRxG(pj^rGZcj3<O7%$bB&IL=8Ll?9kh@Pn z+70DC2T=G2g``Abq%9gtvH;XhY9;7)g{Et1=Y?<Wg`XsNI?e9mh0hl}om7tZ!Y>j$ zo&7!Sh2J1}I?Y|>g<p9_M?ubQ_284<7ChN)`H286uS>zw=&Tka@>MUfj)EsMmL6VA zp~wyOA&T`;!ISTGJ$T1>!ISU8t6J^;05^poz1D5uY%_8ABsF0qtq7<(CXA$tiJ?!x zOc)swLJ!=JQ4_`z`{Dt16}b)~)u)~U^$l8<;0wtCckrvSI_eo*rqRfM!Kf-HPbPKG zle)<RDYQ;hnX&QIrDGCNt=$2x0L7;t3Ihk()h;6w)bMA-=cbUMp99PRuLzQds}Irg zf&b(^y^5r!gC=gr<FkYxnA8(5zI2j%vF~dR^Xv_ebwXJU+?E1{xlbvz0cN8poTmIC z#;8Z(=yD@28wv(yiEx2-18yII@J!m6X*!UEjfbnB_l2fG^t_ePE6X|BP^M5ZB59iK z69LpBC=DXmZxo<<6L1Kw31}t?^vmuSX;BmLPL`c|*f1}58Lod|ulI{cAgHud=4XH2 zcpb1m!<KWDSM*dqQhynE<VW1`bcU+SDZ~IbaY1dI)Y8Eu`3ouiT(pTY&*k`AB@^d8 zPu$j`UG<rBHNWS3;=EU}Qo=8Hq+zIuyjNm0@LdLE_7~4vRQf|kgxEGOuNki2peQ<4 z(6~m$ze?Xd0rrOtZKd$RRK~8ho_d?nWab;H5tSAci~A*WEfiNhQL=)WDd=%^F>Z~@ zCI&hwxebx9;nRi@JRaL;9R_1eU)3Hr%;wRfg=#5aY$4kwSm-6^`v8TfiB7DA`1ed5 ztNyqQMCdi#UhmB2Piz3qZ{!Zo7D23L`1b%@vDTOZXXml)e@XioVS+FG`v%&r^ub5l zQ_K{bg&4yZ2$#7nR-aVSqrJ8T%+(HD(TjyiH*0iZy2v98Bft>g5(cxgE4!(8AD;HI zzb53DQ60GCEzq7ciy91b=tQ_5+y0TDNkU~0f!paTj9_V<cp!p*c!@$is|q*KW>eY^ zHM&|~m1=#fe6_x6P_-_kkfW=LPP5UK7p%}8wBRNZR83aBf=`$i@!XY(zGS%mf-}xN zXjs7ZdJ)eGfRArA1Wac`M~0x%N8zaomRUTMr*(l+hoOPcZQlYvM{q<U;17%gXd;$u zEbQ`OW)+NBxy>Hs;JSjK8|zVy>RrIfzXY87D{ux4FVDFIu(Ax1_$mJvAfYRbY5}+0 zej-Gw1+zAvGTI(Ni_cE7s+c#i!5egm?%r=SB3lLV`F^7b!&J~^8u?<j-Uj(1b(qMm z#7=Gpl~GTNq3#t_#+|sb#$Wkz2yT#O{1x4~XKg)=52;@?euivgkFNh0tC5?*?q{b% zFdeGUp(YM0vINKfzfN?bKw}fAeoO0P#>fSD4VkMs69voC$81mIf5-^j=3aopODOnf zg1Z@bZC?SigGi@Pc<wQzJN!S%XrOMvY6SRdZU@<Ejg4*0$knzzfZr!}{{pCb3oQ4F zr{%*R>A~7DTnf}1P)&Z;y^os1n>|EmG(cIp2=H<;K1c|)v?yEpn8A-g*hig*Mf`XP z{DjeZGb*pKkt-s}OrxQ$V*_~0)zO$6^0)BR>K_m8rVQ5@X;&?0iCD`8QgE!00_Bt1 z(&JE=U2OwuIM&BBZF-H5hQdhVMDa*O42;dSR}aH0L;CZ>)+V`%+qDnLHJTiSqXS&A z&k`-<H!eTtZ^FR-EDz&_rf+Tq*{Ul#^-{}Xkuj?Y4{Rr69$b+D*`+Ltc`)tSTrgkb zhxp56qBd_YF<fszAZ!HDmt#FT8=g3KyU?GnvG_K?{C%<X>lXU(R2krKQ;9hREQSjH zz8IM9H3b08Q$XMU#5(dyyZ@+G{9)%j?MgE^{1bclvV`QBsIQBMKe2~lqp)52nlMqc z9%UE`@b;3hFX8=}kYer&B`M}ucP1pPFYY{nv>xlugwRst6TmvYb0HL8!_j~rz#Vhx z=b1hOaQOBL`JV-)I^J_3_l);k2*>MR1|MDmGtXe@7g*zNXhd78B`>2$zs%UCV=!ZF zl&E5*o_WR+hOuD44-fj?MrHmM68o|4R4awoaP4bohWZ<ax&#tB)Zf^|uYh%^zjLTP z#+sqtWcob7;q^qVS+ygfREPTey+i$7hZ^2P1kH*2ISA^o|77hupdD8Y-C_U3*ec@? zcA<zyl?z)lWP$;|Wybygp;qmo`A}fET&W24OfSYzElvcN4$TotwRjA0cyWbL8bL^h z;t0KGtvN#VLS<itQ2IkqhvFAX)|}%hlp+d+-r$n%Wb7DVgUa0TY2+G0szh+o;zKyU zBYFJN&bCBVR$}Qgv1u+=(2*O#Dt*~6J(yz(%t5M5HnVzkJi+&lCs@a$YR`HA_hqf+ zm67^HHyeGVVR9(!=+`r8juhC@uV>QmD8Q8{*FJBs1|!q%6eUy*xH+f(Bsdu!8Y@`y zLIJL`HHPYct|IVo4)Qgq(jismkgU0=CR5A|>3jI2!>WAmuqsP6C5k<>#VJ_R)fC0n zT0pysP7$tJoN}xJxyq_A$IIY|ZY>OvCIhV_(=|g0F|-qgFq46+QZxAENmUN|6FI2P zTC;@TQ<X=^Gp@>5j=K(|qD?k4ZXI*%y<?7*s$6Y!c^>IZ2+b8Eo@5_uf@D9@0d6F) z8{J?;8%<=Rn*fKKVy4kf5YmPd?`=3yl08-InaLgpL7nV6Z0#H+B068V$|t)nbF`m; zpq~?l^2yc=Gl*fiFqBWWW+(y!{nF?One+y%wMh6q$!^)yOm+&#eU#LiY-Zd#=9GKK zoFd77$2fs|S<**_(!`j8PK+D7+{#C@@;^wq`aoMRuYB~qm5&zXX&dmmz4SpGM2aZz zbjlNCXXi3B#KCMmX(AQ~X~ISks@j9BhMLrnKLuATN${LPzSs<nfj+J(977@Rtb@&V zfnNdKi<tIQ$ls(!hLu0cT8%$+a}0dZ6?p=)Raz{Q11F(P9TXL2(|8(cE72)iT0Aou znaXbRQ2y}iP?C#k)FzCy2h)*>CY*^(39$}w;b*v_o12+vrt5)Bj;xq*FzG67aqq0R z&{?++@J?Zqu4`d9C$u{ZW$EgLp0Ht94CRC_z{ENNwsbAzvF+mo4?KkqIDv)YCSw&{ z0Lf>`$p;=nbxjVXyG&+-VEy<yv`=C9OTfy0SrWzdmo~o?dbWhpeXEyb-p_y|^fO#v zK%qWG+roM2IRy%ubn1c|qq6uVZzb%nwFTHdsb?{<&w$O@2B{aW6C}3PC`5mp9IbG_ zsNs4t4Vyajj+DvKbi)7WRJ*FNZXwYL>^BYIC(TT1>~w7T(7-jhI-UQ2MBqDJ0LBn= z<P3oKVP&kr`2?=CncyD)!xwKZ-!-<tVcss8T)n~+%-bcCtLt@B3S2!0R(@IQ<Ww>? zZ6;>YeBk*#q#E}Va5(uW0=7QF(%g-RJLPe-+pI0xcnBvIS59f*p3L;=pa<j$-Ov|n zps5U+2D&vhCQUAI24&VU?K18ba99BpxUn^fv%xIr>~Mids6t-hqA93;UCHX}#8CnP z!?l?Va8lP%QVSqve_32vh+7<0_La(b2DZ0RB*-SLk(x#Obkz5wKO@DxjoKJ3PC(ZA z`dK#|IvZ~#c(<t=HhS_mj3@WuPe|e$#-_@0LlwvsDuXv}facmz+2^nppFGqk6MsCr zWclzX@gG4`V?@~egasY&{yoI9d=6ws8vP_M>F!t_Z;2BXj%6grVmz!P(NI@J;^as) zJP)vrWwgW+ZmKk634=l&1SXHZcRZtYJmHhX7jqw`841#WH941uQ#{leKBofDKsQgG z=IO1XpAjDOOhxOMpy~Z-Wi$gXTbMk>ST2m?+`)&mHY;)pvwuwCaz$#`e~uZxhT8+S za?hK_{L2XDuBYKG1asfh@Gk^&8=KDQYMhVGxKi9O6V|?!nXu{iPS|uw*oPu`pZLEB zg1p@}c`kd?7uusg7AA8h<`u6n%m4#66}}J_bDlcy)-#Xwyh?h$5~g4=ruArsqhJU) zBMfM3d|xmY*mdP(YVuR8=MS(2We}2kyhgTpf_vt(MoVm=wO;C%54zzhL`Cr1QCcte zvy4Sk1sC3qBG6ZWnh{I2Pxahf1fkY1`B@L*6u<Rr4w9(<B#aTBSC*~U>aS%38Qofh z%<+f45r$8}K);++#0gEtYeuy#c$Lh3G#})OpxLkt*K5W%*!Z66N7VegsQuo>IpG+- zHLR4Qif?08$>WBrF<U#r##z|1JGbhJiD-hY&8`CQuH|~;m4_i7Zxo2)PV5<tH;bSr z{CPpw6!dH$Io2@=obBwnNI)<i-R1ZMIUh(&c?U)Ii>4UYRvN3?z>v*CQB=RE6X1z4 zZRH$LTlms+TuZ3f+u<LsCuE?<<epW;LFElFQ0c;4NTf6DXU*t}O2H5N)ni&R?ho(; zj#6V<vCaYW0F5`HS%CO$M{C7Y1|k^qpzjFi<|h<j=MiYT4nBU;4=}wet>IIE=?MkE z^y0PNfVH9>q9~UX_4IwWf}*J;NRJGPqHPrveNT!Ui$qE5O0<*NJ8+7csA~Ae*7S|7 z)fg4fz&C)lOHv=Rs4@LHs_#Xh8^=zS_Ci}^ir#_^4$5@O(-=!8PGpJqum?2@a3#*< zKwsj;YgL1<;Hk48MN<*^Kgc%+B%O%<oQSOu<3}~b@JWI>5&ikaJa+)&hW?*)wQfWs znGX%rNvEPA#0g&Cwn9Oy1C?)EF;u@AeK5ffrpq>EFphcdek*-6VFHj8L5=x#ybOmy zdYR3<XR%1RG{FKYwUvNHSa;B>Y}ydg&}RwmgBqr$4JF#TrJ((Y7url4Mqria?dp*h z*bkrf$DR*$fAEh@!uN$>FKTomR2(N2g)btAmKTLXwVHVYJ9WStuYk{&P5Bvw@SXe= zWSo3~$=AT#J<T8S0?*z#c$+bV9d{Vyc?iek;HNItt40<E!f6iHWJI*X_N^B=)=MnH zOWpq$^OgO2!BM|Q=`flOQ|Ry{9iGDhmlr9J0t9ZjPQtFwCV)R9XrJvUY<vlY&rz7L z0$ajgq0nL_3O}HbLxrDFScigtF%&F<`2TIK<*n^9C0M?a5>@>N5Jcnf+6Kgm0Z>n6 zf9Mz8hKS9++#A^71*mHV-e;tyzZ$$l>tBe#=x4Ytx5payz$F7jDjF}_Ri82xstD&0 z&8ViYe;3%~q2N2<QYs64L1hRk$~O;+A0^yb;Ouooj-Iu*q<aCQNV}efEIqvNPYC{T z^oT4k{7MhMW1<(HbbuFA<V?YubH*`9@Va&SyR?Gr`3h2#xU#$`<&cJkBk*^=u>}`w zr$1u!`>(N5?fTGrCNt|(Mepc<J~aiXy09||dfE?H?fOx#uq^EzMU7WO7ePuMr`q)= zz8DvPX{z0TCc^-|3ShbbGgsk7IiHCmlc3u$hS--r@P}_*WjQVAy{=gGf;WlcT-sa3 zm3^$M>}_wNvhR}W)i<}C$3qNN=NS}1K1WceBhJpI5N?x?q4vN5YZI(xsy=OycTHCV zo}K|24bLI?yZv~torYfnZ2w*6quWTUJ)k%mLE$1O09AYP9o&r(Y9VtepUBw2WNJ~5 zY15$J!c9xZp(-g|m{@v&v3M;KxQwKW*x5#%Xb8hKrgqEdIl_=a3}N(KLc3*j$>}&i z%Iotaux1V3YqNJIs!dduLPNV93DDqk4(NYD_xTQmM_)q&C8D3}aU9ms;T<|`qeC$r z4$$FiI-I1#c{*Idp~X!c&Wirg5|^KI7GGAk@A*sz%!#l4Oar_wYN`*pRw9Ik?o3RB zS7AelK6Q*zN8yp<iZD@<sD>xT;xRkp@*1?i&r&4EYzIncDO1miRDDwfMHxc%ECL$% zc1E@a4##!K8I>{1;RY}58jZ{J!{u=ZwjVZC&4?trW$6g}1H!}ZFE_sOg>bb@K{~Y@ z1gk$_#r?V@S&byoX$~15<NleM4Kl@#25#PdU%qarnN6vC#5SPrqq<;B8PN&cj7)tU zb5O)i+;-S>M|+D}OQ8Q55}~)9M65;i(f~fQIe`lRMkUsPY>UUB@K1p4PW*w#E3fE* zE)y1Jj=Tu>qL$oGI_QlPh3jyadhsN(unu5AePPC`fZk!$)6bgfe&tyo($-!WVkL-~ zLz{Olr}2vl8VBE{v9enu`!`b<^2xu+PnXwrtAe&y?$WmZ)dX=R?ng=Ro6x~c1V_98 zwn$zsq~iV%hW+IkK5{cu+NC?|&*d3LMq$>bUqA<8AocoPD!2htHTnEEd`Wh$od&Za zuE=(%NGA<<z*6<rd;`nE2~$-2r|gSg#o8O7{YQy~8&nfjfaES^6{W1=X}5}{tYW#T zVmYfgO)AcpQ!xx}BqqV{|6%Mq1EZ*-wr6H{GrQ@H9w0P9>e8etK|)m_Q~?!2=sg0` zO8^y7(0~QS009f22vJZ`5rYM=AfXCKi6USFg9Wgl-}BruJ6V0-_sfsT>Gzy->)g3B zOE2Q_kr6Ym-fiec*`)FHV{1Jg)r=cXlrFsu)I%4m)(-HYb(0Nn5!^b0yNB2aqw0+T z_R5<!0-J7Btt*T#2j;mx3L{xPA^Rn8-<J1f>W*MIuK%<0i|x67#6{TvnG@r#;41ux zc?x|jR2rB{#2;2<w_`ZV2Ak`#!7rh;^Bat_Q@E<R>18zUV{ZekLggZ$jV2qjt5USW zCh%&Fg5gv~b_8e#+WK0RkcMo`uKN+Pf!}D5*2ljh^+i!vfJlvq4`dYC)CgX6Yc$^M z(pU{dYIIT>`P8U?BT9A3*zMNnu>~5waY~xG@U2n^vt(q~nTyyW>AzWGPHvKAq<?1) z#LbGi3pP_H6J@Na6NUu|QxLEN&S*vOL>^`VsQw^S6Go%I%Jtz`2bylAUo<bF5hl#g zkWph_eKgfk9#LNA9Vl;zMpI!;G7^Rw>0^Wl?T!^YgbC9is6j|7a5|{tJelx5Vfv8a zAs7;xoaG|Juq68*>4=Ur-g8#DCn2Lo+zPnY)60rCcPRIIdg(3QlTgAi6x!R%?v*eM zR0SgNK3*m(VJ!F>1Yd$ijT?uXMtZFLIP=Kv2%X(D);Gs%A?rwWtWTsp3r@!RD8T&2 z`&f7a(yySbCPsRKFp@CL1wuekkun9b(i{*4D0t$q5Is9&BD=Ykz~bu*1XrUH=Bo5X zA|`y`5DvqiMKT$^HH1$Kr!SUaXQ9F$_KLd5nvSF^_+CPyxl9fTOb!Xis(8f9s_?(O z%QDg>%vPfzG)f5?&AVXYNna_3uOcz_oE?j?XL1nntrQ7dg7%*@8Rf6^u{(Dwz=)E? ztmTQUHGK^qQ_9LhuoADE#Rei_&$8#|#bhz95`S<jWrsPkF<E$HUGbJ~gI!dWlzjVj zj8rr6tXAQ9Z-MLBedQfujWx4;A&%GbL!?UB^K%+n#wy|7f?W_r6-un)`@qI%tle&4 zXl9c4%N}6kW@@z8UZAXT$^Am2$cn@-eFnCud5Pcuxf+xef7Jo-k>=GRhc_Q224#t6 z9VH6?CA#()ba(HE&uc_Iym|uoXVVe9#JwkhA0(bHW{}CiV}=Yv91=f%ieEcJ<CiEt zjy4Zd7D|&i-wBC9<*)Uz)r=vAC?!_57^d5{MbQ#(`W3jh8|mwO9B3{OWB+;1#|HfS z*F@21pBJ5I+XaCl42ciI+=1HG=thac4axqhglwclqVs=7$*)yLP!b<_1^B5ez+VvG zZyItH_^591OyVimd`A0?uYo_^{{&uZn_{Hj=P%wTmwydfT>@i)|MXW1U(0c4o<HIn zg}1&AL$myks~N39*XJOA&VKMGjP3Yq{}IOU^g;gk3=G-XyQPv5gwDl?^gdW<F9dxL zJcyVMAn|tq;{fCn$O7;ofH=x~9|gAa58MYo4PfYB0M-GhejUIj00RiT0igZg*kD?S zp-Pulz|#IQm-a?!8$h29fr!-r-XZV=fJXnI5Q+t=`0%mJ+PnmLX~oN}yxfM1*tUA= zu#6$t7*>y&6=5|njuNwZS%QoGh7#eYxUnjVSaxh~M2&bXysXLCbc}BkfnSkPBAK*u z+`OGu_EXn`%HyB=BbGuVQ899<am1WUjYwFshy90!Z@#j>%))}(u-;OMXIfr@rn3|@ zTN~C7F6N$aX8AobTxxz3&g|%7;z&_xvy)uRD&fpmT+HTz*$1xpY95rONw-D5|5B2L zj62bO9l~OF41?y~2<;P8o!H$2&TYbfh;w%gxY#B%A`H9iUTIcUh&7Lu;Z#e{2!8sg z2JVI8gV_DMMG4~tG9$f;?dgk+Y7BEL#h|wq=HkeSL1(?o;*58kCETHu=s1!qz8Ea3 z?Wkg;(b`@1EwqO5WToim)lI10jPA%kUE^Fm$8&*m$H&s^Y^pA`oA*QeJqdb$Xhj?Z zum?aKx!&`@Zn7c_ZwY{M9sqv;=l~$#!`i?bkINd8D*^bPKy3g`y#Sg3=ttld080pT z1<)=6Kwkje?Fb{D6PNa;nBGkEB*B~Hhx`#n@=jdhNKO8g=#T&|D|o3EiOXHQ9KZ!D zz4a;}Cdoc`HdNKj7@k?lg0eo9jQFM~XobBS1u@w&V<}M)M#2z{#Ze}PE32+zWi=dJ zpcoh>eo5d^mgtaZva=la7sOGu-Nd@>h8SQN`6adp7#!ll?`7ps1|9PI2i=K!m<9TI zh(z2AASD(VAlLf<uwKBtxd2k*06Yue&V&e~<_iGu(Z_i;3k0xfp0!=sT{71++QTS2 zrTRwThIxkliHl8^`fTJTJl8WSUq+2g`b;KDUeV%j^S=o*xG70r>)~4MZIqi5F2y<M zIS=QcGhpLOHtElMxIk=@C<5l-^t&>g%YcXZf2L8V%_b$G&F;8Vy3JyYm*ZLmHEk49 zb-2Glf46E^s`d*Tt{9H!DQ%Q$2~|h<N0m}tPSs;!rOwu>_bAm=JQqkG>0blY1jk`} zQdo(Twb~q|mO-^q{u8B2+{+Sk!c^yIRr{#SdJa_w`^yY)$C;1})gzdc`B$o2GrP5w zY5`R<{TZcH2U2xUn5vVa&PuhIszdyblu~_;sxe`MiIbwyN;SSYRI~i=L)Dd{Em$JB zofUEZgElt#3mIn`)&8>Y8HhN!Y}xPSvi~@WWOG|7ZVf7wK{ucv8`S}E*U=lKUTmv# zm7Q{;7_`+dy`gscEu>PyB|_~qrY!or(@tq1o;N(Vosh0&)3q`FdYR~!XF-1);t|IH zJX;>XJ^(!`a-4*i_Y$!3Dd?8h0L-caz(N=!QUSyOc$GkT0F$Z#r~%-%>Hr!5c(De6 zmH;N!0+0@%Wo`883;=wi*n1a%`8Q&$<P`FxaxEVx0@7>yn%#x5vRpklK|*pHK=vz2 zq|}5FJr1?<r3|Zxx*dI4)Exwk<R@r=)Z|Y9AqgCn2P)}!934sT@7qY}i<G{pKBP%a zo(Cw|+W?n4csa;RwT8HC#RX<Kvll2cX*4s)_sZRBsg&3VDdbY=K>}PV{Q)43V*ejY zr7miS&!^R6W_wr-Un&h!BBf^L&@xH0i)i7vIgS>%O!D<t%T4w!IegrsC`L<&9x+!_ zRIHB*U7{RE+5LSjU9%4ij7RN#by6liNCQKCv+h9-9s+$s5TVZnu(&ZoC)c|i*qA10 z2YCQ?HU+RAz{kx1Yy~i=Ie>QoRJaMiUI5P$I1FHP3joCc5?ccJ5x`Rft^n}0iZEKR zP8Xe$j+D@mE#Bn0U?gwDC61KjyITV-*9MnOyo|(S_2jslahZk-|HNpz^^7!<)(S?Z z_+CLY$<IQ-t`;_kI-}tsrIAgI`+R4paex}f!xAV4dkzl%Vp&E$HKzGG41$Jz3q0wJ zOB|`m^8twgpuCcG4FJg{V5WpKlFPJ<FuFK#Ojm^$v5ZXLeJtZyNZ7CchgX$3zTT|@ zyh$VjLroLk%hWnRt)>4{^ve~)XpM4O`A&&g(xCB4n1(aeol=Y-HE#694MrI^Q=^Q! z_0c0gGb}uNK+PtNv}av?9jP^$T3f=V8mF9bzsRvUn*&0IZyGh8qQ>Wn;V#D-uEv!( z^wqTxMT=MOO5@$bU+3}_>Yg013~PasOh?YP3rW6MWt~#w#*vnBR2o2+;mr%CA*-<( zD5!MF;o_Z77d;LmF*};r4E9aM_YkWa_C4x;k!BsHJVqiGGbh8_M}7bOuoIdjK10YU z;ZmVV;{NvT#Z2U_&SIv8x^c~9H8u9XN2AW#paJA;JFLFM0$j8trJ76CCjLK4sSc%T zjWAVbrk<@-3#r=F-+YL>)J;@P{k8Oz>&(=vm1+r9oB78<)iqNmhN(H-cc)TIZ3DID z{`I9w{F){H6V_gwNq+9vvL9zqb+dhIR;fw8d<XX=-yc{U1w)hka*#wHU##r7`go}R zGSg9i;S!<xdjRaPNuFb27nR@~y7syKg>X$T|D!s>vmqL54=j#yt{Z}BlyKb;ydrSt zhTyD3og0GoognVq5X>Ux+z@;OOpUGYE2j$R)LuJrsJn9GJ0sQ8!d7rjXZ~8L7E|?O z`;Jnoov1o4Ox0-@hGN8XPw5l;p;D@|sX8P~)oG0>ijhXuPwn@h>S|KG!_=H6bwV++ zskXrWqg08nvBV!Pmu|#P*D(|$pQ;P(=EK}6`j)Dv!c-k+t1CtkRqwaQLDl8#%VBDc zvmF$}xEX5M_WDvKR_THg4~D5a&JI(IAXV?Rzb>WPhpKzRRGmthuNawBon%)SUdq|G z!ql7?x2eHCmuipMeV`T^lpbb@uZ4A1$JrxFwUDa0_G6_~3#s~in5yIK?@G0Vs>|$8 zN~vC<YGIhF<8XP!NWBHB%WZQ+sW_hsQ*&m#x@xp)p=Z1}`<BwGy-Sa0Uhb8tZZ=Y} zGFavedj=FkNvhu!?(X>Qe`tP7lxhxDXWH9Jsb*1ibC{}=q|HjTfU2|XA4<EMkDW^X zx#wK5-a4ezim5izzG0->*{50JCt<2iiN7n=_;yeoWe+K(`niZROx3BD3Mz^;s*bjw zhN`QtYz|X%?q1s|wQQ;lvJaIi(c2Bqp8cQFGh8w9sXEw>9p#R*HC2y=sXETiSBxU6 zX4)O0>T>pzFg0g(+NSPJ4L*AK+djz>L${#WC^B>lS^zALf}Bd^EvT583YCpS-45Ni zpWj0%C0rsjGsWHZubGL9gU;$sJ4m<s+T}*O6EPV&_KdLfJ6(93Qq81lKf6~c)s0jg z8>Z^yaEVgQrRtsbVyL=ucq~lKnRZ@PYK2rwwLdIX;u)4`VV~XIupMW=P^u+Vt!DpI zO0~@GQ2jNmRL9w?N;S1TRIA%JjVa~q`7kx7KU7tW462o}?}b{Z-`~a(pA1uVN=#FX z9IBSJH<T`MQJ5NI^!=drmw6*@HB`H`Ts@zG@_(<MpU3L?JtfKYtbv6J*R*1X&bRCu zR@sK7H-4jVD5i>AKzyGnL2ZR{9o<%O_3w=sR!bLmpyKkgN8-y!*6t&6xyGVrxw*b& z5Aow7)@3C?<Ij{T8lB2#sHJ+#xu((f8?|a|`;5AsveMKFg~~^ive=d6R~Ph<EY4>f zGl!1PHqtwb-Ba_JdEYo-YdzwLbjQ_;E$$LY<l7?LhRu|ZXJ_wx1;}gu0#p&+iouQt zKBEkrznL)~mCL=}ZGLX7e+{e!yIO^FGT>s?>KlGGhS!8d$2%hM6HBFAt`CRunx&v- zOUz+BF;GoB1~&gfL8*9xR?RD(V&j2lHE(2DoER$T3U?&Tr`R=wc)~CU)Kt&N9SA#J zwd7M{JoBq1pA_SHpMtP%yg_IfH6F!b@bvnYIJi)MJPL+<eM>xV#zWDDf`Q)zPj6)L zxuMbAz5pMJMG8`HWm+yQKw9|lyBNp%@O@jv85v()2+?S4ci`fQUa>ffJg+D4>=b1D zE58V;FK}_xM&d((Crz4)n7;D!N%L#KJ*~^ZNuM~avZf#Njt9mPedkW1%{97xAW<kw z?)!HE9X5KT#!uf39KlQOrF&rdqo?7D#K&a<@0;!5eTD$v*TE@z-3Z`^LileZVGWD! z2;rE295FlxmFV5$fg*zv>ob8E7Vi=*oB~Vl-j0$ae%Dmsy&pwM5^ppU;^PsdL`P$t z5i=e^N_1onP(Cx4=nn#QxOXpvts9rYwk`a+=Rx2TD#5nIQy+phHrD+CZmgF8^ISXy zZa_$ve;8a;cVvLo-SrV*Sw?zPfQ@{dz!0HC>o1Ei{NmZI#AC*fo2Yruf)_J>6jCjD zC!Pe}TVwNA0po#y=m59#$2<pgcs9D0#1o$fj!98suf9NGFk{5&rOq3G0*ei>7yh`B z81gF7iUkoyd-0UFUQ~mm3CO|qz{B6m9@+l!RfsY#vcX)u)04g|vS}<HaN@81y!oKl zjB4;&KK@sT9EXRq{97U)FISFgFmnnF6-Pd+6dF9d5C%>}zWuv2+@SDH;PFx06Q#j; z4iu-=IFNxplHM?|<X-Mlg8s^D+@%CiYa4ed0jzqRcc~ByYy;-qiA$L`vCsA~fNt9X z90KqZfl~n9d<(z@0N=cg2WFQ6#B(;##TBu2*6{{d+&a)}?tpO;1LuJSe&XdCF7^=> zC4Z`t^MSt(LXPLi)A+m$E0_*bZM_|6Dh2~XHcgS}Ee9<AUHDNAz+nJNv*<ginNQ6o z-Z@(H#huV3QD}C0PicM%0Au_u@iJ{3<6)?_$1-+ZkcLw6rgC~-AZij^XbJkNLKq^^ zdn>T>z`VBun70e5=m($$Q&FUpbEy2JU!=kJJ`_m^OM`C}9@6uVY2cq&AK$6sD58a0 zQJqjc$MIq@j<13#+rra${^_N)nAEwOzEd?eqZ3qvksneOoj?wKhv)@49K7WNS>dr( z%AnFcmhiah2aqKp%ws#vVAiC^PQ}4-mY({9%v&K1^@_Z8vb*%Lv`9`^=~^kibExz; zDN90l=}Z2r*`Rbj4R}|To=HQKBHv)?JP9R(_k4(+inwJKZwD4fL2;^bwwQ~a1g!;I zfi_e~L$kdRT|wJU1rh=aL_0y5+;bWAql`Gd3q<Ef-ZlkgI)$|T2t^LjMLrEIj&iO& zmtQI2+H;w@n>Y-}hp-1Fis41#{r7;4>XeUNcMx;-T*mAb{eVs-U6f8`(5W4f$4WVM z3UVQ*Mt=;aDCctO7-%?m=alMlXy7Mgg`NtBoGAt;<jnX_g)@9q5LC_-(V6X$>+VBe z;-iA+AR-<Wy!07dAXhvpcy%8-6(1E``5XWr6}+<_03Q`BF9N_v1t$*x;G=@y4g%n# zf)5S>;G=>~hXL?WLHZE@d{j{FsCrazLOGJt6^`IhLGv%L``#ayI8u@?0_u{y;TVY1 zkK<DP1TNcg;h#8T(EE~1YY`2+8(B0Jk?@ScNeGEE23NjhB;blO2GdW%1D-M1On_$$ zx}E~SGX~oU@SK6?GytA6SXvB#=M1hB;5mcYUjyJdgO3RCoI(Hd0C>(|_qXbtf%d3` z2b3myrop4+T0bI=I8u`L0Za~D!euuv2Y$lk(Gpy`Ul!HF(JEI3m2n$P<apj;P#m}u zerCe}F{}srPPzI&-UaKgCMDX!a1c70@I;B~8Mni5VdRi$xS?@+MyLV$e?d9%ka0D@ zqoBEa#V5ZKcY4J|i8}4`^WVUBdPR>b?uM9tRYb~_@n_1Rd^)r%ay1=tMpfS$*NEzi zG-b7Oc$E+Rs$7=Qlu-Hm$QP$0O*|iU9`?mUzX{hkoq}=&Kpe&XkB5GADef0(HTMo! zJ#O9rtMX*iRvg*lU#anZDV}6^kC2m95jBpP<ERmKqH4SnQI82DmhIIis^&pgOfc^% z^YPtb<%qe0R`~qSS5*zKB5+?vWr=mG^3d#O>2U@%FGX&iq4MzN?<x=N{!n??10arK z|3@Ae)p1o&F|8gmZ-v$HsIG-awOvOwS4X8qQhUJ4adQf-h;w2$;GB~?o6fC%J;lhN z#u0N3HAEi9x-<;mr=|12np^*?syS-5k30v>P-C)Zx!MosNHIP0CNWhl*@~!kF!JO~ zq;D|j_x>4S1p5MrBPZ}ZpujJ@{KbpU#wC`QBwkW@sl`h}TttPoQg$;kV7HxTBJ2hp z2h*P63dHe*^_d!w4JnrzH+Z(v6ZZQ9@Fb4J@P6M_-8#yZin!MtrbzKUVWW;G@HtBK zb^bGyY_=LsNW-;z6g(0+ewKTd9QhaKlp%VSjLU$GYb^KxT=!Ve<a(*GV3tIkvEUMM zXDqn+Z}(X63NY0H_A7^S=}?uZ4RpvE3#$Hu71j-5RVcRDSo6_;$eQPi>*>{_&X!Vr zo~jqrnof6K(cCx{W_x7LOQ`yH<i^>^Ij6!C&=OPOlZK7416(l`W|+2|3fo%%I2E?> z0N_;kE&)!3%e(+M6&gMOoC=>Lz^QOh1OQHjUlZU|*weP<Q}c>m=}3MrII_jtCHWI@ z;)o?D`E4V40WY8Oa!UZ0MYzbP%sl_FNGTUn*&FrZ95n=Nfs_~uYeWLzP`Cm>9L4@W zhJbgXq)QpSVHM{eU^RRQIG{xI`G=|En5Z+TX?6}R;QRwEi1QCOs2NL+=B&d^MTw^< z#y^URe!tQ!>U&ugsK!5P9<imH1=Oq-brzbThSM?1Hta~(5Q-k>U50^5b%S)jR4%4+ zY}E9*?rty-$}vN9H`og-j&iQ9P%|15u65Z)fjiUU&k}XI!n7EOJ6&NnF=w$@Bi3eD z;MnVlkxs?;fm5$WehH`KnbBhLM)d+n$}^+I;??r4#KoD>V)1IZ5r>#7C>y$F=8Bq` z3d3S_TBOE_G#1eys_Z;>((a&vn_PnihbgDGy{S~QsoE&2cPZ6{RK2sbs?Ikn>%3CV zr*h+{M@uQcMdjh8mH9Ds>2j3n!$nkW8uf80)t{)^H>{V7F`k3nFUqFT7pl)h4$5)Y za;<oGEzbuQM>$t5e?kdYEhi-qcWU`=i8{5skGNCIjT3=6wfrbBoI@C+?u)nwIuG8+ z1Y?KPhou4cKwGPu7|u{DlmNo9`nc$?yA{Q@>`@o@kmAaB+ORuq<*Esih5q1h@e-M$ zbE`Kn-*xyw9GR$K$i~QVrh(*&3Wc*~Yx%Vn>n4{>54QzJqPZGpS@uXJfq2?1Rh@ST zZq*-`^nmAy@8vfmP=ptI!uaTVPaf@Psro8&QsCI2AB~MR>1tr0p_AHB5A|N6+fYlx zst_Ft>F-j8bU^J~5~&MZDbWG>N|Xc#BI^d#+2~ofQsUTj{zEOtx#`?yM4T*|ZZ4FP z0Z;$`aI>jl-J&-la3j4+%6gZ5i=oT9pxQI*<ULiM+~jU9Ys5EO4S6ioSEv@!0*P1S zsn`R*Ys$-}k<o{nvcV+j8QUlS%)GJ-)u*^K`iQS@_cfXyf7mj5uZiHR$U*cGGjG=e zcq{S`42r$;BgB4jl5Io|$b^){2P6ak3m<C+P9rDE0Pmb>7`@jD`3dEKzr0J}d?~94 zcoKgG7JTA6E7(S#GRvXAHewZKd25;cnYP}~2`4UAw2i1tc+%m1toE`ePBwb47kVwy z-!P3SDx^XPfF3aow7V-|CL9Z32Z12~8m0i~3!nf%;z9uN{Y;|@3<kFX39iQ_VihiB zD%(bI834n6Kv}*lUy+a}j6~ar_{AJB+296#R7O91#S{7QT-t*2KNAiQf{mC7<BZ<> zBKSMJ#XzIt?=+3S9sdu6{I8xYt0V^ky$?wL@2jHxzes@o53Z{Ge+Pi@zZmkT|LuQ` zRLB3e%Cg)4o*~!cg8eZ7BALg8GXtO)Gu-HXTwq@k6RAES@E58fh5{(eN30n4dY=}N zehIP^J0ryIsg4o)!7?%;){ZmgiR|_C$X{3R;cyoQK*Rp>U!urqT>Jp(*j8clGuV`* zp`(o6uSf7h_-$&47ToRHXw#S@eqh4<1CF(u3`_vS0DO)|C(Vw%Nr{ZnhS7A&#B5_u zo$p7Xh=zU>l>WDT1ZJ0K7I};u6p1hR0ctW5q;BA@KpEB9YUgxeqfe=6<F#!R(2Y`S zfpu5|;AB}DYyk|+893}gyhjR|E_9+sEjZbMo#$sIWDJDRUBwWJI1BOs2t=F!u#Uh1 z06zeTqm=g&ux2;d#uUE2{kkRZi&NnT|K`+99s^#N=pw}s<0D3efTv_tEh&Sm^`a`5 z_YS|KRMdtivT%uEeXJN8@5hb<qEK_cr5(-5!3#%<E+6?}W#Fq{PR2T7K8C{<3Zd=3 zQdHU=s2H?8-er5CqSN*x|FT`IA`y$lhW>u2fJNr#Un15j=Hq7EQY0?3Kv}4yA~f@^ z!cG%bN+v7iDdfbrO9{1l5Xaa*RfxJJkRQXic?}-1i*aoBLr5~ecQ<D-@pk;g%ACa< zlA6-!Vj69V_V5VXL(>VyoFx=1KN4z9#~E`Tn}Bb$G#zcs$tAg5)sp#e_ldg!SG{!{ zj0zA8%C6V48z^fS-Tq+Hole9&1AA<`)7fgIKZ4N?t$4a<#nmyBNa1Gp^>M(Lz1l?6 z;gjI`Oj@Ixv)JB^{<mkspR**Up-Gu}eU_+fon>IZAzR{Oe^O*aZCid;XU<tZU>R2j zTv66HG*IzIb_SLw(2+zt;qGV7H++_N5@^*s@M+XJ;zQ}un+w$Iz#95Z)j~F#|Bq!K zM)QwH$UW<#)%ySx0*E6sPzhL|7B1d~xTMs>SjS`+f%oBJP)7mD2i1Eofa>+pzv{IB zlzJC>Oj`gI8-Ujlz)%3Kx&w$vk!==rD*ggJKnx7T#g0>~uf_N-&W=(fE*sVwA@#p7 z^)(x!+oNuNod%?GBRE=2_H<*;pN#J#P@;l&o5tghpyyARV$Au6<TgR9)}P#oa1HSu z_axvk!x|fNOp`{h0*z<m`>}%bE*lo+c+A-_67e4BBN`($+W@>yU?Tu;69D-Dh7x!Z zz<UIi0Qed}94&Z10amXmQg8&o6aZrMsZmi4Q7mLZca)KQ2)yK!X1EN;C9VLR<jsJ@ zXmd_=McvIX+8h9{OSIvU!_a?^Hg=*a=XZ2`jx=Jd$A|v#6G%S1RK#Pw{q@L?4}+-C zIUI25HqGFS(2H#}Um2>+>cHQe7?V{nj@{!rJgFcWqG;Gn@sXDbqL~V`KT*+H1Ud(3 zBhjfvo6aX!ba%o10BA~hS&c+bn!rjt55B#<R8V+363+I-n)yG2f>QQ$JUp5+j{4>s z=2N%{pF6Px={56SU5ef}Wav;32nKFK%SpY*G#&&}fgc{8d+!9a(l<em%LZM1*+<eQ zwXpF4qP;j}P+3(a_;c@#SPxRgmaIVFfw~`CMq*Q3j6tR`fkm_hQmG>@jg+34HQ`!- z+<{;O#!x;n8`m^w)gyfdka`Pn$pIy>hysT1S!IDEsc&r+>BdLzTSm3F6fyw1oJVjk zXMd?^2@p^;!`4njcMK6>I<64K$OKGc0;V#c)WJFdf_4xz{5ACFVLtBv&QrLdil%HP z#LPU;qZkbKe2pJZkLK9@8-&H@bmocQq8Zc5#$iiiUMxSRVfJk_+?W?n@C@ii_Z8>x z1tC9It&geJU701}&&+F2yTg`h0jsrb)Ze6}-bA!oo1SQT=-c^=L)sK*1MS*xyR?xP zo&%|oiiq+srp&8Lv0M?+5htR$jA$`*WkhwkD*qcOBdQ;Ys3F10Z5YuDn4NQC8PTPG zMU?cIjz|bR1%>)iUfHYZuhym~njVViu8=kb_CvdN1(&uvq90yFb#$Rvp@?WbbwwR@ zVMLYN>WI29qUAstQMXV;w-dB)W<>ppOd}_m5#6Cm3)Rs%$0s3B7Yg;qC@K1@wdskb zhazf_tMidefuYc@J>8}4j_Bwa)X@lvm57LDP*+4Wf)Tw6U0FvX7|{*4$cRRTA{s;R zS<sE{598}BITabvrhi5BrsI<k*a?ODA1f*PtF`HgriUW>C!|e*tI)3fg-hEVQH6<! z=zfZ&X0jhmU8W<tpAmIzrz5(b5xonv5$fnchS59?2zt^(M4kXrp~FseO0kUk259|a zRpvcUT1I`_Cz}`%qx(j5-<(tiuj!%c+(s8fmlFc*+rv~%rOnW^Hl5b=Q1E|+v?(wX z+O?awwB5na--+N~q*#Use)4i1{EG~JFLY&fzR2LyZk54rV7%LjAo!Pvl<S~_f0={+ zNTBuGxZ<rp#Dy5$^Ab?=H!yfj4+Z}!T@b+wfe&eFuF_^`TANO5dMNncL)sL$4(-}Y zT-xs7Ut5LXKcQHT2!6%mI`~f*{B7wv_)i%82S8c#pE2Gx9cA#J6IlsF*8F}3|2@$b zYzP7!*oildC}1|sH^SZ9yi=<mLH7aKsK3#bmik35#OVHBAsR@1=19{+IXXg5MUI3( zMrY*cqS9stv^HbY^iYl}KjCOoU@^37|LM|p<>+y<<UEpetwc>_jj$!aKQr%M7@5Tn zJ<hwvm9p7)mKX)DF>_|0g(kn`Ht!k}XZFO8?#}yz;1?*$7`A9Fa^p8sQ|0`LsYU#m zd3#~AkFe=CrO`gZs9$_M$m}yt81<XdY7DGK3i$6XFgtr@BFt7WjUnvCt)9egjWAU~ zn0lrwc3UQsPX~_zlg28zj8zhF=WbZFit0-dtJY<}<AN|6Gt`(@RglcvP@XaSiTjY6 zo6KBM;A>8SH;DqDf(#41Nfa1)yDso1SAi`Byb-*pLKs;E6D*{SDC7*txDC#d1$Pj% z7I%n(cdkIe_*p0L%)F$hbfkSm!P6kag8PVqR|1of_Hh;5Pr#SKi_2663=jph>COUb z>@31`{G^rlHVU{8_RDT=CkPMUk8_w@JAx@-enb^8bLzi#1TrgxQuz^3^7GTe{nv<} ztTD>@`T6Mn&q~bb@#}i<P6#Ytgt2S|!VsoU2-5}dB$8kCgj9n?_`+!q;FtCbE&c@8 z6ToGWC#@4$54B((3RROTg311;t%$auMP%R(AqXIgKurKU0mM<n+XdJyJ#C{B{XL_U zbw{ZUkGvznD1?NO*auK>C_iot@&F)LNVX0st=71u$pQ<VC*Vo@v7v0z;>WkFKa|Xe z!6;*<lo1QWi4k%}ART(*0RXapG~P0T6;e2snAagLG7bVW?w{2N%t|R77ZS3KU`h%l zL?VKf6&3gI!73>=C*UUi5}B-rU`xS7JqWD1#ITm^52IOId%|dwN@k^}xwmKpn^mG! zqsCh!u`4*Otng$wc+!(;WrZgnM#Aijvh<{UKQN```vpOlGhbpxjXmvA!p{l9(pksS z&k3Rx?Ou&yeoi<#TF3XR`01N+GA#M)I0?KZ30@Nx%75e(mmog=kK(4+K><F2sTk!? z(XbwBl*1XtU<L7u1ZL-FbQ~2DMd_=Kp!5of*?97)va77HK?mh8mXvP+Eg4`PU7|>& z{3Q{V@hG}Qu%RsDWv7gWqKwp$labYiiKE}w5eD65G!;nsXPq)`DOE-riJ^?sX!*fx zTV!#-N*zbGE#mkGdnsTJyA5Ud7XqGSvu^z6m=N3&C!K<mg@N+rVZhIyatSUIf+}qi zL7ldA__N)7iGbgYe369tg0K2`aE8Q;8u?G4u$BTdFFW406yEy3Uxb2N3#Rn8jf6|O zf!<bnSOlfmU@EM%v;BAChRu_6Bib_l{5MSiHBG1}ztaT*zrJ?->Lp1^;0`5FBL+W1 z5uER1a?IM#B8!|!6`}08128<_H|QAp7k}$LxKIe9SC&A?mbrg~S{$rEVD3}LPnt+r z<om)?pa%pU-<k_X+MKTNO)~|R6Q4c~#!G=I<Iyk@lxK66?S<-f^E}Lp9kAeaT5tB| z0yun~#)UyKcngC9@}GzXJ4%e-<#5U=m}m;oq2u6vl1U5b;wiWZ52h!Y(RteSblLnl z#)2WlvJT<obZ}Xsd5a^p%q1mZ{|xNI1s|6hH(#D($!)~pQ1OeLEEFu+mmZL9_vXUq z)NbQR$8u6K%aqwrFemI_nPj$asa{sx&m@c;KEnt~*uUjZ1R~+``&g!Eg0+R99(HO; z%;?c#F$}g#qQOjz-Dcj*0yWKm%Hr$y!fY?b)b>ft+K0qNz9qiAH*k@nTZMd+e%Ql8 zt#(Lat^Q67H7l`{fws|r-(U;IByYc2E^gvEuWhL&kzBYCT$=Rt8q7-TKp$~8CL$8O zn}H3y2YXg;19*bKholU$jX)8Acn=0VZ6$3OtfZ#=y2@k35%$J|`36LN>pRJEIG@;U z{c>{o?2ww2TCR3B#p9WVACy-)v{y5w#%gSd{RlH%;z&tuIT#ybPvC;N?<9OE1hE@r zyk7zN1N7+Hwk&~D*Bpq&bNVO@N*|2ju-Z1I9b>HzdN32QlIU#-YzDBzbdo{Ir`4`N zj({4S>#{l<Rx5FC8LfzVH|`Ks?gS%h2vp{UsaS`V6W8OTjGrNjt+jwBwWS<84C^Pw zUUW3lNP&Z5&Q85avLP$?w@mzOW@2L*O-3YVXqOT0f6+Um5~tX-F!v_GsP`u@8q&Rf zF87!xt4d92weMDs@vtnP#;kUV&L!6dMGw8vf0yEZd_G|8cC_dSjM|T=x+j+vB7VnP zzP2CF33p0$S!O2d<%y(?Yf&!-CY+w|FydDToCgp`t~VOwzFD?WuRMSPQYrv=43xxL z0OCjBTetZLur82pLv5p4vTADmKvnCQYOhDh#xW*Di~dN_l#Ee{v+7SOI~AEt{B5S` zmSDUE)6rgKTB}$OHk5HRcqYo&t!(qSzzR+OqO9?aqRZSdvs)E6scn>DA#|D(KTpp! zm-Us_h0Tf%*RX!pbl7aE=+fp?XvH;>p3r7LM~n4An>Q;i{hZ)%@%;r&hs`CWY_b-| zxNMg45s8WCs$!X{#%xqVa8=Ta8&HjVK|hIPMeG2ueK@L-+`wUA-eO$ljKp~IBY;~+ zqY61~$B)8;-gRK#2Bhv7^znEuC)O(CX<!Fu+Ld2~@iCyU90!{udZz;0Galv^05~`S zz@q>XvtgIhZYGu>&p!vdXMs$fgacpPuPsq#<GB#I!xkI1{U^gD384+!0$@v_9NMtO zxA;Vp;26Zex8d@?Hf+b5#!1pc8@8aR4cqwR__lHFTGC1(=r!&zyP=4P3!s;q0vAXO zRQm;cadUCWsV_yV%JPg@kKK?SbpkKY2N%OPSXsOEG>|uxJQ1MNl)u~_w$7>!$=%<H zFv99YQ}mVTEX&}wadaEk(7@ru)*<WdVG=O_uS7me;Oe;N;mzwn;<=#eu12R+JZHmV zs1cYEu~<7yLu3&afcF?8x!#JvegkIRqjauSi!zd+K(|Dj4lS+>-*)8|e+tWYL?JQn z@N8w`E)<*rlfCH5`#_?XD3dhB@y(v12;Tk?!oEDP5kxEFaw}hPbLe$Xd&dj#Ivw;| z?t|AY0lWerj$CgBu#~B2Wp@L3j=%^2H%vow%LZVKH;ose?!6btlc0L%0Ps%7bEOMd z%^y$&<w7i2+3v-Hu7N%o0&ye;#$r(vpMcAcO0<NcKieHB+7R^p5RIq~;FcNCA=ld) z*h*mDP5>&;WZU$8r_@<0`+gHy#e*;5Cq-ZiiQ#h~e91*I`bYbWhXn&u%0qfyw%=3t zgJg@@ra-d{dxNV8S!XDz5?9FDs2)Inf?@9wFlNBH=oP9+>R{9|tX--%?x>Yy*y!QP zn0-{yht`S{G|}=Bd6STawf3Em^i~Fv2cz|F1W*8~w=RJ0vr)`jfzVn2!yl@eYvi4( zvy^bPzQ}I69%)?%`b$uWSOLI4hiRpySAg{d=6w^uj|6rBs6H2^?E{dCU0Uzw02YAa zJ*EKbXH@_*eK-`1Rpo|I4gBb$cXH9a@J0o1jd0OZLUenHi|%Ay#`czC<-@b!!*(1; zV#em3r($ajAdXxSTQ)Ee+f@RLtzwRftw_f<0u&J&0V}gXD29TNPu5ZweXooDhKpY8 zqJQb4UklOg2sOJgccIu4uVJFd$Tp3x2*`UK$hY(}fQrrp)f)+*<9yV3)tImvuf!Y1 z4^<P^3$^L661W+R=o5;=qC`X7uM)WI2fPRZG3A53v#E@mbjPoF-V=SRQw~Rh>yp0R zh?M^W`YiYp@e6>73y`<DwL^LPR@p^kww`j)W1vdg;zjTPjw?4}n}yJ3mr#>1q2*d= zw@c{G(n6`bwa{so(CpGenRjcUD=wk6rG<*Kv`}oFP(ZuGgq~7D_6;r}S7e#FO2CN9 zzSlI~d`X-K4Zb99c7`s*49y$D!AiLRJDR~wNfEU`d*uNnwE}>vi_nhA@iqq5@L}8N z#oNO~RZaSfA;H9?lyF+$b_ja=<1*nf)XWV^h0F3>cmhA=^Kp!VCC%09+)i^zxh0CU zgs7>gk{NjM{AC%ADem`PKp8D~8+xjqOjvLx!to>rCxaG8BruQuJc7%YkoB$rus9dM za{$f}*aD#aGE6VLv&@FZ%_zb9IgmA=MjwuL+PoOhjl_4rDuCQ{$`t}hSdInpHYGO_ zR8|Jsd-R7PUD^JxC@*irDXLs0I2lbaMlC8DT#hteap;&2a6@9<sF+;lA5=^+y}~Az zp292N3+m>x)fH^fVJPO7*Jib{EM`ugPCC8`eP<Zxo#Agpe*n1v;>h)813M0^-fRHz zvp|^xpvB`z%VGd&p!9~i_fa5^gBqRXTBLK@sKlKtegCOPf(NOR2gb)#=@q78eWKUJ zSTC=Js7jmlrJ`3mTGrU1=*~TneI;zYERw)w7Q^O_Wkq$Xmkp<bxk>#uBkTpB{|F}{ zrUID%1i~iQ`zWxoPa^D<0E$U@7C<2=-t_?bK85(V0?3?=_+LRV+kvbBHTr^U6~_fo zBKIeAA-0!dyMY{`@<9On37T9|4*_Ys0?I2~<05BHt4$}_dU<!c6{5_9{H6rs=5I#Y z8A@cxp|XN4^g5_e%N!|doL72IrmR7V%exgXvLN%T?jEg&6_<A_DGt}LwkdkG!)1-u zitgC7Ur_gR(eJ7CN~W`3!IN{G^D!QQ4qizOz9z<-nTXe(5h?qSv&i|@QHsijO2!tP zBdzSmF3SESK36D!Qp~W4Lyh18VdN0-sC)>XhHdeKdck9Yk@7UM*;ZMXNyE=YwO0ha zI!dN_v1N2bX!W92zc4M|$TqSLPGUpOm#vW5UwIAtafLWL0tISVVk&VXYFG)XUvre3 zh|=UrP7hvId&Q=KXT#Yr67U3P>5+eknxc1QMH$<LEIwEbdmKP~PpP)gUTzI*Cmm*? z-)O7Oh-p2f*eo<2dq2V_%?>NHj%r*+W|UD|$nwQX>$+=k+DV&;*L7z_sXoB{y+Klo zUfQv0*mJ78%No56)$t8JL6}#OPb$p*4c3@OoqF7ZD?;U(d3#`_$*|!gKx{JKFz!P= z*$I16kYOCPLm{Z)fG2;hp59tFMX&GILTr7uP)m~-Aq?YrzE|-xtm%rpNV*sB7#Fp6 z^Rv}Wqiz*Xd$!HFEIt<+_$e*W_>A;AN{^Y6ZPZQm#8$)aO+8~9GuquIQ+@{|;fy#| zX$@3m(8J-9!8FX6sOU3Y!nJ29;=(NUA8Enp{sV@HgmcY@8b+Eb0S<^id~O8lO-4-t z|HI+9U0sO-h__b3w(vRrg4SC=n@-FcV<cRl&-J@1bp~(LI&vqDNhOIN3k!+}?|BUo z4k7JvpK1IIWqkUgVi_SZ>{(zlG<FD>Z=A|Kt@#$Z5Ia|eL5`>urvV$a>fl#i$9*Jz zGb~e-$~~{7p%Y0Q(a$ihu%J=KxIIE-R35RQMpp~8u|_Wlw24N8t0>%5qca5BOr!4$ zw7Ev(R#W&UjrIrX8|%uCZ-E<m#*GxXkv(pt*o|CuAx7(>yG^6kEFbG3?RMEtYB|r& zOST~g6SK9zEI5<IEpDYye+~AWPolbN&GE58ZUY`Odb&|-u8*6}@%cc<Lwla@%UOmo z0I2vO+gdq3{#tV6THA<i(F4WL_wg5yJ<GPwD-(Z*^Z~zuC;sk-2eB`HiXv7BAFX8> zv6FJpN;KLf_QRlyn`YHg7WmuD-Jp$%h7!l3WnDP*ElV@1-K=D$D!x24EoLpT((XlH zaQ+d)iLbAc<!>Szz9lM0{B`GQ1qylh|2AWNr)1gojwpF7qI?m`Jbw?`r=u4yg7j#3 zBj%PNQ5<P<MU(9ErhX<cB#O@j(vU&%^Pozq+&bnT4}YVW{^P{3=P$7(&$BZ4^k<l` z_$P7k+(_bgzM!8UNc_X~z{T?hiSOM2`BB&gkK*$8+(sS+fKzY3u4k#0!t6UQVV1h6 z`WaKt89&OHXByvAk_RV)8-!%tm$9D707Fi4l9&l1W~Rp7RVzRrwBBGHa;w|0?sCy9 zy66wM=uKSoEiQUD7yXEfp5>z3JwoNqbkT<>dhd&tv0Tu_QrY^$MSsafADbcVaBzL! zMc<<699vGf>>qd0e|FJ5JwyIPqVjbfZgkPByXd`L^wuG|@0zL*HZr3|;aV&)4_4%p zbF&Ci@&Vz&ifmG;c*-YP@|pHwajFeJ!4y1F@dQpU_)pG54IZtC=evNrgy4IQVv78t zqIe?K{w)-6Ou*tNQ-jCF)LG8o0O16G5D5I(^ck=Xa#roVUHh>?_)(SzHo#=#kIno5 zg0Bb|KQwn5B>cr%?}ECyA~ge^Ohx6PfGr}lglqv01zSEJEf6J1ha_y=$Q)2Y{CaHw zrwmBw%zl=GmTBf4ehbU+0YINZ!;BaXVD~00vnK*5eg(iR03U4z@Bo0sEdZ7Qm_%R| zfIABSYy>dqRXiYj9e{YC^|Gp_0+hkrpb$@wv!YU%zxuDC>xl=HvQ8cX9!J?2{tjVq zenlQR3T}mvNc4h=ouIS^ID1--X}kw}f%jP$Yxi_7*@iN}LGE8-L>EC{unn&seFY$n z9B(aTVLM3PMgXo7XboV+>+ri1fEIiZ7ZWR2#Q8L}t7397xLx9iCD(rg58)odg@1P4 z-m*-+W5ea9T}L^>NrfW=i8Vfc7N%-dV%TQjZQTZHRbpE#JD5i$YE@!e6SY~p66?z7 z$yzB<zVL%c{KNYaP>(nV)&aN?aT!46Hxb5l0Q~^i@p007)-KD(YRBjt{RNhB2*Au+ z^bXW31KkGUh#LX)*bbmQfL#EFHU|*t(Z#Nb?+*O5T3s0P5yi1echSTs(3`#m%_#t8 z5x5(`s{rCC7RUkSU4qL6kZL{+fWP74eI7vM+wivlKpKFWI|Qp>o>hOZTukoRia7^G z$mGef05h66vd{f&YrGQV@X|^M_Teq2oulZ?kQ|e#?0WEK?N@;?voll?^7aW?@-0{T zVp?iGe=+9U>}Xb55CNHa<94W3Lbf>NJrvH%Rf5Ei0GF$TNzq&-40#7L30Db|#ewe? zM8{*5FeRF+gkqp_Rd8Q)9mH)d%e0>BBbyWF&O{W37(C0cWnXQtVziV*`FwyZocD*K zoWZLF`bzadrKEnrK7~ul*Fs5&AZz7iVU6)<9D~dhLB7c#hfO7MN?SZs*nuFqgayvE z(^}xQdn*%cO2{x4+W2woTFui;qxJ!@TFn)vs=f<TLrCk>0ZXlS5&v|f_8}oLiP#K{ z{RYf8TUizB*%b<@f?E$?E7hWj7`29fgf|BU2rGr6oc%0kDrxU5#H%+uMLCV`GMf)I zj8(*D7>({0@-5y2#xskJ?hz+7E)dT)8Vxd81<{45z=v<bdo+WE?z_N!zq!2%_6t>z zZ=f4l>_&FE5Tn+EuVU{uGm=fBMEKisCzdzEmg0MMnUMuA;njj&s^N6a5>nq1Z?_Fv z5`XZ0__0;BO=ibFs1Wt@wVtUs9AngpPQYQj23{64US+Hk==?MD@=<8gv}_9e_%@!S zz$R*=e<LAY=>w4^g-rwI%W>u0_l!bVxKU#|#;gV##PJsM2+XEVo=AK=lAp>|Ghj|< zey*4syd)BDG%wBoBEJxrx`4gu@Ar^}g*bx<D#cf#RMDLj9{nMn8qw=+cgmz^K&?S^ z;0@?S>;Qc(1R`Dqum?aKx!%3N;y<#D$}~Pi>EU)v{55#Z%m+ES69ke+^Rfh&lyI@+ zEuh-tlyZYQele8jl`|~a&nO<V!C_`H&HLU`IpSPk6}ylxQK%e;4Eu_rN5+U7Ox!Q4 zn{Rfb$N)N6$8<c_Z7@S-H)|?>GH&pPmifspq<I8EcEYkREXFUIN?07j8@$_M4;H6= z2JaCv2~)BR1;$ob2P=Cm6E7GBJVhx@=&w<JQ6V1p@VMFFX5yAwp2|`P_<xe0))M@` zg+>34rg-D`AB(ecZ2RG$8y;!0K%4xGD%{H%Tt=8Q%KzvT674QTB6#GRFl^!!W3bml zqbM^5aY_Ttm4Q~EBuvJe#!6i{+`w&1BG4}9UppFJos{18xE<aqI0D~T)G%Mm8hlFT zi|Yynm-BCI2cfTpa``76KQ0S`QGUHc`B72cawy+Pib~)&5`#lEq8>n5dt_a9`T$kP zGm{{QN)*oS5hG7o;jDs%gL_T!HB#ZAf<+K}g}lG!75MszFpLik4gOSEjNMfY;e2Mw zO3AG(>p8Y59y1Kyr>NPQ+Wl)-_*_wgntJjSsQVQ)UQ<n`uSii#RAsmSt}KF!vdZs& zU$>(e5xGi(L{O(cIs9lhUn1a}NQ|s=kIY>8B!}|52+Sy7%b{FRlok%<M@dn|o|c%A zwP_{7E^nDjA;_*%UKlScGFo0#f7vgRga~WHFS1)vH0}hvBtN*40F6mc--6gXdh*4X zRpkH%QP}Dz+TTG86p^AUO8m@j;N8y&dD{GK4@Ol{<MKnlFYX1-ThYN1U-2=<`Br#z zHn@wh*WnZ3D+9=?#Fqe%Dnh|k_F&<>;9UsbE(DW51tWVQPG{@}qb~=848d3kMww{| zm;mrsU0ktI_aTHtryMJU+JA;y*IXqemq}Pq7s1>MloTCos*s!p$+*<})vfDbNjw4~ zwsC(@2K2i0x}!Ty=r-MlvGrFaR8_em-H-zPAP^l$l)lmpu9J;2%N3=DQfc~;_I`k{ zJA-PQTxz`WwlY7KOUIY-Cc|yeP{Xn{PSL-`2sqS5@2ec+qn<gE?p^luJe&y7+2h3a ztkRIrb5M}=uF_+p+NHSSk)?N8zW7*(SfB1wQe!*C8t0`H_BPMd6d|dpz*j-VAT~sr zx)3W{A#|=hYFH)5(y5_qHz|6^wF63vt_@UN;hK0>A<m>(Unv<nHc!d~JegsR#U#l( z5jW9M*{J?~5S8s>hNy!rsDn5%WPM6v^yjFUJC!b7=6wgAkEt49Fz1w8m@uvOik@8C zZ+OtYsiB{n;hlb$559IT#E6f=jPit1&W8_!XL;h$EhDOfek**4C=cK`fH-o!4S~(y z&)Ylzdkz5T1fa%2JpSPXXgq*T?vL^KX9<wypn9JM(E1SAoVtQwZ-;l@i$E5FYFGP2 zwlpIzRaFct)Q{H-65obQCKS$4;XNR4K_U9L_)rta&5KcqljLqij22D8FdFZL$^kH} z!+1md)PG2LPb+Tp!7zjPVvq7^MWa}wA1pb!#4dswtqp6W5;}&FZdPfbTu10JCBz2u zj1rQMx@M!!o>e7JOpi5oxJ}4=EPg0wvl5|!ucS!8^WhNrgh4fZ>uZ-#1d<Pb1D-jd zFVTpbxp-G6`Y!<^k&A_V<h$x8NM0h4mPlS=3V;$&r?XZo19=<NdN(Snx2~c@k90Lv zG4xoQRPfPXMjN@(EwLN7U(w&YWE&e49U9g*u4L`gVQh{p9qV68h&d~9lw~G(Q;V<k zR8f(#!`V&3!(LQ6FZlET8ba!WrZIqFj|1X4f&ixj$N<$l13)WKq91Uz6VVqFxuVN~ zOb#^-Bw`}v?sLg;DVxY8R{_KVMG$KZ<OPU%I{~;%pcjDWjsh42;5dOX0B-&Q%XKbO z$Emy)!@}Ux*0O!*o8_<scnAU!Q2>ew`~%6B#{m2SAeX=e0N)b$5<uE<^j})=)_}%h zVBSUm?m1x_Bi92+<boi$$TV*I6h77kGVDu)@@%<KU*o)x$hAc_#3oTJ0?0~=O$!&} z5~cuRn<;h}$XSThD^^tRSBesSQ%KQ^AGBs+iCo^4K=&kde+5$cB#L;UtmBF6`60H> zAdvcyX_WsA(%XP^g>=0_02!cqcL8{c`aX9_m|9p8mpnO;YDe9cK+aO~NJvslp^02Q z6+mn}#mWPzcM4*=Lt<`+tl6r%ICd<D2FDJuBNFiF6{KOUbP2s#T1YP_4U0ef$v;{; zSz1W1FAeLI66%9y{;Lw=#2S$tQm%j|<8nhULk+8*5~6ZrB}C<(F6DlumGx@X@D->U z;Sow}fXYUH42BD&M!=Jy*1Lvpfnrk@iJyuVS&WSSxgQyw2INj;G?DB7)WxRpIrP16 z1KG+v&kR+(xG_xRjY9^+u2O6hkbfvPCL|`74wx5s&+(CpMBeclM%~Y$v=WTLr&-mC zE0co<PrRo%t%$iOV{nNz89qjg27LiEBJKh3DS_SqhMz&FqL}wSV1EGf&Ij;TF-`(q zP*y&u5^F3$p)7)_ZCOUv%Qu+rUY2yV)ZwpATMsHWhx;PQ4tT!*uGC7$TJ93Mq-@Jg zH%==1T-+o$kCOjw;%k>sV<{wCDW?j{P|2hh8QR25HEtSqOBY*MUs+trLDcX<q_`NF zSqW|LLqL8)Qlf7NRg!qVV?Cy_bm+R*_(T^pEHpstRiON^h+*mK<luiX%xyLJN2@YK zQ}bO>m{@zYeM2pCtPd2>AIsai7?o86u+A#_ysoiE7e$vl6->+Dio5t~f-&CF!qgMm z1Td_MpQeaj%iJxOLIF=$f~-ca3Hwbg^lfPCLexSBm(YG8Bz9%3elGg2TKVo!(x~hk zu7t#DxTR}C#AAZ0E}pU6e61bskmh^hALcI7KL@dkv=1A`pzxln)>rzTOyX03Cvhu8 zp<m+`OWdL@6yhz<;+70IboUEvJ+P=W*!>0zO3%vau)0_<dVB*$4j8YJA?~G?3dYM| z;AIAtLsrknkYM#7DEqt`M(RB$k6p{<IOo`?0vJn%?{ZnaS{VBZ#^T73C4`9R>HOYS zba~kqOCU1%3D0n<KXxnN`JQeFz1%sxfLk~PH-qy%F95%@u98QM^N<P-vaHj6!mt)8 zpO+>?8TZ4I=os-;<emY>1I7O7-B{yU$>y08^E266c$4v-Bx9ZLtY$dk`7W!dS(R-p z<pUMI7Ybs#n2jIDrlJ)0g_mP=(u|w8yrW)V<BL)WBZe8C+r<ya`yb83GlcHq@wj-> zrC>j+-_t|Vr#cWST@n3{_J=@*Fj9UFjEY?^&jg_%w+$46-H25Vf4rM75%Ax2_~YDs ziEs~!t;2Jl;2FmK*1o!^&pEzZRHS&dRs5NGL%zUX!uZJ}$>p)C4ye8uMmx`!-V@(_ z0UEm~3XbOp#{-^gKQ$Ao4HmwE5<c?ntst9&$G->o<KnErF=%;4wFkaNXvLn#s*G)C zhAKb!2;6zp_wr%Yc2GFmPD{vn*mi)k?F<7R{hZPXwV$m{uk9r!w=(Z25q%%?5AE_> z$et&KKZ{@|MGMJ?W+>z7vA8_x%lZxv1t8!*cUdTu!~P_iI=l37WjB-VKIi-DC?4Mt z4#Xh+-txFqyMXDdCV(*jY6by#a0_0utpM;_@tp)vFwff)Kt5y=S+lvYvGfQ`tON2Z zsI4{w_*`W&R^%6tt+s$z_gng#$o5hQtq-WR0LUGnw|W%7$#AX5KwK!b?g3Z=t>3AY z1>{9)O#twHxYk4vPYSI{Y+Kh9U*rM~q#$(fPB8wVjP;vJ3{QQefyJR_n&^Q1*s3`2 zX2mEI?An8+Ou&=vbnTXk{k@rBEc|a1zPptSM=oo&Lb&_2K`6*_UQzV(+sYXSl_7Bp zj|HYGP4;u&b|opMHKXk~6-3(t1^C`jz-{fZdH%UV?6y9mJbDRZ#0`w^u%Z_a#fQZ| zP$mVUyTX(}dBdk`bH%f%IG|Qhb`siBc8sj2ZoonIdVcc)jN>2xK%Ul0xYsZn_(#vi zTj$M-F}F07aP&IBjr@0`F8qlZc$6Yxy!dMd#ZO2jOdM;NjU_mGm|-^Y_r+#*`C~Bd zUysvP=2-uDFSN@^tcS$#jC9L0aN~-dq+I-%LijWD3eR9@7?O<=uGq9y{X0xz@bijI zKX(C(fv?wW`WpQ`#);n(p!T~>J<qa|xiK78%s*^ys^1B|U&QdIEn*O{{Uvl`P{MWb z0(Cy5V(9$eqCoEt>cv^JrvHp`uW}Kr^Y`HSS65t7Xux0gxEe~}9*2_2(2W^9cmmyJ zfomj=1>Y6>!4iBi54b%;+4)87qR5>ee;V5hrm9{R!TteHoqTyWZ5WkLq4>v?TB<I- zf`1l@$0IzIn?GPYC0vThiWdP7`Vqq%-)S}zgl}~&+I)lCOcY7L*uz0t2b{VD6<^E0 z66Hor0DTaI<4E*Q2lfsy?*ag~U{@gUD1g99T)Z#hG6f_&-}V@P{siD10G&(lP>SQQ zHeN+X(9B=?1RhF_g+Q0+>ngs`h&xIpfH~p9K^O^ClC@Al8@b7!Nh2#@B>4keqAM$j zkRiRKQzmXu0?FD$YyTRWI4}HY{V(;Tb8^Y7DnbjSYW24M(^OBqjQoc)lUsnA{1z@< z)JkTcvY*Km-|VmYB~*VRKYG@`O3rm<fZG^iIvb(Ha%rHwe;5r^`k4mS{>#AjkO8v= zAC<RIIXI?7brUo1@o%P~&ce{2|1vavt=`({WwwMNuJL5MY?LA^q?%606#qq9nhZ-R z;mqWxK~1jsi%5s4&kUumPv)EV`RkvAdIn{p$0}~9F7uTmDjAO{fkGx@j(-?cXG1l4 z11`}Yg{g}>8Ii=;%F^o+>OJJoqu!^~yGp(0imQta>CIG})TPk7-G7RD6@R6x&xh#* zJjJ1$S^ht9m&;*Miw#ogT678>=QtRhU`4pLK^e+m5gGn&5J(;kX7ZD`M1TCRVydX- z$!@|`c7L%IVqH{%Z86MDh7GaEy~&Z4%VM*YVOv#XDsIJ`0U_Ml%AQtN(e={^bCmxx z`m$Ywdxzrc6#YlIyAhQZ8?3^edK%$=3dT1&++NC14#OSiZv}y5`!|H!6qo49|0*WU z385FN#R+$X5@fhpu<<{JyGaSU!nF>o_D<zBTKPVwAeF1z4NJFY3hw>i1oKqOqu^yN zcvrZ^TkyKK5~MqR47aidEZsh--&m5djtSRqW>~kYYNmb{N5Aa=UHc;xVBM>LspBnU zk`NT<E$v#a#EGO8J7b27+ww0*<ypGr^UmZoSr8xi`1UD%ai-=*PT8C+#bLX4#)Iaj zT9z^B7Cxc(biDdJCjD43`<Qk9%s_pwwt4XDq%!fnY9wafy05Vc7&>LTmgtAJz*T^h zKMgEW%<HR#vEElO?TR%+zWw=E_);8kOnhtY!@x4GV&W4s|2lzxOZ=IYm<XQ}+NsyD zN>~#KZ=M%8R|YSLN%3iL4w@%mBciJ8BYGKczHEz0IY!Z)!Ecit|COASSBnM94wy&@ zmkLeFUxDqOlrw%WJt<c{i^7MfLa@*gf99L^L>7W&hK&C~YB||S372PaRYm9<mHAXX z=hOTgWxjwN@ICweQl<|<gG&sV_$$ETC>JtW=@03#WAaCs%uyzbX>z9>h1wLqq@n!1 z4?3Q;&!GlZ3rC(I&R^0{#q0!b#M98L%252HF!X`lC(O`SVTMxvEN!SgaHGu+s(Fn# zgLfZbfn5xrz~#+&Uo5)tuO~KPRY_bIFB3vy2Pe9>qC?)AooyJ0%y)65)m&=tR*XA! zt>hg(s~hc7(X3~qbT(RveF;o9(#J$2?eUjvq`9JIHUsmBCcR8F!aCQnXyUT(j4H-i zG(BZcLOHCHrJ{vpLNX;>D%8Rr0NdTd?7zcW7}IR0hBfbJ?DtTJth1%Up_`#6>ujm0 zvrOWm&SZEG05@#y2eZhGaoINC{OtqO-lukDRZ3+iV=3R@KzwaQo{0M&yQM;$55@S` z=_N{?2|R~zQlz%E5_8t#dDmb{ju=wnCHNCL@m^HbN#TFsAK*oeg#|9nZv`IzJ7Vvw zOr^1jow2`%9gj=yQONmSc4EY+B+J+XUL5u0O-8mTsP-^rkj;%vjqgaQre@=`AX*#i z(wCvc*lLVAFXAD+c|^pf^{Y8)T6a#zCMA*#zZ(CJh$1HekI(-ar|Fc<9L93Yegb;3 zQAxQ2kdyvPJC#kpQTu@~cT4w-KJfIuQl1W4jIh2Jo@!OSJT~)co!6d9iP0z_i6@$s z#$MoZ<o;eJ%kmq(6)yX=H!9?NImO7t>3uWNRneesERSrRwY6+jCsU6)<)0NEJ_!4= ze2Jf9d2hSR+p7@HIH)aGdDsb>uoHJY2_7vo(J80H1!R_cJ>GI2zUPwef!!0z)amB9 zN57yD-qriADC7rh-}?Si$Q&S6ay8lW*xut{RLsE3)jV%lH5EHA4WG^zY&mH+cc}@L zG^d+1pNCWA-V}>&6|f!T?R1>2BB(RrY?*E9AfKMm)<Gzin^WE@7B{CNJsWDt4be4X zj|yb5M`fpn7d^@;y8oo+D7v$OZ}1n3k{5i74{5JX2eB)O1t>Tw{xLkBBfaV<6m|zi znt1(&)kSTuR>wS$1R^UVG9GCip%_f7W$jB5mGEI}{Kl-1!Xm}+HBsa}t&rdz%EPg+ zWDf~<H`j63ZtN-&#aaI823`+%8i{+ry4n@Zd^1Y$3;$7z2%ucT(EBDC-gJvz<AAMM zu`FUp6R3GUOt}0PAOs$#WSCx0+SQJYbQ;y8-(hWB2-aHUBPtVls!Pf-P(B33w@Zb> zAdNCB6;@H{kB6)%&9~kqXKxFSztD-_H(v4Bn(c)OVP-L6A*)8~B-=FFY%0SyjrJ<G zeo4{HyMzKGueHJiyQvJ<mVdxUPc`D3%aGT}2Ykx&u&_l~7!BNaP?=!{kn7~9@X1$m z=o^;dt>ei>#AaUq?_pMStvaG>Euq>#Rlhd($R;R+ouVzI)kI@^tB3khSf?0v2K&3- zN@lK7MFPd2nV07jSIK0TNr=FhxLk?-iZIv?u~5KgY~T6|Hug~{U-9u=RGI1e1HKO; zTFO2)ly0z6{iRt5Yaf@s8-Z33G3}?i-$r|XUD;rJ_dr{;_hQ5v^|@@~W!c_OD1^0A zTS$raZta&cYzlUgLYO%=V@|rQAH@kpZy6C%Q1NwFH}jr?rAXmz8T`JEVLS|nYPV2g z%!mq_?H~wam$J}><Akv^B^4<nM}?hrjKv9KAJAC0|2Bq3HT#Ll@a(cxC~CX+kC-q< z6Q>`4K{aU#F{Wv;AKA!KhB#WbS*Q@!OABa9H~V0#Gra1ZA=H@E`xjK(+h&O<?>e+( z>v~&+6B|Gy6`9x}oZkW5+NFwN((^<yBI)N9nMrSB7s(nJi|TvdaiuT5r{;3yE6E6W zQlC?+7`vW}4fpYA!|9K+x1+|r2hG%6_Jfx%YEKUePkoUXwX3O8byfC<kQ}uSoBug# zA2!9P-R3r>$b8=mB~`(A$nEkcS26;gF4|pRx?;2A`35NDPINruIdf8HBzAR%@V4ZV zZvU%Ukz3(xqin;QPkOB=wEn5jA-1(wfDQxN;V%FKlutRZ;9b`U6ggKcr-en3iX(?+ zo?vtM9TZ>X12XNbM?6X_gupl`R^5I-eA&uj*>}`cGxkDPcp}}$bZCY(T?w+97s7}f z^?YX)nbmCl=rXoJ$cX;s^D93-y9q*LU4<N$LIKZoU67sYVhbNOXck65#@f(N#}}C! z@ykfw<>ofCQV-l>?Jp6Tz4{X}+pQT1W$PP8qiBpQcX%v?ZUfqAf)R7zZlt4C43M!3 zc@jv!!ReN<TDhv9Q^lO#3X_evO&znJYNsJt;hzl#(EHb6){6zom3_?q6ckt!X!J|U z2HdwN8%=6XHL7#eoek}3w<+EpSOuStE2=%DXkRKC1nt+u)8KzzFYSBg6&c2E#pi&@ zKQr&i5^O(j0BaU}h}a6?#yG$6ptS>#8Q)<Xf;*;^QkNk?-;RJn@@B{+|AEV$=M@uP zm0H(Xmlb2Y?J?#-2eEh}&3L1BQVltU_@v)*;Gew+(_rk%hzyir=ADN;-<Jk~dl#Ls zM2X8`=_8HUyomLe4dZQ)>{MmRxslnT7j=g5nQ34;ivP)@g%V`Mu-^VMdi@te@g=aI zJT%`d0pnBI+K|5NA#XfzyK%Vfj~&|${U4*N+!cwJVn$Wxqg5^Yj8jC^&scGd%L1Q2 zfb=2^rf1zZ!WdPv_#EGnD6ZU0h+1P*DN9Q5JMbu4G+oVQ?fZw}?m6K3LKkkm<kI-* zf6+LpHSEIhNWRl798N7cjC{9(x2Z#o<i6sE=@X{lffL}Be`BV0!A56BRUj&8JfMiO zxC~50uFiy)(9&sj&BtL%NG;=e2eQRNl~B?M(jKpluem`V-wR1CCnSERwI9Q+U3L6z z=>NMrX19B`z-GV`znpEQ%`ehkK-jx22{%7{=M#K3@<QUX@UT<i(aFH~{O<7k184bB zqWtH9*}sREpKxB^e9dmQ0S9E7MWl(6<1H^vEF4S`RmoSB$H5g*gK0z563!~?Vn3qU zp|4NXbFp92?3}(@JI%%ZShLf5X?9;1`&-Q}?ycElTx|PS<(lDq)M}oKeS>BfAJE!Q zxY!*vJFQ5wH@euvG&}S$ter0QLd`DLAFr|wx!CJ8JAZ~Y{;i9>OS6sXntk2HF4pYA zLz<m<C{!i?Xm<W!&93cYSNTn)CFfqvZtG&-tl7?2wXB{l_T8FYyjW|GaIt4;cK(B! zJ<G*jso7}{X?CuQ{g!4I7vu0Z|Ew2W>|>gp^R;Hb?P6cm?9^{Gd%ufa_KJ$T@SJ9U z<6<}0?92<A{kx0ZN3)A3YR_X2hjKnyvqPUftKniVci5w~c1sugRn0b5YxW&3c9CWm zZ`bTB7yBp8&Us$5r@7d%S9K4apxH}Y>;{^h`Kyk5t&4rTX6G!_+HbhnV>P>YzGi>w zVn6J#oe#YgyVx5w+xSkG{hN!uSF`iK*X+n6p`2gP?9>-^*;QTah-<o?zpdHLT<lt! zUA#`SySmuvnw^%T*@Il{p_*Ozu4Yemu@`7|+FH$i$i-f(+4)y>V5?m0Ld`CINo&96 zVxMu?7q#{t7yEC`)<4i-SSMZV%D=0$7+19RWf!}xW*3gsWk(zh<@_$q&iP4eS8}mu zYIdgcd8eR@{fxt&s*QJavA1h>>SWCx=wg4N*=fJ)vM0LOS2R0yht|H|#V+%QiaYhP z)_%stZl>9VKWp}87rVD+=RB>Af8b(I((Kfgntja0UZ&YOn>72Pi(R1Eg<CW`qGo8% zVZUbA)swQ7<YHga?1GJI-D{<~*fD>qxN{wL0~fo#W{+~%tzGQfG`ow#?(AZZ(d<-* z-N(gVtl1?Sv};3L><yZ|*I`d^vG-{9`ft@@#G2(|pV#cC9qor)Y~Noh?!}JwlP-2m z&7SUPuXC|GXm*Cf-r{0sX?D<I?{Kl_YqsBEf9zuCYxY>jwWBWfdzyW0z0TTM7yGnk zZ+F-wF7|cJ&UM(=UF?+WDlOR#JF-@&t+mnY?v88aT<n3G-Nn(a>0-~&>?V$OV;B2r z%`WG#Z*j5T)a*Ym==#3R#XhRpb)2&MyV$>Jw%=h7cd?WIR&k$kj8Ag0n`(CPi#q4? zT<l(&z1?9iak1~!?57>}GcI<nW>0t6FS^)UH2VX`wXH7p=bHV3!!C5OFKTv%V|<^B z9sQ5)29EX#7rUNjPjuK9T<mU|-Pd9N>SB-9>^e@_<_)37^pIv74m;MxUa#55UeGzO z<YMpE>;i{f$HhLU*$+AF<}S7uZ)1u3l1ztvtBYMjvs*gs9xnE+nqA&u-|b=#(d^bv zT1LCrIhtL?VNZ3j*J!rouot@6J2m^7zN55qUF=huUF5J=x!8Yc_629Mc*(`CWU91$ z=CI#%v0H2Q>kj)v7khwa7dT}faIvRr_DV<lw2Qq$vvVBw4=(l_n*ESt{F;k>M6>%l zY+vnATl-bBv$SzL(Zv=`p|fUTr{uL&IB_}Ir)5GrC3oQtH?jtPxCdOm{qQI6k86aR zdS8!VFg5Q}2w(SUnUJX$9aGnZsb*zhs#&<H!!A=xzr=?sE(Nqq$kb(R3S55KV?0fD z3^!Hcn5uO&0pCBmBEGbfE$-Ya`Vg1+GSro5ej({aScrW65<Wh3B|5n^4%e2&9{G?- zBZ+f|=ttmXzUdz?Zo`lV@t5uK8lL1N!w8x&VymH?-<bNH5^~;Jzy@kQ%6!!k_6Xs# z5FQ;nKw5-wKKN?4FFH$wqHw%B4+B3t2E4*Rh4L^^BV^z!mw^e2>=-Z}H;txV?XFK4 z=s^Q5Lk6mYuRT~4W}wVO<x*o6`%wtj<tgCcpV3UFXIbvt%5?!~!5T_1_*e8U7R>iZ zkW3!norHpMfET}2bS0Vxc2@(pm#YG-RjC}R<e78vR*B``i&J+2&oRBKGVEtd*ENLk ztS(;>V^zt~bW2o^CF0$MVxnJALOL_PdsL*MlU0mDoUGb|lU1|v9A!`{Yu8ib)2pV@ zYQOlh!~f&#z2l=QzW?FbySv$45|R)$1wu&#luo1=X#qs(CG-xVm(Yv!B8n72i2@1+ z2nq-&7^)~zR76qK2&h=V05${!MFkP%_daLN+`U9Te4p2oKQ^b&nRce!xpQ5!Ae1zc z&<dYmmu#r2{V6kw47Z{FLsadf7JZT&-)O?#U+v$lgE*jz!w{)ZZipIjWv>eJsIX>0 zzk_q0_5fVP0rUjWhk!u<mI8>~DSl(GnE%>BvFuoI-C23M;EjYS_}af)bs)qA4>zgc zcf%4FJa8)b?|}PGh~?WA{46f`fV^&p?d8)VEE}#|@ZNJ$gp@6Br|!B*GcwVMWI2&l zf>5!0{}ijFqo((5i8J1xxO(_KswO?o8}~_KciaR<_gswolxm`9(tV(w>-L3Si6xZw zc~t2y9<kK88%xULF~v8p5V#VjArr!gMGxGC_5H8VWEQ?#e|x%0SV2mW-C^V#O0M+d zIL$xq<oy5>I@?M85K8I?N=hY+y#wz_+mG*9kNx<L_2O$FU-^^}Z0xda6wHcBIBMJY zJ7nW;o%S!b-W7U6rHkMSKb1--go4z0{f&8?_HUYZH}SaWE`{=QN!xtD*84h?-q+e^ zZSO>geuC+$DK+TP+_aZQplNRc>PtjJ-U;9Z0I@Bl*7RV7r@TnT(-=SJ!40$lpkhag zjCuU|KFLJkr$z~wDh^;O02Mn)<jjM*3nX_1MX?&}z`p=g?6v|j(E-Tp0qaMSIm9v% zCv;0PcJ3#cFTiS966u`*FcARaI5IY^5O`%lT0y*O0ImZF&j%|WtiV&CG+ufL`^{oB z1>eLQm;X0RhOGm+aVb1y$ptWqfIR@72M|S4o_B%m16KB90EnnF%bs8$XJ+y+vGx({ zAUw(?`gm>}kt-Y?)K$7ZPJ-|jaL=-lcAl(xGsDope1}BZeqvJRTv={<C@RA<#ZZ^B zIuZFf4W9zD0jSusqHn6EKgsj}t8i%)#~=W;0pMLK%1;BJy@=idz<i>s*xF)%yrI7w zGEfN>w;BAveE?K!>++gw5_z9wR>MY-BpBNSpgsT<+ePF|$g3F+x#MVQeM#<H0E+<F zVkTcjNz4Z;$H5K608k}*iz(xl=MuD4GWgdCQ1w!z9VIswpew9!nVVu($%BM7&afIv z4XEU$!g|uM4z$%ZrII%ZYolR>v`z}^pkdi*S+U|URpeR2PT3@D2XCUVDZX0e9kNmA zmhAQhBWu-iu&WyOESvp+gWcM&yBfB)nXp$N^jdQrvXhN$w2}2Kaj@BmvUcm6=DvtS zEzz#UXgIFyy9#4|M!_ExivE>R6V_c{>TXIg<`Zq4j$v4pgnk-V3IFJzuW_Un27{bp zp6$#Q2b)>yWhp((mZs++?HfkqE^eyyv~)Y{@FA1B|B_$t!LL{&W!l%{kSRrjOWl79 z92Y1}vA6EO9DA(~9qF$#?xh$XD(4BCa;v7F!sGLCuekO{nnCduN<N`Da2>zj3B~Vs zC>AHUh{Z#kW^veOmKpl~Lstp+{ZD%;p}lSJ?a(;#wjM`D+PwXtF=4+RM;6#N-w65m zhUTrec{@Yn)=su5<MWn~y)81vP#qlLX7W-IMAiL3|Dk$lB<;ZTVJixAq?eFFA$RUu zRk#XQ2etu6NDxs|WfdXnc?zuO?n2~P0pK726+2GkOeAVga^t}Mk>q9os8)vLUMi6E z!z9-Q><(ZD`T<a}r=>zonkz`AE?Cc#OcR#5C^9C!w@IcnSZ5*QsR*D_S)><!8QH%p z8oW=C`L-Z=z5?(pfY_^I!jyuG#4Ko@0yj{Yk}2^|0U6KF(7wAI_<sOE+{={w)Q2+n z4Lk58FA!E&!%}vTTP>_{h85B}DJec_SPgBhauu|zy9~>OMjpgMa`%bcr$)|ZSuKS{ z!SJ$Shay;42RjN)hI3@cN^78lUDdGXnT}|Ub+B6-b|`wzbg+jT_7Gcpp@aQ|VTU5( zatE8;>S9O40c(#VSa@9rq*Tq(5?6Laj7P;9vT08L!Z@E&svCaWQ%WFnzp8vh>`^yT z(@x%tBSZPFq@@&gufecBaeIc3Lybg}i2YRLO+teqq>n?Lxotw8GdiKz=&y9V4wvY; zlC0BY({qj$UxRfwP1b>vYiEHg>zpJ<hp2W!1EoSy-h0!yL5HM_X*wiT`7TL^qJeLH z!2;c2szMFebRGp-(q%+&ijx0a+4GB<;ie=HH@>?u+`R6v^biENdQKQ?)<I#@sMAxk zF&(o$cW6yDTIv-USt@@kY%cui>#t*Fvdpywa`8HhuL*_7H9FkA=<3iNZeK~~8oEE$ zqdL#SP+L<nZMu2gKca#jRiYr7$DwhLkyS?&<Z)=+V>*HHlzZdXTq%>fR}+_lT&AM7 zA0_1WNW-%XjA<w#&l&(50I1{(lC2Tob2%xyd;cS>d4@I1W<`qi7Y)nwe3e{USo;hs z)Y%&di#q#B!yae4jn&G*zG2v-O$Aup9PC6CCVQK1*uFsyHnUO;OR2T4YuTu;xkl!B zDHK=syK(4{KZ~kq?pd&2iq}?IdK!=`Q@+*3c!iopZT=%FzSuuR)r9>cw(2tlYEG*@ zLpAp+m;7W=y<qZUiWkw7+T#L8hQi?{XX-hVspRFtu4GuIoJD<;L%oHO*=?)8F6?23 zrKEC2{R4;kd?T~i)K&7A!ro|DrU7VmpD9v%wUTdA#>vR%d!k$XIE%Z*)A7<RIu`5} z=k5lpL_zZZhi(xYR!O&g6Zd+-ke=3Exb3v=0*6<xQKO#fjS(9(iSs51LT8S>H3Xpp z_o_^{Q7%>QZT%_vs03^+^(WLd0mqd35%l%5xRiHF1zRYt?O`0t)(Y5ss&|l8{Rzh) zA@K3BA-D?KWW9G|rohS)*Qg2ORlQ$gidL4;(T)nQp}14lK5SjJ80J<lf)#rY7OI;8 zj3?kV0LKV;2f%~4yx8*zfC~hC3E;j80KNyXj(}eQxGLhk8G1AQ9!W44HCFHAn0Js( z-kd@<XmhFs<oI?O;Ol@#G!c1f3;K4M&8Fcf?^5yi$o*J#d@KlM<ad}w8|SMY+wmqW zy}_z5Oz7;AOboJSWSHygAY8kly<sO+tJ5lc)AL@w^);Ux+eWDKapue#uD?6rg&=qy zyH+-|Olw&LAs!_mRG_)=s~#Y8d-07an6%m)T813ohO|F0B4g};Q?oegWvyu5Bjj)p ztBn|_GLJU_<p8|$ZW0k{a=teOF)tsaU{swgG-`&v=LNA#A;os3R>?tF&-CKaF?t!z z72Yf<bA`HnnEEHuD@h~M_fitlyj0!(t{351iGuWEyg1>ZX;LM>x@Am?rt$HT7;1?0 z>JD(tM}j=rKLF{(FEEic0w$%OkWAnL7=ar!%}t~Qz&{1*B_a{*crXG<_)&>8^Dovz z?^&Agn?f=TNTwOf(5%0;$e6S`lFVR|8O<^@;~yh3rVUIYnI}kQ3Cqxoe|mwmvPtGu zlG)8NG~<6#Wc2h2XRb?t{UOO5$4}x(hlp|KESdR@ME=H)s!g;0B?a6G#DEw`#E(+R zMTA)zws}l2<AzF35mp_;GC^G>KP0S9h85BpDy-3l)zBX2UlZ1IhUEzJ0e495h{$a> zayHAl<Y<~l4LdZ2zu{p2YS^I#K%j~)Cu-QyXhxjj&=fw-!LDZ5p#?x02fK}7hi3RG z4)zGc4$biEJJ_6VXohcnDUFlnkU3fvW45nFL6r=<A5Kd^DEBOJ&*DC~yA<ZF^g$C) z_Tfl!pfYCEt`C7P<JWqg1YVMa=E<;VTBaw*-5g{+*I&Z2|3J1xK{>uj$@4S6td>*- z0h)FZfOF_l-kHWM=H!*P3qrBU+d;B$qZByZ1)+6|HQ154Z1})s^1jKSZ@h!8+ofTt zhid(f#DCBaV5XfJfq*p3mCFT@Q`Su2hjB0(0$({8`FiTEjRA%K>W*@yltwTrNOuII zIJ_@#OE3!0M;c9$0^hY=cQoIMJ_S<IG_04B6w;qXlp5nofE;go-+(|A5d-7=7+()S zw0JM=OyV?9YKxxf!Rz2wAPbDZ3jC-T+89^Q;Z!)$cM^Rc(`hq21@zB|ev;@vFr7BP zGeEycbQiXX1BLLT5^2LbT@p6cUnB|aawJogWMXK;dogr>Oa`eD(OcjrrUNmTyVMLK z_XNTl+rNmh9B{_v_XCeNwr5nsq<}WI&k#Tx+f7nX0wl#7+iQW{W@Ec@Z(Szq;1cSa z?~<m8Yw{9d9M_BhF1ft@-Zp;$HTjH)Uo2>+avz;Q2{_6P>dtmXiFhq7Zu=AQhA{qb z8`x$)F2eRm8ro)0q{jsL!Z#K20+n!OFaovkqY`QB{U4DrqtYRgNhg_ZBvYHV-hCN5 zb7p-O7()Cp#8)x&sNyn;|0XGB5n}~05^2l5geV&0W$prdC&}z1nHbt~Pr(KEGl_nZ z=s(~m@e+RS7FFYWZxZof3p!93KdLruuU9D`6DUjkD#TaG_e#rO0Y%-#?UACRuyz`j zJpv>@Dy%%iGJ}Xpeok2D4J)K|SXg0Y{*%@{(vFi2E2K4CSoI7ml-47{>S9<St!=^@ zYgn^PzPv9;RO3zZ9gYyU%E*SsvLg=mUc(LzRzEn{-x#(%+*nr}?7t1$-mUkks-clk zm%Z5!#|puOGHaR`p;=gM1T;wU9?Wc^ucJka^|O>Mjb431Qr0;s2cl05(Y>b4(K89( zmkvL5m)c^cy|r4GM9k>RBU%R9peuW4IgC}V4xskumpatFW}F+qV^;^l=N|%pAoHWD z%eeQI8K89Z$9KlujmQ=~T0jc)#@i^!mMAFa9QU4vK!I`ZQ)3q6o)!37&(q$;U^W=W zksEi`kTB&fEM-kEf?DMTA*qF0ii@<Cp<@Z`YhJK+%G-rf|9GxabOgusGqm}7%2K;r zO^`4DfJI7`+TjW&;}N7k7eTVr9^Spfy0XhN%woOjcY9QvL)K{{p$wRTcVId234RLN zX-8=q=bB1cy0SljQrO>MeT5?O_<+@}foGwMQD@meJZ16oG$`KQk}sMX)Eg#<Z-U9X zo(0f5Z7TK=!<AItgbjydl?}hwQZ&IiuA$gIab1K=4O;kQQ+dRfrrOQiRP7j<_{ue6 zC9oB)lJ_`;5~6?xK7(Qb`F3P1UBcG~;ska^A?~>j*89j$Y;J+@*3&i?`>U`ji0XDy zjK)uDO%%jc;Zi|Z5q)*=ruEn=Nbo{e`C^4kErmKB6^pm0DDwNtPY6PaUx*?;uz66( zyq3G@kkPv-s!hFhN)4+(jUh?WurEBx9#P(-?)ng`SuHRE-riLKr%g1v9_V-yDJzQR zkj=14Zc@s0@%s2%%40<lp@PKch8{1B;@50f{h=wiudfEG>_yn}lV;P`_#>9O;Wm9E zJYx+NT=}6%mTHz^k?dk=5vD|4*=;Lewnxe$kx&b#x5!z++W}9Vf)uhu^#EFAvwl_- z{SV9oqxKR9H-S>bpJyqE3!v+LR`j^N=9m__Q2<jh<Fwk_uDQ9EN|Gp$s)-0%N8qLZ zpIA&CJ5?pv-5D44H0@ILhZnFoM=DX5;f<U6Ytvp;DcgnaL(+A{4kex3RFJ(;ml#~R zgCpF~TdfyhuKcJROEq0rm5M7v_@Sz;ToJ`Z9Ul_pNC%`-=)xO}lg10ceIrDT$`(m^ z@iu;$u81JB@q8foBu7<OyGq!Z;uiv+bkoa$32R~5pPYo7hOe*$-`o)V-Q5K>kMBdO z;2-?mrFefF$s~A)?r)#~7uRqsP9X&oHT>?QNU4NJKGgI8((*raO{w5Uwvlk2(t7zV z5I%MHL?QcU-Ur>I8t%~v@G*w@tX1&1{@_zW4KnlDNoeiRUeQUc;7&KawOM3>3hv^I zkrT?Y7!J1u-(`Yavl~31F`(Bm`UGE*&q&1=88~tPu0s^G%*_mFM(~BWu2FU&MR=)@ zRGGH;R%`Gc&E0Bq?_n;!JQb|K=OO)cZDg<_i|I>#gZIlNzh&N?3=0jlg)eOj4YdWl zxA_3GRJpMgA=j0W6nqa7pWSTb!MpzSI%iiF{+g=(vo=VmtM?r|4SA;y@bg1$Jf<#A zh{0fYw$T@ud(&iOya(g2GzOmZBBV7wpow2Ks*QdZ?Cou|cMQ@#=B@J27r=eKq5X7l zt1@H*^iPC+FiG&<n1BS&hAo^Tc$XpI-v~Q2RO8XqTHlutl7UPFzwqu#!DO^P=rPnP zGO{tHt&FJJ7|5yScv5q6u-2tJ<S&7P_Up;I_AowPNO#CbbQq`E5(Z<M!_s0HNv;Yb zZGhBif#It=faWa$3<A)&m0!h-0g!^h<NYd-8w=z`P(3pMTqa-vfV*1*SO(xb03~<f zsA&C$dV*yFWU!WJCiH_t+u()irT9_ShN;@0v`9-W2M>O+yUKD;)0{uM6;-=6$6ZJz z;SFG#D@5ESY{`ff`*27+pT$`&xsK4UXcI0x23Rvoiw@`-roxeLi6*|o64Q$Pi{^rf z3sS@EpZfJ^<a`AR-m?+N5jY-0JunB<v}&MU2J%*0<o*VLYXtaF9o^HhHAkK4rr5<J z4*q+Z%DNmFyC4x!q?#@y@?s|VTynWJH4#0N|AGhIA3-blB{YIJ@Z)=3B)X%XNp%L~ z5@TT0Fp7(+A`j!isNN2#eJpAwHLH&h#w?0c2@n-qR;JJoe}}WGA-Z>|(5aAAB88M_ zp_G>dpQ8k8g3$>HTBU^hYZUH05Ig*l8@dq<Ra9R2@D4GnQc}jRn4Kufd=zkdD)u*k z9E3H`Apk|%12_txHvy*rECCQr4Q@>>Z7F&c`U<X<gKqE?n89EN6xm+k>LTmNMP|(v zA~nDS$fG@3*hI1p37zxLbS`6WvHL>K`YJdOQwd&=WM|az2<44)m`ScJ$Q;|AZoNLw zZS45ouc1?VIW>}sCG?>HoOx)741RMjc47KgSHX6CKUylX=zcsNfu}v=zX6Y?m(;gQ z^vR(@$?!!(jo((^+>y2<Knx^7Do`0eu$%$HdbV6c1v|2(vk-KT-wMl}7;n%?EPp>% zcceVB+}$_KSe^iZC?Yy7TOWut1-01_r2<1w_I)FC_aeFnsFN4bYKe!d0cbm2OG_jV zq`S|d`=Zc4Uicqf<VCH<EeWYqN~4CW-~f)>FT*$Y5Uf&y0~z1f4VfXc8~f|bB&|Va zhImWfcT1do!KDUQM@ytQyS4|~_1*zmoZ@U3aNs!(7EUyA_Kz`|E#XPWSs0mL14by$ zs-9@P6lWjk1%TpgLT`z)4PQi;BRPt*lR)J-dx-#wvyb!vKyfxIL*nd_|Hj!L;Zkr3 z1cC?fqpYNf+8=7>F4%@&_<qJjTsS^KI231-G{?kQ%(f#I2wO5@9UZR?k$5u}rzcA) z`4^%0&?YF(9+l8badsS&c>?ciFA?v*adsAR?n1$HoV^OiInL&S`bteuDbC*C54oo} z+mir_vo8VQpxLsn?l9(X2!f^`YC(5@6vN&4@pTai6Es8Lh~Us^*yinux|Aq|&Yn<? z7$VBlZYfZ6Y=5erPP3i_zmcRuv3(|~>=Uk0u@b}vMcc<AN{nf!p0YxxXtOFr_cjoE zDB2#aqZ2geJi}@sL5j97AVDi%xD;)F6+8U(7aeUMMzp;kA|~3R3o4Gbc&3lJIIK~$ zEjs|EOVPGF0TgXtB7mapNdO#eOH1xjponNY61u^A2BNHc;m21)xF*^no653;NX_tZ z$a6PGw5=y}&Og(+T)f{q=)ON4h$&I;A;}I$+YOFlOnzICE4Dq|hP^W!c9ie*{|>Vp zK2J$p$e>(K@(x4u<nTEQnT#T0D9HJCNF2AfIzxAVsAyU-M5pQ6%OPV6y*Xs8AL#Q2 zp~RXC^V519@F_TItz`|gRz7KM@qTW!_L0_cVLG+iQ(8X?!%PH%%e|b|@1*6Dkm1x) z;YsUU>eu>Mo_*FCDP80M89x{S)8EC$%M1ZtE`*oBwuAfYki0ca0&4q#I#MLP1l>Ym z&(t*mmFAoZGvTH8qp?veY?q0qMX_-1Z~znwn~#uKm;<?bBuBAuBd8n;lSTrdSokaf z6bqY=k|2;*TbGq%&UpnxK=5M-1h3;qSuafv#lpg{&9M+uWMz3}B2K}rvgVjrNOR7z z!Zxw+@6n-H*pbEcoHI^>|6px`VqqsqlVagaChNiPC2{xGSV&X*%gFgDNb-<#?`U-H z#)EWnG~~Q5HuO{q6Z>3yzzID!P>D2oy(x`yB{qrZZz3v!1MC_Y<r!RwR9$8jwSekf z8xj;#=8i$K)r3nir71Y*diILKp2O7_A&Dw_4zI&^%0`zOQwJ6)e4m9y4&T1904RKS z1i;~YkC<@Gc@HDG;2H=7zr>I4ph%eT&6)RP&6)`JIe;61ILXMrlo1NxQR5JezY=wm z0SV#%-mi173m0$KkgpWNYm!o=R8UCC8X|Tmh_{5W#3Jiqp;H<357E6jLgygPp>{Ni zq#9KNh1%grhC}V^1W>3A8xMd&Z3h4xYL|$QIZ#BX{SwxLE5QsN!;kM};hIoOqmwmN zh!kr7U~f8xQBjpaxZNQ<^0YAgkQ{i+NM?!dtKmRIKzWNwUO3z)ILsv9D@Z@vp6({T z-yBlLj_*AQPPduda@5@{!6T0{91->wjHb{POHo7!MO>QXZE~qY^$@czVecwfCag6w z|0hZ%^06<VdUx2iLG=E}fr*h#N&~+qjP_LAS-BG<f0^XKcTaSeeg}AY)~`AN<-VvU z9xO_aZ-_*K6~pFGI-7SOovz-VNT(g-+&4EcUZEYj7U6W08Tc!qz8SdBBTL+a*y>0A z$rqFiqB~}{?n1cSOIdLuLi-u(kOuhVA_-*eo~V4ygujzb;B}U$S^5D1BwRHxO3+5j z85urik*|fr<{^%U%>w-gI1xoe&q83;9!A?*24EF{m=^%#fmIH|o)>`}2Q{LKR1Vb^ z?YLT&5ZtG+XAMzG7D26;kjDi4sw0zG-bxqx4{!L?@DSbGPw3vhk;*$<5dE1N>zz#9 z|7a?nBRYt=R=eRL`fdmPtb?8xqWikZzJOg+m7fe1RV@@1Es6TeCW*q`Siu2dWzu9! zzlz*P5z*PgqG_M1zHG^)kVanE8EB-u4SEz2JRbw9G7+)zArYfo41x@mAmyUFgFeGS zALXDgbI|8F=vy50kEVx8<4}n1`%CDQIh`gqF^qQjb~QY_-T)2vt8QqRYq^2HP0r4l z5i(X30>;_59P~;KdUT2ol$5!~4tf=#Q#ti;(AzrX$2sUzg-*^sYtyyEXjwG5w&po> zU$td$>yv~2o`ZhLLH{;H_q`&syZ;spH-sV5>QY`owYq$j8%jecJqZngh|Y!(o&mzo z4`LJ5a{?t<h!?}|4qdP?4rjO%wA^h8k6`?x$p|Bqa?ugGq@%YWnc}`@OfoM_K{7;i zCc~@I(V{V$G)nu{A=S{X-)LO<_7`mM)Zky(u+EOu3DDHwEI3q^_S9gSEU-hw6ioSP z7M2S`@ejZd&BA6+MP#5^*wASJXcks?x>=Fty41c#kfT}H^Puu9>?Z<f7FKHp0Gfp@ z2f$-_!v}R!G3S4=^EUzd!BR8*s+qEyN^_;L=_$}r_j(w&Rtkq^U|TfDIRo1!Y$zZA zDeGIu;`MVD*E6u|LO-WXP_Wu0fq`aVF63ESyU!9=Z<&Gd#HmpuorxD@;xr$Xz!Rqy z$OTWF`ig{^I6XsUNfW1~vrs9cgi8~r8Iodwt*_}KBGV>bSMr*7G)jDNV_2g}(^XjG zNmJq@0BF)Q9RN=ZE{cI1$YZ_xJCX^031+a!Yz#er3RfluGF6J9ZNfY#BvJx2J*o-e zh{y+Yc6Bq6$x+kBnpgsng#Ox)3Qdl>kV+Tf8Wn4+BuG=EArJ*aDt5mkr?Z_L@3+DU zO^?)8muf?WP1B<(NQkFL?-4-Lqu`?eXnNEF0GGno;(7`cF+I8t`@tn(29My!cU8D{ zDJ-6dOj&z{OpP!GsZju;oj*%5MRih{>3U}eLzaW%o8~|$|I<-A-cFJio*s3Q1jtbG zI6<cBl+Yr*bsZLz?~FvS+sue8uS5fiynD4vJgl^JY^i+~qWjj#0|t^O-!KH}O|JLF zPzDuLzBj75GpuB6bE)))Q0%nHbqOVxd`!ge1C{L1=WnRv`Pw?-O^8uP!b%Pdjco!$ z6jsJQhT5XA(rpd^3M*-kOIS(S?o!1_j>5_+P&ureCxF6A@>~EER^|ZUurf;)`;Nt3 z9$X6+nuof+4?oIUJ5xtOs@0#_ZSz3k58+T~2_RKu#Ti-(&C-e{v~(M#aT33m#dT;I zFZ2hs2?{NhM3q8IPbTZdT~~4Ume8UfC?Mxonjz=(Kw$(N=WtTwUftQu-p(1=;&9S$ zKEg?9;ZivHNKz>fPAZAWf5J&F()+b3tWh}m6xKML{6PSPlLr<^0Y4)K9BZ)FPz$bt zK=5<?__9U9tiiZR$a0U@U`D`fqRpaYDab@TfrznL)Tz<fn`q}{rJ)NPmpPLP1(|B3 z@^@$j#wu24u|YxRLx}1IsH}cMr`(?n(Y>>U9ttp*Q5-K*@l$|lk3=}YtR{d0%mo4{ zz}&S^0!+W^x@MAgaDeFs-QaLAgD>F6H(9u5{YB4WtmZ<bhByZDCcMlRI(a#t>H5J! zv}0e+m*hYsd&=vTd~k3%@5pSjM{J(5?MXk~<4DZd@qI1C+eDi1bY$>TM1{fwRqzZ? z72ib;ttGM!qJWYHHrb+i?Is7kvxEMQ&}m9I(m~IaH406N7TR<w8mxUSCDD_(xwmlb z?``@DJ7lyMq^<e1R*9y^yf>vo9-!*#8<x-l8FF0So4g25b_?Qo(yN~qcL7(`Yb{R} zth;6ZZzCQt)Po@;svl9Hie(u=rP5KexKuuN%-)AP=+}nn7EbbyIp{0op)Ap}9rV2p z`VI&ED+m3EgMP(9|IR@Vm%Vwif5Sm9<DdsyhHAB*gI?J|@8qCA=%Byv7;btx=x2pa ztzdkJ?kz8yVf;e=8OLg4c}U1|Nw_Abw>s#_4*FpSJ<UNs?Vyj9wm^3Na?nj1p~e=E zHWO-0)D&wz5~`|dHWwT0^6Y}NI@omGfNAYA1H-{Zk)aebZ5d_Fa;!z>+jP_T7YUcN z*4SKS{aas$9!hb)O&2X+xO6Del1`~c6`~^&ojk5uuWrFQWfHGNE~6{BvOBjnXCNl| z=s-pm+PXdiG08_~Aly%yGY}eY51c>d6r93V)&Tb%ma?JU3cJ+Y_|gyx0RONLQtLJB z@CFz0H&K&zQo^;{BH=*;h)5eWHz}RAt<XCc`REK*%co3_e2V@0f$%}2RdBIyHP}-Z zV?T$FYGkoZE3087pVZJOHc4i>YvT*zL5=?dah@-{EOUEYJI;T>H+&V_U?t33HjDTR zs++RRmdzsmV(KTreS1XD408PJ;$1lvbg4^W)fiTgb>y~_O8!O|y_tyJnJXpb_@;GL zSlbp@YL3>y^Bz<lKaZiG_B4TL_>G=lpG5s`6fu5mgY6e;RhU~Qw-lMZwi#s&5Zc1| zmio-rQ{H*vKi?>{+Ofc~J`!ZwX}pq!Izc9Io7B0ox_s)L6Sno60A#tEmZQ*C&;5{Y zjjGPk3MlWlxH|kor0oX!b7jvl)%_M%xA$p$p(9$Ps0~WlaX~26Z(328s_yo=Rzodr z;$B4vH4D|YC4PN=e#;=88&Z0AYDh$*<63Dj%<V|<CkUU=5$|tlofCw=h5O|NFZT@E z72TfXE5tT?ETMKb03SzZG;JBsp~@G**a~3oRaw{yE$pIQ!w;SXPR-00$#|>hNP3j= zMX@g%fVvOk6D+=H#v@md?NR-duL$G2fV-FC1v+00<L90Sf9$|<_?`;mu2p_jk&a~f zf-cG>b^!ahn`XfGSa#=8@ZEjNLqE<%_po_a<9z8X6w0}D2-BC)eQ9iHGZ+zDn&^ts z9TeL@2OwFrosn$Cl7Et9TZbe~$-*x~vUz(*{yhbWrL$z^9PCsOLnjm>MpIQMJ*uPS z=v^qRbXO{r!=48HI<%5&2=ieiPTpX4l>DL47C307AJaxwg=kh&Lz^A0b}^lgZFnCQ z`U9s>4ojTK$j7x6;#mJk*64ZM4Q)2y?rP2vTg95{G9q>&eCE!OW7xh14mPu98J3DD zEj-B(l^XKipGu8uqC1z`3v19NVm}uD%=w??wp1^cIsvJOd=VmpG>-{Sdd;P_L9%fF zA<8${mHi-Y93*q$qrnL8fQ0ftL}?Fa6Qy22TgV0Dd)xLXW-J0jS>xvDLTQS%*gudE zuf4~lOY$BpN6cj+iM@3G^G$R$qqHbuq7Tu_sh`6nZ*l{to6|bKNM7Y5@v$Vy*`LFS zzYk8t8L?<eD*FAyO3jv9O4^Mqly!CQj0W=y=>I|^>@NUMuLW=xK*l-%CjdOS9xagM zJ#HLDJ_^he0pQh_0K@|*wE;j9fQ|%I0+3I@eE?=}1keb8XA^){0G=eE3xG~91Ly~! z`6~cM060LvBmjZUel_?}0E3^vPs}s;S&ZZdbi}&hIUs|;PhKJ!=>V!!UBn|&s-`L% z^I5pLx(W_ZjxTM7c<@yi2&yd@Z}Np%WF<c$@MQhen+}qMWo_saRwjvtRr*+nN?eCz zjjS2d&X7Nwz$gbx5r2p!r0pSXr8-mU73b;H&3>Hkj|!dO!F;F$w~z<5L_kJ7A9*m2 zzq#Vcy4)LP5_eG&lC#p%I$FVq=QS|Cf(>PTD1{MKwXhll7CSKyPFUxKqp&~uxZ%Jq zO=JAk@Kri-dr^^awNCQ`?u=NR2c|!(zObtWy=t#!)0k*IBJ{!)3#pSf9Y(Prh11@3 z!Y7BU?vlkHcEqcD(cpCTKsexTC@G<&1McGW%mah=QW5wz`qTL`M0y8`8R|3MBu5AG zws0Wm5$bi98jo~zkGPwA#6MI{u_r{(ERi?aQdL>1$*ZWzb0S1;(*8|&L)bfROIBma zp(OdYLy`h`tdg*2>=(jWW9`NLthJD|ia5eP*^e~@qt(#Xs?A!jlGa@gEgmdJ!>eJo z<U=fZlq4T1D47GvCAMT!mh|UBa+O08wTkOpgkYNZ1=8Zds1IvZf>w!wLOO#XfrvbZ zS&TVoE|q5MUNCZzM}>Fg77%bxnPw(yJ%vpTq`hXN<p0}1PRn!&lQ$gs>Vrn?Y#`Pc zG1K6INHt8%ps1{QLZ|u90-@9N4vm%ih<AnXsbM8=7G$SWP$rGISVg$x>6KeOO>#D6 zho}5Fpeqf&)&<d~9f<I5x+73;Y9xd5$E_k&1);NpR^X<x_Q(K5X?AdO@it;8O`6Sq zED?XygOO^INXj<REGn&b_|%_uO@uO=M5@(VD0IS+3k9<9NdgCn?RTb%ZDlI71H$Lt zm@OTF*OgVI`YD&ciY9XD?JjiEuto|(nJSMt7j-t?Q!AJ$@9PdV?|COuQKkZ9Q1SPu z`@&N5`>DxAt1=%=a;elrekH{9Dj0FJ>=6RL^^sbVnSPq;rIzBUo}Z?9sik?ES7i9W zkt#LGg+73bA==>T*wn=|H+Eg?fsOn0Z=u9^%`gOa0ci%Dx|lR-(yJk<S)@>N`5pqx zW2sU4yI~M`hNv}$s#NNgs`Qmgpe-d@!p|^WdU;`pZzNocGgyP}xz*Gf{riqL;D}KJ zjO@fsMy<whIKGK(|I!<_U#68`>0^D70}Y<)VZemvC`Fn&q@Jb}Rl-J_a6%K_un9*s z;X|8nL=(QT35S>vuMHkx1g|!+`IQ=LQ5}cgQ)9^^SLdD{)nHV=VZe#mfbKfhU}<^} zAvK<;r5>6Kg#;HSariEJEIh?ujj{bzYB4e**6$MQmvDzk>I6bui($R=6~ZSHo-mtm zc4Zz5i{>2B9PlP2d$Z;TBsqfc4Ay+p)*R{7%+#7?niPVs&vW~6o#=&z#%<$yZd`HP zI0RlZ6qO+`H^yu&!>uNp4a8M^7&1a1Qw8u!EmQ4pxT9hJA0t6u&GaJNECi-CjnMtY z&Ou(&8%-+%`43zP&%il9h4a)8Sy{i~AqYxn9r3w@-ebN>c+IA~EtJDH<t<GSBX4R< z^=nC`(cb0ytGDTL?U@zFxood<$)zH6F0Bq)hI6c8e?@AqotW;gkHaUaoi*%DLIPb} zbd7Q3N-yYLUAl4PO5@P^UFu4B6fWreE@M@3RU^pnH^gt60do@_y?>JK{pg;Px$o;Z zATZVhsZ)4O;HOnU>QtxUCmBJT^q<DtHmT#BJdL2iracl3ULN!EFfzNchmOLlQCtd| z+6JR+A#N)gZ@o>{+Nqzi)`Xq1)&@>p;BCS=+#F?o)GpxMd^KKiH%^Ig$!grnQXRQD z9b<7T%U?Ki;AEBh8KbZ5!7796N8>sBfOB`$_?riSb1T*OskeZ0g!`QJzdDFFRXNOk z!FXZnswdddClBFOop(zj`z@?SnFsN|i4{$u`Q%Bx4Wr&bkp`_#`eRjc9`uLb!x|(X zz%TCu_zXbp4*+}s;IR(@><6&*2$m<L82A&I$Awtr`WP#TLI8Swf(JYlQ?E(_W@582 z1ES}_I06Y36ALIGCie9Mxj2wZAbZLInEWY#6aX8K0;mfh>==M10I~^a2cXPx06hVG zNWdTf8K2=6!!ZB?)9}-n28`{ebQW{=Ad3fU^~LkQq6jNte*F9a@hD;hN&yR`;m7AY zqvcDNOrWU>FHN<j!(u6)EPe3EEtV>M4ok#vSjxWDk|*oLbXtAK%!OA;2yz=>!LtxZ zUnoaB?pR;boG_81eVJx@y^go6`0qnf$phnAsHhkkGSXq`43W10`H0ChEX)G=FCw1= z;{Jl9X*|gVIhqQ4Kaf^LPNab-tIe(H)F6?SV9X{F>w@HbVyh_C9xO~6<PKtbK4rPS z)kU@_JWLJKY<?>6O)G7+YlK(LXF66M&0aOL&nA*6v2zVOLD-lyd9w0QVBUEmHoFdH z8;xn`D$`oq%|~WZzk39YHi|&cAn<m>;g~T1qW9tu5UhG01~T;o<&*}Zw?tRIE~KhK z+w&+GTOks0Ubx7hC+mHxF6$v7wVGXAb$~Ef0r$lR&5DU04qL`3<zy_&AfuyAM!kQE z3C;nQhSDd<;yPpTl0C&Hi{6K%HIRyLf*=w5z0@QF?#uSJjEbf)bCFa)L*zNNf%V-` zwC`#dFFr?}!pZ=c{3U>R042Tx5Ds7~0XL!B@oNBA09+;DM*s`I0q`||<dbOBWYbd@ z8k>N5ngW<~3P1+{pApapK+?B<)i4vlOlhw%G+O0AbJ76xs}F#v7#h;@L0S!x=S?7m z@=@ZsqCxXeYW6WS7Dn%Lsa+(t3CJLbVKV|yLy$ir@^e74iJUkNkV&+Zbdson5SawV zQHa!j>^2gfIl{$!l_m~n#EH>JAa#T5^bnL^ER9j8Q4#?FRS5V8lI;li6~K4`z6Y=z zKolu@k|DScn5PPWlry;Sq&5I-YR(wk13)5;dPke<rfYV_J|tgHg0Tkjwa?u~!t=9m zBfb+|Q&cL3#@QSs{pKK8nFr(xSn(_YaGii004ZkyYyvQafL#D`33v;@F#w4l0r;qe zcFL@S8<Dw>!3cbZ8agFhldM%n2z1!78$^X+Z5BH1xsB6wym2!FYZ{XPt&f&FIB3i| zj?e<hcS-bV<pZ0yEROh^7gdsOlKWl6ib-{+_H+FWo59L(wpm2smO3vmE%(N~@LgGv zOze+583A1Wz<;d=BeO%m=nDPX<8LG3nE>KbR1{@w<GQip=#10}eZlonSc2aiIB4YX z&*I&c=%01^SUh{Po|~}*@BSARt!Jx6s*PGp;%UHbCR56)EK;;Z^uCq~xEIS@OIfXj zO@;c4N&2Vhw8IoCRBM1pQK3emT{|4)GPPzn%+$~V=!mx(dDda1o0bW<w-mBtptiKt zVQIQp;?=anoevzAUNn|g<eL&=&z0qoDyF9+N41o;ft>@+VLM%t^f0Nq@)i<tUXS9$ zq(noCuL_}%+tR=1q!n0i2)o-`c>hted221tp;phR#o3j|fj%N%k96z918Sm{@njv~ zGUq4qw0}leSAOQzE#OYEKmOOuq58a?tfQPUj+jVBf&LAaL9qAd%7E$pQo<Au3iYHd z+JizvBZr-{JOqWZ!(<OBwWUQ1rfq1!QN-YVBO%_PX8pROS<}Xtid`hm>fIxyrrEYy zv90RgV?U~(khZG@7DFInrC31)@HrOj5bj5?vTe0yTiYQTMGUR4iDiC({uY@(kUl*j zP~j;MyJ73MVf~p9jmog~HE}2DpFXW?i}a_l{$hxg&qTTKVyi9dpC{2jWRd|<nWx1b z7w^r~br$LIA}*cv?*9>G@MVF5(uTD_4+un@bCdz^$wkv%NlBR+9)LfoKe>{IW55{; z`V6Q<5z#XPSn^MZ)C&MKAz&GRuL*boK(BLnWM5va?El55zJqt{JlY=uuFM!H6uV*E zaM0W^yYPJ}6;97Y!3wyi+c8o_)AGHQlzh?w_*dRK3KLNTdvd`14Qa=`3?LnpUSN50 zfo%Sn#$#HsC$`lgxFi)h{$`QLUNFv*h}B(eQ}<k}eG9n1y>&umOi<%~hh@+aHrNxY zG)X}wR8?g{_4t=X)X&-?wHK?i(BH07NX3odtV$ROxIe3Eq8Go-X^j=x^Z$gY6fNt) zSB+4XONH}Rzi`!Eb6ho0kVpdYT^npq?aTU5B;P9*uBK~A9ZGqJjb9+hlpxdE?N@6} zGVgN$3AmpuB0b%j;}H9>px9MAlx0W*Km0>L{rTSn1MVFAtH@JCloBpEQd)#bxU2+V z9D8zzJy=jIT!Nvpwm8Hx3yLkQZnE*dL+t5-VvFh+u|X2osJ6GV7;5`{Gsm?)7Ixu1 zUX`b<NHy~2?&H#!KUp8H{?KeGb-RKvqBxc!cVXF&`U|-8oNEm(i}t*3c|e58VpA5@ zH_AGyTzQ`pA->PbCo}wruOp~KakMIPW+FOImc=`6yGLVF#yb!@9$6Oc59&S9EQ|Ig z^#)CrRVWTHZznvh>AaPoVSkH%pu2<vPmw_?^;xUdF@-ff?O;Z`6Ml!6dc!5icb3S8 zi$<{F5=8QvU)0Ih2>AVoA4j{Tzi<-q{-b_4{~J4>(4M%wvvNbY96mKdyDp4gV;=f@ z!a~UF&6_;VtiNdnEbC8X>5bl_7Cp~b2`fpG_9=F9N-#y&!XkHcX)a&81z2A<S?=0B z@aR5ve-;7{j`lo^H3V<hXlk+Z*nZ*d9F2!v0M2E8AK(6Rjd0$7No6bDFCsYdc3^GB zoBjfv%U|O+E&=B{(0Juv<@iFX#;*f+^X6I|zW=7nZ#X+idrE&xT+W4?srB4B6A;}u zf&Lc+!d3xTeg(kO0BZjZ;Bf$75-<h8<UcS1kfLW7u;@P#@81S69Khfs01~OlOakT- zzF)@R{pD3)6moAUryn7%4r~IhVyI?Q-g2pou?WJ0fxJ&9#{n396~IgY3D+=|oIb0^ zN*YV5LRMO_^|gdr8cAB(bQwpkr|U>hD*@B&OH#GW{Z3mejY_7!)HT*JC<iwqDPOiQ z_m=dt7EL)4sm<&bhCBpS7s=-=F!G@0-6!1Ie-=`{lY$hj7cMDtk1i(>3W1p)A;wV0 z$U*k+83$8;0l5NGmAtS?R8JTHqC{MkY*H?G3Y2&p!iH*AmXpcKmta)*3u}e%0VpW} zGfD9L0Aed}BVvU^7HMItVyF}5A=Pc;VWk+5QILx%2SB~;QhkVeH;~;#tqvds)aytw zkP0NGF@7>YIYmA^2;>(^rAm9V+|g4U-@$g8U=QsrP0+@H4`|gE1zkT%RiR`%fKm23 z%%vAFXDt(R^t`zRL@76NoJ;xE3o~*b-$eli2Em>}q*codt$_^-d(|>q*z{m~nQc({ z`bo;S@!N`*wn+`<1JOYxSq+5#PXn(y<DhpCdX?qj*gP?9`IZKvtSJtm%C`#DHbrJ_ zbqKY)Rp<dD<PG~?7iQxh@qF!Bsdmc8bgkhyZsuz$*{5Mxw+wbGR7v>G7%KS#XzHnC zBORKka$-f7^!UI`9wdLaB_CkP7fJFbN86*;9Io)DXDRecZL={;ULeU&9g@^aeNClf z(NhE@<jKmNNh?ZT-N=pV-mEug(tRaed6@0S{pF#-%`g(p;ZezzR_AjBzHJ;7Q;@PN z`!5RB9GbUr+IRhpP|TrQ<1+~7P`#Z)b=VCPs<*TJRN#DaEOjU2mw|_8!1P%=Q+t`w z=O0WleJ!O%Xw*d}=%l7nb$Y!D7q78bvqYc+vP^%j?EHzw!)t740}K`7-S}&KUD)r0 zvxnE%!z%x>M|d81oh?oV?&ci*&HA~(W4B2%=4{a#B%-U}CJX%lp@>5wMAb@_Wj!kd zYC>;7!{oqc%=Jg6Nt)(2@>(r-N;+AI>#T6#E;ZnxX~*-@smvi5JU^LavKjEuqA+mN zWHaEQThSf>e$RSQqgvC6cS1sP-W5AFs!V&Fi_2`n7nHg3Cu3?u&xwQ(M^hC8zxNl@ z$(hK{x`5uytDhOA<iJ;=dK-Y+T&U@W+U|8+ecwW;d8<X1o;qc=6zXL|J%)o=nXQBx zEf)MM&VbrlU#@l#mxE@u(Qpjj0L*Nw;Sqz8cDk1)Wd5JVBE@!^UbGVE?fEhYex{ZA zi8o;!vRP!nsPQWEc~*$`7y1X5Hn4_%@Ra$AAT%Emgz}iM8oK`bha-WZY}9{(Tps3> z9?b}3_meCwGc)s?e2swrDe*ahBU(jIzcLSrfqoxgD?GEX*L7tI1Ruhq_sl3SRjq$V zXLuE@;Zi%0KoJc$MVHBp(T=^_6L3)tf3zJkK{o4OHy?C?>$bM(MaK8D$xA*)Qn6l| z(fT{%4P1d6B_{!H=#BU9O9fEQ%YOOCz~0^3_8!bTGw<=zgx0@40W#&i?sUL!kuMe4 zmxQyF8JdD->TB`hbrBha%fnolhgoDe9^huCN{Qf_#MtL?vbF?Hs%C!1#2k)Fh3BC& zaLd)ysni*`^=iDY6;OrNqwQvX&RWYnz>iQH)Oe&9IJfXG*vqTFfQl^hHRQiEt<kj6 z{iOAkX}PO(dv<dh{hDo8!H$wU9kb%hZy3*t45-3%$RP71;}@d?Y7n>MQ;g%B?t?J- zt@m%lFi#N5g$qMDpB)L04Jh4k$A-mjljB=vvRGl7`8LJ3-rIhg;#)7zxWn^MNbVUB z=8hW{CMN+*mR@=m>G_13Zm4fY!YjW}Q-tc~<`W2`h?521+}sHZF`gI?d^6b!=eKV@ z0v_J*Af5@rPY#xuaV&T#0ovg?;GD2IC79E@7;*B!`OW5(W6o9LSWV|gQ#Vw!-5Nh# z$4)usG+I1V)<B0)nile8J;#Gzz-_XptS3c`<~&^;V#?e637rZbv-xUKD9Hu?E6HmP zp{)*EJS7Mvnf#=-MM-|>5K~q+;gqZ&ss3ONR<)+kX%0*$duUYfR_d&$g}g-?9{sLM z<;=uhIGwb~tQ|%HuuAcOidqatVGeS2nfMck;g>;t1MR?_Tn%;Gf(v$fA{a>stK*5m z-7lRP+rfy~BYx2!H4O!C%@qQzBC?=ik6yGJwMLkKp^s|~6oB(}0ZcV$WD7q4N5;c# z_sF-=$2zcwpCdi@uo}QSGG3$v@aNXT(N647E#TqlaI_>TvZFnjkp)JCzhh|nOuKW| z*Bvy09IXQl@<(1dRMur-cG~V%?U~7Evwb@|X(f96$8|SrtKQn6Dj>7Iq6>5tj{M6k zlptsMt3rTZiQwr~R~lMzz#Y!!le0VsjALitgR@b@&^ge=$Wq9`B}Y-?SuFIU-*c&? zSw??6>mP<_)MzlYz9zOT4gKYkC(0<zK2$V~=fkBf=RqZNV%XV7u>VJ}=OUPIK+p3R zfX+z(yr{L`2q*&J$z%W}0i@j(P-QCsaA)PrEL)3#4KvF&Vjy>>r!|1*A>-)^pimhA z0|2Z6&~P*W&r`a*VkQAef8V9nzyr@@AT7#5b`F5`1Y`lQ$^lpjpf&*;0W1ZONF&DI zk`0`U;lDy;<vTD=Ljrez0m_B(rbK=NNc`OaRp}6b%b<GR1JIf%#{i@p2IV+_M?t}# zby{rGOnwjyaK)?hWpzr{ddUH?=NNV=!}fjaV6)~1X)>_<m{{I{XTR^UDy~q;nF%p> z)&~6Jw`06pMXJv)_?}dpm~+?0GjbJ8v%IDYbrEL3@yx5<6OUsPVg%^x;eS|P0B7z2 z&<Vhx3TPZ8=J^rWh>9r1D*$#Aa1%gIWdPx*?;8Zf1DH_-Kp6lR0SvANAcm$#(H~&0 z|0v3G5|Ex%A@dl3bpT=(184|#_H3}Tfcye#L{I{tX?)gK;xt9-JrL!hF;hBa-4J%g z;a-)`Y%EZ8j7H<7&Qx9bCP|CdvsVPfA@X2^_~>CVG=mxqUn-KTM}d^B2489|*5w6X z*d_#NDs}*Z?MUz-kmV%UNXlA=25eo>?5?3CYBoHcA(gdYd;*o)xwnz<Yz47u3N@z0 zRDjP(DB7qSkedG(EYt&|9b^)l0XQxa%|)UqNi+vzJV|r{a7`p+V^vimiOyi`g+%Rs zw~_Gl7j8tX1hG*5mG4KfN72yGQ6&_Ntv7{7A#E(uaqvTdtt%a*^;HtnvP~q#YfYBg z{3kkGZP6CE7Extp9e~A<L+IG8LMbxUS5_BkN95;kxB3EKttW+j>>oUNnZvFI+}G`` zB3yz%ZHLy>-gZ*C<dZc{5NeIhSr4v-TBBQ943)rmZPsp$c4+Sk<H~wNR#ddZ{fx1+ z%<Ldo^`!L>dz)d;Gtcv^y$<%LhTY5r3@c4)f*SlEhMjv$qqjPX4CSjhLIE{inF3w5 zr$7rFLJe*e%Cm(!NoA6+y;%r_l5b~atb;w>utPb0%E8Vy>}WeHpF7xl4EsG}+;_#n z=FpI9SSaIonVHe(d|B&Km0Cv}GdBNRopnq~ti>`W)8y%XrXwSlWol0Cfy##-?6_Rr zs1-#^z$N*9Mm}1~h2*If(L}}CD(#ItnW81B6?m&igVApRJDS9LW3HpgkN2Xmsn1xM zGJB&kKWbzL8CmNI2m4pUe$=piha7A!H9Hkm=aD$foTl*{Az!u~21s~uWfz%m)<@IA zXa!mFUaWU`eWW!y6VB@+jlV!RuaBm)#a{^L_0e>m+SjR$x!F1TsNGEFj{&aNI2wNm zc=%-m+{0Ly>6ywL7CZ??M9m+tvc#Wmx~M=)2((Xf1{z@S>#4qEVVDUeH*~H@8ak;` z>2Q8mPgbiXnE1BESyz?0g%e7`(Nb6T!G*|o$(1M>O;t6puIoDlQn@UJH|kpIJ?h9a z??7s+P@5U*hu=bWn^4n*>gJN$&eZ2%(Y+F9MlyFW{(UXreXjxE$@u;E1D{L$U5p>D zjglIxGGAkCVx53m=%SZ8Gye<=PlwMxqo#C$oo9*gdZ@1O#o$z2U}l0>nKK2PC}L>w z5HX_I)Aj&J{f1_eNARYLt$&U6@2XGwU}$|!d=12i?p;E2X`1w7*YP7<B5v#d#rn0= zpx+P-t*?oDKt%tTDg9&leb`7{Ey&FHXtf_ksM@(ZJLq2sox1bCLZ^qlkxyuOKF1Pp z-+x}u%BYi4&9{dk+P;K2Z;33OYx>}&RbG&hv0hb!ZSVx&8YA>asz$1oVw=)@QRtNB zY@th3{coD&3~ia>Nrp4c4;*Q}<Vdr&R0nNRe5Gv%+?y7fg~e?aNLFuAxhEw;-83pK z9hoPe7m5&-Ydjh{l`GLV3H@M7xVlf%1MZ?VWh!C4=U{g->@=~BYpH}C*}9M#uGxr$ z-d}~xHCp5uUDT9vmZVI@@rA@EdYW(jDF{96-Ni!s{nvPDT|`%P+MY(&xX3%04aMpM z)a3Bz%BGi{^tR4L-qWm)*yYZkj(UkT9wxlUH^475z8`q_EHuf6P}I%xPiFWVqFIj? z`*zrAB?JmP-JoHIonFGAuxX_0<P1eR9^SG^m$0O}33<B9_SC~$acM~Kp3WjhQOMX< zX(h2cR{ts9-N}WkuI%TZ!fl!5>t}f{!^qvVi&g(=FTJ#_x(ygONY#JF+aJfDaEm~5 z7rsld#7pu4cf)I#yWx*_kLv&E#jA5_B2wirT>mHb^8oN7Lsk8AURsaF4i|sS{?X7U zW&a53{mv=pGe>@63$orn%7>q^NY#B1>#zF1vu%7|PH*Jb|AX_=9(Z^(b`IZ!RWAGb zf3aXT7!h7vFGPP-niP_(_r#aEpBGZ6p#g?>y3((0+V6_xi%{+Q;p#6I;#1tdM6qVy zRh(z$9V)ybT&PCA(hfm=KZmNLa6ws5h&5{2O(20Jsbw!SiQs9ZcZ~zF?)|X@J59}S zrdGg&*7OwLRcXk!7uRerDjb2z%TT$OUZwJ>T0b5})jiJ7)kniYSN4R((zHRP5!wF$ zn(|Z}Caph@rM44J8-w+6{Q|1CW#fQ~9V`x+3akht{Bc?c-L?W3=tu6>Gonb((H?*j zCJ!8fYf3@Ve#c-<54aPynb4$X(rF?@ZCsTbgzi^8qd08<=5S61J%gOg#ttK>l#?a! zw9x!C;C+kJ7IMUc!0GCN>iw91j__Uh(2d~p9|F!7C-i5laZP|1O-3sHS^q`g9sl|X z_68KE?Jauu;`Mm24eIY$p&hsbi?77z^Q^4s$Srfg9b6oC(WDznZdUUaS@j`oqkL18 zZu@uP!%$9h4DiU0m%z#}#&JnU?3SN&?VAU}OR}U<RbR$3A3-N#p9oRArcIaF!BSX3 zZaKJk!Pa`3wJwv^R1vbZz7T>*OFeDUdV;lzHiOoMf?8J!Xx(RPJ<eM9k(R$(sOPbV zWrSeT8V0RM>MYeCVJ%mOi2DoZSP7ENd{3lW40&>#=U?tDMTaEaS$>?asxDG=rt&40 z;*(NCg*^6%N1YI58Cy-|(0HEJP><*Mx|S$V2lBR)O!8FQlrFW`B4~F!37#c2tgICx zOH=Ji%*GDDhM9296fn)ZTNuU0M$u==gxGA;W~nlL*IKH^U_Sohc43;CG;}24&vwD) z9PPT+7^2Ss_2~w=q1MfAE)_TRE0?M<j8DQ8q3?9p7;bsHyA*$JsKyA^ZB+JWyoC3a zmGC{>@n2d3WCt_ii}W9&Y8<q(AEYJ}uUU&7tQ=vfGSlZnOI%wKa&2MP|NpL$uI<`F z*mQV9p53cz9I<A0S46L_YJ9{n++;E1S=$RZ_*i{g90iFy4iZVv<LZ-f<Hs6mH#AKh zG`7c4&=}Pm_(QLtL+*&9M~o4;t-;+i1C4T5+}ct2A{Z`H;R{5nzZO@f9l8~8-Jy5K zQBdg9DxfMptg64xY2u{*%!*X*)!&Gta;M!k_k*+H(;k*?*c#TTj;inH)V31NA?hvm zrcE2*{XO8n&GKV_R~$WRoWW@mFOoytJCfdWGb;|9)L&IUDEQ);c*s3kRezW9&!Ar= z8Bfouw~AkWUWXNas#Cp9e7O1qFZn)){(fx}vVW5k{H`q=_yOnQ1>c<>P|*}<pZHm8 zr{uwy6`!>X`<W|14|@_nliCGT%51_W;wPd#=I12mSr6<KFwZsssv~x0_W>x<LkET! zYJdkIHv+~2KLDxp8-DUg^9q33P*B)R1sMG)UW@vWB)-5;Ixx=(03Wghb}OlSym>); zxES2(zWDmj!oymihgHB&YA1MDlCT*3tOgcEa-K%OB0Iyw)&L^9z{73;TJ#hTsU2R1 zoPsgWA|OK`qAK+TlyVg6g8-ZdsrDEEe$g^#k33^R9Mu)Z>BRm~0Q48W7>Xlc&rQ!F zt2g2oWm|P4hrr;;gM)|_GhM0OTH>P4A!?^~{82JN*J`7=_k`V1Fu^yD0H<rUpC+8H z)do)2YJUveH&pECYqfD##!oYFR|cFqfV5+%ExgnYPF0ETg8KRu8rFBB@#%pu<$(YK zFg0@JeWklDqq{cZzxCop?HbK4x@a-Hdo_d3eR#6+=|A4ZLSl%t0rv!ZJ<*kSNV?&? zG#!(z^@}!=f=D)rjkL4IAVs|NaD-oas3&O_4U1IkOe#>NC{BSLr{#@pyip~>6qENG zVYr}t9i;)18RUmkXGht=|C+*%0*a@~aug3eP^sR6>ugH*fGY90n2MvS#h<P}EszTV z6m8Nmml|s8wq)I7q&rA-F{R)?t*ZqBJy<s#x=%y5FhYOzV{sHCD}z&*z8+WoIOF|D zGS-w#5wZ2NonTu|a1NwO6co}4h6Ey7OOeqiOOs`+Y2ZNd6(-~9Y-<B-MdgB_^)>Mn zxq&CBAh)pP+p&DGC*-4#8+lD^0V4b!At@#Sp}(hX-S(_I3t}aviV!BL{HN2^0xz;1 z>%uwRbUrQ@P#a+bIiPK{sS*>YMSZTxynL5qxVN+}Z)K?uYSG^J1fkaBJt+uH1-xek z*^D9E_mK2?>K>+Rs5*D`MYkKw85ko1=J}B;dn`sIJ?+#IhmeDNrivI1rep_qq@hKc z^@wWQ_Hnek<VYIV8log!*=JT8E1G%}R`g`|u1Ff!&h$3pTp7l%^+B`2I8}~q{E>la zXRCK$^X^Ep<j&eVGki1*PhAD%{UwN?H6m#x_)cHU{xg>7Rk!}d37>2PyUULtj~ya= zqDI^g42Ob-=k-IF87&HDP+ruQ__$xdz0j;+RP3YzCYRbKJ335i_!Tla@Af924Vlan z3G*rI_iU5R940lK2a_tc_R?GPReYt%S96DkhD-E^6U{}TK)!CAEh{ZEwsirMBW#oH z940l~kxcfwy~&ThwN3UdVDf-%vc1Ekh8L2_F}F8avyp7XD66g%Rqqm!>J-dT9qE%` z*i5l533o(Pq`L7R?!982bc>_4+^RcAxT6YVNBlqBH-$^Byhi~pVmNxN?}~^#zdrUB z)0&L{gGRa(syYTt<<@)<xyBa2XLvD(+A>|4P<>z|&E~FyQ@Ee1K8WQ~24JUPG{io) z4UA>RWH7LR2j{ZQ8Nr;liDO-t-nl*CRmG76b<KO>5ni>km#lp5-<!}&kBStBaKpT8 z=Ty9Isg|rKk4*GVva2rkD5bDnmE+VX5pf>MqY4Q)ihQn4o;Lwq%XItYu=I%dNMXrZ zAqYL$J)kwPag!%+Ec^Bg+dgfOusyW$rnMU1$nqN$c^jdSD$@=xeWk_ohJkBZ4%Q-c z-v<a3km9_}nR($oz#W=eME{N8k7_cVDkAQg4Y)obLBF8z7e*<-6kp<edl{xM5_b@% z`#^u{5GMI_H%3}<y+g5T6YL~1tja7Y0i?I~Wb8WQNpFWIy{(WZy&azP=4DYFr{2er zdLJv4dLK^R&nb@MM2hrRY2&R<@YU~`2>&LqW<t9)h!yi+hA$s_B9pPg8m-cfc*<iG zicfEcz45dYn6*M@_Cn}<=_yU(_1l8}m51J2;BRNAea%NKaU$;pu*t%9ciE9(j!|hl z-1II-kulW?r2U12XGn&wI!t?)kCXZ*ego5o_$VosL9`-F+oLg+aDviHejNfobIFkL z^A_3hkNg+Z3%qpH=l;@uV-Y0rleqDVhupxae!=&1##Dm;1?}c8!4m}EEcjXA{uWg0 zMLl#gs-KoNX+hpX#fNIsV)dSA&$}TJ$9ea+!ZC@oc>aJdKKMHp_0Q4?6UY>84y0{h zC6zGOrmPgoa+|VDQ{t)Q272t08|dMZd&`!aE}F+|${5kqX${pFvR?5;oz-)0YGer> zLb-_D>?;Z!NnH$8(nYQ$sRsQ4V=BQWV&-Evm4~+QiLRuChlRJo{U`2bPZ&%n*Y8VQ zzot%Cn>yVo@)LC<VbMvBrZAZW*|GT{$L6zRu>Yy357E4b`wmxWL;2vbO8857xZEAB z&fhcx<=%;T{IX42XSaUYCa_kQN^|)-ayh}%+>=mB{)Qc(*TB7=8&4zQ)pXAw-t@X? z3bou7Q7S5-m+&gOAG3Ltgg04urQHjN$IUg#9l$<?N?0nq824hESJXYaAMv&d&*xrd z^ZahUQ7Yjh;a#_~ZQkEj6ZYkt@V>ELuz4pfv^?1Kf<j&AAO|k(%e$hNEWFovheh*t z3$MQLR$Civn>oVkCcLLPkZ8SUG%udgn&O~O)pYtwceES7RI*k5REAako%ol^rK+Dw zpsJtpTGdavs_G~ItNL@W*H(YZ9!pUSb{(daIdC`EJ-$qM8&p_T-bQ!b1XqXks=R$3 z*MAneW>qgW&bX|r3{zlLV|+*=EuT#0V#su5&wm@YzSH->)ADINxP~$FE{>r2G!s2C z2q+H=`7|ob9SoF52DWe<XekcKXWn}WQ^~B{>7{tAI7?Q6PFsMBRbl!&vZWTd=zx6M z_l#5<fn`zJ59CO%ApuowMBhm&?MFfv4h^Vc^w>D<Cqi!kUErFB<JoEF2v^0T#=_*! zWM%X)Xbwemq$Tgn;Xt^XGdg($S*4Na0*US!4XZC<_blxqS@Dd4>sy0Be_5`5omz^A zuuD@`P)>5DhUcSvro4nZ`7wz6MLL_tVom+2OcH4SzBjm-LIvEX%uLpofIHgg&)(jj zC8IMoI%rH@^sFBCGw_N;+DKQM{n*v$f-!mXIGo0631Izr01W`7PXJH@K+X(of7}Bg zB@sViQTSOt6FfJ7#<Q?IBU_&Sz;4dQsk>1C+*$LcM$=GlCwBtLm9vUca-V_T>rogu z48ZpofV}{=0!Y~kAY~nX!j|Lb#3Jw(0hs+Hr2-S4)4&q4uq$#Az_8^2t^(M#8b`cn zJW0Xs*f+0WL#QMWPX+wElLMJr0J^UM&;Wq<ML5|KfIDmP)UsU|cy4M8jR$#9Pu~R1 z6+jk2&a)Ok!dh%&ZG1bFnbBV(GZQ@LHsFo2-Czd4qn|?S;3TnvjR4_P6^$Hc*6ZRn zmqkQug!MyUOeUF_R{<S>N*N;W0Fq5){t(*Ym$c?(N^Fj2EF^+Q!40OY$In#!cymOA zHe|df`s<2kByB(lQHeBQ{k=h()4xhBr4)~Y@h&VWZ<P3{m#@a@fAMja7Lo`}_dbRa zrmuLRXs0X(tUO`U9`r@So^U}HAl3z8Pf4&;5=xd^>yrU9VU(j!)N!#>gO7vYs@8ip zY9C33#iK83Ye-q2lyZuzL>lb>T6b&i=1?V00plm+E+QcLfi>(WO+nEl(tMzVkWG<n zAf<(1B)vqHKsDY;3N`&3RKgn1*N_M{1~)j0ewN}Videzjq@nArm#E~B%6d=q%TOt_ z0n#<-rz?KE>m60468j^?mxW@E@6~{oX9yV6Ag{dduGK!4j=&S@=8{*Mp7((qSBO15 zw;mNX?G#L7wmw134>e8+lRnI`M401H$<3rFsLbEfbeuHXb%$!QT1bN;mFq_33#s_q zR+Y8Ep^}7NdV8tEA~p4xS2bZNIRfp@dTuJ#P1J4ioZew;vX%<C|Gi`K%^VHu6{GUg zom6~79V*-wbEV<m)^!y_v$8x?{NXJ))j1W2t9{uy_(!gLvH+|`eMZwzS~Xi&X~UCf zCR5#uHY4W!2KtDN2!lTW2>S{@`+-@FMD+FYUey_LaD@8-Hb?WO(Do&5R`nI3D~l}k zuoe<F&UrUhzTLfbMEH6!_bTRLf0!EiSWz{Xe5K8BAAyCSe-j#PP5d+~QBWk<9c09> zmB`X8<e(1n>sbZlY0y0z0Gt9~%~+)~Nx`8IM7XKi!NIpe*mh69V_;C$#Fg3{$!BPD z{|yM%C6W57f>+IDsRG4Cm7%OeN8+3RmoeWzjvTP}Sr;U<sTf)&9YE$w<f5`q0&%tH z@;od>eIH7Q{?c6D60f2>+rNzRoPnQaB?^iJ*MdyDCyuIa1fBm@H7;_El?+l<_Yom} zGD#I}r3jZQda~x~%C=fLitiQ83Ap=9es0^Ky|YDy-ziz;(7#~xYh1iTaQ5wYsBr(e z|4uPQ#n8e@ox&|!RHW5_xH^=rjek^S*3{Ly`iGQ^R9zup7mlvb*M&`uZ6dQVQ0+I> zWt|Z=HJ(jcJK$b>r`-F>=7ieYZOcc+&`N$Z9PYji4tM4@;K{(hZ&06}VE`7qf~g6u zzVjfpX)C0b0O9<+F6Jpe<-sYCAGIdbd73gC`LR2XRYKU5pD9`!H+bA}WNqV6;o7)k z_En_`@H7cW3Cm6qmpzXID7zUwdxV&xPWGL{cSL9ETrWF(ccW--?fBMv4oB`|Hs-K* z_PyQ<|5sh87+T<Ez~B8;87qLeI(XLN-w5*f35S7ACe1~6tpB(S9W#IJO3&9RiXi0C ziZ2I=tk{l3e$k0s!@tEyBzg;C_6|wtGKA6&S#=;6MR4FvFs+Y-OQUy5u()Jqtu>o# z&152AKhnS7%(M_4PKoZqm@w6zb=fEHIGG;s0k#|cw9{l^hDl(avEsX{U;-J2g>TcM zc2n|kk=PDI^Ou0!zXem}?Ep}ad+~1xaL!}Z7j<onhIHCRs}vNX2-bOgP`H#w7gz=I zcu|V=c6p3BjAU|P=^^sr10aD{F@u{ZDy9~!PLf3Q=U&x|li;GTh6$anf}9Ydd*_M) zzOg5UHdgYG$myM^!<H0gddGCazv$C0bro7=yPKGEPVCW;ecZN(44JW)+q<u{)PNqz zZZ}Php&goru>TmPImFnnE{YTbDuYuX26S=Q?W5WMSJ0Z>SJ!{oC%Vz{J>Wb{;{7gt zlw8kk<3(^ZoJxDyy&dL*4N%y@O#C#9B62VbAWniA(OYcF^CisN2?`mHq5Ys7Xpi58 zoc;^M)xkO^6RFHvUR4-$sYt8TCf$&zsZ?e<f?Q}a+gR9Cu6?vxz+LN(o%TIh`s`S) zFNNSv>qbMm440<72ABLm@FY2ie=()-lY%$3>l33AGs>pYzjmI+_;(oj=P^Bfpe|K= zj&#~{0sb@#-lW1RQIH)hmrDgV^nm!!t)(#1u<IAkjj<5%U2$X(ynwshoyJpqf9T~< zd39lXx+N;#65-sT3DU+{1~U6CWwxIVUBmIO7o4?RuY>~Z2ints`_A$4rW8t}?vD6K zyJa~@WY%sZa#Sbs4gSqSA{;yJmW1*lly=JM4!J0Tb?j&$Txt;Y!730tY7YuUH)c8G zW4h>4ydKNCIzAQ_CEfXHD>LaVJ`nmk9Q>S{rzao(cELf<1pr@Cah!G($Cuhxz}@yv zEzhzxhe|L4#<@Q4sNy?6SZ9YG6ib&-F|-k$4hQGG0SA8q;%Xm5Tgd7=m--uaJzgMD zTj6aKfF1y1iUU{-_6f>UA`qTnY!HY3*ydC7wL^O0pa<#Sg-vmI1GAkI3}5t?P<A*g zcO0OV@5C+gw~K*^zacY|hv+QRV-xxtNV&WU2D?00xa4v@aCD)drrBlh8ew<EhNkab zLF{qFp6uZ|msg$6-_DsBdOnedGCNNW{6l@dgVkR0K&@{NC+`eLzNxol5xsTr^*hXd zRSZ26QQzYQ&pk-uqE6x+hiBD6=c4_*!X1{{KKHQOv=Vxp(h#<vAlrqhm8AO$=Q?u@ z|8|_dqkr^JU@>g$B^z%5!8m^q|DHjc@=cSSM02|i2U6N6KLCxwZ$e|2?%fCQ?;B`% zTgV_wvmmRBAT(LIsq;w_DDU&PjKs7Lei`<jCwq4Tfd?u0cmFon+b$y%+dC)-*=q}F z=`L1x$9!ib(@|x9GpVswI@pU0`@{~}zVhY@TZaaE>X7mS?l>ZEn&{l6<6l0!v5JZ4 z=@VfpFXVu?+$|>Pp+*KwB=3cZirPd?{HwAZCYH+BL?((tK=R;SBXsQrJ;PWG6JyB4 z3~gc_{!M`iZ&``CTqgGl@_tyD>hG{OTj<&zJ%=~|dvB4wLb{BD`1d*48zZri?ada1 z0_b*!z00=*P<oD|e#B<%KG=&S|Jr#H@UQv~WbvSgj;I{2{&bi)ev1iu#E}9M9m&K4 z+ND<bw*V%*<0L4uOOFXcE;WI)DKfuwew{^nERq3xXUJZ6ZEpbn{Xq6A4b|O;?bQ>6 zn$fb5J!_`WDVXeJI-1c2(@v~)4)$@wo@ChGy~1X1eBVA_pc|&&aZp!2?+UFD`)pCk zAV<7;wB3cHz_iJOV{AL7=v$9yM%Rt@KoLEodmX|H6whh(#VCQaX08{p$zF_~CFDN^ z?gKmV;Nb*6V4;TylYmB%Wa)i9@JQohqIuWJmIZyfMU0kQu8kfbqcdICZZ(>Ft5Itg zjFP0&=s2;UjatLROL_`X?Euvzg8H>7x6LA*($-nDo)RmxW!aY1Iu#nH{7Gf~Nq5&Q ztGow=&nK<7OF<sQNxj)Dj5qFZRaARD0rq6=#-z*IBU0loVi~7R(lL0elGGb*b-$}U z#C`En$?%hnbmLbL>WV0tIHgU{GaF^K7Y4PXYubjSx=T3ZTdB8nOMcizzVVw`BDK$9 z_&$*$-)72VAM&jS)6qUh+U<&7EW^81B1B$|*UH+fb;2O8o-x|_=E;z?&7t>-L(jWc z81z`c@<<~g7fu-?yB&u=5Z<jKB1A4+b(pd$3WHpTdz-5tTg;{hS*Z@aYRslf2T-8R zg+ULr+Gs|={r7o2t|@Ddu*s=$#%wWro<?=1d`~-!BY?1BRe@SQJ$vJ0Dy3D0dU)_g z`=Rpo%jn;}z~0?Hl5+KkJPf!e!Ra!_z6O~7T-o*BF;6gi(i6-!=nMJ@W>0$VHy5bx ze!WTk0MG{??yJ)JAOK;`lQY9QCl=`$YE{^xmNpT;?QvUx*SA%7Lu%ft$Ll@d#t^a- zE%cBZ@7Qh(Avez2ZVVweO1x&=7)I)yfU+Bzwi_G8BDt~i7B_0(M5EJ<a@X+8pxNq3 z`W~plD=x0=3kUxnaqj_MMe)TA&+ff9_vR)fH>40CKtd9T)DQ^01dxt2sfrSMCy|bH z!9r6|u?E401w;^31k|V~sDJ?hQBflxB2q$AP|Ei^XU^{31oi*E-}61sm*?Sf&YUy9 zbLLFh+1c4yY$&9oD<yR*;G^kbvG6;<yWVSrT+ef^TQ*~B`miCY{R_O)%3L<Yx0$3b zGFx-rJ3v|&v0JwERv`Ed!jytd`fLAc#8XJ-12fw#Oe9|>0hPWj3ZqoU9bgkmW{V&% z+AT>W1*2Eft%8b{`<jqco!fy-4TV3ki;nh?qoXYwqCA#ocP+=^7j<NMMuWenvoKs= zZL+Xg3C^*xw3Pc$!gf*Qsiif5N`gNlFa9$tf?DHuIIkn9`IPsp2zFqET<{Sy?*U@R zD1x^`*oj#k!roDqp$ddQQ+%_wleX^`wf9pigkzJ*vBv@HW7u|#lTb2`tNv!hFE^QN zZh<l^PZC%P+%@1i1GlV1;FgLm2X1w-Snc@@z+)NMxHGvT8u}zMQXnl4o7MTx$Xkn| z=p6(6y{8}Hh3;>YsG*nHVm0(Bl)W2RZs=3(hCb{q-KD6ZKL@N}f5Urq^F_$@m$v9H zLxsfieup*UY!BOymOD^oLzXB@V**V1X(xl^SPS0VDcR_7gwn`>t6r!p+g=6d4-fn% zI;rf8eK5j`VC-<JQeiDIoc6(DIA!u?qid3Lg6&l7PRl8+aoKiC^L4hO-3*U2RfwDS zP@&zp^1B1j<F5U+QZpfrO&YByOkP3#9)9x+dr%tm+s$uWBAMT~G;2vlDu@@3I9tN{ zU}<1ec}9t@4)opmriwVsWy%$S_4vfdd(bMAXsm*h9BARc1@B$ru<f+_QP3{FUQnf; z6~#`gVewD4SR_5ag&oDD&n1eYk-E*YsB_#6zSKw+afM^}Iyi6aS#00KpH!kfbnJH8 zZy2rL@4(=Wm-uZ4Uo)I4j8bVw2AeAI10T@1S_-v_p=q2L`h|EV8hb3yg!jIW`kkDP zuk8H9Td)x8*k1%iu9@mQO6OV+PXfnWROz=PPXz)#BZ|6zK>mxX0J@$FlK%Ohc*p6w zFbFdCpeoPr!q+QDUoRS?o6e^dx%T<(LWT|%fen4aRUH;R5t7c(WrY!F^N>JOO#49F zS+9k`xN>{SlDyoWa#mv^8~Ds+q$SrvFzawNw-pV{2>8#)8}g+UOs%m1f#8NEIX<Rf z(w?C}T{mqwHJ4@U*w&N2(?9kl0mVSie||vvIJS+rLwQ~o1qzSnZDD9Kqs$q?QSq80 zpR;(UoW;wgS>m$(IP_a`P$4}lgrU%R@}0<C9>RKBZywM;mGt4_pON=FELEmqt9Nqz zd-#;v2N*tS)YAHQfUTI+2y7}1p9rmaULeTLA4<4+)#)aBb(OKY{<#*q%v7f8y^5|Y zH6%Ug2EA9Q-B`5<ZmhQ5VEyy98!uRH^b-hjV+b-kqgB$4B~CZ)yo5Iln$IPir82q) zXH8eg4c>k>mu5}PKeR3;bLnC-1+1RD&7<t=!ScmqzI`#dWn=JS@;iHFP2TWfkai;E zXbk!Y=UHa#3mCI^<G|ABB)kE!FF<>K;~Gtc;OhVxjGI*s>H9VPYbB)b5A?z9b{xM- zd_dFu9<k8;O7cP0Z@Kk%<UJnHhk<7N8lVE{UAn@c2+j9RhtdGPxTo{n?bu#)0{td* z6uIy<3aQ_O&W<AYD(8b|7YDNZAn|Ng^S6Bjp4}c4MO*x;eGLBaN3f##nxEiJ=&o7J z>vx@1&*PYaWDJhdtgj~rV=!C8o6tQ|F#Us+z|3XwJui^QL!v(Wj@U%~p7gM&HgMJN z+9_AkmHNHt5m8j;^zG=jKWxBjB_o-~z4C0=AUF6?Q54LopF+-WUyo*<U$oqBBG_Y? z9}l^!I-cxjjAi~P@z^4uGR84pkI%rrjOXhaIUL8R9pDqm>0FM`0r0vqK8^}d1KTdw zhHQEtd}`F$uduzN3tB;=o!H>k3dDUx)CX~dh-x6>KL=3}M1LYmgLs^X5D;I0h$N`2 zJHYiDr+ZxaK@JAz$MWAZu;d;LLG%}R&oBqX2vOG;E9^teMPdg?5!}<_=9j6Z)LY1j zdvIQ|8+lG^kHI^|=4@eZdD&FovJ##^EXCW(-p538?kHuYHCOzF6~NK51-Rhw%i2$I z0LQ>yczN*z{g^Kku~CxWdd2%5%Ej-@eaN|9K(2(6N*Xq(5MD)42zD}ipfIuAU}Js4 zSciZWNdlcem>B+{3>|iU^9>0Lz1aN)aP+{_OPT&69T$3Y{AU*MR-BHKOe0(pI+sS` ziJ#S6G35+(W%t)leKELG3*{HmU&YIjcS`=1kKkpDtHMlO=2Pu77=3&KyFkus<C`DG z`F}xy1m2S;#h@n(=J&$Tz4xQ6i%IA%={m~1B4WCSe%BIP@2Au37}HDh8L2K(I%p}W zcddogwIb%BF8RlM(a^VgsWTd-_PJFeUJeI89(~BihbFwwGL>951-)iLH1$ej1r+1f z(7>@Eng*goeo;}=ak~z4dMs{$vClbU5o`E<dIPD8nU0@=>`?<Cdz<+(d}eUQyV1Of z8~fo&l*c0MzRy?@O;Dn=Qj}E3XVIDJ#^&9MTk~hX#@BvnD5@JvBT)<Trfw`bR*#&i z8%F^3=#|&HWoRI)OE18erL1))sJeV;L?!aCZh6X6H&@k7pd6z;&*Clnv!ij8kE(lq zbon00|NH3H#9bQQvoyHN@f~5h?f{@v=dAF&ZVh&~(#s2=#|sqLV15s&@eA#5vDv{R z>Z-aHSx-n6zr<FX6I5eTmC@M;Q98bLd~6!b>(W2H|Npnrw}<KfgVN`a+W#*7B3tc$ zmHxs0s2E-PClCCO(wG0gu6xSye^U2tVY+1LDQ}tLbw8HW{&(pY*lPc)^nq1&>6ah; zAEi(Fzb-xH_&+KAtuS4(^pv+m=|_{=|1SN5w%Y$Fee&2WT+Qca(j?FI0dmFhq+@<2 zO*(k+nxDyir0ZW;n8^4%nx`4Kd>DDIpXrPUN~69S@g*id^jcEJ7d)u>cY){0)t4+U z+6_MTQ5f45O@qeCuP_y1TYI8UPoV|DIkO`s)P#+%SRX6ov#RkpSRj1Stcb2zkndxB z7v77H;MvsI!WYhR(fbw|`&r+=5BO_VLjM5!?83|P`pk!e!WYbPg<$PC<D2M37+b3B z$C(d2k8Bt7&c}Lc`?%2tLtjRVm@b=iLV$+!D>ApuMierBkKTL;bDH`{4>?FP7!XUo zp&1N_xrb=J0yTFlaO=LsgX_*9j(?8_*L^{xpTyT1kllS3m`#Uq;Oz(yxkz=71Tp9b z#8vODP8A0VAj{Yu{U9>6k2wi>OyZANYpEq-+5$fwGP-o(A&K{OM>?gUxT-o`E)-s? za!&=(8`<6SKurD#=9hq2MWTm6H2#^)V<OY-l%Y-lRZmG;$50a}e*{Ha3W1(R=)}WF zgnmAfQ@*wIZ)N?`M=^z&^o0(i^-h4!s}=I0K=<Xi!1mp&)e^Cio^dpK1fW7LA^j*+ zA}JBaLf|v%$FTO0{*hLFrU{>uD(5&uWzkP~{hzMAXQHY3u7k3xT{dd_Y&13X*MG;J z3>xcpimj!WVC%2wufBt=ok%}=8g=+Sh&5+Hyai&wIS{Xah`K;Uhrau3aNk};0Dl0n z@=p-QL0lu^9Eb{k;b4rvK$Q7RdzodRgV~JF$wWGtI0sX@0+;~W^-#DLS{aPH27YE- zMRnB&kp+>v0f_IAf?awvj?6*Y!%%m30F!bJ?(_uF=sJi2AU+16O4CSE2*q`zm<#5> z4ald1SgmlA(ujtT_r>wfK&C(ULr63YUPcYjti|=7l<YFXcOg3NFv7P7=?$S1@(GA~ zZV;P6^bG;=28d{{Uqxm?-~BDPNWWjXkAhfM3dAW8W(0^oL7W7UrEm#fWf}20nFuEn z>tqrfOlg`b6ksuP`S&R1WH5arfj<{S*8s{<nr0k{f8)@5l6M930g~N!fH)HcVkn4> zrJ-1!CKLO%>EgE3;ZQ$QriUSD9}Si2$)Iw96`BSjGy^}4n&PKluD($jCb`_rkT{ES z;4eVeoLy4FRmhxCIwqUK_!iQihf>ID5Z6F>k8jo1Y2r&$Yu@_IZ&Y)~4$#cy`z>0h zh>-q_e(?t&eS!3TF+lnd#I-mOn?TGf3*t2p7s{hTNZ)+`+>;ei>YqT2tPJ7=h-%3o zE`VrU1r>4?L|F+#mJ5yBX8cYj%E`n#n9_9p?uJL2Rp6R?JeUK3b<YG5kwz6l7w&w> zn~{7Wn5C3lz7nY6@9V<hWp@6XK`JQ_9EOU!7Kp01_*M0WAc}zCZUmw;QcyKCxk$f( zv`!%QBF)_!#3g)O$vqInlImO=0h;=b{ZLz33iXUj(Z_#82zMbpvIYY75s0MPAl?CS zClPBv+>(wElD_*Ja82q0^=A<4>Vr55qFn<JmxySH5MBrItQg7iAf7f8?qs5!OgRTr zItffR?%HR-HFp&-{Tcy39mGo@sy7C)3SxH?5ak<F$;#7YuuHx!SXUiAwUV+ghF~S> zl%{EAA+mi)$rHgGK(c!_i1SS#uTHbmEEiyJ1My%}$ohg<(+tF55UrbY2*Z{_r3{U} zBUMJ#7`ngt6cX<`xu#ac?Od?&Vky>qU&io1Fbl1Xj3k|b^a|UxyVOCtNIExpm;V~h zw$9wC#k8oTv)~SpuJU|~8Fnm%OG)d8eC908C-~8N5iWvZ1#ogJF!d#^Jzt`dTA&h@ z+muV1PV9q3=%*w3cU!*$>n|bwY+GL^e!}`@zRVH2M!J-%P&-KXl0Qp2b>XUZI^DX` zqwwygZ#EW3<)Zxuu2C&)9c5m2r1x>84}Dvz6}EC5=?f*DY&~YD7q|85yE-q~T4U?r zOjk$xC&6^jPtt_wX4m{xs`OJBJ`q&%zC1~fcXCnI;}oxSG;ZDveQG#Qz_NB})A$CC zuBkja*OMlc!+8RC1(DPf$`L%l%g6%H6Uvb+9}T{0djX-DD;j|u0HYs4bjN?)QU69d z&MmFe0N4JyKAO68lRV{Z!xzc$B$Cri_9XzjcqW_a>kl1QOFzDyDw!hl64idF>n5zK zj{YYHuoxnC(+)1cQ?Uet?2eqQ!-7{|`OnB}c|=y>MWYHVc_xS&z4BILrZ5y5)%S%e zhVrKo)>1S(Bku#`&lolYX*8!9fZS!v;jLwVO=8!94a<k#T4<H6y&hRx(o+60q$k}W zYbeh_hN2kFRgKA##HPX<3nxKUYTP{yO_gvfA16IWgw`V^BX22IzWg`vpbi>CI^mlp ztx#EX%MPAmIt_fOoI#^hLfa5p6@LqS>{9|0uj7FarK3aA@m>iXSm^|m5}p&K(xSvY zRusZoL*YeHC}k<oa+@gBf&%`$OGJmtrc2ZlZQ_A%q3H8cu<}Jg*ASLu@@OqDn$C!W z26@~aP`vmHo=UU|eAUk+8&w2wJve_TIh%$d{oS)~aY{!*fDIJfWT3|}%Rqn)d}|vB zuz|E&Vc_6@8~6!}Gzsx+V41WOxW<1*-bUL%JR2AYKwW}(Hn5%yJR{luxdds;@M)up zUvu-dG_5$}l=5Gs`9dQm$xy$M0UusG2TundRBi(UuQ*yTLKNx>?I$Z|D($vu_&(&_ z28B0Q`cV*l0MMhylDubYL){51#s*K=kAtr<Q!;UrP5ZFEsqlRY>K=1$LR(8{Ik}d? zZgOpjBRjh`$7Q*eyyzTG@YbjD8lNL?BIVV*>P}#VQZqq^Lyu#k@IFK#Z2^8-<kI9q zT|b}DS0p^=jJN|m<U}Zy+X_z*rZ-^7Q&DI^V4F$?@tO_RaRV;dwNeSoxCdEVAgg9o zcY-Rq$<Gbs=P>+CCFpA<{p@tc^7GDVSiw$TNYLs+0=FvbQM{2?^H)4RqQj5V7gBfF z0IbT-;(45APlByIBxkTnUrf^Eb{IlK1>-Ol2`VAC?ugb0?o^EmBG<KfKR%{cwJ*1g zbP-rj8jZZ^$WCpeFSm_;K-X=fFSm_H!PjUhnW(fXZ9ybH8r750y4{5KCD8nr4`6`p zX%PLTg$JJ6n!7#l20HO-`AU5Z)H~ipo_yVYZ$eEvVWH+5-(hXH8Bo|u<RH|^ggV!W zns#*vyd3GKfG-t+^+>?T%LQKalw49cwZ%|x65K6#D+4^ioglcEop8+p7YxPiVjZ%^ z(WyJ><Bf&$v5q`JrB5`dVtmhpnv_ZiWuk^oROwR;(xy`|hCP6aD~s(3kTZ<=TXC2; zN9G`8ne<rzC=<F6zoCya`8*?H4BZ4`sr0&b+@NTv{R+4tpF)(>0rTm-Am)K^{{Z3_ z5ap@l`I0M4ay>zL$WZT&xCWGz28}mb^$(fd<j^!^#GkoVkQJ`%n}CXDDKi#dEmdQy zNU2fQ_{PDg<et<!9@L=;IcbIFL5{Ev&4Z4(E|j=-r_vS*P#HT0*#HPBgeVVgg`5I$ z07UF>qG%Pn2h`kGAdTn*?`!-iVv4Iu?brc3!6xt%f90Y1LAT%0WQOHZ;!0F@9pv%T zXOqF-2Fts^ml~-iO=50%XB^+(a1J0QyD6h<S>cqhbl{wYP2Zlg5KQO20AAlkJs1?e zqF*$ksVk1aIpLxiEFD_MQ?9UV<gEoD{(R`9h3wZSFk<d<jAn^Ypon9&$`dn1Uw-*h zX-V&kRx8n%0gX`6;Abs-+SWiwJJ5p;d;*rQR^1-u{*x{~M%xko0-C&O2^x(tZqc#g z+#kVH^KS><Y$VxMLSdUWOmj+AqqPY1;50iH9d#8~eR*-IvTdl`DXZhJGKijI8A1*+ z^d9&cwImzk)$%?2G3xIkjP_m6s7ty2hS*5!4Wd0=tRZAQBlQGdW4P0^TD}}0rK#>1 z7Y1@5azz{*Ja+(z2a<t2kZdGS9!Lgq98Q5RH9_?q%qL2vcBN6uX(D;cADF{e_tWrU ztT|(?7+3f6it#X&QG-Qs?iyI@t>LG`Yv{REEl%a5oHA<r>9){!7(;GGx}Tb&@5HwN zt)tT~_5hus>7A27*VQ`PiLR&VW~lRwOikbY5z_0ke*6oku|P)?&5Sx>G!yWRLm$h? zU^@OW2>HaSj3%65?Gb3GITc@M=T6eOFSbM>D(l>P?cCLi<xaD5S41$h?I=!);scaR z>)eqLYTM<D<&L*<H??ysM{XmG;;iDk*wR1zR4x^NH>Kci=?n)}#pjZNFkGNB4*D0= zMLUbnqZB$<EMqyR_%iFEG*57#%J@>(LiHnm-mTPd%lLBW!R34oD2DyRPlJnN&Zu<O zs^d6a$6Ty9UCUf=Wf(G!>rK->-oa5$*C9XmEYEK90d5%y3@jTos_62l<kvrhLuW#% zIT*`qn`c6~U9rtGp;YuZws|&`+K{%XX>Icyr~9}~2+hS7`t5!&az2zxoq2Txm|h(1 zeC}}cohm<_!Gu(b`v|mtKR4uFVGDOF^&I$!0}msLeZpiT%<NKV@_ltJb%T^2Y4i)z zk2LaU)l4}F8xMxfD$sYk0qT8WyERh;qZvcO+^`yQ2I(n1F!mn<(e!o@hd><dO>1*d zbN>bIn?ATKy3q^|^aBw9QT<L32_Oa&kp|)*5%oaqz8gdq2wygc&LCP31ko47tU-QN zn%ax<nJW1r3{L_>Phi}0L2QD!LN$+D{VGnUQ4_&m#wP!bBD^en+hD(nnT8*4<X&A8 zb44N#<NAw@bjYL82G@a5*D`xH$%te3X?^Q$(u@uM?&pA*M~FKKak*&xE8-FxvGfu+ zI|oIW0SNcQV16fr%&)bLg1_n2LjBN#jc*fyZTuDg9x`5G2#j~YkN22p{HyViG1eUd zBS!2mQJfe3iRXbhh7g}3#QLJ~uZVN);xOU^B@x&7#}ndKLj08w*ZnWV`Na`Wmqc9U z-%g1Bp+KyUA8+h||51rEizCjLYnR<D*7@Tu0I?q--cN{YMdM#f{ZMhl<0TPS_(u@p ztAx0p5F@7Qxxv38PA!gDPxNgcpYd-Y#6Jl!c^DA;|1ZReHljI9nz?VePaOgb%~<qt zquA<Wek4tn7TSF1O|~>*rkbVbU$r!RWFT4=_`H9LzSTf!{?x<trDF}2hU@~g=#hX4 zT>-|tB$Y#}ptsrJ%KOB09T3{tg6S9bNn1NoRB5_c1Te90`zN~g?O==n4d_apc2HOJ zQphsS`a=ql))uh{*$-kQi1eKxLbl=OcW{xU=RO6l-EfQ?mqCmI5$Zk*c)BVK5WI9h z@KXIJE+KPIq~Cy6NP7@VMu2DvB61{%bP(@?h$MY?Hn>KkfI9}nt3*r%@g))SLBx#4 zbnHGcKzo3?0o{%)%@@t~bf6XfXs6Ezky83bNvHTe!09vyaEud``K?Ir`omPOiIi)A z7VY#$17jq%Iaf@z%LYc2NkzX{lPN0Jvl!hP==rKD9f14!D53}9cSnKgh_VFk?}}nd zd2+)LuqytGe;{CwB7GMWlFo~;E>dMmoRs{HuCaEGw1*|_&S0APs-!)4UznP}>9nG( zJikbKs~^D_hcp;7<s6KeAu*xdx$kM%P}iz;GS-<b9O6TkxUVJl-Y2mLp1fy?RCt_Z zl>#ZVj+BxXQY#=pBtR$f-Y)5~l8ZEiI@DD&M>`=m6^Jg)dkPW1xXWnVgTc^si^tAM zQlu2B1^i_k@~?x1m?mS;=ZE9R`?P5M>nL)k#~R-Q`I&}#NlKO;j{5q^e~Hjm5!xs8 zbDSVQ7L`Qn3TUF8u=hQT)+pDfVv>fAVDshDQ4QfB1{7fq@M~T{d6K~xJyUAae|;-Z zpWP$)gSkj3RA^W@G`a7FkCnb#8$_`0_5hbqG9UNjNsw?qeu@a{$9q6<gIy07@)1&Q zu<mhw6<%kC?p{(u%Df@2P!%16>OWMFw}ND%;h|)4bsxlcNfDN+-|DvL)U$dihlQrY zh45+8UkFP}ipPKkq&!M8W@BYC<BFfho2qb^$D4T|(rLWmvF1FuNYdl6rb`ZrOk>Sn zB516+NCb^F)p9Y`yez;p)@(zBo!%?+J1G~98ig#?FGcDjK=j7MxS2X&H11p%o#43B zPNX!bR7Rn6Sgk=tBjkz>jVf896Fg!3Es@fA*Vjf+-d`o1JTK-oH7~j$DnJa<{>ByM z6)^6N_{m0z%YO*M|DCRfa?-p$0j_&H1g}9Oypl+@uXv0|_dtJ%IqUh!MPy0Y2Z1pl zJTR+xoADfzs78JhuDpi8IV)XGD3Ae~tDf${5+h9Y1G)SQ8235+>>`)1ff!%H<;hTU zn`j}i_rT=`OS()qUMHmXtc@qHQI-G%4Jpgj5)IwcSun!Chtnhf&zv3t&$_|s2d={D zk>vCw{M-rr(sbK72ck+4xgQ7f5?MVot$3))&xNFyBw9mQ56bcY1Uo28Ziy_ObV=wD zh)~|!g!%92n%12NO&neZJWn15oe_&>j7&~wzVQi*t*MSLRhe^THuBDsKJ{xcsUFcL zpliFt4|`_P(*nnX)b)tNP~7j7!jiy9zH2&(lIc$ajSB07Tav`_=!~Ds9TJV29iU#U zS$j8&1=^9z?q}O`AG4L@q$jU4?VQT&B<XbBSuW``c^kP$cK~_<`i4XQLAm##hnt@U z(>;si7J-+b8dv=SBl5$12U#HPWV7@nBd^nS>u&O4F6o^p85YCvnWLqg<8km2e0RCb zx|^J3j{08vLwCT<06<rhDY$q)B<XB7twuLfjXBLrMX}Q5@YId}jJ!R_7CktJ6o&Oy z>Rp&|(X!u|vj*K<*O=f}O}a=fy5oI|&EU~YzJw72JFj|G&30&^3h<R)JJ7fFOvQt` z3A8X=h&na$I^K}iS`sD<^crdqtdyna0}1?c;(oArATUuS&_^J#{ESNeN|u#q<+T=a zQzgrBezjE9b0Q@V+4kdhGfG>JD{F=2CK(?oF2>o#UkRw_;W*bF8gIlKY8q@+on5jd zPYaq=R+WZ1n5wYSMWB{;5cDEI{m1igblFN*<|OQCAkgI{LEpX!^mX#IqK7~&?I377 z<-wyKlIKjuD%m7Jt|<wbxY?Qj={iwqsrXn-#aH;5oTVLnN{|OgUgd-aJ(IhOK=Vt2 zw!aDVEEc+wDsn{CCB3{G^s|Wl%q4{w+{wH~m~o<ISI^#(Wls(1hHaH2`I&nF&tHtZ zzJ@r5)Qc?*bqPRCnmT}*LV@f07aNS8rS?))zbaXTYodYGPU8u@*|LT^LzaLIv|B>~ zAn8%j8h%tXb22PWbXa`FvKW3=MnKQKBBrBosy^?~WzTXYbg(-TbF%8;ToIOgsAm2% z@;aMbw<13eyRIodLsgG3I=911SyRAM@2DQh&tVo4?>+>)0P}BvuWI7m68f`4oNW21 z(gw}M;(Avu^Lla7x*i*OPm%5MBv)MwRX|u@mMllhAlA{H=#YaGsEt}Ctt~=EUW`lX zOf*8L((>>ml|D3KOmBP(7HpFYhohHan*;Tf6{xD+9by*U9<+V#OGDK^z~!*is&k>~ z!O$SGz4=+zn0LQYyJ4*AjFM<MHd>dc&W37RKn1b1(rvJ}0miT0wJrFdv8l>V1J>G- zSWgHRZa28ysk8t=e$5VA+6`<>zgvPs8kxAV5$Ms9p!s%h>nET!Z!=Z9@S5bPr5$a9 z_O(Evk&id$HxTF_B|+ENrA}Lmw+L^W6CgB8&06BZC$)hVJwAsNCclL5RRgR^^qgSB zdKGf6l=m#as+ApL7HzjgDs2KDdER%L-wQ90CUv{*d2<iK5j%`Ei0*tZE^tM!gFk29 z0UjTI$w_AIh-YdV>b{HSBu*`qRBy#U^w49s`2Du!TE5Jh_`*tmENl}LzX=k;zb@75 zR-~|q@HjEd5)D8~moO~C_R6OKS!L^BJM9mVcF`;UWxU~kKYVV|P$EE2XFdl2N8zmH zOOyVN0G+YK{vthq;DTcMYGY@RLy7aJi2@GFXfoMUeMZw_wxy-tj;2OG9sXqG<U$^g z$Gm~*aOVLB)BuPXu9a<1hR78TE!HTqdZ1cnRP1c>v*2`zaM0d)DnG4x_bp3T=KEo= z5<d(tn+N+2lCS1{%TpAOL8<DX;+2J_jontbWuJFWMpD(KF}@wpw;|=o73JV#sODbS zWkU_=@p$<efSfB@6a&VJf6uxf?=o%_o@vz~EUTcwjZ_P5tUC0ZtS4b@kZ{;oSwSrK zHWarSVOd&1tb;aIHF|otgs?s>iPbw;m+$7oFMi{A=}l#<?6b<4OdAV6Bdq63mT{tu zm39)NVc!uv1+h#<+YL1bV9~kQ05HOJ=zT-oAh1Iv>-^Cm*xhjeYsL=&Eww5(*fs*2 z0<dQM5U}A)fL$*MHo}frYUv?(RpAqUu|A8h<@8Y}e{Jj<Mk+Prdw}5Y_LEW#wljZ} zc+XJgX<FZF7I<oA4fJ<-b`VdKU-0y3C2lsZfb_<BgB_fID0qHy++ZhL-48x27pBL+ zFuyp^;44<FI0tt|F?02ZhIY>z4b874$~28$j2sZ4f%d>`8vpfG-cuqUJlT13L9<VJ zgw2aHnQz~N0_<l8R&lZW`B7{x=6<%`6V`Px_w#pT-XWfgd4Rt$6F=7~#y5;|FL<8w zH#p?7U!{KiPd)5WrF4P;I7=&y+^^vfJnpG4Na$dF`EDRt%FA~H%Z&XiaRor#76?!y zyPl5#j<@Ng&86PG9_B0ec^Q)zek=Sc*vJADtoG3H<5k*x!su`xR<*7Q5Y;jqk<WHL zCGA13j`ZH9{}P`1%VkYv9@&O){lW!R0h;m62(wzrFC4Bh0N3IAg~PR#cn;Tb4p)VF zR=7?u%53mDT)zdwwf1r_T;pKipF?zuGent->tHGAR`wyCJ)?U^|8BgPE~#(B5_<xk zB2{%hcxs>EseLX0@49yrc0sgdl)u4;Wdo`-fOu2lq^>OJb3d(|L%@wx5?3KHyl#m` zsyr{sO&y;y{-*QJkMC@)+o2h_tNuWwrM7bWkjD=bP+^U4p9rsdvGGFDdfRRQ1$H^L z#&7UMm$Mg_v+@HH;Yodh5uS8d--J^2eax=VyZy?uT++GO4GFYHbQ-%FO0k0X3;t3b zRke#G+c)XHE!J2*B$9I0c3CRHnd^Au^moOS3sS0uJK>$)vQnGd!z<vcjx33sF37qe zU`H8E-g+W3F$3@&&X;-eW@QS_j6Q>{=#gVBg$sc8E*5Ai0eWGmE8B*~4wqLAc+?7a zf8{FCwPU#`2O-Nu;Mz@)EN}535I6q^qUoy)z(W;GRW6nQKe`EUxCO}aMFe>4KLCyP zN<Cw=!)#|v4#(@Xg$U2-&&azJi3qR8Z80>+<~P9f(}8&4X`D`e2>j;xj6l0pa=^Rj zSd20ExG3*d@TIV}FwI443+G5WuRPH1b^Q%#%mQp$di*{;7+Vb@9D-6K)tE(W;4Y}B z*v+C-Py3|?L&sHPFn}KA?{v)}pf5$qTAb`9Ku<H!iv;BPOmv!K5kkdY5w4WLE+E*; z<o!#o3h?SP&f^xXbtmvukxXHz%C|wCtNm4HwNHXpPtl^o_`cR!MwasAIFh|{g`s2r zfWjA|TE2V7(Pp}8_-)pBp?p%RV*uYnM-a0)h&~SBKn|dfL*I{M;NxoP$A$HAmG$E) zQ!9+0@(`(hT*by)0E=^o;~d%I9B}_^uuNzq@`skCpH%v(LqE;%gZ+BsXW4nWHoHqm zjl8x|9u?9bqTdkBkP#p{Ed((U#2X;ob3j}Hk+Kkk(IcUnAXuvu|7y|OR5b1GSF9fT zyWql|4~$eQ=`(7&qeMH{|DJ?rG<VkWj78`!OG-i(1*_KdeGb6x9voV_ngE};3Gjpk z$nseP_}+g4z6QWEZQ$X91o-hyfQ?Fvhb;es0Dt*Uz=Z(p^&LDMNq}c=0$gYTvOI1v z0HfyX8ndHVtjJ>k*l{B~96*5OL^l}2?=3)<4<f*3{|Pt<fMX{BuonTgy$P^Jv=o`; z>j-e<e**Re;E+dA<W2-Q{wBbg79h+2BEaSU3D`xc%;wlclibutGn{;$0Mw4b@IRT- zX!_cA2?nwuOECU5_jS1!A1wo4;XRxtbyX%C7^(R$xs5LzIZKTgNm=QbnDmD+B96(i z*yUgoLayj3O1$JMHBlvR(^qJSaXDXK(&2_%_0^H4eg2j{+*5d;$LF!O(3o7r4o`$x zYTU_N$YIwbDE1fsfnxgJ#}zOq1_z$~z@Ms17oSqZCnN7AAbQ$LGQ~rs2BzcP-M`%Q zeZ0gdn!#0xr7%sVL^3-SX7NGfl&kJ;2Z6H`+*G_`${FetHxeh`^S2(ifO8p@O_g$k z_m_H>!Qo#@Iy}c&Y%CqA%-P{^V+!va>&708BM-*rQX+ZKoN(&jU!sZcbmHI^US%$? zXsFar_3HqPGbs)@h@T{G1Wxqmq0=mW$fM-_RF%5JLottg4DKK9W2)4ho|Z7y8GI@7 z;&adU)3KrfHlhI**iygnP$R$rSxGH^(6gox7}Ddvp2O4R9db;U@hXxzPP9B5T&j}R zbS>)}qLLmFL7QUPA#!H-yd+vQ1@m_Q&oJz!aE3NT5!P`S)^iv-l#wv##JZ1LVbJ`m z;Qd_gbzJTW%Ox!9IV_J7OJUf+Vb}>)hv6+d3`fMnSQtVWFcq`*`0M!@y_3bqd~!HO zIf~Fk=LmHbtIfC3NT-MvPdx9O-wX5ecGQ)v^x!hzGr*u;Qneio9?hOWV|m750uJHu z)opfPGkqN~+6-!f7g3r~hF3&4cn9^n1<3LR1o*{&0%oD_hAhF_aozVC<KYMgJw0B$ zs!K)=5Xkxe1gVdzyX86Dr|sj}YXHZi7<rEZ1#8)o*6~SH#SoRYpEb6D^LQT6-GY{` zy(z-jmw~>)V!QkYF(b@;cCn#q*5NIeS#06Uvam1#kEoDJo?ZZIbZ*WB;_1|ep-)L` z0Z;FFeFL6b3;1_%Gu82F^qTX#fLb@SPmWUWgAW|)Xs9zX%H+aK%|@Z~V5iiC996TF zId&d`1ho>ZtMxMW?H6Q@dj_a~EkjQ2MQ`wtgoM$iW+Z=;cQL7CU`ARq!2Av3*^wxd z9Lao^hFwo%M}W+}4(3%jgx*Roo_eR34BV=fc6)L8>thURmO08$G)fqW<ve)hX3!|r zaw82+_2ySnAW0M-15w?Ps^tg7ReE|W1Rs)4CF)%*^J!4QF*HzkhZJxK&58Y1USq<) z!w!ci{TSR${}w-GLNDSs^cwy6ASn*nj@(<tHG5xqOxn`Hjz%Oxnt=ELL|6fYTfw+T z;Ac`E+T~R#J!PecOaNwiY8NX+fU7D0^&&)a<X2=1A!jPA@T*2=|3Ni{oTQ_kQpi!) zvdyzo$XRn)mbq6@scp9aA`P5+%LAPROvhNzaDk0g-sAt^7*3X#RBG}QIY0KoWsR$? zef0Pr)IEX+j>hl2i#BwXCjpkAxs=Api%hWE{#75f{VbHmOp*Kq|Fs2Qm?Q8_>WH`q zCxD;Q-qU!eysbrGcfMk6=mxIujpyU>NzL;<s{Hn%oozewES&Mrs|k0{vokx%nF$VO zvY~+L33b`dnDZUtsalLsV*LA0UoO#HW5-s!d;K7}5{RaerV!a_6s`Rrwb+>F&@Q&z zgc2N1Oy5EjsC*l|5Ys)3?ixQ4<<@qA+EhS+_#LF~VGHMDJq4KlFEPbI4jRc1kd5Od zZJY?&aQS=UEtt$PpW<<lz7NV`SDyuN^!TB}tkk5H7zo23atwqWg|X`*{e4G&rn`!V zj4OCMst+GmoXe<pSJVOMlSl#B2FwiV<(j=?6`pOsi^q6<DwFgw*x0gv>lq(-{xbnk zHVhTmhhNyO^*qL(uvNfrN&-6Etxq+|d@lqEQ^dm<$y}D+Vb${Wlu>zeN|s@2uneXz z1=p}g)&Me=ARiUoOhGg9_FAQ3`PYDqeNU81iPCzgRAhh46Nb@EdEfpIo3zr9+O#?* zmy7koAdcFoN~mO-MN4X>7f{JR_ptdV!JGXgQvE){mKbEvQzd1NlJp&QT&jU1eV!w| zi%!Qp%KM9WXRj~47+m_^i?`MS{dvNAO4J^(gV8)uoD_|W7cqyq_ZB>Bx!c_zT9~Tw z>)*nThPc#(TooALu7>gTVX&?>d(cs`ng0yDCv<^sZge22d5bVtFW{LzY@vLfWra6x z+=lMT1Z|I}Vb$y@npA{z)<l2Kmx@)MF(T%%t79)Lj>Pa6l#TV!Z7~5HEs@nL{U!<M zL+SPCt@W7G)QwwA%oz>xnd>+;ZKR4hOKD~5PE;{}QJylDj(!Ert4v3Y$7XP&D|#)C zhl>g0=g$<Zj;-U+_4kmDF(FA?WUelKLp`Q|(g=Gmb>H|a@TpSKT;%wff>^257#Ltu z#m7QZ%L;=sCRKbLTlP~>#-xhB&6XVw%9uo12CJB_$#R)W-#3KSZ<($;U;xsYhDh-% zV)KB)PXohMYAq}X#w7DL7==3{BQLWG8pCTX0FcZD{|(j2rw)Lpn3aAR6CRFbvO&RY zvKsQcOPMMr#pr;%Z-9>)jJl}85iEsRR%Q5SUct<Vn%aUN^<6<a?8VeF&ZnTR$09v_ z5dHL_pDy@`B)NMksIjl&43D`W@+sv$5SgzdWf6!XN?8oTwFW6qg2=|3Xzr&#3`R=m z3m^j2I>!F2jTS&06Je|*qxndWq=b~uLAjQ#neE;W;umBrO_9!uGu5w^F%{?nruAAF z=mTO7Qr&$)1m5tg?5?Nq;;LYiB<9<gETlJ`A!&$tX{yonkX1~^oTNS&cT4;{05$Iy zqILu~FX$Gu>5--w*oURcQzMytM7ynjl^RYE<p?4bKgS8;0Z|bM-ZzL|bI|Vm<*6k; zTmoo40bPf{9SWd|>j3oJKLh0lfqsDg>JmU#2<Qj_oyJdZ0($44f%e%z<~Y%)h>cFk zs0teKXk#e+{!+9sBpCIT`L#pyw&I#+9GVT4S>({1Qe5*#hh`Jy4II_sB<l{#CmmW% zQ32-dQaQ5?Q@zKC_yo&S*mqzSii8$6_lm8VxG0(81LYuO-UF!f01(%^LNo(^DzE;= z)Zza0Fe0X6t4l_!p6`N=j|Y#I2K96oj~<#nNil9B8LV0-ONgFz$_q>-mNC_1HcU5$ z@iC01y)VgVsv&fvOG=g4yn&ol0(yIuMdl*M*u0OWu=i&$X4GiS$3=+(b5bBEeY+!b zBt{8#He8;I)96o1yB(RUvXcI2+aXEkVSgYEYc$ZbqS2=n4aQharco=ibtyx|uHqHp zZYVrH50HkL&}1vE<C_?{rdZrv>;1}i=V8SD1<nx&oHf;bQu;Z_j`WYJVnUyZ^xO@Y z&{qc${uYQN5Su_ml3M64aG?k2=STdM{uMs~e53F>JPIuW6JF~VU8@KuCgRg&rmRZ) zi%iuGnw4QCv=W%`+=cq82~F3s_Ml5QLUJLjv>}~Vq_Zuk!%t*KZV;bw0UZP_sx*DO zFax)D>X^1ov-OcN!l0`yE~%N6Cc@PvC6hY_vlRnZ2mstKHCDyG<ch^5r~gLWKLyI- zJrBg4ANIw*%(1-!LHG+n$DLuQK$WyeLS)4z_BGdJBx7AIwmc&&--I~_>P~Zez_})1 zl^V584Z!<0dc+pNu%|zXA6S!G?7>)2h$$ieO?yJh^C&D(q=U;bs?TAOl}J~r%|e`S zC+3aDx9&r`X~&nf0x{c6;ElX~x1iP0+!z{k+f*0c`3KKI_I5^jETb$ZemCAi6@)** zm&zTaVmlbeAnx~$Urjq{p#rP8FX$}rxV!TDj_azm%bP9b#hcsojnZsXgpo&I<>l{( zuLf)geNFrl5%hiW;qPMZ`GU+P>5Jm86f?%Hh)*%zB0BVy=})zeG%@;|_z9_3`J6Z; zm<TV;z?QyvULae_ek{UNkw0RBRGLnI3**tbq?3XNL0vW@By?6KcsgM>A3TMmc{$Ig zk+{cs5A{6-eYJUchMWaHf+E^H!E-eNqa$8;F%zyPa1~J5hr$|-TX;lkW=cBwH<QzQ z@uS;>MY^-`sFIw5hnTZpH)(J&%2xNNM0&p#3Dmq2$6)U)Xqx`S`L7v7QyKV#;@N9B zolhthI_?l=eV_@<Hvn$Ve#0a;qb5umq-L*UOy3+lNuT{D=dD@yVd(EOGp^|psCE>s ze2&|B_!5!__IZ>!<W&&STR?0A@eL9AAO>v(u?vK`4a6Z3he4zq1L0a$G|OECV&waH z4s{j8ry$JB5|g(v?RXp((8N45)C5&onI3V1!nIb5s7lQyj`Z!pbWdeR7`;7(q1L3E zE!H-B+AT>nYxcC>b!Gff12IPT?!etU5na2ZrtVd-otTQ-*cO9uXV<NG&gSFJ-hn%N zsj<k`)pfMKQb`}6nT$nV&Gumy0GeGw>{J!ojp5dVbG@+*klkHRBX7MA!H>h9+t?n= z&mw*z@wYR77JU4>@KO(C(;1|3J}%bryY19mP94UnNA1*6ocbuGmeIL~aLNaiqLv#} zr;8*~@7m9yJJ&)@D}bDYT8JOSfR8}LfY?t&MGzf6_N(1S>|)(=t;xb}qxDTGQ*KJx zAt}}q7|$Q#0$&?EBE?l?T}`e$UTEsc)3WZ=0+Q;A%AS9b4;T5Ff0mEjYMGd=qEJ?} zkCG<L&?UNLeE-Kfm}4xp#x-w>L(DUXLzW0<SK+B!>@?oo)k@TY`)0ob7EJ`Sd^w^> z69LWrNgNuD=K6ht?S+E{fGX-!?W*G{AtNxY!ud9<s$(6>oR)@XW>GJrAywsCH@el< zO<l9p)HS6WcvWuTaooVGas$`1l3O@)d`o2JiC}DPSAQB$Xa*;=oYoLqomFY0!`9jm z?qk++YX~yYAI{53*Fn(ottco3L37^ie${}YG)_uWgwZE<zbhmR_HTzU<OYPZiMRyf zWg>nD@jZx0(sh@CV$`R2BZ)kIL{Knx^WSBpxm)3<9yAnR@}CoxnxYch#MK!N#$-by zW*+^l#*g<)QM0dd#jfgY?VXk0d7?<uIBHt@y$PBLb$9s#+{=;=VnmLO;x=OJhcOy} zG)uLjskpaj*okt}u%l~8Xs)5sd<KZFp%@0zhc?8<F@sAlMLDq?U3$l5phM3EyAK5k zSp?$N&p<2(@eUEsgYfJC@dk*kAVS{*5qKA~ygOvD?FOLO826z%Kstf+tesFl4B`tS z_JOGVIf$Jg7J-N){m>ETFb%y2KdZoPL)Op-z*K((KkG@p3PkzW@Du&8?rqkS+}BC> z0|>%vh(z~MrNUnlhxBNUD)T-lDJA0#S?pe^i_%iJUPQwE84C9+oD4rIQVYBX%>b>$ zTdd|##vPpfMSp>j95tk8fAzuX*<TdbMnCZ0aPjz`+6g_wz-sK}_u*O!*HgYYA1Bs~ zyd!XtMhGpR0Z8f`ntK~u)q|3S>KC3D9}i4l0eAfoc%+H%MB1&g@x7SS#8zROg*Vyk zU02)G@-t#nb5*~D%|HIz=1#Vm%{Ds)ZBEBl=GZj0nJG~TmUEZb)beatp>k^OX|mZ# zvixH?UH*9bOeJ+Fw%Rpl)%`83X6RmUUC(2JR$JE7CDrnMVpVftyI?g=viyrxM4U$3 zA~srZ-kQoc-h(f*#Exd8mfu06?}||^zZGVvsG6HeMhE`CENYiRSRKz+Er_7iYMHvI zTK<k$)!bRKI_1Btn!fcYsnMPb+QW`+W^{p4WerbPtVtH34;y)-$qb%HAd#k`X}i$} zmI<=m2YLkoI)4s;KX@NPVtE2sYXSVhtHLV?;H`fLX#8#+Y_KZL8?3s?okxz{dv2`{ zZ|DWP(!77G^d3y-yTDJ$a5s2fK^_ysd$(Q(Un*CPiFIA9rqmH|5wzksCQk3)>gH;O zeFS65FgNNeEGG{Zi&SdQRADI6>V9L(R9xH^!GXkKL$DgAXWd)za1r!ll?~-{(zGkg z`;bXH^?dXOpmzc5s|Ci|`jD(MyK!)G8=*V|w~ocn!v{Zo8V`K=JCtf#0KVvcn9%Z* z;9YEHJ)0b`7i$Z&fbQL3;<<$iP<+Np6Q2VM-jB^lm<Z{L^sP{iq{PrWz=aOOk9$0R z&LQ1B3q;j@n6b~5+|SfDRj&qm_QaRCP}el6WnAfu2Dk@sXwELK`LWx+BgVn-=1$S{ z)-lzSwx%)<I}kpy(|N*G0^y`+Qe*m7G$-R`!MLGE0P@z=u$Z^6AJM&6yp0vjh`QJx z;MDZZk}vz>`GEtiyHh9Bb-$zR^_1CHG^s=*ZB1p4aUeWqr*ny(k%a;B2QfJ=U4T4) zzqsaHhpoDJ`QM@W>wjr_;~&x2S;DlZCZVq4cuFO8muM!VX^<Ww+2los=UsHVTzW!X z;~fswSKi$Yhq!2oAKKMz`Vy5Ias>}YykD8Oh(B~ULVq}L&}#2raeL22i_`7>D{k+v zfv;Lua#2^i=>kaK8Mxor_Zq;i1B<)jcZ?NRX&l<SrhVLpzGF<)_<RL;bDHmlEo`hB zh)3S0(gRO3$`SJDxm!8IZ~d_1_ci$APooE(VYC(C`Qw$|BIYaa2mk6C$j@;PTn0Ws zrF>3Gv7UNi9ao(u=!L%^{YNOIe+MFxB%$X(nL8Zy_IcxCt$3j$^eu6OibM01Q&ZnQ z8IABoEm0Ye4tQ9#8bWs?3+DhV{l^xv+F=EIOO&URfOKk!MYg+zxitmf;(AD!Bgv*3 zEb!D5*ErIrJJL&uMXJr`9PR{f*3CFki3a{Vj;xsuXA7NKLtVu?llOLqrd3|t&`op{ z3)`LN8Xe1E4X3eZsHj`3fJWXVX$26{VoK-%jD+`!Rx7MsbcP(jMq}0VK}oLqxDeD1 zgYA?Lsxi{B1J&3v%TSgQt^@pM<awLn`8J09z+tj90+uSzcmj_=ncV@l5;ecT;lFRk zg_PQHppZV8S>+%uPn*RgRg1aHVgJ1LPv4Bdy7zk#(gj9Ggv$THPFy40u9G61W;^vB zobs=}1IFBZG3*a(uH#*>!W`nN{fENwIpD*Rk=x7iFTpqUF4K+4lOhB~F{zO-ivUTM z^}_yyL>l+fRZ?3Kue8O=+egx>;~}n<g_Pm(pD)2?8)L9&U?raajJ(UuEsxvq^5_|O zL?2=fv@__AYVtQ=N2)-3ejM>UIM;OCB?LMchf$pE#B*^va^|c<=(R^6*eG@i(KiEk z82w<x$NAcDzVJek>%yp}_X=-b6oQ7{#mGg);MMU^*T;@lcq<Oqe>B(yU$QlEJdY!N zkDbor>(h=)M}{(+izbEpxUH%B^pbSgrlA`<J&e=0qZ|#)KmyIguC+kOmhV6%H!x|d z$YPYb)P#vD(8%=Pt<?8m`8z&=#ynPDCo!I72b%E6SnpfEszw{s0?o`rWoa$6a8}Yc za@80MXeu(Ettb5|X^V84k%2OB!{jyIYa*S|z*H}=1|@r<RRylt9gQ&HBs!Vtj<}dh zg`qxI7|gvzl4*%G{L^3<=xTB2tOJHhtVEqHUnX?cwBE>TltrBpVw%8BMG0%{7af{u zsBv#SY^ubWx{Zia-E<2?JY!nYrGw;@dpmOD#ts~<#V3D<>js_34W44113tEwKp=Yj z_Xe!HXy-@be9rVLlvG$2D(ePG=s@<w`&sfcB$2rg@cT}ZSmt|dV3{kJ)(Qx(1B$|J zP{5zJhv-lP&<zs~zR}H8QFn3G8V{f(aTu*AVZ#tCMCW2r8Z?%1RUB<?h`QUPMWHC# zwHuXfJ~R~5+7B8aeW2N!=#Y&78)Wt;n)d!h4K`~IgZ}uT6I9d?HlmWd^@q~;24yh5 zfJKe)11IQQKN^&)jPLdLpm|;k+%o`ofxEF%g9g_E>fMG>s}($+{0w<!WMX)XqggTN z+_9$OH#VZO4Hv4)N3S$R4dkN&w2eV*gD2%tgSlq)%1YEztc1vn!*0N+)kfxE_&J~K za7kCQJ5f_r)N3q?LL`KuW&5bt8Oyg2)BC73tid+~QES;Jpi+2~b-Z5ys?WO|g-kWK zBOGcHwWU?uOUJasOd%C)E^05N4u}SaK{Nw#2Z)poAY98HpB>r@M9M(sR?T*g1#t;- z_cRbge!zG}mFoI6KrKKO06J=fxugwkL;#)gB<Fi*w);g8&ye~xJZj1m^=^1ED(Y9G z$*pk3kLVUaA(9f^ap21S2s4#IGzAf$n!HW&Ev0;WjT)5iDAMnTLdZ8D-UAUyQukSK z=1(Zc-ymGe;JFvU=!_J1G>H2^l&=J0_~Uw*)bo3#_O-_CN+JXsprOoMu}Dq&Bt+D# z@nGEaOE&*-OuOI)#vY>~Mr&G{@eUT@j}STpbR(RO8)3TQC{GhXrfV!N7}U@{lcWMF z-brHx6|V)-_rsM)N_2Mu=PyJVdVv^C!~hVhi5Lwc{$~(VKs*e>^S2C8v=1GRUf)C@ z5-XbO9#l@sdMhg1K%9bhfZ9X!Z@L=0K`rV}<0Kr2seA-WTn$7(LoAA~DlEa{zBZB= zg#`MGx^7ehc1#=Oh#5gYOYr0EEo$2_Xi|hY|4)Bmsv%*rR@I^mvoqyik6g+-Ua~oZ zNcHH9qBr7%c9^QcinMFlLwNYET?`cv4?74K=bPWbgzJq>pzq?b<^Zg@ZoJC;Ex4jz zA^wZQ%&$NxD;<S50qUR0kLji|hoX~f?rDogPPBVDgsq@fVH#p+X*IP>-eNug&6r_O zh<TKLKA@i?_(>?Ki|^a5n(gf`b`IjOc(ga8DU~dXrvfN^s4H=TZmhhf(yfif^rOr$ zYEGB@(<Ym04NN0@sB6hPItEk&lhOPZi_%~Bq5*&4V61^#nS&g`J*9EDjnjvAl(|x* zR6lVjcQE|)8J-^Ga9{Sw{7Kp&X=aHg%G8}km*Sf1#Sf~^yGv*)&n}Vj1I{+_6;VaE z@I}vPGnoeR3dVLC@{@;RpJdcFo_ZMjfs#0QB1Ti4pszTZj{D_BKy2ey;QOo(#?ueX zA}ql9UZgSpLk3XI+qZ{cx{EHZ>rvT8-di2fQ5aIEh8)8MnJ;9Tp9<d3(9`(|$4T(6 zDv3au<@%sJb`|^ro=wbQ)R(~r2sBSFpM})E?sH9QkM>1$Z3f>+9()g7&l{rW<&h)y zEn(Y8gZl&dTwI*_E-KD-<VpHSlr}+#n$q(m9?1$tvc0jXzSL4$H#jNDUyV2M<pIj1 z-&m)qm*-Cr(kx0<IEN<WGW5JE+G_QWxte!?9}kA1EYo=|pL869L7eF2;iHt?E?0eR z-5muUKwTw>Jb>?mM?LB4hOmUZiS#ze9P%QF=ZSa{#5E9+q?WQ3oYCLC1OK)C6=kg@ z7^~nw@v`0~5-RJvT1sWTLz3y@_#G!pS@~&;i2=)#BPu*^T;_l=R|!Lbih{e&K$&ld zkdW&+g+b&kPUNLBBywPNWT%SUj_eB8QXn}ayA!4MJ|KD$S-Qx0tZ1%EaVxI{w5@_Z z5MdUoDt8{$&jy;b8p(U8**~xQO?)TJM>>AT2_)5hNDJd~?&0+QNRKPPGAc3=t^3f6 z+=rsL&Az1j(4-IGa4xFK$U6$$kgvd=g3lq}gP3>%#IGQ(5OD#-<G<l5b^}D&lOV#7 z<2evXr=)-rk$`ITOu)gr6>%jtb<3kVU8F@+r)4CWBEOE4i`6N$;u@kt!A@Eykw2gz zf*r*3iL*|UTRw=go7{1Y7M-mincTv4khD+-$>b402T9X9Fm47Yqa)_!Zi-DN9|lkv zm07fkqxIEo)=;BUOZ|?ag`;1YftM4{HK6(QQ+Vo0A-+wDRzTe-#T60{PrrmPBpk%B z(;yTG<BVTDWn82ZN0O#H1&IrgSb>Hk3nLa)OMg)zE<gN9D48C!4>>&j#G)RQcuW{1 zNp{PPa<v0MO!>2Du9HOgPXhrBC=ZD|kcbk*x~5Xb7L@Vn;u)!(mrjS@g($!)&~n!S zGZ>nEev^trW5InY-qF(=jcC1GHyLV{)LpS%+Zqw6U-qC$9RAWSg}`<vu8;MS<#m>z zx8$wqim4d)kWO6rc`&Ij3pz*RBCD=Caa|oEp6g2U3(i@Wg)V$qXnY>G!Q5-QvBg~Q zd|B8grn4v#JzR^s;Icrp<FfD`bUg*4r)wZA7b@RCS6>Ql=Qeg2debggrH2p&_hR!E z&P}PP`rP5tVbSrzMi+`#4;kRCTy|yN<*I}T=wV1lp!o$<Pl$m0L%njNs3CG}AL75L z;jRHCa0U@h<Kj3xoP|po4QFPeFjR?80D<N$dJRaAt@JRVhl#P<YngNod}(|3V%(a@ zk<Jz*t7v#7wwu-Ow8jJQNcX#mT$lTZ=epE<#fw-^o**#PX{}bJm$sefyP#Qx)68Wo zo1P<itSPXO_lRv;Ym5RkZ&ybS8f4!gQ;(J~g}VytC>d(Z*5McncB71^`Gam&Ul=Q4 z#{;+SXuo_femaEi#m!6BH0E?jHOv*efY*l4gplE9!1HlEQALb+9K4>^oDZRCO~M~& zgMsCGip({XDh!RxsjvnoX=KijWEz<}aB{KD4X8xrX(c)|G<!P<W7Qw(RHde0gvq-6 z6}f!0bR+L1m4`o2r&D{tA3q;YS(iUhw*$PHBT)22affy()b&kp;f%%!<$c7V1*bz@ zPkormanoI*C!W2}`y6Luc4706i?+TKp`oE+4>TYCvYggf^e5`<B~hceGw3-}g97ap zED0v`WV8aQ+ER8!Jz%40jqQZ?gQ)!z+L(qolk*NnE4&G9zm29ft`XYll4#3<kEGjT zp&?-yqgh1=mbCKiR!Ox+{mVexRI;Q&w63w3QY4Jw22{k=w$4Tv!!~k&;9v6*Ytj3t zKZEB-tqJ2oXusm^S7^0x&?uFV!}`yG4@*ok)uRC7MX7{oEJ*x|?jpn8dQ7w96!fL> zq*^H1GWO*Maap%ss>4z}t&%NcxZZ%%ek}_jza9Z!^{8Z{Frdrp-p&^rrMmvU3WZqD z@Y(Rs$a~s`T+fg@0TE3fK!+AVHvZcx>RVjYwcvG8H?n>K_^_pbnh79X)c09X<0=(( z#(xxb<;Q5Q2iTX(Hx>1=?biW@n*=yr)C26-I`CDmOE!v2$)YyC9SaNz7dW$}7i=SK zds&gx8ov@;#1lHycD?jiYWIewo8atUjAp3?(H^(av_|4JpjG@2w3TatW_W3_)KUwg z9kJ20Mn6KU_3vogjg;m}C9S6^v89FyA^#b9pZC_U6eg`FYmWk}GA+$&w!(F+%q|z` z1j+Lda+Ia@*QAdq%lpttSRpzwqQkEeYIz~aUl2K34FB<~gj(*pfrfygyt}B-`;c$I z1S$+C`);uYv7V-Hqw+p1O7`xGd>Q5FZOM;nE0r>zPJqbgw!5K^M^%0Z`$SUa)Ao!i zFjRZoAeHjK2RO`O2e`6#9!3s+nY6VEQ(;BOmV!*|UCJuTbRFsV&@K*)Xl4suBSAX@ zf~4KDR?`DQX<^C?KdCE=oV<qx7><i9N6kZyGAy;kiTTo$ys=N}R#yCwv-Xx;b#3$x zO7xJ?7D3B~Uq;^RebHFyFpP(Im3AgP^S4F)fcMAYe#s2u!!Z^a6q>hP;BYv`VgoM= zs3+WE%JtQ2(AE4@52Um(ow9@tM1+9H;TaF}Yce&w(B{K49^nPuZa(l`o5P)@%zq5N z=Dc?h(_Kcp-*phemcqw-;URbals)X?-JuAcXNIUy6ZGCC#kOCEEp`US<5(b0_U;Ap zLnircoC9Jamzj5gN1^l!O)4K2p;H#IP89rJ%zL|i?DG;{Ushdx1hbk|@;QDj??C*p zjR%QTv#-E8IyoifRR(P14^vT-2aZuGuW_CLg**0?E?p4-QZ|?~`{538E7ISFawH|X zKNHSf0OC55-QR(@90uYTh=@{%fMTqdrQ}(7YMip!{N2LJfJ!7KGS(yD80%9a2rDu| zu*QP$Uir`XEv5C^*zKZI2@L&3q2Rh&-s6(529WZslCp8Ntolz_3{xsIiVkOq_t4=i ztKhAX7jdV=Q@>^KIZ!#C<vdhD!z00RJj-*Q72v}Pkns(86G5*Sr&Q<dRL1S$6Q9z3 z0bPsMa8#4aa=oB4Vm^bu-RH7IlbX*dEeLfLYeE&VYw0%8;-U={hOjIHT?a2lVH$hz z+5`Nc!j$PRovSfB^)<ZJovX2jI@dD+Dve5M#%0?W1r80cIhSm1X{&Q-K0X>!?p!U{ zKo{cCNVE8TimowM=W5B%*^d*?ovRh|m13>VHOrIb(KCeDy;6omxJ!RW5qe#tbJ*Rj z$b@|fj^Ko%JSc66;9#ZHbIa2@*c2SqtmF51T^GH<)e0GW^qxnRecm~b;8mkxV<)OA z`}t$NKN5U93Q;--Yb+@5>w;sC(M9&ymHhcE6XP)7dm4+N95-YM4a_b&cU!fi?AZ*I zau+((EU;DM!c>K+%W#`4MW$ho{;K%gzd;@{AF@xORQf{@OOg3|q=xPUqddP$9(s*J znMWLc`GC(8+W3#GardH#?eE28St6C1@dFID;yro=?B8q1&##nA>NR-aKeffy>RcvF z^&lm8h}4w!T2;B#?V9?8t@kYS_<$$iPz-(r?+uka6b`F_<K?F>D0XGo31i%Ecu-X( zgO4!!TO6+@CXBo`cU#_NFly)cFcs^5Mpv))2M0t!i65g@$z;r@pp+0RO1MDsAGak@ z*a`(q*(@CKj{9XhDyqWK`$pbmz`kkx2;Dc0nq^U%M*mcr)WdxdgDJkQsF-xlXAFSP z+{~u<{=kj)4CLh%YSD6+13v_(7=ovn%mVOyLLhjWV>c>~NKVEbNR?^K=YaQa7Tb1H z%#}LDO%Xne-8~ttF7x24_(F3HjzKoNvUMPhUzn~->X(4xyE5TdCV-!g%?!fdRssEZ zBEH02%N>zqs5%wl2^}F^tu})$0ngpOS~~N8RsugvRjcFf6@{~clAt~DA!ujt#?WiT zSHsn%T3t6C;WVZ)x_uH>;;YSc4?SaDQ{m^22pCsSwUG?_J`}^dN&V4yhI>*KmJiK} z+0dl39jeV@&5&eVSkkM=S)h`*0Eyuh&T0dceKIwGuw1CMr~EW9SDVfGKP1&`hb0=C z!`4G{ysbHgHGL`2ob1qKp9-OwN1A)yLa}b=VmF5--!fI}$;TZ`2ak_4pO(w)CYRcR z9OM_jqD-yMoGa2^8(r#<NM%QjQb|9E^t?!Dg+;$a+fu?vt)dL-ng@cNAL)UB7GMCL zG)R={u!8kEC!SR$<%y(INr`z`B;?RYk=hQK3nUJQ^IU4KNU@%6J}v1*DC9~zot%Xq z-W?*foA6WOC{CO<2E2v<&gW1Y$B{LWTdhurqjdxks_xXL)1`KORI~WQIRk?*g6@WB zAHp5-Er_txFl+&}ngN=a3_x&)))~-mXjQ9mVHIE}vEjYqU=<At)OkSV!BI4B1*Z2x z$#N9g<!F3A+Ih7&7o9znFFiKRM*9kA*gFC_P0nT#){&Ckx=2<-FiHIUnxWFSgwdUe z@#0`yVfb{HEquBQheU+FHY@NA>1~|un{pVL-seod84mhD1kyhUo7e<%CAx5@f5<xV zJprr}u5p6iC6TVe$t+$@dmM7#M6}@albktz3MEh%O25Dvu#bZ}Wcn#*cFiEa!2P6E zRXYknpel{7r-!1#3c<dEIE0)6F{KJ-ftNx2R2769cGA*71V9`mA_2rVw}40k@p?7P zwX%RTaR@F={gBe4I#O04C6iL7BIP5bL{f_TesH(eKo2hctiE&vhlN7O`%;ck(Ah{j z84ew^TNVDB)rffRhW5j||MaMon1;>Hlzlm}|3=wOM|K){!m^?A8>uvcN=8k1xfCh8 zD5Wh@rXwZ1a*0ggN#~s77j+@(e*9uPKHDb_Q9tt{j#L_cV;@6`GT(GaQ$?!#E=j8u z1qY(mC8eHhky6h#a~-PVZZfmjAzfS&DCw|B*NQ}sS#}xBfRv90gT1VSJIlbw!I2BT zdV5M#{$a$p&p7|CKJ2vs!8GzF4nt3Uc>$W`Al^!~0a4{E9eA4jb*&YqeB6Ns@dw16 zv^m~kr!RmI?ogNCT7>gH>JYQ2oF!7t+q@2w8~L75-9nBu9u7y?&_*_N8iuuF8`-e| zwZZd;-8b^n^JCyk(TCyR<`0<HO-K7k2htVz!IPTwk2&8+2qJSK;Omzpu0$g0w7yqQ zg{V(egneo#ya12y`&q7fzb;vdEQz*K9peV#4b~i*d>E6EzXiRmTrY>nN)vBDbPtIt zwOfHBaK;mfV`=J5AOdG4OvVaKJ1X@mF8?>6LOSB-0DN=z0@1Dxh-?sF5-}QtkrAdm zr^V^fv1r7XN;)^yb}spgdZuc)rWB2t#s%a~%pvw`jI^p9Su0?>RY$<?39thI?wymT z`?=k68e4Htso%U|sD`B?2v1d`DjSZh_)HMe8sL6%9p!(&Wd2@u{><-N;P!0=--4%e z{`iro@?AJb52@7Ft^t8}k2hJ#yT_lZOOw`6T}NJ6rN4tP8u8R<K&><f{ic-P^=fJc zOIG@RIR~tjW*K@eVfK}bRFtd8#4WJE?kV(i1LvXrDh}Io{#SzmT!&l0YMc1J*jNEy z@t&fvcu&!yuxbF3=A%)V(Y<4q!!W@YhHCF}PTwa#17$O7#LoZ<Uj(Y{W}%9I*iPA@ zQ}oDR?IX>pt_Pk+_7luybJVJh(N{yA_A_FH_o+l9Jrf*xbb{^mtB-{Xx@uKB$pEq2 zW%S_nHn^NH3Y~?5S?xRr^B6L46v1;815`&xCD&5euXfRVWHee#Go;UHfGbd45U~wG z+ydfj5Rs(jZVzr*BedHdAO<uBaW{x^O>mn=K?qbg)e0DQ&joWHso{q%*aNroT#C}8 zpwJE4n@Bqc%)?F5cS}>;<{<fdN`3^)K_rJyUlF`aVIWi^!_R9}JW;z2O?~;Is{(a% z-u9NXOjP1gERyr<JiOT`PF$ilvy)m2(?-<vz#N2m)KV@9<E?d3`(XE}hM!o&b@#{_ zs&0x)ovRLKm8wkMhpk7k-Uf=Um`hwS6`NTVb4gcBSRoa@gw}l}wajbMys4}Hr9BIE zjj{TqCrjdWUt^3V{e`jD-!9vo1xNp$#eG`l`(I$vca_^#00$=+c?YF2Ugh@n1?*E} z)LgIT(inAyLa_QK=sGKpZUG(}sH@#zyzjt<WdU>(AoaaQ6wmh>WT9fWJ1Umu7M^Yr zRO*-BwIYr906uXQV)^1{Y~|)TVBN8@%24hGUlHQY;#C--6VX{fa`zpm${8jpM-8$m z>OAF4{`^?f(0f!l7yF9Qd*@ipG|LaeG5#9V$p8P`N}2Sl2t|4k{T#zjnNTlmghtU% zdHSh}AN+N1g#Y(T2xd|W{*1h_<LH6{(HsOYq&JB7h!_OoJc!V-AVR0m&s_Rhf}iSC zopd5b2w86466$1q3K8VNdJvH$catZ-fpe2Lm0N)zkM1ObyqX2V8}pp*j5J`;T?3EO zw<S}|zM_iB=N1&m0l<(YIPsekpGVHhTtUoMX&uJrJ(l~5s%Q<k+Nh?zk9n|<^HwmZ zDP|rfhAV3yL4QLm)fb<{_7^zw6}cRcH&+oF?U8q{BUzkG8+aWDT<i7h_0r7n&I$kF zhA9`r??95%aooMzpp6e5Lo8hv-v(O>2XH^ii{(|@f*U**Cu2XxEv$4q_)#c`<i|pk zo!To;?+_m|?2;ZTNcc)gVSR^idr9Fyhw$f;!uby2^^(Fj9K!M_oYNui*AAgmpi;B3 z!7%wnzH=|)ikvVWfuSAnNTpb`Ymd+%P%rW##xCN<SvmG}z+`U!Pv}A#p<hQD3x-Wl z$uBcv+fJAX)NX^5(N{D7O&7>VtK?UhYtubUwM;pQ+`qfS67hmSyL&KXEWunX`7QV0 zgG&9`1A)Hdk6<h>aJl4O0JpE^{SILOx#^OiYXQPH9m1L=gx(Vlp)(imPT<L2+mjva z$>!VPNzXrnp3E$PXTInVK2uWor$hK|38A;s<sfWvPZDdHsvoKYXF?_a%ptoCXOx<s zIWl-4c4jhfIE0l;3Nx<+O|>W?^p0`}osihV@^7(9bw{D~==0c@!dWA)*+i@LT<6wv z3=UK4xz4SpcQ4&~bdHqXR_oFHo8WcpQM``+W*@8d7|i#$L$@B2x!reKt*5OgEFZ>e zO|V)|DG#-tU;AV5y7pJF#KDH2j>~fZ%YK{fEXkZD{Vs&J``^JVL!jWyW<KQ*&MhhY z-XVOhgwR{zY7o{5slw*KlVrq=s<|nb?L+cop(Deo5@_Zp4q+(rIuX5B9YUu7?`Qv8 zI8yJ&>@jtGfQIJ+_+#Xin}nJiGMN%5HZ@fFyHRztC<UH|g;C&L^wc$VB4;`Rz7!vK zKZ)fn20%_Xq^X)8Onea*RfS&*K1`*X>M*?Lc|z)Z&R8oO^Ms$}nnT|6JfXE;-#*Y` z{pJv1Xm|~Wo22EK$6*Ba6bS&$h*WB2+$*Q9=O>8iFlprVo{GX@L`Nc>wm$_n^;!Mv zc~0{gczsCy29wsZ8V>}|r}1wvTVdsME%8$_fxN+_y%T?f$Mqt0Bkx4*I0!|}=nbjn z;|F8<PAC6wVh>z@tbj<<Hz49mOX}M^BiS_s{E*Qq^&PV*><k?Wc4%(8N`2QH-pEh~ zHE*#ihQZL0RY2R!Zg(6JrWP9$F&9eRVg{bbGSup8y3u8$)T#OA>B*QC!A~6uSIav% zEM(~@vPP0tsR=5z1z+|;MpB{Rb{4a@fQ_~A^o#&6DFe{A=ny<;ZM+D3D)!AA+9KT? z)88w$Mt9>)*6=ATmgA2nJ^24~Tce%v8fhf_zEa~`yYyUap|kNeq@Cdg{=(M7*D%zg zt0_(#O+Ced&w-4K9d%thkyr<^v*xxbd_<%ayJ!^V;Etk4l2(*mY)6rw8jUu(3esEv zXeV?rv&O)QutG={+7j*j0+u9ZnCc~4q6@x{B$3&WIEzz$tS-({q@SQ1w6vHS$}{Hf zkcB6#(y>4rcQ0E?U+MI=kPuVzw~{en>(fqoeioJwxJ-%;!+pc8;|GFUDxsw=Lw8o* zucS5vOfSkipwiAyQmXb8p7`XNy5=rW4dBnnyL%e?(Lj=KorecD<Is&TivmkS#Qk8= zD{4>U_H&Flnnl&Vm%+B?V2pcG5XpK0{Iz;AmBQTS5S}h6{MjM&!;4}$uRDZQOA3=* zx)fyd))GQ*D~Hetsgh%{n3<j(K?9_*3E2_{5=%#oCl0bG--+>93LeC%K6;}teQ*RV z6Zy_y4wOD5g66coKZ3MMJ%ERh=`$I%2z6%U{e3SMQ%+q))|m|RLoSAzi+|btq<g^A zMnlMHv8B{_i~+xNfqXXWzfAlm_W)J%#su^Us;1L2XeQ!li1fUOg|HJc4e1@B5RwDp zF%Xd?b<YEL7@YeN5RI|=?S2--JR)8J@iPc-Z)ulyBiuY2XYJ~{1M?lRwe)sFy#PZL zNetuW=Z^F(l8&&NkA>;coo=mv;&d!Pt`FW`(|M-ebz;%J|DGxe=r9A&mOD)GQ+&Ij z1V-M+(-Fo`KDAS;O+whlb}=ojGvH~31(~QuKb?%I4IgQ!4%7VWv81_R3iv+;LS6IM z!E@v7a4+kxof@WU>=1|U!YhuZ`+40@=?uUXFpeU-CLF?lJzbMAKAPo4PVw6G|1fsl z@jYGd|J?h@C!b6S5`>T;kst`QcWag+YNaSKORd=BYXr4ArD%<`O;LNbMp2X+wO6Z@ z(&#W+DlJvjYJczNInTYHD^joD=a1w(=h@GB&ba5^doJTCR!McGnq;VY^NQ;4EE<91 z`SP`Mm@Dc4_Mv(xDfunmisP(`xDxjvk=A+3MR|Lub1dJFM?7*eKvsqyV$0xo^q7E- zI?Ad`9t-bBThMWW5DPF+Ec%YasJ8)J&wz)o^gCD357z;~K@d3Rf0);Bb=J8e^9810 zqjD7t=Rv1)E#_GQnxNg{q@;lgrPk>iq}x0LT%GIs7KO49D*K-V(*HdE`22uBUqgUT zE(#&z168fRQP?4jWne4)d>){(39z2yg3&ptb5X^Vmf9N7Ko&T+;wK=lZV8^YhiKi) z!{P!l*;$!57k8vOkK^;;_6y$Hfitr9P=wJ?8s8806z*w3?*mFWAuQCklpWrKQmNk{ za}$^5LVh=vZxMUt$4u1nHU7NF*HGaJkpJ~#<>RV7{=IBmT5aI(QSC;gjjSgpaaKs( zGmwI;5a`2+Ix7HDRt%ej#vg?%<d69KRV6b3j<&%elL6v_c_ZJkFF6HEg@ZDZVwJ?d z{ji^|{SLCYgCOzz@X%n(?G=~{!-8Q}@F-kGo@Q}1rjjmzUog0gK)xLRl0_AN2{7#$ zls?0*eGFKI7k2AWK3LR0K{A<YCsW-es-$&3nu@lcRO=tnzGYX^AmU!Edo$$%{fw+H z!O!~}njm7D>~CoBb%69ei?S;zR%NGSYO5zAD1(-PnNo|!z!XRQE^mFpAgL!)kPt|Z zwrH}1oA_`>J)XZCR--2KpUh1rb!VXoO(xL%8M?^;k{JVMA~2&ys7eh?nw^WzqA=Rv zegZK&H{?a>^p`Q<jd&eX{gVuzeFgCI9iUvpO<%>JkPZt@WpFcAN@W$BQEfK!^-id7 z0IjD1bGV~=nYVh8qk5-Z?K$qKmU$%bB=r47`gqyUlQq8enzVMMUL2J=uTwid;c>KM zs|R>|r}`dh$K>i1v+al(w_Wu;Q>WpR7+~SODGk2xhHks+dnjlx%!Z?BVCw}Y-ioSz znCeSrLQkFI{$4%fL0~nM*+mf4+H)B}N59}!rK5h0w?65(Ly$^5iq{EJM{&mw4c5b= zx8ui6;T8v;KFj<X>_CeP^#OvAcL2%Ae*q>G7YRC%tegEhpQaeKai%4aW^-glkZkbR zeK(Nq{nUIDBYH1_jFC7TsQD7z3+x&9ns-X(+b*hFWvo={XYd!EPO`+?kQmTcaV@P+ zzJN%6o(fd7D12!SGG@9%@JTSBZ}_`X_r=35^fgX?+|zkasO*jGVm1XfvZp~<waFWy zXfUf+IBLVlnl;r@KiHqt$IeB728<>m(mofU`KQF5K0Ws&==EUSUYVad%<9Vsn3Z8G z<&SE3&OO$u;ZV|I9WHYt>r#}B?;xgX@7HiqQ@4i)w-4#bvdFrWnpLasA}T5tjk@f? zW8zQgGCfXUm1+5|%M_WB<XtlR+3qDQ-xdH2nuq1vQWPdqVLb}DC<LZ~svc;3K0!@` zx3IFyMvc$sfMybOlAtdDodSfPr$T_vY-&GRwD9m#zs1|oUzR(bs!8!3Jq__?f6AIA zf{-I`OY?$?%pXfId#2%^0qYki%JaBVdp?XyhN#;xj_>bAR%OQLfe1+hf*+@l%E<Vo zIs>(BSo3f|GzY8>SAs7^KH%2@=4q)lS?Ux>jr0+s;+jS@XoAS#d^Kn!=skO-H&N)l zs|UVcBr(dFh4!k!Q_*aW(Yw>F7}f9_A8x4SFoL@Ps3=Ae3#=H`WcU@pfxE%_r)_;b zMw|yCvWXa2M6Bo4Riq{;y^tC&Fc-Ylpj3NapLv@C6*(?nUQIBbdCh_a^ms%5b%qS` z(YkeJjc%SULNx5C<7?*ru66&!u~DG&ccpd3L;LvA3t+<!;$Nz3_(}YGj+VhVYkY4o z()~JL`bFctDkJOT8CICC8y^PXCJzkKVY<%ucM2}D!ldD;fORVU%omiW38o#U$Qw*w zA`4eK<i-n<$|+D2`HL|TdbneB1_5`KGgP3?)A$|S#|%Oy&IV~e(D{c0C|?SHPNK%Y zG(k!DqiO@HOa-LGr2M){NHR!t1LU$f8zDP#g)~4gG2*8iPZL}R0e;hr0(joq_!`=) z&cudHlc21|7#$*ZqZmv>n3|Bm)rQ~9{~{@xd<^W#pWzSgBax^KX)%3E9rCj_f!p^- zpn~3o_qixcMxg|?!V)32-syOmNJ-*dA|<Jn-owQ5k&xNbL5_E5r0KwZ^)JB^Xj88E z56Y#+?KOBHHtMv*3B7}VMplDan6sZKgdjw9z@<??7!b?hiK6gq0$As+Fp-whAm>@6 z*nWE!@rO-*HRJqhma!~LaDR|zMyo00Sba~!#aGG;d=9BaR>n5xHOS|24-~cWI9}Oo ztX~uIO8cL6M^+`iimUu*NAe(4UdX)Cezv56V)PCi_ycL2`ogh@q_=vE^g}s@YS)Xe zciTQ9{ppv*R#42u1o@>UT{wc@hxFn9Ej`m{^nqR^?3NbqYRBOx$d08)VpAJrZ8ua? zh~f{Ir8c0EZ4$uP@NIaatU>RVN^J$$kvPtY9Li?;r8e7x+6b0YkmUF*Mqlt02+?Da zoi=H9W8&bEsrI9R>4TCWqabNCTKue_?sYCd@d`Q!3w^!!4Ilm8M2)ISPbBH$6Lb-f zI-3|&i-RAMtvplrv6<O3{^+9is;bu`)$A?|PeWHXvL?QYUg8U`dNAI%APQ%w5Q)On zC4nj~0R=NNr4d=>AE;-r+2Bll^AFVcK8HVXOTo|@g+Wwkgu)>d+#Q9Q7L%TS0#K{w znSkiS3p&74r8VsUzZDJZN_hipbW|}lMN(Cu^f0etrb}IOZ=E|!>gc2s&-T1|lAV8> z)Z6ue;)SKL4We`_te~dV(OXHcSVYliow|ZT{{-Di&_&hi<$qAUk6Pg*N4CuCR+8<b zc8vePO0s>#`Y*s(mc-!oWpc|n^#Dn@vOG{VqNZ6ZUZ^?<`N4&+A>?nPI&cLd{VEE* zPzWKU|6)M?Yw?G3HENk2BJ5DE?FHVjgq6rp_hk{vEz?mb?Q}hte`vJaV|knC*nY@$ z^no<eF!q9IxC|s33F9gr)z!<fu>nCkiyl0R^SJUF6MeuM2p{S@&1N6N9vR#=vX&ss zzV8E^3eCONq7dM+UQm6{9ODo;4wO8)I$l=xw`r9p%R$R@skU;g3@n*=3UN^krt7`D zU6jE##JqtE5Pn&CFYgxxuEKhq-%8!fZ+}hztS9~b{8s8M!1}G!15Dp)HP%iWAgV9~ z>Dl!JBX$6x+<jz3p^Q>(vhjXX<RsRf!`k1owNGNE-@v5bJ)Okbd#|yyPiF030oK~5 zFn!gv&>mXXRGGH+R~RuH2!)TW=<$rT*Z!g;w5KsTG*lz395b@MwJp&U2OuCRLdclE z#m@GaDVI`?8zW|;i`B$&d`*_pRZUfTW4Xx(wA0*xVyBB$-(3ZQWlTG~9SD}wL|V0f zHi|2#_ym1;x5+AEi)xmJ+SMdHsyiMiZL;PS5JZK)iQ<P$FnA4weZ&MSaPDoBja0+~ zG;`jS=O>%gX4C$JY5e?TliF<BTpx(2O*hH3X|+jORl0H5qz={c1C~wdX(Qf&U@mIY zbnP3VkWimBvz0ttYbzU)m8uy9F9ofD$6)6mrEdZJ7xDAGk3!WAD7ax%`;SlvMPdCW z6iT4**=7{VpwM#*_82Rp@Cy~{qEK=x3e8aHOND1q_=^h9qp)%t3jI*{V>?EgaVXR- zs9Q4wCN%jz>`j=k8r6Y2AU+#~byS##Lcg6Tyo^HhE{r`y?z08Zc|bmUP)Pq2g`+5J zqrzDfZc*Vo6yDv9!c7#O*n<h;717Agj^-@Sv!?MrJE}s-KC_Uv4@X+6Cceg6%fOBh z#Rh&r1v2mg70AFRK7)Zo&j$7f#0LI~f<GC^#wF|(<EEnEPsX{siz+s(&5HjvtRuD5 z1|hI6ZJPY^18nmgc!W<z6HIo*=31%c+H8N6K&>Z2s_o%;jLl~5b;PJPh<T8jZ>`qM zeh${>EOfTT?nzsv719zKW3u0PrI(dT%`l$E7ayBcFsj|?i*HM0@fOZ(#LdWBKaaO< zr0y6(gl!vv`t1wU-v^165q&pUfaC9jxb~wF==&g3sX*Tc`JM{&eUN?!&@4pjPu~aO zZ>(7olIuf4SywEy@;BCQf|S3p*5h*&=o@R_qYy%5`F&$;1L}Lu#XQL0SUV$T!P$o% z;-qh^<$!WJQSvv|imcY5p{dIIjkVAQrdmlf{EfAzyfnPI-v3z<j|<HMpaQSGDX-k` z3zDYTn5_cb%uCk)swHCrPJ7KGBj}T0JyAX+8GCs2X$(Vf`f3$>2z6YeARw&I!9aY7 znEsr_A5XH7+1d2amr}0Dhx+ig8hxPU1tGSMJmrtGxDMgg#{{n>&PZa^N}Pk6bV;W; zW7<fBtQ+1q#g?*X7~%Kf0j)|974YssWzqKoob<dfO+dn`HdP|=6@>*Xts$asWCgsf z^H0~k4-U#d4HZ5t`FB~&O9u;ZoPX1R<ot6VL4oqGKNTqd&Y=)OwETUVW=C=LOz!VS z&78NeoTYEl1lS+tdrt?vZ~@&I6==f14*|al;;<!P4?94AuH%oVp^)Vt@DHuNsyuha z=DeRu!7ha9*N-%`+5Q`X@eT(gmxEDsz7B@23qPiVp`jUo_+ve7#e(RD2*x`)7=HrE z!5Dj7f^m@w6pUw1AQ(i;!T1Ca2O}Ld*@%7q!I=7JFz$djtmsL^p*H<_9)CO=9vh5i zetKz#OQya;m~SwmIT#8b_6<MB!N`VfMpoPc9SmJJ3;HNCH1roB4#pl4e3F83UI$~) zDGA0+Do|#$JuSi5jY0^~axf}=A;E}#5^sYe_W1|n_M^ctU|ZNLU=LeIe@@|#CpttY zQ2v>*(VH1xJuVp6I2a$DL;}9e!AOB^Mpos8IvBd{0rXKYG&JN(2}WhHAOkGGaW}aP zBxgpCGZKvbRG`eL`W1pfv>c2jfH*TwqGmh%%Rd;sM2DlB6o74E|AIX%_ALH1!5`1; z#|C4IHyBNYFyG7=!@+o~95Ukv4u*P)g3)A=4u-B93Vjp|4Sf%YGvj>`oD7!mD>@h* z&Pgz~QGqhU{j~(62MQrX%fZ+Qh`(vIKt?b9pbqX6z}Nf(vr;G>fhi3;CmQW08Xd!Y z&m$;b2}%ALveg@uE&m-9`r<f-j=@b3lZ70UbdE{qEFBYFR|V=QCK_4_h+}d}<YrS$ z7V4N3xgaqaM+J(>Au3RU#D9aB5G}`KG9Zr0#XK>&3ODnQ$<0S&QUi8MOb$b!r}&yY ztFMP9u<hQMT>0;qn0~1ol%prmYc6q6ayTeM-qAtPb$6kUf}){*7bPf0sP4C+jS!R^ z9hCDxa<8d>NrLhk6(}gzQ3xSg4oZ`6B`7iChm|OQ!_WMKQduY+iSi8Wl%Tv0fu3%U z4az2OP>NW#W8p-r2*;K<KAglsdCDJdEz&~?tTwXz-qS(Rb=#qjf})|M90^Jl5u8Cm zS)_xq2}lk~)yoo;`Bb2wM1My^i4~ML0CA@D5kJDn68s9j`(HtsE0oq963o5>Kpb`s zqQd^7KQZ4UFdsb>7+H_`yB^A!opyLil*UBAO<1f&&l-sJPXyv!qbmNoJ*S00zKHDa z`YXYjx6I~__?`sgBQZ`>o<H)p>7a9O!Lo^u`%UGHZ&Rl;x^OIS<eub)xsa_JM%T51 zztk`q`V>$N`cBqpu}C#W!^HaVXXIY|0nP9}kUvp@J~h|+M-=Geb01M*G76oqpoNIZ zKeV!ZZ_W~xLZZTax<NgEZ|)FC`FnE}uA)HSo6DpEeQ&PTHAo?P$M@y{6$7i|dvk=R z@6FYs@6G)w;lb&5{L|l>3t4L~$nhjR{mge9v91e&kHmV6@_gf<$p?=&wdkvPIWS-* znRF9CP#Lc(=h~J(KzB>z*?qC7kAGAZa8{r{b@0a%S@3bw`ffYf;6j_bv(TjTxvzy{ zW8KKQ_P%aXUAF?!qbAi*@$1spVnjnjumH!?_Nzd0UkmyP1savpsX%@0TNFZwmIt8L zKg+Z|8#P0rF8@KNo#?O~t>fAc;;>a<4?9MGa`DHL@mOc~+Rl2a3t_&~b~?3Zn^m}U z36JOe-p#?tTB3uY>mqOHU})%dK%C!ii{M-eM!e4NS~uZ3<@Yu!P=1&E1qI6Q$yA{H zE_(}6AtrBrTcT2$a()+wdd~0pAm#kNN(IXA>bWRTes4t~gy_Bby#dg@#m@ZRO?W%M zGbFtp&hNLpNhkU3IsCYg(F9h4a<{fH(o3cEdm2{jJbosRNKRm@(r(vB6L_rf<-h9K zZ?`FwwfVgf5;%d|Of{nf9{YiAGhG+<t8Oz5O$Wqn_J??u3>I+nm{j>Ugp}HB9u=s~ zE>nTp3`Y{^HrtOv2r+rv%o3GBqQZP~mr9$(+yM`L19LJJsLg()0=3y|ze5Vqd)w?J zpfzCij!8L$x7%!ygyi8i`!G*{F(#EPBx?iAuO}cd&zOTF%{-kQB#)w{Rkw)fNN!U+ zf{d{0Rz2-i`pD>H;U3et{|bBljeF>!#_hfijr)@xotjhQZe6Y$SJ(ZGIMV2(q3w48 z;RCrE8uJI5nm&v>L%eMW0pT}X{C(o;_s|mb#o~ojpl=v=_!9;Cs&VLjv<=bvmjmQq zo&GeTKkeyHFZwf-{!FGnnfOzvc?I0m21D~@s5y<ApuvT88z8vO2$dKJ$~V^OX{4~k z^#$Tu1};^iGtlwtHQIWl;w?h&AfdGdLoJ4<c2$Y$Ab(aWt);?#BL9KN`{p6<zf<CX z71uRTk(dei>-ciAJ3#EF9isjv1ps|9L_Ht+m|8+oGk<*lmn{+FRhRrp%x)46%7$@F zgC~RRFDb`N67<6S**)7F?7a2p{n9eVh64CbTX<<bHatz~^Y%)eKDzD*nwru_L-qcW zvEgH}IvFg$@z`(;NFE!W`5Ofq8x~Q4#)hA$K;!wO2Q)T-$vZY!qB2NSm`?$y=kfdk zNO^2%@DB<!HY}k6jSVgTrLlpe*x$!J3FzPoH0*RNPWbz{IfS>zh5^#l504F#9SI=o zm5bsTO@TKcklOU2^>;e1Zo<6dM?QEN9j1$LYjkJ~&-Cc9*sIo=`#khpxW|kRCxku! z(c$Prqr>5en6Arn^M<yd=54TAH?OYSj!07TYA8ts>7l=dIM@&@;T3fAo&}Pdx08Va zHSZ@>pyrJ-QK07i9EA{K@;0v}YBq@q^EtFinzy<OJT&w#qyjbXKUARRo#O*3MDK0h z96-y#>TTX!!rRUJm4xKs=Dp#Kvo&46__(H{T^e3$Mz=)clR92%{+&k*x6?ck^q6+~ zOi1!?rxVV0Dm@POV@59JH&={(Xrdy=Hrf?M=w2F-^gK=xAG{}v^2^6?-9@)9M=oO~ zK3Y=Be%lmiq<%zCt5|F^<nl9YBiA#J91t{et%mT;@yeaR_^GyHgC1n(;hiY@8Ce_G zVt<v*(iEmU2>Zfh+NW$<55NW3ygf!CFuO7{CWcbFWr(O0M0Mon#s`q&+Yj|?!Qk5! zg+jh4q@d6og%Bc(8vzKPKbsJj!G&uR;$G!K?u5AcT(~!(1o`uw$krVaCy}nf{h=*D zEQcsnVhKvOg~Yms-$o=WfH+Jf<}N{R!pnLWf%0}}IwFj}7-Jq2nxBk<%7FR#(6}v2 z%Ht7DGvY%Xz43wAkkbtMAtm~T5Ixz3*eEkms7Q6{Lt^z=J)>Y=4WS{`<MXF+w-B1X zi}7W*&H}u*1i)YcT($5fqH<3ckUt|+t-@az8{Xgt_BJ5qM%Kl3XyJW$_*ZIgB0vFj zw^ZQn9>8?g3SdgcQ-EEr(dgKj`~+enzaSO9O?2Qpko;=^p?q&Vd<Cnz1)`usLZkx; z%f6SsLa$7kn*>W8XDHZt)@t~<zJ9mb<f;%+Z+Xii%FaXdk3-TY7E!u`2&29y{3G31 zB#BiWe3(F0!zYYY_@``s4o7Oz1}jp!Hr^kRp~q{5DkK2#S-deQ@M^%W${!(8d;Atu z$6ez<z#Q4nSn3kM;pM`07F$nWk6e$)%^v`vr~T-Znj0YEgH-_Y!772F&zNeFO?8&3 zQi3e1vqIGnRD1GJ&Cg5KzqM$`-LNYlwo_a`1fpLFsPmQ((OBSv7=TLWHJ#^HXO9CL zn-^<d5G=LolZ?eOCRakO%w%Z=I%OnHGviRIgR*H8)Kt)3yGAQ|=gXBz8!w5mh;8v- z_}RzdLTQB&$DKhOKR+iFIdHykk6|xZ91+2Q@tn4xp9PpOL8MThKvFoPplaX7o9A^t z;%C4tx~7uuc;Np-$qk`+1>!h21l|W&pHQ@^Abo-Q0l_UNnX1m_f~_DWx&Yvf$$+;o z+z4<1%9T1F>!;3A!l#RI)_F$Dpi-Y_w5ede=NWA($O+^5_#v<O5Wd85J#kjY&-}vt zUP1GXESQ348a|TH2}NHR!_El&9vMeNhVM<5U}mNjxc)H&T41VqPlU!F@KMh}oX#0~ zu*l!_g-n9fsWa2?q@=$qr>DL-icK{$GZo)e*r<CaHKMzW06c&tP7gFx3m?ApDK7|X zk#A)EYFQ47;;$R(XUlTos1X8B=wWez(*bjsTllg>BgIoogyxq6GmYwaOD$m`JrtIX z4rXMP{umFA`QwFEUAYqSVrfW7SlGLzQiDPPwwy&Q^tj2ALI7!iNLWM?!oz}81cfo- zo%Xm`zZDMfz`MY{yR9}pnOX#3@7I8RkBDQ70;GgU$R_YOfyeN<wuJX7eXbP?!h6H8 zX#XZW;WYurkR+TVvfUA=&qe+B8|7&7gd0@fuXvD(Sx`g|J*R=A9)_7GD7C1rBbY9x z%z;7_wIvX5p=v^X@*T)yCJVNNU}y@{uc0J~AmXd_2w!8tKKBqG$>s0mnFpj1=!J=) zLNfu@oRxZ#`o<$tuL*W#9;wRHeUr{7dsUWfjWKvPpp~iK-Hc}!CvQM>f1`GDWp0>M zYX5wIw<%h#%oUR&{yKzayz?W1@-BiGeo;KI_LrZ81U|Vw;U8kT51PoIg~pl{`D}QN zFIfW15M^!_itLSnYB(h5u<ID=SkQySu!eV=S4>j<PYMT~YnUwz_PW6xUre{&p&u}J znaibdXx!c-wEC)smm?UwW85O`j4eu;g{6+zesi$Vz+v`vAj7w4gY(FISx71hnsWlY zZa=Y(`mtG10BYfOLP;$=%uzqUTOaef)K9XdDszCechIM}1;F(fT{c)PYrZLHYV^Gp zI#tk!E59za#X<C)MPz4(8R|$J5BfR}U>Og~@KkjWF@epm+I-#(>w#Z+zE4A<;jPW> z)+$2RHbf@qRm87;lzTprfN9JC7Y!QEl?2SIir-jD!BUthcvW$SR~3Du0Q0KicgAM{ z=7aRZWBd!1(D@Mlu|&_BJHCS}Ja>c}{`t)vsMd>(*|51FEOybD5+3AFxm_^^gGy*? zoCLbfTIEGDLd6ED(AcA<N{P^Vvq2Od>E8=<z7<jbDF{NS(tj%;|2_EA@EQE+7^&$C z9R?8E2FFZ-!~Y8aCBDI*=S7@l{fw=^{tAS@aSV^+74qP32DnyIeJFtP5mcW7f>Kma zp<n-ob0H)cX{fKHjG|=JRn!kC4Wp>iKjt=`*qMkwkz!9Ic<EQb<@t+bHwDhWJ^m>7 z8IktXB><NF1OO~9?E62%YualBC<ve~bW#@|j*)htB#prMih+0;L_6%72xP1BkeP*r zjE2BhMIIKk{mV-|28Q)gt+%nLd+IBi4~pwBQ_nvA5Dj1TQ2#c>S|a&9UlPwTA+g6& zdpV~9XCsU?C|!638_T(M1o71?*jP!b-Jp6t4^^eOJXB_gMELbeMb%_bQ%tl+G@|I< z+g)gA-v1zf8c(L!OKVKXaI7y?i@wj{>a-?3Hfmf0dsV*DWw<Im@2yd)-jBx(#YDlM zJVeBgmkZGnBX%-`HO+-{Mivc8u`I1AF^-0J`~>+(2CoC;Z_tly{yTOr)|CO+ZzuFU zO~f4&f>b5Cgl|F62|(e6O6r!gdO$YpC`B<I**s78jiRG0M>f~JH@dB<wt+N)K88KA zJ&Bu;h>0gK1&Gr&VlpAhmm@?55N&s2cc<7Ci0MLzMl@m>rL+OLz>n;)cL(~;H>e%~ zCf`#i{D49s3Sq-%P4z!Q-zA_tx)#;=8&GC$5FxZ^>IfQYQJy>ue9#Ni3tAO9=;;%s zbrD(qB$y{EJ7g_!$}%$>k}&!#7zwK=!t`?Pp=~{&@rE(1GvF}K-6MOF!=uP*s^|Gy z*WE&0&~`^(#OentxWA>w+JdT1lFn2{yYwbWHIu+qXtQ2>kSpk@%Kf)AX5%_8d{#p2 zBLGV{XnlGY-hLXQMy8X5E|3sGhu3P*RRKe94u}rfiiQzcR7I@ko)$%mfg@$u1&m3T zx~;m-CliNesGw;MlgJUXvqbaSVpClfcGzkTm3rD&_*d$!(+rgPwS%iDtR|%pXFhP$ zSMt_-x{6worfD%-QY(ZP6-**U6~Bq#(s3M5?j=@29Bbz_dYHtK_Bq}cHF_;VCh~G+ zuY+X&qa@TG<^r)c^?g%a^jhnlAT7f$rJR$7wg)|R$h$Lv;aqJo+Ep;r$b}8tQTJbK zcmIWCe>d14J8l!wVj*pzTmcxt<4YD{t0kjR)4?|uTsjZmrTV3)57~fv9SN>em3iH` zSZo`A*+;zzE<}?qR+Z;NLC`>DhnVIYRlE2w=s&@)L!K<GpU;k@SmS48{R|<VYf?>v zmtMz+lQ<S&T>v)d1_Y8_x$NTmyX7KLYP-U+06KqBVAm74zQ&8*0O<<l@2av)i5tXl z^XftT@sq(U@=6V?99HAYYyXP<(d{8<c;Fl;@jZZg|C$(RcAzk~7J@=p|F9Z{Dqj+R z(g})10YCQ|$r5S-Rc&4aBu^55m30HCjI108EIf$nXeAR>CkVSx!a+B8+;^Sqt#{%Q zvg<+e`GM5Ok`nxktfqS~!qfGcCdh=S*m*cPRD*{Bnw~AX=ToR^f?T&!2jvbC#H1TA zx^-Wi5!p4Df|M%_P=s}mmNmAPTr$H|7nzeZ4fMZ_1#ew|=6zuzE$=$Dm|?n=S<6!6 z+ySut87h_DrjP#&holbziWGFW75qgC=97Y=!a@rEbto`n9SVv<3MCv;Eh$Or`7$JN zB5pQy4dDIdDDk_u?cXn8<6Rn|I1Yup8!51-9@2&#4l>A~c7TI>^;BJhjk#MfR1?@= zbuGYYy?~%TLoILzK(nHw4R&Z7Y4b{%odiKgw|vbA>mbJ}cm+<7hkiDwCvXR9wHnvv zT`y5P<!~+)-e+aNB?{edP#3%T7ozz+M5!n12dOHw-_-TeD_DbW1Xu}{<`92;1FIP? zlT%Xw28QAVnFo6@^pkf#l5>|(9p0(5o(!#xt@$8{2rG=VyGD`{8e(L8UTDZt4Eiek z#XL;MY^LkP)Pk7O^DsqD6`vuSf2CN<PsCuP1kDnxr9*kDiU3LrE3;MNeC!NQO*4rr zS<;}XmWOQq6%i{uXh?6Op#C=qh6GT^0Ec1EV;NxHqXSGqtN0{ZKc*Jm7wcgX?-sz} zZAC0X&cAg)xX9M2eOT=c5RK|6M3|4rVvO@RBN!3B0OA5n`~njjDT9Uxsow3Aa|k>Q zrS>83aQ6B(yjcF#1t=TD{OOR1_uBSbehp&3LY}hh9?W)k100wQ(&s_QuWU~p#)O{$ z5pog;-Yl0&pGGvs<3(0H5Mk2~XZlt^g(L%^>2>8)ruV#@pT(1ncAL>4W6YCQKy=Vx z^flY)F)Vu<#3Y;+vOf?fyHTq>IAvhB)l4{mU0NtNvZzGEXe@L722S@rNe~`J&kDe! za7DjHlQGPd_(Z8rwWz0D60AQD*)+_pg}f>~1l_wadQMLPejxzUNT*tqQe&E+<Iu%! zr#b|>nxa#UQl09O)L{UUihZnyTsn%x{jC6OMPm3qyz}`7Z}VLh#C<y$?LLP?JuLi( z5LLLR1+{9XXEHF8((3^Ef;;t3SNL9~Ml|P{EcHH%z6;28mtI%?%XNMarl6+*hhp*+ zcn{#DxUCK=zZO8xSRoh>+&-LJvpLjF55lq$R97nrE6Nt=F{Oqv4Pj;gE<AELq3M0s zlZ5tM0orXY1Nl=ep*@<&J<Og7m=Er9`>~1|H4^ZCjkNi0=yL~{zAvI~69|2~p%C#5 z3eTc2k_ydHIEF$9(fW)6RHapr@|l9d>r{9Rg?~_Z*I0m(^7w}9DJbYFS{bv$Na~HQ zfNL(S&(PnVrTAC$+X74Lm04!$YpfUGmS6AJu)ADa-=i%3;XNBLUImuF{3Y0;{+&^y zR9j+87IiqRj(<kh9n|`c!Jj#;F?2K)y!8<46(E@3)7diATKc3NvUc{8o)R1_wp9G$ zr3MbM=aYa`C+Z6e4q3b9y7nkE>D_V-muM5D%Jo*h4a{;d3OnBB3=v41<GsMGJDT1c z|G}|2j+d?7dxiEy0xlNZ+jQRWk~Bg9d$l&xHaYR)JnY8zVIvcSY?mFAJ%=rWHN^xN zs14Te7QhAOH-rQ|Mw*$uU8{dV69|}soZ8(MQRrt@`T{8lIDD39u`W>SLI-aG_)g$s z=(~W3Hvs_iwW*mR92A6ppmqk~o+AjEy|F3iaCHXLVxw=X<*vC_(6l&TW}&ZHX!kZj zpRI@x<_JI`RPmEn!OLBI6C;@$bMX-?HoA5O?AEc-@K=C?`zqhvKGn$ewuscYvIxZ< z{+t>j6<)Q7PI)U5tss%N+Q5_NT3rWZw~r1;8)2k?j0KZ3AVIg|xcSg+phLNTb9mti z-LA93PJ{@dhJ)#2VO&}6M``TfueO7_b~#)~IwGnm!#!2<it~1bdUdbMMo8RIbi-8@ zO@;A_21UOk?QquU4OZm$$~HrV+|r%5)v-5B_0lLBpl7oIfyc0FB5GZE7y5abq`@Z7 z2C0{gZ8&-Mr7^^#N|BP6#*z+r-j%)(`clS8v9}R<<1VTLz8m6Sns^F^`TmRQ<&YFY zb^d{<@+pcx#oGlbPm8?nHL|0n%)dqO=Ffc818_LophliH=pcePlj`|(l!FwL;a`zu zcpyA9o~H|(ejA$L!j=F|!prtn8-4$iu4r-ua7F#&@fW{lBvGZ(P;(U}-zV`W1)lh{ zLZNtj?7L7%lR<EV(8OCGwINi)GCWxlA^YOB;bA?v=~1`?lz1lmcUTg04R|x%MeXsD zkj*2@@H4Wu9hV*>6fZ+J_ZWfq0xrPun91>=(d0^NZ1c`?Rl19u>44GXPaHEA`ZA;Y z12)%+7U~KwLB6vYy5(txT|!Gya{n$s_U{-v{}F&rx^#zq;vG6wt6CqxfD<%&rEy?= zPheF|V_N7bs(ckjxK~NkX2s%6j4Hxz_pvb&Ld@_XiP#!{QBT<{?PEye?-8Q51Xi!t zA&yV7229J|869bPF|sdl(K0u_6X1b;1`|wM{^6+z;r-hv3}C75=K#~qK7p42Hd7oH zErLQ!tp2V6RxW!6I?#;Dwhb=bY%AvV&-hdV<0e>nK1Ic7Y$z6??<k^7-%%_=I)zZR zC9iVg^wmf-H$F9ghm**;gFwycjP=2nD11wW92ClT!Gco7YYvLAw;AaY49SP@D0V0v zjeA?PUH2R++ajFn5t48Zk1D%4oN1@90;1D9P)p$(4Y|STJyp2B@dKh8-W3T(R)+@| zbgkgRp~WT1*e0UdGB!NKP!PqoEdvu<dzcDj|4kG;eIB+J$DPo6B|l?n+sYg*<n)oy zVh{}n>4X&be5t3Q!97k|f_C^~UJ;-rQ_I(6XrFR{AV?I68IB0IE`e>^@G$cELqR9l zfnNm)?oXteKg05+0CtX^vzt8iiHe9%6iLeEm|g{Ul_649>v>*AhsO|p8i1tpB8oz< zYNr-Ql*@68Scu)W9eYn(ty7L$X9f5JT2Qi<H{u54%!h7(TfG2Bk_<Y2;S^wQy^7p= zCA(X#S4mngccQ!C4&7Nvy;)BHa_c21<7`$(^a!S6Itlt6jp7SFZ2zKh1VItq%t+py zbiX0>JZ{&Xyc)h0W#1MG!aKH&{KE3BDErn9#%kY+8HC$RF#8t4zLiU}oGIaT=9GwK zXRZpcEzzyoKmwc*i*fVCvs1fG7QetqZE>8`v&9wtN~4!_X`O_K{!7zhCBbT5>XWy? z%V#8o|4S`83RY>Wm2u;9rPdS7RvT>fHNXkgL<%*h?x*OW4?h7@?K&=0!{_sJrO~)? zVq`7)lHz04#q>bS4#L}rKHpbY>Qg`^iJ-PfMiTKae5ubER9E629ZUw+>q(5mUm!uW zKRODqr@gS*lUAbD<Z5hzVtUGd4RXX-m1ODRoK2toJ2H@^8?BRl4Ars~O<$=ZlvWn> zGqV1Kh$_Pcy%>tC^r$S*1waWsgo9$LRpC&SYFn!!5?eVEDIAFp&ge+!y0Bh465BZv z9|7V>^vxTIeLhpb=ZHjdZz~d8ITHN=douDyBE=htQ!>)L4LNosEIk~F(uek=3m4$k zm~jkbMQHIQ713j?l4?sX<cK(Ld_up%h`9x*c`(KIGZc=akZ@fHDSUQV+KgC$pdaP1 zWN=unfIDCTF8rm|(+9IX->g2)RL21aZUAW-2=xPlKQLlrU+jSd<^nU$#@uAg--I!H zl+n`)Wyb<g@Srfpii^3_f!=DNH(2PTSrSnSkY}3!8~s@fO+`3DD90jJtry^ksFu?x zeL^Mgyy2;FR;Lf6tGqzzBeVkmBt!@UMbQq^I^)}>h{!Si@J4iJ>PRObrtom8qyDfI ztkjWCxWjAW{&YV{pP$80yCa=<?*X49ef|Nd?nuYn)RAiRNBX#T>5;+iNVAX1*s0v# zIRc?-|Fj*=m&0Zi5GL=S5`Ipbn8POag5-oSA)+8y$*0=fTmk2<GF1vY*ZphFsq3=9 zNn?hF(q7cAUT0V11|S{i?7>Y?rt{<v7StJt@OGjuRQFvqmx$<QTljq@nhhf5X=G91 zS$-IWiPSm9>W<h;XiABs@W0*uFtV|CNHW^#I9}yA?to;^WMQ)7xYds1*e=q}@sJ{s zkkJ!oDhVHt|M3F6G1pWrG%-!}o+^%dvU(IO`_=ej2AnI!2RKa=g5_eek+t`{4y(pr zgNYPY4Xq!j!y4^N88m7TqIX^dSbHNS!LCEB&szVKi0%oI72-c&q7HFow&FVwDbEd| z`Z!mISnsh?pm83?e0}3p2iosboj`V=pYR<4y^fSEFxX1jQofY3l>vLo2wOg(PMRyq zDV$^12=Eq!S{Y~_l1hs4I*p)sdcJbh>&(EbFcH@g;tuTG2F})<7j#&4-SaS~aDSqp zg?Wo1I;@>ItTodSu`UUEASx{Fk^uJLfhxQQGwc9~jzp5U6lJB{K;MZVbwuJ@(CVb? zz>zSAA`(sWMk2?Xbge}7LdeOJbYsT~ZoL<$l2Sw%&kOOxF)TklogduEVb9~fkt;c> zon@$sFd(385>wG-$^^h6p<S@~Oe6TyvzYZLD&4P0`cq1}JBk**qpjMUD}kwU248G6 z1h0`5dQk^>1_wQSm=5p^j@Mp-ki{A|eYg(yEDm?~5eWAiBD|P{@h#X);hxLv^FX4* zy<F(*vGN_?n;><B`v_=txMy&<e*x^-BW!l!g&woU%CT3(NfY*4x#k`s3>?yR#-VsP zd(T6;lFrVqAZOvwJr51+#Ybv~?t7-7TV4jl>w?dvv20`Aehb0pF!q&Ema+Fd)JygO z_FNV=+gQiIe$r`IZQngGE07;2`&tm*f&CXTF_0f0%Z22GZ-t1O%5qhuzElBSr2_eu z&Azp|q^}_=kZWZ};~D~URwWv6J_j(iSfcJ3RX}D5Nh&9mB-#Cg)5tDwU&HLvfW-gw zh>e+|iqHIf0O<+2LPOSD(pBQ7TR3#{HeW<r1lEl+BkLrD6i&y{<+n{b*Sz`|T<F|) zh*7Qj{D_O*dbFrM$sWG_tt_OA)SLUFQbWKIOIMmj>d|F=z*vBEiL6<U1FV!jVwft@ zfO^ZD<8YDQRotbk-)A69TS_~<JTIlvGcWqO*PP}c{U4Lc)uF#DTfS4vBP(4k<9e~c zZry_R#a?qeQ>%@_!_*N$Zt_EQr7qVghq4e?(5R(#%xTz$<wiuXdoONquKph&+J1;A z;HE3Ir^mzcePT{XR<ydSE!S7;%1jp3ly_Jzz$xrJbg<4!HCqUp4pFbeXgqV3A=c5X z7*G(auD*Hg&%6;QeL8U!f?MJ@zTz4zWZv7=ACfPlEc{j2ig($BI(h=S#q_+Ar&^mL zDzV)ZJW}`<OMdwg$$^)(WQ~6gvPiOq-XzJ3^GZHw$2_s!X?(FvpFqCs5y^c-vc?|~ z$r|#R2+6zhO1|fn+~Ng9V;*lDefEgt4@I)Z*CScy^U8YH>;Jk7u<{+2b?FgV4@8#6 zk0M!j^U8`oZjFbnXGP$!>wA=B_l2sDG$7t5{Z4L;N8Y2sVLfE=Ca(r-PeR9`i6!zL z^_2Ah&7ym}`TQcdIjI_2+RUdN=vfvz%|g4o2%4TOQi=cgL3B7@({~qy*R*Qi%Pa>9 zvaNOo+L`Xt3%nmN&w7B#y4sUr-FSz3KL}v!KC$9zu5+LhEOfSQ-EKkCt6Hi>TbzLu zd6D8~yarl*R{uphtG~gBp1_b%RXI8rNxvM`{}WXgjpC#FrA$lTNG?;{N0MX7+}$hv zfNQoU0QbXo-xL&Hoq|GV6edo^3Ofx{cL4bG#h=@#3CTu{&oDq`U&3?iIbyGMo6Kh- zFx`Q{&phYwwJ;QMC~_=cJt3cY+mTUzC#;NV^YUTL&LjCY=}9*9n;&Uhvg)QlgRA9g zQ<WU;>Q)ucqD;f2H)Mn=ImSgFz1jsZlsI}t=&OJAJV?j6*29QkTS(LCaHk<Ku4Tmx zRkF9MZ%3uZqY{^s>8Rcf0sK{#lGE6bY@k@`Vv%~1q|R^^BsyDajTs2bexa}y$4(7{ zKtT8GyP4`qaPmF=l5etxOrSyt!3$|eCFqk;J=CUumFYhxdO~P=Z>3T(v&4jH;K5u% zmkwr4i8u|%OSvAyaher%Pw%`9Qqw{y&wK|fH`aU`*W{md2wxB0lQ#y}KLcP1Z$`f( zJbdpKKI5GCE7XeVM6ebye*pUf=;=1Vl(gMvN{0eW3B3n!U>f|J4?Z2JwM<xg7J__M z#9O)NqKq%837QhYH$s4kihnvvnxH=j@bi2wH1_0p()MfcSUihRavQsH>k(HbT@_ch zu`91ao_1v$TlfpX)HNZ1TuFHuuFQrjy}+kk*~^3<0TEetukH#DyP^rs5J5#Dc-R$9 za1R9JN`%nZuH3U-N&IIH?vHigaqdYWlb(TAxe1f_$tqCLoL}M<*iNq|3EZAwdKF6G z*8qE-%d0K%q}6+?O`C73sBQjq6MHvYHnP-p1S_5DK3S;L0q|oLK_HE76<$MVazWSo znp>3{gV)6ah!byjg(P>!*Wl^)N0e^>$-ph~;NB|A6M#qf)e-RFmRXb^fAtJqBn{NR zL59n~eVC{n{==|9occOO2B_M}s<si-w;z~x`C~{_<{J>vci<2U4u<wm+3sDyxE}N~ zRMc+fyaU)g?eO^rDB_NgV)^ZUai4C*Ggt^I_m4u%Td`%aAF4v(L1nCYl}A;pKp`5y zsy4uEBP-@79ijmoqIR<-L<3lR&rF0U2Xu2Ff<m;!pKiq=9Fe=r>a{b4jD9*?%l)Tx zA$)HN*9w0MmwHo&Yb8rWxI)u#GBvd7a1G{g^#&1zYX}o9BnZJz=U{zL5Ofb^t0U%E z0UE}%Z2+71B?6R!Zivnkpcea`0SXp~161t<)>~0a`90w@7-nRR`xya&x}|>P+B%4* z3|i`U2VkAK5+2RaY#v@@8T~36E7<?w0j(o&Hl!?t4ftqiRACP44v<m8gt5W8b#?jO zx6p+GbHOnXT6I8{`%(Usc{@mzLqJxrWoBl3ipNSe=`EmiGOhBXWJ;J%FeQ_QhXU40 zRx|T)z~(M-`T%ky8oFp`&cx?^c8l2*xdvR1q4}J>Z1~23?q;E9+nLw+b7x?G5@H?L zX%yI6Y(Yj33aoik2euY_QDK1&Y%LD#L4v4jYKA`-T7iAXFZ-Ybb_1l;xPicqRZ%nj zC=Yiog69bAEY=c{W%;e)Lx8CfUiTx-_20qs=jF@mq%93GhS9_IyQ_l=8ZAzs!aZ8u zCF=rJPg8vjBHbi)xk-9J0yRlJX_Cg&B=y;u)j+vQU<DA>fSaW5yOt>pnRq&2^GDG` zO|V8Ap!IQEG*;$(@s!%)2opHl!X19d8SHn(6$-XzlY^6Uf2-9*sw`zwAq0R&0GF!P z5YLE4o$}BKI2&FXS*?E2?Q+UP3I8KZrG!7_p@a|4mUht$p8?b%`NBhT)8E%2`I5y+ zmY!ibM}cx}cp4%3%7a^Ls_|kgBxjkp;S#HftN1M!&tj?+*R#WZ*h|fk*_@gqCPk{h zd8pc)DAg3uJB;F-b`Nj_%KStC3TiYw<?!TK;W58;pc`0dJOAB%4(ph6N+;glg_NG| zOLNsQLA+=`AXws8gmDz%3*b{%8{r<$WkP=gaDjjESaj4(Um6wh4oCqyq#|k-gD$-F zK<V_dZ;3H@XlE&66^^U;s8<*s3^*8V@~ST>xd<ryL(w0OCZk{ZTX-Zb7Ym1|Oy916 zT~7@JyDr!K0Q2SnVbBK;()KM!!hI)>`LS<uUMQ@^<3wBJJcmeK?n)wm%3oyn;?{&5 zUi63#pJnAKTV%FFq%LQW$RuH~tmLh6e^-##%4DIitc=UG9ADxPsmn`AWW)SLhIvIk zok!$oTjVl_NL~JhL_U|l$V6MDxl%$ykB6*+IPb2Czw3^SuCy1O*$_J>)c81%UW8Jj z9%2^se!o)^OLK$+ea%8Qw9!iiO-t-xBndZewxCH9wwK+fgov}bq93K&(Bxi9MK`3; zU^kBj@prMI)E8BA@F|6`Ww;Dpflcb@hO|z8ez{x~NApJp(pKP6*F*@8ev0^0Rst+T zV56o0o39E|rJ8!c+nBJf%o`ITy5ZhHbQ1<wgSgmcLq#_wa5KPCbU75=jD{ULhosbx zy}{d@cH3N;_a;Pqa{}0>3EOiGhzsBzPIL>6&7BbOBp&FBZb_p40ybhL-l~XxhQPUN z0oKDw8PTl>Y`6|!=b4b)n!sJ_0fymnH@XdDKLmIW{U<twz*-*xyhC7H0{<j%7%m&4 zpCxeFMu7f%A*vmL4K@MH!h@{Q?Fl>xu+#@H0o#E>ibG>2mby{|U`Gwko)~fPJ&5W= z#G^NZck3I#rqZywehaNk(Hysa!!4f?_&#*>0va@2nKLJP>PG4@l6L;k%2bE;b!FyG zz>9D<E-Uq&5H#!sc^9kR#&bh!H$hWF8W)Cq3{CGZA&?Z$CGhY!1k%;QR)AWFDyg+( zkdRAb9~ScK!$OK|eMm@cfVgD}#?4@>gv+kz%jDH?)Q2RaQ88sl2l6$+jBOa`3Q`Dz z82$k;c+)|29K6BATg@Qm#@m4jFLG3mCun>Ajk^P)o+`SF@yTy4wF)%hgM}nfNNNzt zC>7nCw^B-ff{U8}2}ubd;p?;LJ~jdNEZ)i^g(N)B1Wif8l6)m}vk4&B{IP_N;D?=X zRvnD+4gu5^lsV7Qj@ucJw#?9Nc@OwIjt>8|#{0W!SwoE53I+9L^DD83#t!%I();^; zVT~OHj_I%wI?h7Zw9#!G=tdS=+30}|bWaO??zAO*ouFytnPH(<2wFxS^R$C#jYTxZ zL4=n=%-aq{M=YXtmd9r3ajzFYS?Cnoj!J?iJN(h(cm#~L(4H0!G^4IrW2Y)hJ)s&{ zc!^Y4?ZXZvzO!(Ws@n+LbjcMXEAkK8aZd-HhQ$6zhu9nFKpMOQFnqJ{L<-LZh>oDI zS;piL%e)=Ppq)ZvU3v3MbsE2w@Sh3Zy71-~>@@xY@c5a-goJjn6^ufH;ozF>x?SL+ z>Gy^5tP>(?dUpE-E1qz3VZ5PYGRe&|LgsbTbx+*PB%A+%&e*R%gbNJL+6g!7oY3uI zx%nAv&~Cm@EM<4WjYdNAu$zp3hVab=|FD~k9|AnNdC%eI)qLHYi#L5lj_u}bD}CYS z{nBWj;pAo)A@jQVljY`cviVKu)NV3Z@>96EM|dnZSAs*kIfYnuf+q5i&^+uW<8ugq zT<{OO$#~ap?dC)wq1HSO6_2*&D13NKh-^2<+pRft`=@Bk`{d;Y44+2U;XkDT?}y>( z&oWTMuXo4XC#!D~NZUj)_i5b!b`M7I+amz}O*3ly&j2nuX@UCz2IfHM8xYBRNHGO@ zs4K7+BYJcn>;uvkm{c~V$`q=k-CwC3he~S9-yIIDgEUUbtyWuk5>M)sqCU*191ErD zufbJvOi7+5G9cZ^8hRfKZt9374f1dURPat1U~;kbKEUi^N!}&D0XT32I6Ht(dy&9| zJ@&)kT-ys>`8HKX_qDvxmB&ztpQo{yX*Yv+^R9l<D`<u%*vu5L8(GEv5;LD*GhGKP zGoN7X?-R^sKEY--_#9?tfb(zL%z8|?35by0WDy5jSN=qmxwe_QGWwu4b7)>Oy&H4& zJLB3TrWKnRjmtB<_-2{eip}f@89JJ+So<A<+00gK=9`CLW(qjhgHK2EIVSWRhD8}b zXft(XJyb?!i#b*&(fOeXhJygV@VA8qS6KWzL(=JJfS6R4{ua@BPULm0*q1UJsrsQ< zMaA@I$2PEIhyRxN_h-kpL4tOyKTGU%#B!`ZJN7%^z#MSS1fO<nBon@P6pn@VvmDcv z*{F=XnXhA-;42W|7yd&Y$JUW_c5DPo|C8uEk*9S2+lkfO>)7F!&|=fsv4*e$uk<|- z$ELGmk;g2@rnAKD1apf`XU9^HV=${9trsQe<ov4!8QP3Dndumau>OMl8HC|UYYt;_ zfeFdB-Pe_6PQd;0V)Vo9stLM+06$OXypD~r9gA;R8IH};_gvVquzzG<SZXIh2;UnP z_zvIz`go<l{ZG<H&mcUy?7E9L+%Ez2{4cM<6}G~e#wH|x=?gSes{RzoIsfXRvh)SI zv~PC`w*vcvfQG_50AeR#elPtE;pUyDJLszPr9?~z>0cmKk|AL!4CX1J^v^`J4fP@E zsOL#t*O^~Zx1c&26?I)p)ZrICM{F%Z5PpA=IO^o3e<X2}K^8e*X!QOSZl1Fk#%~8c zXr<uwDzh!5gzwKI_E~tT#paOM+a&gIzG4}lbOvHCJR;WIDOHrCLm`sK>62D;JvRky zf1tePCyo^fE>CK2%E7ly`*I@xF2qyWZ@N>nUiqrRz5Dbfio2yu)dyC%=$UyR?1^I= zA(!A?c=W-iKY#Ez?JH!p&uQIlJR+tjgz&3fK0^$8p(*ODyxIj=zsVFM97n%!sp_ES z**5u%j3Q<Y2fBlWPP5T19Ow}iI@?0m=`Lu><2j7R)0)ZutE8>-3>UQB$?sXgQ`N@c z5;$%<--p=1sTtrxJbF-F%2!IYgd>If5JXQw{0+#pb1RM^*bzXvy8RsBVGSWc!;{Vf z&RU=>xXlH?)fU_E>5G6fKeFk+zl442VSNUvxLpB%M&L}L^8W+vt^l&ZmAPh8aPKiH z?o&4I#<$qc8oC4My#eKb_IE{}ievvO&?SFdRNxr#GPDxV9g=k3=D?@8BLSZpz6v)8 z;0CGLn}e=F7*`WqrpLX-PlaS&roItc7tDzjG;_lj!F)TQscA7&2k!qJ`aUe)&JkEo z5J#&cqV*@Bg5wBBPzdn{_g8UW^W&pWd=KYW?}5nkZn9!K;E-%0>Cvl~io4`41LxoW zfqQ7^(=cOkC2dCN0Py@3aQPuKPW|XKBlU{Yj1>ggX5<12AsJ-K&umKBtClG@*pzJq zSLul0-efrJI#|+(g-!dFO*@TB{M<{bXtQ`9_|?3rb<RpkRhFDA4nO!J$5dq-x5Z5x z3-+iEgljVVN3_6PZULjoXj}-zon;e@Cao61p6eQ@R(=9vP(G0Mi`76HL2LLRO-E53 z4K3Y%Ms{>VpNy*zNQp_e&yYG5nIZ88_QG2}p{=Iwz8;D(h=54Bhf6)(%5wit0KUYX zD**MHYnlV+Bz+}4)?N7vJp}MUt=$A5+AvtgL)08=sqC2`XnTmt@D5R~fXaawpR?9s zr?)hZQN{pBh{nclX@ds+=-xdCQhDMBKB^!+uoM-qUn8t{Z3#{VLqLpoz)+;<LR>|@ zZ_s&ZOjcqEPoo9Xdr|cmaI0n%wPcQ;$L)((mjO;gbbOyh;SUsix}h-sCf=VT8`41e zC;s;ui$6xY5Q6=uq3oZDKkh#zKokMw#b*L`M66WpHI%fS_*QvnRUP`VM24S{b<kHg zUMClgF&{x+z}7{ePj%65+t^<)<_spNE2w>L0Xt<Vn)W%CwwU1c7i_p=E|MLY-Ni)> z@B1q<`Qlw*yE6O{!At7`e%?j>E9N)A&p=6BH-7(c%5A`JVv>mK&eAX60nD8=%|-d! z?srIkQN{IOTdom=<6C;Nok#A1wslk3-HUl!{UJ9P;?B5&YiOSXvk|j;aM!gS*MxC1 zS?DkjhU5Z)n?-R8xGMM_b*{kZL8j_N)cud3CmeUtMpVq7K!xA0t_2pR2;%n|sPL#} zPmG65H5F8@1<ymrJ~n0-ahWk<2Ib`%aByC(vh%W+1I?(KR(h*yg%-hrB|dnkOr^jo zBP-WKjfO6_gx?J=a38S%^nnkx;Tb>$xDA&v3qHBcPn5(h=a+z&{RQjV)Q7|s3@80f z*BlVr9zuCp9(RbP9t0vN@k`ycFh|nU9LoGf?4+cf0uH_ApqFv@ZM3#VO?nIvFDc-q zIpuy&dfTCnxR3sW0K~dOv+`qx`Ei;dqL}*WcbXWF={fuAY9Hk;B~-krUG4ZBB*0l8 z|G78<h2yl>PvUfzJ&Jpv<McJh=`%n&PUo401}gd#dfWw$OM!ndR86g^o0?2chp@+Z zix;GZh&9y2Z!k4>@$I3<eA(gBW-Tm_OPAo%0;fxfAr}qRY&Jg*Vj--D)s3uj{&0_m zAyCj&Z)KQ_+joFo!FBzM<iHY<Mi~<ca&Z6$5eb4vjB5QaAs-Hz)X75!Q-+-&(Uf6_ z_$~b{kVP4G#H0+X_%Bk39<q)*$}GzW=AM3xpKa}G2J2hnahJ`HMNjy*63V}+%iy;W z8qjO768O@j?p@jyjBAA>LQWy%Zjk2f1{;gR$mdyOLpE|<fEf8a8yV*gW+S_^kzu}o zF!7`@!+Joj6DyG)8qV+li=nCq8(iNnSed`p)@@CyTR}3bpKqx*uQ@CmXrXu8=%6#Y zqY(Ei7TRumPlBNHpLVdlqN-I-ML;W?^sGiYyZ2h4xL29oy8$Dq4W3~4zVX-YRb_^@ z0hW6j{u?m4SB>498wmIO>w4Wwf@F3t*S5cm1KrX>N1wG8#f=^Ay=bAm?sb2xdo{_u z-FN~u?mn;Ev)R2tLE_$ho<k#pw0nOUlwx-YLhJo)P)>FTw%pV3&;r`M2Q1DL0xUg# z6Za2K+DV~EKVFF@nA!ET*XAZEQ2UgJW_CZ-_HVqyzZMqS>)+dt_0NER@ju_glh!r) zrGt~~-`C_{{}EJK-ZWGnSQS7QGeUG0Fkj3RsqIhGWtoC#q(O3tPECJ=&Cmy@xmSw; z++E{~9><H%<$`FrrG`*<Z4#_?p|Tm?CL97;tV@V417=+jNkOD5xe#>ibm*!9emyj_ zSMHNeU9H|5i_@L?6u)FvwHBmR;8yIg+IVSqEF{H}SDNH!fDv?s7CVCU)GiD?g<|x! z1NroxQ_t^CJ@G{+<GTEh0P-n~6-5-#KB4j)b_vEq7W*VbzW`>RO8?2r|9WB2^}It@ zAoy*c0>APu5mn*_++Hg^lb5UI1koFzq@R(MY3ZFAm{Y}2(;-*u)eNTrYrQY?`Zh2e zdh3c5@^PwDZwIH|)&tMr_^~S#ncb3(0a`269s^qyeBk)Xkf#mxB!ng%78(+&x-=<* zS6&v=8uN9L=`u94ku@j;yxoTZPt(9SFvnhvG69mR0|c(#gJF9KT{sphLf~-=e2Kts zu)V6WcL7#{pbu1QLp@bA7^f6DTyuw=)nO!)+#MZ&ir<5~pOvn-sQqSh`+W_gDF0D8 z1J`!1Lm0<Vh*U9&W2I}nJZuBlT<d7RBjC5&?`_eg^M5{avdShtR%y4+|4^+9l}%8b z4_T~Bhyo%+SCuVwDJ0JUHXk^2)c}*NYll-;MZe`U=%A8Mm1-5suLR|?#*azkz;RUB z?>$2;hD6pVL}A4-LiHLvLbZzHSATi|HlL04_JoyAjhCGo6Q}(M3t!|x@mE3M<OBX0 zS?vo#@30|6a2KydO^008D-5Rrb9O#AkjKWr62Vx?rkkn)_<{$k=hC_QNmRSbpVN&= z??)=rB@i`jQxMzXh!ligDQr!_EOm{?*%XL1vM!TBv<N{hHU3zLF2JMjPfSGzYVca& zXQL^6I0&?POEQ~ok8ZVf@gg!4$Hyeq*Ml}+)~1VkdqptQ8njiteSvbSNo*lprjZdf z6F38-hm0ISWjb`q@6a`a%710zk*5BtW?5d87mUPmqZt{W!EU??3BI=o1j6?(6#PoU z(rjrm3VT<O=&0a~#4UoLsCY8PM*G&q9$DAZ&3QV`Pt{JpinyKS5G0FxJ?%y<TiA-> zS&rcrsMaz3`r#O!X92g!vNj@xV)(b$GR$j;xH6{+n!;8B;(5N?YK6}IrX$3v+B2AO z<8HZV)wqG9@evtB%fDM3&RV7PZ2X&xns5&w^Q!n?YYh(CX8HPY?|V{DYqM7!_3I== z6z8ShdiM@zcGWKZfvI{7WS_Ie!m8dVg~6!dBl-}<%Rl0=>nP-Yy_E*RH12f-j0IAU z!3@0t$Xq8vI&5^Q5@1IZ&>ooMb_jyZQLXRcU6CH$NXAhyr;4q03fQW!)^4P9Kg7Df zb2yXmj{sjh@S*hZcU`lhtm1vg7%Hg}Z*S*tU~iHS809Ous8ldodauw-1<buSsWM0U zG+?u2X+3I?so$~>vL^8PTK8Y>m=*oXPr)KOry#BuUf~NEqhvTb1-&|g3i7Q8Jqd#{ zHM44a8=_J~wD*!?D0qB*@TWu!x<M!k?NKm0J8bBMO1m5M5`-R?o4$<xcr}ESg$|{` zp>h$pOQYn~kh(bQC>yc@8v=6|GF&w4w7MBWDK$D4QC;j%Qm4E)M^U|?HTt`*SeMK0 z$`0S%bp_y8I_sPgF~k`T{oE$G7H2|xhhRosuu!W07Q9Cg|5h*!V;O9JSW(#DyFXPL zbq%!^W(E)FGgigVXQD2p0Ry`rm}Zqsf(Bbq%Xp$y@e70Nj>jNW22gJmzbN<uwmuF4 zsu1@R=9PWHvm5HcE^q@h9)!KFMwzf;OYjRgWvXQYMybGDV7?;^?fb_cVAaDC2@^dG zp9}@Y@BOvlSrbf~RLV0=T(pPG&~vhmSM}e<ydHmpMWlln58_)c-e4D3K(32kkBI+; ziTan-F5Y4n-y;YvYUpe^?Nly1)uO!RRIvi(o)V|Bq2nEB&`t#uAg8v05KaN}F=5zr zRe(%SN+L}1a8sQk47*#r05!)*!gzlAZ^z=B-^Pt@eOzxE1Q=P*6!X<@7@+pflX#C1 zBKV#dVCn+V6|lw{Cx-ITV(riC4rRx!p&hsQ6x`t|lgUfQ*(`pwEk2XQ&x1HEK9j`< zRD}3dBA(88@(g^8_)l@JVwv|?{B9N>5Mf#W9*ds@aRI3tZK^vY-ak$c4J`hp$B3^! z8`dvl@wqI%zb$?li|=2_60fN)0Zyvr6rc4N@x{VSRc0-Vj~+p>KWK|z%i`N5TjDj< zLBL7<o#Hn=MtrsMuzmt>OsBATpAuGZCb+3->s5w$dh-=jbTZV6DuC(LSK%sL6-j*! z30Gzk<Cj+h+-E8987#GG4UBQC8|$2<)^Al@X3XYaTUWrJJJ16y^cX8a%o`5$D;9c% zjV{>4D}0rOE@lg_?m!>1&^b1DdqLCs;+lodu(&-(&;NJc9&ZD$YxDM32FI?W9Xnk+ zs3u}XFWv~%cYr<D9wTwcGm!WdU$bstiSuoVU-?sObgBgjt_%Nd)23yR(3#UEhb7#% zC3NO=ISL87FLma=)V?;_i`%zrAhqu|fIZRwtsyn&Tf7?4mgk|7l#iWC`Knm{mJwH` z*TF>(e+P-d-|GUTca1blaD7|@^;HS&=(9%;0O-#iwWrS>O=$?Q_iK>efu#F92~wJ3 z6FL&uhCtdw)Zlc05zici+)gw<_&o)XvN9pH6^7~F0K*42)p=okgXgbEUlqY$`sqV= z53Udkf1#-_NvPfkeoqq?`ltjZF#Rw$UVd(0x)?oA%%_yaG!UYYk~{&Ln1bqblDds+ z-Kv7Fm$Sq0#&(@|9N3n5u`$a8+ub2=mxE)%BOG4}Hq*;t{vvhsRh?BfM_W87)J%tA zzfDXlwan(eDke@)mz*dVY&H@Eb&3a!#BQtg?Hg>RIM9)3eqI1upVz_8uAr&6*Rjy{ z$9X)dl3ezR-uum*g~o-gxO?^mFS7aw9mZGw8CkDHVaY(3BB0=f1lo+BIT3gp!Su-l zz%&iH8zZ;Ng+k&PADRQ}0}gD6tStsX{18UDD=cUs5Ro~ePlpRn1=FJfLa>tvezbap z7{rsP5afUWKXZuCgl;ocWoWThbLLEo89_;51VZ|cwLUVJInYBabn)Ngv?|YOLEAAq zXpK;+o+m+0=G+B7Kl)x!x!e4%zaMo&t4z;zpiJ*jsM3dg;h82f+|jtJ=D-$la20V# zE9$=h^8G)cKOf=`*14qccd@LgwiE-xJP7nX0hFr=*0~o@=tG68D144Wc=>Pi@P)yK ze`%o4E87ecBFdpjAm9{J=Viw5lo2##yAE+%y#0Oe7x+7#eXk<~Ub7-&FtM?p<2edt zo66uU9Ip_}{%Q#~0h^s2X81w?n^D<rmVx=1(PimXe4b!4jYE?KUr$^$vbI17PTwoP znew+yGYpQDujMyWy3Pa`G1?EzA3xK~P<sHT5xpfP9hqBxTf`8e*i2`E+_xDv6T?%@ zF@$Y%Sj^TYT0z6!cTNSo(Nd5sGrBCoOE=}0Q+d}TR(6fmRxT$iUx(P(UA2jN+GL#Y z0Z?1Hl9Z~a#Y#&`Hd(n^Te+O9tOW|qu$&ks1N7X@Yh^#Lm0c!0fRzi#vcDd&?5<e0 zfGj%(QL%KDT7Cg3@@-)$T11K(0Oa^tQcjX(?`X@IVT{eNfEacI^gMA<XQ#bTUE#27 zD`u_o)5)@$Le>>!`r!$i(mH0-$+Do9u<Su0_%WSYb}&F4f|;b~B)~@0vYkbW8U@SV zm;(vgy6NOjm1iub>BKY+py!Re)`ecME<ZdS^5SxA%e$Og3kBoIl(|BM373CHR_!=# z_&75BfUR^qDg759$IxO+CQB!3E60(QHCtI$jw6N)fS$v7ElIJhR9(J%77_+iCLMpo zl>K7LU^3;XEjgVeyIYGX7F!ybGEAE?m`te;3LWLa#4sJ8$LCU>=A7*?r44rZ%J(Ez zKOyr*B_&=*r6-wk+Lqj#BnP$;Q!KXGWJ+Ic3d?H@3T;YHVt5sxr+!{jPI^sA^@Kn| z3N_Gf$ijy>%V_l}r2ZV(b)Kh?v7=Hf;m?xr+HED9GG*S)C2QJWh6CCnW;zEdZBYs_ z)qNHgrRKHB?;9(dI!?NRkG6?GYXwz4H5Fz>oWm`b@+@=_q(szt(*jQcj65bxFqD5$ z^!8l&GSpF`=;b+G^n4{`@<tkO9pN%`d|s29+a|?tuaB3@xAN`S<k1wQ%dn>K@F7$= z2#>mzY{%Er6+YoRbK?QIemiQY3OmeBLvVsd`(Ra$HW(`GWD)q_=e)eiT3I8zs=Wfk zN`)u+p3_G{<{iZcCy?SkBP@!ZkZm3nGWrZc6%g>~n=?cnPpk8_ps8hBGMc}ot2{po z!oGi*{hn?G2yg{7MjY!$;;owsBY3YXjXf`uNCxz$%G8#I`U(1Z^Q6KkCYs+tM`AQ@ z|6c&a&plPpaI;QUWX8BCG7|s?Qy9m(D2y8c@(xOcxvsRQ^=c?^Hq-_{DX)1dyv15V zQiIWAu5a`7urYRv)vGwcP_%eAI)XKdCfAC5rfn3hF{DUSa>cNhUqXJgnBv0C5~eT~ zfTOAxSJlf=)hnl{e^rqAH=sW)@CR!W(o{%HYRU;ngLB!kSd;VxstIiN9g4zoDvU?L z|2eElnhS@uCb>h1JhIKo4o?e1AUANf<*lcYpdVV3#79(tOWk?fbT>EM6ma5^E~y&; z?RAbxl<BO<zARW$W1vGLYujyUQ!|ZM>nc?#n<k@N7HpKKAtN1iG-l*LFrK!pluZ{m z6FXx7p{H#%u1ObMOM!4PKX}!ZZexrwRiSd|+w^2|rS&9W1nNW5QP0n|>bg}_mqB&3 zf28YjP={Z5y4Z@_0{rVw;%Et7X(fqsJ&&<rq|jJPY%PZIb%76>E_i!Mr@|NK5xd(K zyOhL^B(cl$70dW_BzEf~V$Fq8MbrGZ5XsT?yJ)R14-4AcCwJI=()9ZP$H@+(=)XxO z>_$9{tYKF4x$Y{|QuN=X=uhj0(cuS&#Ezhai~g=`r__1M^RL4ywy2jqAjPNc#*OLm zd=Dd+H9mk8-d&K|(%rFutyUF{GoEim%_q2Q0K;^5GB^$0zC6Jb89xPZoig!yn~Rd? zvNnq@T=A9koIKq+*$R$||1}2pxfgk;&qj|W=VL3vl#i#FR7?H+5=000SIO`2d3YUr z02*vT2LSPgQS!SiA*3hZZ`(tnhCc)B=jS#o*j0HS<Z9f2UZ9O!4BUIHNA(U?p;y}) z>S_y}QYkPed7EcM1$6g&s9yns5UTVa@GOpaCsNf?lSU&olW%#Rut<CL0V!2#(t@B5 z7t(AZ{mm0cq!m$r52U`aD75Pf9>V(62J{&qpQb2udV#ux+hS*}ss>5yVJZI~OJr#W zK+V$D_ah5{VQI7bi?qHkatFg5Tw(qu%cWk0El43g2B>r^?Ga5ptE66kE^`#FNYfqI zgM!t^c1{4cwxgM^G8UJmGp(jJCp*x-Xk<>x@m5lL77N<GEKRjIRkb$;p_z{RQIed5 zPe#_LN=T9>@4#_gTWbLFlauB+pFemWFeS}NKCSSXfz;IRBP}#sV33t2r&wkuz`^ti zZ}Ms8jvoyCZ9MIq`~~Aj0yf*X_C{tOn@<sg6DIjS+=2b>AuPQ$`K|-2V7iVr@e+2M z16xY4)<;*B`HcfxSFrS<RsNiq`L6@pIWN|;(-CqG_f|Wm@qrY*RRw6wSK}$Br;-s< z+A~8fb-a>85L3FvAn+Z6{c!6DFfA_MNJo@z{0(?b0cx4#p@8q)2fUWy_J9MEA=-ps zKN{qd|6;*GN5w1(1JX*F{bb~ztV;m39Up&}njniFbG{I58tYci3X$W?Sbx`SE0@gg zgp@|)p-hTQta(XBWb?Ws)n;4h`8GQ6vL3D|6W3elGz;x1Eod@Ud%&T!4OOMr#lhF* z!4z5}sxr1jII7F}9C6+f0g@tIgf=s!T(HluVJdkgGx^b4C3#gaFJwv|2?da?r9Dm3 zX!(K)uLNCI&8P*_xGgV(&i6Zjd(jBKzo5{27z+1Ma1X~=;0ydRDilJ&GXf(Y*;%lS zPVw20k-R#1KMAReKPe#aO-A8Y6g)$O>Y=rXr?EuEzSg~F1&m(ffd}2gI39jg_z?ht z$$@B$<r<@!k<mG9{s0j9{s!>Pk<k1A1<xpS!8C`C<{;s?hkk2Kw38g|#;E3k(zo|9 zEhKKImMK<*G*1`m#?%4uGqR$eusVRI*b1FIDGG<rXu!XmU<uR#QUJSXw>r6ak&HS@ zWdRPREyd&#tl=8L!?3bXjx0jH2aSOb*`k)54S+&B)$tr|&_+R0C4Y|{8>p)E;NKCx z!{KDKF%~R3opgmx1}U>`hr`LXXe{2qLu&ol#G~Q0a6#%vpVmx1#<Em1ayS&P2^d-T zQ1Y#eKb2skZ#@(aQ{ib8o*j!q2NZ6i;FE^J%yB3TM4|Nm;83G7de$e0E}+us(4ZcI zr0s4XWFH&<aPC{8KOPTC{*G<=QXKa_XEnU4)fk$hGj!?3(C{3B+2QZl;iG^PE{Pa& z%vR_8`~W@lTn(yINcCk_ZSi<j|6;4w6z=hsY7N&Xm{nh9)uRC?T>Jm1t_sy>a9Na` z!>ZFII@UW;Mppl7me-nMgRNS_*KO4~tU7iARF4)hkM$bKlNgc#)t6YcWv<ujA8gf{ zq6<XpfNOXz!R+-VR(*_A|Mvg!8Y6$=cv5|lRa-n>ue(>byw()H6D`#mZa^@rzR0S_ z08aSx|Dzh+C-E}2>XLV{>I{ig4Rj0o8Ckb&)tcf%TeXHC*s6E2>Zd1JeSUZNWW;nH zVDl{zOI_ew2-K-Z=kucfj(T6Pyjsu`Ui|(m=+gDrriR=Bx7M&ipldHfu8zKj8)aA_ zsK<630j$TK2I0AIr`=>8Ylf@jhTQ2d0OscdlAmNP&rgA!=N)!VheBsp?f<i7<|y@! z;Kt)tzfXeh-u(Hae<kMnF_PY4Xwxrv7*A&>o~mg%p=&2Ysdhrcky9-vz6hg1Y9e6m z#F;QUsx#sx7+FRXQZSPs@S$K1swG&*fPyBzxPvAvwj}&JJ$a*-^ADf9vaQk-o1jHo zrQy2MEUQ+tRUZP@R;>*iQ5}2E(*g6ixsEmL0c=(hHDu)}ZKYlfVi+IPNRZk{{_+oo z@t1H%KY0#|FsjwEhH+h?hjA%$rq5wp^w>R*?a*WQTP#2|Bd@YK>PsQZ_a4A|FwEBn z(3}}4grZPl=Ks<5-QiUfU)ZyITW&}LQm7J00s#YtE;T`=x6lKEhAN%Vi<C$QK?6vS zG!YdALT?uMiHL{@qJoG@5m7+_>4@^Z=girAHy4%f`{T>=aG5iw%zMt9ncbb8-Nj5@ z425k}NJOF441nJyM{olF5-RO^FyISe=8f>W=g`+vxb0Tr-IKlu_o`|2yOx-aMs$QV z{Uy=t)fDzBcBU2KX^|fy!t+7%Gabp(`6MCuMSy(H7U3#rAWt6j$rLVv-c&Q`OfqSb zRCBh@5Q4L{PD&AM4FzQ5b;w8aF>!FzR&3*sF46%VGdPOZZuv}YFb^4h7B)1B&%zQ) z{*DnlpBYCu>|1MDPV3sy0Ii+Y^hKiC>G?cjyUenjUdYXU4q7|Ch(~O_+2GR+h~&lG zN)ONx6xn`~@@hO_E{mFocHLR1-wOfvFciEm;aZQl-dUiWi|~_zD$g15-*-jT+kZaf zbu6*YmT~^w$u{Pe!@fNsLRN_xs`Q<dB<`Ur>F#{FbY28feF;&eHrA#1Oh`*i2OPec z3Jn_gUxE%BK`GTUi0+@ehpWM=)bcRefSTNkjbceP^jyHQLAG_Or|P`FO?tB>nhF~E z9&T~yTWu<C2i{l(g8O<HxY0IljQ0uDU}=xkvc+pZ?(3*^XW%FHWdxrnpA5oVX}oJM zsvI_Z9U-TRZ5Kn<+BP@h`BZ9sXT-Ta_^N&-7Z6wVFvyx)FM!w*K}3T1j6M7OXXLz5 z2YJR#Zi%2JqPb`?nD*{NgI0vDgD%*;H<39wmwh=KTlDIS75W&gImi~q@i4}x#%rwJ zcTEsBMa1)kO_t^MSaK?^)gHvPZFRz69EF|O?!!h=MTt*vUP)^~mD*P)K&l}@&P2eB zoT7CR&>bMl&%p$=4~11IB;AwH&`Oc#xgP_%*}po}eBWNY#riS@W(C`u3VZyy^eUI1 zdfHItT)CN1<?^1BO3egWcnYpit6U|O0`ssm*<DrngW@t3glA%4Q^)=8{ZJoz%S`T( z(kU`Mqk_w;B28jaBhmeHA-J4BlpCG70rksu{o|!jze1OPi{*03ry)P0A!Jsve9#7* zZ&lH6K+X?jt4)FyM7#d0yv}zT^3xmitE}O2(DXvke1jq3`?d$C;UKaQ7ONy^lyiYH zb|^j-fC@&&Xr#<&q|69PYs8GKv`NSaK@uZ~2^xu!SEU&@iw>kPAK`$HdIBA|5ae5k zpZhfw(&nSE0fpTQP}q$^{2~-SMq$$u6po?LF(*`Y{{aPaj&fea|1T~__uoRH_Nq|j zH2~Zhil4Txp}H^%16E_aQCrIr_34J10N2-=&!%EKe9wVBDEO3HM_<Pz$>H+Tcq9~D zN=xE~azJ!f-2jdEe#7i8F>8&`DsP*+0!$ZLlh-uSe$$$wSZmX@!PSV5is@uR{EnHw zUS7n{2ACz<Z&p)&vy<3t5+ZWHtPVsbnZ0b*p?(;E`ZbVncSYgAn<%tHVar=6G)BSk zHVSo6SojVO2&Cv74eF<L5?gmUZ89|rCX>xMKpJUm2(|wtfK&x0K`RSF1{!rv2GI!B z=HEa2$LW6P^8AqhW<1YR%G~~opMBn9XPmY!&K(#1Y}QP)SjyaZ-p`9go6MhX@jYH! z!_2zw8@0;3ZyVB`EnR$pOr!GDvzcby6TV4!no*$=MrjpCV#_Y3s&<9%s}vNN6SO|2 zu)0s;ST@SyA3`Jwj<%>mxd<%@R2H=>h#D+8Q03Tx$APQOGA2#Iqdt)Hyc8ILTnnWt zPBxwqKJN7MAM7Lt*m)IpRMH3$Y*`uyk@|5*xtZqBF%l>J5A9!NPv(l0-;<!Hv?rRs z2e!x)O@(X}Pd15K><et^vj7AGA?FFb<nJ#IYJex-1$uJTxEo++4(zC;8zMMv9z02W zvKO|_-C*$fr3F9uj|9BtZ-F|2*Ob~M;46w+8iBuI%!H1;8@fTxGwUJXI}6{}4L6MK z0d}Uqj!GIPf)$q#_$#=quXdBcXA8p*eqwzcdCh+l>I7a>*Ddh5qLxMAZyF7uV+Y@U zGr;Hj?Y|@cZ6NrY#;^c8qhUuST@%6Jg#<n#8##1~!G}u=*6SOMoUsjX0>a6xC30W@ zHyuU(XQD=0RFy5#6OW0RTyo}?5eXZ1XBI%tv-u&;bP~R=CvF+_0_^OB9X)y`Jt#ad zK=>31CoL7h(XW%|H(!S5ci8jo!oWHq|KZj24K2^L#C^-V<05*Ryt`xk5ztWAt?<tC z`@eQo(q+-7&q1oh;_ZOpE@Q|iN`4HJeHgUFdf4VE=TQ-jz^yW9kAR##!V%km;pzXt z@TBnQ+lwl3%yYm{fX^$Q6$YLbl{mySvf@y{r0J{+Y~!mI)gpQG!vau@sJkep5~3*6 z3oSgj54(C2bmCs%a?iZ~fb_iZ!rsR<LgM$;VCEi&WsxxaBkD^Sr&(F^&jA9BC`~=K zT>$M6wM+tZ&sYo{dx+*h&QtL6zjhPP%ICy}FA47%`vdH3fgP3frwG<xO7Xn%DE$75 z!N*7oe(-Y|Yw((X9O?vKQ*k>4e05P<LE!%~+C#?<ehTC~a~}e}oA7<$|1u^8*m)Cn z@O*^`4tkZqkM0HVe>3<6!tjG{(L{sS{7<1y;58MqQ^0Q%wIc-nZ=)b|?BGX3&XfPj ze@FgIAo#zH)Brm<u%nXhh~QuI3H*~t&}#P?e3Z1{2cNI02Cw-aK%KyAD&H;vUscr9 zB!Itf90_Q20OUN`4*{Pcd|%}68-E4Z$%Y-3G)e@&T|wX%>_?M|ht(^>@Pj`f;5C0U z)Cs(%?pxruh*~m%SLST!*dyO{H^7Hq{qM;C5C|SiMgevv!;VV2C4%vb3H)!j5qT$r zFDNbe!B1(XBd_^yK%KyA>KZ708YOBO1m0;jfsP$~yLSQprH6ojM)<zSJI#>+c1FPt zPNPIH=QRTV;~?aG5QCp93_tiMnrrZyzZB{OUQ-u9G5AfQmQCP;Ob>MI;2XaO@S%VF zcjUhd1RrEp39!>2c5vn-g4?SQ_|{9&q?f_xmlpiT@7gV_*;`Az3<Grh*3`E|;rOko zGVhBs6~)XRa>i?Z831Ai<UCs+;!J1Z`+CA_8o*)?$~&;5kKa=s6s`~;{5c6Hy()su zDv;+-e~NAkX3uvD!{2RpV1N!1n*RsXsoOMF_XF|t8&SJLo(7xm2Q<0@a-J&J{=3_p z!uNR^Y+eko^C9f0q+%lY^GX80=vxe!d<_0^VfevsYpKC&{!dUR@S3W$N5H3xTI^(i z&u2al9ea3Rft+Wv$oSWx@?LjL621?7KJ(20JKJFgXHFt`mKLuPyWnZZY9S1MyD<FV zho))pntu}N1YT36_X_yqqLxPBL(IpaV+TJSa-K@p|2y)g@O|Jz%$@;u-i95OR73;^ zGWaEUkfT~CgRdqGKltQU8ocHohB|@QRFVG)`1YcfMc_lt8v%`ug`8)j$oyO6Ul6_z ze5hFpZQFye9ClRFViDZ&21Wh_+{mpK#^ARK!w>#90k8T0gF1oNRM>|C{wq<-CGcV9 zrhrB>A?HcH@!yeG!uNp>Gk*xMGY@uDQXvrxT2A0^FT{Yo#)s!B!tjG%+ge9n^S42r zz-!9fC*a$P+GzrR%@_n7d&GJ`&a**e{w?wogzp1?&BzI`GYxiB(n1l8Sw!HIN+9yr z8T@8p_`yHdMuXS<wNNMUn!0I$KPGAsQvm+Dkpvw(`1FqezQWD_j{M(&;IA7U1MEBx zJ1Qw!40XyO@Q3Ii;pVidBn&_J__i9n<}ZUff!EZpp!f*aTGUbryxaUGpwVXg0e;;> zz>gEYFY<0P8g1KyFbH;3(tHtI_!fbm*am6iVelJ;;Rk<4z-#_os1tZieGiJk9~HGs z0`D=`1T>oZF~BF?`tQi!3k2^mj|JH24m&C-QVbocOyD=<1Nd+TpDYaj1zyi~*5O%8 zOoagkoF<|x2ynRB0dn>z{Y-$f{vB{qZ{g8SV3jz0FjBW7FQQHs2Bs0Y!28vQp(0=4 zRXrdWri<ti!cf^f1-S<=>2~}Fh!w)45A3Suvo^v^HWml59#6Lis<)Tr{A$^BT{#fV zx}wwcCM4HJys_hWpy>+MdZS7_b{!u5%!Bcai1|~()xnCYmbeDfbkd`#lutlmhYZN( zz_Jn~hupZW`#%}zs{Lvl1U!4l9S0He&LZ<~Q%jQYeF=WixD{ZhH0-FPr$q48J_t?K zgD)DY*31I5$tQzj<4lJKbemFY8$*fjFACl5Q_!@1UFhczVGC|M3Ep?>U1|tIpl_Pe z8(VNY7aJ1jH7Bi9t)U_ox80@Yvlw<N2$#0V;IYj`B0_F%(IQ^QY3t0v+-GASv)GNS z&Z#v>e4_?#+8Ur%^s}!?BSeIts+xOW!ndVo@SVRSVme4?C(@(`LP4Lu*8Dd<L+5q1 zsMDazoDdc2^#@$0JyZ#A7F8;8s!6?_&EdU3Hir%BN3~1-#@>U&*sZt+tW#iwb{pPH z;Z`->RM-NBS?E!{bWWYJ3;z&Mm~~Z@YRYcU_}e;pKE?Z4^$k?K<k4s#A}X=^aOCS3 zoUhYG)PItGrlXawS|Z|eov)heOcYMiHT5PaPS-cZ%oR%4FO1Q!VNciKBQ&Mm`R^(1 znAq^8>lenF06XPjN1vqMdr<gTfN&ZKCq+uD)FG<s<HPXWNqH{?KXw|8`~6SDTiV8m zT8i;dDDf*|K+|pbtw-VSfIb6>Pq%%FA0xW!D2tx*B^IFisJf3a_vBZg`dd`|*LXH( zkgA*Pr6&@MR$<O0Q`N2LEdV5rIV;Ay{%WNs7=C4K&DNTrd*q*Xl3Nc!XA(H~WZxiC z_7O)f$!*6=Ud_Zn!Zx-FiFln{LA*wj2bMYBX08aF<kj(iGMD*qbFG!xRl-Q<x>@Fu z{pcPFOOG{ktk|K!{DNi2zj1QCtr<p~r-_F^r6yXVC%-O-m-?UO5thcCe7-X}xyNip zwKT0=L&tEZ3*GZLXxafQ^v9q>yW<t{Kbo|9R^tTr2!zuIGtRR*-jA9u3x>zStbXbJ zC9Yotx$r$;=#Lrb$}^}e_My0igycVd-l(J&DEAH5n%_u=(fHd0%X;>pty^BlXz3%Q z0lg_zzb+N8PsKYZMeEu`mpZPs?BZ={FN(`*o?m)e_v#byWTAt`z!eUU^BF5V3-!ZT zK%~Q?=`V=p@MyZqNrY!8!n2s)puYyB4$l%+r|`s1H`UTER(Mu&z3W?qCj$%}9$i@r zmBlVec=Q0k;GiwqCAGj{2;k40A+r~S=O`@O!!zYy!?RMfC_Fc{me=7I*Wt06=kO$) z--P$w1oOKlvH=z^O??*gGq&WTl3vC03IK6*MCh?o@&sN&2rJ>Ouwi}3MyQbKp(DEX zR|#QE&VjV!6t?*!gy*BPkC^Xh{ureaBKX~a%|V7$$6J>Y^5>&T1F<y6w9#>4&(T$O z&$qVs%?~;;Dq#Wu0>kKtFVia5649kon3C@a@s~EjyTn@aOL)_92q{^-t!}3n{MAPd zWSWodsw-?ArS*NVJ!led58A^~dNo6mNNOj+6AqKmH;Cp<NRxOIQitym2;TcNg*PF6 z0$OiEni@r^nfL=D!JCk#aVv;K7(W7Fk&Spu(kwxB1t5}NjEVvZ-jXyJ>bxZ>^fa=L zxc)6kV^QVlbXOmZ{&`E%T*)ZPyew&g;@=AP?eVv!U>cYReQWwb{L?u8jZ~kcb~>gQ zhP|~aqOSUk^;b{uSG$%<HHA2&hyc`Gfq;D57$M)z8{fJLZz2s1{24jpyISGb5*Oj4 z4!@?WpRvNfoj1Ns0<FWpGjcIDzI_fljJFo<;ua{}I4xDlyM=6IZjeSP4js|lzr}$k zsDL=^7hQOtsa1JmIwjSdQ;9u)Lwg@_d*>c-@Y!ybgIXf!tmUAl+Y-(B^$|O`0<?DU zV|MToXzk#EybgZibFku{Iwi=#nrQC-#lc3R3kO@Vs-9Y&k!n3?riG&iuW>pj&!DNL zS$E4RU7K*ua!S(+iDsv+@u0Z_T03<kYFI6$`u#{}7_`s-rf-n&6C1aLY-E;A(&vlh zR5+UZe{iZ~U(t=zdfa8BZ60~%3gNo~=`CjjIM02eGkP<KA3w-oXDjxwoYl1l0bZx5 zrfZ+KoDGVmt$E8pYiEP`p@xW`ENAnvRo{$Yk&W~t4k6Jre++`OdD`ZD2%7&l=l^Nw z-V$B(Xq;AM|KGCtkGHW!;e59#U%F+plh5=NCs9kM8gl`IofP^E(R8gObejusiXQl? zroWtoxw|;oI3iO)DIVWAU2koaL$!ld!`SpHs5*|*9owe-;eZ36@z4iM`Dq88+DcOw zNxqk2c{;TX`x(>VAJPt`2ciRK^$ADOe>$#=1hXTZb|~|J=+S{S4Zxu5bu9B8hv_1( zm2wqouctpw|N6E1Ay{D?ETj1_oLCLpN2lC-IB<h|;R5{AHh4mpD{BHAzi>&DGe8#J ziC4i5+fOPNK|VD~4f~h~gzTx&YS;l?PVYPk8#0F--6;Lko(yLQ4y?8E->}cipw>an z)vV(n#p=IchaRkO<6Ve=c_v-};mQ;Pyh*`K7m9+`9fs^_wb~bhJV%5K>xlefo{;p# z356gq61w)ln=ut%>RsWOy!9NCiDRN`Uk4OUCXu=h+QCsVS*!i8NG9NRFon33gGWvw z(#wre!(2k7mFFmhnL8v*#i^~I1Y4vPrV#U4RO>h$<u4hpLKFBri2yi26xz`6E)j+1 zH5G9Yal0!Pd5eR2$`-e!Fl>+8#9Mm%mhVVfIq#XwNA_`7|7KfL)zpZL7S(&;y@&Ow z7cHTF;((FUtv4PY$IfhKR{^9-U4<9`;;F6`g`y<tTFFPGn}11r)W;2B#E$jthxBpO zJ$)ddZBedAh2SyJ{05$6ZrXsb#?GW8fZ0dm<Eov4kBOj5f{!T+pAhM0@ACe6{Xzh~ zO%K7BCAzfP$yLXWuf>!Gc$Byi;j`-fv0N`$ncWxgD3(mTW?^N@!YV|%Ib52cSk8kH zdn|W81nX?kO?wPjU(18_OS~qxX=B3rrquhfcIvC+%IwR6m5IdPB(6+ZScOP8PusAj zz=$2|hY!JeTXboO-WB$jP6F=t7S~=!jy55z1*P7P)!k2HW%e+@qqs7$&ce!+g;j`j zv#FS(xLypv`uRh!b{Ab*k#~*GgLTV0z}l3sj(-5_Cc(<=JA##oO2127nX<47k#26Y zVO<C#_PCyW2-d@*OZ(egKjy)DelM`LBCNkWfc2UFI<Cwf4|o(;CbnBxnX<47k#3g! z+kYbXB#hXxo_Pq?8lp>^Z(J>f&^eI08Ts0pu(p+Ye+~o>&{&!6xU8`<Q5yu$Q%qS{ zg-ADN*|1&?z<Ti^SXYZK?X_|3%7ZmF3Rv3`)(;-Qx=pY$d%9p{Vy}gjDGRF*>E<mP z)}=6FkL!(xU=6>o`-HaExDtfWas8?ha-bbyEhqK<xON+;<I3#ND>|-BGyuVIWy-=T zM7r5cO!52=BX+ERJp}6*(WRX<u53Hj=Hu{5lBVqmYnq<_2Wfm<HCOO4amK>Ol!Z@- zbn}FL{tv+C3_O<VtFa909OR1V(q<XgDm%UwU2Ed_lur1pdVeg}3sz=7c~!@fiLoF! zmP}b#g-AC~+G05mM(nZ7_Ykaqh%W7oaRn(4AK7)kA1IDkb|S1ek>z?n)=rr^uFO6l zSeY>X5UfmDScOP8>x(Js_Y@ehV=ed)tX)L69=5``hUUQ<SrAyCCaj|#!0H~Xu`;_k z;L$wA#8e9_Qx;Ys(#>2O){6mHA9)DY1ENbeHC^B5!CLY?jQ!4p_1ptkHwji|e<4_z z$ahWR%9Mpwh;*~4p}UCUx)4U}aeee5SSyPz-NSS>7DDHMa})Bl3t?>`_5K`qW{8d} zvpWDD#g&O{3oBC=Rw2^OsWz-n!iXJf^@m_xCc3m8%C#jA)~Fr8`V3*+`2g17p&Bc* zPYG5gqOMC^nX<47k#1hKVZ9uHHRT~#y{7IH+5_Y&A%u==jdjS^X9;V()cfPQO|UY% zE8tOFnOI_BWy-=TM7r5oOi>Ojg%NvPn>+;TFwvzgKdza1u;#-PLrpUX>&p*d?KVuu zmDxWDRwhc^khn5sVHG0X{Md%IA&l6uwtEQHA4HdS__%K5!TKHErrxwGVZHkR*0A9k zE3^9n9>tZ3)fQH!EUZGLo0S~?v2`r~YnO*$Z6dm~p~saWgwBCoc+{+EH^SOe>is#e zORzHgieP1;>`jR)Qx;Ys(#=<GSeL_yJ+3_;f_1Ct(*7OSr+Kg*{Sk5PPFRmTfVI~M z9am-#2Rw=^6YDLkOj%fkNH>F={<t=U5j)oY55XEMx=|;9wVDt*t_|=O-KISVYb~kw z$F;ynjg{GV1uGMkZ%JI4vakw~ZVt6!y%m6U#6z&YD7w#n1FS3USerM;$Dx`IC9GL| zzOqm7an%GsqF6F<*upoQq%C|xq??T@_^($N!iYVV4_y1_Jzp`O6J1(G*v7i{Pvp8b z+Yz^Dfqni>#}Wpseu!^1VB#npU1lfW*65k&1A@<B#@o>gk#1hJMYkP{*wMf6-_bRL zT{??so9Hms&4WHx*qj^9@w9?!+K({ga=ep9Ys6f&RS+}byd#L2vf?d7y1By^Zx4*v z5l?*x;x9y(_Jcgax~*uBL8UxM&(rMCpOBtrq+bhCuIdGFlo?EHwU9DpAr&IsOnl6r z85;wT&Uy&a`l3rn4+v6xMKUE1(ow-cI)IQyU|reB$r__$%2hFUHBu&ef#57)%0enc zy1B@P^l2Ee$8_#PkZ!dh9m2X;A5^Ypd64GD04cvFHkFZ<dtM{ussn<QiI_hHDN`0w zAuw|#`(x^Y5j)aF4?&tBx)jr5tlP?{tXv)QAiWm?q=P7?nT+&HLCRI50gif~i31i= zrYxjFq?@B`NH+u^UG@;9^KD4?3(_je)hiFuR|sh)Azi^p$B)%9<*IV`G*Tu;gW%q0 z%0ency7{vWX-62b$8_~Wkh&`B{-Bs<vTiH9{l_)bj`R<s&(LR8(-#S<#lZ3~{~0;u z$7$Hi{#IZ!5&4(Eo=ut-Y$4JM)0+&MGL->A^KEI8&cRB+rrnFR|LukA7dzY*C(2`@ zT|jOAF7<x2-wIl0FGRbP4on=e&@Qs06++N5RqSt|E$#Lnfj<jCyZ#|)dx$PitW~RE zt3%xcH{BXK!g<hnJQmmKb_!|<N*ijgmh@BeEv7000Ue!o%6wjo(W^64HN)#Dw9mRr zf>+um;spXrM9OzRZ2B23f!Af?z6vIveb9}r6^2%)@armL2Mm3V%5*~}dLDLRp-kT( zi&l-f%=Ih#0Q*#y$xr*i>P|O?^v6^4*mpF8Z>QwXRCQ+>_;80(-Ci#RVYJq1!vEiv zVv-lam*f}eX9E2UrJv{U6XSgizupb>vlBn~Ye;^pSv33BdI7iSkAggafV;m#VaI(G zenFv}3RCVIDCAJVfCHnAFy#$J!CM$V@p1TZ|4}OowhB=HCBtGY*&`@U6G{YUHx&rd z5C;kbYc~}Ln$sDk!bvNhAUfvcKJO%$hf(b$sC8Xoc)VPaVAd6M6WT%&m=o~ZHfX4t zpo+z1IdPN1>-fNzf3)!kIr3yBJ;+IKxajfw5urEUulKcIkM1a%9Yu|jW;Uzo7b=dh znfpM@@$ETBure9JR+}ZfzR|VRX35-SQ@?8S0?3Eum#p-BDG5uE$<2R&dq^5VFS=$( zWavFMu0QSLtKoWlqdb#4cnUhitl2@|`J-18_CW=rhi`4HmNzJRB0YLs`v%J6Tdjdo zr!QU?Km*cP0lgr){nanhpbFLe9efh4ZyhSH;HHXBl$(aS@+b6Osj^A<k}=Cvb%&`8 zLeo~j9D!2blyLgbI}i1)PQo}}7dw0_1!DT%@40GH{8Ob;^V9TUq@&d;%hnp8X?RvS z{R<U|Rf1k#ky?<8AKyW3Bo$Rd!l`Cc_P>FW`%(N%1~_*$6n1-%d-YIA4nm<B3X$G0 z<!K&>=B^J-!u+v@YA~E{0w=T8)05<`Gu2i#)z7fNHws0nQ*f9HtFaSWBaH?CWX?$q zBd85V8F=jw#=(vWp+i)I(L9;F3*o4C(!9J=LG?xpj@(L6nP6n#{iPN1g(=t5B2=Y_ z6Q55JVjorz+dvvUjyF(wMoaZakMPIt=oO{-v~XoTQWEw%)l!z_FVu08MBet@2qavz z2Wd{KG7F0encu9<^XOS1_9>IT(DhzNIkADO8DaB5AYltO#5PFhz-4gYnoYI>hgt-# z2iyuB)~APR(8-`ceNAqb>!@=%8Un5iAwI5w4|Hv{HO}C3ee-?uChHNbb+iW{o10pU zruc<14c5_TCn|-&@|$*JM*@wdT3%r5*(Ml!kAd%DYrUrcIBoSnExi_M7tHA%*HYe4 z(6nbyw9-L4dd!BE57^N+Kt~;y7OmUj2{6ig?;3o<O*z8CRLBJpqUm8MLQ-<H^h64z zQAu+j^))UKmJ8>51j_SQpgZk-?$mi5hg}*O#(S_4MBn~wxYneKpm@A9r{UWs#Xg8$ zE!1!wZ>_`uuHl>f+L-)<s6=6n;WxQ9+`<H2NYngNsJ_W&j4D&{LK>fBtWW#@rmaE= zQ1*@hGVetCd5M0O(9df81UB1{T)4u0k~|G#`!LATh@1Na3d2!|KZ}Anr>*mM{C@!z z&bug73=hNm$+6XZE*f)|#?NNdgwzPq^P&~(d}$Cl@?Us7&veq+>6=RX`r>T<Ao)cP zUi<<p(p}2DBMkZ$s0Xlhd+0_0RjzPBL4(E<Cxp-b6rcULCKU4hI^^wPhC;rd`-4Kh zpT8=v8d6-c;D?d3nIcpVKlk9QyD18TBf?az8<IB^%7v)(XBCpGt?~>P2)?~~M|{I9 z@h0A7*RUCH85}KQ(~&&%XXHFH9iwD3R#zZFDf1IrD@dQ)0!_R|`7tU=9)S}rqA2Cw z18uIbIUElm9@y%v9G_epg-u`AG*8=P(=6FntpK@x6*j;3twPXoOq_AXWqe)cQ4W%^ z1S-*Ew)iTdJK>o$VMa%k=XyHCsD?ctnaeROHv=&o4zh3o#P9_awo_p?3eOh={4!ph zLYuuVbs3d3HnAlShy6710aGe(&oLW_D0OWZ%(AD8EKfb%h3yM_ti@7^M{x+6GMQ(I z-Xd0vVvau}XCrL!errhNuEp2bBQY7#aalB80^OQ~`irWy;bh8GgD0uRP8aEY3^`Ah z4I~3R;6tJ6uQ`f%IWh5|*~Id(XkigYcJc$5>d&+=L1Ko1SNmI-v_=iktx0HlAf_dz z##GfydP5-R$qB@?)9P}(2IpDa>S+vN!qmLh3Vd?83{7pPx%W1rg;KPSb!r(pjd>f^ z%yL!q(U8uS=7Y~(X0@}<l}-dUcHGxk!UWv@Zgz+Fa!0&OBkZwRaI*tmU5wf?IA|1) zM#hgIitxM)Dzuww_NQadMjZBIko`2tHoM1P)TjYEbf9YX7gG_1z+LqSxPLo31Ap1V zpcn5}s@Z+EH3W2MckEnirkv#87SQHZnT*Qycd2JzWLF#`aVk&SV{uaWw4SPnJMIDQ zP#bsY1Kb@p?#>6eH*MVG4{(z^``f+o0JoowTM*$x`2CnY*8`*fvoHOc*WQolZ>GSe za_|pByA%h1GsS*T5uA?B|JafVE*ho^a{#xJ%9})f9}Dg_>Wo6g!qk&w;Euq_gvn+f zZ9>gs=&{WtQwuV#$Gd1}KEaB&@<ap&oJgPdCC4<Q+)(t^bfZP{0%+v~HJTyH@1w)$ z&&ZiL+roT;Fb_r(8Z*n^0jV*cB=vR0EzI8%p5R9W^I9>ROPDYAf=R-Bf@D%5<GP;* zbCGAX2fibUA9KR<F9Y%p{`&A0j%nCSRzmM^62K9#SFjJsbZ}xLASg=cT~2E2YzZqx zce91Mu{xpOW!bKvbh>N0TuF@NM+4*cmoI(^_l6^EAMhvKW3y>+Jqs-KfqGQFwAfHZ zN?FbAWuccrds+k<^yf>$ER6GJ&G{P-X>2gpGT7Wh20!u{Y{^2+<6v;`zZ-0F3De)S z+pq6HN1lPH6ztfZcAMsv5;Vn3yGtkcB_gngblRUJr0QI&ZzvXzcp1w-|0q=1XGAq5 zd|8ZiKIGkdKu!WC=Rp*{pu$%u6phEJOfIAbLdJU;HQu}Q;{xgF@oYd}N8hn7Da@L} zqc49?gRpgW;+i5Z^I<cw`%U1l!B>Fugpmke=+DSW$d+kcB<cc8aCO|Y5PBqN2S=cW zL5}BwHkXSTa!<j4Zn&+g^^P#;rL8fVLFcub?06Dh+y(398P92s&2k?GU3<)jLDQuY zEDYrt!(h<nH!|rHhRHSzNq-50UmW{Uo|eZCK_n8m<%l_ykcH=1-s{>|U|D;w>2to8 z6S(C{rO~ptsy^IM%YWNjE-wsj`9z+UJDz~gCAsBPZh4-sWnJ42mUYXTUJY8uy(G7M zjasf@Yk3q5SaDD4VsH7Pz2(I1ZP9XZZuzz_s_V`t|L0o%Yl-MG779(b1g%jNXB5*x zn?^o8WwQTv6tTi!|4R$OIhe2+-%*}cm{DYE|9vg%+P8fzYx=IQ<-*)@<3zOF$L>E2 z`23%3_rGeMmMa!E)wC#Xc?Gu|I?wW1*Y<~H9eGXf2CaRL;+BKUqUFW5mjAG~{GPq# zMtNFxd|;}HM|nx$2)FEg1=Am`Kccp-3!j7~%Y8(LCiB*S#wRc1tU+#0wy_6W?A|{1 zavM9_Vz>3NciGq*EcO#V_E$FcVT+yUW8br}f3w(+S!_>SNWh_UfyGi)&0&U`RKvWw z&xI}gG}5NQ_s{`@dZ<aY_yluNIYhZ6UQ9NrHcRaWZMLeWM^*;Tnx26I`WH_s7sXS* z^ylg>?3H_P(N#CF^`LXs3Rq(Jci0~G2)9#T#L8+LKyn*~gMaL6k_25Fd~YF1i)AF` z9>oE-rKnMtdHM?BJCENWj^eb8FX>yj@$t<T?dS-fDHvmY?RA`w69ig;ZqbgKYYy{; z$?+B)C_0O&wK1Z^t<4fbj_$gFBMa~$&^FY-K+A7m1IMWWTAI)T@4_N4;%V{*$YCTB zs5reHe^$BmJhECLDNJ=3Bc?g*`+S|LGTTfrkeeiDG%44_RILwiId}oq@u*=<^T*h9 zQMEdU7A<=rKBz6B;l2jeb7;@~Hwr7L;i>k9Z#-)CV+-Rt+TBTQSrUFzYha4K)&k$a z4nOap$pYnJcCOuQ=~&Bbli%Kh3-7QCpZQ#1TD!nS)rwlMO!(U^un;b61FI>TaPLK7 zGPSkL-qz2LS#7oW;T_x==}B#E6A8bmJ}|{DXo2@&hh5O*O)~pGyV=WbpV{?w@tLV+ zWY&`Ko89O$%L0#8fStp3JN~Y1F}Do9H~S*l$+mLP*I88-2|O*(8+JIaG`SMwFcJw= zY&n}R_gWm|i`$bBE3;T^)6nDO`qZCX_3z`PRD_Kd`*J}{Cp;Enzh5~P9xYJtF$tF@ zn}IBIQrz@4G=HEkWb<<|MhB4T6%V+2%V(Merua-V`97I`E6|4@e4Sip<6cvL&@gE+ zmg8tdq;+uCe9KVzX{{u!latm)VuEP-H|-fGE&t;Au3UVUct$1%DVe9p0!!q;gj!O* zg=YDxU!*1^hpFm>bcCGuWk7Al5F?!a_qx!uGe3T=L##k?6mn60kZK>nPxFeHXJ(2b ztvA<RAcSY76s#3y+*47-35*p@Yjq*5i_=84=XWcUameDs)fc|*Ov)8wbPj;O`in0Z zDlJB@*2J~I?fJAiny3Ry{P`PHkhiM2<3|Lf2X)YCj>j=b@bH+?g9IkQ1I|A!a~otv z35aZw79-{%8ok`fs2WfyOnY!$kor8RXYK>v6BHV7=(2fmERP3qwVI;SnrX~ep{p@B z6U<`{1M>*NoQCFcm|JRL9zmGT0*J=UG94-dGr6@zk|~QYk8=Nrszcy$)I$WD4|AG1 z3RXR_|AG04*waz3Q#V)g@gNjAA6rE@?&C=|dpRbEzUtU2k{2WNTCfo4x4K`n!b{k* zIXm~TXOnUyJ5fuf>Q#~K6sc{XtCRa*3YIHSn>p7Ar~ke4!SJrcPtkSw`9VZVQi|ZO zCu}>{gYjt9FjZq03RgtJT3L7QMr8|damoI8U?5U`M}Eqp&W4&<jd~>Z73z^2u+3RC zvl_u33>(}dTIMH^86=WeU7vcSL22gWd}M5OhZLT!hHJ?5z$P#IGG1kN!)kr2JJh1l z{90>-tr3;8xb<PLTCF!CV@F_2x6U&4tD|)i86~afQtM54{%qypFz<qh=lTC=zWy_h z;v)zi?kS^17_w$&7PUV`bWr3!BgeVS!jeT;9(&xv!t!%K4kMA7qG&xiIdh`M(}M9_ zgP7;F|H89(HSo01coJsdO;v6F2qr+MIUt#6ftNN>I~^AV?P?&6=ws)gv8_NI1fBGr zgk$U(r}7*MY;2UTyX$;@OzDYtA<PDmnYKSV$P6bs$_KV%W{GPOV-SP8=rc(27#41{ zO)JJb9$fEC{J;mYc|;md^F^`MavcBP1S_Q`j{jRwIEX^jNf9h0f>j~rx90i%-<|M; zg#GJeRA)La92oW}*wao`XQ%9CtR|OJ>P7ujYphuFBQCN+LJkRvN4r`waz*1b=<4KF zyr@QC?tU@C2&ezO&ypkk@MG4s;k<_mp89>A;puE+2OJe}v>Uz{ee)f6K^n{&IioF9 zs3lbWYD*%3rXD;EI_ab&0?lil>46RS+E#V?;EN5kZezR(vnA-$h8-r86<UnxFu4#` z98{C6(I(0)^*N+yu}8D2_~m1~)4=l1#Sb!ojLni({YxfQRw4t|fz_@KGGIFj+fgXC zKm?;D1N@deYXgyo-nABSRMi%*;;!gzzD&&G$c$S>?=zyh8cBGYQC+Op4I4q^&1*{a z1{v)62_HVcZL9%%Bk1a%ls46AIc(*^hU>23{u6cEQvmQX3XW71eni1r4~3H`^h6<? zWSyQeI86ZMEQo^f1PUckNI=0`4u$H~@nac}SODYa4R>GEHG+iu85CMPi9%}>)=;4l z3V)*zPO{Dspt?T=n-ftuT_1(nC}cGZQ_GCSD5>fp7qG1`Loae=koo<FyCUjNLB?GM zg&vJiD2~E56g($Ibiq&PZ2A)R&kl)q+<_was_-Pf(l=g13}d?zxf^eDkHt54C-HV6 zd~Rl+WXgVsU<Z&e^818UE9!uVt{PGmv2Nr%`Wm|ZC9vu>2B1YKj6tDTSrPPg`$llQ zyYb_xBP`!Kt^d2ds%6wdQx&Vr-M$BI8#(u2pJztY(vaT_>jj5(BOxNkG(ksKJ?Bzw z#p)Gk6-zPPolsY=DIlexu#yV(QE1%^XMx*MNJBe&VA{I}#G{|!Cl@u|!$cj&&lRG6 zMgf23aa*GP03{yBL7&SxwC9?Q&8*Xht<!7Oe33F#u~h^$b`km0WVIY_bfu$tn5snX zu*h&wo|EDUMHZI@xYDH_r8|}?fmRl$mF3P%V{<95OL(MqA1vr)8!c6^MVJbTD8*W| zP#HnXQ`e=1ESP{^JZ$hHY&QspQ>8bN)?6#%C+hKTy2q{au6w{AxEk9`WPCkpTaEoo z+M?CiC^Q6**cVq&xQCO7SHkciG_k>}WUYnJt7PA<$NMdQ;5)5H*y(9&#A&Jh4!C)j zg3zm5g68*I{J`(Gcp?o+LLU$8A$Ap}UC8oRAB(j@ZqRoidsBhF44Kp#1^QOxX%xaq z*82`9?^gUo&?m(#Gnr)O^QdZo!{6|n(*}z4RnMy^m=(l9ib@njI5qt5q)HREZ~4Ub zF;DDpQ4ycwCGiUca4xm<MbvO=={o91w?#`oqp*<*r%<?nLO6+eTVa7ssSXE4Ro^5- zO_M*4<5gZI>86@-42Dv=4tWkVrDhdcvX3rFI|NHqx(unf29Sy=L3i<@6G<Yb#8<!+ zU4hE@tCLknwpuvez-q@os#o^gR}HDlP6M5ha~%rqg&>Q!1N2oW%tyhw4h2v9FjbVG z{VmuZ;l_}>q;m$05s)Yr$n{<V$9szm6zHzA)t8Ay{fCr%5lc+<JuEqQLUb`K<x4}& zyHxWLYJxgor^G<%6&iSS#pfy|7HO}8r@9bylirf>{3>9j64{Lh$P@O`7yFj;OJK6m ziji~jO)F`2ZCx~{lUCEGh~}hS&TpC-la8f8ev{Ek{yJWvj-dHfI;+^~Hqbg71=Joi zle{`|AKKw;{0#z}jm<kD8>iW_@imA9WaFBLWaEI@(hA+;*JBu7&NIdgG1c%_vV|EW z{e_R5zlCY;v(3b$Q;V+vq0AzY3f)Z?$hI9ms_N!9A$gqVHHC9yBd06$UH9ZXheGGs zDhLl9bC9;zvBG!4TXhdUdlYur{VSA`S)EGs{!6J0dm6DF5z0bze=irb;~6Z6hFx`c zF--MrXWY?yPKEv9e&Z@`p@K5M6R>X;FxBU<h9+I;*+#`w(r!UQJ|_LoM&KJ(L2x#) zB|;N%*Flb3Y}|k3KO?91+mZ(&(YcG{fzb0oJ5;!-BJMe86doozx(qD-<@ltiQddE{ z4oIt?+(L>T7J~LiC7rb4F)s>1yW1A5)j7+D6HGAXpTgW+*;KnV)9Z+h!x095NDo?K zHN6pfmOfO?RL6W4lv!NrX`ubV_1K76!y0VnW5T9}!{IQZr;lUQ@Z-Xyy>4ZEOy#L( zYfCHO)r!m7<J0o}Lz>~7EQ7nY*LsN`YH2pA`3&My1FWclAs=2e)K{QG`>3cvA=J~& zo&~p8LvS^HlxVtJ9+k=3Pi25^b^vV*X8BrO!&LeBU%_7%@`~WemksN0ufv;RpG}0J z$ssK<!D5r|goxQy40Wo9o^m2`z*`vd+&kFpwr&dy^beu^4X0tyasN%G%eI1EH_!*M zNfP{5q23a-`J33-w=`DOfB{-TAB*Vs=&5Z}eQRA$dkB=La4$bYgfW`|!5nIyrs}9g z?B5WW4;e3xP*CX&vSyC7_u)x=0G#c%!wyQT&$kJ8;SbpRC|usC%=>uhnH}?U5h?t) zp?(z+0vslQ$#4)NMlJdcCkmGgKPub+!}Udk3_qns*kkj6&2qN~ET6Smp7PI@|Fl_t zRYU;UW%V+RW))>o)(VRQ*~Tvxj9Sj|JdAi2dq9W-t_57(5%ARk0as>>1g!dTmnsUI zIxx!YVhdzdUGJRp<^)WB9mEFVa`h8}x6W-4;x}44Fxolitbn|#x_>M1m*ovYxyS^( zVK5gXg^nOnn+Rz9(aNZDEVT|aAAyAK)&n#>x*+tIpu^6_A+3|VWXmz<%6P{Mxv*E> zOCPoD*b}Mzb93-3cxkL%C7PZKiF%CfkLiUY6b+H#lC7s{h}84GxWO7CWxbt|j+-E- zhe%m34UtEmvxZ1nFAb5cpv^h9jPDBr6u=2VoU(;50-PfzRE}4kzim<^G2Sm>P8fv* zeN6=Dy}et-41M#nEpNqdg=0SL3?2u`6Cz2O_?gup>LZ@hLys)n%430cx!WxyiX?5R z2}k@G5Hjv@si)3#9k+F}D$5fZL@PdyxOh}zxlMRrqyk^*q>5HGaOls-xlH~0b#?3* z(Grf{(w{>2B%1nD=#!v%(W*!?TWr|}H06iTxu9!xmS$+0J;b2tmCATusNUS?86tdo zVg(L)9T~gy#SUWV2u5$Inq|V!&G~ry=J(=VYdR%m(EYXm^dU+T{iTNsXtdzaA>A#y zabG0eN4;So)TH}?jyb2thy7g}Nomp9<3syln;qMKAJUE&PrzEZ`D(aQ75jk>o&ssS zPaG*Zo9M}#!H+O$*3KpR>AODqC(y+yMQ`QT$2n`<N0m1(ZM4!fpGj%z?GIg^$@7_% zrWJ_hnLM9KY1$gJ&i4}qw6R#MVMH}Ht8U6`XheV^0%13_o(!3d1rZ%#+rk3ki@Uzo zIgi;>*gF$lYN%%O5w?{h81JtzU$C(kG25DmDZ?RD3_|lo=v(YJ$rT|w=<l*M{khe2 zp&#X<*8EJ^*RVbLH=i1fp`a&~`Gbv{Z?n#NKIbrl8YuIcjayc@gh=Z~NZ<%iJ)bUi z>D%f%`m~gpB=v-3q_3W>HBhb;;nE0pbr6E4Q?rN7-dnbI2H5KN`s^w5J*l60U#V}n zzAeuYpGf@;>?ynDvqSCk3}WL(A?<1WYhQ_bMYuFOlou}5-;sKXL4B#GPB9DWq@wyR zK5NSLh}83=2sMizM9Q7u^^;^_T;q{P6Gp>r7<=8bFgi{cMKQLHBGGu~1!!6pEIt4< zeV-LHjh;TBgVz>ji|xQ)4w}Z^Nw$9ilp_=m=S6*Mbb;l#fuMOTo-$}GHXxeE;wiSa z3Unxs^zZnYvX6+)#HT@{H2pJZK3rr7@H84e=Z#@ot>JURpmCUQ5bW|eJYn!SB$~(J z34_LAE6{pSUlK#s&C)2-+#6tQc!06R0mj}XV`gV7l*qH6V8PduUc4GQ=<)cV$4e{M z6cOTd%MpUp&B8%x@(3d3Q>Qd3>5bGKTZuWGI-W?WqvRlI$f>0q<tOO+{RxWi6O)mR zxa6Q-O`p^VSL(ZomxZVqIe%`KWv1xebWHgHZj?Idz?J=O>eyD9*lls{OI*;uNBtf? zI7~f8@B55?|CPQ<tp-_me+LNfrFcgV0onR{kpClc@=%a;#vJ`2k=H;zNv*vl2Zmg< zAN^SzYWQ|hbQ?0caTpf1>Wfppi*x@Ss`fMoujr$Xthj9AzvvrTWQ9(qqjytVp~KNM z^?dYh>iA?LspF$}Q@^(X>3K_R&>6E8I5VoZHcZ!Yi(rxl=vZ{?C0l*2t^QFlLh=V} z^`oW!?fh7^<$C&HxN>cl`X{~zQC7U<^U2JQ`y)_oc+Dm53-}QIJ@4r>+U$_~EvTRX zMe`EM_xvDf(4i(!I^(9E%0JLoqAgO<XWeud!zXe^87k%-K8$yi1`FZXOMm#Bz%Gn) zy59~7GCl&4DM+g^qVYe_{DQ}r^=u(*1dh1`AZ7!PY&@;OFLI38W+X+)anS?7uSiR$ z(Zw-ajN)j<9gq5M(03O?;T;shiR(=U<*bdLv#4@5K%vk`4DUp2Tizg6l9wS-espK< zgq0?!Zvg>!JrpKW;c*mpp%6}D&bFYgfO2+0p~fh5^dYfwRXUmuF?`X4V=$%Tec@+P zE5EqkLMxHeNHI-3`iCqmzNf08B89K7gV8gW+-FI7EtDhA(@&|<xB@RCV#m-vuBD|l zHj1zy!@Q2R*5$A#QG~na8T@1US}a>sYk%le?OE0T(Aw_<taB?oXK}>0pod4-@HkCx zG0GEvT(1Slnd&;Z7QqbP%tHky7hUk8Ole37Rg+UoB`i%wKW1<WtU#EIob9`<#L3{q z=>ku6;%KSQLF>fn##$A}AaTfeO!vHr)7Ka*=prZ?@5=x=f>vUB8<}Xv{Q~OOLEk+b zg_|gZ6W2K#RLb)>;ZN+V2Q9^{4HRfJ>+^^ahVrZy^S)k8vrbRY8@Hr63h7%~RiDG6 zQwB??AX^>`>0oJ7hqV0Hh+2dWspDNMq!Bu#yfhlYfsE$xM)<;8P>)<5uaSDZCY+my zAf<B9l9yAcUwO|8bt;E?I(+7fF_DTJYlZp=)|vu3j2ex3l8>hJtR+YODUQ5j&bt%z zm~Cc!@_2EY2UG-gX9FQJ&}vK*qXC+ApQf0ML+HOmp*j@~ps)yqa1wJ~0`(&(=S>uf zjK?W54UBbS$u~WhcISh&$TSE<zD7U$@#EPhVl*)HnGizl8li@&V(6M-!lhm<3vE3| zlN|NxkN?%Hbwzc^A*Y(EReinsyuViw7+kE_`!=0|qg)@@$4g?DPUzge9NLS*Si(`G z3G~AI(m9Zz0pyr~&Y>q;LDQ@}3bdn62hjbQK1nnm69+IIpM_H!?*D;&sxuOF@k?iv zY9Fnq(@<$D`gx-b+TsNx*v0`uErG0K<!js)4cPaH=A&F+K1ur(w2JC3h6;$GcVPvq zUeV*Y{m>V1!-Ec~y+!N@x;1)&VQ(iLGJG0^cIjyPJkin)9Zr{lR`{TwSfIn1r-Bf9 z<}ue$HCADzJ|U<i8mY=5Rd_zh$Z5I93S(6c<6f8yrX_5V`gkIm<gis|*exf8sd6I* zsp!WIed(7qfiKPm*U$;=o01zF3qG)-R+Xc+2&&qfs_e~fqS>3Od{X#5XxB)wLnjBy zEFlzKLG6S&N=3aCz?Vq0%+*>%$ls$PLg(UHQcvgNzeqjq7PwxN_|W`eE)ar*!Vn3v z4<U24t-iFs-nCZhInv(>;k!FD)jF7{=0{R7m+*&_k~z%#V1)Pb#1x=pEj(FvuxOdy zAcv9276DyIQYI#nPtdf|c1U^NwYdwl7+vxRE_STl`W45QA^iM{QMF!kLls`1kJ2-P zAspL__4dpWR7u~LC^iKh9fgPgLDP6y2|5(q+<deq-f}8k2!Py}ZzLX~Tm-WGSS&LY z{w&`GaXad=6s&>L2MzGLX5r7-#%?Hu+!G;*tTI26`I}DMra?n9Xm%M|5{r{DdhpTG z#X8OPI<h{q4zXCiIFb)(AyRZQ_mR(rawSMTpVu|7=QLGH7YaZ&2Vma+@E(;+RJ||` zH<<vgRM#OSLEfiL3saRd2Mtvz&l1Te&${>(IE6PMxi$IJbev0*rSj6&9@tLl-VZg8 zS+-|G##2l9wR3om<p(k8OjNmw)zm|!Usc?$>MX=j$+DplJkdgKnvsKmr?fLx8-M;~ zsFW3|pFY~229y4bocbTaqfuZr0GW$c$-NciUa1*4JkJyb>iMexNTKG#Gp+Eiv@yeA zCl7OnjrnK*)APBFY1dLcg6ASk-OPF7`gDd#K)dZj?g3~wlaRgua0Pn-YBzH^a_uva z!K<ERRqCxGGcm=`%$(B0ocJ_G<D4GlMuO^TE?-KEO)Dlu&^*0FTDd|U(9669m^^pF zD$UVtV1?&s&}4NK(KOqDrVFYZ(5g7~<d0$qgM$B32AEZWH<STVFh78(M-|eU>FZAb zvov#Hr7ctt4H=O1s(e?psPL)E7ULkU@>3S4uB2)ABS=%vEhcDZVV`<#F*VljMf6;f zXj0F;tquEn&ePh)%oG1DMz9Bo@^vOR@%u+;Vo*2GRQe8POD)E;JSkt(GQo?pbdz6G zlWI1uE&HgH6O{UUiRddt$V(sw3Xx7ke<5;-=%G@+xl>rFQZEB@`&v4!DHxs5qU5nT zQtBxOhS=(-+3H{6`gZQ2D)|0{B9`Vdo5VJe7@J38m@O2?w1i&1L57!ED@+1}I2rit zoBlWfF38Ik!DFjN<T3O})(Q^Std9{cjQ=ct>N*?Yf!|pak<d9hR#_CQB6H#Q0F^S4 zIL16o26PNB*k2FLBQTXRcl&<1Bu>eqOw5E7UlONemBm5)5RsgSS#%6fd<C&9CHi#K z%YimUfR1ytRINNsY}`B?#n<E;#80d@@L$UGBJhQ;$u)psXu<|yEs=fz*FbvS7aRJT z+}60B>^>H@S_S`RwT5|`>^LCN^Pzr9`1Zk3O;A$~_l1T|RaNF*9$9O^@cc;Uib{>^ z*b`~G!`K3)6!gdr>X8)m#tw>k3L4(QSv$qJvJZXmEs0r`l`XN#mZEA!J-bIzDMeyr z<YXVfS@t5Zn!y40N)+Cw!deuP7hsPAwSG;sti`Do(CPjG7)GmNfjsX4)O(NO2NS~? zQKZ!C4<+(lFDv5Iq>QC{U1zLJ8RR^A9RDFn(u=rpu$@AO;$+0!$ob$CN>8lB6`n%j zSOtiDkSaWlQmoEGWF_vU7oJW>>kmM2T5gsu$bgB$YpTHnXGP&Dq%(VwWJTdAl$O5{ zNm)^N3Z-SW#pu=(c@hsU#QM{3D3&tJ0U{8NgIo)kCqKuceudQ2Doih_r^9=J!g>;= zOTsB!kITK))@f5xdtuY@+w3X?*;p$!f=c1y#a2)41(n2kZR!5-@FN$+E0^Q7{8Jop zx>6mVzrdS<1Bs#(+PwrPH+@v$kC|$}6jWbT_yAKYK=Ju*;ZK<Ukhm1tgKVgC4%i{9 zaMtvxi-PzmXg(Uv7@%i>(-i8TUCR&3(FjeFT=c7QGy+Xiehs2I+8?>-XfztMXQ|j& zgIRz_3&PDafL<!i6?Q1}>96o_E;qd7gPt_ApUl$g8))j(Uu?~AuP#F~?};62{f*!J zWR8oKJ0k~$9q}4G`NP#Gpa~9;t%;5>X?a3Tyi84;%hN<#eN&oONL@{YMctZIsEE!7 zedQvAZ@u7MD=}1hv1v*b<>%7V0L#d^1yrR{+fe12fw(=1Mk)V`o?PcP)Jafg(}B7} zsGVOR&8ZTrl4{$UREg0IOjY!Cen!G#V4n*A;q>Z|TpNi*#B$_9cUANaliF+yDyfZF zqjXb=omv1;O}1t+;(gX8!5ZGj06t+HLE1y}Xg}T*SSqr%s;!Tue(ldiyCQ4<58Bhr zfjys7MJqFyh@^N?VI)rve+5V`)3WkNX@lk^`ZIFMe1_PK!xQdBFPB5bpRiTxA~q&z zvf7F;HQj`lSINnUq;YnP>4o3L_A`DfW)}Cuc(Qc{_b*EfAX|f>O#M(|(Cw0jdKZ-W zm8~B#A&q`88mXjdVwO+U6F+#%R3$#;m+>WwAHf6`e@4zJXd!UIcdf+PB5ivHO(Ul+ z=rT1$iCi;`uKBK)3)0&3o0vQj(n(I598yIvR@g>Pk;B@$=8uH6qzs!imAD<_x5Q(- zQ%DWcIaSc7oi5ssImqE$(k>`MgheG*z$VoaWm!A+0qq5%U6!?fA??a`?S%9A9$<;) zCQoY|?>9czXmwqwRhZUBS`z(1l^Zcim1t>FU*L6+<wn}5bbg4nL>e=<LDqFn{G5*Y z#+AR0PC0^Y))j)@OHvw5(zK5wm)TD0t2^E5DXwqFYdLs%P`WZ-mp-Kd++AyV9Ve_o zZ0-;?8GYVn^i!!Pql+!0ji|{v82~9<K8a2^_!0tAn*(y11G4If4v4NR@R|;YrZPd5 z>#9oB^~Ix`pGbFYw1wI{Aq0Ud1e=z}zezoTtH$;1_``_ov8#BdP6!U#qe760r)?&l zka{vPT1?FG`8QCw<ez7v5WXq!ycIo_@F^Z&Es@NwN35nf@Xw>#bzQehT-Q{g)!Ow+ z;(A&rT-U@lup$UctHBz4Dy)^LVorfMcWcxad>!XOjZkQVLO5}~?}IAZ4?nMoj<xG^ z5GjoYV;*FS1#-Pp!12z(kLxW_)LV%?&k5Py!7~CS7cQ875%)QqF(N|YT#II?M`&%P zg4B}>2e=+NsKc42%;q+&(|#@26safEu8)P#IaOjA26#LNHj@MU?H4+*x^6c-qd}%A z=NcW@()OIPh;&z#A-06*AOv~PA2zL=8YuPT!A!3Ad4PmpZ8x#aW@3ZQ#K$%hpNR?j zMw?E{)56vMna{$%LhRoP_OIBN+CN>_0v?fnnz{rk6l10c`&aD^c#F)@6h6Dhi8ElR zcJc@%PEm8sF-e@nHzjehPzWb3Cr$xMoGYNRNsyA|1o5fHmLT<pX`_-L)1-~O3DQYw zIYIgeLE-%rrX@jKyX->eY(iK3LZ(xiqdo{jJm~bmmqo5>!sP%a&f9A$cSjE3(?#_O zOHJPqU^JBZMxIEhw{U!-Z|@0R1GKBBsNE~$P)YNJASYD91RP9?*5{*s?CUhF@9N$` z9i1l(fjV#4D%y~HWG|U}MW*4|So)~FLWo*Br9gJSXP3IV=JdW9R1UXXrAgnsa?dxf z#C5>k%J}UC=on*^`U(%9jIhWc+9(#kvj81UR71j*#t273%AF5CA!~61A_|44Q7{im z`_yHfQHhY!rHyi(6$W)}(w{bzs!n%&Y=T?PfdapkW@6o@Yml#p3*r?NwX@6O2;bx) z;xMr`i+v8UDt?|#BgQ)gJa0CBaPyqZZ5OAz`ueKH*8u(wSi1=Lb`&0a8&ANgV!Bf! zMX)-={MI~?!uADkl<z)P?Y+`Ql4V18>e9_hP29>y{VWcd=LE8Zac^~yQ$5jcxgo>V z#AA**xR2nNb7XwEVQS*nj`naK`&P$?%^d&}#~lrT$?G_<3=d4<uiUUqHSv_AEhzeo zc(2}Aznyr-ajHD##jws#gE;G;%fn#D0l~ODs;t1r);j(RJ&tRJ#Y<rQrh|I+IH0(4 zM2O)>Z4+v?sI>H{xSXUC`VLfz71vQCm5?MM=<Kc%?tQcux`$YJ5f;kPBjpn>2>K)A zL&n>cFnTEpN|mfoSD%Tz4js0~tQF&xYk+X5$&v{I@{ow}@(x)j`HpbTXby!F*8|cR zWyT%Nprek<LaK-QsriUu89r6amd3P~bRyb?I+5<#i^P)%LomJNOX#tn%PbT%$~8it ztW=95^Pn?<5_p%O@EiRKM)}Tw7T5|K{1z@v{tj{&i3BQ6d|{@+`80vYNSVDh_oP{s z`Fb3%@pl-E>BbWSaO!l9x-XYgGX7gyAH=!(IRaK@9nRbbVyZv?K2|%LtOrHiRpKXN zt|gK_WnJO|>8EVK`T|V{CuN#E4TB}_to=r&h2!9dQ=PXaf^A+BDVi6CLI&_?k-!x( z+&|-+2|`fUE@dH1Ug<P>x%S&w*jg0320L_4B8R`Kh<PG{A4sU2i*uU4aR#0#vRM!U zFBEd_U_4>D3IgT^VbX1bdjbS05K>}<2139<tB^bX#N>*oM<3B0rbi*Z;^u4L<n~X% zd`JfovdlzvlL~9Y;&f<*G3sE}GTMX;3D7a$l3>w6Z3X1zpk_7|jC8Z<16}WRT(Kr1 zbC9q}?YK?tHL0gpLjI}id8N(kNIfrm1zpF)+jTf?_gJ3#ZfZqXaw@U8LQre*tTsz< zPnGd)<Qzsi(N&t}|A~O$gP<kq@Dx*JBQ2uf+?#dhf-)C~fiuYM8Bj&g_+U|Ti!fGj zrF8^z9hPc3hSdH}2+w6HjK;|`uKVP0r_!%r1+nOD&UGY$krR1J=X%lGbV<Aw09=Ji z=q{y*l_@6#p|OytxVf}Au#)fH8=YYxI%WyXuH;Yd#%AIYd8IK5@4n7Y+p>zj#y3@C zlIi>g$0Gdli7(>QkXk>@I3m77J|=)n+k{i4iYWXK1!rv(8g9m-Bb_N(Sgdu3FTmup zrff(Q3*`D+awUrs`V7jvD-#j<^eb#gTAJZ0dU~bdXabMayIR@;q7pn92t_;dX-UKz z6v7MNbN@=+W?;cdqfmbnMawUp`BqEgE$D8VJ&HcV28^vZ*!59GpXH?rdMd;5IM(Zm zX0UWTxaCVc2Rhqy*VEYYrJ~Ikw1|bdq667TCx|%~Z9)fVIvaFUaH^Kqze-(#KRhoK z9mYxrAQTcSLgXkeAe8HOi2%(t9?JxMpFvB|UWhr1CcJ``!hD&)(G@t#0mlS}kLz7? zxh+)n!KFcpczG^KJ#{#2(XA?C%}K@KxsITqe9O{0xU*@!7TuLAZ0arZu1)rJzkPGB zt=;$h^{#KEo{nLjs92rYJ`isb2#Px9^{6ulV9pw>>==<hVBLI_P*`3snnULrmAj*~ zj0EuHJ1u89IFPxV1I8Jh1G?@af=fA|sm9wtjj^aTpuRPb5iY$vRc||b?-@7jxw+yD z(Vd9)@GZf?JNUAyXpj|STy+RR$RjBGwuxh>fu(4a={=2cq2R<h=(=w~;EA1d+yU3? zMYZc^k@sTHlFMCEM`bz@t%YFDFd^Dv{{{MKyrdxYQ%N)-eQVB>dJ1bQ*ULfxN4EAx zVY~j40-19)dqQU>Ey|hI1rJ$%-e$Rpt;3dR%MLtWBAH{35jLHE?$l~tN9{jlY0#Bl z;8Wk5wS^$r^OkH=OV%^f#)f&X<F;>dPgq<ZnQ@vYu~<CmXXI2pt2<lQEkSIlvo#gE z3y&<%ZH<07Yf!FWm8Ix8F5w!Hy3Qg}YkNoPgR3i93fu!JLU3SS6<8FQSCC>7^4dqG z-gR3Ftm-JGdy-ULVM4I?#f6|QI>&Y}1nE8U7=l<DND(##$Aohnfo@iC%r?R%6h$<f z2XzmdRhl5=G8<z$p|gny=(k0sam*e$r(>q;`XWjcGfi!!n9&tg(XV_l``R8ei%4~y zk+j+KDst$8J%>V{)Col(Kk$Pz<E5Tl|DNmZuDd3S4;-dBHb)%*EaCR7`gcbUjze<n z=j6y@M?F7kM|ItOaa2=PcUz7g@HzU4-BF83HOJfBdC3pOoNsey9oOe^=WAhCr}&%_ zg7e{5yQ8;kj$ZOx_XNe|nIY{xdM_INvy&aoWk;`wqq?p?T%#V<)GD8&yM2znYj@Nl zQq8(g`TK1oOiIknc2ZCMwt(yNIJ!XCzv8JZSB?<uXan(qd$f%Zloen3t$TX>yQ53d zqjB%>y{Oad=)&{p(E&rLl8WEJx8Tq(S%~hL4Sp9B_5wV+8MmI5ioJ(3?pH}rP({3D zs<@r5UZ~3NH{(jJuN~)i7Mn$dqW$+XAc^r5I#dP4#s|fg#s)P!9_D&UF!POp3PIt| z<88{DO|-kxWyH0>>rmp3@r^m7)lXQfpq7p?;Mk!<yHYv-7^Pwda*=SOx|@poQmVN~ z)%p9WxUbnx5IyJ=cbo-yc*dPz2ZQGPiu!L@rryhg(C!oNdJ9{?$wuyaEf0f!${iCl z8#{C2E@?y0r9t60E~DVw0!|0sW@<!U5U3s86k83ogWCsHi)pCoQVpo-dXp-kcH)wT z`ZNm!-I@&hQvS<UrWq!#v)-i6E_7jC?ZRPqy*cE<m*T<^%Y_lT0d`>|modHNTZ<;n zGL?qj#opt~k|Sr?k2S~vypUN$&cBbdKJJ7c8R3u*n1&yk{@-5E)G_DTV#N=M1Xq)X z_JM?_KQXh~eq<N57Bos9J+dgf9G-&+WavPv#r}|T)c6pbv+ilQ^|%VOidcgPKQC&z zq*l;V=ORuO&ZGV;B)Wftf@4nh1ovSSN`Hcy|8dRf@$T&?Y&(dv2vT%j0Tprx-*LFh z{1p?NZsgpQ&v3?G0EOF!!_;$+ppaS`KlNVFNS~_!B4Q7)uNDw1)&j&i*N~sF5%>P* z*n?Z^2yhmt2DvL>J^d@T;a3MS64lNpQ5g3HyeA8_Mr)hdZ^OcE*A}u6@g*!Y!H*Wn z7Lg+)V!Dr$$Yc_E-zW0N7;Pou9f*{5-zAaTBvR=svO;0*_PiEJC6Oxb;=e$oKe&;r zd?MpSB$Gs{x>HHy6p0l0+QPC}L{^YUO?P(^X$EfOR2Jdv8LJyQLL$Z8Q%PhGiQM#w zR1guh4kC}Z-y)IZ;}GeEA1wci!}KQkJ>cPNowkAgBu)+;;!@w~Y8<_>%b1vT1z6Qg zm%1xV+K$0Y%lFriK}qNf%t_8UJI3S9_4u+0tUKo%AOf<6k#3H|X?{UL*tar2`4b?$ z$0m(s4psaU1h}JQM>SN?UtBZyEVLE5f*jjNKflmV$O&?BnIsO`e^(>Y&(R7VdkeVi zFtf#XlK=f5JqXmW;E>NHF*s~KbJSYV_<+w$r1K`EHIsDD(E*W8gY-k;XdWp<Q*ovQ zC7HS{%98=7-Px$G2$#A~M!_*BYl3?;3a^|*%>b^sGTz+{g|ALw$dRIRDX0$LW5~VE z{Ok$NjVPp?M$LO%gF*NS3ZZ8)R=z@^-Z>1yGbp6~f}fWq%&AvF#0bF|KEcYW^?=vI zeIHIozVahNei%P`5d114sU*_RUFs4<g3m)F6+bHC3wY!mr-P75A_Ls@Nn|XE>>!Z> zchKqzupa*%L;5a=>!^0RF=^eufFVs5UK9%%8(?9gdm35T@Cz*bf*&n%T0~Zm$Sn6- z5{dg2B3<yKp$1RTI8Kwu8}83YWFd(h^NAD_k%(M~yy?C|BB2){(ilIwp$;OFN+Rps z1%HFcBocX#MQFSp5|K<2+3BuEBDYAS@+Aw)_ad@_M0UA5lE?sXBi~{Xa=Lt$jCvB; z?;cAc=SZaZZ?IyH7l&y`&jU|}^wsfNi-z=0u5K$sjow|%**O90y3#zQ@<o=y@a25h zA3t$oNtlN(zJ!v_o0B$(2F(Uu^c0%IuqJ!sCgAc}u*%?Oj%7(E0<z?sb7DL$Upco{ zNusHZaPNfsY1oYH0M8=lk$WuiiItcn@{M~uiF{5XH&}$Gh*KhxNg^lRZ<9#H-yzbD zez-ISC1vikO+Vi<etFFPAEqn1VOm=ZlSkobhzGllkh9_lRSf>?l?s{SNN2t1P*k7N zIyw^0ig-wbHLi?D$b`g4h%qmA|Hml;=3wx?T<}q6PGN(xE66{+D)T9s_^4;z5+S_} z($_z(9kvr+HR!2Ym`hEkW6<xtajx=%!!fAv8z>w{VXYH!yx?#&>6?Z^k>)^Q#9fj1 zKF1Ylf%C*FwEsP>2%Qj?7?%%H#b{@IiAJ+gTf8$AN_<rW_8%bu)$m&&T7k~NyHa7s zeUV6Xi2EiA1ukQt8>pU4g%A`zqe2V{X;-k^`MI3<)(yjpp-_o~i*u}^^WF4#eKEr4 zyUj}tLVH&T>k)3L<yE;m5O;+DPlK&e^yp#S6~gq)RqRY10fH9kYyW{odYp~@L7alu zXgObq#vlr_f7i&rH$a-T8|d?Latd$Qp`_3qY!1a!=R*V(ZNsmuxn9TPyM5d6&7d22 zzDtCB_r+p=k|kx8&@BcSf8|@IY7>R*7Oe2S6V#F?-vI>QCKaik*LjUF?h?NffcCDy zuiw}J_Li7u8)~@p*|?(`5SELvUlNNL&&wq|jpI2PG>&OA%01DbzWPNRM3TC832M4< zQdLjaN3ZASCEjGlIrR^m;$kTil@!#E0V|jTo}V9oseJ?VxKrpP&EE*RR?|ir95vM) z`iLd1WdoeXsP}Yw4%vbVkvsu)1V>^&Wx@~T5w<Ptbq2%fam@<b77knKn>gi0zi#0$ zMcl#(Fn8=WlX~_?qUm9sxb4jM+{Q^YQbJQBiRx=nUlRpCHSZ3nsQ-x{xB<j}iD(?l z_HjoU&=YrP@>wP_lsApRr@Wyd+SWBxjld&DN$12%%4gTlLU@0IcX1<V`Y)>2(-%OO zpMOLJ<pb_IqeLOk5BG|5uvNmx??c1EcMY;R9yPC9@o+duttUX?u7k+@2C6!RY>&)D zd!Q8Oa=2eW-SE2@tHV*afI>KNoG*gv_$NlguOd%g6+;s~ulSL-hy*=E{~^(_Q<vTY z62Cp|YlIB%(lT;3LBAArLi~0biK}3rzr-8AlVsZ5Lv!^f>mwWOO`M^d!`Amo@o|Ol z$f)orex64ITb^PqSK%~080|L7Pa!kr-@sL6S0bs6SmbYf<NUPGKen5SZ^D&9Z_s`I zX8f_rpm%KL+qUw%$n5y$`3ZN>hqm%m0F`>Yc+x73QSmL<cA+%1&)?*Wf1d%VLfw2d z?@7%tU(G_Pnd+-qplkHIoa6gwN;S!e2Amq?lJN;-Q?N6EshAQ2{|2XaZ7dGxx8B9q zr8wZP?$*ZO9AXQ}+#e}-FrpC~T{i>qFNmOM%Kdkk%HLhZA7=UL)OD{({4<~&e<Z*A z1nTbHN9ufr!YCtLxj#hV6bj)a;yeqguOnPJe@DUTLg6k7mE0(}fw`s!g#svCqQWC6 zBn6>R4uug^sDeV3;BZxdLYTV6RBzsdnRX!RhlHz;p3`-vP(qG?dj;x(lLfI4NbE@v zD<P&L$jNu7YS}$t$A6IjH%LVO3T`-6L^cQwSCIqp18GW^3nCq{m8Co0!XfQ-)E|Y& zqw7&f1H-uig*IV;w+n@A)KrI@b2o^WQL8eVqTLhIbh}r`Qc9z6`akk-V&kuP2S`j8 zFD`Qx`loaLS7E17WW#WPT7sWqfg+I?h&3^StndSdO=s#>^e=2|&VQS29D+<_T>fz7 zX(b}EvDrHgLu#lh6^EA(wPj+2CR%yMt8uDWrFevb;JqYzY1`mH|NKd}3ECJ~jQk!y z;Zz;jp#aDy3KAUFd1RIbl1n<f@@KHlX7D5FC!DGyFA^CZNjgO-`zy<6E-GP|2PNld zFd9H6q=|5ST}?yiH0-P;vFAYaAyWlt)I@AI)lsUR24WUzX9Z}Rw<M2g#{31MWEQ(C z%#qR;RBym}tN!B|+99e>)b;r%C_I(>inEMfpc}8S`+lOtiq-j?ft<;lkcjzi2#?gv zMLiIb1fG`$ZEcTojr>MJp<opDhtQc#D!}7@@t+u$1F4R*Ho%8qo-{w^cf1Xc0)1#0 zy7@o|N$vw(u>YWuD*h9ut3`*a(B7DeK4tYuMD`zKkw1WR^unT8{2{j1H3szky)-c} zeT3*j-+}%tq&r$qDip4htZ!p|B)9I^$A1$t=q@f@>HQW!+8O8vLYBAKgQhL^bBLy$ z{Ge(7`xeliF=EHsVn2aWkdKpkKR>@iWxNPwA|CN4L%s`W$S9n*p+ur>4LuLqlO52| zIBLi>7Kh?eI304*K}BW<OL7IZb}A$uLB->q68;0Q6;2#H`4vBmrvLm!!s%=>emD_* zK!}--q`@m>=DU!7dCUYAg&E@b%(Oy{&&)v(*c()!v_70#BY7ok@J-wJuR<tm`V>Px z$B7W7=QwDY^`v1+yq(Y>23>Ttx7AY}&5{*@D5nxk+(M84EFYCKc2Lgkzo!ocx^5QQ zp+kYD!ipoj|A({pj<2Hl-p6M*_vR)L$OV!hJ&*(fTp%>*y@eh+(gXo1N^hc4L{UL$ z3J4mMVxcLBqM)d#s9-@*KvYCP5o`zwh*<bO&zZ9~3;O>2Ua#N%WA8b0%A7fKW_D(F zc2@3xAItl&(}>GG(Bf|ZFMvDVKGAoY7~Hd8c&nEN?*{A=O#dW5--l~bCee1uW9QpK zE=2a}-{)VB{ONR?<92W*k`nb+a;nc;jewxsUuZ|eaz77wDI?y)e??V$4G~}EG`-*H zhJ5zYiD#w2OaA6tLpZrBeJ{Q66I9x<$UdUqm9^RJXB}57mx#SJ+wnmF$P|<N>tWts zm!>D$Zr&`kWf=>e^v~@bcrQ5;nNkhKlJ8np%AncCy+PS&-w3Fr-FG5=-NRN5)9=!B z*5jDPdFkNA3w$Q+ejJ#QepK$w&hy~KAW>1%g+*JaGMUT~KPUG`q{cpt%Rrb>VU5yR z@6gFXIX;U}cqPK(6rHqF>3C~We)z1|6%5{_@Td4Rd?U25WZ%<W_mzkDMsncs1BQHN zAJA$OP5O^SVk?05)kV;LViz}@s8bG(`kCl%pgno3{7^Hz4vGAw|FZEP&)cWyOOuIv z;k8^*-_`{c4d{_2)>YVACck~qfuVeQX{RU5>`NxMobu4kr$DzZb^H60|A{7t9`YrF zGj6&*lYu?k--ns0Md+@5%9UU9b#h0+T^N3YP6w?=&hkYB;CwaX8{iebR3X-k)@$Y_ z>MS8TduluP-q&z)-&CC?L}$s0p3V}Yvj^}B160V<2}h)zLJX&G2-8mI6jU%)HiT&w z9<!uBE0F0z<;T>bw$Wl-Z$c*a6OiUZd*BFw9+eVJ<Zqwpp(0DI(>0dZ_n2u%K1G0b zh#3O;Cb!*)D(JwQRn6NlFlNp=Htj{Du+h?CJ}c2!@G*Gi*c_MJkP$wj8ZzZ8qy6mz zaXFAcFI;9J#RPBBd|6g}>!YP(VsDiRQC2&9ukv=S;@D;g*{#Ty<0upa>nq!~s@Qzn zQW2}{-tGw8Dl)kntsboz^~rF@Q)W4eMo<y5ui4@`z}*K_?2pL-(+2_^XvH+uWdPiO z(264~e3fM~Ggl$c;<CYVl@e?**m@n;%hPhqiRNkXgTP~Uc7Y2@2C98(OxY@lCfQSC zZz?$L3U(A+hSwm$bkq0T3%fQ0TT=0RBJSilku6#nSmaf|VI8j&cFjFWtf}xTtf7mr zrQ8SIaF~`P_Ci)Qcs`Rwp9WfNdp#V4ltPiXs)?rb`|H45l<ggFte4qF;&tpq`rZ8! z2x&R$`<~Q%mm=O&`<_ypkQ&4M5{Jq(I0BW$L}e0Hb_Lq-0hKcDRE4&_6);~y()Mn4 zJ!GYSJ!FUpKCHZ~^x!Tnv@CzL+TK<2qm|A9XL@NAe!B#h$3{o-=j4uz(YjHN$uLOb zLGew%-*#>@;a6kGY6?v?;T<uz0StbmdGaJ=+?$#9o)ZX;7(LPCI%9!lZs>=zl#5AJ z98%`yk}q>k4tP0Rj?>YcEnc=-qN#+8O9iOeU36<DWbGltE8U)l3<>_?Go@^N1sgLV zWWcVeE(U^{WE)6lJf$jBR$fcntWGQtHLHhbmU8rg8Ijj~zQ$VcB^=1H)t*kY3heg4 zr>(xziMGn)&Nw+)Y+LknqV1AeNKU7DMNbpkgXUj!p6pEUjJzDRWm>Gd2pl|L<YCw% zm7@}01Gk4lEf5Wrvl8{BqJ^^3g8eb}WTIuxe)T|@<?E_QQ#6U9OPv<TCU!j1Cqq8= zW&nQ!NF+5d9azok=*;E<7(ie#fW-jhtgpva(?am3ycfG97&1vOgBUuegy`Z*-idQ^ zq|qx%NAcyC@?q>=3V#9Nq`!Gdt$}WCr?T0zz9#sT{tRyEmo|B8C+?#@astXE<lRy7 zM@r_AGL?kPVI`Q{33x#8rBWFph#CyG<E|8kX>KPa@bIHCRxG+kxz^Vvr=VAl&$OW@ z%`meY4v0;;Pim&H5*lf7o!sxBN_us0ux?wRxOnOgjKj94fJJJm5KRiTS0w7tuf2kq z#-rxI`;MIayHk3(fuWFm*BFVFvB}~$Xe%&b=s1%S6VJRJsEN3dqq71cRJImwQfDFA z3UV@LPe~R+FAz-dE#JK=IM8R5$+%%U-kH84FKDN}%Kr6L=8PA#ugH7V^B|8x0b`-u z+9=dFzNQqq@7h9*xR9<M8eJY+`ifnUBWKJb_9l&PRDMowtvFjiFtiCcW(qV*0gL@E z2ip|BUJF?4k|>x3Jbw-hEDt#;V6k|alspB336@j+wtFaiz%iv)NpF2tjm;O$cp?-? zwSglEJJY{}g2-iGnM|iiy<C$jpKchadNE;9yAMOW#?2r<jNR)=brMZEzVn)z$#GRj zpzcT&`MXKbybor32k2oUQ~Wk&^eyg~^2?-bGsW+9@KtlM3#sRuIp$s{lW+9_r}966 zN7nmvgr3N>u^J7iriZ<C{<MO-aU<Pomvm=CbL#jk;$zyv*73OcTQKhAYOuX5Y=y>* z9%>@nB-rhGU*tnUFkvh39Uj3S5Nxv;djQ}46=OAZY+V@3)2S4XtB0_`Y9~<MB;N%p zFH1!Z34Tv~^gb+boA!2)aSU1`UpenWZEQEBe*}iuYyh1bpdTYOFaX$oV1bbUhBd^} z*JJ>xJ6zKoQh_NzHX}9R5A_QCZYQXNH4i?;yaB8n{?stR@tXYbPS?1v`*@~BdEC94 z%&=N4$(;YVKl!+ymt>wiYW0Q+cd$ibb~Xv|xlfJaR(_N5;R$$sq<A6+_B**X@hz_+ z<C(?^`VPgwS>r^xEB=v2aNdPQaL}zHlHC~iNvz)}ehYE;p(t*e0Ppny@KGY)mUutn zqXoY}{ImTqVT|AlngZwUq{vv&e+Br1&d||AOk}Z>e<lpviLds`LGF<yBJn^oR0;{w z5PgXWb1T}Ar1LSU#76C%U^Dn;qLp7N@&_nyUi0K_VyWh+yyian$s(Txwx&_}M?}6G zSQAOG`R64j^zq40puF2#tAkb83wmG~cb-i3)zU;s=1y_eS1seN@DUd&Q66`)@;CX2 z&sl|b0f}l4D{<PxLGx~uXxwv}Uj5OaIqFL<*wGg(2m<=eJCDQ$kDIJTVmuX77PvN4 z!I#ckpfwOPuF)>eH;tT^52NKO(^~ohKPUHXd~k`Oc0OiTwqtVP$$UI7PWev*FEDr% z8t%myHr&!Jyjb}|^bG@^d{C95<CWi+uquXMevJGhOq;<}@+)Ps@qpLj{=7ZP@F^HD zUH<kOJ%wPJtx-qLO1lWQgx{2jo?(sVABcJ%Lr%#tK{$)GM2@8@*}UwX#>>$%G$cbg zW$?!KHZRL?BN*^=U)1avF83lA4VS%|%t}~ilf~g)&}5lVNVVH`@2ii@n}(r2{;}Kj zwf{!5mLH~8_>u_g;~)3uq*yZxW<(D9I(d`%$T;{dUL4z0qs1$sliNh4<6|hjm(pF7 zNp6LmziaK7s^g?xFNEWq+>JOgReElunod}+YJ~_mRmLS3dz<mCfzNCVe7w9*)2I#b z)R&;e;#-IxcnI@_2|}-sjR@I*CETi$L_SyWy-|EYJJ62|gg#4e*8%v}kDza|@OSSB zeD~rg{#K_%6L;=w$WIZgV|a^FxJpi<X~xs;s$O*R??iDX;E4Q~RRfT4moOg$L-28R zK*fsK+y8<h^)O@LS0NZi)6jZ0<k*H6y?6c<9gO8Sc(}QOnh#b-)^CZKrMn;&@2{NK zyWyn`lRpcb??pMkw*?|+VIL<J_Yt+=JQwBsRXFF8Ge-@H#`i*SmcU8xHuv9zb0;~6 z_;j*w%)bwu+rU|1A{uN}dwaeJ&ivsw@Uio#ii4u!fv!-|Nn@0miCH<|ye-Q4wQ!yS zr*X%1whroCK4_MK!-}Az3E&kRjAoZ8-G;lj?TmdFxBZ#?GoiT$j$^mRJu8~Cx^XE5 zgg>KM+C!ALfRJ#TuYBU&Fz(FBP+>h`M<#!Q)3~4djH?X}8YlbS)VSZTF-{(YOUG)B z%Yo)4)XYw)>SZymWq01xK(N`_#Cb?ei18VQ*g@eogY9@!{!fvA8>}V2RtIz5!JpM- z8UCQI^S&C88&v*d&{YK|o?Bb~5?v*GK-XK!nrv06F3Zpr3<;n4blIC_7)#xwqPi}L zu1R1`B*EHZ6ThSU%RYH~v(5qA_Ne?HB44d1Y?-dC-V-vb%QDOZL&9R8E>@m#_xSpu zeb9+ILSO_#oorl5>ny1VTjvGK!;kE^bv2#AbsajaX#Ga-(ZNZ6J#&3}8Yw^G+kM)n zXJ9m4CX5oOxYw7|P+@m@o3g}TG4A!g5L;%`CAcUIXNPKOyQLh9hOQ#xV|@NCYl?hf zY$iO3;}vl_u5`AVx*4vL>A&K2djUW5G0qa3BHt~06uA9v+0>-F>frpo-nbp}g}toX zlQ{oc58N%^#d?rm)5}5z$X%zi@b8G4N`<G|SR&1hbkJm)8(gLVEiWWyzJ%sl<762w zmu*r)NewwC_bup<@7^d!=msr;;!S}U7&U0Dsd1_dd8Y!8e4uLN7F0EE)m-?d8O}9o zJw@);o5eS^Z~&?JMpL&yGN$*J;F=ncb+10?%P;G#Fr_wbf`yjZ8z0q%zScaV9eB!L z-o!KW>{IxH!hFdqN6VeJJTx(yujOcmd?NjQ?!gE8Fn{E|(0L5Jaa{XrbA4qd#O;5? zF>UHq=FrGwR^RHF>>K3Uir=U;Rici|#Nn0sD5@NHBO95{DZT@E9olkAMUTNN*?p4} z`5!+Egur}UE`Y7<ugY>Abh0VLbvF?cvG*eJF^uWc3RyLiIe)79DR0vHbkrEj(WI|u zjKyyQUWZKSDjI$Z#<Yl+b<Z}Vi?Zy`gQsC7rAO-c>H;U+=JtYLET5CP8*`QH1!78A zt;|~suZ~j&tzRt14^dMrp4JbhkSR$;o6?j;YRZ)BXi7iuG%T+4NcvTtXjK5)X4+Uj zCv!|6c;$65#be7eWk=K$%drG%Z53I3FHIp+rsgn~rtDNx_K7K>{xGGgXG-0xO)2#n zykhyBP6xI-W_BT(?{Vclu4#ay^JGoiGBkx!`KGr;rvjbpa8Y}95y~4`!=5e6&$n<5 zdv?hREqpn%JF11V2lK~j81wi(`MPsXRsG2P9}#SD>PlrRQ6?w%3=J4E4_}_|%8$%% z@eHs$&Hy}Wq>aP1ne2nmobHMIi*Ji``O3U!g6H6z8tzfhLcP?qXiNPh`la*86o0$J zfeibH;GFLgw5zX5RgAW%K{#+qZ0uR$I{0!jj4H?H9+v+{pzb&o;%-D9^p@8(#>Z6k z`iIC&pRY`(FEU-za~ZR|=U-VKh-SI$0c2U{MlVa@-w4!w)R*PE|1-;VS7q6K39RnN zET7f%yydB~IJm@?vL8!%iCI>}@diEnaS^EcKy+3w`;}$1hqCmS<@s6|uiQAfyP$#3 z{$7?xYa<~M<}=y0+G3l6DSbzHD!BN_+e(%g1ii1RUOq`Pb@)VXtjdg~%qwAe6n8sV z6PXa7ACI*n_xL)3(4&g@pT!yToU?NhMsoK{hrCj3+>4Vyij48neu2sYqfGMLz&F<$ z(`+y-X6~m{+dhaSKNJ`N8L^<?5Lm!OYe8^%-fh7xrU)%)0|9oI6L9});bW@M&xf$F z;09<)J$4{yJP&xox8%ivolqj*cS$b53VQ>27Z^2R7)|GaE+>G8K2yg<&t_N~-EbTE zMri~0W927v{B~omw?i<G&^;R9U2)z+zHN`;j8Dr^a3~znxCJ(0RIz=1&Mud<mf(vK zz6YJVXJeBO_(C<6C)&z3AInh9krGN{WSCCnQQY<&c)PEo=>X;D<UR@2IBeIFUxVHn zgQ_cb5m<$$K26%VP^x`+XEFU3yPrc{dm_eDxd%r<aGRf{SGyT&TQ_-F`C+){%ifN2 zvR|X-aNx4H!{RMRz}t9A{Hy3LG!hv0cKjy1Gl9j(qx|!7nEIW!0)GH^!SoBV*W(x9 zvi)w+V>Ui!!h7ju6K2C62EMiD(@`AtgA(2AQF63zug63n7)P$xQt_ev3dn0zxnHYl zrf=1BjJ7INS&<i#8eo}j9I|gKYt}hRK4^V}Haisu1<*-tW!Kbc<Vq)5tms(lg!V!^ z4=j1UDrl|>T0*?ic$1zZ>Ybd(2A=^Y^0i{D-N*$+4&Z@!Fy?V<s32*IkPT0?m%)`8 zqA*Jd;pldZUa8jJ46&)wIBT!PW{kJ?RuI~T37GTkgoA&FjRoc4s)%RhL#mf!n8>F- z#5CBV7!3;}GYq>q$TbblDuG633Beov$}ST3FP~srpI{{830qVtU0P>ulUizbB`g6O zcO@*fyArTTV7Y~`tL;&NbpPur;m2r@#W(M;v+apD;A4ja-HURjj|YH9c7Z$b-*h4h zo&~1kKmzySl8cmtcG`j%LI@QToT+xv3Bjj)h`Ysy6h=ObBrHJg(PYL<mQ9vvkv)a) zN2PL0L$*@+V5^_zD-X6h7hj7HnXQ!$d7zYIOF7#i+q9FglpXSV>5$h=LQ7(ib5>dx zE`&((mOxX;NZG4RMk8Wk{IlSS--=7&*Kyg0q%UDZ{ChwWhFx3osj5y&zQTvN>wQQ9 za?z5%smUyPC7YaA^3XR*Wy$GXlv=y>37T`XTYoX|2*iEe`Yx2fcI#`UTR#OnG*88% z-TJ<0w;qgHWnDpc2A3<N?c+NyM=x!s{EsUkuaCbz&FkYWN0BMo$G@(u=3SA_1fRc; zp9H?p8Rhw}KK_u>7?7sjur$}S&tV_$^noUv)@`vSgV3Ezy6HkwepRWwJHQI0#_}ch zw~%9OX8?Z!sPLyxJ)A3T(bUgZ2Cb-yJZKB6L&j;B<m9$bM^R<VRuw$K$4fo8VLJet zSv7}SaGab1*rSytlpUbN$R@4ovWyp=iaxG~DlDrCOF<nsQ#F#!RM}uL4az7FBj|e2 ztz|t-C`SqGm>COfY4vY9haT;yY@=AHbnoG{le-AwMWFs@498g;p}xXWWui+w&8GJH zXB;!Ar!)5?z8H?Wa&i}7hi{Py6PfsCBV$fNw8$+(rxK^CUbiE(ZZU&;%WBHg#3p-K z<{juG20}}7=#Vv)LBoV?HVCC!;+u27s||R?Lw=xF2XAZ_(Ds5U!K}7{$WmgUV-k8) zMF8OECAeEu1?!_PWNlHp8}|bx^mrl0Ob~)SEhk+yM8mAEH*_|cpWfi&tI@I{Bvo_H zi=C5DB2#*B5IzS3F%nh&N_WDi6;+7Fc!pr>Nj<DM)NXz^W^Q(+aG`j%Re5-J*oYxa z9q^<vgQ1~8Gu6Oa$pQnk;7fu%60YD^+*BB$#xo@70<7hj%=LIOnO#|?firc+QAC^s zH|4$!C3Z$?ISwNiI}NmWp=p=~lIb25-3jBetLQXvfJ~0tfv4eIrAHq2W;O5uCdUJC zC_x*`=VZPx0m4_}IF?-bFH^Wv!J1+@?uJ@xip6)(6f!-jqGxG}qoy<#Q!dby^`0p& zTy4rD8*%rtd`|7(vf=NiB;HcrV<c~d<|32m@28v+1F`l!9sVBV^Y=<HT;uNv|K;yB zXEE*mLHxb*UxnnR2wO<Yu?D%=LR$O?@H%ALrJ^}7F8e1fWMVP8E_ntD`My`kPZj73 z^Wg6<;^A-0=Vabj7s7Tg#Ib*w@_N)1%h3sHttl424|p9ieXF7~X-ZKwrIYx3Cr$am zGv&9dO-aQPeH+W?WIlO4gtsTse$Q(UMx!tl3#isBmg5homCwhiM2(r~Be@2U{i<k~ z4!mHQci`t8iHR7|;|;qwZf(ncEwMV3%C4d8-HG35^^~Ii=M=$CX!&KomG~SUY}r+w z_si0-J<LYbZWpz`0PkAmKV;i{R5s?WF^H!3%f>G@hI}w$wdTOD$DM*|ZQ>Zc#m98h zUIb4F;$xN{uw5_T3dD`tJ)nYY)j?zj!MF)V8+GuAQn_Fm{6i7DQ?BY$Vgt+Uyx<(g zYn%^OCK8ibrxo1&l{o8)CojcjqhEj}HS2E6QSUC#-4-7Y+`9W~(eOHO>+WM$yZgA$ z-9IG`t!6vlQq*5x5qgHd?C%mwA=$e7OL2GnEYICviP~zwyXO9fY@4I%?k~mN<b&6$ zY7X-KLrD4E-S7W$cTW|hyC+&fpSuSrRos1tBG%pJBHaCDS#@{ykYgUKF7D2_|8d9M z*IdQ|o255N!^~Ii2AbLxHs`B@y*`SsV%fvxuz$Oy^VBx%j0f%}bhV4yo9E-jH7L*$ znMegCNPs-xGtgvY;W(80I!n&SB<B^;oNa26yS<z(eiLw;a~H|^dEjnCU(U1qIrsAC zyw0C<ZNuqiJ3Ic_%^vhI1X{jn4KONd=Tt%s9e`#|Hap0eXV^W+cX<!UbQJ1l;GEEQ zl2Omh*`QYc6;o-8NA5+)twZ;vxVxxj0e)FP(KR6FZ;D(OVrUk#xh=E~bNG@&%zY?L z=QV{Ga^_%es_6s<_|fTP+}Xb5p?S$K`;zaBCWlV>lC1($cB$SD)(YF8Se)a<!$8Zf z*YurNr@MzW{aqMx;wl<6qDaOKX)YYA8Tb$BaTA<4IeW;s6?`_76RMXd<?-ReVBIHe zQJF)7@rv;F-`XnUQ>O)*EW`CBKEyqs70SWR3=u$Am3b;dyk|mZePrpyE=A`68Rzh- zYMC)Ip4=?8-w(_f?`YcXs0SXkIZlq++ykuO;wNy_>v+M@U*|stsW4<>CYOb#SuukF z{{+6s6<;ZWX;0bmNdt6WQ4-H1tO$O1!A^YNRzkHEsiv7FuxE{wQgJql;GZDyC%R_D z1&@4)r?fOX<0Lk)m+2*;oVACcT&0#Rj7@8CKl(=;MsBf(h+%sdP(BKoKUd<o%ncIN z=0RX1jba(|fsHq1`Uq!}1&Kz^lq^%goxRqUtIAgsu%vz7dF*M6H+y+C@b8`c17XKQ zHQ}E6gWw*!iQ&FQXe5^@FkTdXLi~B`T`x01zGXP?A-H(}0;$YIp~o!RI3s`4_g!<o z1{4)34@EDEm5Uz+<MBRV+$y-7e#zyDGB1e}DlUfI+!9yjWx)$A0X`X(yG_vQOMy;- zL$(XL@ewq}W60*mEM&u{%4L2KLfz$<8j~QSdtYKgvvsz(4C866ll-aJqgA=OC;y|! zKSOyEtbAT#!YZHqogzOLY_~+^e-inIk8*u0DsK~KBQc>DEai{+b1wj%YJ=^5x+(h} z*#Du(zY5mmvznE+>HHOD!p#w74hqxc$Dq$$pI07Ew~~u%f=x#M9+mo1q?S{vvQLU$ z$bSq*6sHlQ|G04OAm<PtC!a98AF5Ss>eV5Ef;d<n`Bsx#Jr*>bZ8D~Rd~C}n!Ua_e zsiTz2t$RWZ)lq8ta(m{eJxhn)arbMqvU#ntf^xuQ@PrcBzT6U;IUihqa+P}78NnG^ zFjIN@FLCkOrXpOLWlhj?ZU=1%d@P=T2A~9Ygr--Dk2UGO^d*|klVcnD(hojkeNR2z zed!T3nLXwdNk^Z$jQu!rVv8}sk{TT{1gNe^%LZ80jl88D3hfUbQG_SlmHl0jU03PE zcTm+1N<_N)k)=K)I8}Wio%A|C@~R(s(~opi)1*U7d#4BPmjBpQy^qj;aaGTvsaVUi zP$4X{I`VdWp_@#)Yay&L$Jn>=SK&>R^niWS{<e0wsVdA9Nj&)EzP$9u(OGFa-@v!r zh48kf%01Z-^kAX#e1~ij`_wSHTs&959+UXSK)*(8$7Tb_zXE$(y8^hIKtBMR9tUtU zfC^6l7z?20%0v@?CxF2HxU2>iSPZ~j1z;tB_5?NpSWMt00FSK(uoJ+eYjioh*t0e$ zn!=9stU`-x+vV_oWTEpUxDrW;E{6|$(zhJG00>@1;cM!xRLy3psa`0|^6)kFE>G!e z>gFSTP5oJ<$ZP63NI8S-<Tds0k($u(xx79DO~by=c%P>k?0ju~GyaoWJ#9zP?hb9D z^YY{VhfEo<To`s6Zm_yIjA&sAIF$%nmE7Bv!q0aNw-k2*-^X?27_rHG7uOx2rcivA zU%Y|4$tq?)v)ocRq<G!eLPCEk5?wMG8eKAJ{4uulroSsec@{-+a+lV_ofT2|uDJXT zl#Gl07F+ZT?kkAK-9l@<7I!y^$UR~1|LC?3xJ07GPZO7DwD`dFz^B{?zghfC;yd0$ z{uVE^0ooCz78^hek!rETjo^I|3nl6AhdGR#NxT+c^t5=JXL0L}xdG99DSTv$b%{J* zX}Q@Vse2)NF?_O)4Jccly^u;IB^pqTp7RCNMj#qcqgBmVs`(?_rLG24>rEO^XF-s2 z4~`(k2GqyU3qA>`>o!A`oO`fNHLV1h0mT2LK_ugsJWFlItzUi_sEq<x7ERwLE`J1k z1qRjd(2s!T-v<THAs@LXr5}{4jCmgMyG3=egXTRc`E5<`X4v0Gr9Ky_@{~I4lVX1# zyiXIj#_m3$2z!VyY_qx%tua#!_PuyHke4L6VNB5wWus_pWo)BJR97&nd#W->G#ILx zFs4V@bjEZ!+@kqouODiz$bZCi?WJqr+SBreqS?ooKG^^hpKXsx>Z_09BWx%rPZ2mR z-+V2<1rxAY;}ARFyBsi1dI9*RFQa(Mi-@(0BN1yqx|B}cicO$@4+s8}@W)J=49!0a z?M~2QZp22L^fRLSFmYKt{zcB#`S>MNAo~5YE|-~`zYOY_yC8i|sJnpY&w|NI>!aGy z6yjp~!Js#{K?tkA@iEN)kL}35Q)>w2i)q;fGpfXmFeQJ?;}78Dq^}^3@-Ku27e%Iq zDx%>Zq}x}`tH!XiAGia!bpF)@U;P^J4ww_BXT?-UjyJtwbF3~ortU;DISZvRZyZNf zwM68^o6<OVgvh?F+QvSCQQczNGHaCaw3M;u+iYW?MBCUFq(tBDFTIOu+~gOn3WmZ= z$Rl{lPRB`CX{COz`+Jk~P2%R<Z-1rZn*QD-1Bs?qhH>}3lqa^uik0L6SypViq3~4_ z4F+r6Ft+ws3B*=t%C+H?<4v+mMu$eO>2^BA1*n-Q2flvZ5aBe?rV?I?G8AlA%Q4-4 z2=xGthivY1IxlB;+6-xI4RQvw(~6r=aTpwrkqo}2`N{~PYTTc%8&h#S`qH5g;SoV5 z$<*)j4eBLHR<*;g*z%qPg+C{ETqD>b&oPn$V{gI&KWw4%QvwXI*WQ6;^747n02jiX zZhWqBoxs0=W<#?WUL`i>?stJd^at`PF8DXVOY!ydlA7stk|pRR167b~jONN0(5t<N zZJ5{cMPEQ41}aDJa9%42GL&lsdcwT9B)Iphe%5_|(CI478A6AB=}3dSO#PAhF{i#$ z#@+kW!+B3hUWRayiKN%Vo|Kr~SkXVEO!Oyo$Yj*?U2qEhTK&;{Ht?!-Xr7Wkp`-?s z)PD&&8d68B@?52({ue9YiKezzlwq7Y$jM#T*sGPM;_FG!!>3ElrB>|Ir4~Z@8x&g$ zEye3y_VDSFD)gQ%-2rv<T8?;a4p{JXNqHE^i$V8F7s^or-APxXM>Uy&jaceE6JZQ{ zA(ywS=X+W^WFFSe&O~<3a?H=jAo8I`CjDXRzv-fB_m|QxRQ+e7rM=L^D{cP(2Lk2a zw=sC5l=dHBHU<X<*qhlH93*h954_UfB&FX)Tw-vr;OQS~4CZR4(HI;Wcpkah80;Tl z42}hF$!qzdF}M~~PT&xOdmu<}P7!Z@K!O{$Bd;Sl4musj80_s!M;c==bL@@i1dqu% z1fG*pqrPa-R2C*cXZvgU5j?>yvgs#^&@<D3M}AVz((NX*+$VUs{4w#YM@WilTL^7Z zGs^KU<bxMg{@fY7xnVGm<IgG^Z~@9@i?U-H`FRh(jzyJOjw?_mi})&0cQ1_lUd2S; zIj7D<JWQ`6?;?9Sy%n`?ZgZ4%j7J{_@qAN`V4P7$UPP|@G0Kj|^z~ws(UDyNmfTE@ z?X4;d6ciY3l3Pm#+51rWT;x!EI`I7APqAj+Oh-4#9fa{c5E7=UF4h!B=gC|g;Llbh z;yfzVS)_iT)beYj+;*D4@_qpcRTmnj=`Wu}k1xT%X}G+E<;JaL@7)wbLvG9RR5pdB z$z5W*p-jGK_bL17g$dY_RVS8Pvg!d3y`sva&+c!F-fbfJl*Y&PQ_Cqb2})swbYG!H znz&%GXBrylw$a!#VWgmMDSeB$gExsPEp0_v`cRl)E6PYk#e8Bb%9V;*1uXfJs_3RF z*0it{6_yM>1B<OFix>D56*U&cuMIXCh9)NqV^0tgDr3IQU$mm?Yl2r%w?w6`6RD|` zYJZKC>u3Ti>TXDQ6;({r!@qdmh*ngziacd2Sw+QTFGAc`MNc6=TSZ2yXgBcCt*Z9F zs^~-Yj#SaNid+XDN2`eIdHngSD6_+>co+XYdDCj5YWLQxoZQ_ImzE9=zC(Q;M##fH zm8fz6&tAxMt!U9bZVdZwmAe^yC9ma?E-0lz9J`<=z!16D=S-N{YAQB+rPP(@zE0*H z_3>VLu8eoiYHyHtuSjmCc7lU;7CZ=bm;Iea#*262b@Afze03ij?&S7{Opy^2naJ10 z+d!nitwTqfl#=nZXa`lKcPk|xv;A1820lhz&~EQiLP;Srnx9d1VBpKywGXMfVqrO^ zYc%jkhpW`(U_;TZN99@aJS};{sJfKaux{`eGTht~uf{`MKF<dH0oRzLRL?H_)?@PO ze9_Mk{CAgt!sE`Li9u5zcw~>?pP8de7*p~I*}vowFqV*?lY1AklZpmMu|&u8hrAqr z1DyFSrM}O7`a<UviB5HHk51n+&u+zhq`Ab@1!b!i&FTtEhPT0+yL=t|5)?~8Qd`Po zqxxYKq}pJ-a&7V3iElgyeHPzA{Cm7xt@yXVBk5SI;ZLfmV;Yu{%XOA<)B#rXj5ZiM zp`y!mu3yzL37_LEl8g5_rd$_R^FE-}SnU>#{Q|eLVOmXX=DDT;*Pr;~h-L^hp*3-c zTt}1Zd=@m3j{f{JxGIu%G9L}d5(5rGjFE=K!_^(r9C=8jrJc%06BYrFJn0LK3S7zZ z^0fJx%<G2XDAd7m)H+jd|2?C73k$Z@>H`Ol68#7&<)s;wh<u4Gad_%bX>7LvE6Dc` z701k=;0C;Y7)7&rVC~J4m%FHG{(&gPl5F&~gGb?z)hTftmv4d&H|I6mTXN}kCKxz} zs9{0_G?~?*9inlMsL|YKeq4BE5enU6e9XMO=dQ>Px3Tz`u@zFp1w80_QI6x>ke7tD zJI#RIph3|^$)jHU1rI4%rY{+bI-_K>q%aGmI#xxUHA|dz5=FryDCL=X1OdhYL)ty! ztP)>Y*Uc8}W?=buLe0ZaV*PQy_~SDWLgio2^9TET`+hNcjYwOi*pB4HPN**&&${GV zC4aWG>`2Z<%_|(wx~zFrTS!`xbWFDbk8nYgKhc-56|=sysd6yFSt(+zb{cV0^B=2$ zgZHU|L7sMp>;o?GHB=n-MV!ej^Z{NtN|nBCuIkPk@I6R%sCzJci81Xn5O=wV%HJ0+ zx@J1)-d!g0_*JGQVOgjAFflFlAY0>);FX>RsXVjc7?jB^1vq<}9>-wY?LK#fwy45r zPm_0ML&l`1aU{efQJ*8~+qL)9PZIU-L!DJWNz^wv4)yE(>firA)Zcp0F;(izi^MZU z{XD2IGGPQ0d$-2{iO?pFt<o@tO}Xm{Xb*Px-!wK?gNnU!-#Vf>RTRguu8)YiF=QBZ zH{KV5xO9e9_JyeKZ&8QkU;b=W&%%T9Y5`eA+AJ0YJ8FTE`YLp!expraxgG+Jre7^q zy4Ul-r0FZ}HT@{cre7^2`q}i4A&-R}G}NnICo4-i-=g}rX(8G4?*M}~{daw3k2d`g zn#iVqM0o#yH~nB?^#<E^sJtT4$XFR2v1SxZcTBZ3DM<Jb18-T>QEB3+dr=HDd*vy3 zQk#9X3~|&_;B;Gg!D7Edvu_GDbD>0<eYJ|>i@_j-O82l8PG7Lud*@o<j54Lzx@(Tt zgsSb2VY44ACY^yc-WZUG%@}4Qlu0yI`&6Q->?uUkUSF(MnCy!M@5b;GZYfzGCU6q% zk();YY*8nT4&`_hD)S9}4tFLi@hNaQWjkxH3{z^K20mv4G=7{g_a0*w1JAz_#!iN! z0z)U7to;ekoer3fkRE(Ot;yPob{pB`vn{gChnS2#3!re4yvTJ-3VtDKmQ9WQUV~P- zh60y{fDf&)A?yMk)3YMBk6OI*5Ae*`tDM^l%j{We<;}wIXRPlHoxP&l)Mb#dFOph3 z^+(`mJ{Bo<JhOn?7fIJA-;cRrzMniBHY7L0O3XvR-Fr1pzDPP18Q5NrXO&@4FydjQ zVn(*m61mP1+2}JgxKBO9^<tAb=`F|97<WBG;*=7;i&owr(18e5`Y*^|s;b6>>*<rs zpW%a#u;R_14X~0J`P5i0UzctwK4_R@0}P3+!Z@7)A`)OV9&1Pye^SL>pLHg)XC+MA z=E&Jb`!w>>qXxYIb+Q9YIr^MI6XF*`6@M5wwr|vbFi3}e2+aLTl?0!UF;78U9cChD zeQ|9vF4xB%*}anOSh2i*7cVQD>i*(oW$`Y+B|_@&mt&Sz0(T3%Veh|Zz6zScP!P?m zj1uUkU?oLZ1CgVC2WGCs;Z?1V$QaopAVB2j<WA_S0i_)OAWI1-#p|3!1;u2!ru9)- zM!Fk#!INw7UhUVi0END`0FEzheM}aSwu9;x!h;|F*fSo=Gg!tm8-0T!ZuiSlUUqgD zgcl>HonD6*tgGa|n&A<1D@FP?$C~>PML1fjiZY1ySG>`ZJHw~9qenjN>2>ESnXVfu zWLdlmKCS68$jYqnBnD#BWOnte5=u+Sc$a(Ia~wJ5;FApJ;5fdZ2b?Xh0r1EUUp}T& zr<+_ePrl>+fu=W$s>|)BZ+=>a`ygFz)_SA--vhO8e$JD_4(*$t^O70wa(dysQgL{~ z#9s?)^7OAn*v%_?7gCDx736!1u}!xB6_bTL-OmC|BxA8JegaF$wc!2(X~FN*$TAhs zs7>&Kq7q?VZqh`@uEo^o-eNSysT$Y!MvMc8&vZ<OSXpCmzJ<b+UYMyOp#oM)Qs^bX z^it9Im(f|ozl94nBRvPsecE!%urT=HY?JPI0{8|<Wq-pX@(%#?0g(K)GI|G-RtK9; zTg0Q=UgV=uFsO_)f_>5!(|RKC#i}v^TJ<z^O5iKkb?4C*N0<&}CCqOpHrm66U(^AI zQn>*{CL2+F?F<Y#I+T<A`0W-sqfPM#e}}G{Ooz0<&gXFm<|Q<+*Zaad>5|i9#8;OF zo*@nHyFbCrIZB7}(!{F$g(kL1TRWRr-yYFEK^lQ?-l1QO$(v<h;z3)lnR)ElnK!~8 zFWNZcaf`p1mpmsgd9W{eWnS|0zT}tllF$2+_vR(Heaq@*^Zi+p(e4j;%{TbElBH|o zlU@E~bab;K(b3WA6S_qYTi38S+2Ioz*qXz<TfWoFtK&~%SjW%9cewW`PrbiwJsgN( zJ=_b-*26&=r|cjVHGW92hyMYU6Q~ZK3I664ua*wWQ@`paY|r8A@VVqa9k{KvFXa5B zoxt6ZZ|6Dm1i}y16+ms^<45A}*L-9LmS00QyYi${|4q*Jk(>ORywFD;@Ne>AA9>op z$z|Wk%RBd9<j8m>v${gx|L+>gyajKfclag9VclhA%apohJFnf_tF2#xtgVainJf=M zf_+6b2R`NUP=|AJcN`8prr&(j$*+R11|BJghk*P^tIxa@M_YBcB;C+i?Jn}x*CrxA z4phM~f4O7MQ~a`j+|Xz{4ymQB&hua`bnES=<DSHZy>R4c9vIgatHB*VkiFq?Rj^U9 z<A(y9jGrojU^k6tNi?>+0r^q#Yf)0g4Vy4+sM6Dpv<HH#<B7!U!Inrkein%F^Kc0) z!(})415W~|6N6Z4qe48ErvfA}D&VjznCUOSiFmrLJD!e34$Wolv4QdxkGg*iw1|1l z<EpH3OdsST-iH9a|1faze#e%wXz(HMNDqH*nI$n}?|3X9J?0VeRsh^SP>;1gFeG+% zO>DqZe=Hx>Hvw+dpOE#V+ki)Ixk`PZ=}_N5<^<fTz+c|&co5Z(h57~w53R<*1yS`4 z5~%*isQN}SB}flK{R4jWol3ODz4QQYkY0Ln)HjEqU0%kw48tH@ZV9&2Sac=OVv*TE z4^92aF`ol<m#FSlJA-C7r0u8;r$4UrXWHmeV?CPTZ}7;`3|;y;S6;yhBV1@!*mSz? zI?U1@qGM-jQ>zlSZBAdcZSF%9{EN2n4r}=b#D>j4n(qlNL}blfoXEfUZ;>8<7MI8( ze+yoxNVJdrC3;W;PLn8li<<liGL{2#yF^?una||`m#7ExeQ+Tz(sZdNb549aNFkGv zw#G4YlVz!RC#-RDoAuYRC{n3#Cv2CeX3Et!ga*%7U*;ASsn>wZW`McZIXt^AX3^Q{ z^1jR5GR~jcKEia*vx=N$*-JUU^uvJS5u}fZ3uCthJ+TH@{3cuiuj29q(gW`SI1NBP zZgNyL6i~N!Y3RNJElKI|VUyH`mwRvt{itmAvl8}G67D5UWE=bhLfTYAZ)qg_mz&+E zREXzCmw;b%)Gv4VQ`Zcl6MESW<jaMwscCt+<2(4AW+0>4v@MvZcUdCq*Ul7h*{WM2 zRhK$;%mflSgiEP$6C!VktOS^h(aCUGUvYQp=d7gT1H4M=E0wes<(6@iauv@PHaANp z^%p5qiMr<w&|{1T7Nq*QH_E1LcTqoEU&EaD)YdSAV7wM62RY6i>a0SRu_KXwCv?XS z0MH;mfUW=vB!o@yC1t0B-5*pDM;2`$C>{%+)<J@sufFX$NWR%4|K$xl+)7Gjoy_*g z(eMvt`^cg=>F;!n2zR7f!7<sVBAT}#^qa57^b2VHOz?oeelllX!BX4P;<L`0P2Pi; zW;d$W!7*hAP60u=rFRC-{%rwp={~!z6-Vy|9=S!;*v|j^C$Mku59ysfLi=bZ^0B8M z9QVI~4>eN%qw&~{^M`cLlMA3vo8v3}Y6yr2Zu`b_?NdJTn;yBT=lRGMzcp#u>x}7M zUP|ly3}%T&B<y|}Gl7mVL(mJSv%lLXK{tD#_HhrSlffydeVpZa0_Z@NAicM32<8jd zJWxLN7?K(#!VxVrT>|8NpP9p<_v%uFPWZ?|$~&dTWbBG_%?({-PfQN-aB?p}L6Pxe zn0T=dUUElnF}u+>-_T8};lVI)K9^CvKp}+dFttXWvdr<BR^eyOn~!DC;2my(2xASq z&(kufyrksH(Q3PK5V9XLgbZcg#oQ0-B?|hil~L*f;4ZhP@y9joF5qYPGXV=YX__w4 zQU9`wofdYp!e;IM$40XW-Gu0qJxH@<PVx@(!5*9YWY<Z@!oaZC>3*S&1!i~I%(44S zfG3|(m1R}saoAA+`$Cq;zL0Q{FqQ(oR~~Mr`9tmGLR0FycI-)~n2bO0;3H#N0p6x( zN)5DwZAFHRV4~B|F%zLnR)aET6ku;wI0^N?Rh>+C;p~-nF)*7GW^`3oAK-Q=KOB5Q zb*NA<On%Za<0#%txhNjGL6K;$T{+qXG~QDmTX)`;&!KD<<DR`4+6H-P>!Ga3O&)eI zIV_(xdnfPHX5F-?#~_^kp8d4hgGJHR@zZ8cUk8AnHoE{Iku36Qv-IM)SMk$k1xo<9 z4B!j_e%kEDk^uN=v*QH#X|q110Pxdhvk36hW-UsG?WfHaeu={_2jd3FPn$JM4VyZA z?Y#XS>->G7roUDwi?5p}+@y(&q-pe<eDus5am`UG;7896c?$0M&??9Q72lq-3Ler# zD&R{M_I#EDTKbt}eWOsq5ZqsHDT}f)A<2}(O*Ru3aC6`JKgxa9a<2oo>^uJqEb@7@ zfnVu1;ak&CM1CG^A5!iEpKKFei_{h@VyE}4g-wql+s2crho!8Pj;s>C(c0EVWA_zz zQHh0=z`kPsC*4ba8pjWo9aIkUH8@@=^c9q5Cw&YKxg;_<DU<=UGA{c4w2JCgM7jL% z{j|D6DR&bYx8oA3rYzp~)3{?j`u#K_)4cDe@dH!x{WST!+bf=GuCm~V&%4cp>ZEXa zXug$~&u}SuEn8B(3LqW81tzjsT|cm{Ix1SA=hi~I#KioWU>uK2$!l4X4w2NqB6Y}@ z(XvqXA0ZUrm(dm@Jz=)b#|$U=6x&=)ETUPJMoW@UvAs-@71xLq=BL;OLUSv!@l$MH zkZqHXjdA9#*PxO8k6>lB-ih>e>L8|1(scAa?w{}50yBN7P0v3=KfQCO!PnN>sz=D6 z%8*avSJP4N2c=;zgjHC>8fiNMoAx)1V@F`I^_6W$@R_e8_{iqF6T<1A+m2vG73~Pl zR@IK6do?r;vPehpaTc01JAxK909*zzq9y=#1eI$6U`Oy30d@qXY6D<LFpK~@f{NE` zM=<ahwt)?U8`%*ouM0PR`LVTz1%y{@b6*Iy7s$rueu8Wte3Hior`ksSot9)D*wLtu zLn5hiJ=o2Jq-Oyo9mGW&b>d#DBImepcO0&b`kwmQs274Dd;en_c#Rq<mBA;Cx;av9 z8;w(&vra%0+9>~%o+p`kF_@QVUJJ?bN};=;BRlCbIOLMZ<fIx6f%e2j+vs-H>T9Df ziQGIg?#3nfhO)4Y+E!C#pDomH%o;zmzRMyM(+EO$;!^TjmZU&qke<Lrb-c6R>iAML zNXu(Hf(9QVV~-}#aV<;IH%Lty*_1k@<?Td?hC)bM-YTRg{N-yOtXOGz`LTbOzru1g zW*J5J5yV{-DW%kCEU@LBh2}TN#+G-AY&Cprj0N{;jRQ86&%jD~G)cFZI)~}M_|iLS zftemc;}L$Wvd{3PXWH~=i$w2dLfd@|6p|a1sow+-{wo!7e!xdthp26Bw17_TD{P$; z$C9C7S;ypShQaS-O!a_s3^5IOfiWN#5&5$~<(XBbB&WZFFHtl{wa-<h{9<fmnIiJZ z=-Pv@3#C#>292rTurr9iMY9V@cD*4l>f?pyDAm3GsjY8Ox5cln_u18$qfO)JB}cT~ zcq_)neB&Zz8h1S=wZPbzA8JgQM%&K-tu}h-6q7Q8d&s_OiKU8naY$#%Oj2)b6*fKR zVcOp6fXy#aeUh@`H5gfppH)nm)(?rNz*+1Hj*m~7R<R47Ben+0Zylyg<2Mzn01b6l z9ro^|PmHC*NcKu#o1ZbiQaNAjOj#}kfq24OT1r;h1cpp8)yLW?ghGN4AJcSSHEW_< zQ^|BuMN4L19{Jekt;i7{68cq<=+JGrH#sqB7hi`@hRBWvXFs&bd;|$}T8enr65}oo zf~SYcPKLNfy+Bm>&PZPR2d$7kJcMN~6W8l<9=!1pWHKVewF-O@c>oZciiv7)N{vE} zB4t9X#1zqNi78GHj7}&GZco{NGjef62yYpt#0X?E=Kk!Mq9K{v&y=8u8>90@q_PMT z;9;4iD_5O1h+)psi^hx8a^MA7%%b@Ok6CosE~OML;{L8~E5%4lxxr4c?y|LDiWYL; z9*ti5PS6Tu<Hj@=Ku-WAujP!tAC$miT#kYqSP3AdEr5*xIuO_fU<`otT>xSh9h+W? z7132Qtf(2LObLx-hOuzjQ{axh45r-#&H$k5*b@MLL`unPWdnsFRInXlb-ZdlhhCZi zC!3mVU*T3$+V;$#nUAbUpN?yH+QhZ`EPPi@dAQ{AjO8KKgdR}>+c*Wik2t`3H(qJS zZ-_OQRml5BdTez&jTZgf^NiP4@T}(WbQ26TvK_Kr#u+&k5zyEM>b<CC8>o$afoh3y z!$u%%n%O{=pjB8xOJNCGg(du&`+`<s3ECDmXfrclWzo|zZLg?iRnS4DlRJEz7j&oP zLrB%(X&ZD_Vj6H+8Y=pOT^h0x_oE<r5qIA4REHVH_h>$w5!gk4b<&VYYzETzKwE4v z06zgpBsIP|us|bR65Au5+5)ISpa*~+1O@?kfxsvLhXABc1t6hD+dtNvYIvd6CA4cS z#w#^D;6^%~7phC5hLYFvChZ12bVfC3Sn*9gRA^w)?&%ycxQ{5Ak#!oH|0}WzHMX_Q z$Z}v5cx+^qQ-VfTaI(SBA5j^+6F^C-pQP#;Uwu^6i?59T9bb)AvBX!anRslGa#41x zJ89)xAlQ;^u>A&&HrSGV!Dfjz*sk*ho5B)o3QMplEWuXH7i<bkuoc%}+j#@}r#%uK zIcg*J*2&Mwtvk^RwmlMTKf?bu*sMgIj$W{R;14$YDWkk#JLq_-!;?_J*EJvWErRV+ z=eG$6wug{@H?+mx3*c!0iKNCq4lJ-9m-mqrcnQGI1l|G=?gU^jfSLrp0MHXa`gZ`L z!FEM+@}6_2WQM9Dx1_1yOv>fu4PH**Qu12fq+n+RTT&AnDPAAOKB|lD!=&d-ReD+L zGLsSsEk+Jm>^Za8Yi6;>%wlg@@>*W$DKnW%z5ktyyI;$|c-{upjA!}80!yhqWjB>) zJny$WHl7D7!Hee!n6gSd&*0pZ@w`ISGoCA<y4e)Gc-~&|fA*I%RI%+ZTb^{x{5$Qk z_d`%3A*=~08ACvv=E^O%FIJBL^M0IC`Y9Y{GTo+c$BRCIC4Cx(tn+6GY}#G=5QLvO zesPLV3Yl7bVq@`IB7cTzYl-+7O4kzUUkH|Ig%?TZpCdz=B6wUi|5uI`$~2q;@Hb)D zfiZ%DeC#~`JX33qP@oLo-I;%Zd7HG}7Xa6iAa{1a5L-f<kTP{XRMtklpj487Z5h(W zi2-#SS`f!w)AJRM8yAHO@zYOUx>#A)ks*zkS<mVbI~5i~>)UiOuz_uPX|p%Mh=JC^ z$&)<`ZGx?XL1IaY)WIOpV6DB$XYCN5wF-;17Pi)Ex>!5ZXYI{CYZVr2huQRI+hL%> zV)<}udAsu)@T!eG?~K_4!<$T)I3BoEY^N4@Awoz^CQQ1?)Q*?bgViA*TbiZ1Ys<sT zGR&*CJa{x|hp<s`{$lHl8>e{AunD%hme}el#voK!s&1*z8Oy{Ow$K)ilR_`Ig_bH+ zSe&G=RNbRij}-JVThK-&zSBqD`EK(}dRs`ges=llXP1cEHu8>57xUh=Y9-*`_L;id zXR3v*se62;DlF!`Z)K%U6c$spA5VL)C@SlB>%d)6Yi)vc;3exoX@!4S3&pBGtmR_u zWuJwA36E_D3X9V$Y@Mv>;^e=5k@b(&Bke$8iL5I&T`b4T{L)e%!Un7Pb!=a>bgJiP zn_&H1*Vh--_4P&de0@<pUtd&TVB4A-3Xd&?!cqzg+frz{l%kQF*P0t!JyHsVr4&tU zy3~cjQlh4|L>*V);ZxBCEL~IF6P?@@59ouMq6;|fXpcLHoXu}}F63a=D6@`56zSC^ zY+8=Fb%-hYkbQi6Y<f#hRf|4s(S_4X(}<#r+4sdPx_`QCbt{_t=fOg9OKZX0?onhc z@7RwPL`ngwOlcD2bLf0sIk&zBm+7#jSM3J+HFz<}bOAGczdH<Ozix|jUr#KHbKv36 zG^Ir_b~e&V_r?%mDuD0}07e0Lpf7+y0P+n0&;!7r8v(Qhuzeslf3UNDS<OF-V`S&A za@SA8fa4s}b8Z6XNdOB7d=B6p0v`cL8;l_c`2&9gyAfC*9(~ga0?7b&5-1D63;|FD zKwSd$0E{Ql3c#xbx&Wv-G;HGg0|<=3Wf8D2duY$BtnXmfC@14in6(Az=fDvA41lbg z0ptR>nZP0dxdiS7@CkrK3Z}mX3`3HmTE>}p@N(%6-!MU6^5oX?t};{VoiEJeTlwQA zHO#a^s}I@Arf_t8@h?HLVqI@Ns{aSgZ6Hmb;M@VzlfuLBAnc+NIN%tFRKGSH^8A_2 zM~5SJ93u-6;g_KGH#K7+wa#+RP-_QhO&ZI~!@O+cC2=?kPp0WkzfgJA>Dev^OobL5 zo)$aJl$43Vv1ynfXxVW@Ez4Y;1>u@ZHI?4SEay0N5gJJ~pgw6hFAv}nYN;&xKp?Pa zAN6@lFL!#H`YW3`1x@pv`>1I%l>|rN(g2sxE&rD$&tzjlyVVcsCI=_ybkE138?!E5 zk~wlPv{uz+F~`T<aWfDxEs!2t2bY1!Ft##)9{?nhCD0jI!;y%|z5oUj7zW@C0Pzz5 z1ZLoJf!G7Y9>JyYEnr#$U=e{$0A2(TehYQwWj>afH+3dW=R)ZfP_vUJ-ijQVp7a=? zq)WWqG79BCtp?k{v>c(X)zJ5_4UCo4*4=p?+LBg5Bxx5fmnl3^S!^}fF}Q3SS*(PD z@C$$Qdpo~VK5H~Yd-HM!E}<1y$#eP38_AbqL>Fjn2l^>iiJ9NrsSSrFJx<wTO1vs= zG2@(u8K+xF6_eNjA_#f5sT@uA&m6i3QG<&EUdBdpUagG9yquT0FEHm_%=vkrawv|E zS*f3KM@X<ahB;z7p-ji<z4dO~U5J5ykbVjpVt)ltV+?@r0Ng_03jlinB$7Xn55uDp zV^O_W^fAo|lmjr7Kve+u6Q~bhKY`W&Mveo}6~GGsqz0OOZfnnb?`!^Z&ZL<r!H;0b zPNJ$%4`uPzE$v#+1Qc0(u&Bv3-haw@o*K%IhwKU^Ugdr1HQaMPCm)1BUUws}(vZn5 zsaaF}SIZ+Uip0<&C3+z#E7@TV8K2Qyo1TVKpLG}B4X3U^dK;J&y9mHj1ZD&Hn!r>5 zohASn1>hb4i4=@q2Q07^mz_uoyb0hGfsX)WO$6{cfNlg%0@wr~{v3e7-?*FvCf%ZE z$yi$QiSrk#H>t)X#C1<zrt*@@%Nw{Pk|{g%mKyJMiZWr0hWvl^hEkFFo7!rKR^&0K z@hs%_9W-Yr(cn-SW%+kSN`IQJ<dwAbTW1!f<0r$oCcI3+CDin44cedDeOyxBk;-t4 zI=*+#QOC0s-_Of=UW!h^Wh5?%WSZ`D3(Z!ct4fUZn>*zufEhar%_9bT`)&bJ=;bOI z?LW>q^-$SK^O(nGUJl|CdggzaJ;RIPjmi-1K|XUPQBU|bNN-c(zhgM`-PPe8jZHLe zj=cA)WcYh{W1IWHy@;Gb7}v%Iak(D4WB&lxG6FvX_=Lc50C7_R90br9Kq93Br66%T zus}rss|eHv@Hc^G0J3if&=J5A0yh9?bO(T;045L^2cXEE2+?T(0&{Tb2TX=Co{>2; zvX#5(9vI1?j0|JeflG!l9}?g&<`)7S#uT0g+bCp*F}*|Qw6s@M<G%t|M<N_EjA>>= zb|!Nk=%&tw$Lm3BQh#1%^0J1P%eW+xX}Z%jwB8fa@s6xK%MEzCKU}!3{I76%O=Y9q z^(c2VGc7e8x%A-WHe5o7lubts_KTUa#EqrOv%GOgd-+n?_R;(??sL$To%9&Bd`d09 zUZn*)*=6j}g<Y5JdP_C8#n12EJSMrPXifYKsA$Q{FkFIZ%0_E!#_cpE`~xx`?p8op zWhc$0z$RQm1AGFw)m)u1@0Wv>AsX%N-NDe2bdu6zl=vUf-bhQNB#HJ!-bt|@#X(zX zEV!a9VNQ`VRZUac_@Y~G4x*|((qo(8l7A**s3w551S$YHL7)VH>UW{8DHP}hY!tA- zU;v8=i~;aIfcQHA1n$Enc@~l%25=96_$QdW0hd>p{4#*h-8$r%uI8+yIYD>KeRNq@ zP?H|yWfLxmq$M39ntBf|GjR!RS2?}M1X0YznD^K_-$zP}`Z3Pk0L4jbDEYY(|LsQ! zp1mz><?o|GneGM3?P0b_vvH||OXvq>@xqX!9v;6c1LM=tF#JW?%#YAi$*p}qi`Iu) z9-@}mmNp~p^rO)*nKi{>bRlJEO8GQ*lF09-{Lhrn_&?;O53a5Z-UF!lS?*ToNJ_gG zD%$fh8kbP>tMuq2%!cYDK5;w%Arvq^W}>%Y%<Zp5qYwWSGKOd1Nmzt=LG_Z8jYM2% zo3dRqTw_(``O1X3x;a>_7|X&ga@Wp9M81vmMKCdT8-Nc8JPV-5eE?PiSO6fA{DHl| zir<gW`W(PE0^b6-c@9GF7Xa~>aR~%5(taFCfr0>L&(&ep1<jWe0RHBuILFW=lFB^* z|Fpp+I~3RIKPxK0mZeoyURn0h`jSpLSf8DAD^)y+OQ_ZVw}#ou68;GqBF+$KNP3S7 z+y`;Vz$LWkYAyQckG+<=MoYo^cmSd@T=wcC+5?2XQ4P`O$TxU3igK_6YNTWGrnKTg z_X}E)&Ai(y!8RKC%8KbqiJO#QAFjfGv)!cWl$i7%60o$J&Sl4c7%*)h4@;v<<L%TM z4&^zj=qhar4-@a7Zrma|f8%oejaHB+R=VlF^eLLo{TZ<ud*ok`mmch^c6DK|-KtAJ zEH5{a_j;VM{W12RFK<o8jD6>N$Mm)9r(;KdigmlgTvl;@b;b_D+VTLd0&P@H*nlcO z9AYz17m+N(D)^xspJvV<K;eq>fbxN+ML#7v;7wAw$elYM`yD3Xc1zX&0BJ$@exrGe zWrYkM^&oa1$ZEY9P-_A9csgxtbh2hl&!3LtKsrtF-Y=X#`X$P7OT_#ED6g3bxnisE zD(w6L9f7VP$}JJ|2Rr~n-UVv+R*X?aL0dlDORrq5=zB_XZ^irp6}w>5;lijQ?yaZ> z)U=>Qi&fEPmSRFnc*$qYNJ`~dGcQjGt=UW^p<=#5N^Bd`X>l94?s<CaIi=!dPWd^x zBj$S*Aq?&!UCp!noq!e-&%eNWc@${13Ah<j*K0(^n)zF~#CQxy>C>MhpO?spSB87C zQZ8zKc7le|?}$Zywqhi|n1?Vt2xj{##{EKN822^6?T`EUzPRVR#U)j8FY@YZd83cx z(KguAc6H;j@JTdflvwUm5C=ccU%^5Q*7O&m4jI3|bBHjMhk>%ZY5B(kEq3d8h(Ez{ zzD`u)R?vbEdtO*+y)dwJ#zvHS6~oqDbffs>Wz90`lV^$}OY0NKvO2T`-&HONR`*fG z=#viM_WNY1&nNog!HveftP=Fh5G%o9TQJ<#`r0~T`$w?uK{_Hu)0ajaannN25yH?N zR#`^~x-weS`BxQnfxoCDRcW-SOM*~piz-@vVo|3mmn~{X#aPrj;Pw}F)qfUsp-Ql* z-K~TjvOB2wr<G{S+bSM4cL&S6QPUrembdF7ue`#LxY#SNpnZYb0GB;i_@sla+UfrC zns(N?(emDNAzEJ1@(i>D6P3%B_Zwe%E5HPQc{luLdDB#$<!xytq`X{_3D#4hE$`<3 zj+r@><!z$rInnaI<dxSlybsfgZTb`Z!z3P-U^%tB&(gIvC+2a#CU04Sx5hhFx&oOS zD6`;Sc@%$0eQFtQgi@PFU-EBY9#8u6NB}#^&pZxmay`jo0G_4J>`0lf|CPt|Xdc3F zKAJ~o@;6<IJkI;_7@L<zW_w#*yBD(@8$LoF%_vh%)AM|FBASOV%z;u{juzxU$UIuA z5Nq{7ULLn;@;J%k^~K1eHf3h~E05L>d%hBe(vNs~)FJ;!pzdN{9(BR4zS^zHrI<&? z(Bs(Mkt5H}j^Qri<bJeRw^1OKPi$U*Dmk$bINR=&W!NajM?NWCh2CH}aM{&i-*8z^ zT(%o_7yk3WldJWy<CwA<PZf~~-lb2mPj-7gil-<Xnb%ad@Xy#~GT4cc-G({x`HofK ziIMGwIS%iMyNJtv!yJb<#nZq;EmhtQ{q4-tgn6ett%Yt%%{MytB7eX3^v9r$_evC! zx9&E?RXgvN_X7`IQXM=ko<k{4DBMDtB`b0bw2G5CZ2`5xw<<y68$KdJHd3&I4JW%L zbov%lLq4g7u`toeeQ~Mm57)Gf$iK)<9!LM&Fix}`WKt6JEytNSTmV!L-8|h^Pywl+ zkHKA~Y%27pJE?tbJ;*%fH#OZ`Kubw=9$Dh~C7*bG{tD0Q`NZol5EsAX6R&>;JQz}? zdGqxIO<75Amvw%=M(dx~Xia_mYOO7S2R&0otGill<;IdQTmv`j0~z^z1{~^c^Rd)a z7CVFF+0U{`??+!{wX-agtghyANPCk?qWawCzVzEQo#TkQT6KJ7aJi&o5_j+AbQ|2k z7D{HP8f@#Y=1v80;A~NOjjfBOd*gd2H~kT9(M8kQ?q<OW^4hNDe--FJvUq~~;M=0* z<?d(&&VwT|TGcY*Fbp5P6%}xo96I4NzB~>wutN}YhA}pEx!2Tp1ej%&C(zXQ=ZkXH zTnYT_aI}ioL~1MWnCZoV?+kDl*Krl`amd2rudW83xexR=<y)ykp2V|MwDPy)9E+XA z276eGr@^}e9}!4-TXa84yg#=x?h@IR&j9~z2z0$8(ur$<OSki`@J|O`FdHMYl=lKG z2Trk=QgGHp@b3=jv*XDHt90<;3n$xFkPv*dzx8_lEVyC9G6)|JA>%liu1sEs*)Iul zn5r)k6~9vhf>F2>a*RT6Kc|LRu%Fe<3V6Y?$PAv_u-x^UF$3*GOT^Zv$;LgT)kea% zs+ceA9@lh+l6y%J&N9O&vaB7fJZ-l<8Q1A(I~3~36tb*2xFt26Mz_~=yTl%C7j=B1 zLoAEf73!{p!7tgjS-5^&ksah5aLF0zS4{nan_N@6zkLUCfGvGfu<(cXA;DPW<{@OD z+(vj;j!Z3mqmzW4^_PG*9H>$a$0-oHR{`$yhLhuCQlHjc-lkoJR@l>BWlUQ<{q6lI zc3JTpuSgXh<5i2BTq0F?1FXf99wSu+JTeeF@CB^NQ=B4Mlr3|r3{tC;p=cRyJde~R zj4$L4IS3?|h;!yK=oh7eTcs8hr2>{Yxf%kiS-P6Hjxmun6s<XYghFLLiXfvWC6Ql^ ziabTIOs@}+`m})k@<0Z-rhc{`;5stg(s?gRc;vc7SW|{ykcu2<vYIWhG1pazQjhtl z0)yH<O8weL6&TbJQR-12RbWtWCskbZ6{+UB2cij|+l1U`!eN{6Y&79BoA7!x;gC)E zIGS+KCLD_<?34s8-m`+3NsOa`(reXPi6yK!)O?BcSg<Mr-~@rv0M=~)P!YiLjaZMW z1z_N_SgUFRpao-PxrWt3D2miL{{$3GNAhJb#ZCb5<Z}Rq1L(R5odCH4bAbH-EU*~B z%*_BE2XKVIS^({z2k-)bI$Hp|4&W04djL#-0l)zOBVGjXHGsnahW!AbFbkXdi)+5g z#RA%KAhovQg@-xX+Ssk|?X(hfQtFMiNfku`f3YhdasY&B5HTg_*z8WW<!eu1Dw5@G z5LOBcD`S+h;B;L1bs)<Y5Z)FRR^a{00<H2JLzYz_d?zfd^kvtutR~As5aM5g`D>L* z^Vw09VBmO(5!HH#A~QgUP~_u05&4LTDa=qD2+#aXzR^H(z-J0Ges?0d=;KJv0dfGz zmHTRHpdWymFVphEYzJq-*^HbufJ{ev<wgLq&Z0gW1K1;+CD@)ScDAldQS%<AR1yeD z+rp+^830w4!<(fAQju5()PyEV@ycsToI~Ausa}B(QsYGs`cR_-;SMTSM)M4~NL&Oe z?hsovLiuj<PmqLe2P2e^HJN8GCL(N^rEhiIsb$>48Yg6_p)B54%6M<8ZQM4>Lgj5O z3zg5&<Xt7OA1SKbxQ}Z%lKnPi$7j@bX!5j&aT8Q_c_t;xhF|%pFDlhD!?*#h@1o0s z=8&ZZ7OmxhNA}<&6RM&dJjMp4^r+GvOmeQe&YMS+L0=Hx9?ng8(N`I4JE7iMD!qls zHt4iA&!FKim3QZz1&~dV&V6Z2Ye=NXEkj}H-Yr}RCjv#5#r&Lv?~Z2Sb*RYl7@V7E zipEKoxKfni!!_)d#v;P-*260FE3JU;MxDlX0Z@NCfc^l^00@i#@Wm_WmnH%Tllu#` zbtU8@kH-{5QjE`nF|T6e#2bn==onGnX)M}g2O=l=do6zfn8sff=m^|}3?`B6zVGu! z2aw>}_?Vp&^`;uimt&hjbOC#xH>@zNk})WY+%9EyGH*YDThRt7b0L*^&1Q&#Kf4;^ zNx2<wh~fQs8M2lg_$sj<c#&JCcnV6rh9R6(z_U^T-YKmS56vzpPVmsCZfni*kI4a3 z6q(5gDDHdP?=i>`o_&<(w^>2cP<T+%t<j|snV7lLl!-@kOt4J0J>g`uJasULD}sx% z`DB#?|HoB~ZhFYef29hT;PXmmC<NbAM3z?4awZwmy14s#eFVtokd)JWT9=dr8%eFx z?G8%QC~zB=3d!iM`9B#m5B`pG97oD<c&Ba+84#_EGZ2;&h?Qdmyj_Pi^ro`zL$I~J zHIT^v!0RBa21kka0bEoL_DKBAfvUg<Ap8i9gxD`^S7`engr1k+%_H9cd;BS|hl(p} zG^~1FO1CPFyH_(|`#cH>8<A}^B7;Yie6%(u8W@$8TY@N*FMK=cPvU+lks)}|G90}} z(l}7iL4&}M8aFM3aLtw>#5p$2l;<$Vk_gRafEIjRSM4m%+Bd?c2IEsCp4%BVcEH$< z1IE%4sqLwYC+3xw-a^r}GfIm+imsf|g2R>gFRi1pkags?#0}^bI5znkdS$dy`)vRm zzw~(r07o>_-s9W@?D1tWFo>^&i;P=5O=EwBrW((z*Kx~;-H_wBW!)YC9JlQKfRFCL zCF7QJAECG5xaF_C061=WeIEdhTV{R&fa8`y2LN!~QuPo3j$2ND27u$1mR|tixMjkZ z{&CB`-(2(9Q-}zTTZSD$L~QG7dk;ng7exwlP?CDyHCxEWfk?Tp5KDzQ5SfYO&za1@ zN9CiC-hC`Do;YkM%)!Vpu$ia9#sSD5WV`Kn9@_-6aX^xF!8H}g#zDx7UxV!lpSC;6 z#zDwJuyrCE2OeXNf$fa8&Zx;8YMlk!B(iaM6*vyIoNF`X@Fex3Yc`XO!;|`8D|>Gj z>wqVas?8$dZ=X}dUJguVLi7iUa$vF)qB1bqj8qwze8@Z>Q)N^{e;664c&Xknu;DY% z!hwo=LI)}<RnB`&TLvl_peAhbX{1l=K*dY-hCcJDkpq=%YUDuWWtFpzH%103w@~A5 zpGMZW9iSaUIkr&?2Wa!bCj&I5$^h*rq@WWmq|JiEijTpKa&i<>Rg*b>`PC-t5XY|Y zV2Cr&$CA9(y4sFBWCI<CI1_xzBbJ3Xg$Fd5W0rO*DSK}@u5j1*sKb?NXUHg<`>Iko zX1Q0Xc0_|}bq^|)<CUi^HL&P@8PTvUxK+Qh-eYNBvviiWy(Y7?$5g2u&_zo-&Bqe6 z&X(4*SqF3reaeel7M6CcCbP74Rnqel7BPI(o=VLt?O~;|v=fz@SK42d%F-^j)BwH@ zD_e|N+O<dXO1r_*S=x6rnWf#UO0Owx?AKP3EGLCUhOEUjneO{b6{3W-HJK$WjqVUJ z6j-!S$C2>9aXb1r8d{F%f}wGTDwU<|qtv`o&QK~#dAq0GSErS<kD*bEEFGl`4cBCj zqqP@6Q{yaiy!Hj&Hmr9c6d#XKf^jPzvE}A%@N26}W<qXj^%)75e1y=aY8?s4#?G5e z3*PUKtFrL#xKE6IlXskdkbM0&I2t1!cg=xFAA!_BJ|HKMS~*!$11Xx4kk&1)GiSeL zf@eLghl0ipY6S4h!SkU?3+mqCtNEvFIzlm&pdCeY1hCs1Et%vpN-M%#@cRy8at1(T zJnypCeT(iQ|3a92B}$k;LIV<#yQ*}m$l?Hujh=LGGK~`^ub=X=Xd7jkMyAEW^yM{n zjE*u*C)3NqbVixH{`cW1(+o0wAxsHc&t7)hqD=kC^tUjTQ6^8*S5YR}e2{vQrF&DE z(zJB$vtH>&QBw;txnp&B#i4E{7*H4SG4JLLb+G}Yi*fH#uE$CSO;gK-j@7suHJvY0 zPL8I_kh+{6?<hlR41x9C^R@W=^BXD^W-uI7gbm?QtAfq_j4%0lO-7?#sd2;%&;0KU zYcRu_^0K=eOdNv=q6u#G1z~WnA6cXKXc=htt}q5?Yy8PmJ$52;oZKN8@zofEqdFw* zX85hfL}EPFV+$}j8Kcsle6sZq&`2E(e|ap^`^Wvzc9v(0ofU0sJZ+NJ?mN|XmfDsA zi!}0!H(HbJ8VWl{Ay;NfoMS3i?a&5`j~w1tj?BIb3xSQ+AvGc|e*TSHcjXA5H<@Rh z=@rQ$(ls_=z?(;`l_yfmrzlT-(fH?)U;GYU-s9yHT#V^LE6fSo-wf5ja&o_h_Sj!Q zI)MVjUIx(X6o4R-KLij6188;{5Aiyx=yfXk5(xj5Q)rMfMjQR<Xrm97Q5p~F2vt*r zl_Y^TaI%j7%}u|r!X%d4**0UE&W92}dZBVtYV;IBKUk4^%h0JzXOl=d(#s{xGx_6w z#hbWQVue4hVKUM~@;D18WK@Z>&`47yUZ7@&-v)0n$7Ec|1yDhjsZ%d8b}nqe+Vuo{ zx1@r@@0JXK6Y{wugo*L;?)O;B{&*g&sVF&Z{{eWbvdGQi{eJ>3mRS5d;-&Dl@G6z$ z$!NVZz%!eIzp~)vegVGXF5nTtUnc${9+6b3B9?YI3%qtN=vBqY^}q|>hSLD6RCD^n zGnkf4mv2B<sV)4o&tWepAAY8NW9vKzrK-};nftsx<U_gW#W}x1FCTtt;SUq%Lq6aP z#`NFt@UxEUun#}=1KEq#@)(0KBWR}5H#3jn&OgW_HjJtp4dK`TfQIJ*Tmoml3jlrs za2P-$`2!_EfBGU~Efc`FKLFGMu=O&4#sEtF6*f(?0sN(zAWuFnZuPA#*UUeVXD6o( zs!JZ~YPs6}gL3eZF>pRI9!*@!#Ye{Lfm`FBQ$;(eXteVJ6p8WQfJ2OLaz%}Q3_uo* zPb9Ax{yUPy@NTA%HT*3A@ibhF{y>$Z%Pp?<7yHLCA0ZQT*jV6#4}%L&+M?|F)-k~{ z-&sT+Ahz)LD7DYc!?!Q~O#CSvW5SmiqnlrVN2g#72C3{UT04bIK0ba2z9JFtJGzBT z%$gfO|2vUiFfJGaeDR~8UrBtVmt$rCFEGW_2!>OzV!4{s#4(`83Vtw9$OQYJvgWYK zx<k9$;lYQW#+W6@TkbjGA9U$Cc#D$ReFpDR<XJ42nA&Hs->b%t`I${qF+H%=GyO;T zw9&*MGGC3wj~YMcpT64sKhoX<ysBz>AKs_soRa`4gb*M=Fo{V>faE}Ep+tHS2nf<4 zG^GfH4$=_>3z7f|LZpff1r(_YL=;3&j0#AxM6rS(f><u?d*4}WpR<$ey}$c^zVkfU znVB_fX4b4(b+5g*@iTG0HrRJra`}S7@yWX{k^ZZE-wE3@5(ay7)DC$rr21TChQF!9 z0LmEN!;wwG064>7DRG7YaE8GS;O^sEhB`T5ZmwcVYuHEXB=!aiAsZ#;w;<79aZjkm zbe+6fC2`X4dPUP%&-McCh2XN7{3<4|BS(7-QXIioLk!o8noH{ZHI2}V?jsuU_ofGa zF*i}-j?_ajUKVfIvf<7siG-Kchp14iuZZKKBpx;kTR7jB?t4vOk2rgaINNB;>R2Zg zQ)4IMzXH&Ua7|DR0FB)MQUJUPAie<rIN#Y4|2>{?b-2IzAXN)x;4}VwdqRFkx->|b z$eQR1UR4t>OHE8AE;aG8)WmAw?v7fHSrf7za>8a5+Fn5?O3w@{OV)+!3yTwtjIgx` zop+?9MN+P<$f4TGJK~}J&{rN_Iw)SM>or@>yOQT6;F*tTg>=r7B^0XDwOwV7<-V*H zvyP=jl&Igsc;F%9SBC#bqRF_ymRoVRY0XDsP1Rsi|M3vE+}*%c_!mj8`$B+A_<thy zZ3P}iyY^@s(;(J&I^>C6@VeCaN5c0#_}IdgZek9J5~bB!CLCK%$XU}8820=u)eu!| zGzX9SpvCnlqFzj)1)y4P>NLjtCa6ccsxf=iU=<a#^8=OQUxs09mx-vShw4)3yk8Yh zsRnWa4Wzv0k_J*uBhp<aYec4Ojn8d_pL4_5LuPB`=7C+z2K_$I4P$RP7$r;WrP&x% zfq=q9)@b}YMrYrGFpl;Ow3d5VV*K#gP`|JRB5XB;)q3k9LVs~sN6qar0rr9JL7K{{ zrw=g=HyWR%!IQ(Dg~3yGI?iIq4@Wfim_agGbcB^fA1IYORjk6vLRC}KL_m8a+n>== zSe}N+A1IS_STE}2dsUKD!MmEqK4z5AaiYcF&$zzO$uh-meECTjJg6x>{H;z{>o<7u zUen+~P3hs;u&C@L!#70uzX9fWWe=RH@a%HoMoqpA-Z!)<os3>Zg|0#;AX$zo-FLqV z5%aM(-?XL~P^3DSK~34YYzD9DTn05wMmK+)xO6UqnzEaBhGG<Rg=j&n4tuml=%_vr zr@M4lBTZ*O**j~5u{~RuWRuhNu%?So;?92opY#dhApqMC;EFo`u@E?p#qzZ&NF*G! zgF|uOpc;Jv+c9baW@Gm}J|9l$FFfHxh8w;CK?SWKEaUbz$eAaCbI?j{1#8|m9Xv0H z4o*b5%8G{hK^$A31?~_n3q*t`47g}|RNmqA9`G>M(kLDFc@XPc8T9H~==2YQ9u|(i zekXuz0<QqbBd`X*VF01zcOD0J6PWWX0AB?9hsS%WD&nCiIMVBQ$($5m6<@?WFud%* ziDM1lhM?bT;v_M0IUZxNH%PJX5FfSGkLQ+0!4Mf6#Oyu59G92FVT$`aa3jRHX*c@$ z<$f4c1#V4^H06FMa<>r|xeBjWLCO74<jw@9<f_zjz;P!>`-W2<mtB`kkT*3V6P(0e zs?06ELY^rW#7HQ_JHzUAmal<l!$@1fg?*^EbX1V0#z&#M=Q9TyKM1@mZZ+1+c2?_$ zPt#UJ=rhmgA*u((TvdMchB#M%ELD!IY&CPh>)`DPjc){AmM^B!qTgq_R&{stAmak? zZc|$X{k!ZHb|rVYyyYVxSK&&oQE$0?Z;(=zmgV-svxZ1T3+|`w<@VH07>eEp$9H<y zQP$hP(OzPhoRnmQ%5lACVYq+O$!tSr57~Mw)=W?;jVodEHN-%}G%2?@*0&#yW$8d= zg9wdAGzRxpHDi^Nl-V1>6(LMDbo%GotG0sA{bCfyT!<+<!th0ks%yX;JTj#5s7k=w z=0ItMG}<+g_`oEjN2PJi^b&AaH;WOjr#0e?#`oAZX{7(th_B<86eD5uDKz-E>aZl+ zq<r2&vwVvB6-3jpeRb%A-c?M)6y7q%G;Dtz8g`qw7<Qlz4ck){hAp~;AjfZgMTe2O zMkBOk-~n+v#y-~v7M|2EEIh6stto$5Q=FGAaw}?ta(DUVW+q$6$2B?KaMiP9bq%v3 zQGEhcnb=(;6pHxZAf3<!OI+Uy@mR5Vtou8r#}sv8HRZ8q#bd2vO^+!&wT9`jRpPN9 ziHpZpi^n$H6>fxt-Le~dQ4wX?H*c!*JXTKq<KW37+R}dTWa>Ff(OjE<Rlbmvw>3hu z4Ob;gQf3`X(pS)+O66*7<>_SMv7>OBr?-X2HP?b<uCrvQt24mKyRELQ*;o11>dM;N z;mV2P$~=_VR`BRS)0K+41%+ntO%_)+Nibch@QAxjS56UE784g&P8C;fNrcPVT~UsC zGYY{sKqEBbi$KX9v+$%ASa@77T2ppgQ{J<rWS+C6)I%AR$1*Qj$Q?Bqe)-Fi)s?0F z!mh)$R3kJt@%%q{Y{5`?th0EmP(0S)km)f+osnevBwKv4JlXU~SMf=5O?XtMK;6Wr z`-#KD3cD`_!FL6Mx4)}{ufGJ}Y0&LMep8-o6Ynr8BOQh0Y%X(#rqikEijKW_`*I6= z`vALrou;#lgDmt{HJuSW%|hR;>Fho71N7A6nohOusr^)R(Kc<D5t4fwoB8kQf;=Dv zsga6;gj@|2<h+*1+esOkPRnjs==W$kEh`UsR6zbtnoi470`$xrO{Zlo6rKCj<20Ez z_R;J!A?7hnr`qur`ZJnNwU1lq8#SG3H(2QXEI!z4p|8|*%Ky|t-=yi3e<473zoF@r z&!WOce6d|CWtpN7b4WlXyPTSr(VKX$M##f-_Ljke5wIx|u*MxW@y8FF0jsDRQ6mh% zS`v<b)k3(+z^Cx*wasv@E#drl9W$KkNI3h_(8MFI1?n@kx<+V(tG^}1HO`7WVMW$k zkzH2g6AO}gNh1_p8O6{(_{+kR>iS*TLY~ZU3(`?%z*tvJlNkuEBid<1GH+TuI3tk3 z-ajxV83|=jAwIXbG)-K3=6%zpiuyjBLYI2QrOSP$OBFt|uIbWXacRSPrb|P_rPqLm z<UsHUh?N1Tsx+M~8F2Mi+VuA2VeM6ou&gz~tm@olzph*$Jk>Qqp3VWDP8J?lz6HVF zq(w#QdW(w8w=J?(X<6w;>Uj&<b@v|@<(;(OsQg$!IX~sZAA{CNcxxTp`AO|Dm;qr^ z8xdOJnCVVMZCPKr^RwEV0bOcfx>Ml|8kz1qQJXWMW{pjEo~+Fo&}YP3?#EQ^l%$`{ z1l}NkPiz8rr$KS{QSI(uYID4IHA7FeMwjL&W^s#;sGbL1u6>K9w}`|CfGzaBn*Jd8 z_XX&gr!<|8IHBn5k(&RhoJH}!Xm*}Z$kud<cYdJMl0Hb&DL%$RUv808Pt$Rh#J<TQ z=Uxkar$x?C3;kD%oEe%v19FVNl%2F^xrH9C>9prn3q42ES+4gqojvV1i<~bk^m!IJ zzX#}<r!4Ukg6dHLZtp!n#Sg{DDY6_!9jWOwGc!PUPuFys2@!J4Cd9BgjPqud7uV+U z+t(abe#cU^bF>gvd8oxVD+Bb@6isK<+TXPlaGz%4NcEY;AtwX$)GM0K%tmSl3zm7y zQg%05gl^nXx-6>gG{h><_ky&YT$IOF@XLp0+fme~P$YImFG<_klZDuq-d*9T_W*C3 z0~s$%+c-g7CUCDv+gZ{AxU`+klHR{1+R8d8S`0PPHSL$SlGh53d+l!(B=qtgWw0E# z*{|uWl}{}6o0`sA{Mkb9_pg8)8}zWoSOLQ|opLG#=$VC@P9LTzI@{JUO{VyE0d{-E zfhu@tW{##aHj^}+;-?1aZhm=<Kgyvg9F0@I*S1rqYo$d~>K2PNnb$1HF~4c9cP(|8 z__szVO4YHEumle_`DRMBhS^!IUmiEBRZ;K2;jGr#Qmq@?nANKA<hEwD&XH>Sj<{6o zT&dPK+L_flPtr%XN3~`_(NL(7YJFO&wOa>N>+~CeJ}U1cRUHiJCp4Y@ddWiHsOj`? zp@m-OW<btqO=q9hMAIqfiiO@)(<#RTyXbrHXHL>|`m4I4v%1Gxs;NPM-9E=stz80i z_p_Q#@mjQz`mVNJs`ZAYAgN_6S~FuT$OgX&u2~j~Q<qqHTyJY-GE4L1sDQFocmlTx z>(}PZ>~&J%-9I)fyuO6NYE*?<HZ+tfFWV9LRKwS(cE%9AW&)V~oT<Kz!)S!;EY$?e zcK)!?T@|%*=|18X6k=E$m%?Gwwij8Vt{xHs$Kt3v0oWsb!~|jVe2;I?_$H=sZ1r3W z!19$(-=q|d(cwcz=VH+){6^gT%Glz#Ra3MCe`;#ERWqPP!JbojkX%k_`N9H=#!!n! z4R?AO)`p2j&-&kySHa2>1xL3p!pB3zoNmgT=!K-@rW?LaDcqI~&-D@HR-(Kj*CY=S z4h{?9Lxe*%Xrm9AxjO`McSxz=&#lSK-66%FTY*Nj;}fmBxl%~o&6Ob8)750=ZXU?3 zKqLAdGk0bnw+1D*hM7AvkXwO9^lUSCgFx;E7Rxo6xf=v>E6|AEXXZ{-S!j8x#d1w% z?$khT1sc&e%-qR=+{qT7Ycg{u2XZSApBRz)i&gb!WVGX;mo8^zilni;a1xD$FWS)5 zX=o0?d_#=J%Xh|&KO71I${@T7)Wb*be02rKmkfRNL|n~mY?ia>O}M2xE5qS1eA%hL zAZmlgfxZ9?LBjx4>WZy#raET=TMf+l7=RJo06YyK_&xyZ0rV&E8i4Ns*uT|sci;if zFCo-yqu<_9`bfti1-8XGw-qUeCiF-hk1_^*4!Wm1OgIK$a1WTkROfkMj-Jr-D}c_u z0o(x4tq%Y<!Zo8WfbsyY5U36ysULt801p6&VC7^v9mZRq;i%wEAVd1Y)XEl<Rv|^1 ziko=lW*9RK{-q}2aoqBT`=tI<6pjCfbR&XMKL-karveX<SE0aJ9>BK%;;R9`M>1;S zU-SSZWB}+4z=&Yb6(VDu6UcZF$b6=M1mGhArvXF_1n?bzfdqa9@H7A;f^FprvJPj~ zHb9Osy(@so9O&!^06K@`Uw`1v2>@OIU_>;4TVh=fV-Yhp0rD%zO`6;FIqL{^AK6HM zm+4Oei5P_ZD*&`3umQj<0$TvQNnj5EV=zUtFPej_x0$swkoq7ydjoigz)%1i2;>4d zO<+2J_#w>7Zf6^^HbNLUj{@lfvhyT>JOaf44ioqVz)b>w0`Lt*))cn;Vq|sB2QUjH z=Mn&K5?BS`0)ZC*#0~@SI)M8D;OA;~TmH*3&E9R08nrlZtb`E=2S<K8ocef7C&;Of zgl@PG;`>1Q`mi9*T<V>|p(;Ly3o1MO4G<pOv<uqm2Q@i_WIuqpNN3&|J64n3vHd~B z-X$%QcMU=yKyEM<n>UzTH3kQ4aZl8U|GY%(MSVKOh>OQ#IKJWp8F@}Xj(iyb1Q~gr z{{@NPD42IseBUN;>{7Sy&I=rMdM@bSi2zUbLooUW1qT;_{-c5iE(ZKlf{ce{%A?cy zS;2f~y6=L>!9g_NMS(nN13>*nV52RalO=AN{W+R<YoKqU{6Sp-)E@z$KY(r{0gM1} zZ4`h>0Nx*snwksX&oKZN12{bvz_S4M<O0|PVBt6buLBr99>6{T?I!?uAHZ$^t|<-` z&}_7>9z!e+U1C94%lL+kVZ>dbhn9I+MYhLI!<7%eDFkulysuFxl^FF^3|z2GzJL%l zWEkknz4X7DLOi2jnTxLQ(q(F}UMc*ZL%)Jw!O_j2MBZiZ+v(-tTrpg3ChigwJaQv( zmzPJHJaV&7!T7wmZ<mrKHxCsRnU$nByd0>tr0o_-+r5YHHzg^UlD1nUDJlxmcsLFa z`i@KH>O+;^dfC`u;F*GZ&Z6%Z*BtlKHSUSwMgvxEs%Fhab^D6ED{XIrXj^G}3IFg0 zQe3BjH7F0jdjLYo=PU$Pe-f(gLjbc0oCa`&z;^(`Cx;tV=%-h;@cWb*#;h~wC7L54 z2ONz${sV{eUJxHas<Rh>ZwL$pkU9lGE`Tls9tJQT0FJd^fjZYPRa(qd<@X)6Tt~vw z;Avz7b7>Bz9mL%fRSrPZQ~;F$3?gthfcXT{0Bi=J-x@kVYcWr8_}=n{!KsnQ!4i3$ zm*{C=cHOJX%nr%5NF#EBsz4*Wh0jq7I~e$7WdDeIt15Saw@I6O@=J70yg^-6?yP4* zZ16Md5Y>w5@rQw*XoP64Ch7JW!0(+5A=N}k*O|bdNC#eB@DFB%V+J{Xyy2@M_wU21 z<DsUfhgKEs#jN&rL1Vu_Gam(dr8%hVfdCd0xDP<+TmWqW+$4|*;InxE(g2)#1OY(_ z&MClNn-8Zw0^rC3080RzeH6fI052`n2PndZDYa<1^7Fmr8gLFyY`Q2MZ&aL$t1C*g z$O~5@%HgS<TsO}6fy-GQ$Zz0rRtK=~F#st5T0D+pjtu}f@4;mlFeBor>vm%uvK2Ag zG9ZgUcCH0b?Fj&z0h}SQ3&34Z0(b|&F#txyaX`h$8UmL%KLZlE80lXF7*F6LfFc5a z0%-FT02{O(24F<Ih@ysh9C#`aSziTmlj*ww_?7^87r=A?Mx)Ni^1_2EYAb73IJ<y& z2+8g@bjo-%ea6Yd9B1rUdgEtbtShcdlOSUu^yomc|NMXwcMENPt%d%(g}zJExx9_k zN;s6A5;|^xuQP`z`*=(84KulyPUh37Txu`TOdR4WBWPtfJa67aw|}ma*%Ew`EHQ7t zX`y$}beeS6a8(2zz{*v0Z^;vi@i>RrTyy!y)fcYEYZu17ic`<NDh?S}Ux9>J8Q`lp z*y9;(*{*U>J+^{h0R=sW%TMsPeSnroS9}Aa6yuIrjMULOS(c_5^&ddPio2U5a-PU~ z<13!d#wiC-spru=G{4|m;EEUgFXA$eCrGZ5`Iz*}vgmHXzW^RA<9XuUG`#atm=yDX zY9};#G!(Fwx!06xp)b&M)P%d8rgPv{ybKvRvnc1>x?y{WPY=V*M#eiUVO&2M<qD+; zZx*u%q_F^nFd(>X4*HvZ-gNLcTW&7#2gtZ{6u7(s$2U-9jDH&ViuLe(j`05uJmd-l zkNFzAHZnMllaaFE88FHKIZlSPUMqmhAgS>3E1?L(+c;6v9+)~2qf#FNjtz0I!#M1h zJ6}e-4dfKL^F{8sXHB^ZZ@x;&oiB110aJ2S>So}$B?!6I;09&y43YagIYsUa8PK<_ zHsvaORDqH^L*%XprsS&BBft&&>$+mt=Qo6WR1S_LrpFuh%m-B!Go_n91;<NM-_!vo zXM6TrqAxXZglZvjA}muQYzQkw09tUx+qyBh2U?OPqSMSIBW~Uf)Yjs72C;3>H)tml zu)tj$&)ScjfCaPy<*fw1r-V(-K9>lrW}kWSGJTT0k);Zjy%7z6`xb(1S-i|XH{)x4 zCM<g+%SDdb8_}?=dligzHBL7?A1@mlM%?H}A*ru}#yVaVV~NIf#a56+X<upY>Tq#C zVT)z{eh%hWw)Phmqv_K%?S{y?1v&D~tiH85!IBSU^{qp&9zT@TS8kBWD|h<Jxtr!} zunMfs?`!py%`T(qnn5-tu=BTmft>qkfdv2G1jb`?ODtR)5cnjzbS;qJ|C_)VoWU1? zSNsC&2a4PvP~-;WQble^P!(A~Rpk1l8ckn|!UvK7Iqo@c7P)?)$PEHT{$B+)nxu=o zG$1fg<OYEv|BnLOvOC*`_G~Ng{DOY|5YXFbj6p>J7On+w4#0Ek0Q?9ba|3{D0PcAa zWAq&W#V-R0L4^FV89+q<YhDEq2VnVY0O|lZw-rDpfFZAA_R$tVNHJ7i`5q&GcVMC0 zF~4Th`f0do=7qtSXl;rQS_|5jNDNvIVEzsOivSGU319|*HoE|f2QX$gwtUVGv>A>O zT0jT{<T^h64n?{NdeR<nUIQ?Wzy$z%0fZKU%{wB;W_ZWrk}@5aVv^<%dkmM@GQjZB zJHtJ5l<G}>ll>9((r46g*vJQM#$~NF2i(4)j%FxV(37Ay*$ZWl02oi;VE``y2ql~I z8DP%0;Fq-ko(13@HB#BGG?*_b<5Rv}WhgSjUIuF!&9#oY9&kKIUB^KG7eoXd1kmzr z0DAyD2_Teg&Xd4S0xNU3&dgDd<6U<d@3eUPZe7GJDDOLv8{m@HxpNBc`bG29#y1z; z_J@>DCZl2h12eqCE@-^=PBAUs6~FQaSo{O%>HA>lIRK9mC<5>?fkObI_lFy4djW(p zllM13Iq7(zmQ_?=UnDa|GE*coL=M5Fo#cpo7NGlzHt!&2AuOwuLO=R!{ptejWCyZW z+Zk3Cc770_^&{*&1Nvpi3OWv;<pBWi0(g?ZZU8?4NP7)HC^LD#1C+yNWEIu7aU?TF zGE*coM7AlUoy-xr1fcs-J^1`LJFz2!UsZM^CpCLZAz|k6Nqm`~VC!_GeFu3#xd0ly z17H|{egygeSPCGm3xJr?0=$ocIx!M<pV6Y5YtgX%D6&Of;wA1NE`52Kg-c9n-pKW! zy6<QS34{N$&vjYY$3~A-5!BW!%klWrEK5yT^atbxRR_@VT>y~)#t`rVcpgC7ZRC$B zEx?<B<cYB;ORN@cDa#kg7I}x4jQ4OE%}X9GF{ODUw}a|#qb2M?tpBI@QDq6^5IIn@ zXEA=>j$i&W%FzHedJe(rQ~>=6)Bx}TfhYi907we~5Xwy67Jw!;MVyZ;ZM!cr@-U3; z&&x7ij`4CCmzdJLk>T&d_PqbW_H=Q2RmT3yn!SZt569yBUC{CW0OU#hzeRxY{}lno zf8-Gz|1qTnNL!f5wop0+F-1X<6cR}Rk@w=#?%yOtjs@BMsW$BYZX02oRWx}>#ZxZp z;6QxzMU-I?=<h*R&`bc8J^(Ntz+eIo0$2$ktsj6;X7VlrG_gJEprsb&j~`!T5m+ND z9mS;!FAI5j1(%r8ypbP)>K>sb{I|BC>wx{_Q<~jh2Ycd+X+QhQyN<zH_LWlzu&;cL z0Q<`G0Hm*sDJ?+y&57(cOQ)dkq@YL&iKKwYDj%{AO7lfF1KGVx8}{GoK$XLFKsSFr z<KwP1T2%%YeH<Rt%Nno(Gjb2%K2P5&GBe7}!cMOVzmG|!h8zFNmDe8GWPMOe>ZQZe zR$yE*7m|Bq^LH5xRSU_zf>-&-Tu8np5;g)?3(2<yPdRQbB=^Y%@OI$#N3<F)BzOK| zE)KDDx6qGkI*O6FRns|#LIL#?hL(rSu=WSmjnBnjv%&brp{p>tA14+Z(3wyAw;c~$ zHp?_l%8>c7S*G!VFC;FD;|U_+GvKOB69u1BghiDs4JHd-_Y>f<<d`C5+(}%P9SXO7 z3S5>RQ)RO|p13SO6n=uZEJ3D;ye~fkF1KhE-sD8MagRJZ^+tmID~pe=UQ)i}KE*W) zJs1U4fneAVjtK-uil2^d7GFa5+^LKsJenZ}qjy(f;M<$wO3T+JjT&{wDlrrO6NkNn z=3q!Zp%tO>?2|No(GZ*Q`hUvpnxVNe5wJ$a18<@FmdZn1>(E&s41dK=u{@c#R37zu z4=!=7(s_6@#r3jAWJ9EJ#NQaN*MxDg^_EU}&L7h&{leCWuz@F0-~0PQ<r-0W0=PN> zvM!8E#j&S=x6OgX^<i9IE(Pv7VO4(BqTF2}SGnpR_JU@%dB<ifscp-@f|nLtn~wLq z*FJm}3!LUZk<4eE>W!ZXP>xI1OKL+<s0sK^!V+2Z)oXp)4<<YZFr5qJdcR*K$cA2z z&o?dc@!mu9BhXWwmM`i2{8+qCfwvNtbYYpI+ajqhmZVFv>7=^Y*<F&&JaxIKT$0TN zjuHKkpJ{d<lZm$%G!vIqMnxrMsGos%4M475b{zCJQ0wK47ly*Uf6EHHNNRM~b<`+b z;QLoReXs*g4Nk}DIo}Q8+VMGXI>UEUwg6_F25!e8UEeK9pK%6w=xyM))w=yG@bCB> z=^eq}2Ht(-QluLRe1U{L-{?+%`E1h0?fIVW@*tQ!L2jhwhdKBmTVG{qf&I>*#_4EZ z6~SwL0elbMCg6*a7QW#t;N>2Mu~h}H`89A>qAynX`xXOd_4#TD9`%j6TXmP<Uwn&n z)~PQ}@QU97KTYG~1wZpW@Z=2ONeP)xpxgcdIIGxKGhxUn!&vY$)?xJEH_iw;n~$y= zzGexvuHxRdJnr*%{JThQdx3*ykm89IM!b`swSHF*1i@M)V^Yrc(8Q&fvMA_*gm155 zK)eb1L9hh<24KKN06zeDhQK)h)qcT%SOg&G5H3f61?>ee=MsRe09suJ@H~K<03zH7 zrEL)YC?q?}04e+xi?WIUCSJjf8Ae)VZD^D>v^rTwBcTW!&M5${1DMFSHdNKD<u&V) z?8vm=Fuam8l3eZ-&7t4PfKQiTeW%|CROK$nx_g{zrg2(CcWO&S!h;axOb4)@Kqi3C z0T_+gV%qCWY6Xe6e%%XV*{k5YA3$3IIRIt?z}7pPUop!397WFuvYmAM67B2$*js-G zN&Y#nBj3Xh+~S0myU@bpPnVIs7k9Z;rM+p^Y$z(NeZpg?ajCRZP$QLA{~7?PGy<%& zy#!ckqpt&C#RdP#c?|%mw1<I7rCk6Zl{N>$V<1^7t<7I3AuFxo-$-Vq6(V`Z@4BLL zK=rbsa#%^1+$yH7fCUw_0Ev<0Xy<l$R7#+7P$a39MY*b0D(PCeK+&v~myl6v<y!)* zmFRz&wX$AkDp4z)ku0^chyZJ4KQpLWiN*7|by+CZ%I~DxXK8C$D}#_!((B!v`Rn)! ztzPm1GsB%ZUfD@*Kc~O`I1!OM!S+XWz;IYvFH+@1t$VkH&M6IQ9@Dj#N27nPz+T)| z+rx%G&la=UZg9}afyK6hn}6zFvvp59d(DbB(CbBP#p^zL+L=~BoV{l2Uh*7bgPXw9 z@FsZR6#Fvq@uPwFmh?WifS>G)x8e7e^uK|3Uscv_wC-bP&&^)5&LSlDwV%I$_cfr` zEO!*CeeJXfpE&YN`T?muC9{LwbL#;DKYANIR@)rl1MOS?uo+eE0O#=2I>#Q@)i8zv zFFW37JxI7e0~V5p65jX&&1s_1dWn$h;H*q&5y)kS7_IZgpeI0bFV)WXkFZVsyU0dJ zY&f1qf-5LyoQP>_gP3fPDQ1F*nF$i?e?`Y3$K#I3W6qwt>iZL%zufIrvDyqfB*TOU zv0&i4fA&{&3Ufd9A99BT2Xb#LkvmzZNG~8MR;~G#)YB>-x&_x6OW3)yCa4&sW#~4P zRYq;kinR=!mTlD@YaR-2E9mz(0!ISngpKgqa6oYV>j;Ds@;;r~II<Ibwh!v(q>UB- z98Nq0-;Yyaz!^As7-)iL4@7;Q65NCSDfl8*5gP9aynFkzz(1Gw@Aw1fbK793W8kcL z1*xZP!vzhK(HE#1eWN`gwITb2yeQw%=ma>=ik?I0;v8*>pA&o`T4_ijiqsim%DsxI zPU~tqQd`-VhbU*WLQ;^9>Xh#b@Y0nRbggKbAy^|^v-OU_iXp~uuPzhF^iLTKJe5~Y zvB=}>wLMS3zqLJ=*6_Lp*No@`m<b$~kvlAc-Y&Xft}qVEY-1<ltUUMs4=2#M3<|Zt zcwaJYgxzX^q3{YYN!@)rBGZffvUCC(lkceD7h#V&lXpxh<(}?7ZDbZK@O_@J5hlpK z?t;(=wXeH73;_3aZ-)cmzHW>10JyJv5P<BkUeZEx@Wc#uSeO3`Lb$`47YR=8u%02n z9oF#`(5T2JJFMRTlO5KI(P*DBP{5zL!-|`P7_qpkng?U}yF&R7IDVvj?y7D?wjl1R zx+($Su4*QLP_oIc>NsF!3Qz$4*h-a1ZbhHb)Epd%##VHHmYZAA#gxRY=q8l`a4UKx zfKalP+KMhDX%04HWh>gK08F-`PfS$p%iM~dDcZ53(Z%Eb?R2P9_Hg?c{e>%Er^?Q) zF-eIqcW(J&NBwb}1TCGN*g=tkJ7xac#;z=#EbEz!eNS`lm&BHs1^a9TKiounmIYDG zBrX6dS206Maa|@Z4=*VEU<`0}?7oyFhTz9l5mMvlKx!?Ky0Kb>VNV>TMo`|y?+gVj z7`wm;n$C`9s-MnbPwkqsRJ@sM*n8>nvQR68vqYgr>tq(n{<KDTXZ@&>>MeO^JuL~} zT(wAqMz5pTJPu%Fe1<6SEtHe4x#E@I?!YT@wsm0&y%Js>rIxd;3LhSeIOloMD-kM` z)*+j3Y06gQlk=igYamv5Ueve?vBFe2FY1Xyc=NpI&+!0wUi9_50r0$NQ6d1I7hRJC zfagVHlL7F&=mr3CUUUwgWxRX~vkjgXeX=Gz{TLb?e>_n35mMl37v7r`$BwGpWMhKC zKl8}w_ZDWRtJKM6x;ipi2px&Hp@T<8PeO+r8LgHQQR2wxgTUp;=yL$nkx>H=P7Y>9 z9vS_N={z#(O$ERsqs<BM$mk>jJTkf&fI9h^hOG0Ll_x)Mg4`r{vWj;@PJZSfeIL_# z^0Rs^<mbuH9t3#u^9cex`S}h3p8PCZo1%I0GY?t+Vpg8~YzeZQ{G3LBCqK6m$OZ5{ z0iOI!ufwc7zFCN@by1;mg!4g=<p}3<1bBq=GXgxq=}iN`Bb?0v80rixvOdJDJOld# z(|HE=1OV$9*sAGB;2GHa02qyU+O+2sRqiUPi%_RdA0r=6ogM%X&r_#3M9VX$*O|aG zr)_)?fIed!dR6|UU7XcE<jIe7Fh-(2_7{Cl(|t!LlNVv*$nS-jW2dSI5$(TnQWnc+ zGztb79>X_$B53aoGmKf#b61OMWZ~rNBcgoyUig)DLk%OQZiG>3QX$Z*Y&6q}u71z1 z(f5G5-Zc$GJ2fua!k)4j*`lYn&0_?I)xw8Z#>;`0vh~p7Y8Kf{d^Yg#A!CU;vY|f! zI%;6^VAMp(^&7a#PQ+sn8js8XKEfC^N$#8vBR0mw3V?;of%3bdT0TxRYPtwHfP~OO zBslmT7)|ul2k{DtC)1%$adrg}Kl@?budy?225Ick(2KbfA5#4woyh*0$5i;ud7Mmc zmx!V*a^NhY$B1QN7D>6Hq{xfJ4v)Cwae>wA>qjjW1l9CP58QO<K`+NvVl`zsJlJ!- z4<Dry;wl&>UxrlZ&p<2fX@o32nWbZc2&38y(Lj6Amv|pgwV&$Rjgh^Xh&S=~dt@gB z4cek(u_c99sh}b&8|p?5yk>{XsBY9ovFLqBtRyl-y`v#eQP6`58Uby<3O0qzfsj!z zIfBN4HWrCN4*=K%Ae1T2nZV8gtMV9tiCVEzZy2vbwexW#+y+OPM|CPk7@jz^Cust! z;sda<Dlqi8O);t}_>2xx921JAUO4*5p)X4CY6<*ofe$5T+qh=yF0H4BULT+`y^cA1 z)%#YMmme|c1=ks_x3t$}j@LSDCL&1r$d>WtR1BLJWtiC}wHD_@(97U^QHGfsjWB<c z(^eN#xYzVCaP|DrrIdcKZAxQw`9<2k(1KWFv$9WyOmCEO5r=}0HC;+6VaGKA9?#Rp zk>`@|Fi;tqNOgU$Q`sZ9VyCK}s8uG$1D{47#7lFOKjhVXJhc}$-hoKop^l|>M1i9C z=2Q?EOgMr)YL_~m(rGmKMt((Vu@rv3%M4i|{(!Ri291AE^JHY2AzREWD}Yv`;E~^` zAk9`m`corqSxbt$PrD$jGJ^Dn4xp$Y9qwkPKPggVh{C!}Fov@R%v`z1HENVQ0oj7; zfj$BZp(Hx9fUO1Qo~9La(*9-08TPfB$~W{jL2h`6YphcivSIJ2u^k7U#$?6h537-Z zu;SapTy1orR18h&h8R*su*HRK1Jc{MhZ1;E-tH~$Knh2{*H@CTpxC(z?*hyRN0#n{ z8qrq#Yz4L;lyC!*eny#`TL5G<Md5NZqggmK8zXM-VN~Wk5pT;tKBZ3)sBgaL^YCqH zqZT+hZWx_*AkWBm>GDE&&sH$rZPv69dqJ71X+d8E`nXMcr$fx6>-lhrdj4pRHm)Uw zZP&;Z*7LE3ps0H8CH3rWX4bRF9|yDni)_s`s;@gJ0yHLuQjD`2u#bQ_lK><)M?-r{ zYoQY(p@V%4yOM#rb~vs|uaKq3RJJ2J4I!~v=VfgVReAljJ*8A_k1SE!msX=!RRys% zoq?}H(+{?7kfB^ZRm$j*&R4;#hUsnwgVAXlw%bSk%`9nE==yP9)Ad3egmNj@3%U)c z8W(ObOGK90$Zl%q*OHOIVVk8*44Vx*Dpph-O%61SwAmU!MbKi<$0K_viQZ>{c{kw_ zM&FtIc}N;H(;ZHJM&C>1C((Nzn7xS>%kX=|<9D}xfQ7!=LZ4%yZ@19bSm?(r^tUba z^A`Fk3;jlb?*79<*Hw>-jgD4@=X0b<D2Z<C%`Iebh3LGj{vnFXU;R&%s{Xb*t2FkE zG9P0pa#~(dQ3%)A3g!f3jF7GP({eZGD|k(<;m-<J_C3Jm(T;QSB8vmS%i_tGFXWWp zJuQ%Wbri;(FY9o*7S$4gy+Lc-g!SqrWgX+z^_ix7uv~Fnup&0Bf%%h^7z<(_rV+|& z1XJlLOnqD%b;L-Hk2NCG(u&j6z`~c?j#oLnjuqM|hU+e!%#23Tyb4%Z2FcsR^0cOk zVhQ`PGk(`7j`1wqD$T~oKc>XP^*xN#7j*(_&S*9apH;?38`)u95kC(pqx}pjUv<41 z!sNS38n4<4c>Vp7i|I>%m*s;8F<sm<VC7f9Lt<kP;vsrE8FRk~N^Bir#H`n)iqgi* zEK)P{2LtwUvXS>if8L&wcMkJD@{f5H!%mfV4)UJ&=j|nV&oFO~f6S{GLfcTUJ$$s9 zq(1hD%kaPntU=3nBjCKQhJCVT;wQj+XeK$3=5@Rph-a@Or=NdL<d{$hS-q^Z-i`@J z5F5?4Q49y8LrbhH@}wdht01}gpg};{|1=*wSVMI|@-ne5D8U3Uz}-6<r`}m>+faC0 zL7lSbRwe-Tp;$pP0aR~`-h3f|A_92;_O(NRBw_c4KhA-E2T{t)*&r6q-QzHBAGDZf z|IUI`h6->y@`vN3e)hvEj44LB45MX#ylF8ZP8J)s<KT|PQUv%p+@6%zr~_un<TdIE z@eV$D9@PMk<pFMixkS{I47{2p-oab7m^vlg?dS(XJ$xB^LZZOoBc>V&Nut2>$8#Vn zID8oNBs(6&6dz!k30IW&vM1atS>Y}Es93xe69#W(0UgsG-s%V-y(56006ruz1i<1> z0LB97+y(xd4j{BEfCT`K0`TSoa2DW_)D7g90PG{M9YAV#%&nfu!a+&x?69g1BO$|4 zIn=|>NxLY#2eu#Y!Co=&CMbR=xynw!eOB3`t%u~YEN_;eJ%Ls*<+-E^4dab+9>ep* zX*i;-?PcgQD#T#Jia+dd$?t@pqpNMJaC{k~IN*Hw{o&_mY1>GSm_52~D{BsiXt>w5 z1E~+g4E#cJVC#=4j<XQueGWt^?;x$cnC0!___RcM58Pj>yyOb^m)BC(#XZrP<W+MR zOCdm&Pumt!1nNtEsxEa%SapZ7-%r&g4b1^n<yN-CZue|mdbS({Jv(cBV*<N){E>JE zVst`ch3P8DD^HSFF0&&=5{EK){0g!rydkle2Sv7mLlGXMJR|-MiTI3OSk3U`0l*pc zMZkmk0fB_=68WQg1DELEF45n#FK}rA+oc6G>@Oo(!VU@FzXo6=la{bk@WTUjbnFrf z?#f|z4Bfk>74%XlT7tsM57HIHojm>uVR6DC$F6V{kg6E-z@-B64Hb~&3Iya=NVZf` z<G~0>Q=S=2Z6Q#Fi>k0(Fc}r*YOQA2j`nk@3S1^!&uDMMSMpot=Ta5AlUy<1l;W}m z=NWP!IKyHc#uKOw2fxdZa7r9@6KN8oA8KRrz?5*tF&TVplgb5khn8{yx&ARm&w(=} zwuZx~4*?}(GzZjs{ZunX*MU0NPc>t-7}U}+x+zvwk{P31X4%Ko2oN_y3}X}t?n9cc zV^r3&YD2l3x_6rJ;s%`LdRiVQ47-bgdZ0YUdd{FVHFp?qtC-jUU}eXSA8IsS8Po=v z2S13&;{vDgv+~Gc;_wI~b;4cB8m{?LpS2=ySP=U~jSR$RZU;gujP^RRiqs%!*vn!+ zm_IHhW|_%3<`!LQ(;2GyQHlLNjga>hlXs=b>mH<&^>&`z*yuDo$Zm9$xqX%tyh%kY z2RNBj#BWg&*(OqG`iKal)gYteEw)xi{<>MM2K$kfv+9f=VsyOC3DYw0h2%n@JIZ5} zdtf8PRkYp2Yoi_cb7q$tO*~rT+h&DPXWke!$0$Okjty<+BRxi?BiM54DBpzH33-(c z`q9fk>p=4jeoEo)kw9RRAnk#KQbsl2k?6Rq3q<3~HM1&ltG?sz9zaKfr4o1QJMJO6 zo7qPg9ryB%N2O6n<9WM|Z;b~!6e!{<TieD@cN-N{T*>Vftl{l5EQwWhBIiB03uxFK zV^yj6G4KpYRL`-MvCundI_B5*L%NE{Kg`1agQoLl$9$#4>ll71fsui1zgn^tShBfh zs_0<0xBfj_Ih{;xpINe1w9qeVI;?Z|)O7!{HrlknkUHF=OO+OfIt;VDh`P7b;THNf zP=_~w`s=XTLzX)14kVN^O4Q+;*_Jw-0v1ahzQgQh9abG(q7J76g^N78nz(0o4u)}- zX71VT2+U6z)7Y(Z<gc7%*emGra6Rz1%HzRN#@KjI?A?azRZDYneX0>I(OiSIpV-jc zuV{pIAZ`1!*&vPFMWYau+t^@ivpudyFgGi(wL?tS_B@E|Y@25nl6v$7TwoiFYup}u z#QeVMa@*Us8HA_<iooSYbO8wRHQf7B<WoHQ+qm~7D$Hm*8Vq^xtF542G$wbmfS!hT zDjd@$hCv&DSCQacf=lBu*g!p}Q_U%Cg<GZAt3z1)b6~gKSElSN6>%oB>wsn!Uzj=l z0kp^;Kp8>Tu&kXVFMcT$8~0VkTtT)vC&^1-`okD?9$4Y^a?$Ckv#^pYW;}3p7FO`o ziNMuaSoxUKLz953v#^3sm<(K<g-vDKZ#WgWItwfKQ`3OU+1rOj-b2$dI`SOxJl!Q< zftkMfsjVu(mwcGkIRk5lqLe^?T^lJ<<^G3h-Tk$HbRVpSpOCD0EVC<PkmZg0rKwzo z{|#aC099nX5*V8RZOc;SM*ID<G4JLBROFHy?Z@W;;Enbg^8oNh`=Li*E+1v`X#rt( zL%>jn1A62}d)Ecv<c;=Sj{@M0_JIr0@W>`N+TDvVRp+Bji=M#N-)$}BH@%oqpDLWd zaFNHfVsV#}zirf#>zGC@yf>cqB!u(c_#pzkH{NzJw2-aTy>TNEq&YeI-gp`@xi`L8 zdsJyw(@`jDz<c7))Kpq?!R;I62r2^Y3&;<8A3(>a0PF|wB7jh`c+>G%leaN0DJ^j+ zB&i*-uDDzwc0T}j#ac?Lsgbv1<QK-1_kZe=rX@k=n$*ixFv7??MJ7quBrieO@F7YB zGsEf(@Ujyo4JOW~4d><|ozGC}^e*{KpE%x3{~mZKW!KFeJHhB%hB9(^PTxpWRuv(w zZ$yv{HM4jrO85uTY|8*#0`M?_?*RNv;2eNi%K>}};4*+vX7<JphZpd5D8pNym*%{* z<E1MveQ-$`f=hNXcpoBZ5-#$q%12r1%~oyPJkID_pSm%oq!ao-UD642ftya?QQqg7 zZgIl<lCGS<^b5daO6##W#NA!npdRGmogHqi@^LWUrQw|x?;V@1w+(mVjH-P0V@heG zpHJ<D4#rw@WuGZ&bUJX;XdY7T&UA~>QzTs(&Gc2kV@m6>8off>pq?K2??&5~C8_G> zA@^KZ${uwV2C`o?osVEF61p@A`vW>?*|V%y{L;I)ztdfgztb)Bce>3M<@1Xwc8)+s zO%4o&)iCdU>n)*Xd}bK?P^NN|*V>H+J>?W1z9-ScC!tVoFMQiTo&Cd`6ExM)<z5@^ z<Oy$`74TQj$B?&=Xcz{(!k^j)=BdjbP$*kn4TeglEnqV2_vfm46UV91;LyW~eT;>^ zz(U`vrOx=qX*{p!UPtxTdVb{o+>#7YUdQ|9W}*?-6+>sj7_}jDUv-b#kQrmykQpOO zQ?(&8*0Lcp*0Ld!>)((WFDogvAu~Z>*^rqi3S<*zl4TP{!Fm&BnXqFMhLw;e)iLHS zbfcdD{RD0a`U1elX94^KpzA6CzXSNI0Du9@cdbE(T?WA9bpWCO^jwckn7aTtYvFPP zn6n{(`<~b9yyt7H7|VgOgt?9lv1*;CyisnGxy~D-mb&B$EOkdB*|O9<477qN&s^&I zAkezh{TWO~g)=zhz#lp``StR1sTE(D7sxd&U2&NU;#qz!wOXu0u9%Q{sxLCXNMl{< zb|VLty4zs)$r^A%Ym|Kwh_c50TbDgI1!aH6(FY7%<EpZM`eLcFlj|SXxZ7XCN+&xN zZ+?e>l55;NP}BTWbB$XBY8yY*T;s-qT565kfNR@taD;@v*jli1y(5jgma>PL@iKaI zQoZkh<UNXu{W0xWZa8j&3UrC`Y^-4)KS#NVox^@fQSXm(e`-l!Bg2LbeqmI7MOQ#B zRWEjQU?@`kY-kn}B46RKTEYa^5}&e{CfIw-4QQ>0>`<V(q&F-HeyxddIR3%kzi%a> zAhOA9WHj!Kfpe^yB|@{UAR`X5L~ICy$TjHz*i;_7!W!+k8M7!BX1A7o1(|%~Ql%g_ zkthXu_f-^xDHdPWtQRQAU&?lMB0%o}+Xq<~!e9i;f$5MdUPq)%c-vSImY(~<_;u*w z!xs+c%EZ5CJa)ACb<4S<AHj~cd`fdJ=kxXCOPX`J16*A`y!i;fyIGxky0zvDC?B<4 zAfS9*^U;2gU0puRxsYI8d}ni!0Qk)2V*>DvjkO-9;!)9KASkcjg5LPD<xfL0RB`+L z{x48}J7c0PzD4TwbGjJ)8tz7FaW|bBT^Y7l|8^Z{2WWA{>OA>U>nLHYM;iK5*H}_t z(W&j3D*S&4MQ6UMlH0Ogvud-3L+(c4wFbKCHPlxZ0PVH_=mX$90Ov3O$F>5<1@Q1T z0Mh|{_d0+_0bF_mKt6z1w*x2u(EUyHikkp9x8QOLSV%53HBA7;2CK&I0Hp|&n?Rgp zaoGb(nUqIVG@~9>tHSZj`pRqkT6PU&H<P&WB!?z!KEr*afns7`&KSUHeU*-`$*AKn zwo-3(Xz8_+T?r^-LGh-5Qf72Or&=o5f48Vyrc?$ba@PSG$Nd+Lb0GgyYU}{{&qHIG zB>^4M{6n^Z<vLlKg5@k(Y^7KdqqP<MDlE&y+h<1Hz(J_}Rcdvbg<6YcSg(?gwyICW zu9B6gM*_P*J`rmq48pCNS{>znR529W3L+D^?nBOwZnlV9FhKT*HPcJG(4-j?wuZ{D zVQCJdRws8*B50L&BQjzDOa>6j6lYyve*v@KrTJa2JB)XjUo}{JV@+qoeXZ$o<BHAM zKFN}Lt8}V+g+->8hse)(7mq#Esx0r+%Y_ZLf?7$KRy|S+jlQy%0p5L&Stx}!+lx_& zh5AqnT*pGy@Lqv0q+m&J>4Mz^5Xw|3Skc=k*tZrVRw08nB-3c59K?d{RdiMqf{!~N zMrL12`q_U^caPBNbeO+zt{_e2ex>UT9T-I1A8N$^^~H5-)dY+hgR7x;?r{85RCXGB zEZf&`iS&DEfqpNIzES;NTA<(a1v<OBfzGa8ptH*`JG=U3XV)Om*)?Qm7yTZzsh&!{ z?yWnU5vsGPs8U)G(<z-*iqV!e7n{yHtXmUx(G+O6eW;7J0Nx|e4M6?<=vw*%c!|Jp z0HY27m;m4`fmr~W6ash*z-9p6r2w3(adE%HMh^x1l0i8H$~scEfij(xPe8FBL>mm7 z|8L#Tu*QL&Wi^;lN%~zF-Fbx2{iaT5_f#@XbreQuG1NFWL&X%R2ubtd4K7r=3zV%? z+S;lVPbHy2BxMGahQTEz1sm>%bh=-uJj_Icv{EDPiSmeog{q%;3L>PRSZL`d7D_*% zJ|(@-@+s-Z)Tg9ZpF{I{TzJ%}$68MdVi=QHNjWG6p5skHb+rN-|1N5&3xH<`^ab!e z0Ox}M>b=KW0+0tFBoFz%1mc{7%VAIq_hP-?U=*k(pj(fBMiRH616uV?RhSIul)~(^ z6lSNT)7z~&y|y&2Sj>EiW`^T(6AFW30IWC!qmlrG9F8zD%ZyViAr@>Zh_FI>TX$uh zpj)S!T6A5v-(k$rmDV4D&mSJiNrjTvk<=X`gWd+P9f0!)faLchjH<T}IE=MAmw9-i z)*H4q$mWpF`X#Y@Ab88l1mz_u(>&trsb7-fZUP!pT8#Sg_H?PZBVcg9sPzO~3KQK& zHMK-(x@_)>Knat6G^{Qwb!lym4Z|jq$`*PN64l_K@cu{8kJ7n6=_t%Xwpvl%!N@1h z{TK}5?q(mLA7!fdez1qpz3wI|vac{tq3vGeNn^OAF?iA#N}){h?gr$22bVCG!OXR; z9&$Zt%VaM032E#h(%4^wGRf;j!}3P(QiYdzUTX1DpO;KrB3j{+m4Q!l)B>dwDfi>D z4wQMM3<OeU+Jb-U29`EecC*F32*#2vQqKwQX%=X<B^mH4V)i{nP~$yFrN?jytM4%W zq|y^qTKnIXZnVg&h%%Rw>At4Z{oTMyKGSIJ28@)W@L?7dc|QZdC}^fjVvabn@#YHB zR2gKP+LV7DWXfZZ$%yB1iQimY4&*_)tsu{b(YM1btn+_!@u0<PsQchSe+d`yiAQx5 z>0Cbpm!<7Bm)sQk2>TdvSNeAsN2Nu;%gJ5o>#n32-qYGPJB$Y>zG<#}TnMcR?x2h5 z2s)mQSaKXe$MX`+KL)@P6cdX8@Jz+<PXO?gMdi;BkId)|E(f=l=Ou=h8oboxr7kYA zbgiDH^yD;vo(xCrG$eLMqH{1VeNRLfDPsUI)jI)zcP=hf@^CRTnrrG~b&zQj5_Tbz zQH4h(c4*n=;`}mM-bcb&Vc}VcA6h8&vXnu!g+ssdXC&MrOCuhZ$bD2rDW0^GpVy5e z1NcSoc*iyv)&{=u#sQH6{cIMfAqv#RaexJCg+y;RTv7($l7kfQ5RyjY5-|gputs<p zI5`&pF(P;lA{(UDB&`+_4?*OCw1uSCNlM`fh+@immnb%{xH!Cik19|RcoPO%7TK{U zQ7NQa7KXEQ>AAx7pcD-1nK%=4y_FIoE8m^E{9FXq5hjexc^E(4e_B$|W~>YD+?Gm0 zR%4ja((yLKhYRjyutL_U6;83wLTbPqm(8m7>xIhgRQo~+wSyJ~QmA$U3-7*P8>3g; z^1w06BR4l?AGMq8toFjaOv9+b!=U^{p*<<v{}XeKy1Fba73+VM>{_eKz?*0GYr286 z4;Zc$!P+u0+SdQB*odq95Y97f43@QZm%12_2N9L?RfA24C#N<Avu#(DExA{Nc`nNH z6z&lxycW!kLw(yIVY|rjtX&70Z%Tq^NDkl~!EE^9a&%><(4#9um)w0zI4T4qI@M44 zKvSCeDeo$Zn!Y3)R2W>F@XZ{E|4i_8sA*fl)dm>yCY!VzgaE#kt~ok=4h$bq0Lt=4 zoaPfSJYI8B@Ur}tc)}?WwiRh%><Ay%^M)cu*%!gzL443=&_4x3(0TxGoMF%-)wu)M z-m~aV4ggq}2}&V=ch6z!a16k#FOc*(fSe{sIt^gLmq_{!z_$S6uK-}*=)4KQ^%eAU zV{?zzAKMiA_XS_A5B=P|{0t1TpLyVG0NmlcPz->3o<qKkFw(dS8p=%GCE)h1<YhfC zFYvMz7wJkK8n5O{#S}l+(JTXrMM!jhg-fgRu=oN1rh0z`;Jt-Ql`_~{G&7og<N10> zt$_ri3O6X<n55*I$#x1JEy>*F956*Co84v&CbwmBBW_%_d_pxpOnl|%UBV>P7`I&0 znql(+Zt!jfB88YUK}oxU6zolYOkp1)(R&t`lpk<miuWQ(*Kvv9=Hs^J4r3)b<A4|u zPF$~mw3(!`LgHp*S{9Chk<^H!6z)XM0hhNUQQaS&nW)sy0dI*-$LHa{P*N=&&`|9d z>G$qfx|swNiH(&jkv|?Q(fz2s486}-qy=1|w#AO43<!36m!V9$y+^)-R;C8D+6PWn zCQ|EDq6kw9^ujlEJ%}~EEn44H)`({Jn8!<)BhOnI?jN;G)f?)mitOXyJixZuxTz%F zU<6xw&OP|p6`GE-I*@N*V41sg73(4!5gw$h16vESl?77qd$0uu*rZcLO|e%f0^<lW zHU~18j6Z4{{qoqI7%gz%k8J5cz9ZW@?QyVadG-%<6X4YAbugPrY9{D9se@}Cns^zH z_LqNZ_V4Azo@Tl>njN%}aL+Ydu1T+w277D;t1>aa8oF4h>}bdQV9uu$*LmP&*)9Dc z{qXc3&H2=y!JJR611{68zobhJ`q`Xb{Vlz$Ot08;ywO?>KRHmEU<+vjt<rOJK?dnL z?hs(l@zVv}a}4?g0DBJaCBzUj{`cPFd#&OMRm^qFXoQ^p-s1#hNbkYaQoV<n(VP?2 zV9r4Av8<gk-RwQGm>lRm8g@|0X74eO$${RZ^OGuEF)qokMDLN+64Ri@;P>|)AGA@@ zijjieqY@KK_8v^J^d9Ug@>)5JQ&g+E3U(+(ApJ~|>QLBwgtf-5C`r<LG-B`ZkdBQi zrg7Gu<i)nilx*ZH(UYWIMtzVPXw$C7+DX!O4{NcU%8W$`*bH#{(_KmXf^;*msabAW z6l)3FsBW<%iV?!DWID7-S8|JLnHo@QAKhNrNVR7~6W%L|u4KEe6ftLsMXdp`e%0<G zONurUW<ILxz(2FnyCCLkSLKXRpiimshc;rODf_?i+XrdWI7fO?<)Cw17d2hlX~vF8 zI8pPhJeU>MhVAr+CTOQTrU)u0KmC8jI!Ink^{ta<PU>AjLzGv>e<!)7{f34*Wgnz` z?_}PS#N|PfADn!%SGB9a+vXtsM<-wUHH-MaHsa{RPx74CSHwGQ_u~&=1HOMG@SjD$ z@Q+ymdoBoW{~f!TeLJe^*c@&*hC?ZRIstF%x@@7(SM(sfvpqiUUc<Hi-awwzeVr7- zmxQMlELKfN-WdM9MtBtKsEEK(OXG5aid?*|QStguYBe;Ia3CvYG&Z>Rz6o2C5;;M% zRc?mkSM2mOA!_SYz{!bCK@aD|%a<aI9(grFY9bx(+13UEG%Sv*mB@*kC*fz%H7pLU zok$0JBAdcl8kUNxlgNq+=L5{XI*ELviD$<P(5v8Dp&vm`x5WFVsnId|%cd|!UP0eJ zk#AE|-)Cu`$m0s?`z#9PS5?|86Xp9XifVq5rA;DVw5Ia5vE)@S^R}_%RaC<m#1hjR zEm*`BEKduPTF`2_z^(LR+h0%@SrVaHS!l7hfaW0-g1oRk{W_+U6#&%u13(P`mHq@! z3&1o2jR1`M3qWfC#RR$n82&ea{s2A)5I+KdJ-?N668^{j3n_B}905>uaXp*SK|9Or zU48c^-rXEC*Vo>Zy5&ytj2j5tJ1+^Ij6JEH#E*U<_;V0(2DsaFIzQaO;ZzQRI%gq7 zaib>}#p@5L&J9p~6YS0{0Q%enuou8F0*3+EZUHC)a1Q`%10&mVX8Q`HDNMTn;3R=R z0JOOczz!GAAW#OtUI2#u^i);<e7F7<WM^+R!)Q{?sPU&xIjg9$($n{<WTj`Gp2=@z z*xlMO9Nw>Lex5+-r|CSI5{wFC3&rtJSCVc&?0sAlHNuAH{;+h*y6!)Jk+gLt+_=3i z+tfwPmZTaadaM^9UOn2TIIf_0nXV<Ooic1zD*gJthSzarH`ZnRxk5A-2MQyu*C{lN zvGPF*n{kiXaup%!$Z|<!n5xenjgv1^c)ofTrj5V53tOVJN(HOdJwb#SZE0e$1n&~a z4cY~C>Kz2{y8zAtaDEJ6pi$m%o&)d=fgb@>v;nvV;8_6nA1$sP0x@){I$`ITjVB5p zR@GT`xx<(%sex}>7_MZUIu5Bu(nmvJ^V>D)&IIj&CgKouSp}gjOm`{{kG;H+*;2Ey zAYUup+MPH(<!WznW8xr<(DN|S@Adv)niHG0-+kgV!rF4Q=>TOx*MWWrEl%T8r_t4c zuhI?H<}#`v!<NprG6N<iBxj?u+b%De%n}Kow1T-Z{wV4y<ahjj54d&+SEw8K{mH<0 z%KIqa^8jCfSCIL334YxRys5{J|5OI}tC`?e>92>D=a~<UoeBqruMVlS-^v3UJqVxj z+?~!Yw{0clb>cB1jXPt2w>bcOPdWqVJK~iV_;F`7roRB)D*XlG-jTrfrn4)2tU7Qv zLQCVzW6PtLK(WiA&~gs+1JV0V4e;F>j(kU@Oc&x1F3zrMh;!m?6Hm5O;etI9ySq<- z{=9|0*+M^{=q|iuj&Bwl&^M6fY{{hUy0)q1s+PtnSpTJ^#>pK2I2n@F0iSp_OW^d; zbMGaf){SlfHM+kr>=9iQk)d!OGBJT2%p6VU`^p~Cba~S-gGIeEwwt_OOYN!I5A;xS z$iMkN@*DQQG#~Z78_?&vJ5Lozx{4&vJ~;b^ydG@XGL^8&--7OHV}_*S7?OxEd1x4h zz}xZ&+E(BdHtB3-b+-1cF`V$IgU>E!+`b1>nKv{O3yr!nDtxaAi8|N&$R&Z`wm%3` zm89}U%r(tpo}P1j`!J04iqvLc2+8T_Fn0UZ1xvz2B$NqWu8Lx+bN!`7vB6@b$wS89 z{29X};|gZ1RVt(Xh|WkamW4YYk(JRMi(_}RX4bQF4hu%y!!1zqHX_lMg$z;Bq!q!4 zi>QwhR8y(@{Hcnd=1#HlYQ5+!NL1Z$s$C{WZF3;EmR-8-Avic)Ti(uA(IY-d6Nzen z%~wwl*rM?SjkjfW7NX>~f)CrGx2g+tFA5z-GuP{m>I%|*9qjwb&=vGQlFMT|0z_wj zVBVDSMirWNM6*|b8vYuB-?<eD&B0OTlum`S<o2BrF#<_h_d1N{$u|bbQ{Zzx4B&GD zj{=BIEpMdc1IPoPb18rkpfp+oAZfZ967*<?gW4c|h}1HTb&6jTT5NYsGy7a!U51g` zR96_gS|j6kAL^pHd<CfpDzRc{XNJ3?x@w^}k_qiS^3k8|#9!HiUaW=Wx~n#v$4OPM z{;EkDo#4E#-Z_w?CREM6{otHk;8PQ-=3Y*yE)karRdX*VRB?6C%MH*nIH4L30Sw*A zSeSiaq2qg~8e`ekXs*D}xxkXT)1PX%9<l_gd#y(N_mpz<CoK`xj^Nf9O5+-^C(l+< z>TGYuup$_3>83Q4)K<^{X+eJieFP;)-K_o2;BvihQHi@8JR$y?jMF)i^9AHoQyoQZ zn})IZq!z#d_YpAYN`+lsN6{W#`K~W5k`u3)h$^j$w#JJ%f<%|$w7_H-AYsaBLAegt zVwQEE;;5Eh-f%@ftvU=g<<vBdupsVxHR3-|yvX1GC%icgdR~;-T%HtbG-Rt{DeAY7 z-GKi3M%PRsBjn|};<RNxI4xv=3LSA;Pm2|pBDk=D>gy(he^_Vwdv+(@5T1zB^NJc> zx4cna`r~dgToz=Yf1YIcx=WtP4G?A@$H2rMlA6~Lspz{Eme2?tXcolo>4<2R-epXB zD@5mp#>ggbv>TiLJWi+g&je#w7wo%$u`It-I8Mg&VNFmrzK-^)E<!eVeB;wq<abMF z<R1c$WBo=c279g>#3k~(`DNH|==^+X?Re-=k<YPj23qs99OWSON?W0!1D^w38)$gd z0+er3I+uHyP2sQ5Vx%~X=1@5;oolagq#9wYgs_21R8}?&?U#NX`K2P3gC(_<PLzr` zVXcUeIp8<odPj{|D4Q$JyoNk#bw4kiZ;l?^49=x<9!cj6dOuKEZ!Obe%jo#?%};;s zUbA~pPI5PgC|PfHOK11cg1B}PyN6-G-D|ZRwcawnMIg7X@WT07Mm6kavnzUC^A)j- zi%L|+qEdR!mC_TQ1wEgZ(4)77p<x0w81{#CU9tbE2A8m|c=oTmom2O}b!Mj4_ow1* z3EG{ccT;q85Vfa2qgo#KA;w7>TKlKwipkYPC(CT*f-QH@P<$s{-pq&zHk!oi*=CDV z)R8EJdQ)L%dH-VcJ;3Eng<S;yiTHqbP><R2zQ$!ORg>u^GMBZ2>t*ZVK1sE=1}<%* zdlKWf8F5)0^+@8VT&@i!K<~{^qf?}=;?14)RAzJ%U*4Vv9*K<6N!(cY0BAQhoA-6L za5FMSC#j~>DTz(z7x1a3(@9i^wgoOx(MeQOj{BsRVZQHK-O9wQ5;LrXnaZpxT7I)G z+N`l+RyO2`S!2bl$v~wwC+lo!aIbG{36nO^1ZmC6q(h}lq6~Lqoxh|>oEjMwHt5QX z*Cx#in8f$sUq*gy65DfpJD~FI#IZ?yOr{TTqrwR-!}RuHQ^shiu{>sCI~<+F)_>S9 zV{{U?fkN9;#!p&?>6%~!kxV{EC((}9VA3*Z$8@4%$7r$RJ&`eXg^Jr6x-6Yd8Dqtc zf0;7IiXBxum@>wS9a+FJF6-)JyRcu?2<P?lA&gB+eQ`u>qq3P{Az;`CY0Ydg8-)=q z=CavhQa9>k_ISqNcOo$IPEEE|>53T^hK8xh92H~vv=w0PP{mHd=K!ZAbMX>8$!CI5 zGZ94~%SN8Gfa%F>0cuV<Bbm{!whv|sk1=x(H0667!=b481V9XS`K+7<p(fu;EzO}t zLG`F4U*=X7tG|O2+WAq`VHh*Zh1w|Wm?@0)poIzezYD8~bK&{2!-4N9z=TBBFjahH zh`qJDX?qziT7`iBKUA=k_{Hr;3-k>W|Jc?+kNSk+FmYs*4=-~>BC8{6Di=1x#Hmqp z@Q|y{6m=CJ2=qOmc;w;E2NaJy$oYT>Ru!dSWAM!B$WXy+t9Ku?wJC!73SQp4_sA-w zqD)&oGKJOfuvqX!OTDP-tR&T;K9pVAn~q{cyCF<&_WK%(03*60DB*~vbT1o~5uK>< z6!~-}c2bd+AfM;NG^X?SC|tf2B1ih{HV>M8wxSL}V+fX_D!gMC;CEQ`rIPDk-GECx zE|ntR(-Vye8kS4yy58uO#DPyIbLf4vA8>KjGlCx)09>AgU7_$C;P(zdu~$k(92*2Y zbe|u;FbsHf0Ixd|_=@$g=2_u?e>8A;5_gs0&Bp?lCvjH`?i>ePDzQMUy=x+Hsj%k+ zA2S)aJbAlD@N!dux8O2-t>iyE4Y-U!>!eYB`7rPc^oGK}o(}xa0Df^sd85|)`mldq z&E3P)45!wNIPgDN^GDqm)RLLY)S6dEsPvFLRK(N$(d%J8=&H#^{=rN*7287!Yd^cZ z5kAty9D9F(c`7AtF4TX|DP54{n=lVJo2}1XlZ|)ye8`bI0-l<zjx7tYNMa*<VTjT_ zr#l9gu$mz~G5cBu`ld(A8$k;Jys{9$bO5Ip0T>G)`f&h509<$iKu-Ys7X#=B;D@IG zGzVbhK|a53^PZNUc0c5gN*;SZ<WB+J$Oq>`0HzTb1fbng0QUokS_YsafWFJI%4J6H zQDE`_>M1QQr>DcnC@&A7)_of6d;s-N0(=0q`!fLe0BYz80DJ)TC;>iz`sqrDWaj_% z0o0sc;4S$8s=e0)<ujJ=c@zj^f`0zNiPt>fh#}|0{-;2l`GvFaVvMwjDic3Ebmo7| z<nBC0W#ZR_{ueDqSn&ro<DCapuAJWRd5fCW`@rX|kK#$?XUiLDjR2(8;-v;IK^1WM zY8AZW1#qAM47VU5?KfP)67bBbDJ!oJWc5m3*bCbY2f*t6n3u14`IVPDxTJ(0vl(Rc zMgoxf@@Mbse_(jsbI`{6%3cG2_2pR$wX83xt8KufuAJ*pS9!?zKh#wO9~RE*=fFW3 z7#OIp96o)1eU$P?c7KNv{j@xIegLxN!Sm`H0Pw-{uK<LSLmoWO*@*oQK6ri|fP2L> zCE&N!v8)EWOz6C<>-<HtgV2%7PaaI>6a4(4<;&04FFC9?O!@-vANKyj%S~R&;3k<j z2A4*uxRlQ1O$X84LyIz>FXn`!dq8WcFta{v%tyq>ls2SK^0PFgCe=6Qr2{X0co~UH zqla-Royj{JME4U~6rTWR@&9K-y78&!4lC7^%<qu_$==6V{8hZX!pmM>j^fhjEH0%p zc)teG{h$_OKDhip8=*FX)N51>qYyRhYhQCU+Ju_d=O=Ss|L61QFJ-ltpUl->=S{$6 zUZ0=L)!uyI?s+<n^lGnMeh~ryjk_9NC=+xSms>I?^a>q;Q4K3xuKrf*d{?MDyJlqH zlDeHQl+>L}+@iZPaQB}7OSd!sC+T|71@RdPS>}!$t%5Pc494Cy=ay2wy_E9nrIgoy z5z2G5oPRF3R`!Q(Bs`|cpD(B852ci?hA^v__XGD>O6qn$tPEC)x|?N^JzObKhGy_D z+#jf!*bnm{xlyXB(qpMct8i5p#m}l}OdEi@c&O%5WVXh^`BD}}zEsM>+d99tP}Txn z%Sl&&NQhz8quT9Lbr;Mv#B0!j;Be)ip2fQzYxU^Chvz?%B%GQmX5Go>f9)f5pU?E~ zRXR`T+NWyG6ludG0WHzLTn}5NO2s^PsWjC}UHQ93X|iVE{nEyoVFrXYv1II{=ze3U z^ngz1s%Dy`V^!n16R)b+eY!yD^&eO8C#k)i_w>vshu(g?=68@FdpoV**38s#s<OGa z^Rdz`JB9AAbyGKY@Ua{*LJA?G-C)d(xG;K4=3pN{N?9(B6dLmiW=FDwdRwM&Vf;== z#z>{4Xdo;&klcG9Ea3N_*MM1GU($Iq0DdRr4*+R=eTlrfWXr3V!0>|`e47)0IXMuJ z>o`6D0{Bvq0k0t+Un;Vk0ADH+vxRdDu$6kLNFGUZaxgyf+s}o><fS45we!@d!c86d z$qQ48b&E3wLF-UQ2F>P|Nj5--j9V88aNO#+6<WzA<JQZ-WZbg7j&@s+t8CZfmY$?Y zYckwvx>x5rO#WeR!M%Yn?&F*qql9G9lq1PE2EmjIpwEPcpsxW8d;`D<0N)Te0$}TQ z0Q&({dlSYnqw^17@jGCg9gD|h1j+&U0zeoS!Ij49YNC?a$qjO#qzmX>cS2HY0AafT zWCEy5APv9~0*L_n@5T*@J^)&3AqkjX^5^Ue;#+&+h=C;>A@5p8>9~&VtveKBFcd$Y zoW#=I0e$S-kbWJ&F9a?E$k+#<7{Dw7p96RwKuR!XyJ^Vm4FS+73YYJ7z50|DhPNV! z-dJ2Fa`3vQlg)>m@{=Ry?JsXc?&U?GtAu<9h~g4cIzzj5!rKo2cO%^${G4ipj8=1Y z(%n59n}adFyVcD~Wl00>0&LX<&S8P)CkGXPR;~~wS_<F^0*e4_Autobp9CfX$a)8b zeG$Mm7WO3oDcf<mLhMZd-hH^_aIUgjYlt1<Fi^OkkTEj$AT9#+BD7LaTtdl&f-s#0 zs`f4lRCbLjkd92XmFb>k%rs)sr9cz3XVF2up`(+%Vhp+mIzaYkba(4E!<QR4Oq6*8 zJ5D~%j|WlJU0i8=A=xmd)i8_*vT`~m3%`l5NUfYcl!fXR;#iS=Bz?@Ez+{Xs*3<hU zi11xWz6?{W<I3&#N{)Oz4wW3^rvZ2Wre)}1R;HQVRio|do@sE9F{c!NYgS_@)Ll&; zIHaVy0*becg9l2f`;+P-CaE^3)p=&(Gc4667@WxX2VV9`QobKnt2#-e!duBjr4(i# zE~#(=am&cQ61e+@mhpcnv=7&%<6@@FP*tg%bNfHGzK+8sJ^?1HEqtU-hR@!-Ghu&C z=Vd_DQF%3=e+2HL3r_J<6pJhWO^lO%4Z-3IyoZg`x^8ajnQX-1^mPeU-&zLMCE84y zaLqEPzNYCCb~28a(_WDA-!xE<{~U7LTGB7-+-fr)VQ-&eNew}$BBcETHqzajbUMrC z?+nzu6yNmwk8U%<xD)og9ujg`$rEa>egK`}YoPyz+6yJoxd+&w_tASF0&sx9Cje?6 z0q`Y&DFl87@EL#z?niAyu7j}C83Uxw2Z(~dwUWx%Jf_1ZBE%xDBTq3{ZBXg_7m#jX zt<gtMDKDD^-HnxW8FTwYicSi?+z8=e!yHB`vzGz#95p?o=MkaU4fAW_rdSqOdy+K? zNFiC@)~w_4b}W<C9;($dl*WQx`O|RM)pWB<k=l_i1w*U9N0Cm-9;c@doOta}GNf@C z_Pu&cV#-HaI-}>zWYsK5|K38sqj!x+zpd!(8w`7-ww(!4*u<lm6jawjPg8WI+Wmqh zaKSBN@ZQihn6xjIo0JoE53Dw2d4IObaPuao;y4elsW;&*lN_Ut0&n#gBrF&F8gbbj zd|K|zO+SXa=}WX&zQL|gTgsqbZK0pmbj&~OFIwnV0wqg)Pt&=dO8WzE6j0rIS5yLs z-Ef>>R3Wz9-jw&U<f7JX1&@xzHm7_vOHmyk!ce&trSRmB&~wQv_jXFICdYxx#@{Y^ zDc)w_9)9fCr*KF4g@AX<d)CgA_n{ilsPJwd1FujHyL1YF2e`bxFKN1}<8?5}w>R|$ zoGY*IYgYs>UDT!Hz3od#K|FdL{@3@pX0KH}vD|wTX`QsRD@t1S2raFc(l%Py>mkJq z;>dMMjQ<Y0UxQ)auLUyj$EiH7Sr{E;jmuk#XEXy_z*;TT(h6kviw#1)-fF*O;XZEV zmgdq`#yLF<W2*1!G($Ou+U*W)J~eq!bu|A!YpQ7BZfNEHM@{x_nw`s+p27}K?>0{o zWDeKKJQk6wq{#v$ahfGT#b0;4rT6h%RD4)GZyls)=l-fEDz<_@MzQ@c{g*I@(d7SQ z?!5z}D!%vO*}J>h-6W6%k`SbYj(`|~p@bGds-X&sh)7425+F3CgsLbYp_d>af}r#! zs5C)(Q)~z*AWc9)ilCyr&vRz(<`O@CfB(MuV{^`&GpEg&a_8PV_X{MQJi`(tpKo3Z z+&v)`_47*oQeWytMzm080MjWLQ-U`!@*fA@up`ngwgjJfZ%JJ4f95N}J3y}ik4ZHq z6f!3Cg#mImt$@gQ2RsGa7#{nsoi?FR3GNv01cUDd!|)0|b6^q&H|kcJ(mF=;0b6u= z5q+MbKQTP^qexnG1rhE03Zi%C5RDNFJ$|SuW!qndSSr<1C&q*FfkirJ`N)(?dSjSN z<*zL7Sf_Mn*KXMxG3GNQrnD^dgkHWXTy!bl*N7@!Rm@-2JNOla51mVp^H-BMtlNK! zAhJme{?hlrV{V{wve2&(ANL}nukn2+fw$`&q|ZJDX@gY$>SB=k0aQM!nZJgYr})kQ zo@)TH+huXECNbEdv2kZ`tDu1onumCs7!SkJ;L$I=u&U#8m-*|72@lTZ#f5Nu4}A9m zp62SJ@^=>DtIwg_N*JEqZ3=<TX^ee!$;j;Tr0jBE2cs%@?f#ve_^QnFEn&?#@nnW! zt7#hBm32YF4D&TZ{hu(XvFu&LnE?ayPxS6akwjaw9R^$JwT6YgL3bP;1;Y~(eFqHb zk3k-q9&i^oy9^l8$xz?l8_^soHo00-UrL5{%--E{WmV{d>l;`8^U(B^A^uy_8?KUv zm8x-?{d5gX#S`9rao%*EmiTt26t+VBVr_B0helt#kXN6_TthzU)bk?H+g%~yTziD% zAEGnY+vuT7K=+nKU7^ms43v{cji1<Ye+L?N20Hh`P<a}&Mt*t7v-Zzy*~pjN>THk_ zBb0%pSY<|OSNr_oQxUM1-9n!a<gdW^V5sF6DfxOJUQ_wpaI+JY*W9>#7@>+4$2W}& zkJh5<eD71w8&R^h)(^Jo8yCESYKxAC4I&5on@)BMXB0p5AS@TRzNzo(9vVz4b=|z$ zf^YQRK};JUW-0K~mDM8+6EQz@)oGu5K_z_31fE6>NGG}z$>sp@M0BSE!t*D1+{wS- z#g2o5KYIlMO@p{H5GDcbbW{lIK?rZOL>ps|Tvj*p6a@364r(CJFreeZAtMZ-&3d<b zP7^RIsq&qSgo$~u%51)a50*VB&cs<LE>!Ig7vvtUF1-(}k>&O)wZKH}7}yfSOZdST z(g@|VuHtIC27r9mu%af_(;C<SV4e;D>ih!WWdQRD3<6N}S3KMK9)Q1$NZoo$<?V;{ z>k<$)fg?QE7+tOt1J`Uct%tF`V^3JoqEtoHh&};sl_vxBrl7PDg^U9dah=6e0qsEX zi!7c6q%DiBWkxkO>IQ>k;%Qwp<wr0(ylu+4Y#VR%GXLI}a(TMm`p}efE<bAc9do%^ zJL4PFOLe=E@8-Yx&@jFVhJ~tW4ss7Ghf_uYmqxxY!}7nMsI*F8NGbm&X53MJc1?Hj z>$TCk2j!bCu0Dufd>1^=d(cOszE6KxXsTg-5N{w#uB_{9*JtoE8FBJ-0)S8bsz^T0 zT){L*{L6^_m%gvb$rlm&f+2#1fzo(4!MD$_F;wtFzli_`;o=MbMJoAKX;`||&pb?n zBzz}59TOjJy>IpN#{WU6(688S_46L`Z@*!-k$b<}rB0z+SiyFS$MRu^xE{&tqsPbU z1X@UY_xax)0DH@#JnA+wwg`aU03t{YtOXYMm_NJubC^Hh@aHst&f}-tFZfA#1-v%_ z;4dr<$ghx@OI`#!ERUh=heY=Te2XUWu-L7Bhh49%4&r>N>#%s>mlwheSJ*MgN`}W; z)-gXHJ!x>)mUT>IWdhf-G)`H^9I|w&zDx2WPKD;5eST-+asOh7*V{K+{T$^_QM~M@ zZ1wZ@Q1m_Evc0j@&)Y*)fcq{RIrgmq{qj}jW;wDd|9Gv04gCqEb9Tn~T7J))x|~U6 zZ7~wa^pj@thCg_KGtqsn_jRAJ6UBafy5uS*!(wSz)r-k+Zjerf#eR7_3zq3*SS;?( z_`^<yB~mB#FL)x!u+-0Ia2~mj1m>lAxk=iv1PD!B<^O0P5+VuZ?|=c%7~o#v-$)2j z1N(plj`8O^{+#8{75@B&AJ3ooiTwwghYtWG^aj7jB*hsZZdj`ua-$^0ad7IS*eLdQ zRMDm(HO_|I=x9h?s`sc~%hV>P^nuCi{cl0EZp6jXh+Zq&G~!}u#OlPQ5f@7%_5*Ic zZe*|#(;xty(misYG?#vikF#9<=~|K9(m{%{-kGdPY^TLiU)tGv*2rb~r@Gu7`rv^o zf5s4)0KTOEXyxL!GtpfOR$!NRJw6yu5p|suEQsCqJo-$*3i42xTm}@bko|H(kqW#- zh~i)tUx9;}YRC-9K#W{js~{@m7SQAHJ>&s^Z`{$!6Nch9JOJ_m_<}%j0FQX1@nrOf zLhLJw=6bgnb2;96zc$E9Tuk|_WjWRX!B2gw;&Yj?lO_9Hzd|k_fSc^+x#Y3(V(?^X zUj2sK6k*e&Ri>XSY1NQMuMzV*42AjIf!2g+A^QQm8v<j$25`_9jZ6ekh+8@hO@lon zwj*+L{Nsn9?j+En{ir({!0!MG=Hv`q1toABKjr?y&l%_qC?s;Z0DdC-0?Q46e{z5F zs8JNWKRMt33l!-zoGfYhR=`ff$&!Yvh)WtymNfhVxbI|+4CAs)f3{I(m!Aze1qLL} z@;}BnaCW(kx)ChYvr9eG3ihCZWwf$BG<8{69~C)$V%GM}&%tbuFiGc|BVZk*A*MjI zD{K0zSoSo*u!mB90JckLv>9VMNYmvDi{`~nVn;u}jdBo}euKM{$QT(Ot-I?>Gjvzk zK__1ESA$d?rw$UQec;n$ZU>3eKg1<Y9VAXq<U)5%H!|203qt^%(VvqIM$C86IA-_O zAVtsA(~O84G^4wJD5OX%r$c@O3w10%F>KCQ`ks8a&|Z^c*F5Rv3h0#K^0q@l8l%?v zHAJm1A1MqEZ;FOE4f&BW?9bG3=m@sN=<o*MlSM_h+%SNJf$`{U((a*#bq!g+^pztk z+kF*TS*UGYZrFmha<<W{ikkmTdUAP=KAR9+yZ2d?f*crGgX7N)BVhx4;GZk2@G#6c zJ=4ihKQcsxMzHz2^~2IiDjWgsp7RL=XuM`*v<kZcV|}Qn_c7kA!H5h1LGNR{Rf7ZA zQQ+9Jz>5_VYjEU>i;7m>%CmH|n1tT34g`}?Kg=gzBgqq|i{jqkM@uCCj*>Ka5xyfh zTv=H1sn9(5YPKm|48G9eVS@9q%nEsdAH65FIH<lJ4Lf83)nB9pV#Ptc{ysqPZTVpL zk^bOMmv_)_#n}!I6#BsY<bPEq4ifU30zh#GNn<k$g1I4AJsO{07`W^=4wm=q3&#V0 zsy2iV5qux<LGOWosJyoyQxtf_%SfwNOLK1_Pch&fhJat=4T}Tshof;5UlU`Bl>pwb zBk*CRIUY<Y8Lb}s<SOu(G7C%wgiS%5b`3}CU`q;{m!-J|8d3`V&F0|s-2^bmmHG}l zPpl(G04Ib+Le^*RRQ^DxR&cZN4O4}q8rSY&E&AgW;t|mJ{(ZP|Ndi^7v>7R;&DCvw z3`~i)OSdGSJn@kxmc0W$JyN8V=IZQE;xbaCmFDWKei>Lk$H?F)Py+&}8U57v+I%fr zj}B6%-`QAaDyRWadabm6#6&A}DtisWoyyh&_Z@I3Lx?;$x(7F`v~Zkp3W*gnY+oOU zuiwzdiu1HByzsdrHkzB6=15ihjZ+-Vp{ywm=J=6%=#x924>2>k)^P`GQ_YHdVsaSb z!^{YXRVgdmh*$qpE^a2#h@lSV_y1qaA3K=8`hPM1?O=8xSQy#=x6NFTHGe1D=6^Gq zk8<b@>0!*a_;k1G#}@dDqd-&{j%$CQ1tMC2pob7$`1qsIDm=<$FDDnQ*-<|OY-@w{ zW2JsKutw|%*4KrfvHoz=D}wdC+vaF{IY3)WOa>D9T6@YD3I-dWIMDr~i!Fb=vf3DF zWDj5@gH(Ff8g;zwjiqt{{Atck*VgW*s_Ar`P?tVLhI3eqxAI4uFEH!EdoWwRz^u`R zWux^MnA2ZnmE}O6?5WaU<DhM2c9oBur;k2h^gTmiUl{8{887^$XM7D?<pbEsz2qIn zJCK48W~C3Ilmg{2w4Zc%tgQV8<JXB@kO)7qS);#jU-Ll;k;*=m*;RReH@rOdLDj#x z*-}P{E2$SQ>k?1M$|HUtU2QlPqrVJ*C;U`h8>;nc=7hgEMvvp=?bXZ)S<O8EI7T6^ zIiFad8?6PzB%bvj8iUD~YtC5}v4G?%v|uG>5U7C&toZ_Q_=)7|^C?sD3@gs@--a`? z^8Dxtv+{hg3M!JCW3`zu2t~owW(F~PwJA5{M=#VCMGl7G`TlmWDDW;-uj9{W_^~D% z77lN<L1zvQV!Fs9%DnfYeD5sMVjf-~alIgmj>Seq3boAg&!yk8*re4gG>c6mCAjE7 zeXE11%ffX=Jyo7GxneWhi%nHMzY)W|m20|&X?EGFt6tU6x#tm%rp!(Yy_J{$UF{5K zsB%KbUUGu{9*(crhdCBG^-L;Zp|GJ4rk=&}8Rvy?%at``98yKDv~+2gsz{9wcOsz{ zCvag<C^=f?m3NRdei67{z${7NT>NEq;F4-f6PRk9Y5<qpKJQEYS-|BT$c4t}V+`?{ zgmCDU=j7h18Lg`SX^7l@yBqYljq(jLzOc8mUD;yg=NN8Y8<oFikb+3L@+BAR$dKZF z!XT_`)pP{qMd+4UJ$S|DYh%bc8>`7jqb&7AO%4g}>8MtlFTp-hbI13vqakCLGK5k5 znBKgBpU7IcfPBncK(ZUEro%tMx11VLLYnaU$NRCWqL@Y$GaEIkKWS=E{hts6SM33> z{6b?IwW;C_@Ri=gebRugk0D84CF_FN?InfCcF^zC9FR7^Ih=_G!kZNuikpPW`emD| z(s26ys%r^cmBx((QLd-&C&=|Q&gsO(^=}%%>-};G{$&E+w2J%C<~^6dw+?xxCwRZr z2%<!P7mDY*UPqMj1I<+%qe4jlcL8`R0{AWkKurKM>Hug6;B;Lqp^u?nIn?q@M#*RO zP?9zj55Tiz1xhMDiPdk!85DUI0L>tZneSD%8bg+6P<8@kp3VT0>a#XT-AT$oNhV6X z>rHeU=f$hG5j#Nl3;=B}Y28=ojwCcyy~ukyx!9~(5Td(f8&&<OCE0|H4ubbbBb*ti zir;w_z3Prt6*jtuy@95aZga<CbH%42AwXpG<K@NbJC<yA@G~QcUN<YnJ%&m;^pS49 zDHbLD(!dOQq+41m?wKHCE;qLhHKT#am`gL7h75JHAvKeM$rP%YR8pDou%VyioO+Gv ze&;QF(9orSBU+)7eElSs;u`{wnTw%D({}*ZgT?^Kud$8nK_gxG^EcL)3j-xxR}n*^ zYV7r=fJsC&UZ5#<%YM5Civ}e~DCMeTu+;3)41*1`>>JY}2{1P?BjNl6B;GZY-v>j; z836A!2k;eu7A-Kslg)Dv*muD4FnViHG99%%&jQ)r5;@cbz$>i)^aZd80M7mdbOVfA z$ru1K{Ati*0GuRH6hKsKFqUJ(Wl%>VfJP|t)B>=SKobC`$i&1Qh9%pZ=pKyzbm?sI zZLnr;_rA_A-Wn?bItN0z!q+#&c=K3piXC2_&6oP$e7?s%$maVGS-6J>V-}&E#hBN{ zn73)nw+>@AIF*>CYb&{#E%uaNmaXTMlQoCk!yJ4bsQeF`tS=mV<^K=9B91t;{y+F; zuGIaTaUJ&Ge7?UOeE(sas=jThc9x^V$66R>Ym5$)O~6Pv?jU#<nBhfMvJH$5d!pkS zzUh^wF4g7;?;K_fXTO^?5lh%1zu;q~Qdr^{EHBwL+8pCpahYh>zUc<7_$*p$gqc|A zVt3T0`T8+K$6ZzK;`2*>s`|T*nQNqG7bm<!SLsm6NS1Ue0`p9{M>wag5yPrZ#`Xx$ z;(LUfWj&x-Z^)N_goX`o3w-o03<r-1ed%-2_^u>YlLt&9o`I0Wghynlnbr<HlS|F* z&vV5HN{*%GIa4WP1S-w(zc>kfo12^$+M^;jIqSTDilpXPY93=zaH$zT5?FAl$@^Kw zKh!PQ5fm%}7f>)4fomv_g?bU#+pyV71@17&QuU}ItYQ86elKE@bE$gLuy7fA1@fgi z97|PhQr>XzWG`YtQPygQ>Ov6D>a6miX&u|7;8If+@7x(9<s>(o%JmMa=u?4oL9DFP zCdoJR{BmIA+ZvX`BByBh0^hjI)NmH}T&B7?Vfi<{2Y8wYR-Km(L_*wu!o8UqZoLM| z{U`QtjnuqQM>KoUBvv_txVW;un1Z=OSc)c*rAP-PhZs^UiOG^lTsDV_C2=-81Kj<5 z8%QZ3^z9viFCGiLWD>oK?u;>?p3PpNn=dj0;qQ@@@-~|9LzK?}18x=rN?WNpGRV<3 z=`=aop!^&-LK*{@--Ve2s;3jMn_V$J_XhBKHvmHcsO|v90eFExCV&$Ftm{VZa=eJX z0Ydc{p}g;})}4lj^Lg(Wr0x&6i(48WbmAWoJZ+S`S{qiG82(BkM((qCTqd!b__(|W zw(aX1rgECcT*GUIAHe`QBiCp-1q{nmlq0)^twm1EOJMU3H-Tcdc;k#zB9?6jH)q~J zT{z;-Y=mu{)-qzt830BF`4?&yrl4i3X4PH)v#R$KM>tf=8Q*x+F(Yh>u^0QSnP`)x zAXSB_A?pC_0N|^;Ry)T0l0Ji9JX6DKV|I+Byo-<zeI&~gMls8VK#tC`K9Xh6_e54T z?1;qdo5Y(%9|PB0ko_dfVqcC{rT3W8PiukCketpsGemMnk=%2tEqR7WZi$-uXq*`m z<6XeD<XIy5_gC!o%WTQtw!KWgR$8ZhngX$jOOtNUbLQ(JFeqz_@tE<<3zc-0bG~_q zkRkuY5tNF;Vvp^lh8gh`(E5K0@U1af=$vyJ7P*d2IGQn>H4PRe0KEc>LTUim*&9G3 z0OR@qXboUhUvz|y0IH+`=mp>ifgu2XBQO>~az9+*bXl*xWy74&#&TvsGvZ%soZ#ZH z<zCPkRlUYq-BVaE4hAtLo%ON|oo-ea`a=&}G7{SiOW!{%)j^BUb0Cvi63F__u(0Ka z85TxcZfyE)8S1gWcoE9oTt18Bk4JiRT#NMBpc7Am=AU7w#|BA{G&rx*V}qne;r>WO zxxU^g=@2)-zP{G@1K>J+K9ck~nQo`gX5nu#5ChJSCYW@(;&h!H@@R>e))tAPtOtgN zUN;vW`*|vEmloKN-JyCLs$LhcZZ$)t{LKF?zj~VCVZ*G|5*})paSjbf|D|EEL&L5A zt-)7qUG|!TonCtS(j)}@TiqWe;00&d0smG4z77Ej?SnUu62D90Vx+_%1X!*gzLNm9 z10FU7Rqvps^cSITC-KhgVi5F2%AF)$51jxmCmZG3sAIJQl@jkJ>23LM<!fkBgHh+f zGBJtU@*+dF<-bkhwtPd-t^B4wC;byp%CrjJp!3~vP#>b;g5U-;J~h)e^Nb|WYKWBi zuDPk$aSY75oRk1Q89#at!T8~;YpC1_VeoV|GlXGhP+>8p%7ZHRlX!)A9hLMm3HK!! zO@{)P2URrwA#fhqa9?70megOT!);B?_bOC|#gBEXzk+f-m3fKU6cjDjQ<*{DMqK1- z{PEYcTu)`r{X>9hxth8Yxbl5$TzP2lM>eo4;^|M-`Q#Oh{u6z!O-Kd3zM1Ib(m+2o zFwsZR@p5|EBp*{kUtmv?a=iuewvUs7zP6s?<3+f>8qO5{xOoulmrlFVN3XCC1m9N) zjNK5Syz65e{c<eWVuA6zbm!UN%UhYNpU2nhY`y@Pf3B?JbL`B`TbV1N&|&sa5nY*P zK0{nGH(H`|5V#&1Vk>iHly5jPf$9H>5#0g}kXWGdmD$LIrYLU;hLAb{#t=vX5EudA zQ2>(wM3CR}9Iz|EJlz0%KN3Jc0L3$KAxyV3z%v~JJy}2+pwzPrKu-YrX@I>(cP{M} zKGp8q0ru#<;E2A$pIoEBTWvUMT{FCo7+%k46gC3cGZ{dC@?r34X}Gwp>_>=#^Szah zWSC*7b}}#x^ue}CsrL}<w`FKp1FKzG3xWZDTZV?M(2$qc)^E$u`uJ#ca4tg%e55=0 z8OAR&NtPXZL6n6^<1tu&WEc)xs|=Od>kn0Y!$9b6<e3`|dw+sjy|iv5=dJ5U>zWAB ze}T*Cr#$W9sW~MxO%8#_BknXeeuK`E-%N;HSzG3!HP?W&8HRX11u$_efPDbI1`u=G z)W8!|^4AFbp07a-8;AQco{d_b4kDu4)3AU1vQPB@D+mF1$M%ow%GNqV=CSZ2HCbkp z3#Ob~&hJP$ww!O+H(ScvM#xGx)aWFln(ty{E=hlkAIDa4y`vxAy5yS^=~fkBrM_0Y zB>nN}*OBD%yy?$UXVnBd>95FhiUZyPZsCF3#H+$zc@jFoB<!zUHciw5N)rF^O`3<W zeTMRjU<la+VAEs(9{?EtHh^~kRG7j}0DjLAgL%FO@C}N6Cyf)q+quikVU-9}m>Ta^ z7ob3opng9$!pCRAFnQF^@26u`rU93cPUHDz=#kDZcU;B;(<7axt^}?k`OtsbCpsCY zKu2Ox|J5w`!2?qZ&V-{pFm;4sNO>I$O{~*o;DM>dXTcj5%7Lk#+33JL{PYY;rhrEd zKW&OqIsEif0zCY*+?;5A_-V=;sL8`mUq^`?emZ1_wj@^P2KHD%{TWpJ$yuy#n;6;0 z<nE#xp2ZqI7pb?%k$SxU?Ym+M{&kgFex#wu@u>2U(a+no?%+d4kN8{7$HmOb4U$dl zK6Rl)&%Kv?oO`<wm$~<nk8|%Ez<qa&9L~KQDD-1&G7YA|;SV5FH)4c5WBDOvNFzo_ zBL?OHmqyfh58#{zBcu`MlPc4ortSu=ygN5*)9GgUmfJPL{ROM5K}b0X%`gbp80D+) z)I99}zH<K&q@;oTz{59k4AvT0?#kN4el(b6Bi_XW0nn}c(Ki9kcYkML(cRrh<`~ij z?C9*yHCl~chF*QBgK=;+qq3ql>G6Y47|+)P3>VIGTTcd*ubAP=*|N#MY{$&pHXkSB zT81Z;>4QI4)}jS^)2MAe_80Yz?Z9*S=s-2%vT4*VA7{h<#Otp>5T4J+`E(m_{Sw;? zB0qEinnpg@&_VDN;9+MFsg6*iFM>M@VGs!6BaJn|aq$^bz))qNMvhSVdfP7Id<$JE zd$GpsPQEY}nOP_oU48RkuD-cYyILq0U7Z69bXyh9MOVKhUTp|mE0T+@hAp&Rj~Dz| z;CSyQv6x6-3`~!Z8b1L%EOLTdHHH%HXc=LQSOiB8=5+L3hoe1FBd4QV488xn|Lth4 ze(AXNyh0|e6lis2-C6|adcDfRz!z`=YIC2%F<{B7JS4gC7=?S(8iZ)IhmRihc^CHg z$qRgqOpk3B1Al4)_%;3u@LWA@Z0>uenUmLw%I!<=EYFxtsC~#YWtZ+aVQH|V0aWGc znXZy|3g4)uj9I5%D)}?P4**wTJHXhHHgQuV`G`=Oz7LAk|1&MC_(xtf1{~R~%OL|- z-OBpO!Ln4d&^IhY?cEXYI%5%U(p%?EB>8!W!@}RjGeA`;p)CJLx>w2jubRSH)*ENa zW#*JK=G^b%E*EcecvQ`w$Ga3W-<68O_|Evyg!|+ytW>)Yat(Ch&KvW;#$)bRQS2Ym z1n=ZjaC4~i^Cd3><Ko_x_^u_A;@@QZ-B^ru=(ci}s<BSKCvy$~$qVu8JQTla8Io~S z;UIPJ@@P@H&O?=Gs2UqQ)c4c}DDT_7yQ;BKq(sv6GbSD_ps2<c&jx4;i9-1(Fh{U3 zPykpYPbGa}w{CznWPQ}_0&DbXutmE+j8=_Qo{|&?+C&gMrGS)1xhD}o69TmWj0PaG zYJIL{MZN`D_1tNcwFSiJh!yy$gdbm1!(vVgm8}3j-Zkd4>_}2y8AIou9{anzp{L&> zwptidxky?9+3Z5087}25>1;n$g@G+*cw5kvT^=@88)+;ZD;@C&Qlk*^XQf5aVtv!& z(PH4Nxf`j%c5qdAkN0F%jhmJP9^AJr68gX$97<T@jx`w{(l`xFHT(mbr$DAFYYl1@ zVtg}<LlKb9zZ!pAZ-OQ>Dr7QEs;xv{TZ9EFa3)#@;+#=|^O|Tha6FG{1kw9<A%W5H z<H4M2PUlCvx?@VFkR4)1@g>Nyck3xtyOxMv0#Q+eyAvHX+)~zEv-OtT-NM2CBGgrt z^WzifUIBM}H~r=UdSbvGnQUHT@IL8O+2qfSmKxfPhPpaHMD5PN_GjUHOMK*dXg7LT zDNPOSL5_Sy9-Xh$(7vSOgXtkJplT`+*BDgQHBzMpq_hyOww^s;+Q8a3#HVgc(Y*UF zL-vL%Pr6m1Rne-LsM^4an}Jf@CRV6N|JRwo#ZPpj_*v8rse$5xtFaud1fV;B2ogOF zfvpBst_6TJlmuD=NT*l1_UP2ELc8%dv~Nfs6kh>%!JIVDP*zxjY>zXwI25tHhQ&)| zRlc1wf=QnBIH)ZowCW_h{ROQU+F@kqPCQ73(jlmm0AZmkw+8Xe#2Et6|H{N`Z)=f@ zX{xGUWNZXxRT^1HbTO{qLL55_UPxoxrYK(@qd)jEUEB@(WxAx3OQ7dY;K4+tj)^s+ z-iI}OoerfIq<#nap(XYP@s8_kYwiSS&1K-U=B~(iVLhywW&%NLx<TB-)=bE0O`~jU z_8~>8o(~LwHEI%L6R`}_UZ?&&SW0U$AU|};1bmX<e1Ng?Z?LU7FV;)}PHQfT4DUu* zbKGIgt$$hbUQTP$vaMN+dxBMu;SEx>iCD8WXw5OPrVQkV`kxdoTC;}uz}E2LSb*KK z>L%bHdJsE}?;tKMc}%Qr^pUpqxaiml%qqB7rygUs2<mj~+Oj1ZDc|;-);{;31oZGP zIc+cWZV${Xh72)6uva2~uB<`J(W=)zhDqB4GYaB{4|Ii&ijx}jul#1<$BzW*Lx^7- zCv@`fCO!|x_M$%dBewuQu{KC=54^Q_wp~24GF4eL!)IcStA#Jk;TB!WRJ`HAAx$M; zQ4qT-5QAiDVe%NWsxdtN0~kKxL*ZbEmr=2#=PGG}+r+EH!SGe$Sjxx1r3qF^6HFv7 zO`!4bh>M}C#LyC-M2n?sML#S}cXTBk{O82dGT4azCJK6H1oj|3J4!<QO6x}d2<v7@ zI=%pDp>N_<G=t~<6tjHK?gNN3jLU(C4(K6tCP=%jwly=vny_s;A!dt?<-n|O9QLe- zy6l9Ir#QcNWW<+3#-71!JBNLD9Avl=aPPB8DyiiMuw!iCMT`Yg#GBq9!W-#aW5t_8 z(63`PR;;VFU0XL^>g)k#ed1`>mZ+|+<HMD-&KJ2^ufc*N&%L1f<dN(*LqwFy(8CuJ zOa5G0-_n%ED-qZs61bnCOq()9Oi9|Io9$Jpk7mnbM6lmHY=laVc?xn~7S062W{>Qy ztWGPSiC@hE2NP@*B!_N19K;V3Kh+VT()9d0ZA)GjOS%DPs`s)jdFo%5v@+pPNjI^j zS+$Mm*&!j1TnX(jKM!qf#LssiEpM0fA;ga(VM=`lZIaGyB%N0gmvq*6<z2QlZN!>w zz&ZZ46&;m!qlx}>G|_E1>r9|BxE9XYMDf1`Cx^|g;C70Lx*_In51N}I<~{=j+T0W| z_XptG+!Qgl`{%Z~8vm8J^u81^chDYfZavX)6__>G5x&Jxm&4o!In7PUHaGSs#Icl! zil5BcW8x~z9zDCVkdsI5y|%Tb#M<q^wY8<h+IIVFYc(FW-?p}tSo<k(2KP}>(e41O z?Yb{}xNZq;4_j+>a#))tWOTv7_L%J(<{(S&?3nG$?w&}MaM9F4oN2e(?wz`HIP~k- zhl@8A4%*&?i#Pj;OR8x6)kC&7;o?oX!`hn&(Xk(xb=wj9B2bsZo2d?SYY7?NWY{MA zRyxSy%`%&$k_zlV(_HhjgJp;}&#tk((WTd*KeXB|<l8krN2EPRZ11l5*%9U*wY|G0 zPh0mpW_zdcr@pYgyXNPzq~w>{yX&I!8ZhgKqpki9dS{RB);@>%1!0}IaLjhW`pH4A zZj<A0n!e)u!$Fps_w1S~X;B!QKO}~%5$9X4wVl_c5yxTtg9>QyLw+Xe&%kxl9unub zeq}p<NSvSkwe7sd`+Q?Ne@L8f^sRROsOXIN4$jxwpPi_Giuqh22Az-Cl08u8hjrpY zBilQxtb<(DCeOCXz7z*pYNpvFmE4^}>lQJju3>AXM|pJ62f;vW@%M(~i7-|7$SvaN z`@|)OHD2(9?dTS9G!r;`<R>Ek7BK5Yhb=$ZrtYxq@eMWP?0G_u&Y0el4}>E9R*0zh zQF=ytENJS`b!amgiC2hevESRKX}mLW8QNBeX{&&9URWjaFhf-}BC|DfeQx==u=r{* z+J263o{<cRTW@E`9RJ%e<r1Zf_Bo=x?@3#`#_tjr?Q=x?$WuBn^F-!tVAeE82Hb}; zx^vs!`<6N4CT)1xj+siDIU9i)FQOvf=D@lU=HXE^l&ytv`A*x$jThq<5SLcdc<CQ( z<Hn0|tAVrC-Vli;euQxY9Ko3b;W>=kmD9Kx_86*?KgDB8RfmYEDMkv`?egc!s=Wbm ze9kW%T!1x%G9AYuV(K*FVyeb}Brb6rBBqu*W7ZiWAFa6DVd%p~q7}b}p3cIVB4PT6 z+GRndOS?i^=r7oG02h~k*N9gw7Oa(i7Pz#srr#$n)@gj~IpAVlXR$8)CmqOcqH`25 z>sLoBpM!dBqutMaKjaK#+^yhj|4DBoVRI3cCg#uEs9U+Y|1w(nJ&4!FH5cQ{pSO+E z_y*!)Tyrt5#szI$OOd!1m{spU_8>G8!XFNx?~k0utq-<xQopAWr5Yk?p%_<n6O8M_ zGJj#EzJhpdTn#a<{YBe2jh`nj#?=txdR@}S)e?zkfmzcW#ubF{9L7cCrWOB!OWC8@ z#(jj3eN-(aqK=7icTqodcPQeiOFfsNUM{~%`I&|jiGSx7I`QbAflI@e67#c&OT%lt z#1-ITekn131#nr3h|Z!{+3*hYPX^5oHvHo`&2N<5@M%q9ex!&}Q`o&XeFXD)ww)<` z5(@J6O+$x|^v}Qr=ON&sUv?Eb&2N3pHa}9#KSf;3*Lc@oZ1W?<{A<8zeqPbp=~tNF z>|l0k%!T?KdD|qX`7dRgUmEjC)xUjQTO^42Z8qE8PM3~_0v+AIee8DO*KPAOKApHk z_irE94h3&$^B#!IOkmb6N4KvA@i~&CTTb()1kFo+`)inYT|`BW*0W0X`1E7YRL!vg z%CxE1#Z>j1ZK}poiHoV%#njorIm`Se@-aR=YE)#;GWH0sk}?mX#ZC!lM+wx3Eq0)E z=@*nPX?RMsKX=pCuJN<PMf)ky-t(3Y)DI%_2Vm9!hyKnGpCeEiIRmvh7^tM3cmty9 zUJ*4#%zNx(bn$Mz((O{$ZKxk!0&~$`AJc9EaWQwVm>YG+Hdo_wh>N*<#oVI5YjY2X zj+wx$PaWn)L7g_2+bx`!ee-gfdnVi5lJCRZ6(VYfm>c#9%zdTXP`h*s6zI`kbG>{Q zxR}2}%=g{{F6OTg^EVNfUZe3Ie*hQrSBUv>e`@nri_T5JtbAj1Lb0`v1<kiRy~R87 z{NtE)UC3Cl`)}K8)-N1nner2Cl1iHL8FFQoXu2WZeN6A9F?8t(=-1xN5^p;FWqUJA zy!n~9c%$)t_ib-xi8p@$=NK?oboBWf-t=;K^A6PIXpCz)&25`)?m><LqeWDFCWo+| zpW5c?(o87O=8hI~^Z#R;J6g<LL|n|(_@fVOb4QE0Yk||;aiXJ?ib3u;%xwyFIn4Ea zk{x`BZbs1D<o(aV+;kCj#z@H?6K+A4-V;a{QyW8>&XaU8bp~-URpV!gOP-{QsgJp0 zWK0+&@-Zg-;V|^!{-}~$PeOO<sslGxCsRGi8SK($P1*`e>fmKKaInL5hh)8)()c>! zlEGcYvVVw+Wg2f{*_L$`%Vq-SXw}2Etgca+JzCjaPbCfJZsn80*+QE1&26xzFE_1p z=}}6Ttv`(~cLN_jKUizH2e?@Gq*&M53tX(zc!dz)61OMCI=?SQnz*6pJPOQO<FGFQ z>UH#j{i~RxiJJ=<{cD-s%vMbYxsOf0XOn$x9b`$6V>U@8bvg()%Zecx;(Xifa9&mr zWqsV@y$SQQ^O|e1-*&dFI9n@VJFD^Q#KqaN;_Sju?d)TsqgEK4jUAUgm=uD#hx6GQ z;4rs_kl}3n9eXgD>>!Ibjck%iI=&l?5-FP2h&Ls7pm*W~O%(3I>a7#hhpu14^@K3x z3Adez6lYcvmzL9bhg`NZk>X55ZtYB7sl5`ImF{rn%D<gi?yxohW5nV#+hX5t2U$q7 zZIVi=+8oZ@2;p+$j5t$tCz?i9OS<$J^ow&hLaG!|>VpUv%Y%VUr4f;~b2mb`8fg<{ zJE!r-^VrVa2;piZkXJi*OH>{MW^HpUmiCJE4_(av=&=5x?c5IA1M5!**$dmnLI3Y| zLq>j@W8AuI*HlS6aXv`ZlVV8ZR1UL8QD1yL8PXZP-hy>{fH)b#0pqo3+t-ugt2@T_ zRpW0Fm#jP~zUGb9zWyL8-T-DDa5Ut4v6jBt!-TI?PHPivM^tj#6j*yCWY`qkOf*s+ z3yy7#KSQg@=x{_#`w+@>j%oZZaWU<Pm{u>J9=nc-JdCRT@!8!)cNKj-j|T~ocg}(4 zox&M!*s?Y63ToadnukHM)~xY;#6|N?(HtG8HSe-DSN%UUZ@}14b%SuW_?PCIyKJ8~ zh~}n{tTk(V4sp@EK{Q`5nm5^+U;1y&Nn-~?^CIC)k=!^%ZF2RyNSd>7en^*yFB0ub ziA%56c!fu7?TbYFCg7ZM7mLht1&|DR4`p8^?0|UZY*tnI>f}s@7TL)Vy$<G06Hyt) zi|i@4`)-)pH4}Ywn&fRWDAT4+6I16B7gIHUk+=kEnwXkcP&d&GJ5Y1}6)3$7XL7i4 zd}-Bj!nxyLmfQ$hGEOXc1(LNT<HVAWh>Il}cNelP87G!B2hJ(>b=#5?|A!@e&cTv& z;Z(2dY|g&(HurPH<lxhYT6%~D;v3W?F-jN9z9PQ&50SueEWR*sY2I|Pv=?!)RO6e8 zOU%;6Qcn?W>0sN^62^q=#ekk@8MAaezfiTiaJDdP*{xS%kKKCR#j=`^tS#v-mP{Zn zmT3HI;$lg6v7~6cw&W$-lAiyvB-naM<)4Jdt%Ng8()>8J%d(`Eq<K3?%iDVZZdq&m z9B^$-E3xL~qP8^}ze!xIX(iUYT1=;XYteBXnDwc{o{yl;IWr^e+viOCA=zoa_AnYS zMMRx3QeFs-ffM(_bXh^ANZ|4mhbfP|f>3L`194eVY5W7?3$sKbhxgx!OOvOFYjsNi zmq2TLGH`uYI7M7DcZKWOagKcB;UUz%E6f&8=KYU~!kJ>&vKOYM_HlJTqzgGX5r0p` z)zZ*18ZTASHmsr;)}Oc-rtxjWCFT{yu+UOE11i~;b<Sa#J>$@_Cl|u9qQW`lUzY8F zWpV}>I2fXOkgP+j@wbUf$cl<(Cy9$?8ZTYiwydaFHUK#La|zqBb^n)TRS|(G;XLy% z%i8U?EsGM%R#1~PzQ*qn7t5l=vM0;fmT7znafw-!Sau3HEsM4-vnD*;nvR$y%}#=4 ze|b3-FO*)B|A5_V{_?T~V;;4w`OC|=%_lCYr}2_yfs1v2c{$pwBrb8&cv3mwV%=X} zu9~(2=j8E^=u9k+Uew1idHjuF=w4)xF}}e$d(qYG4Zd=icB)<wQOCsm?}FxE5cAtW zfez*cG5<7iF<;}|9s@4sUl8+uAui@?d|(COV*Uj&|8L+l|FY=p|2WL=;0W)hP@lv6 zsX5JG7#swWR<=X*_lqbsjmx&r4<h>V+`@h_e+Crj=N2^HAOX1K#(r_<EOBv1<5MdF z7kBoHJM|KQi#r;>4P1Bp{o)QfKD{|4CM>B0Z@zSR^CqmJH`(3aTIuj+xsY+OvCsC% zx6eVA<?9Wbq>^rV;p|G$lpxNoJ7hb%Qk>lf{n}ZL4}Ai-IJ;7ujZOkC&T9N~;^OQ| zaduE;;Nq;tOINX-UFmdojhOHqh*qmNvwOy1Sd+uqpB&!I6f&HRyK67V|8bDT*%X_k zlETMhu+9`s9mUxNhizvw#o520Uq7Ox@fB5p%c4x<4XXkFVh=)=DbC#^F3xIvc`|Tu zR^#oe+s<Y>ot-Wwgw<fnI-KnaYjQZ7e{1&T#TX&O*^ahHz9$@HarO<Hq>{?<4rxEp zG)0`9cf@wKpEz3q`sHe*pO;r&{+hP0ntY15_|{K+U0=)gP2-bl1D8(NPkif<qB~)_ zsH{*2&NX{0yCv&D`@@~kYVNSUqmbd;X4?bnWe0hrP4?fj8+x3BEWV$yYpSGUc>S(w zdog5(_}=6we6L+fN;zP*gn7DQ+e<7?5Ep0Li?f~T+RkeHXX4^)dvUg3J?-p^qT?bk z>yTr>tN?Y|S$*k+Wyivt<|f#lV2<>lshWwX3=^{K_1afK)0;_$3p{C?+DuGsLtJuB z<BN!ksm;XHUx0JwX(94)DK^K^D%!~4dM!DhJi{WK>af0g$hM@zF$7V1Ly82gRDIi$ z6tSc~aj`_>+lY%LDPl=z18qrN+mif7MfMstXi3t66^Kb`;k+SDSp5rVmuJ~Zd%41{ z2Wg=njYf|yEpa(WT<#KS{ON|kWuVgdN#dh_MG9!VOC#XY<fX;>tH4`}^%}=0tOw=N zV!V~<=b&6pEE>=l4gQBCjzwUcbX~uGQV$LONzMju8*K2T_20sbfQX8p&MBtKm$q{O zac(9Q=nbrZmm63Oo7m0-#MyJi#TkuHdkT2wyCRhfgeOyhi*o^S?hbJ6oW_IB1)R?1 z5{s5Lg>(HUW_R8D|8may#^GE6*e)F~!*<a3n}aN*H8x2lB{W0BUiENs(?Wc&blmp+ zs)r4`ANsZLS3UIo)n>q@A+LJacVn6Z7vD9$hq(BD)kEJ0w*W4_UzNxH%e1t8*LcwP zs~)a>Ov7Fmi%x*o8tq8Sd*U2s+hD_5;oGvu<b1GQ4?ebozS0h|ko<p`AxkBf<1+n6 z&(cy#J!;sBV|m6uS5_9|Ab$QRe%^;Iy8HYnhBj)YyU$svkB(g3h{*0fe3a0Yf=48t z#px4Oj|gLi1o@G#Y~e>FNYf!q3qK;lL!Q<H+A*m!8JKm_5r%)nPwpid6~2x+-Au@K zbJ-_w^D~jO#^h19n`45Od?s$Lg)VK$XJX0Uz&T#+w%z>9k&1e}vfWIc-woY=lQ5q7 zm!fMyMVmxX<JPvKO`>Q9a4OntE4ulgirO~A!<AD@@NVuJ3FnEg@t{4Qte-01iaHBX z^4$H@5=^P5+r+5Hc^323QmpbD(LQRb9GlzxnHW{?8s2`WcSMh`XCQED%{dU5f8_=R zf$fnE<H41m?>$VFZ#Qiv%GVyI%BQC80QEI9^_{Pa$YF$56+>ZOY=+$IppowFZCZ}6 z^!P?TltYp{ZNIt%MKa99&*0#+=NsEu`5;ocXKiO??3fQ!J1ciRs<+k7%4y<rfQYlJ zjY%yaaBAVv5LiT<_0n1GsEkveqJnnR%a;^x1ND9UpN=keIJyWjA9mC_=^$?wGX3)| za`>;Bd_2UZhK(u99+>-Eyl3(5Y2tk6?TOLr6~J9rU8)E_O*d>Dxr$`$2E%wfm8^<v zYG#8f$rTQ`rHd?6Bx-+thpX-ZETgcp&ms9lU@I3TW)a`m2vVPxFAn8y7o(zvs9|kH zg1kj&;0#c5ug1gU!=7<9hgLU^HI8JHR6eQ`Xb02{Yv+0e`a;g4yx;RND&!jg_W?wZ z>bVB2ZTlGIxeH)10Smr90N|}*q-<*FR#s<&+yrtL90+Lc5i0D#jYmS2RTN)Ncmx-Q zhR15|Rx!{C9({HR4|cXjI3!fm)Q}N)T#q%29n%Jvd&;ev=d9`5Vw#0=ACifeeIB!Q zb~YmT4)in;fhA*Gd*tyRH8S|JoA+x+J6meI9<*8U%bXQ?Yy*0Rub6|0Cdg-U0`51A ze8Z-igg=GGAIbMBU5!uh1WsUV<k~zMp~y(SKv|n#L@P3qNnB}&Dl&?BQHh5m78y;> zA|-JIXAwy=)sUH@X0oT<g0zrO{EU79ZI~Cp4+IJWc)9~x?NI=q11N#Bbun?Z@YKZr zVlQ&Oo}}k%=I{q7#6$qPya=eg(+sinVVwF@%Qz`9YGRPl$v7B(=tJ&vE$(ofFDTcn zJ_=tTq1!XR_v8EuHEgsbcWmL@NYBwOIv)GTvjWr0cm@IGtP;=nQUEg|vCGG@XSr5G zivQ?x@Q*{Z@!nt>dX`A^Gd>26>N*hRuS@dF85jokOQ(E8q}LgSw>yVzz-O(fi*oDI zfV#A(E>)@ue%d_W^=w`+j*?2Q<tP9D=|#ST>aaE8asCwNPd@&H@yCUqe1V4e4Lr@C z7x>eYKLhzQ3O^~6@U!kq-PhoG!;QcbB)^{g0r|BTXa;g7<O=|+I|4WjU}7f#KLhC5 z8NeL?eY*f~Aw*{Z1abig<mXRu{yff~>ilVlpGc<gZPPb9Le;QIuAfgq7c)1q8{{yT zrxIXxSL=>}iEM!ZzyibgGZsHq^)Iy5%;LeQ9~=ib=$T~hXn2^+)=Ec(W&cs(fV08{ zgK!-9UMl3s^I@1F{U&(q6*yFrz492Wy>}WOv1Mk!{t&j#K>}<cR}TPer78s2QoRYV zwH5=2V08~$E$$_BW42s60BJoBTkiuFvjq$E1i)5&6M)s(7{Zt2UW0bVV-Viz{KS;= zZC&eIgV3e*!UUJjIJ&Mr9BPD8Mb&W~-=kWVIUke9cquEw&?xg~2VHsJGvk811B`W{ zY3K7<@hTPx6>KES|Dq~-&jh&gLlk{94r4pnG5o0F5wkH6oOg3xbB+HIy|F7%4wkXc zEk#E?@8-A=8(9o&7vz+`*xRizG8p)GeD!tMMO}Us1H28Ns*dtYx_r?plwWcec?EL# zYSggH?ogZ`5!HEMcQx#asOGqHRUp4_E4Z)evjzJP2lp?!eBNY8H1MQYl>e&F9CQ^! zxq*wu1mUP|Lm<<XkE|Um_oo#Ed|k_b1Gi~xxKIExP5E5vGO(;RZn(MJ@XK;T!*%$+ z`LM$tl@xsj6;FB?!Gu|yLrPx4x`VHoqm+T%i9`yOV4m_Yn6LK&E<rpkmq*EcfFH)` z6vKWHyjdD>3Dl1s2I|LtG0H7LJnLZ)pH2rZ4RTKSD-McLksMfNm;~wwGls=@k6uJ? zS&#CB!RQI^1E@O`z&rrA2)qs8u~z|%0g(C{fWZK24+HQDfRV!iya*s<1b{XGrUQte zaL;yNlQPgz4gx4L2Ef+<db|$cEP(I{m?3`wz)_>b9|9~JS;C9_a%Zj>8HfVlDTJTA zZ=%Md07|_DAPGSFL;!UF444d{DS+6w0Xzp_9f58DwoC!g4?y+I7}aAq0C~gv`d7Md zrOk%>OFRS5;tlVy;E2A<pNdn_o&8^H7B1P_f-Y+ee9)1v_F;7MWZuJfwS5D>&F0EM zQ;}@l{6@?UYWmRgH8l-`{OEQ3xlB#v3`?!~@#<sI)Y=?Rg<-%q!)PFt8g%ajMa!>Y zD#y=({8gUX=ODlEG>9I-pY!;!S~=tw0Uc7jgZQz_Y&W(&tRx3n$Lv`nrXw|N_bi~M zN2Wtb7yiu0kM)vaVa&#AO*&fg9g*+<SFA`;k!8Ie<@rvBav|j(@Z6>R;}rb>Kfa2F zYDpN(fn@p!rN9GuuREahr8^Fz^=4*_#6cVS&Go7$v|Mx#`5X3*r}j^fU2Fzqx8u)9 z{P>y~Hgk#QY-R0#d&6*p_AT;^p^SG~{d@jApo~HPmkegZYlb0VE@Z6p{3LeFMD<tr zvjIQWB*Vh?-UoVin{(CM<$LYS!`T3ewsC=}oJRSZJtfb>#w!$^YZiVI@#EX_zigCi zQRx{rc?~6e;^{#NZCLp&{;Z*dum7h6wqqgsxW|~7Ux!-_E8tm5DaR?`E`JKmhLlqe zdD7BV$yB#aY7ZZ=s~7WJVD%JKitfsviL9RAu<1ZZb?-bgsPXd1yUifHJhILjq<n9; zs(yh%?G%C>`Q2X@-P)DN7<1xn>Bcu-kW3tTkVYJm@c6ky(6dsvP4FsdwHZe^=cj9$ zZ=@Qo3Koab`KCAI?}cM0G?9l8dIR5R55>&#1`#t;4MH=2%4w$b{Qtww=NytAJZz^o z-gG_MX-zg=iAXsN{0Ko{q~drcW>2--59GR<>`GGB4`waEqkLX6wcP$c?LODq9oh|N z6kRf0^f^Ow(Pyj04t+^S&(;Ua|F5`vJD4h5$#}av5QK1%X?-~;#bs!;%t8XvpNB0A z!}s<+cX0iiBg%_?9M|@rVCo>ba4-4$<CZFr>f-6yXV4d1S-UQCu4dWF5SLnwB<#+a zxj-`)@7k*FoVE)zmusW`vL{fWh15=-!`-_6-Bf|6<+5l6@t(a^f!2Z+nhTWF=LFpg z)V;AL<hB#M$2{OkST_`SUhp4)KUOpz_%PQKll66^b=q7ra#iMqnefl@_eXT)ToU_u z8Ot*KWGnw~Hk^km2h~(GY{&ohsFs>7;LZ~qU0ZRmuxc76u0VSlSuAhhC?93YnE(?V zx|jW1H>OnT_I~GRXYUmUqDsDW8kgc#<YF*#9vfur&(a_$yH^wkoo69Xyvi(6O?ch| zo{Q_oBFPfCUw~T?r*zk21S+6<jzD1`kO-78Y!O&BH!y5;F2R)ZRLl;J@*1X`!5EZX zUjDC#960|Zj2kb92BnAtZ(Y?6=(5K1vBin)hc{#;=*CGhxq92!bke%1A`@g4=g!<P z(mkX;HYGG(@Ez<&^|Y~E1A<^}5ZpIYf{cq7KnylOCVHsa%1nuzhySHd>!75;s3HqJ zwXfjR57;qYbp47dO4!C3wuNMS-_!jewy1?*E4skMVK`_QV!ea$#mKU%=sHt8{h?y( zswv)sD6bR}w(d7z#0@o?z6RlQO^}?c^rJSEiFrkr2i&EDiHS{=6lJ~OU<$xH>FcEo zld|40<Y8w$s*Fu8WRtzq4Vj(YTI}F$ZSxik^162FF-<mSLJjibua@$aHb@mu2=(h( zr8S!r_Y%0SXV~RjrU+F(dL`1Lsx0?iB`b8rtD>(|;fRuv#U#IcO>zWf+$^cJ2)BW` zIRm`pew-u%JoJm7QKwfG9*$M(UEp#$dhaSc6Lbx5+zCtUTZMyKvBkiK;G2F`c&*Wv zn4AyVuL`$bHUf8V#D}30`-}d6i0{L-M&ba$pMMV>Xus*kXTJ+konRWh!+FZM!RF}S zLxdnbsSIE7#2<Ui6wNOeut}zzJ!YAsysatcImmlVxtx|M2VB)Rag`mgZU&(U_Tynt zQ>zWW8qy%t!%=&U#P7g$+)L>?3Ew}~r6b@)Xz|-YuEW4{^L@4k;Zn=W?3kMmqX*Hp zxxYW*KwG$PVXA15%R|ABFF}af;-SX|xjhY_emC%#yi>HxIyv~Ea$L&H#>H5JlAg|J zsz1TxzwjF>mGtCeLWiA!r5}+i>@iC<NDw>fE=7lmS!jIJd5`0n$i>6Q8YBtV5aC*9 zxbi|6|J=XYT$P1uo^X9`xbkTx^%S}Ib+-mpglikP3LY^`xeb$6rWwvs3?A7tO?39T z5cN7_=oH{>o`Abzurs#gs;ZT%5<d-*+0o^C&dO}7ykD5Q&+WvaO+FJSu0vL6L3}mI zTgQ|)zKUhs0E2uUi`B&#gRHM)sjIpMc2Dldi?LixV379CG)!0j#-7tC;}72x%7+#c zE9(Zk@I*tFb%Y&k^47C?2L^dB8s7Uj%*^|nL704&|1;gzL<UMl?y@UyZc{ERn1T+( zYHSdyT4k$hWENA(*V#c9i(jy<z}9HgBBjbqf6Y=2?-u4b(Zetga7h?2X1xC!#*ChQ z2a$uY=Y5PCoC<-j2i}4>Z+QV{Px+j9mp<vlITA!IGrJ1FsbMwnTs?6tm{2bfd)dZ9 zmt#Fr;tF;yV~fn&rQ;A5Ki{nqph&)H+AvUrO4@)iri$TUBJpqQ4U?%2BZX-#n8H&H z6FW7pb7MxDf;g#zXYqrza!IYPSZhX(T2{Cz*!8_v<$*EGQ=HId(!`fw$Xm*INs<%V zT6!}-l?z8}g$XKivx%<k8Lpnd;d|dZDBU#0J6!o&6h=}Q67#@&*C5jP?;B-8*<p~A zQ;<me927L}N=U5Wua29E75oLN;j2%*CR(a-cUeff8{NbfM^TibAS%jIu|=M85nl5F zw##0{{Yb+Y`{7Q&J!FeNp7${f?B{nf8owgt{(%T><6g3M^?!~B+zlMXFG)4-EnEN7 zUETTvS?#)Pj8w%heF=@Vh3c9~b3|=zu`kwFM~L%rMqKOwicfKIQz~{B#T&Rw26*bY z=$mS|1>SZ<uDG%$+{Wh70ibu$mLcB&==lMFa{%&v2;f%${}A{Sz>XEz)Cqz1B`X2s z0Z@7sfWiR21rR6;KrUuKH52$0=xE&6Rs9ySjkhupr}of4b2Wx<-na$MJpY6^@7x0C zeTW}{t4KyYa7K^7$0+DkS8iH60p->jm^2)~OalD?R9*|98-Q;JJO^OVI?S6*&T0Y7 zw#6`m8K=*l<_Ae}0;ICa@~A%iaZLD3STLYYv^&04$&i^f-x~?MiPzFm?GL+JT5u?7 zZ^-sX8n6~u-uosl%x<sUxRR*19qDLAIaD@-%j`h|Za`<2LuYRxz|><wohKb+8NO!Q zBvq?rGE%T{C`W{pci8fs@0bZ1rA*{|2v?|NmF9YRJqD+=z5`f`gVQPCp<6JC8NAsB zG+LchNPQ}_`*cg~03MbG(E$jS>8o)YQCDyyTGM;h%nm$$(E80FUGV{&B(RII>e&Qo z2jzPtQ_ti~Q#ROuI1V26_Bf_D*)(V?gVZS3{4m&b!}X7GzK#|G4^Pm;;r)>JH>B&e zf+5vQexBXhYi!m2zx3s_Dqqf!*(jxJJ9x#!1e;G4pY$0#UmajPUG;xQhm<j4bwI`h z87o!?WULSaR?FeO{>X}`v_7z4f{WJ;jW<YX)XO&HzuX`6jRCG1qxz`Eo8;6T)sT)X zlt#M<O(9o+o`x?WzXRB?34n#-&L5#G<_4fP19${LV*(`rj3Q70K&LGLk^#&C;7vQH z`-U{hID^EZNsfU-{EdH3HwiZ^2dRoBl&_%)3A2Z3i6a4VUgX7JTq<?wj<q=PPt1J$ zF4kzBRqCrO`U1MFO6RpMW`0pnSvNEi<8W(7z*WCre^n}V8iT49FiDSqwHWu=Q>VQ- zR;fom##0qsC2F3YL@RG2l~pza&HwB$OQp^zy$*YJpWq=27%`JZbO92U0GUf6F+W#w zsS8+V4$4*0#wOu*7|ZmRN_bt|&QKV5RlL*|)GH)6HC(Ijq0vQKAve{<_aRB9aVRa~ zrdI!zL{x~^a9Vp9T2#XihM>HdzQf_6d&PB4UKXU5(B<9UhbJ12>OV-OmK43R2a!6- zy=|)QBXMuSj;I0syQtKD?ygTk=OGNF29D~jQu~WE95O3B^&LDKCQk#+qZ%^a9VPPn z|3Iew2=pi-6mk_nollWGcL0pt3g7{N8ruPcLH}_A`2f7V13+;ArFQ~&9Ka3&)d3Xz z3_wEwp8$yQ81p$D@vkw|dENrG?=G;-0&sx9VgPw|qlsdkHx*Jfzj~DwdVrh>vS$E* zYXn9DX!tp&k0TR9RFP>qNK@ca>f7#BsFMqgQ%D-&1lYWzO!{$wpuBgC61KK?g(2yt zzmtg8&^L2jv47f4f6gOK-;*RZy`LYGPdzW|dTF!^axt$z8Ibyml;ditXMPB~DWn|| z?M;7SsFGy5DH4nA!Qcz2H%00P#E=0urT(<N7<j*Z2YPM`-gh6?h4AW*hbgy&7?S9B zsp;AeOp;3DD}lQuu{8er0pQ!7hcz1Cbr9X;2245v7iADn&Ff`9S$T*tWl}Vlu45X% z5HbDRGZ&VJTtxX#;0XC1K>owH1x2do2Cy2yJof?g2T;HVvFS!YLDQ0TA;IGZVL3R$ z-!xQ?`@_ItwKN4x%}!vI2?4*Y-GfvSWpy{?Z_(T%oMiM~pRI~@gY~#CiqYYOX<knI zGT8lnuY|FvWGX&-mpVzJ+X9ZbvTFWqx6dSLpF=QJp7J$ZwT>XpXs@>=>T8Ih4K$W? z6fw<!n4%COEA!N;B03X<TwQvnVfd0%*hWUR$gNh~N1mqlNLQ)zgz=GMAf$kh4uWo# z1w!ZoLU@5adPWOI><>psGEpPwIYZ)`p_}jDA+b)GdS!cg)qbgGcD-GR_yD}o!g`mS zLOBatO$?R641t>x(2n+O>1*$(9JEH-!547Ulv){fEmgekQ8YuiED>D`AXN{y;V$;M zSm|ludI8)Yi(4?V2gXeWqkm@vQo4{3P2Vdl2u_xYLRX1!v8$jX{*32vQcDRb4e@nl zjr_-M=u)C)4k8>Xsx(*0FJe>`W<wh@p)EwU)JI(*-BGp{#E^CXa(xM)8GtbW^3Wpn zu3MFXY|k_xf1uR6(Fl;?rCNU!cQK)eH)-e@jKar{quY!D@Uo%iH`Jb#Hr8+`pG{^z zKpfH3_^VZ_AOe#rM>n^C1+J_D_>`g^Xi_bPu@%H~@MvZ+B71?ke~3q&=7N{`3b@Q+ zEd=jCT;{Hp@|oL@fiuxt33i$oW)qF&{TjRyxu-3TAnl2Nz8Aw*Ym4*LX5wRu1o5ul z;DYwgr-9G3W*J{)5YN1jM_kT;1F4g&0T1*bo+=g{M=kG57d3|r;$g?YHwjF-qf8Oy zfp6_8;f#?Mxfs%>Svwz+)(ULiiAK3di&<%~ye90If|BQo<aw0rO*T?x;;^lMvO1m@ zv+F-D?PA|QMeCILp)7K5p$JJaozlMd=E~|4Y^R0NPTQcy*VwQzNzsjD15nl6QbwN& z?>d4yx{FkFbdidZ-G1pJ6?GTc3P!hdk-9>>3*q^6xatK9&{dciPe@mJ>^pd=X1Hk9 z4ik~(CL*q^O0EDd!a(W*wvgcfP5=l?L5TB$<PG1eM<_}4h%^-MbS=cMuYn=x;OL~S zwcrqP;AI)#&VUIy>$Y?DWf^>%pFp3KRiNhD2|Tw<V!dSe#WQ_O%HDz${~koXkCEC( zL|U1Ra&a})SFqinhDE;TR@-2wj=&fpJbDri7oz5;X6gaco~}|eJP{U{CAGByFM`=E zv$r;I3~=AGrXEA4$2=qOb>p<XtCISvr(+I*OLGX^Pl3}+J*PlxmPv_{dpv3?r0BHJ zn}V<Xr6)A3-sLgJR`4B9COIa64|EOL<iBUiInaLQD33ONaNz&mQ9j(5L;joD<=(ZX zoLhUo&kYisWETcU_xkxiMgBh}`Q{qPNT;A3Tv<N>TJ5?9k5{{foWf{Jf74A5PXkM8 zGneF;=QNUyS@$Y{2vPzQfaST5pJTwLK~P{D5Ikk0#|J&sG9^zMyW&j_2j+sWKpZIN z48<O14^hg8pemnDa%L-z1ue~sf;n!Eaq&y&!P8zlU+2h`!424_^Hp<o{sDJ`kf8Hq z)y<pTkqqwOOWMj75R$sU9S140?%oY{S&1+C5q^>yIEGbj-~@lp@#iXkZu94F{)Aw) z6^Ou3N-LnNe%501#Gxc@saq}cz@x{=Q<*=t@uLcG{oUGdVsMtfFUZ(|JU#f6Mn)Nt zKQfFvAPvjv`{bJns`rU~x})pW^hcMo!|ok)B^$wlp|5e4d0QWzI`ej(*?W=a0`Me& z*JZ>qrBuzi<;?dq)}Wpo`QN%pdl+1VcN<za+4m7{yJds<_dM%Tt(%b{`V6iQXX7cc z*3J1fxG_N6H}C-+T+Jv@4cT@#;1<q_4?+Ap0lfo0>w@V8wQ^hPoY>nM9|cLozGPEV zS5h2xWD&E(-ahg^Z^+zGP{nJEhKXHd%y&%ybF3KJ#iG%1sVMOC^Rcaa3x{607z8Vu zUO{><CtV{Lu65m4oHUKV_kLq$DD~C>Nz(V}-uu3QDn{*Z9iZ}=XK^Y0XnC8*e=bIK zWCV)N(xYDsRC?=BNIZ(31uYM4nSwG4Vm!Tp>_=(2p#XNE)blEUJU?;H$V0DgpsXr6 zTLO6=<<(vQFvElfTb1(X>43saU8_96_+@U@hqWpK*}z&g0SwMrs}>5cNG+?1v6iiv ziJCI*MxsTm0cG@VpRb`|>BvtLaBrz9bQkY4+ojs2$STJ5J1WNa?Ml4J9`tFRzXq70 zi#>()BH%h`OFvJsYFF2a`<$VlUjRq1H?g>z32`f?0xKw(tB&7@D=6apd?BV?VNr!W zAOra~;?ah7MXdKB%zq{y1Q)T&?1rd@Y^N3ogexmH6bZQ*Xs+`Z5Ox6=N#G~|&jnm$ zodhreKqMKD88<UfwOw;7E`S-!Vf+Q~<#ISy;3DvBpIZWrVAb4Jn!~PeS+H@Sa*NZs z#Oc>rr{@sWF1I+d6=?WXqgEozu7GPePCxe3wYV!KE7Pzw5blSafy=PE3PWCMw$3zC z5Xlf9;&zL6u)vcCSo2HpvM_+z1j+z7Lf{Dip3BDXeI`5NmqW^9)^7M6-4w*=H2zG( zPXtLL=uGr}mPP*zyKk9lw%x7dwuH9TYGy3s-qjBf2qw=6eh|o;Z@(VzWDECkgK+Tk zHgF(lM(<jqK!&jT&%TYQhU#>yRdp7c`?MrW8ccI#g@y(2&M^}3v}8;Z7#J!!aawZX z9B?@l5OgMG*DIh)+x{Slc^x>eMcbVb`8}>;g|iTH7b4oS!fAI;s?7&MS??I%m}Yyx z!2rnqICu6q0N--8Qq~^BwF}<`J8!rKO7jkYj8le6$L|{|%Dw$e4CD#%h7pIcJ1G7w zg?}OOKrh0Ckg5P${{o;MfGfYEL7M|;djr6801Ds4bE;hc@J)`s_+Q~xjGFB#56GM6 zHT<d%+^QcW28I#w9=)dL8M(7~#UO0C+2CQz$)}vW%N;GJl74@~rDA@U-Rdb2=gOKL zjww6>-kQ>++gL^N<5)5GLP>LH;zRZPI9ALbp}d$mOgcY?74xTTmb){*8!ivU#QY^v zo8JN5Qy%pDp?NTPxHHcTw~qXxO=Wx6h0yHSgDR8Xcf*zSi{auIuDTg6{Z&}|3s>Ig zUmZRdGYDJbO~cRD=yO2lYR4~dAN^4#&N5KVN2;FhS|6iZXO^ltx*y`3LGtIyQn@fy zjKH;tW|#|KN=F+mwk7NixKoblZ&9Mp^SVTjwyIX=uW-D{Re3OIheUQ}ZX`FqI(F4{ zx{pg;gfLl3C;uW$eST;1;&WiX3i=z-zOSg{>#hc{CiyP7x2|=m<QuLh@$A43;xks@ z8)U!9E<xZPhJha{x>SY<!VTz5zT?^e4??b^yb~BASQu!K=u&~^_$k*GKPexg=mh}y z3(Ejf4`#Z<=0Ng&G2{bO4BG+1U5Juyl<c<pU{zTD4-6lpO>EhM!zn_oz=xqILOxjb zKtv1#Ctk)dmN9S@z`-%nz7^&B%n);L(_gO=SqYHUJ1EO1T0f-L0oQf2Q!AeWEn3eM zj1swW6W8~GDYHeAvCKHU<ez%dCrMyTe-!2XLvu%<g}Qbn!!|tCaTcno?>Ahu`lhxz z;7)kWZgLJ2XmUPzQvM4EtE!c+7cNfQ$t6`9{BUKJj@0ds!aMJ{)H8pY_HWu=nD!B8 z+ztN1UpgO}z98fui6S4Gc97>j%G@{k(DX%5&nJ``3p{Kg^vs7368on5I`1$D;U^uf zgiR|v{{hauLC$o2;rBN<y$5w)VPw&FaEZ9mt<DBHUlGn1!KsQiG#%j%sAR{Ur8UUW zIr6|?S%Bb|w;O$L8KT`Fw4~P3I`G(%oz@hna%Gi`GGVg3A3trW8PFx&q^U=keE-;C z()a}6>^4okLJoUi!W80Vx2XU$EDdruz!)8t7~vZNLU<*Iv#?%;tpVo`LC!eg+)2*- z4o(Tn8F1bUaz+VfsKR>A`oj@|82Iu~2y)NWLyR2)YOOT{d*V&c<z`Msu3`xK<}o2S zmz!V;<mwQd7p8T<#pMfvwsQexW?alomlp$-k)r9P+{}zvD^`W2KyE>Z(g}7`>b*!p z1_;MsrH;)XLO23K_~4u#?*QkOAm<(7^tkEq8sikZh!090>e!#>@K~aE1F{;>91apq z{}x%vkQE*>Psb<Nv4@-L?L@A8Qr*|dm}Uo&9lL@*@gszC;24B*LN10fVKqZJEw2gX zgj^#RyHpyK$VV2Nz9me44}$e8jsr3H5a2S5E;EBiM@VTpDVGmoWElM#3=u5M9!9Hi z7%g){k4W*bg@3^zbqaVZqPBK*o@fp8!qwgX3NSc3k&_ofO&1DhYj8%WHEvT~7tTi^ z!hX}3*u0ci4MjbjXxREUrsxTZudeFxN!6N)mzmr4l{cvqAk&rgQZy#}u9L9n=qnj~ z5t8%rtxSVI9}=rK`wd>qhw$|npxXBH{{E>;9S7>>lWcAKOZ7&6ko$K7UE}Wo59<g` z#h^z5&~}_KRtrepI1FtF4mg0(6gxN^RIvn;$8*mbCSGLv&YGAR*SMfAe(g)8N^O=; zFS|BDN<1GYL4mwsI)u=bOStJgNR|3nnDjR%OMRvhKQpk@Zb1;#S_8fV>IrQMc%g)- zP8<>_jb#)#8iwcXXJhAqg+3NysZ!ohDw%<2PeLna<Bh{&MX@im59&q@R;4tA7^SOH ze$jFsJdtdNyT;LDP+KZIbZ0CwZXC)V36E7FLji0C5J9TvZD0*@q244sD{0qDS&Mp~ z`WD4t-S5gBtD;NtryqWNd4AK$X}&4UDGQgUb0Fmg#I1lP&s-ogz*}x9fHa8mybs_9 zlvF8p2#+`z2|K7{w=bju%Em{)9u@>P0}JfLPf99&D&ErC@*DsXzYbqxhl0RyAO%k0 z=NltR&oej)g4EwY2)GX8?tdO1e$!B^9m^wul*^BwH7E%bCW9*avQf|n92_VHp)(9L zWl?xIVSIMEx8WhJ=W~=RpRGH*zFuXZCjWfJjZKcc(v4Eh5Y9k-smRd9`AnmngYVKP zJt7eVQl(L@1CvIv>&35^Mrn$A(H)}D9y9rK2tQV;5zR)a3Oc(lRz1GqHy>&&Syf3} zwScU_V3fA<<S}iPfl_I!WRxHfFFIVAEMjHuonoXqJq%ley8FSSJ3*XeY4}0I$;fhs zj<E}(7%Kez6|9k8*Er><p(jVkEsB1l<>t{`HB3v`a($akHQsd7g?a?zY9SFF`&D+u z3erj35Aw5P6P0d_9%!KMz0s2@gz^dJSm}w6OHYiIUZ`Pz)n4eK6-7|o8kmKH6iT%T z<>OXSLv2XK9Wa#Up=IGDDH>97=MAM<D7uYMG^FDGF_b2u++|}O4XL;|7)(9-2_jN7 zq~a0{r9o(5x~`)k?1C9e{m`_|nxY{U*WFO+hH}q_(ln&vG7P0oD8@0NXh_A)HI$T4 z?E48tLn>~Aq0|hm{)47yNW~p7l;lvZB&bJ2D(<qORFg20q9NQ>gqKxA7h*-oQVn7E zhT~@B22L_#3!u}q0-A;l4QUVH^Sl7M1E?1Rpg(}A1V#WTo-bB;-UKitE>^`%Fv|fv zdnJEeAHkTg1*Qac;YY<RG<0S@|K0?>!~&44%pN6{%m3~wrl-lgyqZaUKq>Q}Bd`QN zDrUB!7dG?*q;DjByU;fox?Y;#Ql0dpq@NJ_aYMH|NGKc*9H*71#mXx=^p_?5XVPzx zUj2meg0oi>(DVe@3KJkkYCOVh+b<XPQ;aaqhl7L}55n!U?=5(3U9#I!yyjG7{xE4W z*OLWx7aA7qLK=$wrY`!~aJhJo9k>A%hKG)QfbMh<*<NadhMVFF(uS9eL-|NuUT!4# zH5@NpF~iXnGaOw}!%;m|snMcIcgith8d3;dd#czKH3WTont&Jrn&B;*Qr)%v_l*7B zgZ67k+uYq@a}S5j1{RxNa@ee4ZF5hD%{?79YnV2_;;^}w!{)x(Hm4bz8#3KfB=P%{ zMB>i?nkzrDdjWtz0RYPZcnbm82w)O{odCWka2P=U!m+B$2>>{Vs>=oW@9*-P{EzJN zxBQRm5<oDl%y>@>{$E0cKoJ0uY+~PSJ$<CXgi>#XrWFaOgsmt~Sj(R!{F%d_N&Feb zpMm`8iJy=c@pGdH>}Ug^NKwpel;YVBOcjHY;{eM2h@Z%fC_V$AVR3ZVs{rbk#7aT> zywQIQET#H|Ca_Z{u!|?K!%O!sR2nKcAbeVeD;h8cs-sI4;5b|Pjy4~AF7o$GVfGae z0=Mv^3UCCNWO#}jo>$2;l$~-EepCUDiM#&Na_m0&4td70&%Mn)SAZkx^&C8(k>?fi z3=|%Y0|oADIq^o<Me_VeUFSs?$C3{XPf^1YikJts|9_l)cYGGb^Z(sFEg=a>AS8LD zMIZqYBnFUPq=Su6G)N0oI!GvrbPIwCgrcYsK?M{A5tJf|sE8<nASg`*6bp!oq6nh! zd%tJro?JlvyuQEuahcgEJ3Bi&ySKN`9eK70&kS65{%!QQIp`YlJWZbG$m8tQHZcdZ z2MsyEpTBA%&W?BR=db7QzO#3jl}zM;Vr0-uwK0p<`m9_;oWB~nqia?4OC12~0Mubf z#-A|;SnJU*^NM9Mf-)ISnT)MW23jVgE|W2s$%xEkd`h$)gc6D0Hq`(yqL)`k&rwx$ zzp`k<FkDJ7)HZMMS$!*_<ZiZaDlSDT&)xV>l?PdQY>i}NfDD3CnZSw~5q+&1Q7uc2 z_zplkRf-XQ8Zo{m7GN9(ZgUsCA;Vy71+?e?G7R=Zkqm>SwNMGQ$S`=Kws#oJep81* zsE!VUKs_A>ZvCq^{p&FJqCTqNFc{wuRgkf87<_il^p-mex?c%*UNQ{+QXcp0))eww zG7R!B3GpT5xnvj|R34n6m%k6lbICC1t0C@Afj^Sxl3_4SdE99<5k9|k7+4ofyE3${ z+T`&JgU){%I)}k+pj|!;690P`TrE-f7JM0rK&P`dki+0TQR<$AmtSD}@w03*&hUF= zJf`vIpW^>6xVv;7QF|%+w}|o=KVsEC3;FXOoP-|%jk{>tLAfl92XmY9A9CCuyJ(s0 zK%xI&_2(}@75uBiNT00(J9o20`u{1)OE=aiuh4`;2^u8Ilbd>@JmGDP@;29Nl(%ZG zQSR1#1T6oO>|<JLl)u>uRgkeT%9s98G|HP-LNr_w<sT`J8|8P9=aMLYUOO0TQ2Bd^ zJeNdyP@~h0@|VeTNt9oINtEv)&m~d*$t6+#2YKFNA}>t#-(8aIOCv3Nqdfj>VU#xl z?eZwE{ohfJRt5%Yw8%=Y-PF;x6>i9F2K#Afl*0kxhCCKntKC7oL$4usG-~22G2zBz z2Lo(0|AJ-S)wL7sg@p2j+~xVa*66TuYE=Z>hx!-2!$p1L$_VT{?6idYG(q9;Hp%9N zhv7b~b9~!ms|G9U$I7O+OSYPGF*MaS0lo_=!lO52V0xL3;+H@VP6Uv4144vE|2$yZ zfW<U@*Jq6bWAqA?M6cuJ9b7`Oj!_kv4Nth|4lL(6t%j%j=Rj5l-<6g#RApGcT+5@b zv;yPQ*>X_9x|N$M`&C7P#1s5?PX#ns-oO~{!+X7UHzr%*i_e47=c;VW8cLME;|ce9 z3gWYYhQ3!FX4eJV>1n*bHBW`P@emq*X(yj`m+@A`vp6CbULf02zIRY{GI!}vKz}B` zl`cefX>ut%s8GhJhev|viO^s8DP>}w6@D@#Kd0a!=x{-Z{gRm151sOqlt=9(_d-)X z&<a0opg}HVRcwXF{NcBa4arqp8{YQV@V0zWh;_Z|scTC_r$W$aAS*q0FmxUkog>h- zcEQoBbPE!tY}^-cT`_6kVNt&6CgAIzj7aUi88bYiuX=%*j21yn_^Z&J&=b4^<uz|X zG<5~AfWR#P+O|hnk*!i5Fg$>q=$}M7iv80893?OxK-Fvjivi>kSOMTs0_y<m0N^yy zD*2PDb8rX(%j{Hk^5^g8oFTuenxI_2U}Gl*Rx$kCvjCQ})I+U(8FiCV`ID<#3{_O) z<t0ktaD~P|o_U>4r@$ltWe^Do43pwd=?uLEPB|9ZL#G@@d3Fc*Vh?~70OBoB{XYQv z4w(OU09SPcV53O`3B&+c10ayE>R2gK&hr|ul5%dcf3dB(7nu^8LZ4l5sH&c;nR}5P z*`yOv0?#TMo>zeSHq?WNEzbl?c22g6vtQ>rg5xK<)$d&k?ihQOR#TQ5Lkmrd+=cwy zX!|h~hecFs?+Hy|4i8iBy+A{$D#fs+|K$hW_O)1OU(_b?x5PW3$n>E(HW<7%9nC}v zWk+)V8Skgaaqv^Zz?<Hdx9o8@##~C2WZRn(uw69w2;mXphA*#n-Ef3%SPFBD8-yqI zRv0U8_=+OqfR>Y{d`%Qi=q64$=~j3v)lJjZxIdAed*TU{8W)Jxt<)+mkUCEQ4bA^Y z7huQSnWPlDU>6j5U6B5-F8HvB3!b_kBQl^aI58UC_%<7`NL+BVn(KnM>4Lc1To(w> zB%sCx?^5I_P~(CvMO?7Mt?*W=`$KJxgu(WwP-<KtTC3-{E|5C2frg@<HnCGQ3bNpW zpFJ+v14UjJY`E&*qF`SU7fcw4C^#*t%uc_!0mx$kwqTd|;KmwwZqUmu8wGPp_I9xw zx+Ggw$AI{FfVtX-1!vVUpt|UyiE@G>{DkPc`SxV<{*~|>fyABWCQvq+2l@1F@;wap z^?}3Hk=*!OQ`o^NYF<~2IGLgz3viD5khsiIj|DhMIo*)b?ou6`q_#kT43;zu0NIPa zpbhp;VcFboH@n=fa3&4d5NLKyQ3HCT0<QrD#61S=1s-_FV?d;Ntj}`((D|C_wjXrU zHm=xp66N|lL8Zy^pt8tVhmo3&J1Yxw*wcoEk_B4KOuJ4c$D`5}p7M{i91V6Zc*?)? z@R#tLPN1HPh5UgATFzYQ99BQlhKdLbv;;N;s%UR=;SuVj2;b9)Hb(m%_|skUK4kxl zH(7`K$4rK!?Sj46@{!aS7Vr%m^}8ds#u6Kb=(_-{I$w7ho*uJORmQA>-1n$A4nq0D zme>=Et0O4hgJOB&7@jMH)*!?uY}F@@S~vlPSg?%H@${3782&C5&&->GcLpr--PI1E zH!_Cnj5Xk|Iu;R~7h?i^@+67az#=msM?fZge@y>OH(>h5Fk+8G%mhsT7)EUITsL6) z$1q~EfCs{=Lt>=VByHkV5a-`Ys^kOI@ZHj!5fCXeN150N{>h_AWta;F>;bP+7ViD? z?@UC`L!xIb^?ayI?sl}%V;ByI9%qZXhyfXfR~WN$stnVJ2IQa0vU_vTx>i~85MdRx zVT`1<T8_ELahu4%7$D`|;0U;#EJ5TpgF09><gHRi)ogdaY%7!)9}SVV{RPwG7e%_< z6qfHrzXXbXY!Z%4`Qz`zbBXYRm|ftt3v#nG3>QckHiH1eaDnK|2Nq+!@3UHfOWyer zeo_e4dZV(YAQ<PF!dFpvTUTvA?8d696KW6D*CHlUQ;f4V^3DybVvBEVYvy=46J)=R zN@Rts1<C1sL7d?5)+D)WLxCBW$>o+<*35~fe8cZ3pD0HKlP63>`6Pj@c4t2V;YSW8 zyID=#OL1Z~crB6tiE3+!_)pYYOQe4$Sia>;ko|=W<xApw3p0P^61;rFu>emC!yEYB zr-EZY2lyLHYYtRE-XuQrch+rH%=sPkTCzH_kHHYrLQ{}@_e`j)jV?y3r2g9GB@1Fe z9rKoCzLa66!clidV0lZjTP{}CmG@OeiJA3`9<ftlF|@uZ=liZ^HV~t%iub<^BXW&} z3v0O+ngY`Yz04b+r4M?E24ih+kF|Y0)+#L48rWE?<zj6=kG1_h)+#L4npaUoU5{yb zrov+R0JZ$Hm1xF1V|lIGuH~k{_;$YWZI}_Gu=x2=kL3%*a$})^qr}3;jfLWWg{4Ib zi=Uq`dc>+Hja7|~eWN$!ha)DvD<tF0EgolX5pfgH@0oHjZ>v!&(fO{&)NLM94Qx#P zz+<YyV%~>FRvf6Xn7UmZ_<jmJ`-gGh<JY+kGzG?iXN?18$ec44idE-~<znrh9t-~x zo+xpe!s0Xo8z*bIIQef+7+f%VBxn_uFt}*S#d1q>g;jCRNsa`QI0n~oEjI<m&viYC zqpnF1(u#VX#8J<aIO+==B}1>F@R(L8EUhrGX@!<cD;hb>5N7B#HhQEL3QH@Rm~!b0 zg{4JJO^ed!AluCyEqyT=nbj_s*H&+;QOXs#)dx4xaxZ4M>^m^A%3a7<k?I4y>hK|b zt+{vEX2L!)vFfmXW39P&D?WQ-ahfuBoH*2%|KLP(w>H&o6*LQ=1Xh|9Fvu#HF?X{4 zV;ihFs5iVj>I_!8*A3uNwM%f;qx3}sLB9m|Nxh?`-t&WCx7_ELb`2kbjY!Tz-g?8I zMg>=(tn~=o^DYL^=}rLi0c;rwU^;+FqXA3+kT@2=od6o$jco-c*;}*)ySDkPnTwqv z4R8k?MrtcH0i1CFIuWn|yi4GBh@?-%ltzAkI*L~S^Ir>~&LjYh01PM47Qo8{Is^EQ zKraB9lK~6`@Gyb90r;n2@AZBH`MC53mM~^aC}LK^2QX`>9akS_tw#9@Fa(zYI7y%Y zK!vFQ@&ODd@Bn}%0OBcF=}ll*+K<*YPTp!;pVyPA)t|p>0yZ%8XV3opZN&7q0L2n6 z>K|TF%5CvbkC5qRD!{z_AHrnE-NItT#uTl!DVvaIw?-3^0{7xJZO$iVjiFl`9&M0Z z0m;YR>L@wYUQ5ZokW6}zmlt{2#Y^S;(9p?XnrL^6{YHhj43fKs5Sxe>rD7QtX&>(u zavZ+Sw+nX%%x%q2DrtR)>ZaQlSY11)PMXZiv$%xpDB}S4#>g!3<Z%Me!CGaxiC9gU zVo<=pnKSLS2&bg2R8#tXT(WTqWfjq-J>VLPMbLd}j=G0C6P=1pz^)HY+6T*(fnss* z9CdFdt-jw`$eKn`{|&l?Q+ez|LV~k(oQ~WPlvwUuY>1fJgYp%S3ce2@<^cd30bEPq zWdQ2{#FO8D7+AAu2-+V293b!qfcOUi_%M0hO&}h?rvyp^=rSEZWdN@M5R0$X`ggJZ zC3X(#PbxJ77GJmf-vdHC`;1Du8zM7T+Dj?j3(`sV@$wS&tWq|&mt+T4!%J>(EvK@w zaI@|ssPIPfL}0?^%uz17@VMcUZjhVg-#jWfg0Pf?gSm3-rafzIM*|l+I~!xb4@P;g zCoaceVP;1F@gzr&1?0aMmzod3PqP5bBJd=D_XsQ_{b2xW0Nh02EdY-a*bd-0fqejC zAAxr_V9>agw`b)|?H!Gxtu{$5Kuwy6OPhF>C%sDi1TS4?!eMjNV0r^h2_OydrPgLx zl#4boKbs0W+0kfC(p*R-t>xt;<?AYoakz1@bl5FQh;&$veFNm%BvqIN*_OD3a*D|E zT)%qXD$DG#NRvcmdKZ5)o7vN8!2rs>^&c6;*`bYM=e+<Cbg^_E-l4{wQylFz?J|wl z+cnd4*8(enOPoH+xQh;0?;N@w-T5ubg9mY03_F550qi624uFi=0M-H+PGC8JO#tF4 z?f(^6&3ts(1puoF6vIlS${Ya60D2Ip0N_yq*8sSBE`a&~MiFQQAYmRRiVgt$J#c9S ztSl!A*GTtfZ)Qu!ZVE#=S;#~&5u7qnEGEE-Vk-eo6vqLSxm1CfG&+Rt)z<%?a{eq8 zO8W>dyTNGyOOlGuM~{8_A3Y{H|F#&@EA1(n>nx|_?T}2G$jf40w(?T;QTUWh6YUPM z2UUnUU$%iHjph~2`5e~XoG$@7P9>8}bYYHl&a%p;P@i-cFHhnUnyGAVMlpGxRbfs! zG69ceWuIfNvMr+V!<~kRl%!2ma+H_wW6-p+h$cQj;EbDXUQW;1<G3;$p^gF0Wa_vD zl1U?Zd5k*#{$D!E#~LRl?0}BZ&TG`MgW^#OaJd?nK)SN9MOLV(YV^)Eaq@(Ltt&Ud zssR5;@?N4n+mxyoI3=1v_03Qis&v_OgG|CzKmu=S_NdqhioNQ*(E_2FhA|LK!es^I zgHZs^5cmu1EgwgcJOv=00@2k#^Vh{?Im-Pl0GuY!9zf$K0CWTJ2!R0rDm)2b6oA15 zCIk4Bz{3E#6=;%l&DlkB0?w~!MVq8epe7Z6ib;~?Ni6^-&E(|-E}_%fgh-M+Vv?l9 zQQu<5<B4t@Wjf89!!?x_LVN%(3vmgJP&PM?%(kXXI3cdR<dKeq(rV?jcEZ9c&LdRz zHuaq2rOeY%w)5YW$z-QNxkuSDsi~^7o0^(HKB+e^)2Qi05luydQnGO0U1nx(?lv#V ziANVEy-DeNm8ii}bREZ#{z3=+2wG6l=}5`nS$XOrTpHmL`bAlcV~Sef)K>FY!59d; znLKLJq=}XUr&FLT?3||!i~OJ!a~Zoy#wnJ8R;Z^M8+m{{>hDV0C@X>cNxe0W7tz>! zr%@{e=?^H+gPFl202UDV6hMW=06qlJ4M05k{bzvro<X$Pn3BIE5DOsvIi&0q0MQk2 z@mI&CD~kNr0jRMA37k&at@UzY$G@4$_SBYe)Iu;Mz0J!xTtdf`&5fXmX&7dgXORSL zX2Qp4MHzc5HC?+DN;>iKFfO4Q%JNSxmk?a84DG3-nth%+UZ(g7UgDM^i@f2{VL6LE zDIg7gbNi_n-uaK<mYxb#)J0yT1G*G;KnHHgG**Tt^4ml>VuceNiSkTT80-(=9s;)m zSVZ7v0P)WQXa=A)fHIdVh@J?Fe+Diufb4%1K*<*XJOki50xJPbBk($aivXgx0`Px= zOV{Pd7`zv8l}@HJKCv6MhBKCenDikp){D5*<z*Ny@nmWf+glp~H+aT`grfI0>(bkh zM^$VUYdT_2VNG+X`U75m!6md@S==Dtnh8O`05=oS%gS(sI*!?&P)E{B5U<0_a9l!L zit32YvzY2DR4futT+>SPUsvvgT~K)3Zh{;9q?Oe52`|6%a>WW<hT;-WCQi#yI;i0Q zGc9B3b;+d62jn@j<}){9G89r&F0yL;$)3XsXS0SiyzIv%lwKrfbPk~f-=hWI@gVnP zTt?oiypd((K6@8cR$mE4qm}qi2`u!0w%j{4a{bRg=WBi1Gx8%pPWns4a}OIPMElxl zTyu73Gdnn3HQ-Yp4^Fh4m3r644g1DMkT;OdTb}Y;wH%LIoZIzggZ#rh{KGxv4;1nT z++}k%r}vhLYw(nEw|QziqC4i~nbF*8_KkS&I@{_R#jR-Hh+%uMv$vnHJ>416tFJY) z2btQVGwp)6ZqP@&rm#QUR^bjj2%Xu30!c3eJ=4ok^n0Q`-X@j%)azH_RM2Rw=BTde zE6L`l%}2V&AL-=bGuq+FE+1sh?9mO*EdZw+wVB!DDm)b0Oq5R%XZGMTp}5uPxPz)g z#{tenjOVw8@T35(mM@HcuN;#Zw|VD_){qMw@|Dq<J$R<(UZSQ3{z&92*6_Q^n{V}W zj?@r?&j-x2qv}?Qs+++MMju(t8EAiMEUjXN1M0zT@_^pBt?rs+t8&FXMecF~_*GU# zn0xEVqxhY&(jv=<VJ}icp;I1*29L>a5G^#h^s6wrmg-QGWpH)6)LssZ&`NDwB(yE- z=6S8rZLhGWTB;s&i2T_F`)+iDKo~lsHaX&8_)h~3ORukCOf-27y`G1~9(DC5GQyhq z8aF)`04ewV0o1dWjCjq#t@PXjTAzEIdgdFWP@nOh)b|PGLeD6d+AKZo+^K~ehKnGC zgcBKtGd;tQkJa8#-uF=D2Zq-qCmEjR00=(GWCeazMj1jk7ssiWnNP7T=d}Eth+n?D z$@Pmc#H@AwBIpZ1!$U?w{Ao7#ccL<M1Z}y_b;cs&jNEeRFCoYmbL2SrJ;gQ6_L`81 zxMtZbRB2ozbqs)(P!HuQ;+jk?q-)-Wkk>VjdR)Ud=i_x*JuPRxO3*<Ej07BH1zyu~ z<BttHVC2K}$3`v30~3vtFK>4JAq<OQoQV@bo2++RJhMoPXL(!f|MZd;&z}ONrp2P= zA!rGuDOZse|LSS+8VGq?y!anmTwm3&#k-7zganUu1#VZOH2bEO(dfr}hN0QkZsx@g zZgHC`g<D{iX{w;3H@HomP^767y-gje6;x6G&Ae|2l$xfBmVM9?dgPy)+Iq2huFlR~ z2qAA%U;M|W=BWgmy3t6O=x0-1OH2>1>W;Tc^kY-!Yu(qWg?2&x_S$U2knlQU`sMTB zzk~eUfI7=P2A2mrY(pKPEn2*KKHP_O!I(5RU*BByA{2C?g6)@8_+q3&VOSEWuq*k0 zVTDIL70xcK@J}tScX@?9@X&VhO;liiX2Pwog=Mnc779cCjcyBXA^!tFon#e~=mWd9 zFjI@S&AY6HFYZ8v*HghF?T5k&ABj{b3?D}-Y)<~tZ=k~0REQOhEUfTjExz;e3OCI| zg|(^R$Ym8?h*T&HeNltyL;3#8DpvTrr^2rbD~x}}gk9OoDr_9z7$*g4$x0(r2FQs{ z?m5p|QG6tI4tk62E{64p;TrrV@KXaIRa>OWY{H`+zIr8GH;R)*^jpO5#K8`O-vzw* z47@-nTrWx=S&b?F0P*^Y&mQBevJ3JJqWCzz=4L!v8i@1EvdS4xtdEPWd>gu_;HPg& z4ZZ{XjYnZyBeCTm@$Pqn-dJ?idlz^m>Nfa%;-~upZz9?^ZvlRchja~I<~`sqErvdW z_XA#>Pw>J`ML(8;V~V%I#1g(f>h8xwI1sjKY)mfPc6&$MM)DWx;Yq^y?ABzQ=h(i_ z1ZfE!hLa;)1;VwJT+Tb%ISi7gz#&n|F*XLos?VC9<1+F!Lv*l~b!vLbcW6152+mwj z`8S^OY>jaqcZo(1qY|BP&5>7TlX1$!Y~sAF2rItE2uQ^rddgdAIV=9!Q{KbF-(7vc zyT=Jqj+OSJ@6(M-oc>B?HS;~{CTltEeM8I5c`<o*6UaY18XMlu9FO?kLh;b6TF#?8 zY%2QAvT9G{5$wIOTr19&SpVZz#5%u;gwhf?;(8n%Qc@1f8?LVJBi7|~{oYv42Nkv< zK0alve<t_};EDVIf#T*oSIM}H{ifp+Siu?XlFg_x{8j8no$)|N>)?1P^8sVB(1zE6 z$CFncO^2V4B~u;$ZH0=`K7pd=V~x;KF+BN0L=x`&$kymN6EY*n79aOJ>htO!N!FNM zAdZA_KE8@Qd_gMN2ucU;Y%Ed@?xHsAi!<jH_r`WZEnkAqoc`Jy%Z0wZ9k?79+#Ac4 zKJ|oNQXRTkf!J|Z-8ev{G)DX^7!iqh2GTAivg=kDqAvGHEvKICvo>hGCsZCXw454R zo{C=lA|hplCTn^0U_4OO=Lr<BTE<MluwN?O=xbS#r`_j^7kss6;Y~N;a2&%VVGq{~ zi{VuhCgC`SNhLJcgo)w$7`O?Oa2&(rwvXVDw|VfkwBWx3cc$z9E%WOnD5N{MN}H(` z%CWG=Jk5Z)a+gwn)hu*T9kFM&Dk;O>#-Cjfo#Wb8M{K)#higk6sk<-m$}g!{qSVWg z&*NEgBU1@>FcaW-;vIPFNO+3Wb4okmI#Uhm33PGmnIiS9g5HvRgNI5SXT3Zi9iAFj z5kXO5r)$Slv11r;6ZZGTF`{1wE_(;@OH8=BzxN5xi2Dj{G66Rwt{W@}f9wX_lsE=l zL*f!}Q{otKJ%NYHsUA1rc<(MAwn70V6>YxBe}<)EpE%2^^nH+bmG;NCN8>a1y@+!n zPUa^sl$M<FZiFv+_i@0-gFM=q%mEB|>p{S|*Ma{;kdczyHCy0!f54kfpz&m|{b%@f z#~6IqSac`mjk7BK6lBmuz419z{A}RXxqwdvpBs+yIp+ZXBBn*HY76*Rfm8oPkKl{f zmBxhls?e0E=Nf``S11FPMBRwvk$~Bp#DRoZLrT<v{;=k*5ErxfOKpgTQp3nl=|T;8 z9u0XB4S8M-c@Yg0Rl~4QsX`6IJsO5bGz|A@7#`8ESv3rl-=%0P26;3Lif9<*)iB7_ zkP<a^AR3z}M7+;{f!b7tZBBRW1SbQXiued#2_RuNfa(BN5U2;B!Y2S)0(gu-Hh`sj z@U!mj0PwSJ|3LiD-;0gLJOJfC126$V&OQJS0(hUmJOF<k0I&!^heH5f0<aT6%m~=A zwJUZe-$pB|eU6>U8or=)Yn*xXunN>l;m~q0#Pwx_ox>Y_M}jM!6kkic*Rs;1@)DrG zP>9?A)tVh5JFz}n=TR%>6hxxCp{naq)$lJkhkT0t?Hhr0ISiX}0IVg@7eJLGpj-Pu z9}a9JF#N^L-j8?XQpH8sfAA<+G7o^I7+Bu@3X;hH&Jm~p;I^+pUqpI!V2=Q!3hSWH znne|FLd7<+%tncS8?aZ7L2@sE?+6?L(DEBvaR~GufZYR(DsoZq302$+y=#T#bFj<= z_UgBgd;-7;0!sn3`3@>Zkp2p=iNNsZ1dAI7KhYq{It5kCq}<TM_qp$~oGA&0x_)Mq zRSF>js{8RT^XnfneXp+OhhrNUrfA>fjmF*3<STXt&nCtlH1oVB7JvRC{y>$xhj{67 zpT~I+T277af`xWLyB?ZCQOe}70p`jyqFjT%N6H-gCcfC%OU{e+I05{j0(^C`mz*ox zOuWZvp>sS>`2lH=tCOrgLJyvlm9t`Fi1is@W%YFmTHvdIKZ2QQC99vqw6cwOPrR2s ztG~mUF7YRx1OCEiHH4K>e-D7x;i5Hk#TTZLk*Lf3%Z<9ghn~!8r57MkW<4t{&V?qs zU|~<U#m`EMZ$~Aj#fIz3pWPNeCoPUT<+k`ase3YUX|cfv{o=NGsn9<Mj(deHgN^)E zTf9tKJm9q3;^(EsCx}anUyv5p{0%Lh4Lh@7rB7PCTC~mrAvFBoTP>d?ulBr|wwitk z1$&&?)G@0Wy!NbvJxl97=!omt6YpPs)_LHRZT&)>eO1Q&P`Nw>@O-FTPNW1XDHnsv zs=}{+hM$xZl%v$7Bz?|e7cA<9CnIA>=R}qCJG`|6^C56%{#@exYNz50i1SNDiti-; z-80Z%U~>|?;tX(Ei5A$5&;G#8GN(Z5Ukw~z3=J<7Ea4BhQ|^tPmfBkZ#}`Dyi)<dv zA5Tnv(70H>r}ipvneOX<X`;#9MGmjG*X6p?{gcAGkDBH8Fi+Z??*Ak%)BTe+r~9&J zG0dH()f@cW=*Q5&L5>&91=eXfU+L<6r3jDYpBE<FedN0F>x9%8e)IQQ_!2szCR*+$ zvHpTQnmfn-YcpzHfekm@CpooMiXGJ1NNIX8YYsevak7<%uQ(m5Jh0B`spVYyJ`^cu zYJyZ~ut!SUW8IRJj2`P8#~z-HV6zL__HmbDon<N36#g*%)L9m9L(U~*1;F0~-zG~h z(@Qy`q1d08gm_o-M50bYP#NwP*SoiSSJGLQXHCIp?ix%T1;FE1f%mez5?7IR__Di_ zvk<~xOnZ<Pq5|_<h8|)_r}KF5_ky+;cU1CcZlMjs3^3px`iQb5D$5q?kvr`>Mb8Sd zIqS7GbnB1cfb-ndZKq;b-D1I8CaO{y%lXa27!5yyQO+2#U#~1-T*5n#D-BJ4Q&?Ne zd0!l8pa^d$0(;ar-i=tb>)eN-cC9?9nT!_O1;6!0NAY`gTDl9i7P}b>CEy&Od;Y>8 z;m0?_HRXe9pZyJ|FTxpNoMUBzzx@L6wT-}U@XvwAjpEO>Ye!!T`4Sf?KYWynKTTY2 zEw78_dh9T9e&jK1@Q17vtGEpCI??wI!6T&nMfaFn*3r?Kht0T*Sq0Nu!*EHJ;bzgC z9KM5~OdjFpQgK;3MfPY~h?yOMS<X>STLn)zR!_(?e#fA^#tSA<@+N9hq#O~Ck7j0- z#+Q_p&Rq6bgl;*u8pN*?zO3b#SDjW`&LO>1$}yxLj11{pl*}8!Zwu80`e?aql~!ER z0bP|YU1hiGhoj|^7Sp4P<2^?5-AW}!NrI~)jOOL_;i`&A3>pMok^Vt0ep-24GT{;F z{Ac>3^Qji4R68ABlJ7Gs*LmRm<!HBg_pnu*kuvwBsK6r@b8P#x9b9hwm%wO>AV+X) z`xkov>If#n{_akS6$}8F0w6vCRDW4u>wuNM3V`p3>D`(-iaJ8jUloMPK5$$IprmrR z$I)tnqf#9Z?2fV3l*TU2gNBgHY+h2wer5)f(^VKqpsUTyRG_d7Kg`pPZuqX>ng{LB zrdv?azAJSh%f(ZEdn<6ENN+{0Mz8FbcLCeKK~j1P1^nKg^p+B(x020EgH3NGe<4!l zGX;vkmMYyJ#qH2UdCB;7+Bm!-K>qNu%>mkT;9wQq;Unoem3RTT^jykh(O`NmWr`qf z&!s%*3{%Zz8450f`Aq&&9&oNfJ;Ap?`yC2{YXF4(DOQ<FIsMx~X$VT`eE=R+rB|t* z@=)U655nW*I0j&;a^Pk{{x04Dj&DHt7#y*$D>c%WF8jaqWnj7rurJYz{S{>|-j2He zs~102UNh!?D~&|f$j_U9`!7hQVcV>c|K$7leu3nuM*b$KA$cl3Y!+^8;4U*UOcj>A z)x^(*30^Q5ZX${jM`J72&#4hF?Q|jJ!)79%`Xj25cN>OtgbBC6GHh=)n03p!4A_(_ zSW^rdJTV=Dp#Z~jMZvG|SV>vM^pY?2+!su-iiv@}h5jvZuGqtUgkCcQT#W83^r^(( zPep_JNke}F&fV-g<YQ_%QNYlY0n(Ivh>0TxitK=5Zn7TaH_3YTJ=OQEfkW={AJIvu zdg?IXpZRb6N|W~pG~&!ajQ8qYKv*W#Y=I(QtwQ|j7^Le226@w?Mr;wJ!V~=$2O%EU zpnL>4GM53!e3F-0yxhyn-MGY)+y5q@=fUQGAHWd;y8$G}rdTED^j+Y&1M2)g0l5*S zR*6G^tfM~bVH8(70tAW0cgz^z2BUNJ*QUUC)Nj28Mngaf@f<|?ejMK0(@q&jKIyl< zFpM};H4b-QTuC8~`18pZ+M#^hCZjT0a!bC##!ngoy3|~CLYxd1yy$;0V&>Eo^yzAU zH<bCB4MG1IcsN=TTBHJBVL1SmQW2_+_Qf5kq&iA%SDvf2;Dw0N^&X`LUPh&7{!MB1 z;qJ{=slnRIuF?w;rLTLG8u&1kKB@wjSz0M#sWVMOiPLs6g5Nj^4-&MT({`;$Io-=i zcv(raRN|z4V}y!#rD~15R~#(m@XOWiE``%s$()?;^@#1$a?a_?U9nR-r$;)|IqPBj zz-8O!PW=I&_O+y&TmIzGJ|sgs6JduJm<%;T`;ZJTUz|I%KbN7~0k|33UkH6MaT(fQ z3jGvu8QO=1-lRB&rwr|*g5!-4W}W?&R5=smm|WC53bmT`>JLKr8wAT4rV}Ld;LG5E z*L71?cO~(UFIL7syk0T~|8nrl7iTO)H>v2F=zz6HL_5hXWVElT>*qin9arLsoHt_; zz-yQ!XNx1Mjl#ay!sRSv#;qBjVpZUWAHr*9?69nXKx-fa%E^zlM6f<xOUBhDQmhup zSL=w_*<rc0T+fB-#*!&kc-t6g+`x5hI0<MYya6@*I?>fY%eCWu={wVFI(&=5xN?%s z-;Lxo`5k;;yW}@!_{$x3=~5=fHpA#}75fYt5au0rcuhOh-#HnU@di7*hWFP~fQD}Q z-iW*R*K$}_oMX3yGoyX^Ke;0`VRLQUs;o7fVhwHVF2k|MC+}rg!+~$!8nlL++0Q|{ zd27%bE{ES|W#R8kWob`o8aQII4=e3p<J@gb+E+g7e&~$D(@gWD-ybO$mu%YQrX(zq zt+G`Ee(PQBHP^;)qWuHJJ&nFDrAVWD0}XwpQvcfM-%7a|L~7}*KE4Xo@-LiZXOAdS z%l$=bd4;u%QmKEfWm>HwwLE@lE%ElcqP6TTT8ov6TGs!sT6(x4j==@*eh-yZF`wGz z1Dx5Rs1v4BB70R;{w`wH#%~S1ylFcY3ii!+7HND%*x`w*TWHonmHOAlcMTM&Wxa+* zq$A7OuNJLkWYJm{vX*@+^{=%|h(xb+<XVmPNJn02Uoo;sTiz~O%a5$()BiO_rWCCu z{kZX1q?Xe5<f64Cgo}8rA<$3@mHOAVj4E2o-O3;7muu{Ai`LS!Xe|%1mIeQ-mVrrb zzc^nenNi1i?gCVEp5yK5SuN*0mz-Bv-b_a+XSiz$%LCm#snrQ-ymBaai7@ddW&%`~ zQ7UJ<J0nz-YdBGAR-~L#+#$MFsjPTeglai0H9RQwUZmWu>n{)W>&vKjYNt~+8rk18 z9+SB)Uc}ze>*`K&{Ue7}y9t^S9wfJ@i!lE16(VRWCUeOk`BnHz^ozVTKRiUZ{st~z z6$%fv%~ypMO>_pmXl`jaBhL_XI&o?XJg%cxrmd;=<{a}Q`(0Ag;?byy+qX3XHa9nF zUV#ajyIeJc@{{8wz@xY}ujx0xPv_(fnDZVoaLs7pN+~UC?wZA94|7Ht+{wK@2s%sH zeLjQpWp|`zs%<8wRrkbLU;C`<P&0SZYgV?olis*IXYkG12FBCPV4%bDP<}+q8BfC^ z<#hFUex2UwveLAj-TOd<ZUvs!w(~J?V7b>3jVIf-Rc5n125S#<?1Ja-f-CszYLxN| z8oRE9EBLE%#phK3&X3M3-m)SZJ-Tl{eBeAZzLagv11|eMh{S$BnDHGm8LFF)!D59k zWhwK4C=OS`{pcArCRuZ)tY(zq7BFC@TLsxk5!nw#b|hu@|D&v7c;3h!f$YYJ>~@je zPTAN0QPwadrAxgD$ME^Rv3Q$WpUG(K=b<a{&JMn$DW)k14L~rBIV?)+Kqh7c2-QhA zKMt)lgrOkBF9N}|%oIM0!q`LV9Cj|2y$I3kwS*gumQzJBo>J)oty~_<>tmQ&LbofG zXIrQNA#Rm&{audg@V7Q%<#%G`0n}S&j7r8C9yQD``~?Q+xmQ_SJr^Q+z85{^GoWYQ zKk6|I&A@=J+l6*tgLpEYIxe#PK#I4%aUEg`9~6FPiN^2rdjnQS$eFlj!)5cE>sHH& ze%S;$k2yY}OtME5?dz>GI1*R1FSlC_X(3m-d7Ggt$CtMa|GN0{aA+%Vg_>{n4^DrA z*O?EK$L78%<FJ1q-wzoU<Z9HsAKbu+LxzmDGDZaDt^EY=49d&+#{nD}<jM{leXWeV zpuD}G;HY3L7LNlsS{}eB0vZ$KgN(${eXNYJ!I6G|c=`EVK`sERcgTV*i-T*moz=f? z3H-U>As0`r4t#a+wpGRt)jz>fAY*B;oQv-pf%m09AN<(G8=eEcJouc8-(Da5F9ow+ zQTe6BR|ZeH^md;EUlqLD#b@BvIT^18&$;!d<IF(D+F+t9e-V!%GS&xwRfnef;Xi&4 zV7|1`N=;IHUa&JeB(;*_)5UdGYAwYd407MuN^PO|v>?A(V5N3a{JtQ+RA8m{ReXv# z)=C|v_+&Y{V7^5#DadaT;E6rcStg>*F8FLbb|5wYeG$PHd=J3KRk^hQ;MHpYd;#Dh zf$srytpVUPfTaX30{DeMvAdC2GXazWu$w@609RZKpelfV07{inztML76~71b;#IKG zDm6q&?$Eo6q|ripOi2MFWVIlvo{$QZ6s4q|Bn=eOdrB&%q;VuglT>Y=cGnMo2l0_M z57NLjkZI;c2w;5SwFlK2s;;LhhOBCLDAIktV^wo)tGolM+$zsE0-GB%{Tc#s1EOay zAZ~QsPzgv!4VB}K@m%9u&%g_u^dfEqaY#BbC(Yc!+xA>^9juJ@jnEZ01~`&IC%imO zxhN92#*5VQBK5sUQ!moWi`?i%I(U&B4`QWn?TLtAE5|HzCAMl!)JYSizg=%zs}Kmq zHg&~k5!T9C(A+F+lW`u&STC<YIS)KeK9#UR&XO*wiRoiDRPC6+Q!_aEl(AI~yq2Zr zSJZup+RLE51wNmrg4(s*3f4*mIl#+YDi<e;=ZfNczz}*z6_4p*KE5JH6!^%h1J{@c zq65mnQDg<?E0)qNU^zq7BfJ|r2WzB%n(o&%v2(wNoQgIGd9!=N6k6yZ3u%E%vRZD! zC%Q87#Y(%j|4E!GxFgJk))8^_)Jbr)9Aq%1Pop8lf5WM|tbxLXJ#y@OW(^8+FL-@z zxMdDbe`O60b1z}XbzGqh$CGn|PpSiY>s-)>gl|HFe<m)E@rQ<)i+j`sKlf;}h8cO_ zF$v%LtRK-NIRG&$%w=1{dYJE=oYf|ya$v>4Of$2id9rw0>Y>&)RCziWKL%^JicVBo zrKq%wJgc1L>{m`cE4)edV15te{%D2-pIQaRC?adRDT>H2n61bP^o&)%WI4EIt+?hf zC2+>#pIvbMWZAX?{qY2!^&(m!tKO`2(%NIdW#1`lgUFYy4{wYb3h%xyct_wdBjAl# zsFC$e)+QlL2O)Nw)@CMgxMztLY<MEdss;%VFo=0rP{wj-t<tZTa4}DVYPT)Mo=s){ zFG5Xr!Ne(U|C`d6XcUfV3{GVSzth0&FoWkbbfaU4=y39zGCGE)GCB@|XnKEGDvzxk zZtV8{@KpBxs3yQAdPa!y=%#4zE?Dscte4(@G?l%ddOdqT{?)?XF9jpfJa7NT^6fcS zNdFF0PWEqg!^!nqAnGSi|CUpP{p(a$gpt+9qZ<#u0(F(f?hc$)L{>HRYfr+Nk;BsP z;Lk>PVc$2JYWn_gD*OIC+F<(rh_tm<Gq>-*68WLPP2Ybl__M%cCVz)#_E2N`{<shh zfDl_pYm4-Kk`}P<t3cw?zE4*=1JV_$orC#5>v#$F{VLRicV6C0laU>@^e@y^?EXYF z@<a&^-;>RO=iwG3>j%MmwE)iBwycvSnn24r;HJZW68fDj-46e`1Uvi)a5LObm0&dW zZk2*pv|3rehz;@q=uP;9Sk|v1eGF7a-f7_--v+wkK0{r<mEbz2Z(HCkurZnSdkH%I zsT;sOeDo+Q>r4p--|`zl=WEWg{t&$27Th<zG9UbzCC8<j{e+k!Xm$=7Ex{I3lEGHH zJ%g=8is4{Dj0J-mZ2mF)FtgJ@6)?hP8#1l80$bG2l0v>#L_+LWMW}JBM<YY*Z>5>2 z>cVchxg@*gno}mKu#G8ycEP9jnW(zCB%^8(j5SepOG!HP0CDNC_9fY2C9>TP%ND!` zap|xQCD~!iftw7}N$NWT+(cn#!K-yZ6fXK6KdwZzCJJvCLT?aa^VB*wpq$oPz$jb^ ziA$rfm(n>jj1ZHzIk+cVuX2d$rg08#bIn_RQMFz0<Net4Zqk&6H2QwjU7>a@2Pp6R z+ja!{+i6f`eVWz@+r9f=$D4U&{qP6Te(=RSIaP5_XY6+kwC2gDhE5O}q{sueqN&z# zpVc3=)#zi*E6>}8TW@1Dyz`n#Jv@_mAIP+wR^v?KB+J>m&QSRk=z<6pZ`Rdv_W0{s zZXUMdcGL;1H&Q%g^htz@#i06#K~wDo4`Oxw;5#&<CgUPOg-vvDrn&h6*GDz!qXn?r z_^2j*v>RyU6cu6!p#`3~0n0r;=CATu89b{$A-9ok&BjR9uo5-M#sxS8&Oz+3SCUW4 z@!#ge*)7RG%5mQQz^iT52Cxh9`Oq%6qn2+z#K!e~auUNOy9dhbf^yTe7I5$vOw-+3 z!VkzXn|*FA;c0SyrE(XvY_F#lw9NgHZ`ZLM5Eb?5urzJEyO6gFCZQq|RQ2hw9?)YP zR-X=gjB2a?r^AqhD(-5G_<P^xK8|k(6ef?JC<PpQa*GQhpFzk$hql{<F_}pTFvqJr zJXhGtrb$h&Fp0-~_lI53>p|RC%?4=~Yzh_tXn8w;=K;J<;8g(4x&qh?U>$%4x2lfT z_eEI^A#FMvkEFN|z#}QH?Q^WkcPSg=6D%P)YSn?i=mwYr&N67>hiu^i)53MomCS7# z6eQyF4#`{~17=H13k_rP&G_XV%ISr~fmYi?!jU-0g{;<W(`<}2yP(8$v~DEOYTeL; zi2xoVFatpI?f@PI@EQRBGXNU(0Pqrk2LM#QU%Q8HGmV0$*V$)q6U&-6i+*bcx|utT z**V-jcmaatx%-x#a}hbh1BMqM?PlN3t~?7S`9Q^9twC;eA)Vc89n6&<h#PgCdLp~< zv}1M-4?EsPl!qO&b9mNq4baeW)v*P4Q1G%dCJh@mr(oMRRK@+e>^`j2%Ei7-<_SE^ z;wcAH))r;hi~2xSXh+Ga2VIB?(<}JUvet4`AQ!TB!7FI5d|Vc#KjSgs9H=P9J0sww z(REFG0p~eWmHG*ITyHD8t)KpQs&|UzblhMDeemOeH5Te<waIqOUOC7VPV6rx^YG^6 zQDMQ&W8DjSa}uhmWOgp4^AeaV`N%%~LP<2ZhQ!lsF*x%f9q=fn3E$F$HEP0c%&$MI z33&-twL@A?PdME@MwEsY)Di9b`CKKq41b{sMT{`j-~7#u_<rFK`um8g!csy0?1KBD zqXJ`N#t<5^ybm(MRn=VnuYp$nN`>fUG>j<}W8{x@aA$itL1b@)5_yF%3aBNm*T_3u zqMYl@?kMM!t#%u(LpKj*q}snhsFp<KV9LmMWwHk|UdwO24Z4RD9Ndbr@|cyLi9LfE zb;X67#f3jVqAo-!<;(O%A9G7txzhUSnWq``Mars5qh>S^#69ygqlKNY(R6$QJyGv< zgPcMYGn&~iqK@D*D4z;t!AAj9?~i~b)xQ$h=fD!!_-QIP`v)Hkcg{TwxzA93!yS;@ z4qys^cvAgGf&B*Tj*|c!pVrPk{~A&<SQ4zz7%ex!WZs94chYMqw>%PIn}ivr)fcqa zxvg=Xlp`nx74BQgt>T9srp_+Y2seBK`;`1h47T%6C?ZFa<9{uT`<bp_VaQeYkR=+M zeyu|SmR+lk;Rhj(8jBG>=Itf(hZ#PZi1`RwzKOxZbhEX3SsJ#hvJBB6uP(5w&2(dC zk;Ke;Jl)A&#Hp+aZ>SAd`3*=Q+0QV1tn}KrPtV>iVR{Pgw+lMvyF+ig#OlHUI97pN zV0aP+A~QhIPKnnoz^d}NYxc*EyHlUQz&ow8NZLvC_kO4HZ1i_2*tT*I`nwo_%)tOI zf^#*1c(VD^X#0>9t2uwLSfjL=@m5j6=7zKIo|v_uC0*pD%}`{62Fk${>I0q0#Jo0g zJp5XtjFBhx%1f!C0uQx_oYkDsI$KqrV&yOFfVc$f0aPo&T6-9SoHjF9^MN&Gur|_; zb}p(sgLZ*b&TNO>8?BZ>yGo5h{tIPa8X-#}UsN*hBw3;i?!(mV*JI$(q}<_f#!6m3 z!6mdtxy)Nf<cwx$zm{E|bS>u#?Ib?yxB>c1?qckjoqxNo<=m=G;S-NOhDRQ<4$yLr zw0pFies85sB>!9we~y-u|3we~8V~=w9{%?{{D(aJdp!K73;6@bw45Wtxm_DgBT^C0 zk~Co4Xf5XiRY%H^1|p*|G~Yv(ff^aZR>cy3VT|>a+-OgSsLAGiC9@{WN}{i<XQKE! z`RxAkEYeC}_z9%O%HV4MBL`RGIqu*ZD}yU;gc(kE%W&EaEP>;1z2>pW5XzqF_#qV> zf$}TvL<IH)&<8*~ss8c6-T_u^pUQ9+L|b20^d6j7t^j$H3fZ^O7x4|R(}gMP(x$e@ z&s;n74RSiPCqq)2ih{9kVB#7^5|?&SxedV9U*MEPetEvbV39#OVJlB*{qpny2H6G2 z*os?lxyV*@1#rVitlatmcnm<9s&AONg{vF>RT>G3-9A)T%gsVZQ+@5m+bnC+2zeH~ zSzJ45F4j2xM-F8vUwFL(I!lfk?xF+o;AxsUX`~4GMgbpaP0EvQ8%=D4HEEP|+^NyX zFDYeB24S^*pc@V}Ypi0HZH3yY139CJ0~fdxg>}<h{6aLP7yWliEL$}XONiO!a6Y*g z_d7DiU<tvA*zk-7D&OQukrm%Qpe@*pl)fgTPM*{Ptw`x-uvHV~D@7?o-%zjIO6@BY zK`xiSl)+6=T7z=ExV{@c7WcHGRM0s<LmO0v-C_m^gCh^}&Jrc@Vc$q70y#1%P4&#0 zT={j7xpRj~aKz0p5|Spq^proN<)|VsMBOJ7SW9a&ZW}5GB;qQz!%{8#UNh4EhKLzy z_sU2!>n1}q>!t_HT?A$%16k?wr(poTBJycJam-!)s5|Cf5hbso^|C#pT+iH<V%2#Q zHD$bM0<b;AvR}1>2T?ZgZp7+N0GZ=3;z;p-3oLXGBKKDS3jxTGoub0KD7@I-GGB-6 zcVLhqn>ii|NR=Tw3s|)!D#H+~_O1s(AGBAL%Z)FfO#8rcCVPhNUqbLMaGmX*z$}fH zOK=vhV!l!`7cTg_Y5RFB2$#|G2|v?W>mPHMyUVzMI0rK&Rt?YK2^y<2UZBVhpe<z8 zxSS{!jS`$Q)~re^DRJ1GZVfBa6cx;PWfUq9&vu%qp4|^1o<#9%tx4+HF9C>WhpGH# zu)wqBsDR0^{$%y+qX6Pb70(_97I;`?=-I$l4}#chsi-XEN?mCzm4#f=Z-rU$HdIqI zGlrTfIWp!WZbjP@RVx>A%SE<u%zR(t-xhN5TD^>eipyR{=x#Bge-=7S=x_0az9E{> ze?JoX2C{A{Th+E^>}6M2r`VZgpKv>KFFUjC6t^>lXCqKaJTpF{NZF}wXYMnd+0=CA zk*6wXXEHX%tHGJ5V8)jR9!Fn%isI)W9Q**lE%%}?Nc0~C_9C$89|0tA8hT!3XM>!5 z&@M&cM^QfLJ_tVq;1qy(Qlq~D7X1S+zv1HSRmop4yZ^R827|2iI@$HHICk=IV>d;u zBn#6Smx6_4gg58aW2$EtE%@BN7ZzkPlw^S3ct2_<MZ#!4FegftGK}s3b40OJx!OZ5 zLP3ySr!)z&n>27F$VPaA><!WB9lxPD{}p7T)P4q8JUUmCf{D}MKLy!X*z%j&VuGxF z3q-=lvYltY3>^|=ESQc>JK4MWSa#~t`u6MZGDdw@9(y{wr94V@vp$i-OHuDZe_MsQ zpU`%XoY;|{?X=x1mB@qDwx5PL^(A88=QGj5eIEl^tr?~Xzc66)3(yzW06hfn2kR4f z06;4M3#TD3bO4b2Ab=hKUL-IGK<nu#cxM6t9u$h63LttWF8(KQIS-ouIRMjVAf2@N zHOjiJq6z1wsIl$w(8(uJ<#d$Sdk8g60C14NodCu?44@x?D;@#R1;Fb7oY+c60hi5F zAkD7lKDFoDXd66zyhvEk#}B)UdgmP_bGBTs8n}4=!XviN6&vxV-YtgCD4CBDOr;2G z?sL7YP1?*R{Svy7UgW-CznQR`JAtKU0pQ-?vjn(XXw3$|{lm5Z0vl8T_XYz!wS5eF z%lTbNTr&@bVu`hUT?AOp-O9|S+$&@`R~1;Iwo1%Zsl5}S@pLrvO8oC8$99tmg6qQD zpVIl690<bsut*+1v|TI`M~OG@g+O~o@RWS)$*2A5v*I8qk008;AcUJhi0z~L=^*3< zd}crk7-e-KL4v#Cj^q*T%e<$Cu_ctPtb6|UlP%h}O&4|8;1Xqxw%~!KY|bo!rsPdm zJ66L5vd@;>q`JUd8YlK)sXZER$Q)=je8NBOF?^sBwj~bl-`{HZr0`p<+3facg<X*F zH2P}*(4}Asjsoz=90aTHnJ8<Mx_2@d8!q$jT?o!Zl=qs8T*boZ(!ffm<5DW!ge4AA z%HM<F^=E+aCV2f>0FDr748S)J>Q5fU{<g{-q59^&!4OGm0AkW?US7o|G*DS0H<j>N zD1ZH=;3R(fG}K1PFO)DR;$%zEPdZ|gRh&?Ugwv?vD&I@2;%90vH9y5_gP2!3zYP2y zi153w7&1v<l6D3kdEj+Pr=E?neo}9=r>+(L#6DKT&OZ9tc-HhpJgJGjt%kSx4#DyG zYjk>xZF;RcJZ*Zdh4cb7v@ksdfmVJB)Pr5@x7N~c!+{y?ZM5ImTdPooU9fQxdZQfB zC18^7s+wW?;0O(D=buCdcGts?qPtjF*j@R`+EYx#xmNH>cYP0D>8_Z^w7aeWAimtA zGEIMj`sTh=h$Ll$nDiVk+i(eesVv^^a=%j>dP|9JXPK;pBg#ho-Ia~?BdGo=-)&U? z12rcukggh{bavGU5F=gn#N}NzOsiT&T^%p$D&zimQj2s|?XqQUe5O$z5}X3jF8F*g zx2{L9a2WDYZJ1JQ!spmuHTW*z34KrF)lq6(+V4KAVwSxDV!<gWKlM1q)Mx;^pFkgw z>VF7W^(P^B=;xqySmkC@E(33dg4`LDPX|Nr2LNXQ#FHA`;#AOzzKNGxadCQ8G45(y z+_5G@44KhCkq?3c+dY)P7e$;CdQDO0Q^}=i-)erxX!=-*d`F2Spt|1olhm~Foa`8! zU;H+Chs-z1ovI;Z7c_WA_xZs=Z{1M<Zyh{|<8TIF13YwA#TdTqLbKgycCB+}VWMx8 z#uR6rq5D&w#S${*RU3s=co7Q13tIrKVBz`4il<Vn!5e?T5UWw@xZbds^ln)%!Ip9h z@UX5?h2F<4tC;WkbR4n7-_zy4!Ta_aRY)lT#EIKvZo0a>?O0nN0*jbx8>DMFt^7jD z`JAe=6>!d&8rD97x5cF^LT^UHRPpH3?(7uERI(h(xvAv@yhpPMn~^DP%VpcPcXSJ* z7h-wLrW&3cprJ-;1s$utLW8E^_k&bpFNTJ+;Z~D5KB72H3W#M<kMFk$(~l`KMKxI< zEX$yjk36ds;FKim&lOAl1QZ;G%ZH$sYN%F|m4DxW5PPE*s(-9dnX63rnQk<9?)TfZ z?txiZ&qZ5JhW8$1-MyW5)f{Qvy@RHd|KNKYWhYwrtd#P6pmg`gq@y40xd@`Wx69Nv z6VkN`IsZvf>SXX_25?D<PQW!fEMPjW_$#WrHLaN~&Fr)U&1?>|!_ydCHv?D<z~2Qx z$wg>*D{YedJa!)l{wcVO0M#l@FLk`cH%*|j4-K(9mbsKxXj;8W;JA!Tb7Om5;#Z8q zX8+*Xiamd{t-7Zi@z4xZnnwSkfDTOK2@}Bb-Y|L&@cDdrqBUE*S=zpfZSRN62DBx3 zCxFI_0Zah!E`U(JMjE|kB8`t`Wz|vf#d%N}E74>Jm%4SwN<^8uV||5n$NEg&tnrl8 z{Ul_9M}gLT237tDU^#(v0Gd6EJV+}iXrt5q@L6?B_$E<=#;pT`m>Yf$02?qGKxn?Q z|AV=q#p=>XiaVvtC}i#JopH>t!2GytH|j{{+X_*@9lNx=kvN%c;KZT*hFTfsy);(E zT6h&hhM5)Y^AV{U_T*Xk>9|N4*lP548#C4WhAhLGP9cSa%?n3KrKY?HJYyv4i8enr zxxZHgPLW>^XT;09Y@+z<VTCQLU7MSM{lT#C%|(^9MD-sutclbvpp`zP2G~B6cIU#w zc0rHT2zqJcXR_zG8(u9b5}%1PK3sy--S#Ee@EI~9o=h&qDp-{7m+u1BSO$CuZjLh! z*iT{K@AUInsEq74%E~w>wItNViP*%dCP&Ohl^Lh(tmo0GEqPM*1<q+GjGhP#(?27m znlf)D^I7||SHQd;<)^?Ld<npr<&YxPzXjOD7ZEw^LRW6rS;#$OS9k$(KcRg5OOX2t zz-j;q>^7G(;T$-xwS(Y{CmbCO&qbHw<w{<v<KnM}%de31w^X2BHh}N0F)flr1Iwd3 zpfI`zE`d`@;%}qz7rLT`VU2`g>P2^^O<;7i*7i1~HB0Q9X!kUfS6u<S#{<X(U?p_M zy~{(&I)bb#>_v3VPLwYq>pK8?uLQ6bK<>)`mIG+J3cx}D6JG%^2f!7p0XzWU6$0Y` ztX>0P7=X#I0_Y8(;%jg*Yl*J8%eE3OqG*}cJ^4@6J-|M_0(B4h*tRm)LM9i$00Nx= zEF{ndfU^!jLzgELK=gW)R07b1Kq`PbcnBDb1uzsqiMs$;=Y7_2X!lP5G8?7-X#i5* z1o>G2O+h~TBFN7H8UGgcO!=H{gIc%iFIbmtCym*R_2O-B<C6Uj?v-~anUCRCE|<(^ zc4qYLp?O#V{N&;J)bIo*T6yLx0$ifX29J|;wdqc(IxTGay*}nhr@n`p2rHR83uSXX z)EbvjAMj9bx{Ug~hdTH&>W3ccETQVwlc)C69-bAKX(*#%%XYmdRQZ%asH3O6ur*^C z+E?eJ3vw@DAU+D9`@7l~;cCW1q-1oqldjl;Zupd!i(Anbb(GAC8owlcfgcM_<O>%3 z`A7KQIJ&Ecub1$33Xv{7Vpt}5SRODe(RnyfO*R}AGEC2Um{uC5STaFR5x)05e0w6w zvWhDE!NYVuqAcq&WiizYqa+={jK&qm!E^9kTd8QZS9>^fgj0JiF~Wa|rJ)WU5p5-V zV>LQq6-K9j4S+Y^N3!F{n4|qS`yzUyjlB_7Bo*6+8>yt~xQ12~>0Z8bVj}Ky>+nbH zJC(GHlI`rI4k9(0QlBen5Bd<R1eJmfJ9aaV`>p6t07M_cr4AF<O_~E|gOrhHXEJGJ zGGR%wdIBmXS(W?%0Fzb65AmK5CM!u)Yk*0j@_ht=iRumlOjL&e#8ayzsuHX|)An0` zy^L%eF~RARX?laEY+I=zH<@o#M93|WH!J${XY+pt4aFRP{)5E%@lt1vM?3`0(&B#; zUq!JZ;=yYRYj5>`7w_T`zyJR({+37lo&Od`1}kcMXhBw?>HpE{%LJ`DoH8ELUO$2! z!IUA>#n2t-Sxy%+RlEUAriz%I060~g1dz$8LZ*qjAETJl#6AL?CNg&EG|}GiTO~08 z$}}+=r7}$v+pW{YWRTxqrPIV(l*%;mmTM8HoF)!{kVI<IU$}%mQZiE$2NuptYL-j$ z`AwE9|B0$PsjeY~S*{rfN&R>sOXz}<i>NYVG?%(KMxO+ujM1!`#?6bUtBu_g%}Pq% z!!cS9*U*hhHoDx=)`4U6fUa>9Xes_UPJ4*t6iOab@}=Wccmor3#^c#wXRsy}9{GJA z21s`!k6M9Us>JMoC2+;~nlkUA!Kdw#DDufKoXnzeDe8_VEpDKd@qs)a+KD1O1NctY z>r&+?PnC6{0#)KHpXF@S>_Su87nTQp_8Kz0E8f<h@xJX#@0|c3Hs*Tn&-t-qT5xiW z?&PABKgbH~#ZGM|NMC|r?2M1$N`DauakBVLh~csP@Tb6K@tPRJ9n`mhSCwCCm5AZu z*U7)liF?az6#NOrKdNz~(XvKb9(V<BhrCshJ6idy5~$Q|S<D}WPxh{ra%{*y=&lEy zN*;21mz*0RH}a5&yX3-OU1ckoZktwEX`ru`i_a%0!kdKk5hhOTd371`QOzx9rbp4P z2oHWmujLX5fi{ZC)_UVb*musTFQ?i^NGEK5)$N4(@~gOFpW#L#2Vb93uARW+<VK^R z{AjJ!KHNy~oLGkW;zF7IJlzjf-JnSJE;8DgZySJMReN8@1fLE#AA69=V28Vzw|~@P zw)Htv?C3{E+_r}HXe%PC^N2sK^qa83l+i&d-6d^$<u$iW9i&Zv!4%Ub!}Y`gw@sa- zO?3~tZR#vqjsZ9Eb*tc49OAKlyr88$6q`2o5kh+qV!zfPV({c4ww?7_!1x{k2@tp! zh0f#V8D4O&be?B_(9n6Vwc2@4dFZEqZ*cEkypJp4*he93?ubh`g?Gdy9NtbQVn`>M zQ=+x^p8@}N*$~J?E9`=y>v1>9gLo+AgSI@h!`w}7_fgT6p9AL!K+rkBN`K+rU2gYr zfXxLS*T1)wvBO7I<-T<NwNonj9JsvewMH$IFcT$_A?+RTy}1@H<U4ktx*Lk?ABOLF z`WZNnKX)h2<Ili({&@=UP-E4jnN=6d$U#;@9_oKe$+>7;#`nH6sKSKob{}2w997D_ zuxZ^v;8p^IWS0ugrr>d3i*>kJ`Vi$6k6;?x1Yiz;cvAhJ0ke<7mh`hGH}Hm;U5=yz zZR24^vD&7!X+dZ^;ad!CrrPS#JKZ5|%&IOuH1`txFz|TFG8@;BuDkjxW@G1SHS_c% zj`bF_nn+_Z!1_MWU#XHe($xlzrBll4dD<waY_gPx2`CD7Qyug9{T|tBT7IeQ9FJ^^ zLfODMPtFOIQWr%A>ozwxVlVRm9v}>VzX~EU;P{3=6F^T_cYHTbPs5>}fqdjwRi&5E zvG}tKUfd9kmr-K_%`o(aSHgTRXYye3KMAxPXSL)Z?h&X`^Hqm?!s#k#kaP0MV<>VK zB4sY+ku&p!^w{TAhw(NHaXM-VALZTxjiBhjmPdryzGC?8i_=%R_=4Cw3>Wi)ldt6* zwf9T8IXKxtlKIO@J%lHtPpK4pcbk@*r}2+mh2NgVRpywqTfdIc-#QmRPK&F|4W(rH zO>A6c4(Mb)fmg;f9%BQ{j|3#Y)<yUUBSU1xi>k!IE)-Q~6XX&^UkV;~WhGU94u{91 zdNo6FsmfoL!*2;2-2*sTSnyb0Ash`Z_B6_$uF4(GTtqRxwDqQ@VJ$8FHP%rl8%9|} zuPX_A@lY9TS<hBo3BJteMp0JqZx9oYamaxZ-M4X+6+M)fF}zIT<w0KZd3l1DXL)&% zmsfFV`UsS?uWOViFlshyO=%(2)TnZ)H&D|_lxH5{WiKz=czFYtcry9V0xJ6rmZ=Wh z>;D!&EP!_3rC3*|0@y{KFn}`O;}k(f0KWW}Ci!as_y{Hb1^}))j&{DA=Ch8dDea?B zd${t~8<AdOuk=~(fg$Js_?y64aCSd|<@8AanMZipi;HtnrQf{5XKjEeqAieLfHzTd zA{lGp-G*14GpXpy^4KCIb%CKqHWPT>j#<*VqK<LOgwj4M04H3gEAWVN{DdyXpR9L} zYuRkte`Dpz5R5)RXCLR~94^kU%EHXt$0+uV=NmlqP_UnO$5!ZiZHr0ZMQB!uj3!am zW>m3^`fC7*uFK2yytLz`BQ93y?znzc&$Q!K+K9h{6zNZ%;k?|%%M@N_;9@ziX!kQU zo-@|T#sluuVU@E)jptADQV@jjirgY~lJ_v3S1QwF4W(j4I$g9aEN|^8?_S^7#>#q` za<sl7ek;DqLz!$SUNe5uA<lI9w2-md{QW{D)5JhA?PasB4@^*HObCH{72z2VtK#R_ z&CWWNA=x2ilban*WfW$IQyGQX!7!Taa4MrPI~dri*!vY|J7l!2iD*0I(RRqA%`h5m zhdkOoH}Ez*lgRp9WSMuq6t&Dd29jKJG=smLHM!<!Mq#e`%7`J?7znwh1CH}%b*RN$ zV?{I9eEW`@YfR}}3@FJp84XOYWP&X#r`AgF73P|PACPNE`Txu{n;RSD2~2e(wWcGi zsZr%En^99S_$~7Sh?&3g@+~h1ajC=ZDI)M|MrL0!=kRhPFHL!=#Y+`j;;Gg@0?>;m zk!QvMxbr6@rTYMEE(X&50G|65Nof`UNlH%wIC&b(%K%jS9ea99)Wk+*kY8XQhbg9G z=R;5V6`u0e4Nd#VpXDjv;wf+EDR11QkiWO5ysxKxoTq%hr+kj5yl>M&J<AKrL-#f> zEQjr~DI}vr($&01hI%AM($&pxU!Ja>QWoZ+5};$m7fn|anXa7sv|q_q@1NLAR@>xZ zGZ_!RmS#3fi}hQhS^a-!vp1U=gFBj$Zaq(tf6r$9wU?M+-Zxfx)5wk5HfFPL3|TkN zxwu=ZRA#NemC9_^MB6~A(ij|tIgnD1D3ww*l}f1(Jmoid%4=%}(ZqhHTytP{3)5Co z?lTmR@qyr<W-4Qn3)N60vVM#tLsUIgowl@Tl(k)}mJh?>Rx)r(>zCwsUJ;WVNBxbI zamJ*xTJO5a@r);(o$;hI!)Vgk8BaPhu$A8RZfNVC$pkb4ooyHNecw$$rgZaJO+YKP z;fuhQ)hBbtRt)IKVkh%YBp_1$KNC>9HpZ(7%zvk}rrbD5Kxen0rpjn(W@%pHdGYb` z2Y4j`6%jc5zY-ADN&?C`uL;QimnNWHBryS1`uoxZG!!M0fYt%1!&TAmYG%{oF!NZ3 ztcdQoperIOkQLDyl*o!G$Q99Fq;pl&@*>h$i<YL<T=#s5R(e-6SnqIug!e5SnA<{` ztqe1lQ5dAMaw^OjAE>I?H0H+2ecrn~XMCb8Oa`q$zbt2%WUxoO;@_7zsA2~7|94Wz zQ9ZY5Qh1Xh|DF_%dB)Y}#=7VUczQ9xEODl&@f_ZN8nP~NuxaWXQYwdc2?QnwKZo}@ z^%={nddfShZ7gr*DgRT;Ik>x-a(vu@OP^fNP`*bfMb<WxJi{J~PL64-wdpS_9zD`K zvn|F|@LiM-M9&A;0r&twJgL!FUXPVtRbFcH(hwJ?w2HIAKd6c3CYG;RxKXM64r)9! zv%%x>E+tNbCT#HFtF1AB8mcQ#L_=tRQq7lCJ#x5LtE4o^K96bBO!isMFBqhm^B||7 zRE|-jVBR1cWEe7>G%nlH1`Kq;<StPVxl(=&7S#(U4U#JgOB6TXk}Js<jG|t83_R)b zV@ml^RdR+@k&@VN<VY*|YJ<ot?~|_;O$e%r9lwImN9It)kZrClAK4LGcF0z+*kZtB zsdJ~CJV@@EgZg(0OVr^Y;9cgI1>8?c-Yq;)=QB~oC#IaYpUHcqI{YRMZBILIa{VgY zsPfM)n6@3AJQ}21tyG-D18|7I!vOZ%03HL-+DWzi&jP691Mo6{xd19{1mMF1LjU^! z{y<3r-Mdk%$VHeW-{7qO5c+GNsm=Y+RuRC{1X2O`0s!Iw^dw*d*a#q=g8l};Qi7<h zHGr!^06GF#K%ggp8quj%S?=!F_{%hiJKOwAPIeyt0M7=#1Vd8YVz@knOQ^Q8=`Md% zo;Aj*Fi9R<2lA}(Rt5a3f{y|lD<3xE<S)6j^99wdrKSVCT%fuemCYoa&QJk$vMSnd zp3cfi&GYN<qf+I}On^7`*~#!mQg#efbp6{H9+_w(ziu=QE2H#C!+x;)QFt1JlMeDy zJr-&zDBFKD%yHBPeko@Hba3S1fL&mkmUH5F)_a(qDP#&|X$2HkLA(HA1e$XtBFDcM zJ)Q$YVpgH#2gp@AiW0kL>~@u-480MUrv==b39V6tF=@1Vy~lY(W)RC6r_scHpO&bQ z%(CQQ;2~{r6T7FH&i$JnhKE!u;5wg4A#_%`BEJbb71<f9(ytE2Oa~dVyVSCk8Uc1e z*N=300S=DSnP_fF<cbcG6Efmbtzt{2Bl0@PD4zzr_^=DWJBdCgzmrq)LSbJApbc$} z_8mU2cbU#LN~SZe5wd&kUB2q#<k@fs8`?-2r!B>c&kQ3r!Q}K=K3?`WR>^FxRr}$R zxb1s4nm3n6&^LBL|D9+DzjK39E}lvhhvicbN4TDf2mWOl>?FM_uV&er0K88>(6`7J zlg5?62%oesWId|6HX#wy#D~$%p*P5n{&p#eVf;LR21x)40BkJ<U^akN$r#w=_iqMP zA{E2<BLF)H><92*7{D<A#{iUQygy{k26NvXh_EI=23?VAU44U=`fmhq044q$09Td) z&=<h?vH(T^*iT>_fLi5v-nPUksI^M?t<}`_J8MPx)ixMd>URM6%0r|$fSv@d0I-n& zKPCJNflL7H(x^?c#0+&bZ-M!jwK4inC{KDFEJ;Us@n4CtIak><OGw;i;|)}}&B4iI zC322(!WT_|Fg7#bP6?1yE5oP{HTRH<lCa3?ro_le<lGbH@Dw<G#Sl`~O?SrGR_Cvt zu8HHcXt7=J(#JSXJ94O7SQ*AvX!L@Mt_B)Dv=8Vpip;8zYSkEFb^eBt^d1q;HU{mM z4wMfoI)BS4bURR|@n-Y%j|-9?r7fND`eokQbyW%nR5DD6jAgThE6YcT^ZPuE^_0;p z12`b?b_KjA;%!q)nW<6Mt%k*}g%-;i>NO>Dtu##Kxwe|5u44HEp7Q5C<qHeT18cNg zwtuGD$qVr%sm+#^D^8rT8^h_YAMrJWit;<aCK;(#RNqGgU$Pz>w;tH{(@k(^y70{e zpYMBoi=lId;9H2-&j;P$X_bLLz7cv1J|1}7xV+(3=gKzgTn#*CHcaTf3sWf126w(j z6rBelHsu}T7vo!G>doMMIKo*^ILlQ5=be{umKv`GW(kIO1xBRIn?|mu)GUt_w>M)> zLI24JXEV{?mz=vV;VgBfg%u|LT>WWiOmVTlwn*9CVrwZ2t(VQyliHKNKZKusfgc2B zJj?N`b|$rKA;<|_r=^zjhe4x_0OmRdhPgRG7=*ejPv<pqTY_=PgWe}LV{;2XW`o}) zk!P0VP#N`!p3~RTX=s|fn?><+z<tuwRUGzu*Q=2JB`U5GE%-D^+|Yqm=c*1P=XFq> zn0HMVrEm3HX;5$4#Fsfl`!?x;crJ*?B4R5kFGp-+!|UXwvN?Ea8EBzYzJ)f>Mtvuf zU2jDqlifb|q`lSX!{z$Rs2xz4ENLJ?Iv`o1(!eHq6Ksj((#U+BO9+oFbvu`oC8hbG zQ|Gcmfb-6kLl9@%U!tM8;=Gsk>dc8!DmsPcn<0}eGQFz;AB%M?=zVWMFI<gKr?)!V z^wvnAF|(oRA?T6cnRV_i+Mfr(45=QX=bCC5desi1_MT!`S@znS>KyLC@~`s%`%35u z&ID}+1cFlm>;X{bQqJfnK=Cid<qweks{vH6o@$le1mG9d8a7I;BYVL576^U85gXi6 zIQkH2cvY#gGaO@3JNi1>chb|zj7>a+s$qp(&C@oTsHD6Va|F%5fz6kJGFF=V1gm<* zGgKz9s#mls4wXKpDkj6wY-No6RPMB=`luTG!5rm7GgO|T#_{Kd8AFk_49j{9PMj(h zyrVh~pqzhp!GTZRabh@j!A3Jq4F1?P?l`$mLg8!R#U<YE7mXMvX4pKSXijknjA@Ft zH~s&hppVr+V5BAat<I>`cxH|ez5)TS=Ce(r;Q*Tk4(|Z_%hUM$9Qr;#7xS-5a6~LI z5@xoRL71mh&am4JHQLuyXJ?E>U$G}~f@Z#Q$?B_O%w7zLzwL&|Vs`j5j5EG@1O=QX z6Z;Of(k}`v5jSY*mbtmS2g_H5t=fOrgS<bH^6k-3yTIOuAFEt{J6M8Jnm~_l?r4(f zWU!$8G%5<7KzSe&%PkiA&j9NO%x{DC9f4Q?t*^yWj=%Z)R27_}g38Wwpd~E>G3h8T z;VigQ_)2s#6}2w~z6|Fh^4$Vz(llP)CZE$ldHAEVV_;wqMLll?7OP|QA<8mETQtDa zuKVr%%kXo=DQH~U;C^>o>6_$3P063%hK6qP^T1Lv7uV@;NqHh(u8ZPB_sApE^tb)p z{vUVm0i9LR?TycKo|fK7LJB1z2?PibLhk`YiXfqgbV8F3fl#G`bcE1F0z{=NMFd4a zUr<0rh0u$jAS$4UpaP1D-*4~P=j2I<_x;v-@4erD{j>C8_t~>&PdRhuoP*@Ut&D^Z z926<9lnxO6P*eM6B&&o&j()XpxV|sc4l`KPt8N%ff5tKpo;e21@(n*QI0bdHWuLrA zr~M)S4HxqVs^-(v!9vt_ovUJq8lV!s;}27{sD`W#!zYjg-&+It-*sX4Iy>}BP2eBZ zM1eOP^w`I?TF_?4Zn8J~Yoi^gAsx@?`0k+iK5%@0UK;Z6I%r5DazoCn8=<_ZA-NHw z>q#Sa5apb3Zk)+bZWg)=+|Ud7aZeDoe$WsTYa-1bUVlr|W(hl&w96R#Sv$Bsw5#FA z{c1jKysC)C13L9*BzM$4Q+s~_EgIYCanebuR9vERmN0ZL)XnaziaOK;#1_?82|-S3 zmJHahL3!=nL0eK0a3RF$iU;kr1{k6v0KAk6zz@K<hKL1;cqapM)WJ{ZMhHj~!dl}e z<_Tb32<wNRrA=@pF#-U-?5MuG0BR<Xx=*6a<*E2G=(D=aTyT*Np-Y-ZsAhqLg(fyb z<=?}PZ(5W?ZG&oPQgdW@*h;A}4o>jjC&cPSEZ-@RJWuEhLIY!fhVCN}e>EtlT1Xvt zfRk|25qcNQ(48%)P$GqPekwwRnL;{pIFA9vP@^T4eMR)mvYQYqfmyve>8c<-`7fPV z&4^XZkVXg>R_Gui^PiC<5oq)!UP}rU9`w<!#ky*9v`T)%gFad4UFzA?p**^Cr)U2j zHhKbjLuZ>k?wSp0-;sNk?fe&L9qLpaxl`$`u0IQ@yLv~DuCD1`=hmPbb>?pGRiibG zcHu6>eYvaIt&>%PhP}pAgLpUYmB9nXnqY<2IAoi!)v;XS5HTH|@TOeCb~dddmRXc- zLfL3hwg}~2i?UWIpIVePno=~lpGp|y*m#$MJL(I>Cn%c6lNMj0E8haT0Fie+05HB4 z06X+AJq;ibK+!ae%h3Q{X@hOGG63jp#EvQe{szTSAHdMIV6|Y@rpb;D0KNewh*GOd zH{D>VC@^8V!}l_tr=k#alxUcco<2JA$P`GzI6t4zm8YaI(}sCT`}!rsY2JCnw5RPg zbQcwt)kBwJZb*G@NjzuU%o0DQYY8(&e}ROZZ49?<heTF8<X&I~3f9!Yw%wq<MO5^l z9MEgQb;oC@+gT9Z-R!y_e0GY@Sa{pFe;ZGt`14i8aO{z!Uxswk_E-=#7imgkTCez~ zLSz_;ybqCy5J4{mX)%%B0O>8#nk0!~Y89vUDlJttdriVb$4O}U=Vfr<Gw`pjh|%mN zokxY4nMRMy(x2^16gL~ir9j1RlSgrwuyA<>kK##WG(?^ukz*brR1fy(oDeOKdO7+) z%fq9w<k62J=IIgZ8xkB#Khv=;zy2!Hj}S3W{n#I+-{(R>SCi%sdNBiiG>eu{^adAR zMH-zYB;D)V)UPaW%8W2&Vh2i^cp=gf_SnyaR!nG!jnliQPA9&gsV<(8;k<$^qpHd6 zM#$Axdbp{!@*I#P7cKqoAi%b4zbmvn#Q>DV->`Wfl`X>S4UJdnfLWf`85-Y2IIlq} zxM&TM{48CVK)sTS)*gF+)@ds4QCGjI-Ifz+_y<>W^p;+{td~9`*+#jCiT~Cv&Bvb4 zi>IKBYG+=>fSKq!6kRZ;I63|0w{W_TNxO?ewa;3nS||9plh%wHztly1Eayu;zSa#( z53W*qHhH}}aIR7kp93G1js-XmnicpUH;p*{G-_ycQ7^E0*sbVGD;N8sO_PHv`Fp8b zQtdRjn9$I7_tzNShJoI=HwLrb0Cw~N@GOAh&jEM}!2W&!QUQG5A2T>9diw<6rcn|4 zDMmlB^iz(0s^BMx=I3&~bnB;=KsnXyhp%Fp(4HiE;ivpi{1C@GlSotX6P<-0Q^_2G z29nl#FjVwu{D$|*KS0eP_DyE*#P4BYoAc-<Vt+*JTKDnW*sX^nbBOeI2Qncf3jgka zGlLKd?>Hb_fe)nu86{DH*7gp>d;(1Gw)iRE9Y4hJ?oFg2_z9VSpO_ejDoK(vfT)ng z_)P~Xg-ENIv<bgCAT=S<n?x%AK7Ox|tq%#srQE-I>w5O~^Fn8#$LlbyPmtOXaXOTR z;f{2$l8PF|Z!&N!(vR)%t_iL5D237Z=;8c|e2iIFP<;9~vXo2nrKQ|A1I&f3#@7y% zxv6?z?Mg;0qR`oQ?KPR35;^IDv69x1o|_VVX&E0#!g+I(?-ihRps42~bG8}LUt2a? zt0yG%yrO5U{(~^$hixt(HOrFHbJ9GL3fzGbJm;isM3td8sGlw;nke{7Xy<zsMtC?# z<gRuC((dviCPOEO5wQv?g|!{U3af)|zO*{<9t`O>Tsr85Ol?M6u|z{%EvV`RH;uDA z+;J<!_8y?UYRv+8;N>?whvN66n5AKr8lA`fkuvm@VE0jhdcLocM>L-43bZ4a7Uv)P zr2=eWy`+d0f@Z$o<hL-7EF2KA0wG942>v8-gkS`R;6q5`(N`Hs=y8xx40Ymk?3U+r z)t=C_f0vNPbO{C7>6&N9`L)n#{xEKdZxqx8EF`(@8Priu-74$Mk}0SIHVPF}-o8BZ z?p%p=;UjuwUj#bvK7OX~@H+)Tz_Hx#<l=G)C(c8}fj3D+Xz-8-RgR~nX{<z>hogHA zRtXwC26h0C_|t{mF>KU89V~xo+<qv*?u#c)66UZB>EJc1B1LZ_dkqo@wVtG~<v6!? z0_!5p=(WXdZ7DRFFG{Cx9xv*s46_89LicH1BNNl}8nMay9jzaA#X38bXWSiJ)y?0_ zj2p@`?p^qyXD^Kp9%jzC8o!nyvsXCJuo)xF*{Uc{z{@i+p3qGDKuW!WLJ|^PJy8lT zp~sHI97Buh4@Uu@W%i!Y0BGT@#$whXd2e4VNWDYpr#StTrk_gmQxiX_J)s@vr89un z)pG{v*k;9{tm%%HHz3)G#QV_CQ2dmC9zVqPo(v#*4t`7}b6C229gDj)V6+^EmWZZx zb<9w0*PNw-$nXI$R5UHBj}Oyq(?TU;e@*OKw4&}OE^0?Hp8Q5EOcu26zXD&LC;3ny z?gcVq6*9_%&{8`s-l0~LbR!^sKZ!K;Lt2}L(E2(DB0ET=FAx<%>uKyusZ&H6OIn7w zV`}k$v3rQFg8qfZM2GiHXl#Rq`(t66i%e^gyGP<;?yV;Dax@^VR4gRjCxrQ!)-?&2 z$I^BbX-y%m--YR^6-{e-tD!mfm0CwC*Qr8PJSvn)VW1U!D(d_ZiTD8V>+B&yk%}!T zneq!nC=ecRE#rCATq5H}xN%*oPa{!Lq%RHcdKXx)W=SR@Lr0Ee>J%;$+fACQHS@X2 z{ML9hA^EP1*=DX`a2%H>=}eXqcyS#q^(lNPi^Sq|uJHiR+$>MYKpbq@_kY0UOdp`M zRvm`CPU+KEFrVk;UgGkU24JoybVCHG(qjBqpp{0c<$QX$!+0R0)$(d&<uDN699VA& z+mZBv(B%z@K4bzqZ!YNkh=`_r0-9fzM;mZeeN}1XzNOuWv_mFBI~8=T&9tGQAuwGe z028h{)DmdvArW_$`U!(R4EUyIc#T$GG4Wn8rIj&HxHOWV(Ohmly8A>eiDY)a>>;DO zMcxGyx!O7leK#exI(aw+&e^id-Nua)`Yb!BM=mOL6h8X%hn(VAYS1JMf2mJ;sXJnN z2h>vPRlj}<!(SWFznP4R64B8O*v=`~`WgTrt&Br$fsA7)kRemCmGC@(w+WaDAY>YD zgf9Y+13AZH07Hqg2EY}ftOf86DEN!s1~|oA4?0W%@pCf09gHH=L2}O(Hl5x=z4;x? zIJQ8mphSmy??<fQ{yvQ31y#6CK{Xd(r950G`V|PIRIR=NGOlMpuMUH*<^Vng5J+4{ zPhi(yfagO1beI8P9Duz9%m7eyCV)i%x&bg|id}ktS_X_#Ga&TNvywHm=j9wA{?ZPm z^Q<7uDd(drs`oAfbIM|QNH<_os<Z1+vnT>#IhopdTpsaXFj|p6<(g8O#d<@m*c&2b zK7P!bPa@#AUzp+^Vrc(|7`ATpD-L2zil&^&g**6O=g*j6asF{qG<CFDC`*4yYH~E~ zQ&*b}oWB$`h5292!P+6S0;({LaXS`_{K4gv>Cr#pPNN;metXk&@L!0gp1NcnCSZQ5 zX+|_Xw-EXw^joKbKa=g#3p@k9!|R_?W(j^{lGnyIXx-V2m+Pxi=156bCI!5{7Ls$> zd;6mElgjlSiwB(M37$L2j!k2gGCz9W9HrVXh)@;iO=T$;qLaqz2nT(00{6Q|YDASo zt}Kb}{}XcM9_Sw~M2Zm6yG$c5<!(Dhi<w!7W>Z1_Cmre!(N8D+?C2qPpkE#Il3B>L zasXZ-pag(ci(rw&9F2h81LkN6AZ-b{RYw4Kz`BIu9o>MO1hssB0LkT{FaUtpQc91I zF#t0_3q(PVu|QHmcT5Kmx(q5W0ysb_3jnNLPAdEWe%dJQe`*rkJX9pK`3h_lucx0c z@MH84HXSNSgJnt`{V@eh9PUJ^ym{or;=sCZ7A&f}ScoI`>!L>hsqqpl#z>GSf9_Dn z#3CQDaxB`!r`f#i2fm7j0c>X3+Irg~40FMVcR1vbL?=8AfR(aQ^m*<2eJlpQvn(lh zuFy*?;(<X=kG2%JlwJXGgG>BL=#(!wA%2EafmvYaE~kl!D=9#}2S84@<S(&&cd!EQ zSn`^<RLjRybf|1g{tU|>1*=#kTm{o#QT|2#bNAK)MPBBz(x7|Z(ml(%)xj#Z)VDBQ zEijmMjrS$jS_j(I9oV2&!qi}VEA%}Ws6x?!HC<nd)AT_HWyeVi(=3~0$>0)Zv_u#5 zCp_qlq|Hgbs|UTBwCiE`Fw%p*Wn7+}`FV8beQ71WUg|D&q+YaJ3z_4&d!F#95`|Pi zCG2_yM^hKr>GaSP1Q8!o_*D)9fJ#T`79vXaZ(?zCFUwA&SA|u;XN(2Di1Af~({q&J zi}gd$*}&;OTli9YSG3py;Qpgk_%bddY&9?($Xm{`PXXhn<il6k>5T=Oh}&C*zr>GE z-z6+Vg|B2@t2K~yoJYAY^V8F{a)1xpf^t_e{|&-lKM20Yzb3o|&WVO+GvE0N`cGH6 z=}-5;uKdDn>Y_tlae>OnK3tp=j3)TMG*2%S=s4ddVbYWnh6qtCGchj(Vyle)X!da@ z31XcSoh>(>@rKFaxGfTXm19s@#A>i6dTRD&Sfnja5ts#6>ogT9nmcCe5^){)jB=+7 z<M+{ME;@)(-|FPJD#Vf{4M)gQ4)fPbcW{%w@jy>Mha;&0179_#pCkNf)TV^<^z#w( z_XF3{&nJxY^uyE1QI^k}PCga<hD=YNMVix7xxPdDsFcq||H>r$+c}tSjxk>GHQ1kn z)pE*l_Azgg$rU_zlAcszqh6D`R+tb6{UT8h1oypyiW&FuTCq{R`>T}ek=5}^O#7nG zCh^xLZ}5j~hoBte;t}1b%g#E~=l863bJq^g?M4GBwI!cBB2Un>z3qdoh<4-wuoGWo z`KDEJsQM^WkATIaXoBB^Qi{zNxAKorTHrPWFd9yQ?(>#z3Dyl>2i;MH>S}?e5P<Fu z=x(ue<5+hfSb<l-(4(Oy=CFL&{sJa{wshlJ_biorM1=e$3$-0B@H^WvN=oo3)54KM zoNebNrx7SR-1n@=(CAr_Ww>J)0UznW(@6JZ9^GkHmq)HQ#0MJo2IUDEbES3YB4?4N zd)xD!l{_D*+^a-NRu9}+`DB@D-Sb1F%N_oRYfv(cYS$m?E^sG;x<Ik@W*4~2Ux-~u zICp`cnZJ00*#&-OJZ}YdFG8ny)?}UH_l1uY7N_(BF4K<pPU&^iZ-QTul<pRJSiJU4 zg=5uz*HgStBu()THq!8ieD>u8PS}hQY|JIBuKf6m&P##ob)CO-yxEiWx-LL)tP5Wm zfSLz#M+@JA4$yvro<XPs9Q)1c0EXAZJo<MY^lT6MqddC1+axV-b{M{Frh0OR`6REy zP^_@bpiu&;8&uh$`l6D$%XH!nUJHH&#(<$yP7_yv2>CRSU$Nvnv;5~^6?;|hmn)K@ zKdq|;%D+z3uwxQgvlrg9?DSwePeZKOc@fH=_F7;#+wskU50S_h?Q=ToE(I&_faS9$ z9%XssnejR_)CDR-Pv!<=w9skpea52G0z#i}qy<EIX&&k(Lo69(yei=)`V0^HL2;jK zZno(8ZJKeQUUkrtQBE_2ypIqOqz6EA=}k}f&;?-JfCh%D@}n*L3B>qcf8aD!{M&fh z?T<EsWBL-b?`2G~^rDa|w{2lv0MoSuV0vL@_;?)ctMU^c?F&XKSGmiUyuR8B@t;{W zc(|(atA;XEm3wR=ctHOFs>*L#Z2%th5x8M=TbOQRG<3|zzt0#AKRpcd9gT($JHTES z0}n*^Pf=C==0b`F_kd}KLH-r>nv42XaTzr^Tj<azk>mdA4SlKI>OcQ~Q@gl$yo$)I z*Qme#UA?0J^Hw7h|JZ8(&{}3|{@=G++}$B)cWJLykN#b~`04!rEE~zh|9rh#XVVTv z(QsNp+`*_~%l_Tr!&?MJ!)bz2Z<rHQL^y2`ytUPwpdy(cyB&BFyvH^rD%>YrsrLyF zTMRrpoVsDso8|;ooaOV@a3$DY-Wsl?;N}`GCfr)X4aXK&IQ1HOLWed9Oziw5|6apX zN~!Qx@buwM%u>|rQ{ouE`xfv;4}iyW(ZzO|%e@4yu6<Fi%#Ec5|9FzU)>yb+hUFLT zHun^^gd4$nkXmYMLhH#_!yA91R~5c7DL5}`_tDd3$8Z|0hP_QEO{?PmBj|d6q%(Uo zcn@~uXaO+)W38Q24VUZP!e3E7D!DX<HCGgVn!Sr1g#Z9Q6W{<aYcGJ`p!W%YKvHs~ zfSkDxTLbj~G}#ZJIe<9?v;#2XJ)COm2Ecm&eo{x_Cs;gAo#=_o@I+qpK*}!z5>p*T zEeG)C``CPV6~Gjtyhd{W0%aS3T%v3T&>0l|3!?FC-BDe|pc<%R-|*QsRPhq%u3Y@w zfT-&bfV2Yu_5#>Nz%~H&4x);r<hTKBJut^F075?i@Hc?@1bAa$Y5pOAA^`3I@Gc1; zwLE^NeyYn&t>TH)@kAPXAmyI|GKGq331IjkRH`EYRTGp>06ry39{{OD=?lPi*sLZE zZ<9XL#Z3V_WnlO)1J&FGx@!}DUVx}88^Bot76V8)0$?V9WdH(6$#DSKbzqK90nGjg zz&QZl5pWei*2e&T0MO<WRPzCVR6B;BKR=gh`g$ToJdtP*q<kEZJ5*defSoW^J{drI zEl?^02tNu+T>v>msRy7XDEwFBFxqyK6n6#el%C<q4zxt_Z(t<fqMxtn=PZ5#Nx%^V z?q=wFM+0z_!B51es6}M}Hvo9o0pQ&fKdJ5T6BnZUR%#a@-<kF5?THNXK+0zVNvn-w zMgrLT862MiAeSgp0sKmo`2d3Ifbt@MdY?;Gl+jJHk`|%u&^u{`L|b6}rC3>1$|hEO z8X~Z)bS&CIJ61T$AS=rAw4zLd{dcH`(~XCe4LpX-L{Wk1VCYq$CLZVVeX~IR#ggC1 z^3G#e34S9vgyEC_w5}GY0|AtE0J{Ddm@(W9!Jc<Gz2vDov3z6dI#fMyv=?u%)s5f; zrh%a?Y2syVX$r_gEcvZ0U*tICcUbb8*c?P`K3$c|Ct6d^fSyFmh?60V)_<>AbOejH zqejVKL#xJp7FQW#JQjQBG~L`Ga++f-uL^x-z@??56sc;zfpeKD0qk<jF`fT3MbV!v zdyZ4jTLC<HPloq;YdetVl|6*>g;fyq?-I`QRxr<7<#HobnX+P(=64iIyBt`I>YLtl zG7Aq)(#b3w(CSDl)YbzRq2W)3(%g9k(X(Y&_SQa}3Z=QTH*9JjPKVOm`OZnxhcnFY zdD`^hY$(m0Th0LIx$|5o&7JMfnRDj_md~3zFS5P7x$_Ib&AIbZsOQ{yIn;CRG%?Jb zgE5tU8A@|!vkSQ3qp4J*qk!tE@GCBP&P8)7y~6mwFU+a*D%U=5D*amUkL5D6YuMkR zx_kQu)pMxfZkZ_q!)T`b{Sxe+j6xKH7=QCi%$#>1R~B-5<}4DnZkSRx!O(XWLc{3J z!lbW&C+tHygoRP%N?)NJx?#Ap5gtaNJ_cMFy{6_}S~i45N~BEm_LbA~UqaG`x7pWu z1ExSvpHd&!g5(kR^p0WF;N!lgJ_CmCW19FEi0G47K)!6rcVhV`uc4>^Hcc07UKna! zEwBy()SnwT)C1`1p8iuPh3O+=g?WYPK$>^D8+e%>b>|X%zeNclB82qeKV5<rs0aa+ zkbx40S-L$~w+&c<IbdjcO&rPcM*Yd!X&M1$K~JJ+Ocgqf0P8KfIRcECqP1uQc+cYE zCA88eL_gy}FD+?8)_$?*rnMa5(nVq*IvISh#tk#Uc-%09WR4q|sB!HqyuLc+C}-w) ziBI0RaZvi~QO@iwsI%^~pK_nNMmUcfpE1AKcV?gcocruEz{|WKMrjE8zZf^-{Lf*{ zU6PN0+roT&RQQ<pEP{R$U`alO?KSNl=&=k(xF8rjMx|7iqvKv%-bKHO)0m3;8t<A+ z$<-ebnPb_^wNtKYo4LHx?e*$d*gR<u$4BnHzI_ewDW(_odVe4+oYz9xBy@qTdA(B! zbb<Ni-bH=~sZ#X^kw!EARA4T0$CmwUfRFNdG8ekd+;jkR0Y!^nZP<)I3mAR_-Igoc z!cC6F-K1{47gnBP{zl+Izt+VL_6s_DR4UdRz1?2ENOjh0#(GKLBa?lT!8`<x*Y0&F zaWHdg)I|O?5ba#j9_;3u!?U5nH-{VlfK(?A-y9x!3kwsvIs6_0baUA6M*wtlcpw3E zbNEvLMvmB|o5L@nQ0WEEwMBKW<XgZuJ&}|M&EY%6b372FWSCF5W>Sx&zhZu<;Z-*x z(Sz%;<2E|8zX*kC8MAY;z$pm$l@bAQ2KOu}oyrO|qamt4!hH^=T`8d7hl;B-fCfJy z1jKdJ2R0j+qXmGI075zdH~`i`XgQt*Qt}Siy#X{LU>Jbe1dIo841h6NN}~X5fD-wF z<&k@p&>#OAnfo~jhGyxbrWp58YJDV-PV7Eh%OL8VH6*I3jZmLH?%(}UpD#f#dKdLM z31B9GK;k;S2euzr^nDLKx|vIVSy05~l#i<PGt!LS-0_rH&LYb-9pfPo+84~wef0Ac zew_V9gl>*1cLTxJt~Bpr;V3Qj%rq+94Z!{jVzNmpNW;}$7^Rqu#)OnB^ltYJ^|jD> z!=DB-`m6#SrAx+ZCq#~(^S9bo6*GO2z99+Ik0VtJ<rW(%?&aT8)B;^0fIoMD$Q0af ztKD-7deLa^&2f=BJ3EmE{%qOyK(l9$=AJzn)^yJv%{|xWSF>l2Wp|bVH|mQS+C4vx zmPJ*(^Y5NNkM|f1^N_k%sMHj<N_t+TXlzr9ZLhb0vtJ|~K-lpWvk*Afw;2ZcFOq23 z`4olw-0z9b^hFX4GmiUkuHOLgFEjq?1FRPKEvp(2{tb@;^P5(`OrrVL%YQhmYuH|7 z7T~XvXjL%<a`wTou&eQ~-+_k(z^=x(0M|E&%2Wu7(jnyGY{D$vWOpdfToukCn0h$V z{`Gyx!&zh0B?uh8s~lT_JU<PN->f-W+sp*t3`mx@B=2#ZivI!0{!*wVnFGl#B*{Zd zBHL^S$-rDNbU~Up8bsVh+#!xqau~-2p=@0aBV?7H-H_+`BwOj==S1Z8H4o{-p3=Oc zqC-xc+$4_S!RRqtSBl#6vWQQ>hvDW5oeKSf>9q33qY>0GoVmhf|9<iitseaE{Ig3G z$#7p!>B9Y+A^ApKaH5E3B0|3loj>+#HZmpn4lPt5!M{&ZMq6nWGWD^TqS0Wj(CIGi zb*AGU>Ym&BpoDU65jK@nCRY&av|YZNP}eY-_vsmr#7wG?BlQ$B=pH+%d*D%g;!^im ziMH0=BZ(8@ByeB#ghMTdpkCuvVn*jbktxYw=uFYX;~+l!VO~m7>mYU9TZBX-1u_L> zx_F}XwyKsr6on`7E7;Rv4o|5R!G+Q&qS1v?^j~m@o^=LJ{ml0f#%CI0)m)t<Sx`!; z<n<D?TsuJb{~L}G(cAqpo`eX(Pjn=H+DA*LL!tE71Pb02!SL%N9J6N_Pl)Ng1Kp|* z#K1t)b*-colP*PROEh^KHAR_j*3Z$hG@LsJ3SFQ0s`INv;C*Z^e4xc73Oa-F-XR&^ ze-`W3{rL=AX<e|2o7>I6!(BWK+ZKoV-~(tQM-buGM_9<+7-2E_U5B6_`@=<_CXB!0 zrcip(!Grj#8a}=m(qFsj4e(wgCfZc|H6E+IPGdzE{|y%rJXFPh%hcfKRs47Ew6l<1 zR~I&}yGxG;oK5fzmi6lR7i`>gcYsV$JU|^E=|$I$xDeiV8w~w@fjiv3??%yuFgae2 zTX-WH%;)@Wn5yUX;SV--$q}i1xH9$F#sF8OvfE0*tp<$8`b4VdPGI^GTpy^2Pi13q zz7W2NwUXeQf&0VzhF;|TkpOTj;?+3ujX2@%1p}Xw1nI_{T=hdD^-;0-Ebl*8==}1H zX@b3(qI7Ml;?H<d#d|``J_8LNf7YuU>Np}4_)Nmjv6)STb5PGS?h^(l2B`Q8?Eh|H z_E+mb`Xb{WM*zQ!XS(CRVCz2+zG4`nrt!=uXlI}fm%J#t`+?f)Z$TY29u*Dz7EUh2 zU*-smWqcOYHU3L6@VT|W^rF@dFCM7^aP%Ho;YCe>!&o<}a8m`;zytL0SG_)A>Xq+= zx@8D#eeHFDsZ*|Ns&CGdSYU@^On88&dgH%k&*#E4)$=>9*B`*b{Fdk_#&Zcuy-g}! zm_p-!V3j5%aLMYtzgSCc%#J}1zXQ|nQNTyyiIVuv-qdpAA;-%y|6;oH#Wclpj=j8} zgdBf@0Ljx8Wt@YY*Wa69zn&L;f`C6i0GK{MP_!iO$0v!td7y0~zx;&X80f+s1Xl_? z4KszL$Eyic3QfK7efdpStzpTprC6e21G5%3{ov9DOR@(`jv&eD9+H#$V?4YigG23K z`5kETXpHghJRJripMxP-=Ff8}_weGn*4Cgf;}0{UK@EO)sp~Il%_$U>nclS{5WUe9 z1B%^y@F9>ml?JN#ku-=##zd-0XsA(yi~@qIgJt(zDr|u^lS^i1dA|)auJxdwfJpgm z0Fs+wDZ3p&yVyt-vKPP<P?kc@u@A^RQ2n-u5i>67Pr<=7(=x>48{oNk{2O{5;`HYm z)ZC%YM&cTl7GCk=IDKl+Jg{h?c8CN(ceyd>6)zR3Tz`Psjews3ECCQmB90>9p91D6 z4&ZJafU*EW;{j9yu$6#@0G>zy&<cQeX#mdxI9LWiPXH4V0Sp0fi-2(ehLuHKX8=fU zfdiOu(=iiBSUEV)!S`9DolFNiKG|yxBtkR64J1P7JwTz$%2Q2^Rash+8h8)H@*22! z!3NH?Mt$Vtjb&OdoWq6t#ORAW8OJZ>EXzuYRK<Q2p<ofx39AL(f`H#65ilDDTgPy) zBiZ8IUd^`7lIXzYx<C@e9=I~f34zuNBcQ>a(|5~^w!)z|1FdEbRw{SId%AMb&mz!H z`tpL6++<a<ERCZy@Kmk|AYPTF*@K206Q^<aW**-9U=56T8`<MKsD&-NTQS~W1&!vq z-%$(x>Ira4@~IWfNo6Cyd+rzD{05l#&1|D@Mc_O$XnY%RK0Fh@#hVWO8H>`w=9bW% z&^&p)F4}B`?QG)#bcz)e(xJ^0Kx>{WVCN#);TG7<cA_ew1+I$_wLm7dz|NO+lhC~X z2pXC}%cwDc+tA@J=N*yZb4zcD1^Qf1H3Y{}2*A?^AJhLyi8$_8M7d3etd~1^HlKcX zBDpZl7KVcfbm<ZE6h+*(1V_Bq=|GBjJ$Q|;OaO~Jju%bP*}7V1nPV(U^&hKhoeO*t zMz%xDzYoy!fz;%_$%uQW&+uU4g}@C%mFhtFUmby845Sn|1iWs<N?moMoB)BCC+=HS zQbsGGuWDphk;Of#s@Lyybud^&=qU{6azWNN#3vN?dT@;6f&`rNQoTGa@l`k(`c@>$ ze2(P*(?fi*r+8k$(JyP~*M5qEOAEpcR7DVK(PN&<W?4p>hs2%2B%HRAIw$Euz!~R( zs4fp4;5qXZbY?bL?p@#vJpb9UtC#fAZ|F;2L2XyDa-=G?iscD?5ok$TEGDlcv=X&t z^2-E<r9`U6)3F*iO{O6el2?9%OmM9MxfS@XB>?sV2qdOsGq8v%7)o~mr~|-wTHH}+ z#SfrKiK!oO@~WuZ<AqxST;fpvnQsT6EL0s1z|cDLc8so(N?x6aD!FpO8jdpDUly>! z=g+y6Hn!?Gdf<D!IBU{)rV?wHMU5i)+-r<5%u&>qJrjm~=HN3;keK^|QX664=Vfn$ zaJt`c1$a_rQKLSg5`X<bsWNT(4N|F(**gt;MTQW+ePf%7tO{#hb8Uo^wYI>M+T^qL z#0I50c4lkok6DY4fp@>1VTn(#<JD%SJ!p`<Lu7AwK6_1Z1EAv(wm0Q5dm}A-M{F07 z0)JWdj<CJz)nIQ?K6^FsiqDS29F%D}!Z3FwZP_2fUXd{wByel5O$~#(Pgz`&0w?!2 zk-6QT=IW*3Exco6u(1>xD_1zRN)@4NQ(TV#DvQy@1Hy<?stAoZc)q(<d=VO*^lRj5 zB{G7I<oNF~oNN!F;l$RTYz`*060SRA`i{*Yn2IaPJKnW+h0t^n(HU~VwEnF1VMw1v z&@37}K-JpAOki<Wv4d3WM#wU_W!oe+Z?Mg9`U*H$^d;`#%)Y}_t?yZk4crw232T=_ zXk8I1IEM$*oAGEz`sNX+F>viF0#gK)TgR0vUIQ4azn-h#sV0V6HodV3dBFQhwLUH~ zLi&FY1$~x`9l0=HYj=?kOQCz50DW*R^h_dpUk2uVoqq1($MFY#d}>FkXea73Lrj@( z9T@|4hYO7Pknme3Ts@`G!bS?CZ-Os`s9fDA9T57XUDz}F$wO$DhfwG$JwlQY%?K?W zDh$yGrfbAn`#45iqezj<fB@*3aZ;o0a4C?8h1KXcvqs;E&*uHLCQ$dL8u|TJur?K> zAgWC_h)HeSEj%1GtFCHLnsyLQ4!O3!h^rE4#p+-zOaSmEfbw+!+yU277eH8DtSFlS zNN(j&H&KG46_D<r8oA<35nNV%q04q;sw(ly>5kDu{h&*TQh7?ybZ9%e09Xo5cX8pD z0w3OKEr_ZhO8T+lVHR|1eNg0e1lTnl^mm}@8VBGD0D;7HECe>79z0wHKs}Au=0ez! z4J5vPB+QjYdQM)g+bj+2TK7V-ArU$aT<2=>pS*NF<>|6>rnqq73{}K9D(OH&@JG;x z&ouGT0nenpVt)5qcmV5pF}VmAq7?Sg(C+oNKb}z=X0rt*;2v2}DMr@s!P10YCJP2F z+El`7JHE>}-$tWC4m`DGdzVI%_jwWGni|vq<53NVCDj9XIX1DtMzY4D?sm4m5N{d8 z`_{k?iUj?J3|YCbI%}EjMR=j*=Cj-h$f+Re(@*5;iAJ@C;Bwm@2)YdXxKk1L`w-{= zKpB_C-i`&h+5#K(<jpgq>506F>b7RUCkj(-<;;}$^6dYjAhfnnW$99%9Od;hj)Bb` zhdOpa^pG5jY|Yl%6phyzV!aoFMSr&Jt<b?p({7}b#=%$M9KX2}_-vfs^n~rPvz2N$ z+DUebG{mxvULfCY4C{3T?%W{8o4(+s%AEA5hi+u`^vM=B6}X)m$2(T%cHX@45Pp=R zhSCCuV6fD!y(an>*^d&Xi<|I3al*VEn4!N7BX5GzsHq>7k){@E^+srFG9mbB!f#{d z08UfUh{mYHA!K~=^|0<$VdV*|ROx~=`376v20Z9$WtaL!k~0;>B!3@v6y>=7B02<I zKLdE82|99h@s1YN+aQ8Ud)u3RWj^XgFB*5Z78&cZK1ldV4REZ{Jq&5k<{InszNvDC z3WFQHoFE*7#H;Z(_2g4L6JL>d=S8%BqQpZaK7*IeyCTN=arJkgzn|fCkgY$&`O5}E z2&d2qtlE&V_K!8%YoNMX<Hz|VLeT|4eE`nB`5NkOrcy2!_sI-ys9I&kF`<ru4mXtG zM}P-BvCvR1FV@1lB#i1Ob+@1wP?Uha^cN0t&0!uvrd?IMg`y+9c+>fmX!-ARD(4I0 z75A5Fhw)zW;`Iz#B;>GH$H=SobMVfSdi>(u#HL7xzN&Zw#@+(vn+w5Z5aX8)7w^Cf zTRXqSVwlD%)KxiGc@%4G6=Z|2w|bX7=T!LELk6{A#l*{aLaq2z-JZfXCuCc;e>wEj zo?}R$L6lAX36Gq&MT$bII<DVhQ*j?r{|ahDJz^m=Qt$+qrd4YesZs_2p^knEh_O{1 zryB{qAd3ok+iT{%SIY1@s*F!Xh@NwwY6_LHn|CID5H^Ka#l@_L2ie?ew%rhp=}G9* z&tsfM$=Up>IMs&y%8*3vM8gpNaCuoC$&>@u@a9OSEdWjdaBdMnD!{!@5ORjSwH#5^ z#&*L+=~{!TpUTyL4hD<RgTg|s)&g}daY`o=nQH+7#GW?hmD^TI4@p+vj4{l8_{8#C zZK_^xCz(zbeSrLD%YGkLc#08;_fU*3R%_e`UZ$3)Q6(jJF^1jlWK%7^;gxv?yF8%+ zTpl#cBvyI~J>#dLhKU~qPLJe4hZ47aOBu0Re8)C!5k3|lJY=j(D`4YPiyMsX0cM|% zylHWhaof|tAHAehi|-k40X*Q`3E)34?rra%hzD%(7cdp0M2lNC@(q{vzB%x8b&_mh zwD99zunF3Jn<Ro}KQLOY)k9j`J5Kd4Xi%OnO2y^{y&{HR)ILZgRu6Eh%Pc`%h_*K{ z=^I7FAYH@%s<{|Njgdkov*B>+akC3Vg3MNB2@kW*J;LRS@-u?au$``rdD|EL9M4r( z?w>u_C<i0Dl@(>zR#9p`RCvlo-gm;|AYn(miER4-^zguc*-QeDro!~1@1KT!%z~=* z>46YB$4D;cKzK6piB&cAE@JDm23;FcbWQ$hYb;qt_f%mQyhAV%;=%h#b{eb0F0zpU zX_&&f1dRugiy1k(B~)9iwSVwlUlCnxGw8u>(A8E0XbK>ZxQ^YxCIT~-iq7S2PBjS% zx>+gMbn(uE*s53a8rWjvXyQcT^SgkO5l7!-*xgl0GA8U6yP1O`f=Yd6sJ&857P)rI z`!&e9DuRBKJR+j^9$?-F@srvTKb@t_kfT7Zfd3*iyiWm%zJ#BT#GL*ff>M=<dlw9E z+vk|{L)`dHZif@UL=OT|J`z7Upm>)c0TpW&&<_$+DaynPQfTl8hMJs5cZSC4LE|v! z%59eI*95O5mW8YG`$lw4iqS`0oE77*PHSWOrXbE8PML(AKaZ&XA%*dNhU^o`{qF-J zMrrJHi6iMJFbr?9UG%c4031VYPt(AW%1EecqYa`^0;RM?LhZz^CU6=??i1dyJT&U@ z@v=$nfVUn8d5yc;V;~uz0va%PAu#)~BH*U-d9#baeUnkpJIGt!qz>rDj2X|M0g1tT zogPGF#1xRb!!7?2DxfV(AA@wc-n~rJ*1>lNWbTno+A0m`#8O2&VDapG1)P%5)|@WP zX$6koBZ-0)>H|Wc?${g}nn5|NUu-~O<<G3Te-_CZodc}4Gg=6-OtPQasnxyh&&u4# z!$G|$Ywe-i5brl=WeIeo#T=eH^tLxJC(JTg`3u5;h8Mf-Lk;_Ic!QpyCR?9^CgUdR z!%Z|Dwd3vUfah519`FEeGL2)qI)GcuM4K4{WyYc5q&du?>fZLMS*E-4z8Oj>9*HN4 z__4%bHA0K?NQ@CXjmG0e%|!4e54$TYyY)ToDrZQ%?iak)N_aaF)f>u=r*ieKL60&j zgDcnP*+})FZKw(u&LS!)`Lv#+DREU?m3NS9Tlghlwu)6SthTrab6faTVd32`Gu#zv z9E^!E;0>0;t8@dly69zjUUZZoV4I5sRP9-ZA$^=h!o<S`#K4~|`!;O*u)X6f{s?Z> zAWu!v4EP>!!sSvBY}pY5=dWPC3?Ps=@qQrN(i}zc&-)-cVga~2VIZw4MJ>mj@k1np z3ttS5?VVV6#6_s2#=_^rfs+N{)&3GeC>`)uZNg1d<`edR2M2OXRnzBB*ymv=kA04L zO^?i1$mdVB&%cAoK5y>~pNZq?b6^+oc@Y4kzUb32hfEX#pT%8gmay2vb%KzGN$&_k z6-nCcQ7iaf`wQHn4miWU9}u}1suce4LMRkbWF*?}j4L1(?_2MR!GN0c9Lw9%oX13k z8VN7CPsELkQ9O^NcA);UwHowkhfJv5V8DOCNSvniE^pY>aiG2#kn9dQyhbp5x;G_< zvm3TiE{mUqyyMImC5cF3o(NU$LpjGPX}6u*MYYFmL%BZ@#5$FeAu9#6wB6@<jJpX# zpTqudKR;SV=Ca$*Ru{L0S_cl1+mQqOnqrUQEKpyC<$4(8;CAFFKXTizJKVM>=pI&> z+r~QG_~dp~sIuEr4vE|Dp9*?9<#Vg|+I<H5p|OIx7%FNdF9gkkGIga9>>DuYLl@2> z(Fp$7&(^T1sF!V3hB(y%;J)c_`!nr!RE~|@K16Oe{Aah_p~54#+2xr1;<8G-G7}E9 z<hAB#5nE+B^nDFDL_7A7nEL{r{zFN8K`9zldSKZ+XpCuKGSC3_|7kWz*OzO==r7Zp zYADQc`RUd`PS*%{wbwzB;@2Q*DLqJf+w){)<zroh9v7uf2MxTuO%S@uIL;R6oR_(# zblwv-C5F?tw8tRYF{=gwUXd1;IS8#S`<<HDFyUG-aStlR`zKnaeLCIoAEKg?mpE;> z(Tx_#g<3Z#RqCgrnoxtJgX*p!g%pxUzF8d|YBV$=>3xt<jj8PA&{0P6`n&{N1_6%N zf%nV=ixZnxS4iJ$C79ubtBS-cxU`D;mGjGVAlz!sO103Obc;hI-bI;3hV>d~;?7=Z zUT$t}p$%}}$cehg7FPo=(_DO@+@K!FC({ycP`UM4Di@WrWlyKFj;ulIXzD5G>asMR z(i?d1!I>t167ZyFJ#4F|Z%}Hkqu`kIlU7yUs*OfsSJzQu9)&jVYH4|UA6$`BUb1#; zU?sRgH;^%8WeM63i`uBMj>cpumU1)%hB@jR=31fEIl5V-C`VgqDKkg&WaSDh|C>6U zdqkBpHCGVI)NyRbGgFO69_*J)_Aqmm<Mc11bC<&Jj1z=c199`8v8mWWdh_HaG{dRR zLWrSe7C4;ZCa`Klk=!9^hvfwS*|O`_!PUYcux2B8u3P}83Ah9xrZ2MKBhk=VU>-!2 zWay2zOvRpJM^q<DhI6pSSMov~3=^CTg6{*)i6?lc=P+FN9-?B;7<aII_Uad@>iBNZ zU4u&80((05Fm}WVgW~y#W_a7rn>|0NibudywJlCV6%TS#%O|sIo$F$zpjWvH^;wkV zKTH)5aknpSQ=b6yO^0B8h+(2A9_OYG{x`_(E@HTl4(?7BUfzhi%^Y#7ou3XDKIXls z9qhuFu<i3>ICiKswOW6;K>JZgc|U3+P~R(%{6Ks-!QV2t46?ibf8oO`XY^vv@*#Dz z=|fzd_fc9&y+7Hk9#Vx;0tD(yG0zdSq!d;H^y#_cF)S8-`(N0>({OM<d|0k{Df?Eu zJ~E;f)UhlqUc*k2k$Z;4<5>yct)<E(ccvt`2SL|QKuZrmCj9|m6ah|<uM-dqV8%eK zm5Kv+0KhjLdOLwQD&nW#Ak=r%Ki4<R<jD?$`U*<%wee%?;I~lp(6jljhr8(6e8EBD zK7-l0l0WL(h+SVP8anA{Db=<<G6k_|#Ie}{cgnmWLR3i}G_GvXA=b%>v$@uBR8>3r z3m6~4?S4Q?&)ZWzCB{cMDDZ#6xDN+k%QqVgoEt#nOM#a;BSx&kr@T?HaO#h^y5R9k z)$W{%7Cgzf8Lo&f?IO^hEjzt|uH8u|IdFvvWCyf-(h$=DjgJLh4!z{Ga~Q7TZE5b` z3p$gt>%Vj+@ukM-1sgcjW)w5EFL34#obmZCn<c7^!U_k)`S(VT*ks=oX;VQ%ksLda z9H${iy>c7p-jg7^zyIe9ala=#t4AEzZuW?T;QlCWyNd>fJDjeoQxOnO^zAOH<OEpv zSykSWx(%ELiZ@-(Xqy@{3@*iVaj2)E#;<uUet?Y~00So)!I=sUIeVC|pGsuF**1y) zxYl%67M|s7`kSV+i9h#(8$n*=Y-bT$WCd?%L(}mfFLJy+O5#PEXygFr5zgydIDQLQ z*gP?!y`j5MW+kGzkW#}@iLfOiMJLheuPvmgLdCqO=Qn|jdzXk5HYR2Y&#I7m%dAkx zKR>mpQafq=o`Xo)vj2kVQnXd4iQ{3rR2F7`js6I<5?1r2cBNLbsU9N``dp}8g%Z|a zrS_9M%RqJi_FuU3$+>(ZfVX|hOO`wR>KUpOUrwZUC3oI!g#CWH3ev<cVVlbjs9n*f z(lSwg2IP7|ipr0o@@InTE>ZR$+t;Wq)7HYJh8hP=8k*1pjMhS@FukPd-u9T6#W%N) zn6#FF%C2|QG33}9;+XhV>^z0l@T1(wW#>;eMm`KPY5U=q|40>9%a6wT=_7$Xr^0Ic z^{I^mIlz2XH+;VZDtyN-tPvZ!ON=xylEC22p|EDm$Q*^lh&?MVr-CchaJSr8gp<TN z3fD~h#66T%r=2QD_*t+T*1&H&R4dUMCCr~ZKMuS8Lo)l3*R-?dH5$=OE@<-3LA^x7 z1*aiAie?$pHf0g~(Sv*9hfQp%dUIZtRFWXpWEW}pd-e&8ID1yH#Pk_TRYie8^&4YL zLPQV1&+1PZ%^?@Sa`SB@=fK3V*4<l#tXmvAu9%)BJtaKKA(ha$m7!|C&Nn>nz@ja? zN)uTc33Uhx=H4p!e&FRstJ+&x2W!`IWAc!W#w${9T9jUcZ@Rkrla&vrXeX>a;{vPF z{h~{rInN0~OH}7ig3wUnd>{xdGTqY()^x1ZtO*DGP`7=2k1D1+)os#~s2i;;K&9P> z5@XD|X{jv2t79o5TG3<W`my$Va(^<d9Q8U2ZARDdwclsvKnVK}eqPo7m+dmnQM?5- zY`J(BBkg(<!R333wU6stXC3_B5E05#435g^e_oFRwD=E%!(e#Z=NG&{T`p1-=N4Lu zck8iqpJB=7Tl`~l53lKOrkv|VmBJjmUyuy3A=}S5NhyBmjlB*@I09Idm#JwS%EYD; zN>HieK0<XlO+;$tI0>cTvCreut<oQ`63JFFfE$Sy@~ZmKtm-n$eYqB|CQ{^Y2#S?R zm1!pQ-W&Mzi0)Mh4%}&LRhr9~!k(_SJT1+hZa~RJdXDI4N;MpBdX~sqS-_1U9%atb zWzyP3m6=v(p+hI3(6V|7&4u1*W`?J%gTiwGMs;|!)Ke48@M!!jaNenCRi3S2FP1aS zLOIh~B{4H$qRzBd6&&|)K|2&^*yjZ@tsNZTOlwt-b+G2VRxr~(mby@;je|UA+UkPg zzb{ghX}h$PnQ1Tg$m`I2qfd8eE7P18b^CIr6%*v5*swCqbX{lKQ5Qmaf_=Wip{&xv z4CM(9<-4e^4yBeVKgkTG#@`06LwPEHC{0v{@-#D@lO>dA9DCat>S>^14-15HO>;Ap z-<qKeDyQdBtJA(Dm7`D|f;@+EbHPv^5h)7g-&)EH<+gtl$}^s!yd_8iLPIWCp)_6B zp*)m|&-aeuRbNmK9{-*)LpjDpS-BF`)uGf<zEjLlYJ53x9m;WR#mY(()uDWzncqT~ z#=lnMU6W8w#i<Bo8HtlM{=s3LmGf8!Sy``ODEohrHz)+c5QlPi!B8$2DIWi{lo`rX z|0a~{MOBY~f@FvdE0m_|9LkDbm3CvY410v!d^3O+1gRX*<1NjAz8OFP9fwNmfNH59 z2&V}}v_?-e1Ns(Qu>xwMI-t9lc^JYR(A@#ULhu3X=?G~10s*ZJ2XsJ>unqz`uwX!I zUdjt-I^;Q^|0)>J=R}GEx=Kr#0sZ#h1ay?BazN(`a!_no0X1FcfF>?JgkvmS`En~) zG_V}uKU;P{E36PRaJ0Cq{rr12)d@9Ey691e>bN`<_lxG!`aFXhBIIeT&*=_O+<a_) zs>RT#MCV}^(20}@FJQHp1Gy2fiv@AqZdwpO0@eMN1gntigRqgp!~IkK+X!v`Iz$|w zY^yp0_aR^K2zDl<jQ2O`W#)}gLmh$wbx%G5Z>y<{3Y#^PmeSWW)7yS!xh$oVUKC?= zSH=B`AlAA%-*Fur=SX<>J5=`%UPmOSQ}@1)AQZtloIm&+&a?0j=ly_DL^{tzGT~&7 z{;u$}S-=LGSi{+v0XcY&ST<=6xI+=Wzu8c0LV;nvE{5;$0<%x_HB5ZkT;M<8j8&YC zPvrap-1(AJlp3;5$JceO2{{255fa=BtyAHRJn{{ToOHk=2rA*s7chL9>zK}UywO_M z@ie<ub{^{3tCuNq5vZ=nS+2;M`MT2Q7`s4N=7`=Z?!1j^a_&V)(~Cp}_g^5@zQDG- z01e9$CvmHU|6WG%c>XT#2X<)^MDVhFIJQ&hKQsLmqB}==R50lik7~KE31VG~yksp} z<KD#i*0`-~#?~`UAFSHS4u!{+V-_`McmjqZh!Gr2O|_jxg1LG-xO!e(H4Wp4d)%8^ zcrdog1TGqkntZ@TDb<D|dqp}~hEx|h1s7bugVl8*w#4kfHW3gA;7b7U(ExBSv^4%H zmxaBu6adc=P#?e?0-6Ch03fW=Wjzk*W>@Me7>;M~a}8YOE+%YB6WwcY`(XX+sPbQ& zSZTsH_XKR&joV=KrJZv~P(ODq!Y))t5u@tB46O?3N)#JQ)fW08W=FZc$vvsVoPYu9 zFq+l?>OLIfqa3PTgmauVUUo5deaCy4-v;%(B4~YxD;xZSk2wDMU-VwP&*wIHvvnG7 z*Hq`@UFqzNPdilS({{LqtIj^IL3u^`^nH%-`y~uDVhQp!wifs`aYP9FqDv9fbz5~f z%~LSV+v0-wCA^N@(a6^8CZ4H*kk_|&QB)&a(GWDNaZWV$<#?<9kVbU8?aAY15HkMo zV9$D-9lcGLN7@@6XV>>&zpvSNU`o~LB=pcnPIZpy6sTvE(Nh@I>bIFegM&M?yl!Ue z0yfv`A+@(r;M#EDiiucTD_`$gL2Sc8oQC@AAhzKk`Y%He-^Wc)M>}rhmk8&ew&$Q8 z10EJ5X3e0khtU8IYI_c<k9|`@3KzLn$F{x1ww@@`baDtv$PRD2a_9{aW%To4Uo+Xs zCOc`UuqiFoJX>|_0J@Givp6~Cv`2D`c@If`gfF~{E{C6!MS<Ft{<=bl59YW&VWFK6 zDppX4w@W+(kP_J*T`v<h;5Hhe%)3ISww4WKrPkX1!n+Dw*p`*TE9<h+okE{McgiH* zq*w95cofd>J8_+6X98AW7CwN=Tp=&%sE_LcGoA%Q8EeFxZH<@uTl*k=*YN&Zxwi|O z+86H8&XkJVI|&Cy8gM4qI-v0I4{qbwM+0v7@XG6%NmG4rzuq`R!}q3(^5K!jEQ0YR zs5XSAvKxn_1iA>PKU?;I4l=%o#EWp$XY6tmp*4;G$H*Em-ARY5^r@W}*w)|R6sK@} zD@O5L6#oUxb(VxxS7q>;y%edE695z|DCMXJ>L9SoHv@17F>^ErumBXdf0FJQx>0l> zu)!8A<UlFt8I+<=P0eGEZbR2EMuf}&x=)LHGUn1K8F#BUj&D@rD%n1OmGHnfnLvxJ z@Qb%l`$|p<YIt}9hKbGruFT|M+B6GD;X=Kp9D!;T=cnXVefMC<Kgo=kUNrokd)ADv zrUtJ>eCdFrNTma(_%`#1Z*$f^2~Kfpo`;g6<D}XFt(==-HF+@wc_w}uzKkG051?2< zQO6ok$AInF3}7n(y8+w>5Zm%gJypF3TNEsQSD=3KlQPfURrqEj=!YEXT>;pZMBP4w zo{s+0>~G{Mn&B>ZbTi$>RN_u2s@s!=I!WtbZO4DM>@PZ+0n!q!VMYf?<FkQdQ5Vpg zAI&%oOebL<w)X(I?-Y3R5zN@RDF$*=q-H~nn`saW_68nys6YZOCnY|Rm&rmaA>?<e zKmx^%6~Y!sQ=lf`(8>W1A^nV}c?1tJ7%WVWj2rq5vLv`QmvUFwnV2Ez4<9G#A~6t& z{qTct)e3$Oc)%}Yp^fusUkoIR()|057@>mOa@JH_jTe8==R1O*ciyR>yH16h;lL+4 z11oC0__(G{RauzTb-^mQhqGvBgkU9ZZJ?<0z45Xg*s?zu#`yR?c(oYed-pKj6>9ql z55qzP@+MxapxuBgbKz^O?Q<A37NxrTNx5hH@KI7*O<JwsN8hN!PJ7<~_6Scpc-w<& zn@A^m>;bpW?mlm*onk`I%qV`ivj@383#)XvLW9#4xaK}Aa@na=6lVRLQ!?wTAhL5w z_&bm@!6Tik3fOS0fsI@FZP17jX2!K7JF3(*QlxiJ1&`-OO@v}Gy9C=@Npo(Az*7)F zG{VI;<;FwU(0#-?M#ywoWXu!f5C-lNNDYcsWn6FwdDcYi7H<*cqgptJV^(S$j>UG< z3f}g%OLfa5%*Yp9*obo^G}RQUh|e6;AGd{aRuP$ph?KLjC(>OIzOs!g6OC)L7x*nS zwkBP%fXB0@!0AidSZ^oHWDbV4gjxIwnc#sI)E9!Yz33y!e3&s|juse-FSIh`)$m<> zI#u9T@T5Y*TrawiY53l7e8qLXS44Fb7tCLUUB{)!&F_R|8dI%XeFWd8`p}Slg@@qu zZkV#kK}{Trh6th__nIurf_meFrn7wNK`ePM=z&CV90t^6Ee6cv0Co{@0YI-D0M`H< zAmBEDDz5-|2w(yM4tVzi0YLx)UyW3$#Q>Nkg~S6%hxOm^ucIt}IzmK+P@S?s4ulJi z8bHPq+1TN+ZY%>94L+E;-5aGXWPBkSs5gabT}<curuqw5ZmqRFQ3?m9lj}Mw>C~8D zjX<yWKsq<<jQ4D%)TPM12?zY~(%CAE`M<_va7xv>bS;)l*igKznX%`9*|#;qE3T?B zo=y0UJp3W>pbPhHs*e<U02NJXQa8CfN?b^C$#q+x#E$E*h(9or{aX**Z=T3=_9H*N z?dh_Lq*Kl`4;3e~uZtKmlK)bksym~A=@$x`KJu99&t<Dfj5?EbfMQLf-Rpi=!03*G zMoWuMp1)H({H6DZ;LsE7g_(juV!Rl|o@Swxo*eB<u<TdevZimD_^Lkm8YoHf3-5Zf zWXO6tln#bg*TiNZ;>x_X)RDSpQo0~d)UhjLqagIwwn?x^X@v>j_*3Y#uwSj|7(Tb@ z?QaYR;?eSLcsd}i>n3!~9eM<4nl2;24r>J1X^jAHStEczGy?4M7y))$BY=kV2p}+z z0B?JY0DHV5YN9wVdbTa$c)k(fpg986oeSPP9sx2C99wp;o-zVx;vhsQh%){|S>ohC zDq)dN1BfN>2R)Doj*kFEZa`l?0iYKFUjSH1z_$Q$3Ah6wdLw{80n{hJ1@B%aAOye( z0I4Ma%#+|nmj+VnE4}hEQ`UuY9p%CJ72+zI>Ni#7qa;Vll1MEuif)34J69afKLTtO zrNT#m1sDP9U&h(T<nDYMIi@d#=9yktdeH4cP-%C!HthRU|Cw>x1I`9+rxkH>I&1v^ z+<ycPN(nw>Gj5fRzy-YEnC{CBP{}?0Xr!<&+B4ZV4dwg<_c=$CGuX=8&{D<<i38Qb z1wZs$XoOwS;h}|R2~FnwEGP8+ZyBno(DkB}KlWowrg32+QvbTdf#<3g5qNRKit03| z*^Bqa5n^v#a%#K*J)^&(#*q#-RrTq{kg7pWSDlElWkpQ_s|-*pYBMlUfRgmFC`~I# zQCU%k3|Gk<)l045E;)$4)wv=);u0JzNu7E{Pm)j(KU#z?n((L~ArRham9{KV)DuxH zM)olMwtxG-SC4g;Q&NxJ7D4K9q#)s(MJTi$vAEeS?Xk5_VePR3p8)u8Z;!z!Dqnj{ zv<Om<1qBIfEkdF7_z{Pqq#mRC7FLh>coEQldp)Y6sC@NkViBYs9SRcqS%gCCaiTri zV-aPXz58=!Js8*hV{u;pSWJDPK_*7<6-$`<2m{56C3(GOso86mo4rN@^aA@84C)S~ zLGC~+sAS!N7}OnTUqo^EqAR*z_m_$m;cZQ5P>_&j5w@^|bRdo3p-)^0tay$%_T+wM zMH$x>?Uz^4eq7Ps{nd*8!#bNo!T_^!gUre?plhT-uF+sBLf2>rfx1TXB7U;m<C{7v zLct4N#hL7HL~ubuDT^?MC8S0gQ7w|FM!M-D`<pfTf8TWHEw82NZdwFsx`zb`zHncM zqR^&0G8Z|jo9+jzqW_Ccx5aW#nr@#(kf!^rAmOq_D75MN{fVBVo9^_0!kR8`6!h$M zO#L71bxYt&zFxP^B1qHiE=V|H5ejX(td>@<+c40qsAtpVRn()`&HZodb$wB&u8}m| zXp10CH>)7wC5upK)6G9*4VViDnKkn4b$J87XVWqDf3WGEhA;V=u7^dCrpqWum}(IU zZMtXQL5^}$*?SH)E9%*Fc@_0&I{Jc-UPJw-17-{g&DV65ErK*%qk@EX7NM}Ft6voZ zX3EQnG?r%Z@^{^A*?AM{Ei6oZ)?s0nvWle^z5$#TgelpHH0n3mj^*&#EZ}PrY0oMA zP2iXEaPPN(f4vV^wQCdS;W{a3H}KbS>{{?Y_W*B&w-=}6u)X8^fxq%A>}h<^K`gI_ zjT)&^Ug7f3AHt;yEiazlp?AIx!0nW;5+g@o$-E!*xWl+p`6hrDj{w*JpyS5?Rso3p z6hIb$d!GZC0U$CL*NbGq@e!~UCvlaM3qYNYRNfZ=IKIJ8A~45K0AkMpcnBctJg#D# zn7ytw(U--IX`%3(c(kLRL#<fz+b}q^66DnvP}o8M^DhE;0YK;%0LB5xxddP+0N0oB zgY+EhfW7h+%GnB_@>KwD1GsPvz(D{%d<Wn&04r|5g>wL2tEycHp}F!ve?0m=6n=*T zS$7kc%@3+;HeJ)=Qb2{!q<aTq&y(1%KrWKl`X}?maOta}X`+2mOoxL&e_Kf<4ve7h zp<)(nT8{qG!<#s*p>j#(8W>feqM~Vn-!4U&S8{d)%HafK5?MV|z!77#M3t_Iq997w zM0J%h;Z5EA-N$*UYD{kLoTx^tV#;`FcOI*yW?{$D81Z%<IYS$APJ%`$>`yo+Xw|9j z<jE|xWHL>eOfp|?ua=>!vA4C110Qk5SHs#n@BvzESI*d{CCKHAS|T7*)xm%I6`gT5 z<sP;_&kCw!TA=GXr5b<m9EOaYS|Vlu(rLr=3}lI|pH01jD7o%~U-kz8KLU7%fNua4 zxdq@00K*74382!C$SX479pB%kyerU8b^2*QKh5Z;4gGY+Px;>X$tBsrL>h%3{Dsi6 zGkqXF1`P)srGT7+O~3Cwnu&JXLTK%o1+jx9_5=|B+tlE+0zD<2#N6JwPa<u=XbcfQ zvkP$$c1(6b$qzh}98XT*FLF4Pg25Qic4_VVYk@>+0g?DBVBkEIchkIlCjSgyi6*s4 zPY6mHId<tFQyNWRGUWobv-1a!d~ueO<|1`tlSkXVt!-KDhr*1g_ww5Ie11N@FNZ1` znbNbU*gv%daxq_?x%XAmRj}@ce`{^YsUX^=_*lBY0faqeYhwG6$dH+!A3=m%;{l}n z1Rw*zi8}!L0;usbjdzfDECP1$7YrsZ1E_l+z-s_T5U>qE!fycH1@Q29j5CJ_5O+f8 zGX20Hywe*auEUN?+kFqwjB8V^fIIMoW@<*deE(jw%(nlTl!Cx;{Q)J@Cbzv-`qZPS zL~eO(5N1Lt7mWH)QX#Z)a0d?5CGyWeMw6{y>R1l&Ko?CL4ts<cBbJ7d%2hB{lFF$9 zDn{8oy5Xpmmp~ML73{dqjCb=g#^~rV797wD=)pV^@Y|HnNTyIbf1~-%$!dZgPeubk zo;@ugYF-5Id>!M7ocBb=inAnU>=1;;pqglR4xk=`c*7^Hz77W4JSqKz5KO>ysW)6Q zG-fbT=j+6OjYWfu0ewHh;u;L#tv><u1W@fS0386VBj70jBOU=r1yJE{8eCw(F%8%T zV2*hJN~$R3SPGyy0c!yaCSVJI%QgVJ0SqvrRO$f$0Z(X08`I_58u985Y_3>yb~K!7 z5AxIYDCKGa;6nl$09fDvP!+&m1e67^-WjC=Nzc&(ST`5S=?~yt0)_*a<pwYTz_VTe zW&!Z`h6{@U%xk1w2%!s<tReU|#waAomq0E<#Lr}V<S1R*bPz4`_SdJRbOMYpA1GxA z*F$L~c&4rLl8%o^X$=^yNa^i7CAy`mLg<?6031p{Bpe5TyhLJ2GMvITi$&A5Sa*pd zZfEdcM^f1i#y(ORFI-c_SSOLDM4tdrFdj?vpG0Qc7%%1Y`IpXmLW~yTC}rOst!<8f zy6?N&N`WN7F_7G(YN-&qw!MRT{Y_5#0r`@g^vSE2o<~(QT@`=WST|3Eu9&Ji21<W} z5$+463&Q0>X!2DdbZs3o6d%JO!P`KdCP6dN%n(F>1dd5e6x)+X<ufpbLq$c?WqUXA z%DnOMCW%}IV?S9Pm*+FLh4Zq6hUbYSagJv5htM;f#Q5Nzpy=}i#pqrneXXD^pBL?j zQ!jX61NSzKmZD1m4@LJhb(OJLI5aO*VGeHUT62T(mar-G&zOq&mM1qoBu3?zph_64 zrSYifm6~60q2yjH6(<?E=AOjWp{0~rGlVpVwkE2*uQMkNO_K6mV&X*f>J(fde}(wD z$^ba(2cQ^$5&i&z0URU11)z5TfInblU?93TS#Z=NJ}}3V0Mdd0v<5JifX)C`5zrUF zN5KFx0JIB1KOYa^{S+B$XnUczc%_EXP}6WcoC?H6Zp|Vn&<Wri0S_VgVkm&000f2s z_y)it0D+|Eh=O3%aFi1VAd7$`08bSKPy@iP1T+G$ECMdH0#L8A3^jB?Jq0Fg&m)^w z0_huxY%<y0)_OXmOL3QInL|x=QkoCOYEp_3u7^^4@Jw4~Y7Zc#PGFoNrM`JeeB&^L z_5gOkp)3*`4<sfEVy{WaV4KCFY40FKh^9LqlFC3Z8k0)P0xHG;i8S?y>kx&l$A+5s zMCQ+t7;0h;=!7A}cqn%+D4XNZN?c1bn<+%@@={>Ip@z@pgwS5h71V1WbR8c7d5)Yk zQ-Q7Vs1Z%OI2mFJiwyo-OG<meSVKy)@@i&|Pt(9NZJ7(z4@hYi7-ylRLTI}vC<Ctr zCh}$=vC*(Kr;1Jl3M?&8qiLJz9U+=yc(Dmkc?pasNab_^73Vl<Lmp~A5#-%IHq{$? zX3fwcv7Vi%{&}FeDVh}Si5{BD=;IODwI;`mJzwYqich3_SWCDks><<`%nK$Itc<=Q zMJ@Dgemhio<CcdNUknfM{c$Vq;Ho-gg)WEbKGsmln^Z(QWoKf)$>=#xgWeC(b2SDK zTns=>0M!Vn0N@<}fh6zf1guGM^w(YhYLx&m2*5M~Mgxd131BLK!vIp}1MsS?-HE2V zJs;N6h<POQENbES6pSS?Xt`6urN+)gV~5ZkqXQ`QFB01e<ZTi&Es_|`lhI4SF^T4i zA$bzz1Q-`crHVK~Ds*ulO?R4l3Q_kWe4Ch5&Vvyg3zZQbD&$Nw-OrjW%SrQ+d^xFX z2BRve<ajKT$uVPwM4B>hFGNxNV_mw0RGOEo)dZp0;s>q3S6O`NJ&`ZBjC~?QS>lVf zgHdx)!8bdvdGN~@;KM8Dd8rsLdCPb#mff`lk+}*bPc|3elaZg8r)VFx_(2`8JCr`( zCmxuN^!X9=XAuI|*8r-O0&ot%Q35^#Fd`1XK>!uv0lW<$Ac2;llu*9`I|9sM!<OQJ z(g1t_EFmBaz$XO60616%KzRUT5|LTe0hDT>lc_Q7r8XC@f=19hb#p45Itp^tvMBHX zfY%7v4d4y|TL82y2VgCLO#lK(&v6FW*T5WK0;pdez;ysG6Yw(t-y{Hk0hk6L)e9Sj zC+kW+)Ba)(Ol+Kjgs2XrVFe_F$)>d9918T%k<$_CBB_Le(T7wXh($|<wlbadbTQ^k z;*aV%62RC_DkX($s)W#1W-gqmPGaqWoFuV%d1B^;CvAc@E?|2QDK!Pdry`WPJ*H%| zmPk`lFN83PeJrWnQj4EPV4h0zK#bjjQ1*VJwLP=fT|){iFiVNYDulMCRi;A)O@o_# zfHWdE%~UW$5M2)(lV}FI3aK;#qc2ocH0^pP%EfpLlAHdXBawDs>>#U+^Dfo7`9f&d zI~j#9B(Z5gPLWtt-sOln-_d^g)rR>S?GP!A0>ifwl>QJdJQgMAa;ZAcQ&$B^=w(y> z=wd8~dE8^+_>W6sKe?!-=$F&FSZt=yY@-Y%y@mqZ!Za*b9mr8*x>TB!M{2&e{y><X ztgL0L5hGQgiDn5)dakdXjfG8y+-C%NtXX+cp@QgKLMz#UO-F=N-bws^2KsO~?xZ(H zyj;Ejnj`~I0DdIk9#oc9M%N{IM=Z##QqVuk0r;ALDgeq?0Z<>nbpo0L*jW`_w>^M6 z5{D4FS+7PqRIeA%J~=?9R73mp@M!zV$c$*Z$v;$dVklSew~SPlfbkls%n>dnA*qDW zL4jmg-cMrFfE*z)vtUy!x(hfau^ih~>L*f32jeEGM0q&Fs~|p;AZce_@0CKl9K)d! zTOBIZ@{&@2$*PY;m$K_gh@$w%y6qs3-4J7jAhc!~sulE%pp4!gIkZ5ttWJ!Y8^=8O z+aBjT_e*_v3K}n|L5O>~AXF$k^ql-;3Zj!AVKsEuN=I;0_9w>9My7lT`V*+R>lA?Q zH2{1J;Bx}r15mdnWeVgSH-Y5<bNmcoYApbN060p3t1ptMHh^FN7XYLd1F*EF4Dxgw zA{Qp+&qSpA1KC&yk-jEut3Bx$MGGOCE98HXN*6GWl1k44Dj{?fLydB%??|i#kRM6R zESN0wswEB_lW1m2<SeKpf)P{~D(`z(=1iee9}Q*3kCEhRNh-C#XhtesJr+7tijgGI zrA*0yXknSMNo2SMcX=Sj$AVC|-=VeLlQH;A)Jus;SW{rB+d%xJ@gP@A<;$Sq9{f86 z_;AuW#ADUuo+=0x31>Zvqa_TjT#RRA|N4_}@Btd+i?o(;!s8Z1nx@mPLO0pQ+4-eg zWookNpA)0uQin2{$~v14L%wK=WMR|VT|u@ZiGy-jQK@Rb?8D8vT`6=6F&S-b%RW4Z zp9m7#AT$Qv-I-y^G^!V+d@l9G4Z&S0bOX_=ev}HDf7z|>$poAZBPnmEq`-=6HR#76 z;B5ARUY$|d?nK$#x1OZ@`!DnAi!FtUaE`V#+qBf7L6kBYi85Il3=V2yAA|ANJ?x*Y z*1;!MILYX)?{-nr&lq|>09a<4hZxzVhuu_*ouRmEe30T}e{rsP*O+mA%;tl<V>Ta9 zMD)Gl5BW?D&f6Vk0O#!((1&X@$cJl=kYRnehQAG<57+z{(Go@Jd&Rd&LPd152;XVK z(1L`?7U42W$l)4|s1|PAw~~51Gw*+`9-$~IUp;V;RR~g#>IDf+EkdF7=$wJ$3c5Xt z&o8VVc?U558{6ZO<&?C?j}}4d@u(mn5Z>vk7g`UmPF6j>EwmnarxE@e>#@#qO6sxO zB1k=s6eOIp2!+)n?(`El5L41dDQ7?TA~tsUK&mG2Cy`gg*r<zy^O4jTeu6WG&)mgo zI-enlWqLTDRV~FZ9<o>wuOU8er(rKXuqrV3pad>Dn2)S#xFMfeZDEU840pWv(CSkx zq$1W?6nUI5;_b&MA6t|fT1$VzY=vN|MM8bF+%H_=?F-BdWL%F3zvhhyzf$jS&>IKu z?hWf~jt%$CvEes!Y+yi-4I1Q{{Z2*bvEd<sx?YjCh=C|o*DFfuHNm2U2xY-zlpKp< z&sQ(ORNO&4plr6}D+~WW)skJ|PX3l0YEjIVobniDu|@fZmOMBOHP$UTF6;kAOIAgx z`CIZyi(<B9$HyoGEy_Q%WGtQjmOeRXQQ<8~!(?H7lIj0*eX=y%$={MSEsEKaEgqwE zwJ874l11>8l(b~y#f7zG-mKu!C-aWw{l|Usk>#P;CxhUJuBq9Qr5>YHwJ874lBI(3 zTC&=b!dsFiio#lw>Hl*rdB^hI99<1KsB3JtWawj*(iY_(TJoVcYOMRD|I)%*GH+h= zXvw@&djD}ter$PYw&X>NVz%V1$0(01O5rV8{}YU^Dfjsl+#OzM58Pp%)zj2VSl{Zi zdJkBtK?~q~R_`}HTX(E=l$_Oj$Y=E`v<J>-^)z0u18_d8_XnTV+ujj4pVia&oi4!n ztlpn&@6~R=`K+GCm-L8|vwDAV`Sa4Tw5O#>>eb@Be2y87rG1^UHCJM3pMpv9Is{y$ z0aWS*APT^%1Oxzhp*H{nz~=<qhmmc4aH&fc9Q8r|q%W>#n*r$l9Dw#DNI?4k;q5)3 zt17;?;koDDo104#5(1%^AOQ@79zv69l%^B`=^_xiNDEczQHqKURDOVlqS#PD6a*AO zR1~lvpdu(jP*6aTBG?f5o@dWKHz(2G|9k&yz3aV;6?UIJd-jwwXU;hQ4i5t`62RNH z<5Kr70N?A<K7q@Naq3LYo!C;X>1($L&Lm=HTQ?j9MFSXj2Y}0ve38I;0G|-}0YIk_ z@PUef@({dgBnqkm;4*<a0PY?Ipb3C3qXD!AFk%dR=nSBLPkXtY%vrRPBJQ!6@PBaW z`V<(=b8zYEipoXS3p^5)*bBVWy8<Saf_;HZgrG^}tlb&pwj|#TWGnS+_OeAm-`+{! zbpMnV>E2zMLX|OK9Hq)u<wjIE`|npf?!E7&RCx@Hz*rRS+@*o!1@${%LAUsH(-i+A z$K0IHRfY#(4q6$x$L#;sX2kT8L32*&+@`xt>69;ymVr&|%;At8u05P3>LjnOYg#5Y zFtK$=lcDYEt?tFiZFQW;llb9299l0Iks1rVz$zeBQHR*UHx`K$7kq0qTij|tLzP8f zw4=($%8f*dtG&HSL=TnUmsHsW#we<|=|>grUL@wS6gcxU#pVE+&wwU#B^jq40heFJ z#SqyH#z9)D<nfo5g6qDsabz1*{9Ta&(6R0@HhdziOJKo@nb>6I<6wO3(jGI&G)~en ztIv2pVAY~|{;iVT*NC3Pn=^73ue(QbRgnUWGh4ZA&v%r|_IySI!$vt0p=*;lVXY3i zmzB%Y5Omr&la))~k}+g>t7Jm$G#UQ&ejv9X_Gv2RBhZ=QYJ;CdKmQf<zYxf%9|5c% z2OyuocmQ7jcwqv%H{}C9Tndk$h(25lz|)felmu{qz|{cq?*vc{z>{~Od)Eh0^(Ng- z<3)7t<be4a9tU!PjF^mubJ?ha>^7L>rXD5tBeun#fKC<|PgAF{nvA3kui)3hbOVYF z1oA$`UTjy8!_$!y$-MH<RAMR!{M}BKE?}IXO2?uq+zQCm{^Q<Pcz`P7!HAi{-hNWU z$xM3%EO_;g-acIukS+GHl|k>t20MH2bDk7AW|?f}V4gO!?73a`BH0=Ma-4~Z&~`Pn zC8J{B&@mInt80yzNo|#DAB99nLL-X|4Z^YQU=q06`&E6*M|3mWR6D*LxiTO0+NgTe zYydk6+y$V@Q~)CZ943$rpwlz}-2fDu&g_AOKpwDnXCOtM1JGzDfY$)z64(mhWG;XY z0W7#1*|Q(O%eUD!OyCNw>T%mA6Q;@p^~+K?lLPwA_n@Gm0KOy82SD;H0G$DJCD0nc zy8z;;7?=v|q1h;CHh@`k06YXBI2XWT0ACPT31H>D@L>&rcD*%&xe!?k6U*|D09Sx? zybn3!vJrQCh}9%>4O2?BQYFps<w+`?17i-A>L|BBDRBdM`LKS9f}4SCfuKp`3MpY4 zUO|D{295xUx*z)e`V{0g#(0y=rPa$ybZ4?wRQUvqYE;=(M8&D4;bh|84$*&0+(jzG zt=3#CBh%CeO6Rb)Sm_+r?(c5>qWnfn56{4EFiv(>#vW?4R-4)QWke0*nvGnjvHD0p z^EfhzArOa=4p|69v1O>$cR)IzRwj`v;~bFdk{klEkd=+?TM!?)ox>${T_w6rGMFkC z!PrEV4n<YC!rrY!_W;8Zs+0rcYpNVBP;r}{i|~9U+iW#vH<hY_QF0!Xe*cG3@OP~? zTf%9pDbG8BrO@9P2YGRf6ycq+7#+`)HC7cF`<f9&Of^bpTeVU;+v;bfGuQ(obWSq7 zr<1B~(%KY{wb4rF^s+?g-n)R#T#wogt5$40M>@#?7%#?y-k3XQV4ptpzDm38%}H2u z0jCeRad1ErZ3UV*^M-17K7$VM0qE@!%BVL1G<*QS8UT+IcpAW@2Lb#Czz+oG0ci3t zIzKH0_5rIpA3gjKfL95e0Fb%>zy$#F9tB`<z1izAbpBWX<9padO5nwQ_<L>A88QIP zc^b|<2YTnnQBWR$eFPRzZ6ScU0A3<66~Kf4fe!|XfmeZbU4(+(1W<V~fcF4AN?<pD zPD=nB1kmFN_;3usA3CEa^D6fnMR=EkzZy?5xxh$z63KN=xt?+5Cs<gEa&MvFIUpS= z7^5S<%`OZeyk4%W#M0KZxtA&pz<7%)tqW8%+Y@;qo)6n=D3}D~0tFu{7~JGuWHPVd z7b~%X+CEAZKUB)(LFKg~Do(tHnq4A@IK$7Pvubd<%JAl)^Rgn$^6FNBH}Rb@-E0F= z=q5|Yh*b9)EamVXB<FJt7&CCVsulD$6B_3ku^1~mB5_DDiKS4jgqZ=82faW!AWcve zlgM3{ERf$LxjB$otl@r5q)5QIU2{o^?uh*>Rce6o997B|G$sdKlg!<lmABgZxUYn$ zu@Wksz}Q8V^~yyl?uf(<o^O=wuH3V!)E5ljQYiiU52fJSI*!YTR9wB}8M^17X{+G& z)c;{bx>gk#`>hd0<BU)`+iJhk*;cPBosDrJLg$Et>N}@A)?zUZXe6D0y3Y}*hR_R* zNEMV#Cwf~oJ0jKPtW<PFdP1fDeMI7Is@HVAm4hbEEM9Hva~K4+g5DURj9Lev=`sK> z0O(I(DS*!a#8W=73)sQs=-~SRL_G!IYXAcYd=DVzX#nQ{JOm)?F93boYjg8vPD@4H zBLHd7q8Xclara6zV>jh8E{LW{_JiZ<yU(5VqDnLv&roHoM}?P7$-F}}Ly1>|z~2K@ zxe<&VRGIHlVK+$RZKr(H?KO&32XcyH{X1B{=?qqyCYiUZLR~B|6$Ji{Q>7djanC@d zl5$-YXO~8rNf<_$!T84*aGS1gWs$tegE)H>;pw(4s~wV=h->buS_@`iFUyomtLv1` z=ARUyGXt5Qzbcm|7g{bC%Vf{+nP6qDGkpnNtB9LOkwrHqHs0G9q5Ongq*04%O<zJj z`~`XjLJ@TqK=QKyjsciV-~fR01U?2Z=s5t}0JM6Zt6EqHL}Nq#&<n_(L;zh@0k|5# zHUiZF_+A3g5WqzMSvOGTX4@7CydSYtok_i0Cbssg;LIV=cf5>(_5m2W8o&+!DQf_{ z1)v*&R{`t?5KqOx55Qi01qGc2Fl;S=KLGqqAb`nr_p1Qn0pz^~AFcwB(9!ykSP94; znE3vABt%speb#X#<&M3%Ct%`U0J%MoXF!gvt)4SaWLV@@|DaCRlsm#@QKc~$JE$^K zxvokg_xUqmc{s&J069gm1OFHZlX;6^xRO(uv-mBeQeQACt%uU=e<(RCHJnV`cOm>Q ziR*l$GR&o~tc;9u(HawG=6R(v_kvn$=2HUNhgFFzkDVPlP0?B{%Z*%MhWZv6(?m_D z2b0(iZIq2r41`*s6Oda`E0f5(K=VPqpXBjCR<g3yJ%Qvw@?_o`x=D#pliyaV%mL#A zs`M*RiA+i0%~o=%DxIU!05JZh(((c&d%&JIoSsplJ1|vw5h{;?QSo)CY$;IDa)Ny{ zmNJX2QG^ejjD)7m1@v8!{vT$seX7XVF1CtxE65&@^Dbzeo3xcU7i|>TLUYl>%BHDL zBR&}C4W+Zue^5Fb{e(yUibp<L>&j#(kCCGw8PF)9EDx8Q!mDZ?Q8=U$+t9$7C96HT z8vT7P=)DohsHp(9Yygl0;DL<*h5$(2gl<mxzye?;-#}k}0>D*o0$2%P5P>xSVmAYL z1He-NvbF<wudD5w$-I&OvLf!*&dHb1h<<Ei-}4q5QMuM_<kv@DeNB~=m!Yx;jAyBG z(4!)A7*7WrR-$_zs}ofcz}QKZiyjqDPKi8nkTnZm{iN7=AU{&<dCwKIBs-5P>{g<C zux1rij)GBq3sg=NQE`6JNHYaLfha0gbPjV)-D2azdE=y&!4*=mD_3y7r;55NTRlw_ z;Zo*mv>A+r$J@sWDm%#JpdJ~YuX0SMhE`5yw-=PowCNV1bNWIQoMP%bt&dY~WFsj! zQn@m@%~7QA<i;481Rfn(*xA-72QkeoTkWS;kY6{0UKcTnY6+nKRsh!m_?AE|05#s` z8VT}&-oT=_A&CY8sPqni5dcOIm;~T!0(S#w^e*!2K>z`bUosC^oYqx@n_oArfxt&# zlzk8F^LLRoM)G4GeRqvCjVg=5XiAl2wa%23{NkyN9!hkFyjQ4l0E~WA8R1cp{NhoN zZK&IRioFTsZi*f9h;b>E%p)Y_y4ldBGMM;<5xc-DFrJ}GedW>_syHueq?uo}Ao?%) z6|AL|X43`xdJt!<BD}~SW3`b`a&owGz>`oPsT>pPUMnXFbyDffgJ&ajH=(9!{b>C? z<rXB=Q_7Wu+Mr0`gp$iFXPR!6vx@$;QbiuwYpbh6o>xn@WLc!G)e!M0U(*O3J_YVH zJjdtLOB<dH>~8sT6TpP3^t7SZb9@ruCi5Je$h)H+Pl;UC-HI%>3x4=C$E)^4pXKjB z3)vHW7Vos(J<)eZJ)TGT61WrJ&lbXyef!isq*c@EO6Q%~KP+9}`0YJO7s~XgGYPoR zulxyKlDw$196j-GhfDULkR{lILR~xug}T@SLACL2kwv%2>%#H=)kU{Ojt2D=C|VB6 z^b@1@2vC24?NOO~d}UupK_!Na8EF;`5rwkPfne`ZPcL)|MlpT;>Y`beX)5nt4hPih zDX;xM@_GacD&+NTApCE<e*WQtSZA#JcdrW$fc#&Ibww0Z$m>K9{x@FVj1OeEvHt$Q zcwKPV;s27?Ul#Rx=l{;@PG#Gn?@h8d_Az?;@?LrqcN3<p$L)Sg?f*V{7!w&dU$WC- z$5loWH}fvhl2fnC^zdowY)nQ|(kHFQWW@8cCn4-yJ-~KH9+|xz9E=lTf8^L~u)eZ6 zB$xzd=|#1cOKbP1|NJ_vy#o5(J28>11n|%<0E<ZZ5WoWfR(yo1jq-ubz_xsh`RjcE z?RNwC6u`Fxz6KD#2Q%6a00w1SuM*Dy$(j=|FQJ&g1t23Jl4uY|GZ)XllNtn4axdnF zHmc;#4arQBu1a)osQ02uNic4sid&AW;>>xkBu6&Gad;9$?GVEO9b;7R$M-FFDkqZd zA6SITh0q~I-0{0$n=FyJn*nFvWyzI*%tXn?xvX*IsD99vgqP8TPN=^mqj0`a+az$9 zjoNOD%Z91U-1He6L23#5>#!Ep2*5r20Mr1``7;0&0F?h6ai@Hs6ENQwh;nZL^Y;T7 z1fb-X0LB0a9YEZt0$A2x<30;W#=Y1yMKOW<faF0W@o@lWL0!55)FnV#9YhctsS;x) z*P|Q=A5fxo8Xx<l%JX2Xpo&|Ls}g)xBg>n3&K5-&%uCQKXatxK*3?joXe&?LtH9Sn zqRt!-w^bo7Tl05yk*$emFX3C(eYhfKjW+;!5008paSeN+_TU^dafhv14s<eSr+>Ez z?ePcbe?TqjG=O`*0&o<-O9Z|E(D-XE@gN@vB9r$53&aB`@eP1-0CEYW0Z2cL_NWWs zX}2FV29j`pz-&Y@ffhi<LL{*rfcc=-BDE8cUqFq0sAxan5dUbAevnO-zF<^40u{F$ zhL4Mm;9om!?RcT)l-gwxw#Ng|D+n@VofRJ!a90)LGRW^M*9Muh&o(%`o28Eg(gCHL z&~%NZH^_}RxvbQZ&q62j;q<5>pxpzNsNMh)@&R-Nu#CX<0BRmZfGHao3v4^Ez*GRu zzXLD_z!Cxr09=0z0bU9q)=l_lf#l8$m>C#h11|!Z2a&`L0M3H?@Ef3R2J#1}vA^mX z#En)m$Ms7}EWzOezjvsz3yeC)q2iX~syO$3WTVEl;r9>)L$AZT;du@oPQg<nD^!Sq z55TcPfe-$vTp5iLJ#h|J_abdQh%-qMTI^BCA{%Rf)<G<;@*+J8^%YKRsSgCqLI&#q zkXukk6M9Ko%iD~m#q8%DbM4#qqfOB9<;~m7MI%0(3hKfXWA1};vF#YqfiD5C!}mBX zHr!nMj>AP`!VkbkyVxRN@>Pp#-xZ6Y6Tta~>ucW={1xCaxhSR)49R<xuiYh#x+gj4 zw*16KogQ|A1OtjO<$Yg&W#B^aecv=M@<ag=ir!tI4pk1$1Gq4z*EjGbcBXbTYuCKg zJI0XV%Xkaxl#jaN)uzD^2{Jj4h_-P54}E4tI3!;X=0}J|6bs=s$XF*X!ILv1N{CR| zzhF;RIwO*WV9FM!O`bg;QC2Cb5lR_LvFFN1l(d*JWB0!9!>bPH!CGm9d$-`yl73m@ zFhr+PwVE!v0ciGe6zu#^p1ExDp>)Uec>Wh&4SL`W{0W{yZ+aiV1Oj^jECP`D4S>!M z;y@LO2pk4-l+;rI)`EHft_IFf<VSRiCv<sX6B}26tlM%Wy7!!8Xs9F@bE)#GM}@OZ zA_J5U%b67OL2MPpwtK|JQ;adnh1g9Ls|e&{h?!txt>Ltz0c_7J!roz1gEK$XLy5{N zl-s=?=!363=ALThHwh0hwLjU43)o#Jd}i`JBsxD`Wm@)oHrgyz?JP)5o_iK9M2!Y{ zHu&+R1ttS~5m@L2l`Mw^D_rmwOHD=bJ<h_~S*=n$2>eZcxGjpSGY}r^$}{E@sHa?1 z8T2Okm5Uw=!G7fXPh&gfit>5!hyJj@Q(8Y5V^ZH}obNrAov7ptQ}eVc%cnO|2HK?p zEj?jn7^#|RN*AHp9-+5ALXA8^rg`Z&$M%-X5UJ4T5Y~3xnW`1;c@bb&0S7<if~MVo zr(M`L?rogoE#TGnXcX8f+Y(aYuVFm=J^!4;A5%u&N<O#O3tdA-o{yN@o5M|+3cjvB zGq-P_{&+xQxS89JMEttYH`ncKA@KsZ<~B5C9L!fibfd}wxDP;}GJsP6Vse-kkO{N` z<;I`E>I7g0fS46v9RU*PgFidS8VcYP02A!3@u^T1cT$EZqNyjFF!6h!eGRMR>s(N& zs*e>GmDOX~Bn&eh`^(2Q@q#QkeeoS!Met4bpw63Z%uQ!70RQwRJ`Zc9HWQcclv=#a zSq{h(OveFYWFgSvALFAr9R~`IZ>IRm{tfLxf*z*yNPPKqu)oDJlyUAVe3wrBawo^* z2#Ji&9jA!SEC|KEu0rg2n2k)5OK=B*WcY2hri#{c)Y{?E;&_m>yGU7`pk+UbI$pH! z62K!K9hT%YIbp{+ez12U<l#ctf3fICQ3t3LKZ^RIm4c&k#Wc_JQPjFPPU*v+Ui>Ie zaEvPPbEwWNMc9<Ptp&7E#V3^fgBq2q2QY$e+`2rOia~rKF7y`HXLrbuc6{hvoaY-4 z5@(QI2u7XZW^qGa2M#`el_|##u(%P$zW`ci(tweQ_WT9umkkqrU_icMy0{(1)`M=E zp7!`S4gwq#;7aL}Hbiti*i?}pFXIey<sd$m*X1YQ@_OhIjo!nS06QcISCCSv{I<3- zqbrPZOqVludxc*ZRk*}x7mB9OUCxTB=vCJhz%%eon=a>k_!_3U{@Sadne3D;jiO{8 z?2_WJY*RKpLMdq}b{_1KU@<c``;;;BE>d{DMDWq~F%8n&c^B#IDFmPrJA#$D?ZQ=N zp6?BOfoI-tQa~$KX5R0F{W!)`Yt{yc`g}bG*`cr{8{{1g%{CM;?@C7$5cML+TVX3| z8Gu$7G3JvQ*Z^!Du)w<j;(rCO8$fRY2LS9Oa121wZvf5$7z-flF97LUU?M}%`H_IB zjpb7y8OZYxiA_{CI}%s($&5=GCAwX309C4iah58s#fVA(9GB=G{G3gdFc>9&N1`}? zdotoluxz3@wNKeZ*_{?PZ&<SJCA^X4+^Aemu?H<zj$(77<<-Pg<xj=%^qXqii)noK z&v{%c!QG0|2(9$JoWIq<;7iJWC??7Tw<>Z^6O5tXD-t;reCCg95E=P7Z)io>uV;%@ zKB0@xcVa7KZyjqK_s8V38Pc)Y_$K(Q+LX@O=NfFd&q!qFOVw4PTYxWbKa6G$7&Hh1 zuRi2A?Ge6Ey??GHE04`^OqIW6(dHZd0oK?#`0NG<?BAvL-(U!HJ}NzNy$H^}0(c}M zRpoL>;OB#ov2g0pQ4>s+zeTsi$nk(pG&{L0E)~YUXBA(xOncD{hC?+znnl@OQ>B#1 zqe7L>-VEMR>(`$Vzm8hJ#FwMCeDUR5k1rOszI^BL<+vELzF3&Pd@r>tV|_U-;_Ay; zcO^TKvCKuv`|@7jjlT5*&_#%6)Gq)o{Q=+#fSf-8#K6;c{sK@2z$cdhR0eSS-{?(s z0Ia`ql?gWm5NL}(UGNU#1jhVPZI`tuqe^sihYwN6E1;i)K-5YAbA1370jTHzcmTk= z1ZDyl<xj@jnxPoj3@j;-Y{EML1U|!`Ex;1L0gyUBV4A~f;4qM>K@|JKU19UG7P|-B zDnEy+vDo)Pza|>C-vB_#cyhx}PYIjwOZ>B*f41<?2mJFX{~X|-qx^FUf3oUN4x3-p zc2+AO-+fwAvOcRDkY8P7Fpw`?WCD;udsJ*Tkoqq2IFJc0@(hqUF0vlT)h@Cf$YZXx z&w<?Ha*hG{QTt8uFL3ZP730Mdf5&!WffhX#S(scLf5WPXX-0njU0_!hb~XG>R5sFH zewD~>A?#N8TeArJda`>9yFdQ6R<^rX&L(>T*}=awWSroFebq-I&N4+fye)tNMhSj$ z?rSA4tsFAJlOBcOUyAfyh%d!mqeWKz1a_M%a;Z6V`Y6)=8XzMT8PW{MbVW|K0P?UR z{RiNE2Z6zM;)%TPAm?&qw34kjQ{xnptn&h7<c|Q}Kr*3ni?wo`%JGTHT(F-&Ukcv> zkp%Xy&00w6qe#Yt=qX@ku<vBBCuOi-Ww4h?pF6_@WiMP9MuJi!eBBOY_l@{dy%>5x zM*z~ZT&vq?H9GpWPhf^UD}%i%gFPyPy-9k~5@^O#P<m2wjJGGf2TXcW=f?tOC9FtK z>K&^+$t{LAyU>%yLqK|x6R$mqlJVsJ?|ag$z1k~UA&-ad^Yo-?E;1OL?k>WfblF8_ z1KHvt>`BExQv=Tc`N`$5Cq3^X+kw<`5%#37UE~;$^4k8=le#L$?MbyiMw8l}#IEwF zvfZxIk!;&l*wLO)w%gH0l5IO0d(!Jgv>zb5peOBCw%e0lB-{3+2Q_5UlP-G@r-dr9 zCw&bC?MZ!<EInzYBBFhdBGQvqD<VDV14X1K9aBVl(nUqsUxHB@aOqZM6k)dtHU0nX zNsZZ)Tru~GM0(X&Bvx!kHQ+9wOt6yH)%LPPP9(WVx)JD1f$l&ahgxz!7#*srHW`e$ z#FXw2#zq>xvxs5mA@!RbwIPhLM7avlN4fAw*J633OWq-d%Mh+xdUJ6Vy8m-q22~O5 z|E8b|vfeU;1S@HIwjS|jAvz_!`-<KT@OZ~7DHB|xV~1QPyrTum5~;<y8?jPJl~qLs ztoZV}?ZH}d)FcuwT<<fNVNt%QtU_lKl8t{*E|e-o=RV??1tpSA30c-umUT)(ncIS< z$rrXx*|1opYIM6#v6dzrP6IPs7k@%q)yc>(d3Ku}CgHD)O!ugb6|_-1`f9i(bN&;F z7&16I{Yro%RAxy49HmAR;GF*=fOsm(NOg6oWV}uk<aGo%@BalrMl16le6|vnWwg2{ z2~=iOHmHZ-vt-gHP>r)$z2UOpPp~2l%=QR1+HdPiF51wx(SxdD+o)!o%CMblR`Do= zR%j?9>)@;dZYY{JUgxvhFmvH$30&`2UR~@!U3{LFd$pBcD#q1gnG(ZH<u{5we~xWk zd03v$W%xdV5?;O$k@OfSyA{0fK>itpKZT97Woh#f1z+CCy@>lFpg$uHft3L6FP&^+ zwt;ySSb?`e*#}DKq}GDpUqp1m{#TB>i|v@yMFG<p(go#(62G(|i+t_x+Rg4X+09>U zEj$V>(;&TAU*e6gIX;FDpvW)%RDIO)x)@eJRV}qqo-gklijvK2NZdRHtCljz;e|UQ z8pD8d@1*keG5MK3vjV8oP_3}AL(rEhWG&PJL$@h=;aRDj>_0ZBUIkxj{Ixip=!_cr z^0x28CeGA4_|&VVo@Bw?)B#?+qR-4Oi-HH^6SKb;pU})_DwRVdbD=pLdU3-{S~#AK z*bC%P{1Cg0_?K`xi#)#G16BCSYa`=a(l%gFU$Bg@ztD$N|16GIL#gRV*W2cP-`=Dz z!9`5kUkR+ze7)+6i^R3uXKwYZ#KUm3>QWVB(5)lg(FM?0b0dv4ehA{US&W(kw%H4e zj*b|$5<6%#PQ{8E&AKmQv_9TSl{P?(uK0(i??sGS33C;UuKq8c=HDMNS`S8Vy%geR z!rFfrE%Q0jYRq6)pfPQ3`7btezpbrdOCN{Y-`XOYHWU6)`w^~9D=>~W%m0_kryh&g zT#RPA^=`4b?H_)=?b@^gFVW^F|HaR3$6cG1??9JI%aR*2z6&r>njh2!p&3TF(!HaF z$!{5#;Kzt>aQL-k(>(Ev-c+gb#s8T`T9wtXdYcrpM>@^D`;k>r)@@SOG5G73^7=U} zZ)7rit4ZrGx1L@H=I1_@;s=2zu*Q#S)XZX>LAb-I0;^GnK(Ca7NnsCwUI60B4V(b> z46sC2GYgb3g^QyGUs2craGAowx(b-n_@GVOKFxjR7Z8x>GVtG^bZ)qlCev-`vbqu( zxU%QF8D^aE%H++27ATi$(=o%i{y+C*su`ekSwe8B&_zUAXvd`&lT`$bQ?tF&xxH_C zRg3kRs#h`Ha!@s2UXL#^MUEN?+Wz4fEz2j{-8C!n98unLvS^#DlTDp5Ii_k#H@s73 zAF!AeFmeWkm5ag0SF2X1-Q)_G5@Yhgh=y&;s7c0M!pK+>FipUyGt5-2%>nI4kVC!x z`+ydz_*F^iEs=m_<+=gubLTNQSBlnM3wB`SPX7kCYNc4Uim7hZMEq8uRkO8JCRxGg zq^H-o72k2#RLAt1Li_XKw=eJE1IU@*zd&(QKKdbmmqI6-%rOJ+P?=U0Q3gkJt8yM_ zy>Uavn_kmsp=G@Xf@YUiW*f})nlT9GqI!e;SS6&^%>d32XbE6!<z#H(er>DX|7XX9 zMyt0s%?nCi*iANOK^OU$ymMM@vpTu3%*BSVxf@(ZP07OU=GSvkufOQkOtm_Kx0mqq z<*on9t>a&;V?G>_EmkXE^BSPM)zIrQ)t>@dZfILryV8^UTxsZl+@9@aWJ@@kI5q`c z{4?U*GFE=L3h=wv3O=|!UXKO5{3%rMX>|)zjr@8=`Fb8iI!WwH<l(!w4?@(+hKAZk zkI2URW)+rwHzGT*sBBr^D}`l`Q#Qst5ikeAkh>SXs@nZ+d>TIXuo_^`91qu=L+U9f z%pgK1^V^An&tr%Ev(D*S$7!a@l&$N^rUtQ6zz;Veyt3_7mTiBN$jS)f<aumNbZzwd zcN?#$EHmOEk?q1!DD<(?D{u6s(zH~j(u|q*<r2vLfz1AHY~~Dv!<X0hkeeCZm>D$? z51aiW(<0r?enErPl1&db<qplfNb`)Y_;sO{yaGup`m6dC5gpQ@uxO>~u4t2CMH>CK zI}3~Up{O&^(}Ny?fHqsxsY+*LRtvow`h6GKG&ast9<BF1S{prDhlGwjX6&mgnavuF z7)c7GM*VBE)>6MITi=z<|JUXVjqu3YWz)aPnY1HUJEqoKa<eR3S}GrwOO78y;;321 zEI=&c#t%2Ow)%Uu_Zfc;4Bhh~xE*3xTGsl&&ylz>$f4<4=D#d0LlqB|luV6`#4AR+ zBXO_oCvcWx9CO7y$y}NF4RYnBcU<B<uwCh;-7b2O=%H*!Ro<$}nFZr$?Fr^)pSiIX z{L6ruK`?@eqV_zx_YA0^dH;iZ{l6*VUiNU;y|m-0D65Ke<9zXN)M34)3hKPs#(V|q za!XaEs?|<5B}d%pDm@9bxKt-yj5rIji%WG}v{!Mdj*E775`QeXLs<reA@joi#f=KC zV~}q60FO%XPR1=(3d4#t_IpL|P}bue$_3fn8(7fG1ShB}+dBA)#zltrURfo4ruHLj zjD$Qk#>yjTjK_wP$Wi(fDpM)<H8h5xjq6|xm%1&W%9B9r3>iJx)E4v@xsBgL_yp~m zfwswl)nDPQ+={H7N3Erx$NsKfxPxO%4g@Qpa4Wc!f}c_Fh)0miq9o^b+np06!Hl^D zN>}s9OzlNf@^y_(R0-F%vs~-X?Vu452LoNWyK&Zg7_%%xM!nshfLSYub7Y1zO`@-L zOw#@+-VrLNg*~F~`0~!?vqzCnf5LT<9mDGqWk8=2G}A?|%S3m>LOAI_)IHZ4^C8ff z6^O(muo1@vLDEqv<un+6hBoP2v0Awv1ouF&D+FccN%~$Gy}^i`Su_B>mB3UU4-Fdt z-UZ`OW@1Ns6y%92$t;doCgI7?gXV7Ko23DhbTaB&n2=7G6vrw~Lz!`-#t&nqc#r8d z;Gt!z!qH2TG+ReG>?36;FMDs$m?mAZtC_S#s`-L49*qRE!?!k=Tcmb}VOfH?MS?l0 zK2ZeIqNN%D9Yc&>Ee9r{eOp3XwIN3e`2XWkH?%vY%ywYd(C!kwTnc7Ga18`)Xg?9g z1~6h1hTH6m<km@bnW5bcjiRBwqI@cNLMu=HNo*6<;(W$-Z&V9Z*c01>DAdMwi^Mj* z5n@|MRU)ySUl7|Z-q<!c_yS^^Bkpg5eP7<(?`%9RttqTYJaZ(T`vpZjEqd>@8o_ZA z!D|~MFlS+<Ds0%~oFbM-gJB~$Rq$shn7S-r&Y~_hf-{Bj6&SI-ezK!oB!YF6zz8P5 zbkPX5_9)1ejI5?4c5O5eol#iQtf;%7-HMZg%}ZYo8@U{b++`FV8dNlLJ0p>+=^B%) zOsj<#2G^+=;0{JEto!mZjxloB1XF6YCWsDpf9g~Y+}p`#wgZh>3(21uonfX<odBnz zKS2&Xtfl_TOzBiQTvC#qGi4l#K<&f++`&2>g{G)#WPfYLTLtq%u__o*(&jygX9mtS zqo)bW>1ot)^;D@DO|7Syzcg!|5M_=4jmd)KViX5YGkwkJX?inwy8eIg^evC48(mMg z-Kw5CD?FZl<Fd0)dA$9#nF+q5Qhewj^qC@&RYJs?Y4<apSZi2m)*OuJjZmNK#ta0? zeqH|<_7E&6=gAsgLm|^(K6nkw$;xJ%grVLEgn??7*bnt9Cb|}nZH}zv1xCYUKP|jT zoDT*yO!2qB!)I!?NH*2S4H;@0mKQz`1{B})B+7R27iL~x>lNUg{Rs^D51OZEQF_Dr z{{MWBE4Eb7pM;^P(g3~(5KnHP2Cy5hOU8vBeDt5T9U^rF^wO(Ct<-k#N?qcgx>?C4 z<+MtmwdGf87^qmXUeFR5znh?EbEmu8BDGYFn~ei3n_b6wSLsyC{fAoUl1I($q!<z5 z-H9LI?WZ`Y)Uct1<O8^o&<s@=rz&e%g^vC|Vbq4QoP@H$^~ol>EEc(F3WhqKa(*6P zY#8v7FarX}-qtX6-On}}`83tZUnf$eRozj<lu2rSN8$Cr0BFe3p@uCb8DcxCfLj-* zp?cf<9mh<DG#Na<(o5;RaD}@_=-h(ml@2_00_qsGUh!zvP&&0fDXJBk>fv$?5wT~S z?b>=&j6%%|v7KD?nqz#L<%azy+|erdfU;#3cdzf@M8vX;Z_L<Fk&k#>_Fmu8WIz{v z9oHgb=Z=@b;VBLd{*zeX@w(d*FC(6E&2G^SHzb>@?|Bj2iB!QF@@jUOxsxo`OAemR zm9L7gfvB@rtH(v@3GuSvc+FF@(j;4Xr6lL(G7GOtPpU4vckn51ebSDgTeV**57T9d z*JV!W8XQ#afbT=$vIbYFiY<Y2uR-y*fX59VX4)_JQ8lI&*5pez8`FM;80E3XN!UAX z|CAh9yB=((@tJ~E_)-K(I@9H%=LAQq6f3;XO1Z1>frE<F*F7ib%v2?IxO1-Q6;0iK zx<c9Pr(t-ji5gtvjY;k3G1&Y_U$@9-IxLmhbdRd_lqh4I%zKnk>N(A!L{%)>=b>Jl zqB<;(dU%P?>}NH<_xLj178dqzYv|55sb_5zyf-LX%-@GXzm`ICq&YtQQJVu)UJ_Mk zt<9lQqlvRQ6yF0pZn)|2jVv=Nv_Wg|P`u)3jpE|<VJX5{aHBYVM4avp;g}UDbt202 zvkg0(6tV4O<b%<M3|;_q_)!>fZ84a{Bs?83*%8jq!f8oP=n1W2@rR=%)V!*2a+H|% zLBOns8rs0_?%@_hu|T9@!~WC;HdNgDSa73cbY~O1N7c(CqQSrjJ0eNnOy9T|6>Tc_ z0$fIqNQ<@l$!)QwA-33Lcqo-`9%75V57fCz%`toGKwc6v`&zffx+>e-VxyynpwQt` z=&j1%6e;xe({Aex53%)%-{`iU)o4pxTF>H-0cY!tkRx0l1GBAX@kr~9l;Ygh8zmJu z1L2q~G({hjX<P435lg!%*(9x3*W%T+1PVz@P8Oj)5W*Eu5vev2sc9lL15&YPRY?1e z34Ni2{@Tiz_>A*}64}a6z|8-$m0whKrhhPIq^FfD4_$&?u*c<s-**_6Q_<}dFEL^8 z7}N1TzNgp0g)R*KHqDkcktVtBXDk*z0P87KCa@R4X#mcC6=c&_hln(NeqFceuPEEw z^ywR$!IRl?DmLMq?aVhu%2^L1B`3h0+0MO7F+sG$n&-lwILSR%@OyweRaA?GE_Vyf z%5V$qqHJ%WY2~WH#($*H9JIDC@4GX|F*!(XsUN{|91C771zpwN=6S~@qO%let%|9z zvDW!o?Z>Qup&Mbwe`yNNqrWPGsU3Jn9t=qn4>7i~HU|@cJ=!=U)eui-4}cxp*tqIn zs0{9xP8NoJ1=4d$XT=v-1z9g`P&%7#mC{i}#8XD%odWq_J$2>ad5kt$im-)U-_p8O zK~*<MjrK^m?mMep5>$4{9;l~1wr{1L1<pMtRSI=PAC%~B5+j(Wor>peV{>L21#`B# z_M~h5?8pdar($<%3TCPn6C>E&o6@~z;#fw{C{FxlC7ZO?Iotr^)s-dofDgRK(=)m( z_Si!=qd&JhQc^OFD*PRR8**Exr`+6b4jEj7!&nKJ!fsv91YUT&4{~Ur7X2@mNTKW1 zEZYUO3j4GEaPKxY=!;|L4G&8Ya>UD*FX*b@5--8HUG-bMU1xXIpYL$xnb*Z#^&fS( z>hE_85>r<F-wOXt;C@;4Tio9bOJ1(n>gL<Ju0W{`e{@3U(SfIcei{N%V*u3Z4qz~V zQ2-jx1+YU^O4#U_sOLdkNwGWt-w{{<pmGm{$;c(e4XUw+h5X^9{-T!@qaY%e6h{EW zlPi}L6ME_;MIY5mcm{gu)8SjGmc4K_@i6~<i9abnAGPiW)t6GKy;-W$Ni`YkJm^Wh zb0e1&_bHnxzuvN?i(K-kefCea`dS**e)OpAP&!L1hRPK#Ep*wV1{O;~U>N-ewY*$b z@RBo`fnoIDKrJNtV{Zk(=vV8LY-%w23C{*>#J7SX5pQ!F07iT_02t<#%tAGs4e5q| zJKJH{UdbGm^yu8zy^=XB=@Cyk@0HBU5Wt)@OFeftDSw3>dr=aw7bTCWfLpDYwJ<av zxofYliph0Sv3`1e74@xct%T>`RdN5Vl#@$U>s43C+3PFyigI4B@*senQeIy@uN}<} z2)JrU@Y^D->i0!VVFY_rH6puBk*g5XVr&z~w0S+i>+;Sh)0fxySF|KAFO(YYkN$M$ zIMZgM2=xN$-`2%v+H4ABKZOlX;L)Y4Li~-uR@h2d{dCBT(J?6(7TatOym=AFz6b}l zg4rP(N9#TWuwSLz5chys;3F^=LL&Bi<+|}ratWmn2>u>~c=!j1hyGO2$hoN=zh7fz zj5AGnZ{86yFF`{RbX!}U3xf|U`)~uE%uKpxlwA^(R`q;n$VAoVU8(&hcxI9ot5gM* zN<_#cH`;t8Qn9O5!1X<Nn-<gZ2R!buMiCCjRst7}+^KEwpWCq;G+K^Ctd+*t{2MIG zk%$~Q5|ME53mhBQT*`+?T8>i^GEt{M{~FH4lNk6FSknPmhxqp6R4aj40ObcF8Gkxz zOm8)i@jMJvb+*I(Qq#dKwUK|$;E$DiLgnUDu8Q*$<<bU0q%Z$0!XM+rd}kB;r4o(_ zz!O#|`USjzK|>%%5lkZ<%y?GKZKJvIjvUI^3nOwUBRm++lOu;Rx&o6!8RiAN(0~=> zp^W=Ml|vb;DNI&a4rQ!YA9x(%KJ@`3P3SG9>!A#W81GC~Vq`AzoXIc^TI0GktwagV znHjK;E3)5ZHoC*5?m^MTo(SXUN{JGDsQ88<=nrzztE6ZxAYL6QomR3053M8(#rioL zrfR^DpGPOst`Wi6VBpRiIQ_thn}D-4$t8GY{3aN|lE-XV*&Blm6yebt;~dcnB)s96 zNl<0Pv6u-R(TGQS!QU6$UeILDO+FJ?D~a{JitW+l_2q^BglF7G3%n*0XW;;@76R*V zvjUHn48zK<({AX0?mRf!c8{d173i%-9{qz=FoAcRi>TF2P>J7zn#BztjQ0nN(V3w6 zC%*<W+a2C@*-3o!W)%9q(>2kUzk$b?Rk#lbQ_|%EAB$rB+c6mAXn9&!6Ktad9z72A zRb<!q-WPM*(-QL9ucRd^;a;cgj1;n83hBv0Uhoux^fAE;8Y(t|lc?P7803C}I{Pdh zEtsd|9gXn-fm;j_limVN81;>8KyOf~s7TOzBIq*As>Bp{AjfMJUkAMATdKw+Gz~6J zKo{#N{$?OhzP#gXIF7}E-V*nppp$gHCJSB(Bfkw0D!zCG0^Qpgc+!|+{uk0Rg|j^R z_&L!ngZSfIE^Nl3z4}QB4Td8Nhj_Dampap`Dc;Co+C6zcp06)I@3>=p(=TDy4-YX7 zDF04#Z0|N-<pa2n;5_8Zfbvgadbn=HkjZAi)$B6$Cw6lHG7IXz6o9ON^~O&aVg{tr zV7(D$Kt;|-Bd$3G{a$6qpnwXzh#1hDWc!6f3rDbYa?tG_$41(K)qYxEAyInpZ}eb# zx7ttlMxbKF#KqNq`WSTwaPf1spN@VAyyO7Nukq8{W+T8CkJpIN2Z)Q?7QYN!=HCHp z{d9iJNSuR~x>!7ct+ZGJxd$E%c+LOiWsGPwP^pwr7|~JzEF+KvAayi=VgOzxa0R;c z#sIho;B^4;v=C?re#aaP>(>Jak4-ki+5t#rn7+_f!U!b4)qi19%>iQ-#A1&t7yT%( zU=zPlliWo#ZNGNcwU?lDO%E`9T^kSh7ydN^g%?|MjMZbe9M9tLxrmZdERXk>LM_3; zF3c^)c}E$XhwE7ecC8M&^Kg&jR!_RxKt*_9x~G-p(TmX@^5_Ec(@JLVpDW}pbS7Bl zdymP=iqPbX1-f-S<aZ+E&>$t-0Y%L5y644!xeOth>IZDL%fP=2A}S$B@@q`oSk^)M zS&a==qg0WgIUBVCeCo0-q`8fZ3OMII^!^_D1oe*ccNWk?&wJ=<!?f5k3wzVYgPhQE z;J+{LcW5NlQy(zC%kLD3a+Mx+LPU=uSyGA$$*AlRK#Z&XQeO1gZ01qlzys({XM!uF zpbEYi-bDvK<7tdO<IqhS(3x{m!qddr4WrHre$9B`d{>C#M~PRz#W7L8i2kw(n1-g| zrRY(`qHa|0WA>n+$FAsn5fvqux@{&R&)0Zj%)Nvd^HRX9j!1??@)1ayB-fa`<O@RB zh9X9!4nQiUquO&D)rP_fTw;O!iWF#)T#9SAZ^Uk_*u8oZ><;=@yH?<O2*ghC*hNkt z<hN+ZIjmJ2smN>?x1Ep;AKlzI4=TsEEZVHJT%MR9o6qWQQZ_SuhbqgP<?R^>=|EGo z?E5P@rsjM_IQlyuxL(0{0L>gJIwbG-%&cNUUwTByp3XNmvS`!f%{6HCk`jb`b;G@g z_2qSfxthn7%sQG*2is#I(kaaGJqyj~%NyXtm|{E_3@T3&4o0Mky^q%ns#J+PkvofC z0^TLeBO9}b-%%4*ZV@XV1IGd<sjG0)@50I>2Zp=CY#gVlq&_0{Bp8yCNw*1ZCPQ#7 z1b>B(k^xEC!WaUEaVq>^#~X&UI851~;Oo*JdKC}7zlYwUfF7Fbp{orO{9XIDbhHLF zv9PNeZ%;T$L^k>nk?jbUQlErJ#dy{dI3v`53h?&#<J@k7+%Ks-RU-zRalH&&B2+a| z@MY70b4jRprRl&K(W)gyzZdYBgqLxW00m2LscO$nJ`YAb84@24F*fOh4G*g{jhWnZ zvsU!nYeCZ;cEHgTwHx<c@E=a;-GcuxfqbjdOpwV|8rfFw8hk1NnPp{+mO+avt&HR| z$5Y+~<nfJLSbEhO9!b!6X^?Ji@R^EJr2c0$0o?^OZpjBQnqjjH0;SS@=0nu87~jbQ zoU4S=Gq7CpUGR*CV_*9Qdl#i8YY`7$-pjBcCx)w)<_2LWXvlp#E3=F!x9lx?8fZCQ zg;y&}3(aOSM`30mjMN!D-c&39ZX2IjOmZ&B_kt|vuBxR{`~v7E*wpJzY&FFSqAZo3 zfUcJ@IhI-(8k2%WYHSc`MK4sMdM;|sS1>3(h&Y{AJP&xyhH6IVgn2lxn0c=0T8Tlg zC`1t-6+hRM*G6AJJPvPk{iP|VrzLj-n_x082o`-0s+JF>IH>sdt-uM1aI<mf%)`h? zSRF9;!8tz{wqS5!yA%vr(E^thZA=!V))bLC{tu}fNPQlWiV<72X1TUvtS#qxtyOG( z*qnznM>CsL<8kd(`D96^v>~?;2Y0?;zB%h~G=xAT$|;YDFdv@}hV&98E(Q^;_LC=k zHEZSA1(vM2n`|13H%_*YNA$9_!2VJ!Zyg?BXonA`!0<mDvl-T$T$PH?OEph{&%TH0 z(3!9Ft^4sIkO*B4#M;gfTIp6us*2Se){_l}&O@-Bnp|2ZtYJ#0MI%3k4To1wO*Ua@ zHuB-u0jQ@_lTMri?q7>4WCn!4a}MxBJ;4vwydG(mGZ#A&-98PO>Zfe{vS2o|dd(%F z7!x%X^iLoVH3UHEdl4~m1Ji-^2Nt*=z!m}v0hGHBz*7L45m*gi4uIeswfj1rr9i!p zYps}uuc8c%N3gXg%uTy1($ODnzO+IZUAp5TaAol1i!(+Mn)=IQYQD!*)#Zu|yUo5Y zN+;k6@FlJG&*(PeQ`qrxC77Lyxt+~YUqA)qLPe!!-p}4L(PT_a8Hw*|-!l)fTt3|~ z8Iw}xVLa*m0NA6(jWHQ_iqTRJ0v~QN?n>blm_ux|i;aE=i>Z>gpdY`HvhgPy`k1xw z;#e3{AWto3ED<9gLNIOujyEda`Vkb$-44Ys1CJYuBjYI(ni|t@KDuW1E0`5vMp8Rt zwV3$?jM&#T7#ei+3`ll~NWLnP)fPbVut#z{+pW%z*2nJa{AM^b*u|zBGdxG>K;{aW z>CJ&2L%dT%D@LVd1xikT4}F7&{+NfpyMP{hLh06T6wPrnCLhihM~m5NZWQO|(D_|O zonNa?vV+!x2JOf>!mvNTQC(CIzp8t+kj(?+ls*#<CE>qrSTIdQb<)bkvEOB#wvlKk zYV7yNVX`EiBrF%l9=I7Ul;j!)_$91XTRw^;;yriePXit|0^-Rc9(W9+M0d5xRNiSF zl!B{{QHH$?(#ct7Wjye;V<hfU!V6#9m>68rhkPczF_T#?|I?cgyl(KALB@jhMvWN^ zft{^=xO(SEnBJ8VW#p>fg?Z!H!mQnWzDH{T??btSwH$7G#bE~JHG?HKf%A1nne@K2 z`ZAE)xLuGwA~@C#nk^Zcr8@0p!9x1bzhg15gyC@X;}}@}27fStUjVEI5KpOaDex03 z;7<;)IA{b?frJ<0Hbe~oYe5av1aKWFjT-?tqfPEE^#j*}I1ya@oHx_~cJFIpERsez ziI8oZ-_6(q9??4ri<$z_us>s}UN$?wc{K70YvlKj824(FzG&AdbZ2*Ajcxy`5o+Mk z@HoHXU!~bI5T7z=DOr!Ck7V;LW-Oe+>MVC&8$tla!hSQ|-2(WJvbk;u-Jykg?@{;i zKa8dyEBWv$^Wj`1AI9?3@@|w;?&NF8t?`s8{~w?qbwx%9IvHq87WCeW_;we?_JbZ< zLsN$J8_!mIK+ETw2M<|aWfBN2QwFo%mG1P?{n%G}O7_ii#IsAqF_tq^m0DpD#?5=r z0$(Xo3xLOsG9#W5>@={L6;SLCH5pJwtQW?@#qh0f5#M6+AvrlB`Km~M1W6OzqR!PW zhgZpetjOr3pm_%3^wzz^Gr?b#%NH;?fnRM>uu{8Jl<R~FO6LG@x`+uTEkYH%UESlo zc+=#WSiC9oO>rqpm0PeI;OEPGHQtTNn+_Yyw**mPgN=AgG@1}+iz%K1JgJ|Wxyo8G zvtY!==p9jd9zwC>Rmg1-r@a!`etFOU!?vGmj=AGXrxojh8SR+7Z9d^OW>(Jxc*>{y zK;`86AqpwR-3j1Knp>U#&bt7>x%@XzVjO)=%RD_KXi{K+5#n@&N4?_p0FrSws?dTT z9aCR~B;%^?RXY16Mt+<i*0}*z>@<+Jawq($Ae)d`;^pOtmlfnyft}!m^|FF&HGN53 zysRKwnRD{sWz=uBt?A{vg}uBg;$;~XqL*KJysWGAh?i>{L`E6wWs_rHV6wR!%gHEL z=Z|XIbiTZYN?@`Yj9VR6;Bz=+XRFJxoULwKs<YD-(O(GEdB`(64TZXG$!@0Ua%FIS zpBZ6bo%XCUWYOHK*LLg~$rloGBxuQrF(#8UWK=yaQ9nW%<+z6))u7I2nAVnIP8mPg zL^Wgu<^oGvtLEGd^&kvf&FhY+21WMMD{wzOs)1a5RNbp;Y$Q9CcQ@vK-?lvv85g}m zeA$<TG~*MMpl~kz6y+5wjoBLbo2~F<_i}WIsE*)Ih%Swb&9{KZ<(R06g0)xyY_y4* zBrgg3fY<;Nb*Ee(^nVJPC+b1-F2Q#LFTV0VlszT-o4weMTd?-ZwBpac0fDK}tAw!a z%JjI=<4n{vab?icP-wCM3NxeWCKaZ}?19^XlG*{I_KE3Bkc_<^Z%XFR?NUjbbXaij z5T%#G%5toU`j5C?cO{<v?2j6Lq+;%;aH5`!UI6=X{rjV0<Dzea$%i28zw&|vWj1ya z*Af5lkl-l@%6{On$2^0i=OGP09!S9IfhC<+39}BT2$n|wR-}}KX9}0nkhrIm-oRr+ z-df6rmYfE*rBwVtODKV=+Bl%yo#;9y)-9V<>m8`Z8Lz#Gy`rsE3i~^kvv+4q#g)pw z-D@xGKTsBTDfn~NsQ~x*=6Z!>{rib>e>)dtRw-AWzOc`cW9+V2>UTR9eCSmU`;SFR zsH*}!{C;!BD<m^X7pZu~4l0y@G>O#P<7dUeDp0quKtVCNDlj|fH$A*Uc-WcaA6v2F zLKVs>B!ECxd_@C4PdRp$11H!>8;l1zovw=Tgwh5p8un+oV_qoR!$vj2{z@*(R2znH ze+QMD@Q9bW5^tJJ#R5G2ip&MB-YB*Se!jdlr7_B3VQTr$A#;kCeHHRPCmKh6vF6dG zQyiAWj+}ft&ulyYI+iYe!PB3`$TvkD;><b}CS_VESTD_1_G*01%XwB2-u!*kmA%!i zKxl)qbucP$0ax{-(fiYnNL4b>H+*@0%2@X;tvy^RzBGuH*HOHUknU%B-2Ybewm?QU z^V7c*JfH5L*Y;wWX)r17ySgU$nWuKaqn^5i{_@mCl*YOBFb!JX=a}l#LL4l!#o61- z!daea1C>Lz|2eqAE7a;U1fNKpCvB?F6#O^fal=jZTsaE6{CTXr=EKlII4G-%>JN)p z^Hu2XrN$QwYFG}L;AtJxdGpo@|6G#IZCJk;c)`?{%)`RIZ(U&-=iW0`i1%u$sgQI+ zuAQ9K%H>_DEX&2kW$0ri+gbJ>R_(gNnAd%E=i=SWEzDV4#&KIFTChbq%yA6L=oU}k z?K9(18N7XVbQX64_5mr!_hwi${30T-4H5VY<(K0<*3qrF!nqFgc(XoWm+_W%A86UF z{63STC1!y?x>ZyckoJOypOdC6MkN_;NCPHx(s%@GE1NF?t$JJ$9<xOBWPxVVW^<Y2 zmjz4??ECU|z>Hmt`DK|CddXeZ_+?ph7`SX!X9Pv7$IHmR>;JGr8~s@6`r)otOwB3E ze)ao+=~*+<&bYR>>n+UH9d|A>rqNlZ+6wXG*<@UPj(W=nA~S6>ijjqcMQ5(Y2JY)` zxhgH!Ak4GyHNQsZDSUyb7!-8SD|kv{X-f$I;=|4NuzydIjZo5Ibu3OBbM#f*kr`wf z#mVw?E);`5s7&##SbE0nfpd!?CF$EJS{{#B1+myck!o?)!QGH7C6rLxyCYgb(K<q{ zE=9DQRh~%x0u9d)?|O~nJ}UHJBHqGyP!X=ou13%z8r*yg2L7}yBUc`Yiu`AdV_HT; zO|XK}<*kk_6k&gu8WEDray?+5Kpm^jQ|}9HS;#&LB=9bx&-7~3H0W3j>(qR?_n7cH z)2wWYu1zh`S?jJ%^MhQQE(I<-C*O+BPe7ef>KJ!U9H`qQ?q;gaQU<TRBAMM_>s0i* z71EAbQsjNmah~!R>1d50A8ytj<81V>N4o4thYEe-VWXt5|E#NN8hkPZJ!wr0yK|0| zcNzM&C#{L$Wle)u(UW+Y3MmI;`ySx_6g(@Eu~xJyyoO3%)?Ug={$L%DrGC|t=j^z1 zcD=j`OS|u~<xoE^cP&;(p~uRjP`Qa<skg(ZjMysGX&s!9Yc0!<T8}{EI8??DW$EKt zqQizv!0ib!+W&RTN4?&_rP#@`c0QV~*C0+?b%<eIic*<(y3^*$n5HvT=((7%*(E|u z5A3$dWfrd1fZ?taUd(5zuJOns-K-orro}GYY|CgSOXWRM&D2z#h(Kk;FThWGF=p|n zH@Kr#vuIv2cHW3s^PpHpi|E0)MYj`p^oen}q`WSg^)63?zi8{GYmd#iK6?Ds=;{)# zW+K;U69(R->n_<&g#liEODM(DW*L3On_DRrV>aNe_T+E}E~B4trh^lo0fyYhQ{p-j zvq|KhoDxsc2CU2n{gVo?!W)hmEu(Xr;`yOB;5}d1lF>@6mahfx&ueF_WPKuUH1#~* z-vGUoqH=yQR8kBLfk5br8e+prw@-C9P7$XjC@Bk{dE)PCx1=`F>rqm5&Vd=_#gMN@ zsGmwj&cT)qRZ)eW*C;R2%zD-BT%(cYal7NN$)w`m$SL)S#;`$X{n~j@PvwTLReS$( z8n5+Z*C0+oX+2--+G*%7C9I2M@I4gz>q~nKulvhL6Y5!n8^<;(y6I)9Pa-b%+CELv zY0aB%`cxIe2~3~$n!l+V116(d^cs+C@Y6(Q;$|jAE|}lIx^2!H(G$>|)82BMv!?hU z%{fx5q?aEiqh@q->Pd52i?2a1rKp^@Ilq8FXqp=Oug$qe1>8NKjC#>?P*R+yIb*iK z&`y>6mj;!z_*nU=Zd%li{s?vorA61!ssC=J=PKoCTHqa9ubsD}9*^eM+~Gk?<zjfW zFJo+wz2DcQQjC4oz7k3w-z&_1I3iO*?y!s(!7?Rq`{d3bgKkV)w(=gdhc9m#^rOP~ zQyUeHN&;{QK%gRk8e6esGn;S+6iA>p{!9R+=QEn95m!Sql%jFQ@P)exZO=X7H(Aj3 z<vEp6hV!J~Y=M4MaR9Mzql~Kn%mCnQRegH(1B%g^3<bzUeo14)i9DDz(e}W&&A6eQ z_Uw4%aZWjzd8DWxQIwqoEcG<(+k_h@QWLjfl$Wqrd@u0g+1P%_7+=ng@@s3_88K!B zYYuaEXu3<(L+@baQt>Z42C|2aM>L&_>OX6|8XC6i!u_z{wPu{+suk=RWj<9Qc`J)7 z1-Tq=qE(AzS+B^jk$${1T<j-4T&H3~G}(N4`PaCWwi4ChrLA<fXe<YAD{b);z>62d z5t)nuTIu<2rT3uH(_zk5dZ?&h{Vpm!RZERjx|<SM>8GLLskCd&IKx$lmENvGg)6;O zB_fr+FH-5W`=e0l4&sA(gNd{&&8?`VUJuV~MQ;|VUBGQcEuQusDq8bVSm~q{&2cN5 z0fR$f&Q`RWsP}<*?AW5M+gb^%=mXI3RMfR*oPM6xU9CceE4saCMK={x^unD;<4{@N zs?L^*POR!yG$f0W8Su<jG%R?z?QTUaejoAMO-8Y@y!6@&EM`6owXNb-u&k)nejgRw zTcm<Xe=7llwEU(=wCal1U}}}RT#)p<MorqK^}&)=e(NGy@uGDvwZ2lJNY*U$1oHqi zJi*+f%PWiro?!l|LWP3qTu=#K-X$Vd){JR-Qp=k)Fo;))37v~66Fj2~8AJY5gd4XN z{gdo~(!0P+sG-s#lj@0rwt5qX|1(aM;gGXU+G<?7+g6sk4i&d;bxNde{=jW3i@ylG z_~NV3;y;$rjgA^R<eY`UOYp-c<ylex1>&&-JkggSr-2ffl&NsQ6UQvIW}KT<h`sLy z6)F_RU~8=?BT;prBA;DGU*i)09^DU#T&gzt=nyJDPbQRnostG=`}^{SS91elB}(tW z(m|%9c|lG`Ujc8#G5(mUroM^g!h=DXbxQ8U)WCVD1AusP!hL`x4#uBsU|nE5JPJs{ zx+cX;;x8qo*cG%eHFzDEQHMZJ*aa(l0NhAmJAlUlR83d$Q;p=*tE7bK*+i)Y6WPz| zSfPmwmoKv)#x8Kv0C$P=QKB#JXmzfVNaIEKMwB7LPE>Qjt9^(J*xv|y+AReCf;hKA zqOJ?DfA;(c{WD>6!2AHerLCiG7QusH#J*potz)tvSpo%G$?hWg7bUCzUARvM?^e}A zdAQlOL=om^OQ<tNbl+%CS>5|}UQ;1nrDUs+rigLAR3>}bUCQK@_3fG{a%H_x5f0$b zh!Cc|veCNWt+-Ozn<5^V;0BL==u<@^eJ#t?HR-u?@WG$2WwYggiq(ju+s!pJ-5|m5 z_O$*O>Bg5X1LuX$4B*l#UB2-%>KlOve^oQg)tY{M*OEWJ?aQ>7Ufze#O~}6Dd_>%r zH>xHZImacQroEvi*`9}N_6d6NE-XKi6Lh;W`xouS+o0VJx>9&@DY3X1;xXneeEJSv z%ZI3vlZ1h{kWKJ3BRh9Y2IS5|P8vM9oXA~(0pko%Q8rgRieQ^Yn(Gl|av!(0FwqkE zn{+24^t`eofzFNuI@D5m%oW(Q7ogB~>x5&3Uwn)3RPsGH8W;KS&zF~2OT$x19BjTD z;Tbf^Bwr&kuK@K|`~^B`!ru5P0<Z##AHg$Qv4+BEx(5{t{_64Fajw|BW(%K<)Y1gw zl+L^hB`b3DfPFawBUiby<CvyH5@coE8vdn@anV#9Spz4sEN(hXq)hWx)9?ncdRR$M zr2M~2m57)zZCUMn2|(G}7<DQGosB9))dKJtfWWl?TJOcPhjidZO|jC<GyHx8EvhU2 ztcOHOQEs>&IN>|+C)isRWu1#-U|L(5Y*21NBgqo^I+bQ*OsB=zu5H`14r`ULg-z9< z4!R2O(kb;z6kdF5WuIx=r;eS1@+V=l0Y90z+TJF*<MyEmPu_y1d|$!qe1;~>g282Q zK$@`aC}EriBX)IUG?nXC93zF~rikR7BH8eBX7OwlWo5pxm2pQV*AEO|D#TR(Q-$=l zl4*KYnH+S=p>nd;p6}*!=xz;1WKp@(WtsGOxJQ?9Mp7?gMXHVz$h*iu$#v!#xgS3h z{@SbGGjjiZ6Yw}5G0He67R~`rs&t{G7;v{A4#J54so^N*HxWwz0@pZoREWD<ABo32 zlya>dGEA_QvZc90r4-|)vQ#Z1Xc|;njU&xjiEP}p(zvrS;4?SZKxKNjM{)iuc<#OF z4I;G#cyPJq&&o!a8D3I^8_k`ejUptAp7Ugpv&oGi9G)mb(yqasN*7ND$CkmN%#>!I zC^0<}$?Z_#3EY%sJb_ztKdz#`R3V=BwF4KX)-N8!sm&^KS~cJ1YF#J}f@YOwJiBoh zG^^w6Zn}u@^#ylmaCqb*9>Urca0*o!v|rUS<l}qGl`d~tNxK`n?NKA`8H}y$9PKl4 zObah%z}Gl^eE{31MaIca^$wJdyEswfMgHiQXvpwgcG6%4AGf81{Tu4*evDJs!(QjI zpLcI8IlVpXeJ=aS2>Wgi`<%;uJi=b(VJE;<R6Xop6=Co7u<N+&lX31=(H|bRXm0AJ zEK{vDLe0w8<&DQE)15&{Z#N$BP6<SoZh74tY2ee4un!hmiMj{TRd{AwHSPc&yh+s> zpf1iGitNeoo6lYMQgiLl$Q(p*q5C{SaFQ3tau70YD2k3cW1W$98(q(Jz*2Wb9I$xV zui(HEuLGMDIakMTIzZcFKXeVgInEz>5}dVu``EQQW;#y7N_V)N7s-+Ge}M&gKb9rV zLveM+o8j^Ti}bHK+d*s-gyh8*!%K6eNV;)K`0V~6Q|L?UN7(<m+l--x>I&J`6_;h2 z_c((0fxt~)N(1cs@CB<W88KYlM04jG@O_EC!f?B19Xw(c)2a((Qcn9!N_`7Ik9iM9 zM0fEv$TYO@Dr7)PqnNx_kT;kVQm(c1{^^j(lI{BF3s^p;w6^fKxJXZFZ{gY~B&BN% z`)%~@-$Cyw^s-;pM;GH>a7uq6l!@jIzzD*<Uqw*0vL`7mv_2wj%3g|4Iw~a&)wePo zEX95zE~Tx-OpCr1P{80A#wuT$>#D|@E}$|<{m>M}B!GjZf)x&7PRtt$PezE1us^3% zeQ4vYN25leDkGJ8yHfoUv{5!V-(bjXn+@I3QsO+~60k8bT#CjXMmi+Cjr0F-J8sbJ zCS|+?_+ik4+osygyQw7R?wHPyx~U;XAqm%GQs{Q7=Ymm-3<;fO{0T<<S}<fbPO-#{ zBb<#jhmb$AM}@Z>D}}?RWL4*|yD6Q(RNkoke3(nQH)hebSg80A_n|NsPhvO@ShyVi z1k&*58_)xF0r>I(GzXAI;3fcf6X*`$9DxA<N*@I<3cz9llL1^HFbBY-ZviX-@G^m= z07Bp4p?o%Z#x~Tf5y~?NTXRrjubX0H#cEAQ(<C!jT%w(Y@uCW<{0zois@&pHLCTv% zCSx`%_odh&AfHm~h(~NDEw2LSgc2)*z~5G?tO4UZR2sht;H*lZTgxx78N{Sx;O+qM zhjMZ2)pB=&crCd2B{PMmXxqEX!*eX4I2e5(6gywJZf%{fw2emp5i(byfjBlrH|0G^ zUIg5NNt`#7>f(KmD%f^*w8>OKjIK_cI>aRCB6Lh3AGyPeQ{83X7i}h3w!N|C!yEbJ zw0r0y6^U#TL~9z+7X}X7H#)qX`6gsGixt;D-X!ZK&jtSEkvZ~TWCmy@I1c{pI=jbp zHuS7UCo)WKcUh*_na+->D9_BzM@!=?kxejGKUWsdT?ugpqFbrmWuxdF$ASL*wu_ei z9wRv)!HVG%SXcc3j0ems%EL>q04;Y5mRT0{odC+Cq!#T9^y;T^h^3;u?--}7;_Mg_ zvkiV6#t?*;8CA^U%Z%QDXy`Ys!@s=D$l0yS79L~13{B~@Sx@QZoRfCZ=KGT=L6d~) zF-dT7?le%kuSS%~jL_{Y>fEhN-Z5{dOmqq-<5z2p^no7w8l^MFcUyYc-}uxuY-gx_ zq-?sl!evKX3|;+Ofs5*%>67>%nx-|EuV$L<%=Ryr-=&+n%_IV65F*=5f~KFuR!+1k zaX5!fy;8-0cz>0=hPsP?F+RkuQU%MEK`<Ri0BZoO1gk5b^$PV<B+>}iE_2sKY17iN z>S!;kj?{OUNhO=Ps}4(D1ao%TWAX2SW4#*HQFORoZR*(Bp0ASI2QRGG_H|qPHDzrV zHqPxT%O&h7E6d?KI6__I5;inPk;v7}kx1fqTEcHZRhCCMI*Y$Q!CyYMQCXhDxbc*G z*r0M8XX!VA+s8I6Kl~%S=VKdbB91rq#SIxZ4liX9i&Mdk$%WZRU{t1@w3;G!01V>{ z(dOph@&Y8ZqQ;q_4AyF!Wx%p=9#J|EQ5;q}2QvAfL~yfmW!c{R_iSDGG;WTWe_1P^ zX?~ZyHzb-5Yd4=HXSAbv83dSBD-*pKXJ;YA!?W_d9$+~#YnJ-vVV?kUvXWX3gQY!+ zrM(6{1(lr*!SJ8(GaN-I5r6)tQrgnfwbBSvT3|A5547S>*eU1<;9CHJK>+5T#uelu zZFX!!$?pOf*UZ5m&r3AI3xMOj-zr*0MeD<K5vM}O-7LZ(J#_rA|CdODIBzJAFQ@GQ zUG__4SX0+7^LwPwy~h<yaJ44ghKI1&OuNLZ+Z}Rsn=dtd^Ex;y7tTB6!ucmu%U(F| zkPGL*KO?c^!g-fyp<^Uf_}vZ<*;<uxuz|-kGd}mR{SHARX@ZKN=JJb%h&^ubjhIP1 z!^EqrQYJ6eRDp!8lT41ajni7WuO${UEh1dw+^TeDWe=s_i7Sv%O6Qe2EQS5qkwXB^ zdCf^)m@g0=MAtn*Z-R4FRl4bCMZ0O_aK34=1`q0GoR>Kw;av_ZO>WR(MX3!?F?+-N zLL5(NJP+J%JX{p5v%n?WGb|oAZUUaVv+$g=c-ryPlXwovZ%3Xi6p?Wy?y)QcPmbxI zkK?NJBIIlt=cSBV=MeFFsuQOXpA4lqo{E|0TXO<$&4G*wEm5KMpfK37t<2*pF*zve zGnT_uYDTy?$N9O?i6=vb3?+UCVr<Fj1<N@kA@o;3>@xM`JV-IoFLxfI8?;CkhiMMq zLD2BxWVZaeU+<Rc6Rl3rN;#@R?gGx5wF2X4_D>bCDFZ_>d*Hzs+7b``l4vi4C|*IO zF0eO02nlb^o!-hkfUJ2{nX)tM$scFD3UTrDtrZIUV}o|KVZOSf9~X02-#VXr6hcT5 z6j|uDj0n}&DAH=p{~{E;MTO*Hg%-cRg`2-!WMkdD$NXE|%I&{h<m}^N)Y#@*SCQ)c zi<@s2xA|t_<KRiY#RqJ@Wx!;{ZGL}CL{ajsi)_euzu@MZE#o2JNmr?kn{Ovk0Z+cY z2N@HZszU$Fw`>&ElI2Lg4HI9#hfX{hwh1k<<wdmil7Hmee29&rzO?r3qCc6Ui?zr| zzV%aGH{afml-f_UUV&E1Fcm7CZ&qL*&F22YgKhBONW_EQV(TJAaj@BwZ+}6eP`+iU zf6TXvXgo6ik#9X!h?&vB3Wfa@|0UmW#@{14!WFHnqIjH0{idaP|6m8dP_|@Orw}f$ zGt*MJ;c*tV^W{}&hwPfN9y@)O+TvGa0$=-(SyiMyAl|(@p4U!KeK#p&8vG{PZkg3m zIYW;C=Kl~cN6xG+c+KB&rC#b0lu;w~>^$sQFPJ~Icna~FsVoWa-=FF)NxW9-h3dw9 z4tala0bcPB;FSyTp2UaZ=zV5wvHuY9_K!o~;sgH#&a3;(I>KLa2{^CrGc!_U93}n( z_8T(mrgA%_#b59q7x|f)soX_*0%)zgXP`bj^|={#z?0YG)ehS3lDZuaqc=+pw1MlZ zZIEt5wZDU&|EZPGOOs-wF9YY3BEVT}E#UV3d6{Y`n}(XFUJpaj9z)SyBOU`7ZJ{t6 z(s3i}n#|TxN>^Bo8=2{%_e&uU;Y*D<QP$hDEM!{hYel?$o8Db{LA<MmZJ=YswXmg7 zFZQ?V?Y(L!<9!&Ko?5<b;cC}`ptst?h<m(#5O`>v+Tgbfnfdy#%N4900}Jk(igOg@ z`2s>$45uIEmpLQ#fg;7dQlz-gixl@ei+is~aWhb;J;EJW@cR^$7L$$2oPp`MF^J^d z63OH%h~yYV(xSZut>>aUh~kSh%Ee|C&<J-lQKry6l0xf%qP0-Qt2ZH9(sOQ=o^z6d ze9A1dkKnC+DfV45icbZeG+nc<godHtjWEIiFLQ_}eF>r1hgFE-oB_ckm*8qW9?=>q zT7Ob&xkrl|GD&WRCuvzfQHz6f<{hF{-bpbjFS*@7g{(7HAPWMqn>}Xfj7f4SrB$UB z10i-th}}W7yG_+xm#tkZFqd}sdhF6&e5M9L?MGV@kC9?)6+}%iQDym@aImu?a!&j< z4>BLRHUmxQE~V?CaBPQgPG_>np>cefOY?{?vD{}BV;1C2jbaj2s(hVs+)g%lP00MF zmc<I5^{9jf<1hGw4z_$CCwNg2E;)k%bwFN*S#2D~q700O_F*EtZ*ux$j#<)7j+Lk4 zV$_#cu06(O?p`SM2r6E3z_?*9UfYjsdZV$=ENLNH^MO|%H6X_<xlVAb;%m*?0QEM( zoRA$J%G2g@MQ~F^eoI;fk8ogSQ44qZIWeq<sW>rZ9r_A*aFyzDHDa7aiZ#O=5(BFU zv%Sv8n!8105|a;A25*{a2UfXQZ2d?{$1TT~)(%Hp+dM9hJ9U;?f7nsi+MxcJ>ob3| zmY>1bHu_%j0Puc0@xEG%9|10JrnTsuL9lz#=pu)v+DCzn_tq|!%gM}8ih0n-i{>_O zIx)E@@LRYpySZ)bo5|NhBAyIMIS(=RA*}@SX&M6;vle2NI=K3;OC?TGpA4&CK#ZO4 z(Vryx`4H<seP(x?jiR3#jgBzdBg&O`Ou~+USwTtmsWzKMvIivN$*}4L#EMU=`oqwm zw=fa=LlKkM%Z6%x#O7OK^Fi7q!`igO{d8%)N8i>y7h<W1u=Qz+=*Nbkzb&F~i9JC4 z|9Jb(z^IDu@7cS1cQ<T0*-#Q7fg}`>1QMh}=nw<~B8F<{9YQbC5tJT!F=8yJC_*S! z1W`~?6tN)!LJ$xYl%ilmcz@^2xtmKKd>;Q_-h9}cHfPS9IaBV;+_}LAZ0Wi5=4lBa zdX38bMG$Jv@u6NFt=*v=_6Irh*XsRm?$?!Zm+<N8+%Z~)7uQ+~omzM<)2$D+zyrom z8+VJO(ybr%czTI_f%6xW0t@gpye6(VZk+KZT>lOi^D;{4$ospa%*sKfr@+Z5CoeXM zRJ9Uluej`8&?p}wllFmH?dQPW44eb^UDnw&I97!YIt%uDMtpaA8)&AKdZiB7-;BC5 zbu;qC9dN0)I$%7*D?zOea%4Y_<i;mbM0zD?A^24JD4bzPLZUw{bX1~elF$Q%&JPsY ze?xRxy~H`B<A?iJC)nQ55Ol-799VKIz|nWJw_r{_I91^x9Z5fPnkC=_r%I+`9G>YQ z**qZmJ4=2=I^r*j4L!ltfh-YFHAqJYO?YQ%W{|T(px5EeO0%H|QA`<K1fiIDvADW1 z!lZA5erc(*+)twfE#32nKUa!m61t6_0%~voGf*hr53N056;}GXa5t<zpkQg%8Np%< zK|kNcq-khKXslXj+-w4|u4ca@)E^ki>Br>|i4U;Aq_9}!-MkXZIawxsbK92!Jwr3$ z&_1{=HL))XjS7dG_&Vs_vbd20sl=h?`c7EWqU)d&BG4j<$k#!?4vepZ9v2CKu7lnT zfakm4ivsl_Uk6<d3ZiP1j8#!X>E{*v81?@wNp>ol*Zm1gP$izRYO1POsS4MNjHI5B zzl!7_V@_4m`Fb`!OU>I5oMZGKT5Klem}K-pj%}j)L?O2V{CKX~a^uRUObjp0BDw!H zPDpwhucsq1nKM;QBXg9wT~ZU%ERfo<T|*r&iQ^6;^ARRrLmlpqReTL~4uCM?@HNyQ z0pn|^GeJo}J@Pfw{%8o(x54WH2qTuhhPs~=p01$|gD{(pwl+-Yw_QVhzgT(aYpC}< zX{d4y`I&Pj^gHsJ--qSmfkazT(V==GV?J6UGS>*FjS|71D;2BioNQP^&6TVRprl-5 zr#qq%K3i5A=9>WCC*Utg^(zD55`gajgpq8}L*Pd~j34z8?mI+bf))euTorc)mgKjd zOW?r3zS(vNSp2{`J<JYzAB^CTS-J-!ry!>Bc}X!X;DEvxtatNp{N(N|LxrAn|G3Gm zX2JqT-ac{w-U<VeF3HX)ixSfZpny}O`V6?2j&g<;x_d%>2=<9WPjmY2F_^*Jx}hWP z=TwxUs@M|vB;Vnpy)tKsvv_Xk=v<&w+<b$aUBLNI>WWrO_e6jigHC!Hw3eWqE8qjW zV$qIp+PVTxi)*jP5+9GraSIqPEQc|mWIE&*vDW?NF$N4&af=z7SpnQW*qM)8!qVg7 zz#XFEmhz|Whs4L?S{;}%s*Ci*ac5a<F&O9`K6a_6z`>UQ;|%_~?~kB+hDa&zP*=Y6 zLoW5${ZN+N4|(q5Tv98-hRs)CvBsAY{=;_x{(0cOd?aj33AY{t;}9EPrxKY5Ml2Y7 zhBEF`HqX&3_)}Z8)5PBJIifgV`k-dhAa6C2Jt8RY0@KVz`5zZzX-<L<m{ZO)Ws2L+ z8H_;A!3D*#@Vu{d7Sv{-KFC@4loeUN@K0Ro<$#vUtR)v(l#zZ@M+hw;9}~m)c@mS5 zi894E28s|J<@|$%Fy{@tl5ZTnrFBp@SqcGz+?`{8$Jg9wXfSF>(NjvBDp_-BozT2T z3cwFEqil$0i6FH2PmYq88D|E*X@*x?1D8RmO7Bm>hC#KG6n>6!58%{fKb()OR+7Rq znoa-#?%xhDT?7i4+D$ZtY=gTv4c<g*aCb=xc`pTegBm3%(7pS+08ZwV5kpji6i(-* zXWa%hIbCT3dGVo-25p!iyDv}>*y91L_jp=ULrO<2IPzk%(4o!;`W`C4y%Io`1OWLY zkO*Kifb9TWuK|ck0`LxiIRqR6@DTyW0F<u`;4FZR0Q`@Nm#saU=V4re6F>Gnn=s(m zoi%izL`Zmj1*+>B6#WcE!R>@A5vq)}qM5oP1GW=`Pd@6+PI_UmGZu*Hm7%*NtxKO; z(kp<p5MQbJ1&2x+YW&(1pXTlaCDBKk;g0>GJd=wUF+n8_XI`m@K`LpQK^xMT2Xq=> zs3d)Te-68DL^qUY)=s1>Fgjy*KcNaHoMSO31U?gA{aFpX1Z&>Ln$H1e?K@bz_aoF^ z(oW-gDCQ7U4U@#)d}vSFWi)_#_uZhku8IMHh^~6THUf)m0pKzyVUTgP1oAVeo(mGG zcj#<9&xrD(_BczoN3;vyG=*7&H!i^&N2gxujD0OgwRGxg$vg~W_8K9!a@DDZZk~-V zVB>K(?u}4fS-`iR=1V$Wn1C`zUUqlvThs2>$T*s&k40+!GVjQWbS=VLK=n-sm8dCr z?*bRMBrwt#h_Oo)QkQTZ#f7~=&cLhJ=6+$*F?{25L8y?C$d-ab-$R0)%(!gRRFk>T z6nMwm{KKZn6YbK)x7N@ml;-{elONYum70LVYU{C_=f1%^s|7ME#mn3Lhl^@^AT;P< zLnQj5BzhxUr+5rFzKV*i@SCi`k?Fkg6Qpl3_64}kS-4Nnt#~=0M0E_FZ%QVE((t0+ zyMlaC8;8BW6oldtCB}{JKc<N#RZ=G5qXO@-mZ;f!@P8^`rP&k1IlfX4fh^qpla6e7 z`7G=JCs+jBzd=%kNvdfm8TbBSU$W3U5DI=tgaWO!nh?mOJfvW=(&NM|v!SqQ!N|<8 zBUyH2pdA@2NRP@MWzMp5mfDeZg79JQM;&X|;I-&Bw5F1eKz8K4)(b}tOC}hqLIx4f z!TRK!QDaqwc9<oo<hwD59){o`c%}>;GOI9<#G2PY3nV&Ur&mNnP?ayCABCu-^N@;5 zI#Uj|D5I{hD}U@(&oR4?@7HSHTl{xvhB8`<0J&nXPLG>*aC2N&8{=z>fwf{|uubKk zMJjduU@_O2Y)e@Z<%LO3pYw(?7T6foEyl+;ah%-7Xs#I!EVw;yBlpl`!&_S!ZwQ?V zHI?aHC~ZMOLuGtmOSnSx)l$Y$8~Ftx<Le#Y3R$1ePsd1?Fv(ADSD#XqP410|`vM1J z5~eV9GAhIQcn|cq5BaIm_5t^$K(sswQl%w4%z~AYQESBDc(oDXqnnZ^Ra+yZ(*b%8 zgEsvcexI&Ys+BI9?dYJ41RHsnkkgb|L&#i!Wsb$`4Ss3js)XV-trSI3*_a?sP^}{p zXnN2M_WAeE(XG;IU*Aw6Xm-^)m4%i<DEM;`f|WccGvb9n=HCdIpKQIjbdRvf{HO=H zboAV3G`G>K3mqM`k!hp15IQDBMlTz^r_iT@KGa4ZCv;lqm~5jj(RBTV3*%86=Q+)B zE<^ujtg$inS`053&)OJYTMT@6+j!Z=xN0#<qa%4s7+eimpWTNqkKapSl+9rj*$2ZA zJ)9)pO9Rbz_?6DFC3o00N2!-nc-TqqNUS<F5m32EG#b@~BWcOAX$H^(RL`%H#T`ai z<6+y7u^K74vWkX{2{ddNai$(uXoT9Og)lYl8yJdty{M5*=+qsAXddgu;YIqR$0rwx z#sO^ms=49qq^d`Y5I=Y)#(#?*?i3%ry38&)h;$|U5RH7W3<WGXk}z_@{k8bvC;2pE ziwGO41iJu?U)f9kmbvp%!5s--o?%6A6AJ9C0}~!~7MOFI50#<u#c3GKO1rfis6kYZ zw^>=ah9Ja2nP|F}SQRG<lV8*4%s!(o;qAWK@YguM0%$DRx34AAr?zF?8*E+TJ-Q^j z7|SM%CNs%zvU#C(AWf4Q!P@}mvh3Dn0qV;{ru~p5nr`wZY{prTmH#D=E=7nm@JB@E z2+Q187cypo$WVEVHc~h`oVEkPJeMh5f+k(~tDa?Zgz6EEP2J=}6u^f?hvCqIj=b*u zaJLld>JU}c1Z0FcQ}SU#z68=@luG`T5;{8bm!^|HBcwt-%(S>7KBs!QA82_OzQ>UK z1+ELizHt6@W2CpJTJA*_(%+aL2%R?&It;CVv)r?&2TPZZPcIMCWbb99;&cD8v-;pR z;-$!>K|hhAT6<D!b<|Rob8KX)Y3OTwb2WzCy}WK$z%_k#2x@wQMY{rZ{1&6g)US_4 zTbgE7c*m>;-_Xb9og;fWRE2$v&nJFwl&->llZFcCvduF>hNuefGWHp`&XkY9eV=o@ zPIyiRQXgPEtP$`vy@7wgc;6<#3qOJUhm1!x1HKH8aTN}ldxFu=G>=tH>3m!T<@OcA z{1*qxfK=gkPT*~U#lE}KJn9FZ_H+K{E(P9D$hq5qUb`ipxEcef+KQ(9;0FB+Ea*4- zQMK_CL_d-AQ;L4#=%*_E)S{mT^wR=A;Z6Q<t979|m&`A)Zk7^}G62g!1Him%EPjX> zG>PQr;s;M4tFF1#K1s2cQq+vtj1=yTpr^EsRd;Ox5dI~eLbd{U0+h%%0Az!*0CKKf zK#qeN{6d({R)R-mw}UMqLM(uILX$RO^gpUj8^j_0j8efm2~FbnLm4HdaVbye^?!A% zlbVhlY<w}vC=4%3aov`pPlTpZig36Unk2<bHcnN|aZaQWD5|7RLW5<xW}w$G7fEBJ z(ZsV+kibg)fEx*HI(~eYQI?fR$iuc&^#~L#_*Y3q#hD7p;OyH7X#KpI?8`jjQsy8i zpzWm!4*n>Mzbztw7+Px)u@2q+)-F=p9R3vo$l=CmC5H;`D@5@gnU)TI%YbHsH3wx- zY=NOQYvLpjgDcF{V+tu4OU3hDhS=OddMBs<g3`wwwbE;1xpqju$(Ekhnb31W><>!M zb7}pNq5B}}n+e9Z#Gt881<m*p3@+VbDac+3fu~FNw5@ckJb2P=6w90Ojf2EDgQ@!a zm=o1?Z#5O)NywFNBO616{9az1YHMe~3DjLE^ATyRk5|VR2Q~;o!7_ry@26J^-nNlf zX>#OP)iG(Ts!ac4<=NW!O#+%8E8oy^##s9tp%&%{4W+G6fBB8%fmaOZwtZTBN6nb+ zCH&c@L4uG?4)m9>oNQWXBUjbrJKD5Q+(_BoE6F)K+FRGR_}7;vLL#H=B1IPU5)s~N zA1DZ|&>0gY=<B#}1*%T$T())w3PjyCZU>R5p|*8^`FJd!X$^{=DK<9J;H?3Rr7CSd zjjfo@e9GEUXDHTj_#2R&LykX$MYU!fF?Hx1LJQRq{fA)VC&bavp-NYQ9M*Lb2Zr#v zj(#;NF`JcO)=dM>WyGB$&ovCa-!-5Q+>2h>fn-+!xIzH*Z;ud;`x<Axfw;=y=W|dz zzlf=Km>v2*5uSB4c@L$mil6cw&~i=**J^pj4)Gu@%pZXiG0=s0ZrN&r>X|C4X!#NK zRfM4Q_s_=9zHl1-GhwYGuO-S<vOkWn?+YIXXEa6LmFLSiOeJS+af|hI6lqVvd5Lqw zNWn~2FwasjH;feIl7dae70g^1P*4HSLTP7srJ#Tn3>^sz@KtvZ%j2ByDJTeiDhfj9 zoWmZ`BY0@eR^Z<Wo;xG7E>=U+&I^8ddgxDaz`u9W`7!6Ri_=3Vw1)f-d?&Ya+4s{! zhZlhVqu^(!^O{E51;(3q#26h<>0?~JLReH0_Bc1aiBBe6XDcT|z*+VW2>izQ4}?F0 zm7TQT8K0F2eBCMFe=uIX6Yyy_A^#`ig}{9|$6V_0aOu#~V);^v0iDrp5`()u8!`T_ zdAi%(gA`QH82N&q5SrlVN(+!Qe1xU59P50WbP_}B)Wn+iA)toX((A6c5Mr5u^yNAI z6o`g}AGgwL;sr{dYfG<(f^>-G2GUpH^zmJger6!OCJqBJc#17O4SmX}7pxztCn40I zhaM@J(cVViD|A>KKVIlx2n|*kJB3F5kP{V0Eg%gs8#qQpM}z60XBIb>4q`+s9>fEp zv>w<A{i8D6qHSJdx9X|2nYa(967|PgqjTBW>H4%WsU*eSNU=Fr6!UzzQdI|PKZ0L^ zc5H^8Xqu6N(4vP!Mc4eE;S$m4k?P$99O-yG3^2V@0eJ5*_$G1xP6Y5=cIjSt6W@Ox zEv;m(Ya6sY377I>f7&B1p2v15fTl+oo_0Sy-t?cO(&qF1DVKnUvi1coYEj0rbRF;; zUE$RDN{8rrxQvX_7P)>Hg<kFn(0g}9FSi0f;sXF40q_z54*{s1g>~2xkLW0kfwx8@ z5gc0NEjYy}D+2WgnQFckAZHm~ye~(8)W1K^bo5x?Tb;OBM%XmZGSY3bUs$rwTe6-m z!uG%?R7n(BzMK>It}pzhoB49~;uTozth5_mUBP(&Zg3J^T$i?z@jrq43XpI@j@6=` zWybRE)S|%9EvkqZ|E3hLKT=TaA|8Xk5}M$6B%Cf3d8AW^0{Wk0{Rf~wwz!baOAAEy zK<im=(@SMkW)q?G!odckmmt)Xei3uX)02cw%_ABfp_u29T%VkWi08bB(5)_HHCAnu z`GL4qhjU6-xUGo}=Y!A^H+I|@BG4efFI5A608g5614i~II>FIbhjAhb=jfmBMQEq% zFkjdJfts$H!W`-)n>s#%OhiAG*4#lIICitrTCfgpTn_jxIb(0HRKTqmRv8^$gOV;3 z_>QYEC@sDo;lClc(>M*YaE5^lKgw<{L=EE3;&E7ouZc71Lahzo@~XVxp92qN%a2)2 z#mUAW=a%$$Pik2hs!nhtOznl3+VnoOozzuHIPJitonrja-qz6KGQ+6>KQApU{2R2i zUtJ5wqNObdz0!kdSMva@Az%uC#B2Z~0lY*&UjP&O0O$&Ug);!W1xgsHa%}+iXkSc4 zo(J$E0owtL=ohPk_5dhH#ole@P0@qDv~G?%$iEH##!YJG4)F2V%71Bxh=s>MVty=% zv&rx*M}H)YdKK!Uj?vFe`l;PN76JE@2vU=u3Mpv^=HEi+l{l=WLC-0$`S~Wz<Y(a# zP!L889sEVa_(Ah^fAO&>M2H4&5SkUTSfxkO3Mi=7>1Lg;kWOM~otjv302)+#TY4VO zjAddXeG0cR^guIaoe#*w#Rv^88m+o&Hnn);ZlO~Xo2=>fCI(y0?IJ==%s3-Wi&lI# zvOGG!Lw_e|ubYj<E^2w6M+Kozn~5h?&R7~V4sz@#CSt}_=OGR@b&>-7$B78=OiV_E z+7@LkadxOdIK3ve3wUT_oRY6IjZ>k7_v<y{(D{3zYr0S;S=1YEfI35{ITrQL2cdDM zPzMXuIRp14)S1Q983WN2==02VW-~r$kTea!3xNAlVDgvau}OV-77TjW)e}A#*lakI zXxQyJDW3Zl-p~%<`Dj9+xJ&u6q2m^Ga0S<Si8K2X%7X{f$D{FQ`OUvkoQVw){_8x! z%6Spz?Btv^oH7`b_m?F>vCNl5SjTAm7mKOf7*M&=rc%RGN#%_@t6W?^pfXv^wygX; zpfb;<Qo{#GWfMtI%*x+>uv}!^5+~BrU>M>99-;N(yTWupQ{Z+Ma%~zz`D|U$Qv*$R zXo{3&Cw1f4Zzn3~z2MPWMUXR4ImTfrEwOVgcEEi`DY2Z`TP=3L6~+u3`;f&B6wC93 zumg`)y{)%z)GLl%80g2(&*dgDa1vHV>6G^P`7~ff4Z+&zxbZn^{6az}0QK#KU@F9T zGjDt@(a(Xdj9F27<$!$D2?FH0n(z@FEx>zy!lk=?$Z^z<blifONMd#VT7f!6P4dMl zXp;OGs;Nzf(kWE>7M$S2&_wC$i@@nh%b4N7_u-9v;a>wDGGr1yO~~Iy_+$iH@Wk4f zBWj#iIKSEeJef1?KN2nNvEwj8<9WbC2H@L1DV{+%n*JHk&^jH#uIZ_QB085nKO+QR z5=^Y+p=V_8C@e^Rb}UE@@avMNpbUxKJhvuev73yj&PI51$R-P$1<cvBJ6qgvDo%Ng zMz2c=@p@`vPaeu!g5;YC(qmBMT!`iS#6FIv(;aFK7|QRB*1374ZSIDYm!$?eHbF}H zUzO?(5s6a)iQ$fyNg{T?Na$vdqHy}rj;+L{$0g)m26e$bMPhGu);`KT{)W_JOK=0d zjBW-T`SfxjP4}mxFCQzGQvYmB6@+@-p^_LKzOhi~v%U&avja-85GwTlk%_9^8-0A@ z05-7@W;^mGK4b-vrv3rLbr1<Y#tIsZe?Asf!a+5NgX;P?OxSyu(q1;VIaOIGgc;6d zS#H%}wlJuvG!+J4zK#W%EH^p;#Cs>z-~*dj9~PsAfLHT1-}9O9$sMGdFE&m*jc<=7 zuJTc%3NNIxRG*4R849^oJ_@<c<6%0TgA$?rz^iflSi_0%)<h^b2Mf(I5=-lXobKjU zZfKLtcx=dxwcZcKGaXE$!8i*#=t*r^mNL>MEj7#XIxRI^v!~GYl((QV>}lfWQFbe& z;>g}6ZeB*>#@B?;H^xzu&|ow-s&qFsDlfOcX1qA+<+iEe2x^DT-P8_C=R+%>&PvQ= zIh@X-mCwYE8dDt;Uq>Td#3rP(-x|z-->^XmA~`c@f)xT9Z!!^n+=lQ=T<qS2SzPiY ztD{)Two*sIO<1E9CZh>csdBkgKLOPNv&>Ds(5q9dequQniTepUpOUzOO-gzQ9R<~7 z>2N)a<iN(no$f)?F{gbH^yeYq?gF6HQ~+%N%p;%?0Pi&P4<zpz2J9_hu89Dy5ikcp z|LM{R<%n)|8oJxL?}F~A&%unUI0HY!@DoO?s7-+Umax@_T%U&7t@0lf9oDh=2vYJf z65u%zY2ygJOlVj-(CLmI=qn<ra`J&T1K0H=kdiYYan}++g&@0D0B8$R@Hx>=EqW?- zGx%_X42smsW+1(=;tvb`C86=_r`*5D7qDGe14U!we#W>Zim5HVTcpKouu%7J-2b!_ zg!-8u18P<LAfcB=#8CGCH7n0%kq(@@J+RAaLS39CRwEcXCPg3?2Xe)Se@kt6!)%Gg zfgFo7;0xUyY5c`mh(+#x268lQnQg`5;M-$Squb_4EDqsV9R9EsdqV@U$FX)^+Gsj# zNPO7+-7JZ<R&yoR&JjSdHf5f~+CBhbB+s!n@ezr&&k3Md^F1oD*0_xBQ^L=1tgV@e zxX1@H$~7N9_3;x%tf(=7e7S(SlSBb9<^Mv`S}`^nEQH?L7_AbGmH!q|iti{zST+<) zck}|8W9=}|!{BnP1uckGooP>Ju%s_7>CrdvM|}oBK%z13EH>>Z8tW`-h0j!#)fpZJ z72Qh8TF{!880t`sg^_vArS2Kt6n;yI204uIpdo-F$Ka;`SPFPS4*^kk&Bbpa2`nH~ zsjhSgc$a7zCN|wO;tkSv9<12nyrB4BlqxqJKNlqx*-d|;PR|C)s1<lYUGSsKb0X60 zB#<O2IU#6LmifUg@ggA7>6li*mnCuqC)xO|5+jj_P@?luP=2?Nb}nc#8yL)u52W6x zkyR6UoQg3&mF&5ZeJuzzvW@|zD*iX2KNO(R9MIY#xh*5lvH#k{Mxcq+zEOxK_5e4r zxbLWm)tw_v>;Z0KkD}6b6Vv#;3#|^j8#l4=Mc7z>JXQw)4HZtLhXZJ;s%NZSa8gG2 z)HlUwJ`H}Azp$k%mPS?T+Ytl!c>bn}V+a!QSUBEGV__UN4#xB62ID4L5N^tXP@!my zrb@w|Bkv1P-EHwR9G1Gf060WIZvZKaVfzJ1K`)EF2jcB^V2PF|A=R&o81+D^c1ao} zYw8Pp*lVpGhSy+KP2Rp)4#nDOHACpLl6NmbM?)9(q%wOdP$Q(A_8DDZl7iGaUwkd7 zk}xPIF-EDZ?^AFJvo%c&W^#rV=2{=FY)v`53zfAdK!S$oyrno`L5H^8ZIeI8@w8k# zdW^+aEcvA22w?u`2t9gQgVsS9pub|-_Ksh%Y|F>B8>CAz`t;HTw)wW}XN-hJdX%6e zvOzEq=1W7M+O8*Dsu3L;_bavB@yjZlH*M=J;9`9?4--!QQe|83bQ}=91ZyKuu6A78 z;r`E*x=)NKL<0A{-kwO|t_6ChWvJF90QmsIi0f($>;^Db8vrer1LzE3FabRQ+_M6} zKmf}D#N+^IA|^(1@F;a0g>a1q<2WROI|-MHMSB_Xy~UJETvoi4R9_hrghpR+3xRDA z_D)l>?;5{CxRo_WyhG`>2!}r3m|^GQ)v5_9wpJ4E>9<7KtuVkBciyGOK$z!n?o4)) zGOmam1?3v8s_09S)LX!Kqqh`>9%Ns!ghp5ovz{3?Hi{7BoMW+6{SWRz%dF4QA0DX# zDP0`q$Xoh|ZVB}{)NjIXx+T=-tE@6sN=s<S>^X$;-BpcP-Rr=8*(g*GXwgqh%~<df z7{P5NGx9$IN*R@eKzCV<Lkci>_V1}93~58$1M3InO5?EcnOKcqrE{D|nmC%;R^w$m zECDB0=lAKnbUrWfZiXXhwpzoaey0>>(kW=gCQYTi-Mo-VGim0HE@8t_U{xcih329F zj=VYx;0U~<1R`zyMy|r#gud_uoRTE2wmefUf*Ng?HQ>`ng%dSCYb`oj{rt}S@$29! zo(bR0nM_{~{xKX=N~{slaH>*c9-|cn<owKhxGtUM^etJ?lZUAW)ynYly2nZX9>a9E zh?<ad=Y!rJ0%1gSy$Ea*FxSffJ|^I8097Byp_`8Y<de+D0Oo??`WisQ2J~cR1+BLX zmev1ylxx8?gAW<5kRYNRm$JwXv4<n`z9e!O_5i*SHVtuBouXD}O9x0j@&lYorjpbX z>khdy4m3+?NNW0RQaDTlDLL;sO^l=0@K%c$yk#yEI<E{jxM<6AH%syR8`zqYT$1pD z-<P)JTO~QYrPJWNAY_UQwT@!q1GzM*7AvaX6bXt)!xN|dMMzZ^=WsUDgifZa)^j_$ zl=^`Jsq#Wp)N-I{@b=`#MXJ9}N#m@V{Jsz;+la<_TRzLQS=4MMw~W{MKWh^<2Mdws zK@;pqo((a4i**lAy~ahIKFFE1Mb;6GayGUPW^>PxZ?Qe8Ha4?nS}a8I6r~!p_tR;< z6fX9_#oUnyt>zPGE)y+@rwPLgN*(<4f>M=yG@Wh}k-mff_#`~!J}ECXG{|Iq*m?A2 zLuV{BI``a#*PXKX!1iXyIh)|KXo3%V3Qed0f*-(i=aT(+)2W+(2!^L$!BGCpirR11 z3g`WcAjR)P_44<}n^cpY#+F)t5waFiL&l-|Xz(E0v4I4JiGVdb=Y0bac>9h5^n7j; zpr+$1gq24r|NhHh{s>lo7ODAK>;@wlFaHeiXVD=w7{z!O;KnPGJ>4O>849S~={Hko zP&g=D3e69TbIpNLeSCjVtW}wJlR@}%*1=HFpg+4}0kR6|ry308jNbv~=^=?9E61yr zbe>ij-$`sa!%C?7s2#F~KJv>qog2-?8scUZ=bBT5%PS`tYuex%!8+8DI(9-dZOTr< zY40I*h-y@?Cvr<2K47G3RG+~d)u;jHmnwCFYQ%SzmrCt7ST$;m+l}y-wdo*I@20*y z?niEdOL3aC9<DNMw3}3(LxIZhrGsxNKh|9~#<HTllszAGZS*#!?F70%ONJtAs&&s2 znQArKcc-aVqkTNpYEIEVQj%uEhDHZ}LPGZhkRO5CFrv9;0SkK;eenVSEeTi!U<m;m z0Q?Og@;Lwn5MGVsuIGWIK8Ij77Kv`^w6}moo}Ui-6saZ}Qr{CgIt^o<(CM}1lSOoM zkI?li)xOKfDH6`AKtbDxkNXC{BqBQ0(C@Dmf*zgq?s<o8X#eXTB@Z4D_CTr%{NXy! zT)3ZaKw*I)C;>06Yx$>umf`zP7Etn^ftIJbTDOqu3TtpZ`Sz3LC70;Ft1GGdO)^3C z@!z`KuVFS{61!?0sfm0ZT3OAbq^2%V(;*rt!jy4IRM5>QCRCz)H2dH|Ze8FG0)6vI zRY}Rgn$slKp>!^eS&p!>h8lLjs38(9#2~!n44wR5H@IX`Pnh6*<g!Bz`;hVH$)rY- ztVS8Us&lU()VSwsi_qg+&8e4g$?eY-=Xyp8H?XmhZjIBb@p|+Pt=xQWDeeNbhmOl( zTK~mNrOR1Pl4<nB(aP)0eiDbgHlZiYglN@e=%eV&Wvd{5fBiEs!e)ZOlRF{Cynu*A z&kOQ^fP4v-?+;e&GBM41sMBe+z<N&Wca+rgQ2ndaO94GT*0Y=RM2b*|xLE7a0)<*n zg<^WH1@r{79_NeDlX6ErS|AAmm|kRvNb~b}Nv^jb-{MHNIa?5_BXg}FR3*kHLFlcp zrf@K|7p$wA4@>d6+fD36SKicMV+y%0s;#i<qK1>|qAe`Y7v-d|)GosLq8yDk+6<g; z#?kmZ;O1`0o4;j!#Af1$VhHsCmxNB2UVK|*ps_~`<U`4@hFd`3-jw*m!uB(Z%jEf9 zXu1o~)A_`ftLeHPHah$wg<1KPR?*gQ(cXlq+#*D3#Y<Mv)^Vz#TY%FXx|PNwx6+(h zwOY@i+Xk4C9Hm2qBKX-NgN#g}R~v4seL~kKwD7*zL&BswJ1tCWaZ@#TR=AD_F|xs8 z-46s-KPrbW)%_0hZ(kWviA!hV2F~6*Or~?02d|Pc3w0T+=6wpmvkHL!{0U}Bz5NR@ zT3rXOKV+8e&#Fsb?Um<*ls-Jkd0{(n+Sf?w%efQ+4?kVgt<K8$nS*Ro`ulIfa`)e$ zNAJLM^i=>802udH(vu!KH}EYN4paCxr>vD)I>6>hkOFf3^AunBScaoTnMl!r^(OvH z8RTz=Qt}$iP0Ec{Wh(9jK<hLu0eDJF5{VC<<tnqQP-)U0++PsPvS~8Wxb;HZ*4lx~ zSiqiKyV~-krcQ@q?MaPaCY(Llfj!yzWy_P9?8*JW`H3r~6MM4KE3!kB(wTF??Z}}N zYyq@QIF<HGv8#~$+ST6_R&YtXAvu?HDS#9zsqwvt(t|@P<fz4?p_xeu+UZn!W$YCx z+IE_zr2^y3lAxlRz>br(?Uc#ePHmJ~TQrf!%=UutAe7bbD*Uwt!?X(ji5gq!wRp*F z2tM{q=cwL=jb*OmRhE=(B=G}KUpmBYtdaLoQ{JYTddpYQo#%tjTiBYm1hnS#^m0YA zy9|EH+dm>DKgE0netg43UBarMN~z;#3$2ljc0_2MifG1fLL=`CVY<HOr%IC6$&WDg z?8rnLVmv6(N(0?it=9esGsVU}WU-4LVIHxuVK@%51Ri06TL@1IgqhBJ;(}!t3@T=j zGrf;>BDrt!0eH80jN@MTJpv!NZW;6U8Yi~nXtYde9YgNbdvk)I8ZJ2=U5QFNSRg%4 zS8h%;L;40vno|wFDy;OM;q*hFfD%TaD-lr0Yq6?cGJs<u6esCjDInfU+=c)y2p6YA z`Onn|#8KeVpJ`=4txHvj$4AB8X}o%3d8RDOkx_TAlLjaf%b`QRe6CX*1a2-9r?I}; z&gNJ}@$r&R4$OAson5b&lQhlsy0vKH<K?8Kz<FUcgp-^kbPU#6HQN3SL~TCQJOL$o zH7SbaHh~dNA$nW_<1&O2qe7NIj$`yH1mY`J*75W)iebfQXQ7?8(Vi9BwIZ7FzR)N} zL!g!BVAQgI7dppiP!(IiwzeV04qKGn$H@^pfgm(Ku(8Kj>_8xTj@Z~7b%6(T6?|5B zR*V`?i3@1L|C-iCy$fEh76uJ^M>L~oG1t5#dU#Tj)ixMm(3PHfQZ7-g?S2d$I-UJ> zccsa5gI#)cx+_nt-$d8KtJ7JuI=vn!uTFO(<{4oAXulq#tw*LI(56?Xv+nfB<j#`S zX-P)+qs&JV_?*TKy<&s{nYnr#rm%dD`S#W6vcjbmXi13+I$rnzi_=|rUDc76htsSB zal{`4Dr$7}E@r-gZ<R&#!6J26mMa|tIV>f*A7rUgw0zx%Il4K!`!NCqr9uakfs49% zNpp~MaG6@tbgD+<tY`}m`9n|m1jAq5k<$@xHaoZM1~e<S;|S+4U^ki-+j7K9wj}KV z{&yYNsrl!DvwcT7<8Z2+Eb&z?G`f#^$32d~KL&d1w=hT@0`N3|Fygwt19l5o<P`vW zLCJ!!>pGA&d$BO6VCH3#a{!nQN{kOcvUt;421%ea!C>r!L~s+~27+*<m_v)-4IxU+ zCFqv&6bL=)CM_D!;7FVq*ep|?iNd3WcJRCttVMQO7r*RM>!C-li+{uA4z5-_*LOt& z^)YX8u4rY40#9z-VjCFIIv8Ujed?4J(ow~SP%uFftu&n6w3KYJ7Rx=|Y;0H=<lJqs zRR1sVJm5a#4VN6OO$SHb_&^Px;Trx5PSZ7fhHE(dZM^MLQIb)dK(pN_m35{+0;UnQ zs7$!Rk>`BEYLJbnLAHeg-3FUb8{7qy+h97SaJ_>zm?GM(Huw`v(rvKG9ot|NZiAIO zNiu3<fmW0__%I$?6P%=cCYy5_=IBRTO>K`XLq@1!Ni6dgVf`)a8Zcv&=)Dr+Q@xOw zf&tG)#!R8pElT5sj(*lyVY6d>fDVgrDd`1Sz%w_95PxoOn;_JCeDn_~JQJlhE6C$B zOi&9Q1|BGDoo!ISMVs*?xBgn+HK0DiR|sN_e0d12^?d{K!GL{eTj5vaAy|l8K!kiI z$o-*$ADU}jVENxjz91m4iRt@g47(%)hq{WJnlCiyjKn;KO@Kgr{i=G1Sq2lxXYft@ zSfOpS(cTr>>qRu<ywGS2`;_T=4D(mB4O>Zeq>l|THrOJ+6pZ5N4~#^{>o)d17CSJ+ zc@EpyoH8)Hso*`rlLBE_eNB9D{&z!Fe^-!t;ZAIVOe}>hlJ?vKWWz&PyLcKi3fj|Y z&wI&l!A*LHN(;?<7r}=qL`P2YJ7IL%D$`5T;+XgFh`<L-I(g~1QYYa0SYu~z71SRd z3H+_@((dVr>ZHH-pF(YBoQEmdtnv}0(Hl7$zfL;ZEP<7MybkmMLC(uVY0ixm=aHgH z0#=PCReW4)Agj9jeRQUeiV%5&;?d|T1p092YNXH%j(tnBGAz~f;m+6XLfpsF6P3AE z^zar*{C26^i~k|q8KuVgAv)aqhX~O|zYBhr8j6n<RaJ$iPe)L1ZcE%ugy>jA)1t)Y z^FrsxmP*@BJ5={P4^5992O$+Vsz2cs-ot?0I$IG;4UgWm?7qSC*<Nha6(R(>KjEpe zA4|1)w;+<wBBftIa=d}r{dEt&fm!-Z;9ej01G?{E{WAaVzDZ+hJcUj!2hq-F(8{ub zW}*t*!vGus;F<`a=K%n-0h}aY34qEUphIm^N{=IG|NNH(4X&-=ZU+}TcTn4fNKb(D z14y2;#alqp?TWsXUvM=LN$-Yq>kldN&PxA9FKW&M3$71xW}mO2bMr(<_H?8eEPhwO zezN-Z_cgoBhL>7-$;sKs%8~aIG}8N;AQCtYSynzTD#<H|E=QVDHN2fs4^_T+6g~{$ z<W-mHNmoTFHV&9<6jdRt>LXIsP^2tXb)aOzW3b^vc7415P%_O@@}Y<9F%LpX?_x?| zeBw#$ymsHqN^-d%uUHB9a>B-x&{JC0grp#thE;J!qX_NX<biNuTgR*%dB(FS0>xcB zH^tpzQd0IdCDw3^`z2JBMz}$%d$dWqriqP3x;j|8qD|8E9_f1Iwvq&NA$_G>ir-9j ztz#mR#!;nYvL{Ogz50$r1-*kG^h~7J(o^L8Pe64)h@V@?$G=|ku?G2FVAzyYw)j@H z)P~;Q-&bmrq-z<d)Hk1l-XJ{D*8K?W!4KeJ0^$Me2H>g(;5vW}j+TIws}p{!e;ljU zI_@SsrYC;C5UslVRB9r0y83`I9)k5o0Qg!Y0#BwRL0k)N@b|)z4hQYwEum1r=RuPd z^z?9}9|<}s&u1d^ei;@BJm1io68hlA-z-234dM5e_j33=`MeHZ5b3q!UC6r*y|27a z`l!p0N*o!^Z)v9-f(Pim?MVQ_h!d1G6suu<@RRbZOErP6prJrKVavVj$-vrsQB#kk zH@mYT-I=7H0iuk<k{LDi(I9hE-@8Os7ChnAwFm!IQ%50P2=&Cb`J1V^$jFiR$R^Cr z_~^mg!F23l3+(4oJ}jE|LM(A#Fqg9RCsNAy0fZ69R?2ITgEC#pX8)s<xsa|)(z=wZ zB{M4J10ZuL18;PDe)vC@@&u}~yOSHvUS#CRoBx9JLr!iz8HZ6w3iN$<YxiA-RClkJ zJNLK1<nG@0DODvnK^Gw!bd7#);wRFBUMTxIE}5VL!~#)~)Whe3R2dlsB?Iw1^j|zc zoqr0X>yvaZQeYewOUMJ=KxPjVb?Ltd`(M^`$CKD-N^Z?d;hDdY2X1YK2Xb(iP-`bm zUZ$dKCFtg9;JgO-8P9~0+dAo1rgNVI8w=qKMw@;?6C;(}jzw<*b56>@>F;|P@BSrv zmww6Gkx9}^lzS0tA-KhAAm2*+4Mgy61`O#2I!||#hw}8_ID$Qv-Qp_TNy&da?Gb^x z5J1`jq+KLBC$Y{RV0d=^vy=I{>BcG2!Tj!0$>XsLj@)0`3Da9UdqV9p=-@A#h^xLQ z{KFH>r}g&WuaHN3(IK}o22I6rm$9lMzp>4?TYKmx%h*&*-2C5)J$Ojqzk4V{n#3jd z=Hd>A!r)6HgevAqoWINp-6dG5mQX6XmL<6}r&@|svBib7+9HAAB++82RmMK46uNPD zGjwVWhHpL;_PdxtmqhIsE}aXgD|+ax_K%v5^{6+kwP&2yz7LnvWQvq^YcI`4+kg57 z&K<9$$DR~89D6!jaBy+R1kecDj$$N_QDLh|AmJzwa2Qzuq-z31J{DhB690we^?eDu z*yBjW^<O}2PExl-DjS)EJ^k?Q68<c)3}?Ui?{)Bb$vW(D%GmfCRWR7*tFe&sj}n6Q zTz(OW%2UOKJwu5c_XW==mc-a^#TNYMgjMh^W&q}OA=5pDX4RTH{s_T@>BR??%4z&E zPDL-NhFqPMQW|18X&b*$=okkb(YvtB1VYXTLwT?C1-yfq-f9ydsA0Xb6tRaH=+YZu zLnPt=W4Y}0dkWB{@2P_uNDjEV4#1#>5|?<gfbspnX9Euzq9Q)zSNT21@JMp}O>hsg z4jiEIvK1N)Pk~vJWWKW(`Xjz}_1}sKKvU2&kv5EouJ*uY19No)a1cPu0029Sd9^VT zx(0&bIF3qq&*o8nn3*HlP(<DjQSs;&AwOP;<}Q9KSxK&4r4~Sv8$-l#E<gfwEB{Z$ zvMvZnonfigBxOEm%h9+Z$jL#5x~Q|~gWO#lb!if@>@{2;)0tqr>ywUKc_fEU!weMz zms9JabKiFsH@~yQAB$6_xl*@yK1orf-YR&1D=(}^3!|YF&XM;y)h2Dfi^NbEUXpGV z5d3N2{LR3KZ6=*PJOMl;XWSSSvE8ITtkencIU07D6b<!(8?_{xdxsn9Ep0m<=_)r9 zGKC@)1d&zg+Z8bG68p??-!_EkbWAxx*w!BpVeTCW%S$e%=b~SYxa^_`^KL`~j=0K+ zBG}en7%p843V59^B8ZEtO1B753{8>n{)-b(qv;8SRX&;wg=P2#wa#KBp78k3kr%ZC zE=qbGrj#)$`y3Rp#MO^rcNz2UftbP)UVb_>lx3HEOD_54J@8{qN?YR_;9RV7CKYQ6 za4#3Fyh*uxy?ECtq5|8;PxBFRY{}!03#a;-A||On&_1f0UvEeIxB>d-5O7}x5Ofm2 zSpaPTgprubi-OMp=86Jv0zgb0fDc8JHS5iRDpw*Hbx)zid@WoGHR`sErB=phF^@o$ zT1=`ko)GebeLQNTCS%DonC^cqtBh?n?rzPci#k2;3SHN}^$9Py4dZVLOuhwKU3oRx z6~V4mI*KiGJXb}-u6#P=$ty^xzz^ZV`eSj6Y(!ap-7s2`RpsiV&7*v(K(2tY9;$#I zC~QfN;j*4;rcx_`>llvpPz-+z+^8UGD25k70j#jEi&jn+zAcz*ANv_y!{8uVG{{DY z@EyEYkTbm*2x|X!=#mQ&Ds)RaaGDn#BmAp$2jTQgxBN8l9Gr{t4+$#&E<XA8E%1G7 zk$woL-wxb4s{r^g#s{APKBIF0-%t3O7l99F{ZVJJ&rEj#`$sUY-=MRw)x@R!d|WL{ zxzihRybT?|^Jh5UrQAm`Kj<6+l0FSrx|SYya#2YCqM#plqKl+?4@%J!WuF8&FMS#g zIDHz9=RAPvvv7}r=cy;@_oK6-+T}GI?OnbLOc|SHWJ~g!c;`d+eh3xgXQ9(svp7xn zj#W6OTM-i^!zp^Hhp#KC5XeR!p}&d#WI#Y0g%F?1;M?@j`8xUTyr*o!%m0_~ahvd4 z|4X=Rs&*Thaq)i$o5Mtyma2?45^Qv2E&?&7orY5kLg$XYe&#H={2P8Q$&u8P0*zoZ zg(8Q}H(m<GJ*WsBir?^hWQp%EP;;oB(n|uF7{vXB%<BrCZ!ao)4U{<7VG`m0o`pUD z1K+2X%*gFlV{O#6wu5gBcGi5=r<%}xE9=u~zaXsx_GQ<nQ}n0(i6xEoO)2!6jKzzk z>zlE_O`IlJ-;4w*1PwOS`X(fhI%@nlwY~*|6wvEil0fN7P|gPg*N-HYDy5NbjHoJ` z)?pOc#LFeU#Z}E{NdtelspWNegoZvytQ?Ao%z1PRWQU~a1>D(dFZi2T!)oAsW0BzD z<kFp@HvCVQir#Mi{u=t`??Ar_;gsV5+=ubg@OyO7?*dp0Amt4JVU!@~3Lw`F{OkhV z<w0St0EmeMFk-dt{j9D!2AW-^z?k#{y6UOIwcKrdB6iThnfee#a0fZh$@d(TaZ1=! zMV*+<J-J)d%*1FlPm{SxShr8nyI|JqW<mH&PB%<Jjna}RXqZPmCAw1dcy1)wczcTR z8ryg$Zp#eAgW220H3tjA>&3W%NKk7Fum)<5=VZ~ZbIm+PE?FW%(l+pjEM=aHtN%fy z)fyZmjjgM1vUYv|B|0vHisF)cNgbCZD28-g`ikPxR}`1r0(4yRM}t#2E<-skcR{%h z#X9!5tSE7LF2_*ObJ+HLF}o-(Pwukfat_Dk9+XbUrA~1jxQ@$ttReYFD=sx2PJw-0 z)TUEhE;5%xr+Yf+3n82`7Jz#&e!c|e?ggOc1&})f2%`i+^8vY5;-?Gft|tI201)#6 zfURq8kINlzKy)h@5f@PjdxRT^%LpM*Tz&@8VsRNSY>LYtn9Xt7M#vPG<zYIh(?`qo z=hgl*E^#?zPf0{^*|1n5-0yAUW@#=xUh@Z3X4-fYZc9m#nQ!BoF9;%$xmQptG7liN zj?5KYH)-UQ!y*)j%-vEsw?$^g3)$%Rcr(V?<xQMB=gyDu{~D(B0D0#ymDnT!TWm@f z$p_q(8vR<3L#^P=+8orpBX8s$Z0}O9xFUVxFr^+q0r-HlmiYxJACO+rjMU!$6K-av zE^|fm8(3a(E-ReQC!|+oILqpV@aCj%dKr!6BZn1jVnIpfMCtUMke{HVOi_mS{EWpj zY69ydQTSgt6Bg@nC&DKyz;u@daDsp^01YnzZ~>T0z#mAriGZI0Tm=wDsa+}Hcf5>9 zZUA5pfXG$=W`fmcH=?&SkmM^E$&BriCxzoAuux-|@W!7I@@7rqi}bqCYyl5$u4PB3 z<G<W6gQEu2OClQEi31KL2C0wi={SKha%}u7nr}|WN>4?^q#LTS=A+ChB1F;ViCC*! zUf^tGpnJz~W=s$p=?Hlnco?SZ^=XU)p9c;i@bt=v61B&34VA5BX~J(-k{oz@tmWc( zLzOARb81J%4|idxZbEhLyn+-uI2r%1V|!6>79ZPXKraeT9?&H?M-myqnX$%DD+Uo# zfXZ^@dET~ya}WjR092X|PL}x!s1D8{l%(EOD>#SV9-N~G#7J<GzLVmNLgcVw)XRIV z;2cE3c@8>saB_w*zaTgtLizucMCmsWoOL|zcR=d|ru$U@>j~Hl;CBL^1W@i*0ILDq zN5Db=^8tiWYS+iW-U8-23Lxehg7XZ3e6Vi5h2T63WD=;#h!m?SIQ=kFg0sGmTWgYD zB#^rvIYe&{O$^{orJ5-;2ijBV3Gh%Gdx2(~v<69$$svls949gym@f%(=fFH7uA;y^ zt<?nrv#?lTPLQ%tVE!SNQDD}T9CTnhhB;K3G#!|Yci_2W_&p99SP#Qz*k44QmZa;E zgt`UJa~>qAx-1oU9XQQlhu35LDc~VP)bRRz%}<%%fYIAMf_DUt*I!&}In;8`KD;w0 zTMGsrT*28K;M~icL&Py&v(?sqNKofL6-7BHMfs?;S9#p)bd#nd(L6Fv3cM*%rPp?R zBYLEZ3RYgkj#8t*9}a20BXa~ulnHYv*Y7A4&E8{kIK>3uyp|9<nsMJB!0G)l!KVTD zWyAOhP{iLoh@HR}1nvOC>?rwBq$&TGf|b>otId>z7B6Ghv+lD<68xhGQ87_t%6Lx* zw59L?QgF1Qza*~5QW@B9z+12Wc@9-6gU7pE80N?uw+|IL!J>KoL<uIUO82tFQo?dn zrS^PQVmo1@Eo{YKz(%S{9r)R0)eSt%$EE2fFDg(cs1++c-u2r5fr~@x+Aj{t1hdiu zyYXZ&i9clL_zFqmh7sBjRT<5vHzpZ$dLw#I5A1wtF?#oRiqR8J@Yd>z#1AnXK}SEP zvYt}jhJHvt!gMULzVsGOs^;@mL3_F6UEfE^>0C)Z-!C-#ZxjehpW?~qufQUPS{N?I z!fV7&`{*^|yqn<A1w9(oCqtfLz3+n+P7Zx0R(E}ukx}A@zE9u9Oz<(#SKUI#v=l%; zRZh9*0_f!^hy5vtxt;@7+bE}8+W<s6%c-E<0K!*e-C~=lE4T@DGmOem7j+gAQRyzE zCTdhZpy`e*|3MMOf(!p0-4EFtU@HHba@r_3lK*}oRt1w-sZv9D*yF!Y%ApytVwV(S zMGYV_uKhRw>(nh6{sDkTL99cjR+mh&!AV?TMEwRv)O~K4NtCD^fTF@Y<&?jt2wH~D zqAat(QT~g<Dxr;0dBl2%Sx<^JJaB>iDzP>YEA~t=)^tZVou2P0J1TzJOLl$i+x4E@ zQ<l%Q{WdgEKxs_hQI_wc@T>2I>6EDGj<PKv`7M3cPJBBk)c2L?o5;!qQAsvRNvy}q z(E%xat64frH4)20q`YeaQu@xaek2t;zL=EGP2XEKk0g-aUdb;)G+iN0eEw($2k0iq z1%E0+)I4d)-WR7#<wIl8lDk;)6lpXf#cR}}D?)<07YuFZMFR~*O__}8Pl45`dSb*< z`)lHrR^Nk0dV;$ZN9+N#aB6uc_(T^D+$Nr64%NXa?og=h2{h7z^h^GFvBcYyZuAhC z#+k&^S_9t*CNQ<qZ@v8P|C294{0#SFO?Qt*zwm>%^j|RD%Wv=p1<_OnHypz-UL8&R zleNi#qQom2QymXAK~AemkaQ-zhOPGxq!ZCZe~EG`oH~{|<#l7538}=#O7w?V${^6g zh~OFn=xd0&rUGc=127N3MgnpHxPk$!2T-4YX9468upPj21ndEDnSc)glnepzC4ja7 z(oX|u_n7W)V}1bgnHYkRg#Ug*5nVrnF&yG5hJ282$%{xFjCCo<Erm#MSK(UW5=l-{ z4pY@3u}~n}Nt4l1GNR+X9l;{`X&8n237uj{#}9}~lm>=`+wPKDi<aNG_uFuFdMLR% z1-Uu$90yTYx{p6Sl<wpI9=Y;+Qi;u2sD4;E{Vti{pAg>T1e9og|8U47b#q=j_>(Y1 zmd2V#0_(35TZGc_iSZ@Nsk;+?M9P_=himIG&6f=uQa(f@X}%1R^k67ORr4qm+;<q9 z^~A~e6iG(0F(<)sM!f*Z9BrJx9NL*-s<9-<Epi+)Hi3b@5gbh&&r~xSj{nBycpB{S zY6Qe~1{BO@(LNA`4d5Ii4##<y&?>P?ts#!FOA0{lKL-h21)je|d0;jfel$_4ztV7A z(U{bXy8%ZxI6aPLY9P>xd-MYaGwCXFwAQ2+OpO?&l3H>CZz`%LsTIR|7bvL{BdF1D zIw+Mihp{*()o81aWPSxIeNyw~Qsq>MsyIpyoVLBXmPTu$YEP=8YatWKlIHoUA)UKC z=)Xb09SLA)8FbUcbyWlADT^kN24FG)jRCv^ATk5MUdUX=e^)#Fw1^=O)fMIBAulvb z;F?{9PS^2Pe#9n3F2t@HLOV}4w15-S15WHPJ5#Buuh6`5ut<^n=+BY&GjgdlaxD1o zv~s8^u!3JgulgE^zegxdGBtVwsP8hYeiMm!3%u$c5^EWY5P3;dlgSh!#$+K-S-z06 zppW-FCUk2mm@0EbT;s4FgZ7^enqI}Zs8Z4np_z>#+Nid;TMXHRj8oNb@TB_~Fm6-T z|K=3;lmmY5DI5*E$v1AV1&*)YkL<6iS2B)Q&|RP}6MEnM7z6I8kpooqF#c-qHAwnq zg0T_|4*lxU%xGL5<vM9A7Y1Qv%o1I6H|>i^K~;bk8J`d`y#$Jxz20cR2&Md1=GI8~ zS0I}N&So5Cb5W89+*e-+<i1GwfwD<eW|ojw>@}3<s33G?)=F3<Ki{Eh+{2okkL#eQ z>!8Y}>dyZJ9-UzE*C1zHj3Ls&6@cMJ8=w>)SwKU^)l@a=vaXLAt)*(z)2idZr7LA> z)Mxxb;QnQjpS3u44tBFcYuwL5&qFBqNfELP_J`rc4f?ZYCNZ#4ry9bk4pOS}A{0nv z5iGBE3Zxp!seYzZ$+lE9zc409=H%7ENTI!I%(sze1jwEfLVkP*)hWd_)hu5&Oyh~l zNS}#C5+0D9(TA-?62@f(@4c?L0-iTO><i5_kjM%i3-AUA&;I_+3SP!x?1oFOi~j%R z`q-dAuEwW#D(jjD{zq9^;Qv_G3cm+(opi@s7iImATv_1%mTSj)aSm1Mn_5&)1>6&r z{~E&st<MTIA|As7?Pdu+qY|0}?O4@1#i_O?qBlB{3w~iOYD_hgfS)MB4^;;K?JneU zx)u#D-KzqBu{rc>eD+<y+iwE?Z7tegc=~SOPyPyh8edZb!_lH|JZggs28A%Q*4bKv zKf`eJIOq$L%PF(u6S`&5W$d2PPiiEv^l<C%1XxCYtm!S$lwz``-Ik`mp~)EDNRN7y z_<3-6?INJSGgx$6x4u(H8BTr8#JW1&Oj4>+Km7vcod<n+3P#Hl0NU3C@F{>gwE(;a zAUhSnE&wrU015zv*2aiR8eCU_{SM6aH-N}G<y7-`20GMJRwi!De#%5q9*#k{rx|?r zb?|+40sI7D9RX(n#MA?D9Kh2Ad<Gz~KIH)gK?#F#5c+QVxrct5&`%rs=|n%>@e|n( zKPetlZT%caF@_U)JbqO6P~`ey16|_7;Fn(IUIfw(=yuNm5Y_;|6ad2jgpq`6HLz>I zTu%U4)UcfL%xbI^T){ptIvv@o?nF1N&|jn%O+MXgs=H85R}i)TMl^L;C{CcBtr=L- zv(;#*we_CtRed!XT^Fj)wJevuL3h86pR4&LrYYi8#GypUm6*<0>{wc!eo&-o70@^> zF+n-*4CLq;A$@LOCSqH)4yXQVizvxKA!?ba(MM2UpMyRP<!~PWu!Dfz04@-)9YCGN z0G<Odf`B{#p8^OY4X%^Gx;23Ze*kbCK;*9g3c+gsB|LNu$cS|E(EE}v+1np1@z5_4 zyRY}hf{G@K&#e#W$f7Fs{#ixq{V`AJ_H<*MSG}pz-R9XAHvUD;4<^6Dtu+&-{ikm` zh&->bt{3EvPNeR)Pzn<s1Sfh^dwc~awgvqa6xH1rz(oR50VFg9Pz6AD0?Gl%B_I;O zuK>bGgR2X$sm<WT2Lap!5IGdUOt6-tdR)VR<TfWK{$X?CCa}bb*QKXP?CVgcHThpT zv3$OE;-xY8x)I6%b%s4Wo7?y`HQ#b#tvflfy~wi@*9mebC;AFdw(-!&GmTnTxYz!g ziWp8K`AP}m%j8}ob<0t>w-@MPE#SJ&0I~>Z4Ir0*h5*X61W*$|M*@-n>;Mo(8eD^c zRcQtHjs>s=K;(1)nI%kh1tz#=0P(ga_r4_gQjB_$skrxqkg2yz*W`cY-j-4=TPAu{ zwoZ4OdxzQh4{N?zeC2<<$goS_7UWJYHSUoPfoApxE#qm%Gz}&5O1HNCq(@y8Q+S8h zM59=V3y2<;GSZP36T>Zv&f627AEhm<Z=k<`C7Zaa%AYeZK0c7jqqJzZ78D(M(`dw| zT}F}U1pk(Z#35+G7XYvPiX@|{1?6YEcvfXRvliR4dI#(mDErSHu%gMG{d7yw<gQuK z<c?3b{F@!Hj4t0}!lQE?a_s+Gu4l0(Be|ZsW3EM$yMHKa(d6#mm-R*oI_*OabKZaa zPGv2c-2FqYMU%UKoomN_83>9}95yr20v&mc&RCN>P2ESK!jn6VPs^|-cV#%$JNIHT z#*@3UsWiFk(H=NY?leBR18|<)#iY{YZg)rEJh{{OpiaPfau=IQle;#Zf%D`}<IekJ za(76=vjAq+Dxcc+1bQKw+?|Dh5%+Y_e69gFw@=B;cEYA9nV#TX5p9>XwhflHpSwWY zC7bwc*2XKco{i5H<#KxtDx8{FUK2gPNcX|S`l(Nzgo*n>|Kxsjg0BN;+!eqU0DB2| z8o=BK0IUVz$pWw#z_S3tNQ3JWVAHyxqdW#+QFoc(y(yU#LS%jB;ct)!P4KpY&l9}A z2%rgGMh^fq!COH9P4G?-z!SWl$b%I8iwR!#CTL&VRF^ChQ{K{R+y_A#2OaKr0K7oJ z>i`N#D@nM%1Xi{eo;hEZbm&jydVIPppZ{Xcp;T4G)7I^ACS2zF4vc=3x{+|L)aW@2 zr1Uf<#6lP>tOOXdnrZupoLWTg(Y$EFcb_Kf;|nev_QZs5k&Qo5^RdUP=X&V-d7Af_ z$Z(h6@EIKeck1%Psk7)J0yE);TFp|Og{Yn+H0OONk2?lHaBl$N0PZKi1h9dCKauu4 z0ha*8KL|&X23Jk+=Kymx1aKHYOltr^8?_ad*BYFH*V=&5H=9-mglqHKV6lqa(;33z zwbeqViOPIUmRhntO{<R@*(ZD0X4oUiXr8i3C%et77j68nH9wgA4Zqe(n64*#m{x<L zC(?h3JbU=Ow6QySm<E9wQoI84aFf*Dr{UoO(BDDX-5UY;`T$rDpeX@M0encn!vIS5 z1uz*vUjSjG!L<w6SHN8F0Z8Zv4}S_E@>%U+YeD64)T8S&F!CS~TuHb#4>uF5$iq7! zEFR7gGR>ziX!5`D@H>)>rqezY5ZZ3@@HHDhP4f}A6aLe+F0qtd+eDB%x|T-uS4H45 zxwc{I&Trw``Y7}b6xy8(pk;pm2>_N5PzFG$0RTb)WE0>7uoXZUX>hd!mM{>m%>*zS zKuiw+Bc+0^;Qbx;yLy80EhK{H2-oJ?gJKoAHVh_-YyS{3O#@qL^1pFyyktPLz=1m1 zZLaNP<1f(sfNRku;0AGJW{V7ab=C9#+$H!@@SfKpXwehvyLiNGHi#y-;S%&T!~0I` zz<E1ks1%E)h8~Q?RP}s9+(d(+sbQStM-$5gE#Sbiac7i5d7cyIe@qWcremD%&-sV9 z)SY6{^e~Uce4ZX^i2<-sPY*S|0eIzTNk)?s7<Jq9uyFxS;nzRMyLH(pvLkQSS+us{ zQ;1l1ltX<54Ix8R{qwx?H+L|`_$l`z$@h$ZIs`av3Dy6BRg@h{(&JS99~u1~D4$uW ze}VDbVZh%GGgSSHjPDtaHS1htTNjzKr|bX4jL9S5X<uBZsX7NZ*O`+xk~rDm3=eQj z-aed098b4aMdJz80IlIX>ZtsSLpAD0Q?z`f#CxCLWBZkFv+YM`WOpE`zRh+3-DX>N zl<Xfg8c0bB38no5jZPR{PPM?Lxy++C6L4i*qd_zS>N%#IO6Dte8GQ|C&s`Ug?zOlK zZIypeYYkvOj{h2*!z0()VUQU~m&!C7TTWFtcLm0d<lAKU65N@R<}gfeG`{n9XxnrN z?n%go5sfdw%^rv5N|)g7A%HHyO&<?{F2VgC0AGTe5@zB>1~gi_1h>Tm3g&sDJ1j3w z?Es5hHVyO@LZ=rN4hns$0~0Kv(_L9-gpPd@<1e98qxj24&uyd2OL|Jea;_5S*(P+- zbC=Lb&u*cUp5{e#v*{+?R^^i2Y?Nde*t~tyXgbx>QYw#cFBrAXgRvhTZnTORH^K15 zg_~+~Ai)Nr$4^AB^@r#syU>W0f0_`=NClk^BzlGt4WUHKY>9Z2s8?HE%8+U$)E{g$ zExIUUoY2h&aH%A$qNhlGrDlrqSUCkc_3+>%$<)7362=N)5EY3wIUBu9RxBbbj){yF z<$f#3q9xI8N<=TrHhP^BZAGHk;xbw(^S>jd_eh{xN|k?gF^60Yn6jO;22Db$7m7K= zmkD?K(8jd-xg=N}g35@J`VBVG2SNb(P!qx#PGRt+up<O{Wih(VBeo<D*pr;IB{9Oq z8#LBDq@}Q*WhM(bISMc2>=J}7o6Kh!KGtQP6FR@MVtI(xh(BW?9L4zA)O)$K$w$qj zzZ972?usRJ*gCIa9u)RVV5`QzjX=FQ`J=rv;TK2VoFC9@bMNDHQ1{ajt|>t$u^>fH zVjF-vr@RW><Wy=hdR6o|ZpPXI^A$kR2&mysvr#ZJmV==@CF1lZA@$?rUAi3~-F0R3 zDT7!n<OSW7tS-orcQ|0rAhzc?6jd%IV$@ZN9)vG^s_K_YhG~6SS&HO_-jDwrdF6hz z3fGsFMNNUSG!ZMNEJdmPj>!+fw6Ce$R+fze${vR@-A{i_j%p8GW!N#tDWv8B^%cSs z6CkET?F`XB0bLpKQUG$qQV3YiFsloLFYar9Y!vRvu0YAcBdBtwT|kz6(>4>YLYKa2 zo6)8Z!2-T%JD!p}4OHK>U6Jey+_YUaT?*Wl)Qu9v^7y*S%|X>SZFeFy?~_)(X}bcc z`3a~wSrU=?$`~XVokksn#JVv0rfsLYC^+#60JDdbk58TEEW#_#t2h_OPDk7$hDvXq z&IKL)6AEf#M>@Uv#rJXcU}`y4@jl$`m)`s;&^d$_{y<!+nrlF7jTB_iH1IygTXCBA z9#Firp5Bs*QgS+wAu7EUr5XjqmxJ7nT*QmxALIS8bp8U5b6Nh3@^ntfLZ6?}VqD(< zh9PyLAiqL`|1Bwyb&_);v~hK(ccCns&OjIRg~-4$u4TVZ#}vsZ8?Rf!PAv03i6qS8 zFTLq)12kq{epE(Pk-Q3*9MF<_>ZZRcWiES|CU9nR5p&jaVx+L#Y<0KQk(j&N^enP! zGOUWt7OSkM5p6Z|-yy3<7g<gH3XDE36;1tE3uuJVbP&PVEt1sZ^kX`@rC_OfWu6i? z*LlXezv0?f$qEM*DUECSRjTDQuHjdyhSRuqU!{6#f|_L@jcb*`RMaSs3;23K`Wqxw z`Yd#%qGtA!W_{#6{e6N1*vA?hy{0y*`Y0iXIo5jpZpGSBvf>=du4C;eS+Z)j6;DSg zpQMKoH7e3nV}8ch!C=M$?rI!e&CM_Au8XJd2LuU>pXq_|vpL0fNIN|!r$bZvH$5(6 z+VmpG%NO8r=P3Y{7XnxV;1dEC0T{Cgz$^fs#h6-AI@c?}@_@PC0x)z5CQ=6g>;-H0 zB}}9~1~PIfs7C;#lr+_!FxmALkmy|MgPMvBR14*iK-Xqq8o*;oUz<#`e~_7DlNtCA zGFxmi3+^oAQ7>u-&evUt90lMhiQ%n^XA$p2wbB*GkNR00kug;1&q%UJs%rdQhI-dI zFz!VugI^IY6^@T5lov}VhC|_ZFuc>1d;rS$NW`h$?q;q%l09dnTK~~R%&ce!i<?XH z{U73n?R#}aXT$&Lr^{bOMgIu$DA?w{31ANa*8q5y0XPMq9|2zg*bE?y(z${TV)nQk z6&(p+2Y|>J0DHljc?E@y19JZgP^$un!(`$NEXUC(rM?1H8J)xis%Q@q+^M3++hp$g z2bpJWG9B+M<7xQcDzO(T(LF=mR)uw7<|IjE^+Y?M+*KEhkd>&y`NgZShS))84?op* z*s5@>-2(W#cxk<4MNvI@o)Gy!Qw?-nxVxk!jJPJ*Wx})R=cZmm6%GSA1-7|o09Z-D z1OUxe0mugMBLVjVSi2fkNa<V)fR$T=DqH~|VJ#{v4?rAV#m@f~g?$ppU!b~P0Fb*5 z?EL`p!F~%xaD4!z?0WcO+g9C1s8IAs5V-@K!w@?{Vy^+|2Qd}t{|L-zQ~gBbXdvsD z>;jYma+O~|4g&HC$nj~Sv=peKICy^XjJ|~KY$R<$Nsj?BA45hl-vL@Ivew$mG7`A} zMgxe{yM6}=*KZ(>0XI0`mJdA+E2DOM-C`(OUlxn>sUY1Iplul)Z8Bf~gUoP|p$YXZ zk<k|$^4Az;t@iCLMV(G<)Wm;8%d|UmJVt_8P5r>|e@YcJ9WT+Zbj8++l`g?E%9iYo z8U05R6;lbdbW)78+Q;V<G6`U;A{Sl~E@`AL&h$yi>FZa<Xj=ip5xaNHx2QQ7i$tE9 zLo&;w2TZcYa^oqRx(ENaI*%zuzEkV+<szPbhY~zLq&MMl^feTy8ok(_p3W0=M^_x% zO>fGt5&Z_9ze)!k9Xzn3uxF4wVuVWX<md^^Q&ZTqWI!dwgRb&465{qqzKWQMzCz?( z<~m;nn_h>XY|Kj{w{i+%!WUl3RMR0q#$~f{_vcy0_0h(4BIEk9aVx>|AMB`&)4#aY zgp$L!F>Ktg5K-nHk)apGlrIyRY=BfM6#at77kqI#Q>W&ub9^(wKMa1g9F<<vF&;Zz z&SkI8@Vq8Mqy)tznmqsb3XsD14LjeR4q^^G$FXi#2^C5U4(Sg&zJ?}8mumFc`}DaE z+Bd`Vmw!knonu{OPk+fs9RYg`2T{!V!qx^ALj7V0kXORkE7c!|SH`RKaK}a5=&CC$ zf_*X!9OIYGx`AbZISC1=R?u^KZVCN$ygnc_Wt5P?IcBz7ZDe75wXrH@%hClCeYZvL zrHrdK`j-}cnlj&z7C<vj^A|zrG^trh+|PGCbrj^UMjmA*iceXroD`Z6!!4##3^&7M z5w6B{;MRoB>?iCe4nltkX&(a`dhnuC2|Tj2jpmC!94{edG%be`VLt9X4JT%4W_szJ zhPGuiOb^>_%kmPYK2zPc5;LH0dq;>B@=Nkg=N~w$J)|b#w7wTNq?QGGcaYe(ET%P| zVYum3+-TkQnpd=5XCiLu38@P4Rh-8zX|7*!Bp^QW=Km?HxFi9yKR~7OscqmCLH-SR z7l@|NCnaed?s{(fSde=pXdS=|BZ6xRu+hMR<^gam$Io-X!pSMBKu1U>C5#Vhg$&&v zfc_x_+<O3AA}z#qeE}@-2@I2k07e2xzX+hKD2VyhhFC{kZ^2EjYhb(z@!$a>YV{39 zc_GkrFd8|7LGQdI3z<%X*U)5++U7PoMD<q;F$``%29|ECm!6Dtt|!1aMmdkO<xJ~x z<^}N=<&3|?$Um{UdVmks=Ax{QyoNX6d0N^P>fcaP;+{PLsrU1Nm(_fFG#T?GR$}Od zn2ZluOWUW)snC<Dkk>e^W${%s0sQ$HPX83>Kgh4pZG=2uY$G^52s`~jNU!;hr?K+W z{mFp*1>pYhiuyUW29*JS1OCFg4@Gmvw`@f1XVB^Smx&Z${#zK3`h}&kSn30D5%q)g zw=E#`2TMIfQs$L-og?|pcvTeBoi;}xF7;|utE7eKS{N7nsOf09d?t?{uK8iRGu5i` zwq#7wHSE&h(yAIwJm|^}WvXpDR{2pj@$L*bCzQW!w3n-F{Y_~spq5?YP#a*eu0kyp zzR{{ejn4+oTND}Lti|&zaC!wYBf?2%^uGkIt2C1NEuO>E=VfGd0#@?!T1I(hECwUE zq!>qqr4aMQl`)n3Z%Z<nCHIl!{Nj?CkW2|kmSV|2NODRsN&iA2SdUu+1F7!fRI$$^ z)#J8QG^_K?g#O%sWObHoLXtael4P_0bs<=5-0uZaRpwNEDb>ftQ++0cvQR;Pe<D>V ztx0E8<W#r~@O-f}#$1UJ>fuVG;sP<kF|l5_bnrh#xU|;ss?f({{?LKxbZM5Xy_)4E z6Iui?>Im}97E?_YQR}V^<>@Tk2ToZxZ`~GZs&W6Sh=W#aegWL)$otL=)*EV|QgqFQ zD|B>esjZu==+gMf7Z6QPKZ+P_<2<v-p*Fr~MN?bWx^A--eHyRvk`;X!9DNnHpogYR zGZS=cDufvsU7g)-A*5JuZPt4ka>a2~?h+FAmxR`nLB<2l1A)Y?IC0WeB&K0e3e^^P zZ1Hr?Esf!e#+-lzoQXKsozaBx;lOFSR@PKkNjKMe4=&(Ru!6TGYU8PTX?pBShh(A( zrprz<p6826--Vp#)$O`z-{F?ua4O3H(Nlor8C#qWLxV1~E=Pxg+siQ;co@mrZ6~7L z_Lab4Q6a>xJE4!>Da#nbw!ccE74rjljcvdq{V2BPF9yz)vrp_wiGf|io!0|)>B_l5 z>1>rnIMzKO9PU7l?5#PRW7c+XxZ1iTX_r~^*o@WA86?bVba9tJ*j{bhfX5b3XD>Pl z*o*!J<%T=eB&!%8^!IYWsI_d=Zx9QfBSKV#+@0jZ{7(Xs`fGA`?|?%8MQK$DTAeZt ztB}iBUq46%d!(vK-!usN!-ZgV9}NPjmUF6klq$)VimdQg6M_}peFCXgaH>sY5j(V_ zNCq4_&3TxFZ4Uhi!ghyV0v=mDo!y}%V0UQbPIhQN$;z6AxGAo<mZ!5(wILQf&Q=s| z6Nll@lz`+6mdql_M{JVQQD~fxLYM_4C$Z#1l(oO~4&8vPkzr;)YBEbbNBXLXP{8#T z!3uy^0;#5Ost+kux-Av2;$4=YA2<mYE+GZR=c4QKm8ZD`jMcYV?-S85&H<EyQv5&8 zzB4?kstfl_%Vd&CCJ6~3gpf$2m(Zmeihu%AM5G&<6ahmh3MjoOAVonzq9BN%D1xE_ zq6Q0!fCiLLL=o&%jffy3aNl?BbtWef?sK1;ACtZ6UVH7fb~)#ydTq}PlAO*kr<WZ~ zjX5PPQ3sR+z`yQcsSP3(_XecaI=mze${tKg7$IwZSZb9>)uq&@4k^jYM%WGN{jk(? zBGsKzhaFN<BUvcR=`iO#!a0GQ=Nz2WAH4{iB{7tl_RvK*bIBP~+`maWaC2^~2MJSM z+#5!g?y5@V+}J^>$iUrJ@thln3*LT|3r_c~RjSO5I~CyExKvqrD_tJKaQ~`QzFK>W z$spj#Y*EX2)7@8VpVfP)NIp~{RqUIiJd6yj`_IqBKw979y8m%bhfO`M<{ziJt@iEZ zORafu3%<b<h1vDd4K8B&R@V367@1v_EA~yDT@^k6IHvy)t9?iJ&F$S*+FOXWuObX? ze}^cQ=y?LZ72dv+MAr|49y4svgEo8>u;)q!j4<>iTN&EHlJr2(ie&`dK1&rLOmFZA z;Qpe>yA6W(REFRHHy2>95pJ6W`am}$=Z@O}S4N@R4{~!^@B`rJsran(Q+Ow;=RPbt z+fNn6HFv<`e>#A1nr5_Vif3;l(5FjAdqDU6fY&OtpCRzTcL0CY4JDc>aQk-=|MxG} z=?D9@d9|M-N@L&S(BR)<hKBN{0<CAlTu%sBZEyuEDihk8o{}ZmD0^`DAS|~;<hqOY zJ5|t}G-4w)%=MgbO`!G%|Et|bC973wbP$Ki_NztiS!#DrsB9)ft~XkN1Lg&}uUElk z9~%6w9BpStT788BXLnP16SPbfBg-2F<BTjjkS|N|l<+^`U}8T5176>uezj+ecfz)f z6x()6$=@r+^<$W8m~j0hB{*KG(27fH1x6{~LY0<h*KAecjk-nl28WgOg)-Xj=e`|H z)Hv!@$;O{YNByBg=bzJkRyH_LmVl>0`23e2<mzI%Z&G9Uxy%;~m#nX_rE<r>@L92| zHu^Dtdaxf^?glEwN_bbLIO4>p>p4&yvGcSV+XF={B`+=TSbwP)f_UFlEs$Bpo$$D< z4)@EaybAdF^W1Vl4YYyf)7Mo|J{bxWK1i4=afRRCiM~B(kkw&y<hyvldgS})C~Lj} zIY-1xe*pLd+Hi+40{168qc-Sc1upp^U|v+~FiwnE1~@u3#b<ShMwB|r>M%ieczy)h z{kt}no;%&v#~88LVCaa*s-})R{19cGRJ`n((}`VVMU(!9>4ap7fo6&pV`=4J$+#wq zf4H)Q+sUTFc9N(@V7F2Ja-hP)FZOhpEd{;dBeav~Y?LgQ6n3=^j|!zJD8Va*UDT{! zSAp|5IeAg2!(8Fa0cY}O%6X$^WK<c3^;Gq%Llv63Wu?_o+agi7EIHTo_R0-C&c9tH z*uvDQ)~M!-F`n)*`D(dS!w-7D9}|?zh+wGk9B!f^->9@kVSyUEv{pOr69o$aqcS^w zCYAXbp<y<35KweJO8XnE^R#`)ZFT%ggrYx&5^e}~JS1ZE2!DSGnS3quH--Kw=!b=V z1+ed=n)+BYHYC&DG_}rI7oRy&$TSw5M4=2u-|wQY-6zmr>P45;u|VLlfUTqfDrK+9 z7l@P}xt<fQr@)mwT$$qSI$@<L!*(*<uM9z(f%UHpN0<+q@fJtxdIh=2R%<K!^ub?O zRoIopSg!e*N1-NOUM(6|p53=}NGm2j>KjyywcD;3!?XghbhnNrM5w{1rYaJnxQ{x5 z5UMFjpiclrXF}@(vFM5;`#)%PEGLBYJy0SQl_E+y6PAi9FZ2n3eQ#)+lZx1_wwsFZ zRWns!&pppTzj1tq=&P}pU1chA{+$$lb+%)DlM^VRO(00GP~>bNlV8ysN)~ajk=j9h z82Jj+Bzn;Qf?Xr;!EM~s4tv^aUZWx!LBD7Yf5(uSE4N>qdbMA4sFT||3WcV*8>Th; zY_DdCQ1j1>AN$Kg_hSj6xf^IFpy;?%+*3eJ886-^LeZbwUK}A}^#J=etE<F|rQUKj z=Mze@*KI#ipETb|qHj3lama$4>ce{D#VJC043yAR5R4ZM@&h1~&t21thT$Uh!HWkq zU-9CZ|BDwR@x7Lg-KCRkLT0Yqt?}x`?lNd3=cB;VpL+<?4f_F~8VsSH0@pnN*j*l# z-%H@1zX0626zIJL-t{G5P8}Wl2weXl;M6|g?<?a$wf`Bv_Y>$tKsD~z2kCW@BkwYy zMf5S)wFXwn8>TvriR8Opb{;|nbxy-A7ZTDkAn}0cZ}l|@Q$grUf^^_%LYM$T@HVX+ zd;Ij5>Z<XJ4yu@YaXk>?^TXoHMf_EWTOnNeQl*azHu^B#?cdSuzgn7q(FsO9D~A@@ z5Od`QOTe=O?<bPIeidYmCszs6U*7;0Pd+E`_9KAB^Q#43@g3lKcpG5HH37OH^(bKR z?DIk&2AJc*S~-~Ma12n6)$s*^-X?_By-pzS_kf1m(CQzdM+OE%{T;BWgWm$ao>~X1 zP=b{Swnu-J43GcBwwqnSXI&sgD&cLR?EV>*unL49!Xh6D;VKA0*H+U*SP2i)eMjyt z>OKyd{xr?H$Vl2^KZ<`=Mwxu5cjb0XRG*%WVxO=73(6v`^PDgx{|Z=q`j@~D5*DAH z7kDFK@#%#q`t$-}@#)_}&pd8?dQpbV3MY(D{}Jd#Lh$J&fzARlUNrEdCv7h_jULxa zy=bNTtO~H$_$prd`FmiD&IBQr1Zl8kg%EiPzMA3i72BqNLov4?v_c&~yjfVhzKC~$ zI6gF_S=(MDd-M5;Xqk5eIdZOoq$~HsBzQ3!E%T1x<EvfP9Ech(b{3}IrvZx>y9n$# z16aJ+Rp3U1#fx_a>BR$t-x-Fg>Lzg6-vEnO?-KsQfZ0;J2RWa;^t<uu-2x3SFkbB; z(CdWIQVlfc4?y?X(2szO#|`y{v$n_A1n=pi9?wVlmZEgV<M&JUOTdUzI^0bnK|DS| z2uDB&zFXYmr;E9etus0U;;)9qpA_+mf70W1HEY}BWWOT?uI^ro4nL{ty8z8US8kn> zLG$iq!_Ws>Zsehw0Urlg=e`FN`VLSEJ=wiBmAN|m-P=rO((Le1pmkI27x3nuHu5U! zEZFJFJy=SY3yMuV$G808doK!C`U_JfcNP?OoyWra;i}Nm&i4&u1D@kI)e&>$b)!9Q z6Wx2jh1dU#wR+qx@PZ3~hm5g$wD+CIw|{Q>8*W~N{C`CO#mzki3E#~Z;pU!dHwS?+ zP#s+W&a2?Wrgx9tzIA`#+7kHS>56zJ0X7gnRPdhx?{BB_*VqhCvih0Yx0l;PA#My9 zCI+<l2L_Z?CK|vxa{r(e#|@uZkYMyJ7kcn=EqArPg+o-X5bwfeZuf(Vrp&ftGX5EA zVt65PmmMbJ11959QMoQwOta0HJxAfLg=<aepjGeVA1$k=+&Hd_*PQk2@($h;T9_)& z%I_%`cguU5BY77k%h%ZLwtC9f(MxASiM)iq=K~~JrMrX?;|*d!7?EQTW5S5h1~D^? z7;X?t!-xTbFxOXm_7=bz-5PH;?KzD=7HZ3tyS8l5szd9i(fUDf_YGp~46<A$D5ac9 zaNi|>QYv}SVcfsG0X^30Ih(|&%WOl?S>}eIxwPDK8SyoM$9e>Wx?#d{5*{F-)%S2~ z`aN1>m3&su$Nnf2#51NqzXFDk1zg}CKmjib=8eTq@)aD~-+;tsCeo4k6^XL+=2u#e z_O|gRWa+&Xgw|Klj!rll^26|V*;=63NPAo8M~c(~VF*R8Iz-s?5?CWsVbeck8v<Z1 z*sQXwx#aDpf7=0MITXa(9fVheg;m!;S?s8~Gg%%4A)lFbP^#U|6Ii*Mkl6!ddlbN* zWSd=_ja7aOY`I`de-ePJPw>rROzykX$(>LWTfnGOy88j!`3S4_7(6d6^iz3WTKPfI zc+6z6qIs7Ai@C?tJ@EkeR}rmAu73BFkFAxoQmo*!4j0nvNjAdvc<-=~Jg(G;LR%a{ z^m}w1b|Ghm85gqw^&#VdVvN2=bg-a>{%A+xP+-2_t-`tEmes33KKJUXnjFMuRq^@Y zf(U*-IG#5idYu)T`IPXV5rv-;J{Q3)&=zS}wf9Q(myUsKB-c{C(&VGF<|d2+xF~LD zu}+!+prpc=r64!JP35lpXaqkoJHXA)!lsH51LT%MB!j(PgJg>|l4tq72D^EdZ#B<u z3811V&xC7mw<aBd0gF;mzJxpl&XI|{S7l+E;{wbl5fn~#r)Y7j2)%|BtEc~xR&X2# zhG*4%*~p<+75}Om(KFu!{x(kv-sS_OcPF4$z7)&54~e4@NPLY%l0OBvTakEVhv^b= zbo6=EmRAMZ0{)-Upsfw?%Og{)h$cwv3P3HXfv$kO{qWNvI>m}x=MPvFv&<NgR~5n| z+@DeSbKqyhK==bB_JxqxibPC2wSX;fUt|EUhlvVUZEfLd5bosuA{E2Qd=LY<{COEa z)!xQW9>{?_qVoB33_o#sDUsG772i}H;&JYE5Rb6RM_Nl0kmWfrTr7daaU|9!A@MB| zd-1{Ki2X>E$7}yX6bvkcL|_?zp5xC8{CO2W@}A~rG>b(waGpHPb0P&6=7Z?{4nIrq zhW2VFksvkjI}(A*_$eDqjkIh*?9t2L0!pTVV3qBG-`n~dx7p-ZNFFKVI{2+K)Q}O| z$=_a*+mhU9GJc<Y+f*MqoBRb9l7vxkHU1xiF(=A{e**w1#C*+cQB4%$NzX(Q_ktKW zjGt=1;D?mJDWd+uPl7is(&}8xXSE_{3;-*k41N~@)t#scg37>eK2XDmYD84EHu#ML zD$t&wWi=cajI_EAFolWBK=#jhG9CslVhnz~c-4D|*uYLeflu+{JFd)ctVp%o2i_4a z7B{aCAQuc3=7Aai@OKL-95J!Ghrc*xmpag7m(A=R^E|*-!7Mu=H_0{%uRsowT9~bS zlL|50#*kp-G8rFWe|?BiCgvnL%;_&owmGj~%N&1?!A7{uI1B`O;30|u>4hWS*TM$4 zynHm+<zB=8|G-<VbO4oK8)ZmCqTzY;uYM{`Y_Hqh5q@-&;Vdc<-UL9O0rI9Gah8e7 zNR-5DpS|^v$U#E7<UZAsNi8+pGti$C-v%-9JN~%v=HC!WlWBM&Uj&@^GJb*={$qMq zeY27&n|qEj@HyNSP|8ZftmCV#4wlyyZPj+ohiv`L)u*J8o9izA`4hEI+OO-Bx=%QR zVQmpCOT}R5JqzG3*j4Qc631Bnt4L(xJ)gl^I`r92hQ<U=85wnO=1tjH01tw*S{Wp= zfc2I|VuidT)c1*6$PGT<j|#-RjqA95RWC!;8PJ1@4tT7Xiej_nw@2J?Bzq{lrH=3n zxon4wMA*G<lY#$TW*A)n%9mlv?LsM=N=imud<Pa3dAW73=0dTOKGbO<*<@=aSFkxc z2}kf7WuQknfhQePggxtbg@m!Avq%g=Zo%^oDaH!XS;&0>Ic1{lC7g4>ncPZ!VyiQ% z48uD#9HoWqyJ6YhB6|#^P#y?|-yl6{<WKrcJ&VPZ{1t@D)X<daL}8Vhb;#&JrX%rL z-bl>9W*vejd9_0lpX$JG(#FYe3AYkFn;WEDcuAId;Pww~r(7iVGAxK%d|Py&mP^R5 zsvT?`{@n_&acKTlg|mlo^?HF^sdl+<LU_@iAiwQgvO-mSSa^ZlsV;dFI!UdCl8zsh zZPi*VEb(J<23oZqckxZok$b;|CX>cXn`=E`nEC8~ttFB!g?F&mdO@<nM<U)z1N%mS z3gBf|?%&9rZ>d#eMYy^I^lTK_orH$lPy^h*jAIz%8fM&@S`Uv6Y;hfgiil0XZvaEY z^GMXjy}5{|kywF5h-}^+fc^pG{TPXIIP&*?fyC2H97W<iCQcwx2S@n{e<9HsQtv^t z_dI~RfVKQxG+%o^fQwzr-}F5*1%zKXUgTrQn{g)4{2jbZD5G9U*`<M6SML1Ex{6mU z?~Tc!pThUxcvBAj6n+RtlJXVTj0Pp=&cye*an|VJM+6jh;iS%U5hwHt&mi1j3Fr+a zS08rb<@LS_&jB2r4^x&`(q5J^To})T5O?EVx8=Fd_&B3JF6#_0`3U$TY63qPyU`&c z16u(FcH$?q1AZoqF#HLh0>}nE2NHoV0F?a}KXIy#s{;O&A@vUs0<L|ySCHVx?<Pn! zB|Z*7wHxr0(E$0RkiqiZt{HsvKJGu*x%CCRj>-Nt$`B6*dz|*$`37$-L|VaPT4gqy zyUK85{XM_At+!OCeQ0O7-&ZPo%9r6B*)3~ZX-AZJu85d@2?+ZNnin6VFM(=@7`|v= zkH_w39ppMTd1{!P=OA~n$vwj414`!BNw$!244z?={n2@*X@=hsd(0+TH@$^D?Ti=X z40sXT?8=R-%Kg_7V~Ax--HDnuZPLK&tJ`hTz>n6z3W2YT&R8#6;`V1mSP3JIBlDm# zV`t>hDrh$U0AHyldgO0NjA7yjBtAzXM7F?~+7VXZA^gOZ$B(U{fEqT$w5Nuqz?ZHC z!3-oiBVqX`YSF^;*zxb|JtCZEH^hrBAt-}*#`{v7*$@l%RVh|Hd#^h}?Pb+&frKI0 zBQCd#s;UU@_Utnp=5j$>hXtpFfQpTawI|wV9b~EVOq*mipY{<hzO3<Zk(vclUAbA+ z?E64#JiHI|1B^BIfehD-4E4QAjjWCSJaVAbeyzuP3d_wpDOPMVoTRpYL6o`|cTU=h z>f)b$KK?kWSI)=Vzb8E3LI!gnvVWNr?wz*(P$&s?L2)lsdER!|0}glw*P@!$5~X;H znUZ<i<VQnx<C%N+A;r_77D{EhnCUC--;~HJ5~Y=hYVf_TzT)iV{@&rZ*1`n84v)~< z_5bT2i(iL^{o3(2d?~w+Y+mJwTfeKW`>_Vu4h56_SOY#qkRR_gVDEY<)(zEX0h}@6 zw96`AAK+Wq4eK*=$yUpHjvyax>LYtwaSbql79f-3u<!<6JLvN=t1};Xw7;A2ychDu z=j{8;T>$Aa4O1*%*`200Hji~%)mtkd?{RTgMqlFJb9vYyg&@2p@2hZkQUb4F+-?YL zxb6XpXBgYx;9c!3_f$pG`;(Pj-oMHn&aRpz1KB5)h$*D{D2FNT=?bu4y)R7g{vq4N z{%0Iy@&0<7WL5ZI9XtfK-vkx6)CgK7pT$=yfZ&@PQpfjaa_&Av81iWSet8To{$4Bd z3t`|xU|$;C2=X3uC14*T^3ZlXO!hw$J+x(Yc7|(Rxs@_7D*R3mj*Ym4#L=6Ph(N9l z8>d+52}pPrFPjobMk2kUK&z&B>kw*!8II3(y{27%Dl{VNqo74J0KOd<BB~*=1Bno+ zfeC;D)A8eP`M#;c@UZjGg>=&+u<GN(_Hp-{0Whu+wEp1wr53dEY5UDhp_NbDFKdPb zpSG{j90@*czncj@ZNK{#WJp1I+J1K?LJ~f0|5OWvBz)RF8>F^SC{NpOYMEk{<<s^b zXqDJ|Y%^<ugHPTsZiNx=OQo_O@*!S#Q#Fu}ysif;31+G@S0b^zad&s{?7a?8vusmP z>M6Jm&wUP_L>PXJy!^KL_G9i2TNw3r4J@9IcTS|r8x4EN;!B>y|5nRof16+;{lX{l zx3JWwi<kNaEfGVvWyTVGciO&GXE|#1Euo^(hab)M_f@i*$cBZs&&y(n%Ed_ZNj`Tg zOGEczhxdYLsO-!|M9AkmslJhjJzjHY_8`K=#yxkV(Z6aM{b=LmZQ96Oxoe;?N_y6- z(s8~*d8@L=Y?dAat0sG-*SsbQ;##Lz?iH$q9cZao)D45R7;pKuDN*jHO?U0@hr>SP zmWRgX%H3ESxp8Lc-`#tl8NNdbb@5{eJ#m{=BsG@EonVO{6Hdz2(f&Q;D|2fh>1lk% zvK0Oeu!N-jdwQ8)!&^C`BGdNBQl_K+_ln?j5Q0<GL2N;j*^IC1NXO^$2S5S@&ekc2 zD)?7(RHQXg(B0%dS~JCS;8<?h1D-kINu`&P?Jv_ai;i`%NQyYiQ9ZRWebK6p&L#%A z6?WbD;FC5_sWzA(^18UN<5%koyoC#3(jrxBN4=GxA!XTp5c!KQIg9eF*R!~l@~*Rp zzvNwKl|FJ9i*f}#i2*ydxnp{Bm*r1ke6~bgQcVhsed62?Yy<r%Z=STQLolJzd&<Rv zi>}RDXft|;fi3~hsxW~2?N5b)9s$o|3gG$8-`lyY*i&A5#a3<KAa~`a)zxK<a>Tbq z*g_X6d^_MuUlzCMN=>_Tl`B0B-dG>C+iX}c%AYHDN?5z$m=V@);2qTdS8?rI3vK@q zH=tvaMZ3*bsQpM-yK;oJ8@OgWXfOGJ8UDlGbZGC{61FcB?KazO=*|4Yo2Ba8o-rIl zpv`#3z^eeq46|aN_OUN~4M;ZUV^@g2Mz<lpo0JaE=lZD0gB!o>W&n=?tifk(W4HS% zeQ2ypTBK&qm)tGuPRdNe%c^2u6n*zYU(#`9vM<_wP*3|^?CZj`7EHmb%EW%h(JjfP zdD#0Z7sFC-iqt2RDy>Yml>1YM-)@F6(h}bdH!+O18?#I!;E3<(=&^yG+(_{sQ*qNh z^(LvY$1bxy4{Tsjc^feHZL#MR>`5-pB*Tk?A=uDiFv2U0FVi$jjxX;Ui!r|Vx+<d# zmR0)Sg9~dQ*5<?Oc$_nmi2C#9;L{L4Nkw*+f#a8kIP)H6g?<rS?Cq%Pd#%u~V&8p$ zlJay2=E)8Jx-`JGe2x>L6TT&tJs2obQ|k$3Wh7sU2=p_^2~QxYV2ltgYYqfGUrlpc zp{pWz2HHK}zAP{$y0pje7(EqMt%Xg}#6l4f>~7;g@qBa&y8Qwl0Gu>!jG29GyM73( zkBr#Y9|i7^VnvGj$Othgx&W$!RL%87C`MGx2Ul>1s$!Gi=o+2c#Ah`Kb0!Ms`{W$w zsEaA&><rE<a!SGCBIuF7!D$K>Cpo8gM8Vv)z3iUzAR*1{<HBZ!CS!KIE&qD8hi@dr zPzamMbciJpvfIP#qyl_W&~{L7Jnu6F^&M5um#pu$d{-4{+5q=no0Zt5mjFUHW7Csw zPzyaEb8)H2O*mi-O?3Swz2}Y+Z(7#Oo9X?DT4uH*{<(4wK~~<rW*Exdfyt&yb(_CC zz_DyrlT^^21ZFl)E{+PE17BGS`fN&RlZo{Sa9$UF7DAnGnyRW-#%nd5tAPIrO?;Gs zPr9P+*gJg775NL=KK?44yU&FvTaG_nGaGX|u|Hv!tmOU^xcOTtf}4dU|D1$$<%nIF zSW9L#a9inBA`(`(t&+XFAYC=$12n(L&+*Vldi99T|3f4JEt=wMI?`*1M)_7_dd&!4 zIEw7{E+jR*<6CGqX>3K>so{1iGJr59y;ekbYR(=uDxA(4Jd){)7ziW(*Ae<O{rE-b z%aBsV53<s0ODeK$7O-_9p1&XWF|IZWTJb}XS5J{HeHO6ngQpJ`Q>{|*6Rq^#5fxEx zu*btShP=m+OQ!)7pKYao7?IYS9JLkBizq8_3x#(?BnjL_;kP1iLk|1{0UM2vsK#+& z%rrH@&?gwkYRiVTs43%_+0C#vIRWq^RDZ-dBnEdv!a^YqGZ92$TW2InBeAp#RwL<1 zM0G_X1BnStG)CfvJCSIE#ENc6bVcH+yO8LIL}Yg)h9fbAiLprJ-i^d$Br<y;F&ByI zeUW$)iHv?otVY5bh{Q%D9%W)X5^oJc;zK0L4n~xi2lHQSg0_1Qn9#kz#5KcfaEbX7 z821p21xbCzo3YD|PF9foGsriA92~7wHfbIt__`@Vnsjs)^zEQP1Guvt_2JF;KI>1S zyg=PNJjF^I_JGOZ2VhlC@cD-g&ej{90kMdt5NiXmB@n~#3)BrnRRpTbeKa<GmzlZk zhhEx|JQU<ABVcS3rG}N}Lql(}lmtr$uvkgnkBx?sC=CDRlH48SiX)++j8bh4Nx6zh z6=uuYM)vVwzm4o$im|)rj5Wn-d=3v9q1ixB-6__EHWzL=cS~IKm;WqvzcG33RsBne z%)D^RO&4yyU`?@ZY*2BE6?sd=WF#x#b+>!f&3wCas!=3^GG4vX2pg^H(X9(2t=394 z>p?Scljo3*J=|^|Zg>Kosc+i>LpM)U1FX~kQLgyA%}Z<Kn?GG7WT;Rb!%X^N=?|_~ zpg~3}1LLeB{ae#h+Om73-olO&XpWBZ6u=R1PWoyj@P148pIX)IP?vy%Pq=5p$wb#y ze5?pdSe`uk%1$;Ol)#~WtMwRW=E)b(J4+VNX7U&W*Z36sHgbwOo+Dh02tT_YL4yo} zkBQWj(SQf%U{GA(Cw(>GIA70zb-U&>6>8HT_YZ~Mh`zvka?p{x*oj;1L?a~TkyHbT z@?(%lLt-5hC6PEYmRlfD6-e%l8xJ?}rzU?I@+Xr&xACVdeiC})XHiR^)#w)N;ST~3 zSIZM&?Nfu|TEU<j{N+fT1!A=)$N^+v84?KcZu-=;;PBRp$7Qbz5_W-QDtO0I`g2Mj z!cW1ikUoM$;1~Y<PW<2a$!rJwWhC&I(4kMj>f9bzJSln?fNK5llMhT_AQFKQ{2535 zWc*}y0DcA%6b<12Dj-f$G=VH-@srUJEU8EYs_>@{@lEiviug<<@aG;n#Z))jc_iw9 z9Z#Nraz{RBx%*Emq*gLiejA5PhvdXrh2++T%=e=U(O;l_Gkn}sr0t()sODa*3S_Jo z1=y|N0l(R;2sg^9vz?8y=0TU0v{9~AT6eJB-`@g_a+HlbIbNG2c-Z6`J%A?2{r{v* zBC`RoT;fgIEO5C8F)(L9Q8Ls>JeagY2=hS*F4EdIj)Bcr)Rwsa;Q<OrXm_&Q73UZu z*$eM91a;+jw3?yCTa6W}$Qr<3<<nRzH(oBGSEee7H6#>nFH}V_I8%<}uqrAV&(tcM zHUaCsJ5-F_(-_1z&GMR9<(!wnx>{oRV>K}X<F8P8m6o=0!!Z)djB*3NK;^%wSTW_9 zP~LAol+TobsNg@!XNQ#=j<aFq2Cg;{%CB5oIRebabzejTvs{La&RRa?DSxiqTU)_$ ziPM(*8K*q}WoBS{S_Yo0fX%?PLNv^o1i0b{&}iU)0XG@0YT5ouL7~HSJjgb~WO!`! z&r^1eUvMvvR}5EIdjvHSJu#44^>>^>W-s^|0A))vZPeN}`2|12$<YtNWEm?B*G0lI zwyu*Ry!WtOg!NK{UX$%282AUku~%_Klm3$Ag27(edHM!nA3g;;YAta<!#|qrM*gOR zFq_uHY?iTyZ9V&2PZq&)zo5;Po~b5s=4@Yf5ltz3@EparSs7)%Xx^$H%A66!pm>#( zIsJBY&GEIvNZ3^3fiO61DoRvoB}$MH_1UEetL-#&RZMMlM8gt757^N6gb-*O+7r_O zA)u`*PeR;31JHdoRA(kSc=IE$#89UbzO@kk5HLP<on9}B!^0Us@ehoIP4%M~S|eS@ zPJ1@&glz^tZWg3Q+t4yXnAHqz{%qthwUBr098kw+kjyClynwLJfH{wX`aqaEYA(S3 zVQK-v@o++eD2C%N%>y`*v3tX)rhtddCv2tP9Mu+(>oH8HoV_9+F@sM&yq?}Q>eQ`R z$)kuFQlzfn3X$Tu6^E(mPs*^k9Y~x7G==ai6;AC0;X9*p+StPMPmKle4;CI7;%U}E zh7@Wb@HE6g%K?Qb&r12)$2HIAKp6)f_R+C-F9b^#S^5tgXr+JWWAPROX`AuVqoxeU zXvSSp7mJvY55{Ym@h9+wW|UlnJSbmiMkAn{X1qd{xXwk**bgMlxDDP&eax7#2t4U) zqUN{7(nnlLZxouqMV~1<*G?uCq71V>B_2pvY-fF1JkSnsWS#D4m}dk|wzDe3%<*SD z^M`n58<_DIod=Z#ut8>~^tJNkjBi0J*BVb~Kd83aho_()0dGVX(AGYV>1(<&px>Lv z@2%k0!Wm6bakpHIux!o(7JFS(!**x{XoaRTe+pe8QfeXc8_U|g<B1f$HavYCf!_eY zdsOqo0^_}`E>N>RYH|@ZCzh}YfD%?yXQ@NYTmV=i98?4C`Ed($n9}!`(pPyB1-n#O z3bVmxBP!5q_&Xhz8X!{rDV4Iv#BPP|NV-{3c5dmn*}1hBx!IKK^Iy4sib^-xS$!ZU zZ`Vp6C2}5oUobe`DaQ|=T1hs_mYW{V&&X{+epb>8Dp*yuZ~u?>sZ)Y`oZ9(r1<QR{ zrzkFf4nPJ4<yMIM4+s9F;wJ-d%`?>{3nq-!<i|SGm#ug%GyVOwPRXPSt>$eD(2h68 zjzS!nj~aF5-r0piy^Z@3#lSbdmE)Ub=%wf|n_@XNy!tet0XDQG7tn(?H0fFNnRm8g z*xek<rnP$&;A7j7mw`{M2K?Zy7{&~owg&Jh9F8lT^gQ5w)x+|~2`_#vOz*Q6@In+? z`CGgISo-8^u^go~0gf4QKP)%!JL^DybS>mxkL3VxjPOnPBD2CDtp|MkY3MWbaW4X1 zJSz<E1RR4moTP7wWnIR+1Tr5zQFt3*c?D(qhER>o9;jU#diH5kCp9WP26%O7`cn$G z!6p6l^`R3=mx2HB#fE5gMSp7=`l-DcyEjT<+#Ar}NO2DQC0>@!%2}h#<3@NYg`0)a zIyi-|f-gjhQ@GSd3P%?JU7{nnF#@y?v7S7yqF}kpQ7{8n0*qTXm^eCw=vSF&dOczC z>wG8j>mB+goF6?qmlELLDD}?PvN4vk=WgIR!W-x`pb+H?NBByckhRRzW};aEI5d?k zj)~?yAo1sRs|jq&7mz>Na|Az+i$%ZRv$xpFE;SsZ%h<MHiTb)5%+C(>q64JCvr+%R zTrE(-V_UV&j<M}|0B~F;7%JRBHxGm4!y!smcnv3`;wl4k2^75wjC+uQ8Th7z*w1Ew zu_1^3U)7L&8Zsp$!@ciyj8j*Xz+O6@<;BPEe3l;>8a=Z_&seZ_rJk-!O@U;06x`{v zjIMkzV9k=R+8DSRjSLuJ9jcSf=Ux@hMjq*phO(qwtSDCapU@E^#o2sLZ!ygW==EWv zo))7{zoCWu<Vj;xYIkUT+88wIO%(2^5(*2~87%pdD_TqC5Ia}_IAaD4u)#)eA;ajY z;M?2@PLKwgB@K2uD5in-Hw~0?|NLbp?|kMxB$NvohEW@(>+gdE-dqfb4ZeU-xRF-g z>TIL~0fnf8jnu>fvw<>=)WiZW5_ZG_e*#X<)9mf-HD^4Kyp682{F9W&9*idg8J&7J z9v|<FKt-C-cvBz_$S*B71)2(m^zor~;K5_CT1B@&rKiIu7~4#d#siL#9cR<m-X~pl zqYL2>HDQ?nKe%MS_%|?xHWA4n)h`>&?YE1q4H*!8rxqNe1rLS_JIp9Bg@_Gzn74ol z#}pZFiw?I(N56x)sn+u_pS6z$=u1*OUs~)Qrb8n4Wb%axM|G$E(K*)lmXd|{8wIG) z3m3Uu{iDxSH9g-dxP|&TV_tTstRQSq+0Gsi-0>@nW2xm<qlM$h`N*oafxqkQEGwg1 zy+MrKS0(IoRcQDKfYSkvdagUVa%Ybq$AVO}T$3tUy$U+ynE=;CC1s6d(vfm}@Vh)! zANc`i5|d^WS|B<~AB8>g)K+@Bgd*mNE(Nd~e>F@`cG3+1dU=>+T2h3pA5=al%%I-_ zy3ubr<qg0m#(1cfUP0MAr96)omRW)$SZWVO3KM!FQb3UnZU-v51d45-Z{9&096j!S zE4^h2I%MH{_TXq>55CP8bN{HpR(dPZ`0Gxz(P;tr)4&5h04x)%fm?kDxZTV!eLmor zfg^F2(YgfvKk_5cD-D3X22R=qm=6UiJQ}c^Tc<B6v3#FtC2?7B;Hg^DKCR9uQu=@r zhr1)}UJU$72t>?6;;~PVn1n>fPmvgn#O^(4@#ObD1E}{toE5x?M77VbTl)qQ99rX+ z;z7lR8Af+TPw2i9*mx%%D%l4ve>a_>cKurzi6yW)v%tBl8}`P%sGE|XV^tUl=hdoh z^u+ao9)HwQFhtY<egGIEDj;!tJ`y(|u?>k3*}RPajolB^Zbjm6B;q)Zv{p@<sHt2; z7idbndH_$e)c*oMZ}aE*FF6o^p7_>5qzah2<9}j+%$`T;7-LrThKiJkDO52N^biq= zUB7~giTJ?~ce7?@4{-=c@fcVfN*42(sR8>s#8wtL9)zZcAn8l0YqH?Oo>tt_zap&L z6_e2inO2VKeiuBj7WjL>Uu`22i$L(cip2N8By30G7%=s~=Y1PMxvz16vZJ0+TLD<@ z-N91z4NhSzt3Ad#n=zv=a=WEni2oDsg$gMEyVU@#z><Qpto6(&9fViG)hOc{9NyYM z9so5sMrE0$aS1zO6>XIEoUw-*GeP)^`IdbTm6xe3bv4r%v{mniAe26gO!JYrTRCv} zDSzJmKsEst8aSG?QomzEQT{qn!%raeqlN+`dMQU)<?#Li<TTOXuBOeI)p9Q+Q2^|a zxjQv5j$wE)&!EE_rV?nZ$4ky0QKkl#-+JCKNd)44%@M49AOwuhtL*XFUrtLzIpoJ- z1C~WkMU9*Tw+V-GWC(elRz~N6l5)3ASu7Om8^%-)w?9N31>kHK<{TlM4am91(Izm3 zSV_ATVb}KLu+$`xnnJ0=4k_B0^p7GE0Pyemu+&VEdIM6J^85L$W2EpBN&1sQIRr{_ zp4w~QG%-ar46)zR<<XrXo7%&ceM)3&gA^jc@E0P3%ZoVxR}a88A}qgD<cB~$`3q$& zFNR}PATxns*aU{)PYzwuhTTVX9A)E}0iA3dxCGo!+f0pmertuG`Dz5q%^T+Y+t9#e zZ8PlQMq|16E0xzL^Hmuh0$->e-FY>_Ivy6X+`AM%p}gOUz@)^U#kZTAtS%^ZcZ%Oi z5h~x@Y5CH%Nm9yJQvou$KhQ=;qdThvjP{*UJVOD0r1q5X`O$-Rqs0XU+~ZEaOQKEJ z8@&)1V3BZ_teI1>A~h)!7<7-7z@TLx%&jIJFH4FZ!W};n&ta#Vbm_5B6e&~Scte!w z^8rbhz6>+<WM0<tR_PGgrQYT!rWP^M%w`HkCwK!O9%vDkn4uDPhB4C>GdPTS$Y4~- z1Or*6mxMF9S5Qhf05W+Ytl)_v3Kpn>3hjr%6(t06T?I3PsuIR`1MF1f5Hcmjawj$N zJZ=W1mz1>eS1Czb;~1ahp^3Y4TMoc{F&E$$XuJ_ikl6bj63-%0?-&v<5%WDJ%Qunu z;Rnp)?;|1eIAesp8YC7#S$a-v<9jqlIP)W986#Bt841P+)qX*OF~UV8LgY6w!f}le zeq@3%!o4RjBQr)gtGe^=f$l4T1HCbwPCbbjVZ-NUj<jQh$>=Q-BUo8@qjnz*+>8<4 z1gpdd6P`7JY-dmrBfJ3yi4hV{!6L>8-I!pEFae1W*(64I6_CUTUm+ne!V{`#6E&5K z7!6H{si#w{c8R_4n>ZUkA<`0GW2%6u&>88?5+A&x;;H>1o)WQ=;&ng|5s|n6sl?BO z-9JY;?f8IWt%(m@`KIjlWs2i0F5`pRzhUqxsZ`U=(J%j0MTPM~+Di2Xji?+ops&UY z-5@XVLLLYbFMI%u#0#kdaDyIv5-(f=*2Dt+Y)v3D7U+!siLHM(qgNcKr6-hQ6FJI6 zy~n&-0zVN<AtD1014@{UA8Vk`+5~!FA%I}z;^p{EHAy+ljGe2aOe%eYKUY7Uu}?y~ z%-F9gM~q>xWX6supn+u>s%+DCWE_Ianbg2gB?CMXsubstP~}cggZot0_Ow-&p-L;Y z+txUn8X2mLr_9~ON+qF-jl^0={yw1yLzm?=f}zVO6|-kc30-!8ipk;^?IZNdQAl!b zLE!PFmYjiy7k!de@?KpxgjMzqhx=d0FkL~Iio_QUHQR7}!Cet6sd26;oE-)YgQRyI zMx&!FVrQk=Zi(X<KUa~NsN?iOvF~$`$Ok^@5A?fTNc2Y{M5^~NpiO|hzaUZNED~pt zxCaT}dDUW?KpY3IRf@`{;(oD>vk*UHBs8<gQV4PT!a#cfg~;cT0kXObgswla6p}%* zhQRj#Hv3jJ1zrl+_imAVqgO%4p8hEF7Z?ZkfWdndi81GJ#C{B<p|HVwFKqrC7+i-M z<g?}x<p%03P{HbshGRmgXN*Jb@OC@d3!t;|UtmA1R8xcSe{GewTf^66Zv*Y^!EPnB zQnDQzMbgxIAdjN9I~|!%W^LLCdpPMz_C&BR277XkV#>T}plqR{p$<hdI3;B(#?~~A zntFi$EAr2B@Ut1YM{2nkVk`%%X`7ZiSMjXnO@e2z<bPe!3_?uXqJa1>Lx(uqAt#yf za%B7uGRAeRVs_O-yYWr{x%_#QFrZZ1UEbNCv;-x1gTrDep>MEeWVSnA?T2}`s+o*$ zig*mbase_?<F4Gyfo221;08k>HvkM&@&Xq863VQQ$s4EI(wgV4G7TXc8q!zACP4*T z^KxN&7D8;z208;ML_TM0?(}!j*8B}%XKRkXh}Qg^W<vk^es%z;lTQ_7bWjJmW2BG^ zRJb2t`OYX&O5f@4RO}xdkLQlZDk*UOa2)+F?tpm1V3#7ZsAidAuGD{w{U_tO=W&@3 z%4VQ>{{q5+seux&&}<vJ<0^MYY>06OPf||B^K5vbRo;r3U_&pu0O9!B&>DCEjj^E- zgvQ#?YCxVBd6;c@KlcLegSV?G+{Fj(7TBheTz(<c(uTZ#K&@;j7zwDg4gE%_n+*k` z%3G0}pMwX^#B(2p$M+`H6%>zba{U(1jn)qd%SM-hGlGEUErFzgZ;t`|L?OJC@G})) z@9*(EKlnKoaEq>CxN02WhPV}@^o@i&91p|I;{gwU73DYbpAp{hNf@4)P~NJse;4%4 zPw4!dX_RJ%Xk)?$Ix9ryquNIdwpWwSB(N!5f?)9Gbw<J-vG9p3pY>#z^I73+T>_kU zJ2<)Slr8t4RvYmQNTr7ozJMTG!|`}-xle>xh!p3R`z9bU)Mf)+{$6{@_o!s^D@e%` z*J=^K#XqxTGYsVtVaF<EpvB|Kk#vh<?4#BpVZC!jZzjZ&+bNTMwr%tphJj#!O{-wj zV#>;DW2VT?W|mLxH(^}ZN%`P>C(JoZICqe9b|I&}A75h0low2)tb5_6*$Lhua1)kN z$EADqO@f<932!`a2PVAnoKTX+iJC#GCX;IBB(yK0=2`HCNC~S6m2#+=0sv)P1cq^t zGi7WdmZy}4<p&+r%gH7>51cE*oTY@b8#xCTmJwkJ{GYhql+JeT!LU?Wk(x`XD#~Q$ z14z|WggzN<l^bfehGda?1yackmB~I0H)b1#pTGb;eU-(Yk;jGgloLH=Z-AZw%4APF zMvq}=4u;@ZWhiV_cHgltQ*NMMX&JAI-u@K((GetyFODlB8K&{?`>@m|k(x=Vs}3nP z;UurRG(%)8tI9Cj7n?<D9m^1-OqG<$7-JZ|0|WHbQx-ein-<pdn&?R?13k@@si-du z!_8m_c2WlVLN-N`UQ~?ztn6FVE52}v-rf}3?hvCd+&y(PnvX}4KZk^NANODf{#V6w zFQvQ=CY<fADjxZ}yD2`ctluhynakEQ)Pb+1c<Py=c<#w`4D&MtnF4D4=S^$nYHhGm ziJ$DiKkUGt)=tNH_9dq_>EM`k<qn#Ds@BqG#KrFWVP?x`J5c81=4DZZ>3MR@XboWi z@<)ydKn!j&yvYE>Kr_l=o{|9MeL0@Jw>)6kPcd*VVH~!6Ao{)p6h~9{t0fu8ApPUe z?$HS2xjir}wY=Fd7?y?vw-AQihy*tkzOTUX8vKDeSiJ|D;75)Y{4W}hr4EIvoY<%D zhpNR`>U>cVg4{MZQwa$<TBw2qw+$Yy3RUEnZG+j>%bTNxwl$F8w!x=J$hJWZ)ol%f z?kj=72&}R*YL&PA1=^bIZ39MivTcw7&UPaa7INF*Ua-ox!K{~zjmN0RALR#wY#ZzX zgKQgY%s_(M1{aVBkxjM@UaJj@c(m{@60&XZv}#&39Gc2SyiAKcb<10c9r*Jze|pq| z3epqzFlF6`)Ta9Efo7aeep!tH0b2)$sp1#VL&wOupaE1&Z%B6c0?mw#@hsT1%lZFN z4Z5X(pjvknf?t@a$nN2d=?U&Aw7wZ#@J6Ll4F?uqN7W<CFgbyESTR{6U|Z#=59uhL zKn#Jr>?j-qL3R{Ejmn!Hg^ZCtYc=!X2}FBfgY!3<0^0e=X~XhY400;ixx>K!iR-}5 zKiOeOebsQ}k)uph+9>4B9fl)d3K3bj!w@&hXC;7cb{HlVFW2QwMw67w><?H6jA!gw zXbhxff1qRI@@9XaIEU;HWP=(^Qdzq^X3yfVV(o{--k?UFGCV<zJZ1P@IZ8?yEwg9w zCa9<_?l4qRyY0E@I5lvG;cMpFyjZDZhrveLnN~$_lO2YCnJIS|?o_dGru%^`-$dF| znsz7pr3EBWAnq`Hr&YrphQS7{yVQJ4gzE+zf2d2jgYdBO0PnwTvvGBJe>i-ofm-Fd z{!`7fGpY>h`U1!X4rA9Ka2!9?&f|xaz$K!hvHlH|#gFe-ho!#Pid3g;L;R`qsnj|s zwtF_(3b!FzqM))3F%O9lsj>}m5|C^|WH&{E+YsB3@Ria2MSu9_7s(}o8xVPrUp^W( zwW47i@RM*CelqUItFe(|pdSD$f!hRGK&>HaG=N~bqrq^lOW?M_BCxzkmQ?_(vfLV| zqI~vTdywSMh0LvhCdJ5Jn(`Y6!H$j$*pm~uHIRo4Dw3rffNB--Qvgh$Arj!=Zh!^& zHgXIB5S(93iF==RK(6D5fQ{|lJYK<h^P*DetjUJT)qI?~&0fvRo7E)ptH#xPYBo%` zibS<YGzNigKqB~qBOG7}@R#(88f3>2SCNZ}Bl2bTYT69l;@x6aM|VaJRdQ_3{lb|; z&Vvq4&JXTU+Gu#*k_ibmf1I~GqUh;WBCLT1Z8q3Ab<5LD?&S`a*+p37+dR<juCHy0 z%AYAz-bv9^o>xRNtUSxX@?#MeTe<IU?PVrF_!(c9N#7&|or=P{a&sq`0Kwqaqwow6 z4D{?R<#ADs2Q05ifFRxHxa!*k@$|PsOUG#UIh?88C$0s$52@09+5nR7^E?ymK8KO; zMZ8ux%=$7N0J=VdjFyTz#$2|C7Qo631{oPVk;q_hk-@+sM0&BH!WNx68lpL|Up@c> z8B|Pa2?H5aoNk2#gNk~$BEg_yNE`Ne@JmqPYX?htU*QiX7*veCO@oS|YF1_rbYBVd z8;kk(<J%EbO#9Nz5q404R&RoeY;aB=hmn>+#bvNcP%-ayQ~Z4D@kg})g9H`5+ruKB zMZC@ggNjfGm_{}UDtZ8tpkg@^5>%{GO{rs`sa(WmTJ#r)?Gl@JL^LoQKOxc*pJXbF zsXvjzpDg^gs`w&`r$khPA&DjL04EWN_aK$H5<eKNmnf%w7GVzNc~{|fExSEGj%9Hf zIk-EaE8U}1Ga?{zxU7m~hLy;n#unp^JQ`6s>I%KV$l)f)OXQF`7Uk#Ng>}HlSwuE4 z-!dOY4o8{KH>$+WM<RzYwq~$1a>&E~#3r4k{3dc(sT|fgaFmJaJsx>8au^M!5RrwE zLuWu8KsS-Y(c<L_y;0btb(VH1k0Dsr0!Yg&{XMh?lZt7OS=vU{U=`snpCUX5@OIHz zy1I&$Gz^xU15^SPnesSeq0+HWB7Zlc14y`XJ2mj;MR5)ZS4M&wTvN;>6RxaRtZmaE zYGk;wh#DELyjR?&KY)B)Y;yN;^zKQJ<j{%8p`*Hsk;6)Z*4G}HM@tuHTJAgzNEji! zD?CMxCjL^g9!<C*f?mhN$3>{B3lIo&0uX#(EwGzLHJPAUx8cdTEGOrml`q*i&Z_bt zG!#zM)_BxEQ8H2g=5Q7JLRn7K?X+!|Pz{sF&PhAiTPd`GgM&=sf2t095`UWPpM%{h z%SqgK&<rZJw%sJlBwku6VQrkmZKP@4mQ`W`*g2s$;)I^2B6hQp$vxQ6p~&=TPWH_e zYwvrtq$Zj8?{@HyK{4F6&p7e-0vi{@<AE>Z=;fmYFB|x^6>U%XCPt8)EnhQj5;9d) z7~sZKbzhMC#IETR%`vwDd3VsHco%S_u$bF|qvXpb=C<JdlIDvCvL#iz5tKyA_35=i zK9YlXou$8EQrXb6F33&P_-rU&FUiQuhq0P|QPO%yzahx|P2T(yJyXJZrWWd%rh58Y z>C=s#@;#wvhEvZh)niq7-i`g$k7A^hJtmn_8jz(lsmNOvLczx|17Tm}+-RgfiQ$HE zWcgGG@0K*KF=Au;Q&AMT_!r>!NV-M(N${VGDIE>v=5E9J7#2cHWB^<{C`Y>Ny!<6} zyx%d5`NLrFx{T3Ke8gnZ<`5KrCq}8RQ-%%iS6#CMwBu4S8R#{x-2QV+m|<}L!^pre z!$21Sd8CLZrJ~Ms1uVrpCGZz_mba?*ABqiiQOM2zs{Kb`7hS>iQ>qRC^*04q0R;7T z1(!|1C0@9uKw#fp*wYw`XW;%2@M{6_7@Pq|btkp14Ys};hR7orXT^}m0LP#`{VCA@ z02%Mjj)`L!RsBsf&S#;->2WbPPR3O77VxP(F_*uBL@Ojhq<VJ(nh(gk2Z^b@koXFT zbxiz-#Aisvo&Mgk+NjEm2cU9%FzR7U&u{g{r2H3uYV;{@xqB%KUr~JgArpCzFO6;} zA*gq<RVN*9#@=R3BNNAr;tW>885)9I1|tjaSpch{+<OIyGfYIH?=<L(L<uCK`jy99 zV3A0uil2N)-A$=#0M>$J`PQmU^6mzSGpcXZIq*Rg<n7=SEXX(D4Ou`WX5WL-EW;0m zZ}!q`Ab+FE#sGR{A=@@cY-ge~68H2+qBj!%A`!S3iG&>dtb)`rN{s<<-vAoYU&}3q zxErWh3}FJO9eBbw#(K!Q(ef9leHz^;8bQ)y^<370w~g`nH2&6@M<D8XWs9`%J}~(? zWaYWKUf?QSEb9}(pMERwGZ421B0xN<IzBWtpih^37ayO@8=S0b_YQT@1mw~_=BHx0 zG=vt<b8AE^&yo5O)?D}{;OWdIMs=8aMibBy)KGi|b>9_p+mxau*hgKC5}b4BW(lef zg6?*zLrY+mcizPX;Q|a$hAd{%D`su6Oa?%SvjA%eI|{IynT+~x0g`eRXCEmap<)@S z`pbY5F&L4{W@SR1>iJ00$BMG2&k|E@xj`a#FXavw%E`Q(^p_&+Ik{0-YN$xP4Jmvt z;~i63w(fhvT*HLxJK?%Zx$NiAXN9@O3YY6%>Ka%~*M>0HIN?esSM(xy^<bDXK`3oO z39eUhI~GW?5%ytr^fbHN6Gdt`rM5bxrl2_`9aMxZ)gml4U8Gh~>Su=(cPFH8+sHiD z`^=a}ASh>0GQ$23Vj)t(heyF7j>Dr40HB8Rd+&F({ZE9NGBLNz#PInH@Q1*X@dOef z3zWb*q`a@=Cv7N3f%lMT$HX2a)-&-H5*fqFTbVy1F-*f1>0lEygDht7WlX*47=w0! zGw}?6;)kR8El?I6C#7{49ZIbPPK%46B6S7~$pCO0B)v_MSb~HM7;98bK6Cm$W<7KI z9>m17`|vXaKmNazMSGKO`F9IUu@*lvCE~^k7{R+laCE@%ZIx{Y?Tz0v{t0&jX!YI( z!hGlpc2cUefAffBKv4`UE`ga1MBY8iEf&A6ZeM-#6@_sUx{bvz@`Zv5cqvs`1_fEF z#%>sQvfMX<u$lR07v?KFH_{?(Wa=c8|7^@ONF@FP?hp})twz8JEAWHSo>55_kUOX} z4nX6P<*l@dT5TJErPT;1gU>r6Prz2$Q>b5?(Y7rXjmBF5!lO{r=-+E_crPn8IM<<& zZP{`U);i%NPz9QhwLL#P<si`_#=ch4>#D*Y1;#<hj7+1Y&%6vPg1a2~F!E2b5%vhP zk5Y2$bdE@U4yokgOh#=XL-3G8E&X97*%*6IIBAxx_Yu*1mU@3su^5Wr&*(J_NuyXN zNxv(L{Z_KRVLgwEo}0mzd{LR~q0Q(q484sW|NqSL#n!VntY@z1nM^(L%2ZU3VR%mT zL@z@7I2e|lC$b-c6v_j^<ZF<>nta=+%48`ZhR)e`t#lUIsQXbXeU*uo$y#xr+itoS zw<T_b1PHwElB)AI*Cg(C3S{9Ch~9=L+@sKM7@6V~6LJOLJ<7p5M|sVaYk9MsM_yJ7 z-etJ^KUI0z@KzgMZFs&FN@6GWCF|Toz->>94R9FwgJxhlF&9<%2t8+Jw>=4xD-uCC z%j@XsCIIoBP{m*387yCG9pnkPpHP5VW~#h-0~BTrzddPOV-RsqM!i>fezx06za(yV zJp*yxRlX$a2QF_+ii^0*g5#$t(mk=f)MHs)xMs-H;iWFZDE{H4ua96}$N{Masxjgr zBtAhReKrz!%X)MH+Qe0)y^HZPFdJKqZSqXT4sMED>~A>$%RNaU7Oouhnx1VhVV_hg zw-@Rw73UVdKNT;_)SIHmV@Y&Eo(#x*h)bP;bFtJxIZnu9UHf5zc}(k+z&WF_hTzpD zfzA=))g^%*%>nO`^9b=ym*Dy?Weni8Z$iI;7XXeKIR^W&XG-uI%&TK@L5HszO)ry} z|Gp_@bT*8*3~Noth)m>Kuje?l`1Z=dLUO^K)I$;W=vDVoTPj+l7E<ayhZKjI=vC0) zH_VwJoTtdS(!t5$F=>+`><R0MuvC&r)f*3~j~r6$htc`a|4x{*tZ?2<&YvBew50lu zou<hAa9s7j9Y7OHS=pC=gD&mM0Yy{5o$BC8K$Vf_4$Iw8(QJGf294>5O#(i1k97#O zQ!2{ppQm{4g3!OFhtLbnKiQA^JS02r*28Qc<DNF{!{8>OXncKufyO@w2(80FH%>%- zqr)7Q-S@qd0HM<uXx+nD6yvg-fiRjp?5R5gE#aFG7YEg*fEV5Bh)52d1_<lc@8o&l zzh?u&+bs;V=uzzP<4T%=V&&<HqauZ&>EYP@QD}WXg=jNIw})%IwHl?F9XIrAGql&Z zqZjCp#?{=dtuF&boHWmFM+@TE`tF*C+H3Qf;h=Zum*^~Tz7XbID4g@id4uW(Cs#>e zT?E!2$SRZMB4Ira*5uBg8m0D(XWG1BNSV*cEIJReDf4aF#Uk4Rq~sZzO-XR^&&V2v z2aIe1WREQ2^-DPKo;Y^7r$LEh+sOLRWSu<)A<m$<Pmo0h2O}ApDlWk6L`vXOpb`$? z=NO<Tz!dlffbWn>%a~N{6QhcN<&OT?Kpc}cLx2u5^9CE*W9sPeZS3{z%F!89eb$YS z*`*vLrCd)VNH8TUM9P!(?KRVEFu?u{zDOlFK#?X-dPU0G=p$p&D)J79TZxQh;H|n4 zBQS?zCPJhZmN#x1zIFvhQ{I)TLCPD@GDvy--|Q+ZFY`6`(<LB_&V-VS;bIMtVl8K0 zB$#3qB2BT>dsD#xQ?*!%H0q^TJY$N}oHrTX(x_><$Wn6=ip6uLK8umySyT4oSc1rT z6M2iDH>sMb(~)IPY`@2$hUZPoo`AHRH!VSe=S|)xp@!#8A@a&uQ^ZqPJMgTj<1!?8 z)|8KgTwocgdgEq5@0Gx=1z73$`+j9Qo_)@QN!Xk-WrFMcLgc}7rW#K}2cL_rxL0eA zI{Z<ugF()jR)Rs!nJyraA?Hl1z#?Z%nJZukFRqM4Le7}_supV|w3Le&2`!1cL2Q?J z6~Bq?b5SFtCBA`F@*8TReX}kx;TiTsvsN6Usxqi5C1M3t)dxL9MB+<GB}P6=c7HSF z)EybT!RKL&1?K6O5r>Qy>?4ljEI3b`?t^S_s!~zi_|zPwd~d3<!ZWAe6q7|mDo0IT z1kdoyX$>^UnbRr|<jm<bFlG6?Y}!8KO#6mR2gu0zQ~F9+JeJSJHdPkGh@tY9cFDzY ziEYV_Ke@TmStasmN13Q2w1ekQ!@(3Hvhe&Vb(YWi40Ln;^krcHYnSpV)g`4gM>pRo zSE}TQuNg0f%{;n^TBS!fe<+8&AdshHYJdt~^EhdoR;N9SkD&%W9n+Z_c$`$6LynUk z0W~;FWeaP<++L}yHDv2tPo2EIl1Hg#|EWJY8MD#$wa$|i;>p<GG=%q8x~ZVO;E<EC zvd^(7?*7`F=o{DLc1YkpsxIRxRAqxUqph?ziRm%Ix)W40hus#24N*RxT3Yd~X^Gdm z!%~(fQLos&SS#RRNXw~|C8y~x>Clvgy2WLb1E9)fl;*HHV^=Q>6{N^X`dFakB>eyr zXF*F|jqrAlYA}^9M_Y>^Qh2l__fC!h^*6IFJkE-n?X${00hAnPJzH2+vW`#SaaJZ+ zYLcb!-pMTWL^&-_N0JMVtX3=8UfYf!nMYPuSsqbsQL=ro^d`ySBdT|lT1Iu7BdP<6 z4UgVsc|`S<V(lT|AT{xb%JN;%sDQzkyZ#>27wMjh;DHuiJ?WxoJ%`fT=3B@47oClQ z566694ou7(6C%=_kQjtaI4g9@+yr8H!g=jK^Jw%j(07D2n#nknI>**%5Tdc8PLEk2 zhG*tMilh^!h>iZwH4{!{294$_S4J7RF>HbY|57^^t1Gi-S2UU62yL{Kl2|McoM~as z(!%*HIPnNLDDA@(mr%Z>j>y6&&FDyd#Al5UbGn5yY7IF5Ev!F{=Q@LRRhV_Eu---1 zG)E(3DWj)?GoPH_^Nmn*gmWG^LwO*W0Kgza&$E{&RadL*rGM!s?U-o3$o2qRa${vG zy5(RPCK)|1DvLcR-a$RG<$P8m`Deive6yGfl5E6{QbCqAD=hV=NPR`ALxobt9Z9K& z%@|@wqWi)|j})UX(da75WLspcF$^hdrSL<P#g2w=dde=mVQT@l<PpkbcTlIEL0||@ zRt7c>#+GOU@O8#=4TH1e=3^}|2b`hIM^Oj--gWwzxYjuLI0a-<<Ts`;_R#)P*objb zn6@v#h!|zEx9yA(hG94ug5{LKZlP9EJH^;eaxb$BXT%<(-j2#--vV>$-9)|p{-gKD zVtRXp^*$i>enGv*uc_BCoTuK4|Iu4r`<U&A*NW-AVIB0=R;HqUFnXJUA=si=Pqp0t zX!URnk`JB6LtLMtC%ap#9UK$>a!~E7<i{Vvmd@A8L=`cpS9P*KT{E)>6xl}7JLnXI z{#QOI98KFAQH-YU6FNF^knN{vT=7V^2Vz+BNH`<2y;5YXa%U?i!`fBKIUf1Fq<GG| z+YH`=rLL9sfsWsYoodaYnz?p&$}zy7RVEB6zG}J-mHoV>3UKyLL9>Qw0naD)TMFE_ z>TpDIGn*V2r-7|I!BG`=88R!ue~;pAKgzSV;zzkUU4>`;v%oJODJgGF@%mTdA+EcK zx+%3Lg2r6gO`3}Cg;xkYgII0QV`1z)XcqDzLgkvbzPuIt&3VwD6)E@PO!F2X1D*ld zY(E*e#!L1VlYx%|j^2cvGFI3l+<T&D_Xae-3&omWbOAVfg*o>K=T&lk?%*^l(z!ls zW|(uYaJG9HoXJPb0AY9S=qzw<409e3&c)>Hcyo#jq~w&Xp-tdC6z2R|I6o%mFAWPh zCHG_Cbm!V7+9sSQ$>}eayR5VlG^4nAm~pq4Xa+$ZV3}&@`3g>JYO9#N>_Xc#i?pgL znn}^kB_1pyx|*WzsArs_(b-^M9ky?m*mnio!Q;jJ=#JE)-L%VVeFh0Q18*hfORoc- z&SmYF?8`-KUj^mm8@t^t72vBt{xpIzL=03s`)U*#7Zkc0TkdI!=I&*Eg9bbMsx)7G z#B`Dd-tLXc$`^XwsjOy;47KFmuT(}>_l2pJFF{=>yQcMTnQ7s*JMwwKRq%x?_rsNV ztLW*Az<w*(fM-z0I#T_(!PDf3;P4*eCf`XaZKLjdHYw$9q>7XN(B2#+V%X7n77c)( zsA+Q6#ZS~sg^+xr2JkcYSk_N~t)xpTWe1(hi%CVkT2yKT;II$}Mg9$^5I;|&S-lP> z`8<tgWhJ{lHzTJl;p8s0sTenQLE)4nxC9$@P5zZ4PXd#N-@9yb+12$)%i0S#rhm>5 ztH~7?&;LD}aT%nA=JH`<xAiM*Lj7TU_VrQp$Bpo9oSz)P_&*hpS~lG*sf{|+_G4F8 zjrj2fxB2+d`c9^5RvLHS;HEq8fB{xg=VHPO|0BHWTEaOL_U+ZWkZ<^uRnvHP!#6>J z@A!3}6$+5eYPMyHTfUFyNn91QZpp@XX>#KD@s?Zqk3}lCH5R>TjVvVN<K0D)_bdiB zksIyhpXh8St>!Nxc+9ydpS!l^vuU1u2}7``xagveCt+(;`SvbyF{8-W0MD5!QXSD4 zo&X#(c+?;(=aSHm0ruSXhTF>dSF~1n9q=PP!*GMQWP3K}vQYoo28cJ76mGc#+$TSS z_A5fK_a5Nr7a@HWRf`W%<bi+S*axi~mz$P0cpvoFu7ck!@V_77no@Oa+vdc$Tg-S9 z|0jBDygm-rf9S5!*o>PslHUM6;A#G|8Jla=BwWT*?+1k&!pAw?JVU-$_=N?4AM$)> z^B<@W{uQ1z$CaLQ2>LgBvTXP&>F;}zZ2sQu03Y@g{G|LN2%qrm`cdJ&t08~cv(SdS z4FcTL`=zaK`#ivdy`Lx?oq>w_=Q-&vIT3DFg6Ct5y-(}t{BfN9v1txyk;p7M3la&d zjYMrX8$lyTV9^A8YsDY-P}3x8x~R?i8k+JTF<vE3h{R?}R5)tNat(<BNUT?h6(aE~ zC1zb$q8x7_xsMrzcI2M(iYIyvhMiZoz;_p2ePC+2Pf+()*9**>NOuwD6&uibk7pua zf1>I!HxKlj(2^{gDG94+`OA6L)1z1xFBHq-(_&ei1&nugJ%-nGLK4Fl%%m4nb|dSp zs=tU&^a@dQXUM#(GMh!F8)YtEOUBgUR7m`;60eHHTuL<3R$3$%*Ud0%69m$pH)eGc zfjkNv)@EKrK(dhA9G$fl9)onwUiTO%a60`wR75(Q?sWJKpJIn5OXcZs<L70HL93I$ zoU5K4#k4ku<n^=;01fXHS>UtIXkji%VdenuZ=`*yNMTrdso_pa4cG7`Pvf;k%kvJj zI2+OTgdL42u!p&4BKHxHWDQ@I-0K7H|KeJ?o7&2T#Iq`aFAAdI_faDKm+SSDq=8E6 zu5S8PrOSx)bCjNVU1_PhOG;jaymPjB>by|2s9!;av#9?Nb`-VEUQ}Q3S7V@5Uvxe+ z4T2h$`$HLN?gNwm6J;vmbyIF@A>MnS67L(!DdE$x>%S6GQNxrRZX&OHjuy8bYOdEr zE`f$)A!HrD&KUcUWSzPXS+_iMJ(ovkL82ohJaKC<!dLQgVC)W=&>|3GvaOtIUQT)Q zfr=Sy<y05wDj?*R2bQH_*%l&O|1&IeZ~xuoS5NDadfJHOT#%`!tw65;f}R5C*&o&u zD|+%l3Z*VGHY5o5z|W0r34xXaLQKvuvTK3Kt~1zk`nnTd#GdLA;6DdT!~rBa?uRl` z1HS?aoW+m#GJfiQfsNHjL=itD(RA1!MorUQcH-%?in*W(-!p$2Oq+C%<@>@3lsjiA zTS|h`Sb;vJ0Q6SiIRY;_*>*eGPB__?op<E3#|f0W;K--00+LTR1tg!NPB!arBO`2S z3XqLW<_XMy@EF_oU@v=V(}QR-H)@Ih+ghcctylF~kj~laehvzpLu3wAIQ!XB!j68n zomp&E9Xc<`HfQuADEvar*(%-b7xMO0ql=m|1=c3LbkP*<4gma%M@+=Rn2#DK{}0l; zl%=RN!-BNuG$N`9DK53f=VRi1Tql$QAX^!N+zIHy*!r@@G%de_`0*1a^T7`Bw7w?| za-sw2u5rpBsq^u$PRo5n@f#3mzNGlbRLi~RbRqxyh5Wuz+L!s+dS9Bh{Ecjm^R$$5 z_qk?dn~jz=x*!*E(@u8kJUG^syJZ7DYAK=ZPDZv};hh^LvfasE{`OY@AD)cxK}4E; zjf<NDha$fIfKl}u0%8;-kbM|5iM>Cf<WYhW0`DT&=^MH7ne#DoUIrko>OZD9OJIQd znV}i-^7m8{!+DUxw=ZPJ$g*xaeiUWcBBMfq6r%Slc6`3Y%Tm0J3`~5!MTUllzQsTx zw!JCvfg>C^7@xl-aI5do8Xv}!4LMsy>)NA$ZybVRZxeX_F~D^;VLaR}aKiV1b4G&y zZINF___=A|-y!h2A4o@U%6UiN?mq(Fhwv-sUFlHse!`wh>Jq%E{be-GfmY5bFI|}X zGn(e^e~n-4!aLs9#>?E%SrEHIv0+wDgnWDDXNZMX0ZmQuK5DA<3pACwd<{)r+&aTo z&9EJap5cyfYQleJmIf!%+eI@>TXe~2X`<xt#TNfDrCi6-W`E$S6o(Jb28imijNj1w z|6P`yo(qSXWmy4Ai+fgE?P@p6vcV{|b6Iwouwz;F;jebJUvklq2FFn?j%C>f!j5HG zom1e4o6WN9+ur~=mSwH~0JmdVmVXYgV_DYcJot54MoVY>4f<<WQ3ki0@N1W^zbu<{ z!0Z*+%d%nLDy+-0CN^D{WedJhx-QFx9a31AWv6X<U6y_QKc(xkY_-j=%d**i+}gok z4PBPai%?jXWiPuG)@7N`&R>^h?!!iZ9DC-Y`36W`DzovbO_+_x0>AePX5(Q<46{-( zwSyX%3@Gp@e!NTYGuw^V)~`h3W>2c+Tll3>BQx!r3drR8g#t306(}H+UhRVpnH~y= z%wz>bW~BlmljkvIlYCA(f%0BM5d{qu5CxqT5CyZHY-^lsc@DOwReVNU(}{NCik;}H z?#5)+d%r2cI;ju5A`IT+WM)>ZhrOv9)(_Vj4Ttrwdg3=1or5>|Qj5&NUlMlA!T$m_ zYlI(EnO8H-dEL{in6k<dsn-oXJAj6D^iw`-Hl%2+S&@$h-hbe0Qy??-nzgvZyQ7a7 zf@5`iqFAQupuibL93|{1f!B`=W~d&GBJAf=xPY$toyj5(reQH~%WFj)lmT(4`a20b z)UO2WYpFWSVxRz;Mneq?X_l-X(uTH2orSb#FxhrUU4}1xtAtq?$3#M6*0m&@w%0yp zRCb0u0xb9IMQv{dB~IJ#CG4<$9y4j7I*J5XQ=zaPw6O>#-g}F@!*ureZ-^AV2@?0J zgbAw7P~zq5OB{p5GL<kvT!R24zP_degShCp<v#0El`sqS5tLYP#mq+6uqqQ0|Eh#p zAFigvh3iXXL!#yuQ*yHlbBGdEuU<EgRglP139~m88wH65u7LEEYgm;JiN{sK><zW1 z#K+f_kZAfL9bc`dQQ3RlKS6;rnw|(1*IV~J1DbEX%1a}a-t~rJe0G<<>Z$QYQLXR) zU$p)L8kPnyryr!)RLq7$bTkU%(%GU&@xvPqWtAEpnJ#%Y6wA2<v^X2@V8V{Z`xszE zKFIxu=596|wlVjQu9dr4crSv)4R4~9j<xLXkO}33VAisX18xeY>ROi2yMWjLSNN>E z!m?%!>W_hJCJ2;G@REBkP+Y&35U6sj$Yz6O4rJ*kv*4czf`3Ecy3J%2B(|x9*;Lq0 zi3``4$cMx!l`t#&0!q9Vb=^FyT%T3$En}70eyJFOL{#*3B{Cp!hf0|3wLX++b}b3n zUdw{OTnHG4n+<@+Ari_4!7Tdew10pyi+(~Gadet{;umIs8;00uHFTKBAFnX}%HX*k z+OGIWwDHF@W|3vrp9*|y7|g2eU5!ep@nTpbgWuX#+G`pT#e%5o4=b&%&K(sTNVi|R z4%IX<1Rmr1`f26JTI)geyR5?2se^Rk_0B6;c>RPOXtRo11z)&wYiujB@VXaHa4fuL z!~-l`cr8jubuPRjOAy4uYf3M?D1?Anc+s0TCIU1IFM`_$B8HWPmpdudN_$#k{umg* zf<Kh+vKL;_&CGIu0XyAqVtqZm#<Lv$+9-pGz&%}d;Oi@nGm(;x^N^B`pgUgAL6Trh zq$AjlbOhQs;L{*m9%9#Yq$9YFbOhG%8dTGQNDZi&zTO!}{*R^s*}?Qfrxn&<I_@Wh zHJF}!N?{GAj~!Q7gXx<J6xLwc`c+{KrsHgW4W_3hnhs_M(+hu7ehsFF+OP)Gsb`d~ z!E}42m;Q1)3M@mJ=~<=XWgCs2jmHqw*2@$g<o`F!XSVNzubNQFSKa2rW7w+C3~$1h z5augk^VI`id^kF=O1D<n%>7pBZVH=0*(yCqVKYTorN=64=0B_SOoh!1itiyPY=%m! z^z#avfXXVpMPV}pS*1Tz*o043=`R&FbGTLdCxy+hXq7&vu!$qA(q1$cmd8X1R_R2A z&7f$NPFL6r#8&Bg3Y*9U<yY9m;8rQ>G7+w2)r_o%-rlT?OOGVifmheQteyYQweL8N z7Wp!6{P+=;Pt5_|l$2^k+>XRMOms(LW=X7<1|V^fiBU+jEQQ2GBt9#P#B3yXry{Wk ziPja6$VFmAMI_cEvAhxzTac(z6^T3~%GOS`;_gNX_GsW}J%f0puY2ITupt}xX?2kG zU?ghQ!yr#;U?QNvEc|#E;U}p9RINbbV<dbl&zqJlORK$3;70{yX?0NnSz5(iFfv?P zHC+~Ox>D2c?L=mRVrFT=7hA$$MAc0Sh^nRvm{nSmVG~<kbpl5e5Cy+0APQV1jf^O$ zrhu@uR6y8zI@l0NSSxWn2#<Li!4Fk$#$+ck-rQeI!7@O`G246KaK?C6qoOg<&4e8> z(Sv}^YAvASk7KnK`Cd_F+rfOjfbqMqq8CpXi{d$o;136P!-^^LG%jjYMZylN+5`5# zsd}8t3@P%rO2}f7w|U+xrhHs6<;#jG{|T_~v_m--nb7nL)Oc@&Zv#z`d6|=@5GELP ztS@`(upVOy$3;}zyrOQp1qz&T=m5fw(#>H8LsgHnbY=mo<8-(lu6h;~%V0AUT(2Gu zf@Ui8yee`;%twkT`iGV|jvP~(7PYhuVAITg)!8bKKHuxEwX<lEbHI2#i<W}syP)#2 zl!z{XmOfD7-G(uBJLvwSe>nYZFLh-Nm->Hbd++clsxNN*&g@QhH$6aT36O<^gd!yr zX@MYwA|L_jMXCr&iG(UuREi)HRHQ_R^rDEO*r*~{5DY2;f{5j-2&gC>72eM|_sr}N z^?lyoAHO^g%jx&rbI)y4?i5&R4hb)T@C6d?_Q$^o^S(G6!rMr=3WO_XK={;u3r~me z_biNN??b{ZF8-Tkc4G^KW8Z`2<FLGtgeUx~FuQRY!o5j&4un61u=$QlI1?PbE|td! zd;?<jkZ{}HNAEt8Uc~!tWa>IhB{zksUtOl={=?L)%l}pd_NqTjeNLvzpuW>#$~XMd ze+n;v@GTPFfO5By@X3D@<^}t1$X4A8Sp%}?Ascf66mK-Jqs=gMmj;lOiCj|gbz~rZ z1_=F)AhqLIY77HEF;loRH52bCfO8le?*#xYn<s%Dk+jlMOG)i#n0*8^-<{F_8NO@? ze?Y=*A-sizSO2&0bO>K0;hqrwk%SNYn=sdT3uKethwL!OCf)_voBt-O8}T%RJCN{1 z2zMsoDKY=)a_lNgJwn0_Av~Le-}-OiObD+d;Q-onCkZe6?_A1(@E0Wf5iDOK;Vb_w zTma!)B>XBuU$q4qwGb5VPGHl3c|Qd31^{fj-uX_a5v?jp;h#=!Wj6SqrZ=nXQ8k4= z4f5Z*=xsDz@3qd$Bt!}W+>Caz8m8^rM6u+@xN<}2w0$#I%a}@TtP&wU1P(hjGg`(0 zV!rDzm6a*|g&z-lO6GRne?1^8ZrYityGNeHRL1wOJZ<*l%*W8(uDYQ+U3Ej7tvaDQ zTy<!ZHMo~jb@T>{mT-0S=88dkW2MHDb80nh>~?>M#nDBe=Mdtsn*hGb0uVsaQ(GhY zB>+@t1E2zc9|=eU(6udqIsg{62hbEi{d<yB3kv6qYq~9J!TjjY3dnp9kb8n3)&W5O zj%Z<G1_lBPjKEI|s=2Kfy9RnwdPA?)M<9po#7}%@3`fsg*M?~YQ{n^N_*2jt7llqs zqv|gDs=q?=EnW1TLZ`(~9~b?I&}q3e#znvIx3)v}=eg)*Z)$qm;vTg+L~oK@TK71! zp8%5}u+Js1!4?=?MoUtSehdkiZwQ?%-*nNx6*?I#i2zahQv^I^Lw0Jo=;eh@HEk85 z`x*+JYAQBVv14e6%(a%vg<xPhHO+JQQ4LSwH%to7Mkl1dz*-O^lZ9%VP#A4)=$Oz3 zfXMnq;Lw)*qgIA$n;O2N4o*feKf;!L@KcHiL!LF2pEA8|)o{8c>W{_Vy=^rX^wX`* zw$;PwUaYFL>U$tb`~aM%I$2<?B$KpwQx7KH!c~>J|K;3w^_;aOaU<4|1Wb}~a;ufP zh~ECc$y-S-S8lQTUAI^Lu3M{q*KJk5>z1nDbvxDXx|Le`YdAvJ5A?mzQgM6_l)9|K z#tg_guSP1Z858n;{m1sji~shXuAbQ56a4>+_sihOKfI@_I*#`mNf|Z-uM8YDshxKt zr;Plohvc;YP^q!sxHn0KSE=qu?dp=G?xeA3q+Haw0JSHMn_-7RyR$3J^dNY@2G+D2 zhMb=Pl<c0Q0+#{AlJ$wASg;NUKi3ZLa{zDZE{4RNE0Gz`3-dHF8yh9w1;bh^#E*V3 zP=Q#=$2~$yS`WE;;p1R8tODq#ARks7z?EJ}Dwgu@lt{*IfMg}}>L-wF3;NvNkjwyZ zxDT8ruD2_&vVGz70074c7y)3=eE=o`=+h6t695AJ0ptO=M8FFG8V>}p0l*#t-T*LV zP?9RP2S5%icS51w{Xn`8PEyqh0qmyo4g>fK6yM?sdR(x3BlW{BUVIGOxuu>!`8d10 z7Mn`#h`(pZ>?ts++z%ta3imc6+_CwtyxF^HdDbHSHfZY6fEJu|J&t6|$I9sfXnOcU zM4YdA`nC)AwgT{qaLCJ8>b_&8oY;*Bc#7GJn#PBG><1^q{)E8dArx?My~RQHJ%ET+ z0PsEm)c|Z63gAuvJB9&h0ifH106GHrjey<&qK5-`0Kj$vasj+K0s)@}U;!+@cMy?z z97y3v1bjXKwF%`t4IpzAVl^RASJb{DDFI&`s!B2HLOD>nL8kJ7JVJ`A{#`NDQs!S$ zeKK7Rb^m9Wg9S3I-zjYUXvActe3yh%#4lHfeFK{5W~3)<9NV7B$I!M`wD4v$@+h;i zAjdEJ)r(w`ymEn@P?j%2M}S3xf{^GTw<x!+vc8pCld$iaAS6uL<4hVj%6%<964kc0 z;i)vQ08>P~9{uZoYLEW$uF*f9M}NMg3&9SQnynQiw;<+5{z^b$arpTXQ4cEzU`!5x zDgcT-oTM5*DwU&LoCP8xfwxz>!XNz-ODFu-NmaL!LhW2VTo8J&L{&;_g^BA{fM>WL zU_sAtw*sLV&UDRi9@h-#)iYdL&C3`S_w(3kn?6X@z@L%-TcJIU?&ooI3%u6jsMd%Z zO(P!4wN+1}-cNjJhHVAyZZKnr;N1mm6EN=q0I|6MjsmCyfXC7#sZy<%(ANUt>rrTl zVPNuDdY3SBh>5Xu9vD_9A?mTzoGB<pejl_cqwL|pdRmy=?CS-wo1LZjy)&g=GE(u} z|FR@%#iJtkDhGl>(fu=A`x`iR2n0HsI9v#Bqz}J;q{#nC=#U&>E6`T0$0T7<td^ya zWX=0Wk5<bnlhtQH??#4VgStgy#Qd`A?;MU)Wp<BIu&@Tak04pIUq9RYd5z|RJM)5} zV#X$^$O>Y^={~y3^cItfZ!OFUQh*nQ)`WUTaw8q;Ru_@jSKh0vUV`v$VW1#&%VG)C z<fcR-X!{(5DJm1?1Z#<CJr^xQXl+9@D_3Z7gAkCJ#-VaJpz|^X$J4vp8pQk*!LvoE zH_eauGxA4$f!jbk^Gpa(Sck&zio0V;p3v6`tumFk%_yAX5HbYpbRWR&2|){dONJk3 z1dYJh{o|AHIrl4udSA-ZBM~BB+Nkq6TH)!tsD!&=at}l+aHE`}Mv44RG|)i}`hq~f zGq6Dlxr%^v<}8XRK$`A@70=&8VWkScckm0$nB6Lpk9ey4q*8++Kq15wXg(-(dW-Tg zrsLJMPr|fW-1rlAajY6viyFUpW{p$R=xEkwMS!}hwn@Vo&3B!U5GY`yI9(A1e=QdL zgH>>s(0>;imiA446PkHT0J2&ht)Ls6Ec*wGWviI0M&=HepKWhbzyV<9A(!X?;iB@^ z7ec3vscO`12->ovK~46(FeW&;5OWlx4Cg{egIYg!0)`?^28|yjoU@^$LFv$bB5tFO z9;cRdVuO1ay&qjb<K-R!oBMBPZlimF$NwUw`naW(s&WK#G`+XBtcx-5XQjeD>r>L1 zw}M|^1G!W&;PE+?bmQ8Jy`jjjuq_+LisN8iYYY>OsiHAPin{YlXl#M;We*yc6O>vB z4eN0cqMm3j5rke|TMhf1getgF$Zs);yJeG&LNj*=Fc^LDe~th(qdr9*2@*UYGS`Ja z4temo(1Je-P!aBha==mc{ULlBMTn0i(wAv#C+mnrN&S}1G9ITYzWh3>*pWki3{~XI zw7}_goIeSt3(COhb)52(l90Z|r3C69tJn+lkJEPlu-Xcn-h4A3a>;&b%XYh#tbMR< z37g*YGpmS$Wo{bklGF}Ww^|CFua#sALY-E1eEWn_Rev!?qGpBY=0<+x2|lY#XwBg- zo`K9&RexidCnh7Mj>@*(&Wy20W6q4KK9f?)H$^f7IOkIA%nU3iZ<WwKzl<x80rQvR zSVue$`YuSvC=dhtfZchl!R?~SUx$U2Zir9tOvNfA(gu_bT!MJsG_ZaqV7hH;cOz^D zKBAw`=;s9e{6Igy(9ae6xkW$z#`uY&pR)8*iGHfnPd)l+il1Vw@v{Z)%{m53Hc@)w zCw8-?x)Eg{5LIkAe*1$okw}jMiEL@ab9E_$&<4t?Bm{m&px6e;EP%pNQh1GRY^UE> za9NW``+$^di4(f&o7zse4jvA95Bm-RVRU-e!ACJ?W{QAaP~_~&I!$dtLhmNHFPEZ; z31X%q!XL;1BeI%s9Puzv8wzo$h&Lzk7%*@!Eq*^2_99{TCw3=doBgGk=@6$4Aj52( zY3gdLtIaMoi;ei=#&hNyQ`g**zw-XftIblbHn>XTe*MbRl)qW!M1XiX-kdM-TH4sJ zKG24E3czsP5Gf{=439$68eIdP>F?UJRu@lreGI+$i^xPci+^QjXE<l)g-7k|4A<Ei zkproQMWp7<C@NI|se4I^4h5+iXHu8B04Zg?DgA+3Hkjhq?KK9X6jF>H<{asAJtA=; z9MjR?d)TK6G~Olb$=`a_Yg#Sfxn>Us<|o2_U?^UavDvj8ZM$VZ|J$ps+Uyx#I~ug! z?y7u?BwjzhqmL`36;;P4A4N?Pxh93Eosqxgr0)EhR{1fz^Ot9tCXb`@-x1LDvpfIj z6LxqrIJ}1;#M4663<<B=f@c98sZ5sY^n@*yDN?l{wX=xS;eSZ=htx5W;znrAZq=Jf zjc`Na&W+GnoV*TEY6R5Qe90AoIMh?<jSmQ&qF+nX-O)cLY>IwIn?2i(e(+~u4+>c{ z+okHhMzNmcqK^?erNL6BBMr9LrcxIPn^pyIj@wO*Zi2V6`c<(OpyEdUxzlJLT6=?X zEZI~Kq3SrdpkFnMvhi!e#@pE9S(thvs~R?b$86xo6P1mhA^hVY_|;jv{~TzK$bCTd zyThX8%8Vz$Z~iv;H7r_Te=sje-LbD6yjfwrn5h?-5xe2mD_`RgGg@}^dy-#IxbG>X zNzLY3LdJac6ok0Z`aQ*^Jqsb+9uz4LV(-l00nZ(yboQbLUqAuBkuDts*)N}U--K=q zF|@%DG4ena9eHY78gy|7>Q$UWe#+Kg&icjYLq8h~t*?oFL5!T_(x+)3#}PqnlA~Y1 z`p-Z#akYpdp!}z8X@TF#*1IlSlSzaZ=qYL1Lwg+VH^nL>^Rz%mqtXh!#M9^-v_c2I z26$wq=<w=@m*{W%oB(ZsgU7zXnr_Y}SQyF<(y7GJYv#a$jpKtEV+MxMf@u*Kpw|F; zI<O;HFB2ulWWHtxMib|Nh(P3kJk*gN$@05MzQB>!#LHT~5aiX4{3w>Mwg7?iN?c+o zCiv5V(*gq^fUde#D*QUGYJ3bE)EoGq<t}v4GOg9eqsQ+RDO#~8)0C8?RJzJK*vdGG zWOfjCYAxIXL@$ELfM>6Sk#;(`^kR;83AMI`K6Zrct2D?goVlX&JL+A0Ktqc<FVZOM zZQ;_rE^D*&Yuc<^?+fzPdc3^#sUW;A>nhdZV`}b^Ad&gKZu7Vp=o>0bstebnUO=Y< zb)nGifAF~F$cO~1P{b{YHvWwKn%~;PNCFQdk0b1<M?{R~017xw8!9b&ol=Pp`{-hf zEpS7dft`r&<x+}B?0_B5-2J9X%=Jx<H&l8a@ZKk3VGLVXNBDvD;E!e8S_pi@9fnFA z$9PBJ&4c*DP2vl_2(=ZL_~5ALTmlqk`sg*MB@l=jGGdHMoaLhp(Wk(ztg3+M?>C?F zO%;S@LwiK&!JEeT<-&^7(yH@!lKqLxx%59^EU~B%XQxXb@)fay5V2VmZ&UQVsMJQs z?h3XW{|xNDE^4=BeWDg<0D;K&U3PisYW%Y_2u(~M!6rBLd}(TBc|?KI-zwume9HvU zF+iSY7q859zC9pm{Rbk_o&40cpNh)+5*s6b$PaegYKh)(Qn&5Bernr7!ntj`u!XE= z?Y8a8_?y6+b6ZaEM`WTccOzMJTMqP7TN=;VZ8^wKZFwhfE2WyNEqe>1>!B}3#E%wY zS@E<q{Nyn#aUz%73uY3F3h7o12}I5kE7XcQ+TTkADB5?zW|3%LaR=Bo?*zC(2|K{r z%SvbZAn9jXd<}Catd-2zfLLn+ZvQ0C=9$vp{zFg&rm5D3Tla_h9G-Ul{nC*BPg-=~ zi%RL$4oCsposO6q`Op4nH&cN%yO^P-p!%Nhmm#&1)zcOM@7NxuSFzUngmbg4X8f_| zlT>so9JQCYp5@KFF0s_~Z_3QP1*IfzwpRZSTaNLdUxa)N5xtKA>$n)#J)Z*b1p!L{ zlv@H|4S+`ocoo2x0L;Ydx?O2WG#|Do?zvb1WD33Y<8;ZIX_#wbU$@i`kkakCpB=5R z6a^DQx1}ad1~GDq*l_gC=6C7A`PJ@tLxfA~f_f=)kkF~!f(RV9@u$xC-ichYR*Mkz zEAth}6SCBbHMFI}uGGBWw)C?-D_bXpO=G!lnE2;p%eS|es8as72J!!u2a8P9(8zCa z#%@(j-G_SW&Ub+a)?C=tt@t}@1@nRP!1@Q{-x1CO>qW*VzF>F868?xB6w&P`JG$}Q zYwli-=n_LmH$)5;iuWy{K@mo8iTu$Oaqc}4yP>+sv00LBzD+iXp>1kn$rWg^%`Saj z8bw@y*iq77*AtoV@za8{Jw$yuEp$^l!OL;Fnx5-==-u^cSF2f9T!>lUWg!u9<wjrs zZ&p(GiC;7Zu$VL2st&JzhdwlfI&{(-)I^J5sv_NcPaHD9XQ&t9Z1oqUC`z5i8wDX_ zv+Z&ngVnD{S-g5l*;oP@u#xXrWV88?oebD$UXL`?1+xFA=ump7ln!^I@aA4}X*%n4 z|Jlx(=H4<fhH6p(oonI-=`^m|G8D~3NOL7){IZyAT;dMhODWimZT3|=t5e&!*sK|} zHC5WVGq_Z7*dS+miC7mIp^f|#<k(xw9Ep-I;x0+k7GdfU5#0j+p?wf?9+sPDJobcA z6Cmf?C^B@h3=<f3OsB<PRehn&qa|S4B+F1)(|H)HB^AwZd{}lCYo1X9A0!FdEbW8s z@Qafa;rqW*>L&20TpT5pHG}zguLMq8t*pn`;&k8<r{U)VFvJ<1HHQVafe|@G%0pOa z5K(5P5U6>lLjw%G5$__533+<NqxBk}<ftkgi!fEzb-v?f)I5htgO>0hkh>+9Z$#y; zn?tYrR7rOGhDmPwH*bQ{Uwl8$Pb<i*zcsvMDd3w7$I<32>z1a|*q^2NWDx%w=xkYr zhi2pEG*xG{^px@sIt*e>CMq>>?NyNPHjF38pHCARp~px{o;e<ZZ`5X(?38>B&7RfH zcp(OGoz3t~;6?2Lw`aP_sQ8w_Z;Bgd9J3?&sH>7oqaZfQ2$>qC>1-;8VLw-Ygu&H! z!ErgGa#hx7mQnR?VcN`^&rKJ*jXG@O-;jhXKA#)>IND7o#M9i4kFP>PG^mK0EMWW! z;hXlLHhDZ*uUidydK66X9&0dja;rRJJ+oZlV+qrz#Zs1y57#TfOca~7!P@vMrq1_4 z53I#y%C`XAPryq64g!cFF>fKTD(f&~o&>OffHMGoCEyZ(C)NW{h}CNw07L?)x-m&T zP#QoiWy(P*QoV^Ht9X)rL6H+c-wdg+;Q-2S0?;48d;+=vxJf`80KHxU&;-Ci04gB~ zP<n)}L0M!n{SAaYZxD<oFQY?d3U}0XeZ&^ux}n1^_05@BN|gyBlS2+Q@LV8=-UPiL z41{e0@Eidv030CT834v+nt~u7*b6N1DSo^s@N*~VX1>^K8j0s0V2lc*oAbPH^Zn%F z5{GVlGY1{<LE*hM->;(46x2iYwSL<1?G$d`E2gT=Tv`M`o9e^+2Gbj<gFzj(qsxFk ze)ThZ1j6VvlDQb6V&nC45Dx&m*iYH)(=z$sRlFMLvG{YwwrpDyz9mVcQo$eoqu_zU z{pM+${D{=n1576jCKzWrBMSJh2P#5oNmcRZ8b(jk-vo!&NS%43`L;MnL-ZZm3<rQe z>1w5lf5&H8m~aAkqb<E_eHxAm&`w5v?+Y^F2z4QviccyP-1`c;2z9CS?yN<hK8mI; znBJrQFWAE4U|0RA&h(!3X~rJ{d2_i8kfT4r@t01;^zoN9Wx}EA@n@8Fig3pmJpbpo zugoJtr|~5KFZH-=?|;y`%KTnLuAB>~pd*3<Z>7$(RBb49EOM;9LgzKzCxYxlx!N}7 zpC2#>_891)Iq-Ag+gI(4{G~8eJST?)j_oki98|UX*CNGhfVBPHFrTASK;3589ni@C z3F>?(EF@^X@gC{_A^LR1u=-U&cyW+cx{0A0Mfpdft+FM7b*f?GmEY`l7&~w;Zcl27 z<SjB33f>oZYEMxMU5>=ao-r1?buwx^2^+kBiE9%^6N10OM|gZr;FKwbifbE2g8n2I zOzWk%R!mowHlKG8<07o_a~{I||7y8ZpaU!fdeYDR^z$(NOu>&*oyb)?I=tKj(a68` z2gamjU@byzz3Tv6BVa3lgjWIV0??Fz0{~_Lh*vdr2#Z6X{+@<~|13APxJWx!Y4(1T z%xcI&9xdra7PFd2(H+pWut!WBG1N-Pd|R)hApHjT)B%>!SG0S(=-&$+nVOm_bf@HE zrR)_`+RK=E<7#jV*kZ%kD+)>BMM*M|*nwJmXpb6KE36Nst`N>`TbnIZe+^sqN2Rn+ zaHreKb0OwhL8xvsU|Q<7)g@!?6@)ALi6B(b*I9upn);2<oeFvEs~{?E?8}Bq*vc#C z*et!eO>`<$^%6SWIO4w?W~hO17f0qKykV{#snjxHsntcrvD_rIq}@0khlf7It1sJu zeTFt|<j=XxmWBT{Y~hnmf~9RuQdP%IP!&d)RUvQY^{+bKh4qLUJZzk*Fp`<Mkc}EK zYOsy(0PZ>36$g}RevQ`=;wrUt;`RF#H+h=~a;G;;eS`YZ@RQeuhPJ%^xP<8vy~<oY zPd(|<iihv4mC0H?l(|E=G!NBfE@rXjb||buVb5NM@wrWH?aV|VeOPvYHC|ouS5@Y0 zVNo<E=|Tb?C!*GJVbchzMt+3nW-2V@@U9jHHZ=Ta<X66;!>jp&5d;da#$EsxHAYp) zXWcIe8*O71-atS7Sj<u9r@sJ<@ru2|YF4=mLdy4&NKuX;8nik`IPf2axwNOt7^*@` zPVy5XSAuO(HyJI?wG6w4+b8$KTIz2i<m6Gd9Xyp*{dJs|AI}Fq*OGKA=h!-`ZGlf` zgfE9JvylkV@zL*sEzYUb4n>o7YaORwf4vYLzd7%}vPJA+r;yQC5zP_A@6y6hM^Q-h zmR}5&+QRU6M|eDHU~QJI{+OuJp4FNo2xr|IK`z&fP~Bh-PKEST>K<V`_3sj@e@vpO zs!!n_S}0-_9M=w!Yom!js;!~gZ<7Ut$Ugx*^|zw7dpWjKo;Zd#a6Q^KFG+e_mmv&P zb&sKT!a{M{|A<trH&J<7)z`3C3m*`S-gL-?wuwI3-wbgxJwH_d8pguYpzNWq@73_} zF6~3$5$Y}6A-X0RR-+^f7JmzSLQlHxDAd(*QQ`O`A=sJp3bdl>MrMsT)-vvmtXo9K zEY?boX>`E%hmhCFfNNQmgwgONQ=QffD#dIi^ky+W6^md{>9pRZVSv`gdD*l!rU9b| zZel1iSLCVXYHIm_=TSSt)@4a-UiH`&aF(lsY&n&7r7!AHnd{M5DiLbswN9&4=2mHo z_@wp{F(+qcIo3KX#@sma94&=vA-qO@iNEA(%gA#pA2rkr=+_)GHb;&8g=8)PEi<X6 zi4{1Z<KG5K``nSg5gPpt&>9&3M_!<XN>4)Pgh80mHwZnp3&M=v1X^>LAidtjWix8; zkugSm&(^vn>@N544czt|sYZJES*&dk^^Fse;!PqX?zouQ9~D>zSssB#hI1G7ZAX4A zakVw}B6znIlKULV2$sws$>}c1aU{7Ll4bscO}Z;OGL|KCAsIsqT~LS^d{ESV(4cfc zVUe%9Oj6-0-lh~I41c2>`*Cc41MDXj72@<AsRfK~k^5a%$x&r~B<b~cY=oN6<<tJC zqaJUR^_j4riojPYes{^fW6NH+$Cka}mJO3otNsz{8>v?=R_UdM-tbDe@+}d>$*}p7 zVbl@maYB8yKBWQ%ikjDWZn%H|8u@=9-LP%|?cK+4<O^yZJ103(eJu8p-o{Pk8|Igg z3flsDrybbCt_JWW0ZRc?+=<2@G4FO@dBD6M0Qi7_&jI{Rz&8Nu>;mvJfGGeHE(3^b zqw~z3y>_D%?-ek%LPGh@xGJvuHo}~0D>*d{O${l3?lx7Uqh4B!=fEQ)f8pP#-S9_< z7&vUIFJad+1ebOi9p}Ri@7oRh{5#kke8o!ZfJY5ejZQGvvj<~d0qoodD^bJ7s7Bwi z)Bw<x*-o6NW*G+o_7F48ElCW=zizp9KT3P#GZYog(YM7CP$&8`^1rctjW)j?X{g8d zVBjcQM-Qxyu|>|nk+uVeHa3b0r^+r6UrMnlGFJVjR6HiU!6-xRAY<!9$}zSp!S<}) z(K&|7=;a|}g&eu-Mij0AO&DZTufT$5#zyRm`mj{YUJg}8Uk_g+dtc_7jQbeJ*jtq@ zAZ7Fuv<*L6m(ibfXYPlszzWzJ;JJi#<N6PPzt$A^K)za6_z`TQ<UxFC?%t2l4C)<x z0T6ZK9-r|(n>hkTWTr%j!jE2ogPb7QTSd{4JQ+jSe8d45$N@R!7TOVZCwN9<bbJJ4 zv@hr#LDz<-v*9h^L{_S&LvI_7uP=lOD24u>aI|t+>qpXRS5&L35aP6wde_k!$y$L= zpf#k3mf5|X?ioQ`@;D9+?F6r3vz0kQxU1${>gw&>Hp-kT+!fG`K_H|8<}*UCTF+9c zF8W(Sr>D=FF&)pHO;f(E?X?e1y5u{#7hkik4o)ShRUY(o1lMz|s#C4nh>#t@a+Fh( zq^jCBn*3SMaVSS|sx9WO(GkkNB_c;p5TV`y&ur&<k@dYKGB4L++G<l3@5K;=0&Wjg zig2U4;2Wa1a}lcg!kyXKQjHuguBix}LUNy``^RB_pX^VnOpSo>m^bbYg=dPE33!|k zS+ylEX*FTJC6Qo<zY}CL9Dc(o)Nb2L!d(J~Kfj#|hYg9!7jXET!&O$U(5V15>Ni|n z&sc04X$K!dub#x$cypvRb-U3J(aVg|*I7hjG{UZXyw=zRJawX|(RhN$>ODifnRtpn zL(d|G=s!mOEU!IUXzCBpjZk=^BN+@&=Y8<!Pj1^i2kl|xFUBJe>0v})%KrcuFIhA6 z<$O=xThsJ7qA%%V8K=h)rF-0AdmJ&iqo4fD9!E?bcKUol<H%5z;o*U#^bt5!0H+#z zqLhC$F4knEdO9G3J!eM4!8C>|e3^t%q1JXh>jEjA)1A1qq2NR|u3uzSSR;|Qd%`kD zE67^QNo%JF**(GBBVnbaeFqv&(o&6;c~sbxwa46SUdNshE@kZnhpWuJ9dt%g*7^~5 z$yDDD_k=PP1-Y_RahLo|ywg(Xl3hK+q3-UIdr%AC1(Ex=E_q0Jlz>)s2@>yq(;n%B z;Ev@aT+mUM5lX^uP!M126Nw*CkWNCaQSK;`aEYi<#)guxQFGYc!&#Jr<}&gJ`0OOq z)Nat#*|e8$2+`FEo|J5~2j=<=jnq1ZRH4n2;9micD1g}u79v59g=g&NqUs+<j<xQO zD1Bg3?o1<`9$d)y(433T_YH9KD{+{bcQFh&&C3@qE(n)eciZh;T%d@}4z=PJw{iW= zly9tX|7B3-w(NSRj;+&{7tID?x3^{5S7^&zk^7gnj5v*IpCKi#_GzwmJ1FUDf6LWg zM>tpeJFa%66R7rlF-jxb(=c#*wO0$5Mz)u4=c3y03zw4j6F1ir{`W2A3u~b3^)L0d zo|BmH=(<Y~nj4EFAzVJ7l#{OTHPqaI=S63!jOVFQm{mu7;biXQMy3m*Gy97Vkp`nU zvoDC@P-edk^E$J&#BfANXST-I08hOxYSaxvnO$iZhNcZ1_oN+^*=E4bY)w4{U7gCC z?9ArYUn)^@TK^rhzW?^tpLi0j|CY%8OY56;J85mo&Mr_61#mo8y{&{x&6K0LbcGj} zd6n5)c+^JEX<lfop?wJLS|*7QH`WS4sIhhzEz6o9UUD-mawGc$;jQ{%K`5_ob5^Cb zoQgmW;|AIyMTHuu7lNuANK51+GP;2@egt^x+oDFT=`>KK>pAG}#o4YgBRona@#;kr z{5;#mGt<ut=8_D@VXP^opM|1}G8v^A=C|-O%4nGTTUnMa9SgH@bdx@#iB`vQHp8OT zavaTQO)V<dAHNWeG_z<RDs2#fuCZivVhvSFW34p?l$YG)_>t$*H67^&nqRuPL%CBZ zqe0=)s`JU~r3X0@wQnn-mQw;3Us+I9g<kMq2qpd)phu<k_rbd-nSEMXEzSeq@n_`U z7j3tPmWck^ZV!#O1|Ca|c1~2Y(Kj;YS=rF5^$_SWMDUIWboVK2H6H^ooq(qSoCJ`( z1OR5x<Td<%8}F<5f5bO<Wt)Os0Oc1VqwuM1AghQ<0VxD^c?77ffLsGLfr3!Akxrws z+IKaFBnE>~<1}XbX2PXpoD2z{El!WP(xgn+3yM(#sGYbBLb`Q<bRykxMRXI&fnyWP zNO9Llr6L$(NaabF3hjW*QVq3tH2ai9jmQsuU5t8gQ{htou6r9d4-3qW!lkuEdxxvc z;X*%z*I@=}I(7L+g-m;jNg|Fa`v!<l&T#!sXpH5U6x)H=*FyELMxie60eK#E@g4$j z5J2)V0N6x&zsLU<KuDnMzN4|OSaFGiB3%=V`@cmTGKH(h0HqRsgYLsZj1`qSq;d(2 z*`)Gl5fyWj_)Yt+P7u94biWCghO1GxaVd04jM2VpmcvzMywE8|D};`AGM^JVWyM=e z*O%nYjlxKr;a4ZLf|0KG2Q-ROd_NQsC%(?cLoexeil_FfG^4Lo7u}@9Ce+$@QkefT z`dgKyL3zx5M+6DM(0xV<<;gE)Rk~8Gp5g0d)6tGb{&~Cq5*6?B9YR^2hIrJo)pJHG z=(qR|`1q61T1016sfoa?-(`HIn_`Uvo%Pg1wJL-)L_gqJYwtRJRukR)&NbOB-`dwN z(vD$6e|IVNCRVK6g)->R$iF)V(`U|@Q6$j~A6I(?C5J!vfnjU>3EbDxRX7*C!7f;( z)qBrS?QZgGff3?FHEkT$H<R^Y50F5qv*D`s_erX86_KKvECrtpzHS>#tuO371NrKy zfl#JByTDZK6+gphv+XMlM*g2%#uyTqzr;`*P)2H3R~c;oZQH(Tn)<M*x^CcbY~jXv zE)Gu8Ghssg4i@<N1;M-gfW{g86uzpq$ykFMr`v!>pQ!^YFR>N6c`)G@uwNFm4L_9G zbu**!|AX{+Txjn4im)>yPNUq#v9g8gx{K+XA*al>5^4JC=f{wM^R%x-h6g-<8M;aN z`aQ1P<N7@=c)TMT2R{p_Gg?EQY@reDw5#Q!P)`oVE(wN=w`Qq(L%G%PUxZxW0JVBc zWGT_jM_geZZ7c2#S$8S=wur3rs$QnjkH^3ZPdJhYZyDeYOployjU;jDPA8R07sC{I z?FdWczhkJw6j!=`)nm5YzsfvYlcmkZqD*(G{<7V&xhl20tGXPI51r&lYd0DOTk+GB z+r{C=jtfiSLh<o<c%zl~JUj^h(e|K?SKmSFZ+mb;bjgFM(Bfiju1dY?idzv6GTJ5J zCImXO@jCR9MvqcG2N+j+nK%*S$RUFeW*)npS*q505b%%#DcRO_G^mqzD;}l7_JP#` zE+<emN@eKrB1S6Lh$P6y8c3v87Opdde&IwY)z)-)ha6sq_pZUi_2ghIJ*JueI;^H+ z<Jfckj$MX21=EdZyMn(MY_7i3J5%cwEje^iw^7<BhRS@0>)&6VO4;tTO|2404|)y{ z67(Lyy+6_2_W>$%yHPAm(KAL<J;&ZrDsu-Lm<P6bQ>>h-j!X5>r~WV=zx;Wp#He^S zuD3JY&M8%9UVy4*yI9I8`w8gcJ^}dSAHuu4FrC_7>Om3UDt;B}6&CI>S4zT@R1@&P zWcosWCMuKT^{X}{w7+4<v+->_ZS^e6v_Au%mrDFTY3)~^vCsO6($sCja7qka`_Jfg z-cWQ8%!rT2I+z~$X<eZT5&XH0P1U+$6{4#uSU}@=VOf%zDrE$iZH^Qt!5sGQ44C}H zkWkmdBR(`m@T<UMsS@vtGX+p<bF}zZ(2F5B@E4fLexMk;g5QbMa^MIO$G(eE2S@*P z(E}3IWrt=4Jm1)P<{K=*btb#r&h<}aJuFN;6JPF&j}aOCG}UPx;*w}9-1Pu)=nBlg zKO@F;=eI)`3w;YbB6c^Ho{;lQoDW8T8FkJ=a4rVm4&jVX1|E?E!5k8#wS9*eX6y$e z@>_9&YDFtrbD|KUJA|uQ&;Wzhh))Xn?YqL&3QZ>Y)Hj9hH0JkC`sim8>8T;BhlJ_p zrg-J)NmtA`<IdXgQYn=e!M&IHar^?fj2o$?B?>S5?|9Kre^F%$!8u+Em6>}C(yz1h z&*yOIXQb-zhM(?a^f(V}n2o&%ETYyPeAa}NcJ{`}*SlEhEEw@knxd=V&%TfNJPC1_ z_OMXWF9_2;B1B=r(oI=Igg`Y?W|Uxb8)*mhNo)$DW7~G3bJ3}4<5R9MT+=!Mk8?98 z_0OV#4UKFmv!|incSTUT_eZsi{9qZ0(p?cTco((>T#i@(&X0(mj#68euJx;q%iR$a zr4_&;E<kJtiE&&yvDgtX;^!5K%PS<rak-a;B7Q?$mKTjnMpxY-I4)Ls!6+`NqXcn+ zaWfPQ)5Wt;8P1E)U~Bv0s9tqcQ^viAU~Gt_U?jaq!AMF#Fmgr_ap6jQQwM&|Gw8|q z4hJG5vLW)nvUXIquv(1^=rKEn!HmY=2Tr;4Y9vLe&+j^B8e0e~{ul8!krM~68pC59 zzqi@o2?$w#iV#O4zE(FK7hC0qqq3J(Zjwq<5n`2y({S}3a+PkHcld<G>i&WIw8YRY z5h4aZm6m7%4aw5Tb46N5#oLtP;`wUF{z10?AnYd=72=!b9khVaH}Wr+RU|pm|D;rv znt8jF4~|tv>ch=HUJ$1ZE$5-Q#;>`W-;3re()`<{L`OB${2e?GqTS|F>&Nb;)}IUY zbQ(72#^f97Db%Mty_V2n0f`vdjn})}7-bjb%-z1~G$rHDDJsVCGUcm>&<+=Q)tAX- zU877JGZ?9M(O9_^fw-ts<+9NMCY}W5>FLLt16Nt+2ykns6i>rzYX72zm30bBn_3G_ zALi#%E{KkOp~A?|N~D5O?qPG*3x=wF2@`pE_s~?t@e78G6;Fq;3jAK0U1n%ovXG2X z#41?t+-s@_$=I}_o>g;<rL<9~(lFlR<Zu|`%87wtzP@V>wF(9rXSlri5(ThFjcg;0 z7r5+Sw%N^XcIpZjn>EvImP$Ll9IfDuq2|n#La-3!KU{vYUGc_@Di%=9FQYEKU9PY( zr?pku5v<EP{K>`^h**YW>|@*5pD|6ko9Yo5YrNBCY%}<`8%#auVlyi%<aoUsh}(0q z<hWhGnoe2u%Oi$ZLqlNPYD1l*vUa(mP!@bP7#b80x!BBdwx%kj9~NUB9*d*03b>8J zDo7hW7WWKJ`)YbcXX>0d%GCY9_z8**PqIqIt2E0(?`xFmId?z&ewrCQz=)5{)LkT2 zod1Y~cw%^lg+72#WReKMF;89(tZRKI#9bN;K;?D8&k`;kAZ)u%*Sp(^T}s1&hPrn! z_lDT_shiJA!UB)Bx}ZL`#ZWg<X!z2ANjTlX$-IsLj_ncZ5@Qhnj#Aks_U05j)upGC zxfWPT2RsMm5E9k6hj>q}Z2nipd&IXQiua2mJ&<_NRt(vl;j$Zs8vN6t+w9ujsm4#c z?55a?A$Got-O^^;rc~-~SFv1Vw&OiwV9Rk;Y@67$y8@yby<6K<nfrK0k|g^LEPQnA z^3S43y`|a5Tbefz{Nl8w*=Ia?P^n*mrlyJ(ZDHVp>+x0E#$d2(G-@-7ILk%Y4*%*D zQ5Z!2(xnfPNWFpf=3UfTE;1K*w6{7eoR@9Xf~lO+nfkD(UEuSru*_e%gv-DqGLcF% zVVJWw^ExxC{fX?I(_E)G9OdUx%mG56v|A1hy#d4H%R;xhhpG3Nu1`I*pI#h?S#YJu z@H)RyH|#Gn4{%YnBqZTZE$dXY19^aJbq}23Kpx;g&H|d+=>Hl>Eblw!{B5ZC-}ykw z9Nk%xVKxQ@3w1Z_aPWXruYC9~y#<ZG7|>hL={k1tm)J;yzmt@oo=+4!cHSM~DmGg0 zItx%jycJ%u61L?VK)(p#uonPSxrwC;alLN<>j%uND>`3q#vv)Fst&KdxTCYc*Em+2 ztwc}9a`fq{OWw69#K(Dm^eT+P-~_uVs1>(dd>EgpIRiz+R{X?Ny`-4zeQ+%-yaeRJ zYJmPbc|^p(TfhQ)@RQjdKR04@nZ-T^vK#!Hs7&B<APFb&^MIJM^L-_8e+MIA9K=Xd z%!l7v`z`f8(PM#BD}$dcpaja3fC}0L9D@W^3Rz(el#0f^XQ~S!x^+&nWgqA`(pJij z%+l|!K~t&7?II(#l<5^Q>LppIE*Nq#4zE*9#aW$F7+(u36m1IeL@mtE+S+e<=pb8P zi&+1|7CL8>xp>)U5pRet2%{qTf<J6OQjlMCmn`vlmgsN``9=4~5*PD!Yzc6F6;bg2 z5r10&ULju0M=9WIXDYSWUAoUvA3&Q2Jj){Oftt^Rf?K*yJ@6mi8|#VxI>WOJ^6V)t z*EVs7b_|{!a6FsuUlQw4Q&3VkJt3VqpFR7CaQ5_R#^a5kc&hOMz_q7Ov!^cu_cbc& zX&+}e{l9uTV>djl!k$i-nJKgYc%m|5*l+?otI8$apprSJ8gFIVo>yg07ZT2%S7ZDX za2;cfSM}JQS7UqQf%`T}u}+M;{J(iV3xQ62jhB4Qr1Bxpo2A;GZ{<Tyj#0_%`Bopr zJlSh|zSTz?svN@E^Vb>2C#l7Ajr%Rz^Viv4SKz*3MPuIk|H<=8x3CXMpA<!_9AhjT zEjeQ^E@e%MqG7M(iVDmOFNy0*VN(H5iJChHl9h(81JXXK4{3c$S}P|oVd_fUxupk8 z((hqr934iR-Z^TZfdlNVMYsUgC2B4{kM5`HrFV@Yd4KsV2UaQT@NRtif+)W7_yH|s zVrn3I<99$rQ@2s=*~ta$<k~RccOC^lk89D$A5_tOyTZydQ4~!Nj?MNITmoO?RRclg zVRxU6Dp_5rT*BX42G^eBQZEyphqt8D7e&#rS)K^s)ECpAXZ~W~{LoPPV#a$$qP*W* zLw*TYncmOzbKsV;Kh4MDl3n`Is8~vaU6Nm!s9Jh{RJke`dHaC=G>n901NaF*3~{|f zfpv@yD)SrBxzfi_*VFU>nTw$>EK83E&JC{9a_tN=0SyFbn}{v2v=4>wi}2|$afKF> z(Pll%gRj&thDY^=0F9J<IJSPhl<&WpT||gZFwS*^l-XD43qA}}bA>(`L-sJ2{HhS$ z`mBZal#WI6eJuzX)um$Id_}UiE<1$}dsmH8(Sb<_+;<Yx1=GwOBDBuLmlz;G+WfY? z2j{oraWY{W%l#_ou$Aw7q0{-8S_OeoAL2W(5aRhU{R+3FFD9rW8;W}*i74Z`7$gfw zlCCnOUuVgxkc=UQRu2&)2f5UFE{dg2HBG4fp^|<ws!laD`%KU~kR2ih76MCNjvsmr zHhCih1=GCS0Bnbl_dNhsY*5`f8a>H2w}8w&991G4j1pt$XEA;v_k?`#=3SeLlkK~B z#w$MHK9k}be?tT+5r)6H@JCng8?N3CSV{D>)QwhF%SctVz(p#iv<TRd!f6WdXMc4( zO~E6;Zf-gMi`4ZrT#lR%ikiJUN`Eh^ICS{XRdjJ0QcA|5%h9*7fIp5Aq7mWMA7z}5 zmL`5=jZpFYY!0U{FO<2M>B82Pfa;;B$wi9kTcntcMT$8{#mos6W9BB&QjEF@-ZsE( zE;C1%^t`|lSVt(dFVnz0EKExDS2Yv5%J+?nPO$?`nU-{&SGM`o|3sLdW}x9q1<MNi zddQA7M)I20EKOz#(qz5>=2`)$_*!?^JzSY(rSWNs8_0AlB?bnZr9{9p(?R%k3bUPP zL{tmM0Uz2Dt<c5_o%V7|G#$4IOIFqiW7=89^>;bY-c|pPT=f1zr+Wcsm=4Ewo!9$M z)nt{hn`{!mx7TIJ4rHT6Pou4^XqrEAWKq{hGT6v})0s=OMA>3UtmQ2+%!Ehdbzn6a zc)YD<FK3^G5+AS(p@BcEe;lw3G9QZDxIoGqz09jtK?y!#9PX-8HwuGhO1+F%9q;df z(WGAt&AUk-(L7hH7B+ALMn6DQ^8PFM5}wf!zV(Zt4SVO}@RjaWrw?HMS;D8{4tV-N z#z&R_PVe@n4~n6AuUb5CdUi2=FzXKj9+8cry4OT+qstNLxvXfGM4Atm$%Nua!(Mz9 zA=usYDMxE6YqcY-hDEh9i)d|iw1#LWp{30I5|7d~BGf04umfeD5eCiqKWGMdWBTLt z1|%jwN&O}CaY@Ro>Y|rG{Mh>><+Gi4ZY$;4X{1JGZ^J#aWyL7)6UEzSodoGun|9H} zrz=Bw@V5A<v116|d(KcF1LqL8exVqJxMZoIsycR{YQ3DraU+Z$7ihhLtxpD*Kbp8x zidlf*w|=SEPjHk+J6NUB?gZp`v;$5@OvjZ5PDe}wrz57@16T21i;+0-H42_`E4F@> z3m-*N<}#6@M6V7Bi7X9U<H3GI*mRzBOU<VES|^0g=N5*w(qkrX$J2J9-mS|Nr|L%u z<9jDuJJPW>EBP*5EyMQ~7s83~A+2#EvP^M0Fy<6++-7Q>P@KYjZy8kVS>$r-M7B2$ z_#Me-p?yd3La`mO8$p^6vz{enwj!I|1;O~4B7wCi|CJ{pO5@g5SSX<^5;9+eoHTw} z2&F}<i=$PUwVIOF-XdDT2Zb;a(qt<1WtM5eq28(sL2P}KRh{H<sv;uUQuq{MtFs`y z?)g@bdl5-$kIC?;-X9p<!o41f&IKL?{B;pg>gAx)C@=v2h2Qfc<8gQ)atm<&#Bz8E z*5Z|Gc)XTPz)G|erk?PU9$L8~A7f`JkNQp~kED++6<*OZybc1_K4fwu)I96o<sxX+ ze-L=&CDB10`6~i^?=vDB78a2@#XY<dm-;)2hxO9SNjvTl(;>MNl6-3<ygW<db=dgU zI=5^&bC;AuJ^m=<!Qe5|JT8pqzrm@Int@c+iLA#^bS77#HY#%wBib!qztj?MLf4Ik zQ&@Qup(RQrBCNcLxW$`@4!~0ziJBg!i(Y|4jVm2pfil)bQ?E7l!DJFWx(Wh?Er}OB znyI%p8<`$AVqmUH-xR&GH?}%!2Vy*ai4D*rr|B<8KR}6@a<mM_?fpD!Z9(LW{B?~m z5V7_BY-J`K<ky}dMMF<&IlBTMFyE*EoOeMVL{l~;1CKt0L&(xUiY8k)Zgu=|V^cQ# z|CozchTa4nh^9@@O%mr#(<jWuDs;S`H%)?b><+Sn3BjP!8=OO2l%F?0pNig9RHQJP z((g&g>5bE2*83c|-Z*{6__T`X{u$|zkBAu~P05?22W3=0jYy<_5k05AY?9u90&kL1 zDq-17+yHHo%F)Ki)@exL#2<F5!%5HA*HHT*o^S)eSbMtAGO8UU0x|a)Do_GHs$nzy z&MP7l=tBIS#8<wIVtO9>$CeAsa-IwL`iBTaNeSt{L|;H5dU3m-L-as0!orK&{n2+L zZ{`xti`)ItiD(MqM~)Rc=ni^8$?tm8rM*}x<~d;}9YBQsiXL|7?L}-ZQpDdyil~zk zRKc}kqcfDLJL*p(VK#^?*(TIU`EyM)N2plpLyt&1^{0Yk@zy0mJO}iJuoyN4zzF~` z#PvQ0EV*(}CBFy&$NY}>z6{_cqP)$Ng7LBEzr_oRVsZ<ad?oq^xKrXgNR=p?il5H- zQIR`D27cl@N#kip!)HQu!mxzPUi1PqrpWH%x4ns+4Da+NvRDjtSv)y3-n?IgXcO5H z0#4Q0urjCFmB%jf0f(=AbA@j2B5Bngze|YasC@jr1_iyeO6KLxY<M4e(zb{o)0Qye zG-~<>N%D>|l_fVpGKLshJw%MW=~Ab5Q0AL<iefbs-q4<hlvyZr69+lebm)i`^=8_$ z(4zgU2+=ONwIig=D?+FG^$XFhWJwdgGP>PPODI1sLI{MFF6~qLUOWzTk07-8+QLFu z$2$u!tEaGOQZ(&;PkV$TVsHw+?O`WHlP5*mx-0-qtY&pPCh#K?qZ>6M)XY{wCv(Xz z`gWo7o`>mhX{fW!!L2R#o`?Dx9Ti6BYmwEnqRsmsv5J;3W83O}!uuahhgEz3W2Fn5 zDypi`IR7Su_$7f`s?nAG7@O;I+ZReyt5NIX&&Y4l*dG1s#?ahy2-%^hD~;cghB1TJ z`t^COKM%P1otU9Tau5b6C~!0NPodL<1sYASNCvt>L>IC#t<}Rz-!LCW^G56^H2WlE zV7e@G4^z_;@gN-Rho`(?kQCwGs=yyy2>xSX=Rd$#jezsbqwpu#${E6k4^rW?!pPL< zYBUr43H3S5K1BG~mcSQ<(M-{$I*E^hyvEzzfti7hX$apJR;9OIS;Ws2Ad+K*b0nJJ z0k{i~!iP0{mXZIi;V`IS-$D`o4try#hx0Jeq_52K=Fb99t7O9%Itm6@Gh9@O{6L7@ zSjd!G)0oWXE(Grt`tzE`qczM}_X~Xm@-;YBknJLb`!rluCrJ_NDkpSV0naGOOBGxy z>`N}&REgjoVMHOgsGgo8s3U&j&bb=?kFe%Qnb#Ue9&R_Obu+nj>o!H}(&_S`UVj1K zF+#Y*uPtS%@6Q_Q^%~eI=0J2a%tuo*XYDpA4Y8m!Uns7pKuXbPbn&t-%k|S3gKdWO zipWsit*_iJnN5WC>?3})U)23Il-XA3^v2b9u3AwjKNcPjK}TE$e5eSuE*UuQqF1o# z)s>G=;78S|K$h)?bzF__QTcgZ3W+f^6PK^o%t0mR@wo^3V9uw!p@TW+d+B6Kth#ZM zq_-+`;)adDp^*&w4ZI|kwa`mx?C&-T@G~0rv_%omd7oJh`hqyXi}<t!{|~RCq~|pp zOa*<hh8JQ{m$gL05d#1()$psQAhS%vt-b=B&u;tY)dBp1hA(vnyj;WQT`;%t3NM|# z>Hn||Y!+xcwKD*}sNtAbpu5sL7b{zT%AcUG(lC9YHEXrD$w!Q?(J&t|x>nmPi2!D; z^R6BR-74{@`+6^3sqi1gL(W+nv`k!C$ZXVbeT;coo3x#4nXvzohR+fGWes~ag1%Y9 zd=%;{+RrrPU)B~4^HHd;YB=|6&|l-0^S7W_ZPjqi*`UAa{TA_W9!vr~*DBo(P3@;i zH)}k<ouywL69nID)x2?To<`8-^=_<#k<vVV6>v8y(FWa!&mS!vMhQ~6CS5I{18K|f zIa9@Jp<D6!qh%Stzc%nqd*D_AAFy`;xITYW<CD^{2Iuof%Y{+eV7W3SmilUoKIP#6 zj;uhjS#`tKwZ@{WFX&-)u;}Up;9~-^0357~RRoE7hXLDN4;PNd0Enm$U>bm71k45S z?44MKJrBT>S2)GH3c#iYV7&sMd_%C_W!8ns$saIqZL;@s09U~Begj}aBgmX%*2&4q zR~a}x+3RT*rM>{m8v|fvV*m*Nnl=HD3g9dObpVXbfO<0kbn`X29RsJQdb<NC(G)U+ z0HimA%qV94Fxfi^!1PS8W&tSI9KbUGh7hm<K##j1ya|9O@66=nHyJoT*}E4&y%v!9 z6u=DvP5{`|62MOY8f5{v2q2$;TL7*R5P>Xts}&5E0ss%EJWvS$AIqB1U$;c;A+*F@ z)|+>s5$IUf6|K<#bS!I38vt}H>ofxBSk~VNpkrCvwFN-OvhD<+_)yiQVlIcw-D9<E z0dsVy>K%7Olnzy$OaL9Kx{m-lRJBq&v@ppRIaKvg(9OMKj}BE$fiaB7xB)N;H(mbM z0o@0G#Gz4|4^*}CwoiT*!;UIO9b*fOPKA=UJ&=<ySFMLoy*&Z+YmcSuiUGR*dP;?6 zLN%~#s(odqkgU`K;}CQjHUY3&^y0_|{CP7#v^v1z8!n5yiZ?%%Y(I1&Or7CM@FjBd z521Viz!1|?5ByUxCq2|x`!w?#zp5s5y=&25&frsJDKC_{$R*mJMF)iC&7O>-?x;fl zqI4cg=SAthiGDR*+xO-zp3HlY$td4@pDv&H%cXpMy@;0E$Avot_X`Sz%R4Q6bC_(< zjW*iBjK*&d6E{)uQ5<cLG`v~5o@@^r6xQ(Ot*8IpI+aByh?z5yb@=s5bFR?MYd+Ok z+w$gp$iCB>p_9%4*b;B_0l8;gT2I<qTijZ^kvFWx9`#_4@MOHCADzs*Qaq=1vRB&p zqsu<^l|#o8NPLl#e{CPgv!1jPtLM@y)=Ec$F9CV;*c&<WN#fGO(R<w1!&0rf*5eja z=F=`tE1Od=85@xu!g=bfq3)BisQvDzEjs>ag*JuhbhqT!WG3P)0AbUr@Oj%Hk^^5t zba7s_Ib76hE|Z0}$pU-ZV1DId|7Np~*=*~Eu=(RN>Fu<4gqV*BLcUbO9D$scYR`9Z zGHed}@<DrTfD&Y^&G~<5>NBE8Wj$@{QN4W^T^#m+%0VFGrTfzH#@}cSY(emtN|ED@ zc}K6?()2e~R(q*0omgy5zDK)DD?#51LFlAoJs`mtU#duX`zM?sx=TL|`6+E^f^9KZ z4}J;*mZqj*?BN#!1z!rB4>nHN!&-C~mJc>gc+VV=!*j7d*f?RYNvp=cAa8aasCz2C z;kOQp0XU&|RY;M49Be#Tgy~@8U0RrYH75z3mZ9G}bgGFS7$^y!5*a$#_)kYhnYBCW zaL}Q}#Zg0w0&H4Mgw9v+Q^wE=^*UcI&g5Wh?SNqLiuXESm#uIQg24-q8y;HqHs}bP z7dC%-Xkl|D8{0E_kR$7FzOMXmXKdeMZek&GlMkS|d@q7`t{av|w;0FiE>k^xJiOvH z+Qcs4x23hK;icet@?M`BHEzIgm1Xi8`W5g!yoU8KKiCa8uVXbH-yJxwWxc$PG<pDE z???F-%lGaHoZimJ3ghxd^+I{YXkF{$wX7%a^i&V8XZ<W+wm0N?O&egmOdrVex;C8c z<67xd&sVgDjbJ>iFZc~<jT*`Fp1hZ)ddAVZGm6)mRqq3z*PC&?-t^?{p4yz(oR50r zb4%&{l0EfZy&H=PUW3kH<@Wt>uf3=cUj)k10*^r;@^P`E^PKwAk`mhPx5vU%Y&$#o zy5bZjVepus;<Xe_j(u2aK*Xi02p#=h*adU`T;*?&>~B!nPC48{$Iwo7M5h&Xx}-2h z7s6LW`Uu_soL?;zx_<Y53S4_YxHLFybZPB(IdeqQ|53VKa7pbq6>#w%1tbZV3W#X0 z^PUQBCUlyLt2%TVV(|EbGTXV-?sC}5+%9yQadU;PuZGf+pp$-f!ady{69t-X=duFd z&M}KgE754WQyanv%nxAjbjus%&b-jToVj2sd}=BxG-rM(WmA_QA#|EEBhg=};W@%$ z&^|4nJPgfz^F)hgv1HN08pYZobV?TMQ$ctJ`9%=kTh}ff%9bgj?jM5q#Y|T9Co7x` zR;y|n9=|AVCy4csXt3ctLCCQ0Q5l1rTd>Zgsp^$@6@Bw}i^hT+9+7t5V{fH?=TAAT zMb7K3)E~SVYuX<p5^tq0GX5puyp_7dXNn9MU~i=~ejd2qN?nmpITTDYOO(;IqZw!b z3Pec%eFoy|f4rKY8OUrddNhYTq4jiAaC7pLQr06PL$j3mq#!ggZMjW>+M-f+Xbw{; zzu}{g6%O<Muz*9ctE0?RLLEO4Ri(ol1^*d1&r}sYXDw%@s_;eFZAb7|I1)wyZZ`-s z)hX9Z)d>aYs{h9k{Fhua)i5p0GgZVOJ>AjtG0&mXu)!DMX~kAXL};Q~?T9F=k<e+P zvKqJp(DBs|O*K|O)LzH|plir{K#fpGq5|Q?aBza)^#%hUP}{Kal>0H7zc>v1^Zd}b zIRvxSI5k$jfeefva~FKV1K<u*V}CU$IIV`_#_~JTTnQl1-?Q2Dyqp?)gU^9|10uoq zL}UV3x+f~%XF{Xvga|^wQ$k*qz!iQ~h`XPV<#Bv$V?N{P7z{-Yle&`;%+z?g43Y;s z*^<pzGB^wm4$yPjoyzKr-3_6!&CKnP<L9&&Kp=*QMV`|>o1o?SIqh0_EO{+7LeFX6 zC+2)yO`Ie_+#=6u7eH$`(VgeCV?RSV@|?C^z;sAR9Lzb1x=?yfdvS<vjghMA=d|sz zZ+}iZ&lL`gdbsL{!mh%I4%}TFj`OH(WG|QGR7f^iC*e1JQY(6ky>@5zE8tn;T-(># zDIWo$o9<>cQJ{zHyJ!X3`%xa#6J+Kp2_zj_GMq)|u`i6)QdcVLdAqC+!t7_KLS-p) zkW2J)TQu)K-Lgk<E@p!0(v5{bY~8my>td9dC9xpy!qHo(3&J~Vn$Y=!)QysAp-T+p z2xdz63*8TY(CK7aqTYkJ|9!WJ(GY~z#o$N>sPoK)ps0F#acR+N#tX>;w3CtlDOnjq zv~9R?ITALCj~PK|Qw#4B0}T!qlW(z`IM;qCEYc!bHOUumt=9#hj<4#CsgI-eQn-*p zE~IW3T}TQSa>*_vg$t?n5DIx#3MmIk%1T!u@7aZXaa$o-cc73ME<}A!HQCyg3dtej z+El#B2D9OZinGvyDyBLQJof#n_@=$IOf6_xah^3$3p)?`mf^TQa~eSM2mnU_oB<F+ zV#(Kl(brCw8=h)-Ng+7~zu}(JrSx-hD`FR+fTLn}H`%>zHYdC9fZly1%xwX%ih#A` z3V;|A^X>yyZxk+A9Rg4zC#X78Ev`#NOGqcTyoN8Tlb&*%xwwH8PBO(3;7{fk*xo`r zIS~jBj|$#hPWS3jAR?yp3<$nQkg2R{VvAcV__6rC$Sp><0DgDJ8;epg$2*c)MpJyB z&^m5ZI=>7@f6wMki18~-l%$x0KrxRSgD)0)8X~dc2CEr!J#^t+wcZY?1#lK`GIm3Z z4g!4|RZl(+0LKn`zsLW-gJ2d)Qc(KThbScmod`kMhgI@-!tR>_PtFLEdJxN_hEhRx zwbCFIJ7c5va5l{FH%)|4k`C7qSal+Qc1tzw5!T56jl3L%pArwF0Ve_I0H8CGiwe(p z$uorOzme;&Qa=!DRA*`f^g)$1lpHG14%O>QPwm{t^ZafO%2VBu$3q6&#F;27JifGH z<41s3rDqJo2e6WvH(1|idn7DVsvT@TSWok#VG5<nDBuYXV!43R<_F`toht>b-tKVK zJ5mx3wPo8E*rDHShcq#HG^S(PiiNjhp<Lj>$E3t>Z!6KLqX%PasH-?t@9Vx$zQJq9 zq$89Eb9zXXHStqej9)JnWyDmIAmiDRj(deEVV5z_cghVaYqJQ|EsKvwz9+~KNK&fs zbtX@E7%p?sjNm&c{C(y5OM+PPAjzk@Jxi-QQmHmwqv*lGCxn5Xz<(HEdSY2e$90Ir z%kY4o_7wa_;GVY|8mdiqwvavsEro_`(<6!&Du}!PE#mfM^p3~2!P4NU(^5`3GXJI^ z_6^cD_eI?UvWE`|DO;ZWngXj)WVI`sSq0SEBWl!A_&%m!P4;@#Bhc0vpjV13oY{-> zz&tFn=l%{;i?uB6=lJ|!bZ_DEHsgvQ+^Mpf-Hm4e%a*5#8TCAEkuu-&#yy)G^h$4O z(C>M-{Q;aTPFEiwG#8hC`;A3T(*aw+`@q6g;Bg~W`2W}hf8j6uN7j6G9Ac`_QsF-_ zUS~Y+YfeWQdr*Q-hihI+hf83@QnCHY>rt-|Lg9aV<4G=jB@#{-b!Gw#M&d0NaizmV z;0t>)pDObm@Zfl{v89*JBz;+#_LKYoM(~zh#((e!R?t3N`zJp<_LlrjQ;~Oc)`L1_ zYmqXP)lCYa+-_pm%A74!O5zr%8>!-=yLHMf{gWVOtT;l_54)rr37u`X5X8)NNv{xT zgx-o5H%Z#pR1mut(G`Ddj}%BVid85GtzoPP5octG3sEzTj|Z4)RHgQ~ec{O%mu>1p zad!8?4L-Wem;JKYXoI2rQyw-{_7<~74a_3+HNosx&Ac^$>402;`Nhrb*Z8uZ|BW8d z-O8tpBB!!nXUOl{0qPqjWt;y%f~m5%@kPMWPf>C7C}j3ER#&B0IF!pmdDWqu)|66y z8i=yrHT%B^d+Omby_A}>gL-EHJ_&+vdG(7@6{!w$c2E_@KN3_Gt6&z?GAWaSs)YwO z)%|*yE`-vYUA3VULtr2dyySBDp{rQlDgc&3#aj=+_W+WcGi&`+ZwCN1CWF-zz*YhV z0r;7KQ2^4X1XVF|KIbU*GJSDJ=QSXcK(&fX(L8Xb3GzHdoYi7&Wi}T2#2Q!~X&!lm z3%bIf98l$oEe%t%rDg3UOZMC56=?YKh3+g{KD#d0-BkjGey{M0QylSE=01425RCWX zrAn9t=xh;@CL}T)jGss(mSXL_SNEd=)HC~pIRp}IN`z0vDvKy3G6BIDHEfPZ+U3n5 zW2?cKM>6ILsTjQsvJNa~8llO;JS^PZ7%1OkZYOJ;%Ebrb%$veGygN*t7De5obFtBR zMXF%EBS6c>xY*xXd?B3@s6}WLKw&=HQzvpmLkm7@gV@nyu{R(2oX5FsWVBl;9qBok z<fTsbINg!%#+(f}0nb<ZT`+Z$iMqSc0W#T-aK}&`>a@Za@s?6j7b1xGP{RN_sh3hx zzk-0J(>g@U44M{HWoYu7lTRx9fR?91=DZL@dGtnFADZyytbR^v-J(7GyC@@$I))yw z^1c38X!Qd5`RQmnq6LNk3yj8(cPf4wJc`Vo4d77#v6Oe;iM9R^&YogE2n)VzLUSS) z$~mi4k{+3<37aGdV%8CW&ZJok6Vwtk@a+~$)Lg!=1)2417zqSC5vlgtM49KLA~fgz zsx8nK3B4)c`ROm6@-%xO8_d>H+KB}wz8h#KnKCy@0Yon!qFZkWog2H}>1~*+el%&W zT7XI$`9DCE*Nd9?HbN6lV<v>?Y4d~`STE3dz2RqA=_%mxZHMTQrvj|d-<PnVXVYIz znoWO(kkwIyXpAuX3PNMS9>+P_QD8sr8!B9TQb6#O72ZYnO5SFq{NBM-F%@|)yPN$k zF-WeG2{r36I8Il|1b-HIG*u)fnFoJ7<}j6(Q!#b99-h2Urh1<J5^RlMfq29PSYAC4 zb)f}wOfCzSd7Q4EiG!5HlORBw2-s8B1!2&t+gD#acAgDB=JYx96%nL6MTgl!=uXj^ z(5i~uQq~R;E{W4ctx^x@VAC4QN|Yj~F@2o`aWZv_Q(ne=v@<ob(F$=Y`Bf{dSgLu5 z;ODjXT@1(3K0%XJrFr$ROwx!kA4*9f=6~szs#Ot!r2;kZ8)$?d{I#Y6la5nrl^=`_ z*&S#{#4v0ifaL(ZBLT!dfd{gw342H#%91YrOy~?Et46oPqP$Q!)(BDK<WP~_B}V92 zvRmO-7HGdz>B9r4S1+!wu?yC@UK%es6!#2-r|T&6Tep}_Z#_qU_blK6tRL|7*@krl z{`_V3ql@UTxWv)87e2@p-TO7%X9i?6j7P`Ng@!P_l;5fV#wbP*FbY$)4%iR`tR~PI z2v1le0A*(aXa!&%0i6LP&q4^t0C<^z=>Qtf1~3o6!vrh_@D2g10bBqOKU!jC4>z6f z$9VWExW(t-t?{YCrDl`<sDhtLJm)}Ek7i(%4cw~5i~Cwt(&!dIQl-P|4f|Umv_)$2 zg4nXQxtb?<P>{FW#_-f>@K0eJF3PCTRd@Zfw=vSOGZzLmdoWv&SVYZnlD@S0pi2s8 zrqG7;5(j&<FhW<s7DJauKP^xn5ees{(D*3AIT<c_C>hoRPn|4QsNF&dr^jo#b%xv8 zxR4bngOanoD^Qu~+`jdPV$9-Kd$PS#S7O&e=3^@&zcfDWN!pyL@XoAr2$+Xo=IO!@ z6lToDh*p@3)amLCR1U|E@SZp%UN_zY#nOwlze}@iL22RLy$?Qsq3q??**vXWm%sqO zcYxv^NAWudul^|W>808$z#|if>fweWs<*&A5p^;eVXa0Lm?i?;+hH|)h<7UrqD>|2 z(hyT)9`b6Qi0LTV*AQ{rh&rWNTez!knyL`mq4uk#f?2{m>t^uW*GV{Z+s}kAT1^FQ zpGpdiR!y^{nVKvVz*-}KUiS2(zJG-C!l?8Dws2964D#OC03#*8!wXm-(3>$OhyAD= z_~8*O$n<T;L2t}5SOrC87`#20v>eo?OfBVafJ3ID?qUQ((Lhq3qD#4Vm|e;gS1AGy zC&8(j&ZTIWN}0~3lx_+2xFIU)d4tlc6rZvXwam!w<yHP&)lq0Z-wN@UdLEWuFup!a zLJz5^Rs1b={n%sFT9!eb@!%tS`nY&Hy7>}R;(&3Q)ArDlQ8*>wg(z4$$O6&HbHM)8 zI0Z()bLNy@phOqLbCpqrLOm^1&l5<LsKb0GrPDkl+)TnhV>@pX&e8px@rh3X|A`|1 z1<O~O54;stAyG$|zmRb1KT%&Y{@~NVhvT+<)KSK(EI<$8mOI8Z#vRsMlcEP=eH(RL z2nDw$`wQ2?gRi(5{AWv{RvP999HLIJrNgk~>75PUNsjl#Jm5=DL+@+GUt0)#Q7!OK zv3%?^z+<|Be~$5Y3FlnV_;b$!=T_DDsONxl%bsWXwu^$QT)&p4dSjUGe&wiD@E7GZ z8$N{I)vq7g{s5Q#6J)s?1E+2r^*r#8PXah#(Cb6BfJc5TcF;otp52w}vN0OpsZV$E z;BX>zXDaa5q6OABHx?<d4;4V~D@lPfiWIn+3XFI#G;Z*1YIm_xU_|U!mU?eE9w~1< z6xIfrl$Lmu>(&&{;C+bYU|w;ZfjM@qdk;Mg#If^G7-lwwvO5-=7T@mLVZvRpxCA_M zsMv7^8Gf)vd@`$v<J~+S^&rguBVzOvjutj2iY1bLTFdgSPyMKl2u1hRZWmloYMmpb zd}V}g{iZ)K&QYTEuZrl8xRiR>j>|NO3v$&%H`Jr1n>5~(T7tUuJO=zxlREu5;IYHe zgbkzy1+WtJnAv#*hJ9CaMK8NOCbfY__H;Fue$s(&eR;wSN{k;0m73RESEIL~!yomG z`OPS-PYkqK7nlf(0x+F`%aC3LAhD>5w+uv%gOi*Bz?(OH*Q8>#0Tsg0S70lU4kWn= z^N<AIHh}(yxVH;{`uVv0a36r!6PCIQ(%ybRdV-of3;-T$-8re)SU{QJ-xvx0BS02{ z&&l&;pCZXq)#w7D5+@)~!gv8c$@q!<NyI2O_zIow8o>vIJ_$O+qa?s)>{{tm=}Ej9 z3r-iYMJxt^$TC_0uWkryyS6|#(ZEj<zU=0LTSe-qZJ@esAo8HFP`oIs+m%(qEY!HV zh}oO5aullBV6;a4l+R`dajXO^S$Su6PQtUJp^QyJgu8zhsg_H7=OCO>(Z-W7Q(`*B zX%+o^M8Wz*MA*)U+79BCM3up8s(f+ciwCzYT|#)fDs*c+Xcu%4B|u1Dy0q^xM!p&< zgKesEl;U<X#pzsBQO}wUb8b)b-{7IU>la%NkFSMdC>>QAnbO=GDxH9O<b5zl-f(9K zcox{rU``MrS}HzvyU+#62G!(A5i*wvK%IZJBaQpXF8X#C{WYPJ3*S0)PL+@g?}-q( z5QbsG<)`C9q#?tL4k;S71=cZN*u_$#E;HMVg@Fm6*F$i^h69*IKz{(o3Frc#;tE_n zDS*89abOPt^Uepb8US~!AH<}-5`xj_9%CzfD)AKrN~i+-RKic>brB<Xcpb^{mqEAO z7dUjN*h6~8z|h8jQJoCmXc+1U^~9pgsXR^i%8AZhw{RcTu}ovAcCM%JojmDkWRuNF z<kySz^FBHEpooP`$mmDYV!~2X_fZ+?`?G6G)y+k(S_Z}i=yM!w2`3IMjQ6Oh;xD3< zhV;`1Kaq<<lTW~NdPry@rYE{39KqK_=zAD|Pqz#D8!7XU2vC|tz?GsxR^DlJN9Ft0 zC0A4?;HhgTwXVSjz4Q=SO6nLj!k7-*C1#WJo9X8Zs=+A{bAn~%y~TZByf^K(BInj< z=X8@}31F9Kc94+MTelzCHOMTZZ-FD<u`MvCi3}O~$!&;60&})->HXAO!X^6iF0JG- zx_5BK1w8GY;@7%_+TJeYM8(=9LQ8Pd$Q&=#z6xi?xHXW-DmY!ZvmK5y7YdEs-{8<u zH)$R7MVG)Kw}7i@thFM<PP``w4JQ{J4P{<;St@}}?P?oN1T#{GQSzmsTfkjZoCr}- z7%*r#_^yQDGz}PQ&8tv#uea1n46?4ZMQ6fY>#c3TgP(|vSEXFNz6dQmgJw^ic*orW z?xfe56*<{87Zf$3Q~0zLRoqVDm(9WBZg=@s5tma|-R^Qb;E@-_4#km6Dw5-|v?&Y@ z*8^74NyKKWS$8r9(^H_2goUur0GuaaKY#~U19%6(2>>x9?>!4_%o-Ux(!`Q8c06NT zh1(@ILg4>U_TGV66i?jv-aXGfPoCsSAt9k8fg}VI0tym30fGpL2pW*CU_d}RNJn~8 zkRp*HY7`Jrupo*`Q$Z})D1sf)09Hf<6bqufpP8Mz=blHu@B8~be<V9QWoKt*XZQB@ z?kXRmKfmBlu$7QG-u+h&?I9FS4qatjKM8_rK8_q3iIg1LUwHl_hbI0CEoVX9E2bdb z{R!ZD2uk(fV)GH<+Afy<eKPi<yg=}>&YOVJ6QIpb<0`D?(of>*(B`sF*2O+zoFe^> zfwXec6Zq4d{`AG4;0{-B`EeKC!=v>Wb`5wfkeUnOKMC1TQDi$5@zw$2eh5j-M_~&( zkWaOZ0PH8xNh3oSC$v!EP*0P}3UcQrV=_1@pCxTlHj-ZW6Kv(;``099{v(>u(&}Mw zlbiHio6seLzlVsRff({5%~+Z53;+8LFA})a$qEWLXE}f9MO)Z9%DhiVX;qL0e>u{z zO=;)7f`dKuP*dsW;Etr88nT}=kKJzE3C_xc(Al&|q=ZWi;rWkn;d$^T!8^0aZsRSI zSw>deMt_cxDTfJ}qoq}L$UTd&eyfGZesgB*>qhlEAuF&6`b8o|zbF2;eu=b8QUdoj zpNeQ`51=swvDWv=YAI2oDE4mSPHJg52r8G+pLg&l_*iIBg;y#(Vb9+7GKMl{YCmmL zdj~sqp>Y6`7Mm(zhH>kRXoqc0uz`@m25xEH*vs}>V7@f@J%o_4I08&s1nd?Jg;D}~ z6e-4D1RQqJMbcnpTV1YDlxZgj64*}*v?uODo67uAB8cX}8EzupT~V383jRI^hv&V- zCnR{QQ}3Dy?N}p%Pu&DA{mdIg3Qc}z9U^7UcS)~=BurM~(P<mNjuevaAYGDi#hq}> zQj@{!;eD?|e1Uxd9?yJ0#_R1OSYM^X{J}R}$pA|Ll~932Z1O0bSqdR9_MG_+iFD16 zRi6x>Yz6@iULib=YThzj>eJa*2w6VER_aeyY5_RXsihvmg%v9QVlSBm)5BZ)I-<3N zr_kEq$ksv=Et=edCJ#ake-k*?>$wH8^T8HN=Obb*hGzm!_#5ft1rb$2o%MNMB|g{2 z)OOIhJAaN~*Ww`OX{fV5OdUK{_iRK3clKMU4BDNI_GFP^T&C>^X>REwN&5LPVF)<P zn7A|``*oB!b?kT9oE9N+S%k=!Nn{`4bG!xn$=)Wkzs}X56Dqnv+s)1-f8P8lqQS2s z8q9eH4K{I!ly$7V#VTE~d+Br~-cvL)+&W_*$!(o-l5CC+O@sd}*`{zLCwkUJNZuVG z`A3qR_;1N}wv;QgY@u+biQ1mzS>f>$w>dn18WHS@pFV(tEkiAZ0+};Q*hL8^`Sy`* z*7q!oX!EX!HlL1Y^Dwn}i@Qy`U)*N+6h=E0C+)jKcI4LcoI{)L$o(gxjl5^k#wFoH zn1#&^p=jgFMc$sHcCL`H)E>oUc$TO4?C^GaK(5<<bEus*p>Phf-~Vc7h|oJD@s#;= zL_3=!+WCOm86Rp#uK($%7mq|6<qV7;P2Zew)%{z-RnG?;oEIrFbngLgVtP!l_HE8i z5E*xB4z`u|@!1yMF!VnwRCE~%Q(I-9>TN8>Lch;`!&BNazc`E5ZRR@C@7`-5>^*}X zN9_T9qV|l3+21oZ01o~rJctTjwgx;K<=R%_-zIS4e}@@2H$495P^VoPZexTI4v-Pd z(0+nF>4gU&^`MRrW!OQu+q?~pxqEOivIo~Xg6$rB@AM!h;Y&+p;!cj9F01p*bj5R+ z7H9=DQZDBTK@^*9o`~qyO3=BxwTocau>KNoFh(wDDa*RfGV0yfm@$w%a2~8hZ`g}X zXMaXNk9Q$c^Y=;fYpMAR(>)_y2^x3PB?P;gz6)@0yYNRe&DQOzH^lKFJZz|bAcPgv zP>y*33i<v){qv9#PnFq$!*V~v{6c7H)%-jNL&7o9`!l7t_L|zhYJj^;yA@izoDSop zeTVZR*9T{iOnq65<%vJVwIvX0ji)~fi7Vt<x|$slkC+q5p{}4#*%}elZJg_GJ0!+9 zA;AgOCUAm!t$7kc-7dHWLftMHLa@sPO92OaI1M=~x$tbh6K4KambG>49yB(W;bx-m zE#P)SN?IgA_6NZ5zF`l_m=}cKS*ZUr66}?~1#9KN3(z9ky*zi{Gn30X%DsMD3N44p z%yMJECWmgBC*>~nQxFf5fagUy;G?WFg4$ahufhIDfFm~DE{D!9cjYF6&a5T?<t*>r zB6G+$_OUSDI&0vf$+c-z)v)cgA{R}k|3TBwMKi{x+2b5g;<g@g(Jaw4yfHz@%%^Rn zAoOK(RDES06%6g)?RMCdS#0l7pH=D;SG~OzMa%!69cjum<+_&!NaY2tVSw8+_H}P& zj1c8I1UMxi3;1@rE;RkA%nt<B(?xz#>c-mS_RO!Wi-O8RSIpaGbwK@kP}5pvduTh> z9P2{8Xrm~yl{wvoI%K0LlVhXPh5FG(>219-7s|6x_Z{=9`Mj(i-aq0|S-Kvp2z#)a zuL_z>+15eJ<*YK_b)ifDjsDn$p80QdtW2pS{1F>%?{p)2UFcW-g|_TvIUUL{R|ze3 z;|H5Ix4MpEJdEzz-HyZc2#r5k$If!DSAP;BQs+ud<npwcED4m*?M226STNmH-`7=N zPwFY!<~a43=H1cOScq0R1PBYsX~eiq>RDO2N)5J<eB|`P#3)g9%5Y1c4p#7M0u9xj zPG5XsoK8@xUn1ZC_l&{e0TsKG532w(-B1Ig_!NPs@!G|}boS8g;taet*C?;Q2uJE$ zNMfTiCwP@UzGM;GooUWWIN67)jq+QGK4y$wRWg0!x(l%E>C5ybEORc=T<ezExDaRY zV+S$KET(yaXl`)R^s0-*TOLhsk=w!~U6#bEYw28Ed8IcnK?OXsI^kG6e)R{d@<h7B z-56Q92A%gPPtqp^_FSG(|29=#nY#WMkoAWO@Hv2Xl;r1#>J@0BJf-{MSXGTyROQih zQX=6+oHC}lr#zYtO5_6!mJ5UJ1#H7mp6@}Ij5f|*sFqjR8ZNL$xWG9i@VN+q2$Ve% zoX!fq$4hvQ<y|3kq^JHAl1_`v4I$}tJnI91%335`<XH1H0cZ=bCd_Gf0&O~5fSF^( z3;7O#vhJ5U8g;?-0%&eTNLLsqdK@1@drojTh0Q;sJbNh)v8|fR6y(gmp_V?xHqJ|M zlb5i2fJ1B(n13`NJ~sA_2tow%FM6`~6cplPW8=K!(Cr}ge=KDGd2B3myI_6L0ovM6 zrqR=+nRWx!H4ceE6?`M~s>R8kN=;b7@7p*fmFOh@jPmEGOE-2hh=RIs6q-a&=!U0f zSFmO|+o(%p)Pz;srw0I<QMZB+KZ@dq!qf?P?z5i*&q)%h(o=LpTtD}!YOT2r*1M>W zo>jdU=fK#U7d_N=3ZKu_$dskOID~vw_Y(6&@e@sd>oT8Cyv(N)^>ZcBvHV06Mo$X9 z?h$=0_aLEyl0nuo+jZA+KVL>iqPaay6|)^nYBENpJ9Gjl1Y2|mukUlz^#Rg%0EL}Y z*o#8H9a#4giT7JTp8@io6T<AjQHb{RlH;;#(y8exBGt!+gKpKm-=X)F8}GylY!Uth z(}g1BTR(hT*d`m1Z#EYsg+>a*>2ReBE*!1U2QLFoi>jcGm>!KCGj6@lP!H#A!Tv2p zny1#3{YsTK<Rf6l2FOaGhYe6cFL6wv*Q%n-@As#Z(?UodC~d?%IEYu;Sf8Y;G;X{q zZD!E(Mf_w?X>+E~z9=m)=sY}r)9yQg7IVy5?1<l%Bk~80ny5<anAGGO=zQE$&!E{n z^H)6H8SR;Mbz|mRGkC!SFxKTKEULzA0ejc`;2_GIr8k(=n*@^fuo$NT1f|{0CZOR{ z?4@6^IvKmL>gK-WFwY2rxt}>Kc{{;ugB<=gr1xb+LOu)=Cf723x1f%geI+Oi0hRAs z6xN^+PfdG=0QwS8U>pkR^hDiW(JYSpgTBl$PL#pxEnb1w`_i9T_!B%7a=o6@d1cKH z%qjC}LDFFHp=)q`z;ilmRhoHTXsT;GkN-vz1HtxE&@n@r_`6CKtu<KQT6>+LlC#F@ z_{T)RzYUPdZ<;M_#@C)6def|w*F$@MLt(JrHY=-=^Y(%s8_vh^ng=*4Zq8QNpgFsp zJ{QsZ0wlFCo1vYfkd*FOftM?av<%(4D!tCU4y?ArZb5a^S3?e?h`AYX?BoU%Vpjuw zH^8(=G5m(4(kFNk@g&o$(v9@`Uv(T10_pT|JX|SeDTThJ?alkBT{=Sy!PKsIH`-md zo?!~UT!Lvz1)iSG>;zb4-Y6Y-4&2T#<%h579I@YS!!dm?$Ml&i#f{%<)_~`jZ9{9G zsHV^Feu>l765Yn=**`&p4TjO8$|Q`QuACZe^3ZATUa&2n_SOWGp=-`k5vtF>+fxcz zC3hi)VDa!|dLYTBf^_~F<&UmJg5$?|HN|rfrXT0k@F_A3Kh8UnB{bP1kMoX7Cc8P0 z^NwavKhAq+@(-d-I*H#SKu{Vj9-rI_)%tPX5p_wg*^tVQ^A2Y*PXJ7dWQ!v$ibmI^ zW{sPycWtRK2K3l2AU%3C6w=`?=h34-oe`!V_x)UG`>r(A-I~_*xbF$U^5edj1<<~# zz6=_S&>FOQXo;!l!xqLFh)8LC#8B~lyd9uR%9D6H2xU?<icE_#5%L2T@qM`-UU^cf zdDHpivQ-K!ek=JeB$ijZU%Vm|@4+DaRFJ^l*TgIHX0n75z;UF)yjcdRfENhFkrwl2 zbJ{e^Zeh>NTWHLXwi2F&*3AT1hCwp#ZsW66NK5aaemunaUO{0s3h{&ud<4jQ9DiO$ zRY8$37ThESYk(B^+1C*Q@cTRPF;D^Np`jS`%<Y?)XuZ*isSiri9rChUl(j-Q*zB$D z-hy{>kfjHLSzGrZ?pMlG-1m%sNFNbrOG|mt4tV1cUH=9KPW&1pfp&~KAKC|_+(g3m zpjSqD+ygi%Mx45`>RvpfdU~e~-VTr-=bP7^Sl$6xgU#AQ$9|_8q`<tMghUeLXZz;e z`n@RMj=cD*q>!^@;=Tt~!@~KfZvQ$goP)wT6ygaPXamT5J^uWSDsN8|^54MoXBR~P zJw#<TAEy&~@7GM#60#^MVQb7Pl6o?@*++o!>82ViM0)#T8r0k&+R@Wi^BId(cDrBX z(#ibLg?`LNe`@D7E6^WZ#gE+V&lbRWa7(4iB`(@IA$pV36|C%bdaB#$o!IFm%ChaI zo&Kghyas_e<>z1F&>cMIr@Xrf4&7m5wooZ;&Y^xMm-SHF!OzxJ8Z~H=ihsp?>Q)T9 z(IfD<oGxS8^cV)oE99^-Cnx~UKWGO4R}O{AbpSB99iR??-NaJ;O#}d`GH(wB0KNq< zqXua+?=?~e->#iegA|&#SA%C~=!kfCi+H3Rh1=f(tVR3t-rj`veT`5(7_xo2D3ntn z4Taq(#1mDZ5Kwj}{GlgEvwLv??*XeaUPr^-zu*-}kV7Ws4+z$AAqHp!ts^p<N&OtD z)BCj)8~QVe#e%>5bc}jXXb>}2Gnd!l+Fzvy<l3*LU4FU-kyJb6S~3rOOJ>1Kfjnhr z@kn4hk)(b6bdn70+7H=2{)~OBefgR8CHwCS_ND6Vc@5_Nikwlw{=2H&_8(V9y(Q1% zYMPz^wf~M2%MO6re<!s6p4QLf&ii4E^t>I#!#V*HPQpXq{Q}*53V*D9@CVfef`GEC z;t#zICv&TizmEzm<7q&eue&VyHP`EbS`u!_hlT9Ly<U}pp121|Bex}=o~f*x!)!Nw zuuMPw!KagAydED9e2Oul%i50dY)94k3QP_2R*@kJ(F>z|;={J>xH1p@)3MLs6oB^_ zH0jP;O+1qN9?+?8U=3<!-h&z{)q(!#S?NzZa!cL>9iC&zjBA^qF<&vNk3z1m0EK36 z!=8i;bOTgSAmrv~=_jR?9B}a_m6M^YyTeUbQ`jgNhcI<$;x7!D5DOK`Gg$aoce?GE z`^Z$hq2~y%w3Z2CA{K!3Gs@Sm!|H!Zk);|9APXqfivJ?1{N}mo5%~WBd<F^JpWcSq z8{P5zKAPdF1C@G>;GNqUrX}Z31Sj7K-XnY*q0&28<V4DitGLHdl`@U}5QrJYe}}aD z@jyN(Y&46wPAt4$ukA6w0-m*%F&p7WpZmaY$4Zz~w?%A$r7K<Z{1c&eW2oU)yFbA$ zwU-d=Qu{f;@gyr!)kpsysxE7$FP*fi4&YXGvxul5RWEziuL-yCM-i$T?}n>-CBZIL zy8w<SS&^z<yiI%4wrT-cwJ>z`oiQ$r%m+ilswM3;0GLDJbx|^dDDbOfdHbymS9Ag? z;tGXz5sL1QQ1l$&v`D#;N}v2M`?{4L<g#x<3mdTQd(}0T8YKPB_!{=D?%e~meQi*m z{2mNNmEP+CwFTtuj>1qX+={|lDhx;A4Ju4R;WP@?a1m!c=Ybu}Z(ZZ|D~RTCTVgK> ztTV1*XZ|g~Z^sbs7-Y1Nk&DgTn)-N}vOLn`>22`*c(wpv(mE(xTBi5Pb=2$u&-AbD zMNB(E2dx-2)JAWwVat6=(6op#_t~__HY=GHvsj5F4rLt{G=KXhw_R_jTgWST-#{Hh z!wrrCB#X55ShSl{5fPfA(fe4Gzts~Q*LeHFLih~AOuqK5)Q+EZ-2{BX2#nC{L{tg6 z<tA^lM-ff5sR22ZIO^@kzQPcpfl-6wX6nb43u@G=ihPzQC`#wnodWPjiQX1~tUM7? zVP)E6LI)iqn@5CZ$(M#&?xLX#V#W>9og@KU1j#Q@n+9Z>Ac=Fo8%dlEU7Y6x*-%G> z?O(IdB_IyQBlU=enzjZDl2;13g=BdB3e`IVu|nG&hCfY)AGidD*Az=&Fuqz6_$|P3 zK5~qHsVXisJR`ayF<-D~`bs>2ebBWcm8OwRS{LW~agb{o!31I+6k2*g!Us$Xi_Vfj zM;5Vyo1T0!T3Me89nB(^8mvvp{i*!}uJvj@!}Ibic-<(^+lXuWiFRFMsFXCxhISHk zrw#pZ5Le(sLHaB&dofGI4h5-(?m2`D>7kQt@Wf#xq5)&k))texTK5P-uBq3jj>_9N zwxIEvJIs^~$OK(c|2YVJ#VB<AkkUM`fmZ>g4#%Iw+R1EkJ*zAA{bOL70>n<xrbS`{ z^MMJJ;g3~S80m@{=KD?B?&0y_=72r+mH%9}mQVFMAAmYWePgL9pz@46W2l-Zxf>VJ zpjjm33$XWJ!eR!5-UzJ<l{G~O=w*2RaiW8Bt@4MRnD8xGG;zRbLa#ule1s<Yh|j2r zt^d`;5+UIC?QL`c$~q#wy!8xjk+;m$T|3W0`dgC}KGlHzC8-WPPFCn|l@)UJ?NXf) zUOii?n@Y77QgB?V&A+5DxjaJ+bki8d01<69&(eyJ!kM!KSl}kcTPUS^t*-W!ZJ)_% zJumg!BkGSx{lPFX=DoFaQ)IlejEeBjLYIHc2L&K=B|kyt&<pA3q@IE{pX>2j%wocp zl_>Lwi|cw9*R?Kh57YGl&lcO`<^n;J6&5kt{W9@3%33Z2G*~mA7GQ@oz}HLoKJ-*M z-fev@j_3L0v?~gZYuVy%tMlzT1yHl*EiND)gCG76h3{GDaJ!4Zde8-^7JIS0%<E^+ zi2hj+4?EM)hNqB8Mvox^TDJdzKu*F<AAoBBuKHN+l?eX{z<4pvc$HVm@_K%PS8Zet z(TZNh;~g{5CX7FN*;n3hqy7=4-Um?voyN%#!dVzWc_WNyqN9^I5Kedg%ukVi=y)06 z4S=r#9BeB*G{pI+sT?#LWzV_Fvc>YN);bEk{Z<`J4l233RLYdDK6Er3#~OA)ORV9| zLb!!A9B(`yq2b*T8g3;Gr~VHO$2;>tFPfroMP_S3uY{W?fUPH{NPHm?&31)D@EYd4 z$?T6G&_eQ;LR%~bUiBnM;DdQg((p5oBn{O*ND`83LBcN+&RfhxQ$ZBW79z4GwP#)s z!Sv<siQv$Al;_<TSsr163V7<;xAy#YI|axZEG7fg<P!d5x=QXSO~i{HXGjlv?SI}% z*5eWAkrqj$6%7#td%F}R(<yVcXc{~k#3zDmO_jA?>f=AbR@TP?kaA6IqA&&hg(BH` zTTyPBy$NMS2|I0zWu^%*PUO%rwA+RG?ogdIS?Xvs2WPwVrZZ>*A9x-;f5TWT_18JW zE^o68yEoV@ufZ&_w+|hm@{Sm<;@(-4&#?ySI~7CYL&hV0#bvdGEE_D2%PVtX3;77= z6Vi-*+AVLNG4N@7jJ?5QYy<@J5l(1DV=TDGQQ1E2cDFOKSm?KrLJu0RL<n6Cp?ctI zp>F^VUi_EfRpEj!3qfTGmAsFQ#Am{_{Vr15q+vSDCFl^EkB19gA_VrTBkzPUGD2w5 z(FhYf^)I0%5)}5OalwAk700=>0@HA%z7&G>h*1R@BEz~u3Tw0R0<e|>ynv<5+d^Gd z!qX8ZCH`oj*;#04N%xH-k*_XQK_6S}C@FZF;~~w70=%5=RY?dWQUc*tu-&FUAO&7M z4(yE-8@Jf^kyK)Xn}0_6C<?;c3HQV~rP{zQIbR78O$!if;ibWJ)zGR8%PG3`Vmt#L z-X|(rScfX2p292Yix$`E_ZZ5RFvr;Ckvp8S${hrtcyMK6uv@s_QRDct_Dv;Cu>^`l z)2kna<1N7Hr0WGy4)YoRiicD_0^YR9`oJ_0XD`4Xv#eA03jSY`y_WxXOQ+`IhHE$4 zX{u;xo!d}trAj@GW|bK&&|IL%#%0)irj-P_uB;m-9>M=u+pnxfZlJ9T@b?zrg(Mae z@XU@1-Nm5gfzF-E8ZCtEw)QLVg4m+!7F)f{m{O`=Q8-a(u5wbzyytC?yjO*Y`4cZi z2e^D0ri<&|AD;NQ3ekDX_FNwA=|UA1RaT<nx-XD;MyaCXRcLvz9Z<qUsGcmXBz%jn zjsH_+(-w@&PfvsEy(*i4J_<TdM_h9PCcb|F2cH%mSjtmakWHqd8;9v6?-jw>H}#5) zsuv?<W*-ZeNpNsqNG4y3;;f|>_`4wBCjJ%0R_**;xRS*Y0%wpwbA+8hWI4eTA;(0b zp!BX7`kGL65=2@xrJiFVxrIRXV&^<aVuz}t)T(5Nb!a2L1V)P;t%}mCk~>bLD!I3C z+3|Lgbfq__7S&{;tS_P45Fw&a8wX)lH>sfbqTwxlwmz2vU$y@%0DT}h7p4Yx^hBjE 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%0DKA{emVeq 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%0AN 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%0DxS3#TE@Hs`ZXqHT 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%0DJb20_=$c><I(>fks1Aa+1&}H<{}h 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%0A?ov@YX#N6i}cUd+b~SM)}`G!w?19qv*+D) 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%0AF~S*LNV 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 TQUC0lqAZii!$F0?<K+JWR<qqq literal 0 HcmV?d00001 diff --git a/venv/bin/python3 b/venv/bin/python3 new file mode 100755 index 0000000000000000000000000000000000000000..9030e3fd6ab7082147dd940940317e2e12db62ff GIT binary patch literal 11944432 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%0D+8<a6uorlr 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%0ABeQD(0<bAq=lrb^B8L62Ek0LDJAqS9*F5l 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%0D8wft{ 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%0D+s|OU@e<QO<#^kn@)tc<202 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%0DT}h7p4Yx^hBjE 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%0DKA{emVeq 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%0AN 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%0DxS3#TE@Hs`ZXqHT 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%0DJb20_=$c><I(>fks1Aa+1&}H<{}h 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%0A?ov@YX#N6i}cUd+b~SM)}`G!w?19qv*+D) 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%0AF~S*LNV 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 TQUC0lqAZii!$F0?<K+JWR<qqq literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/INSTALLER b/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/LICENSE.txt b/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/LICENSE.txt new file mode 100644 index 0000000..7082a2d --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/LICENSE.txt @@ -0,0 +1,201 @@ +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 2013-2019 Nikolay Kim and Andrew Svetlov + + 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/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/METADATA b/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/METADATA new file mode 100644 index 0000000..0476359 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/METADATA @@ -0,0 +1,433 @@ +Metadata-Version: 2.1 +Name: aiohttp +Version: 3.5.4 +Summary: Async http client/server framework (asyncio) +Home-page: https://github.com/aio-libs/aiohttp +Author: Nikolay Kim +Author-email: fafhrd91@gmail.com +Maintainer: Nikolay Kim <fafhrd91@gmail.com>, Andrew Svetlov <andrew.svetlov@gmail.com> +Maintainer-email: aio-libs@googlegroups.com +License: Apache 2 +Project-URL: Chat: Gitter, https://gitter.im/aio-libs/Lobby +Project-URL: CI: AppVeyor, https://ci.appveyor.com/project/aio-libs/aiohttp +Project-URL: CI: Circle, https://circleci.com/gh/aio-libs/aiohttp +Project-URL: CI: Shippable, https://app.shippable.com/github/aio-libs/aiohttp +Project-URL: CI: Travis, https://travis-ci.com/aio-libs/aiohttp +Project-URL: Coverage: codecov, https://codecov.io/github/aio-libs/aiohttp +Project-URL: Docs: RTD, https://docs.aiohttp.org +Project-URL: GitHub: issues, https://github.com/aio-libs/aiohttp/issues +Project-URL: GitHub: repo, https://github.com/aio-libs/aiohttp +Platform: UNKNOWN +Classifier: License :: OSI Approved :: Apache Software License +Classifier: Intended Audience :: Developers +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Development Status :: 5 - Production/Stable +Classifier: Operating System :: POSIX +Classifier: Operating System :: MacOS :: MacOS X +Classifier: Operating System :: Microsoft :: Windows +Classifier: Topic :: Internet :: WWW/HTTP +Classifier: Framework :: AsyncIO +Requires-Python: >=3.5.3 +Requires-Dist: attrs (>=17.3.0) +Requires-Dist: chardet (<4.0,>=2.0) +Requires-Dist: multidict (<5.0,>=4.0) +Requires-Dist: async-timeout (<4.0,>=3.0) +Requires-Dist: yarl (<2.0,>=1.0) +Requires-Dist: idna-ssl (>=1.0) ; python_version < "3.7" +Requires-Dist: typing-extensions (>=3.6.5) ; python_version < "3.7" +Provides-Extra: speedups +Requires-Dist: aiodns ; extra == 'speedups' +Requires-Dist: brotlipy ; extra == 'speedups' +Requires-Dist: cchardet ; extra == 'speedups' + +================================== +Async http client/server framework +================================== + +.. image:: https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/_static/aiohttp-icon-128x128.png + :height: 64px + :width: 64px + :alt: aiohttp logo + +| + +.. image:: https://travis-ci.com/aio-libs/aiohttp.svg?branch=master + :target: https://travis-ci.com/aio-libs/aiohttp + :align: right + :alt: Travis status for master branch + +.. image:: https://ci.appveyor.com/api/projects/status/tnddy9k6pphl8w7k/branch/master?svg=true + :target: https://ci.appveyor.com/project/aio-libs/aiohttp + :align: right + :alt: AppVeyor status for master branch + +.. image:: https://codecov.io/gh/aio-libs/aiohttp/branch/master/graph/badge.svg + :target: https://codecov.io/gh/aio-libs/aiohttp + :alt: codecov.io status for master branch + +.. image:: https://badge.fury.io/py/aiohttp.svg + :target: https://pypi.org/project/aiohttp + :alt: Latest PyPI package version + +.. image:: https://readthedocs.org/projects/aiohttp/badge/?version=latest + :target: https://docs.aiohttp.org/ + :alt: Latest Read The Docs + +.. image:: https://badges.gitter.im/Join%20Chat.svg + :target: https://gitter.im/aio-libs/Lobby + :alt: Chat on Gitter + +Key Features +============ + +- Supports both client and server side of HTTP protocol. +- Supports both client and server Web-Sockets out-of-the-box and avoids + Callback Hell. +- Provides Web-server with middlewares and pluggable routing. + + +Getting started +=============== + +Client +------ + +To get something from the web: + +.. code-block:: python + + import aiohttp + import asyncio + + async def fetch(session, url): + async with session.get(url) as response: + return await response.text() + + async def main(): + async with aiohttp.ClientSession() as session: + html = await fetch(session, 'http://python.org') + print(html) + + if __name__ == '__main__': + loop = asyncio.get_event_loop() + loop.run_until_complete(main()) + + +Server +------ + +An example using a simple server: + +.. code-block:: python + + # examples/server_simple.py + from aiohttp import web + + async def handle(request): + name = request.match_info.get('name', "Anonymous") + text = "Hello, " + name + return web.Response(text=text) + + async def wshandle(request): + ws = web.WebSocketResponse() + await ws.prepare(request) + + async for msg in ws: + if msg.type == web.WSMsgType.text: + await ws.send_str("Hello, {}".format(msg.data)) + elif msg.type == web.WSMsgType.binary: + await ws.send_bytes(msg.data) + elif msg.type == web.WSMsgType.close: + break + + return ws + + + app = web.Application() + app.add_routes([web.get('/', handle), + web.get('/echo', wshandle), + web.get('/{name}', handle)]) + + web.run_app(app) + + +Documentation +============= + +https://aiohttp.readthedocs.io/ + + +Demos +===== + +https://github.com/aio-libs/aiohttp-demos + + +External links +============== + +* `Third party libraries + <http://aiohttp.readthedocs.io/en/latest/third_party.html>`_ +* `Built with aiohttp + <http://aiohttp.readthedocs.io/en/latest/built_with.html>`_ +* `Powered by aiohttp + <http://aiohttp.readthedocs.io/en/latest/powered_by.html>`_ + +Feel free to make a Pull Request for adding your link to these pages! + + +Communication channels +====================== + +*aio-libs* google group: https://groups.google.com/forum/#!forum/aio-libs + +Feel free to post your questions and ideas here. + +*gitter chat* https://gitter.im/aio-libs/Lobby + +We support `Stack Overflow +<https://stackoverflow.com/questions/tagged/aiohttp>`_. +Please add *aiohttp* tag to your question there. + +Requirements +============ + +- Python >= 3.5.3 +- async-timeout_ +- attrs_ +- chardet_ +- multidict_ +- yarl_ + +Optionally you may install the cChardet_ and aiodns_ libraries (highly +recommended for sake of speed). + +.. _chardet: https://pypi.python.org/pypi/chardet +.. _aiodns: https://pypi.python.org/pypi/aiodns +.. _attrs: https://github.com/python-attrs/attrs +.. _multidict: https://pypi.python.org/pypi/multidict +.. _yarl: https://pypi.python.org/pypi/yarl +.. _async-timeout: https://pypi.python.org/pypi/async_timeout +.. _cChardet: https://pypi.python.org/pypi/cchardet + +License +======= + +``aiohttp`` is offered under the Apache 2 license. + + +Keepsafe +======== + +The aiohttp community would like to thank Keepsafe +(https://www.getkeepsafe.com) for its support in the early days of +the project. + + +Source code +=========== + +The latest developer version is available in a GitHub repository: +https://github.com/aio-libs/aiohttp + +Benchmarks +========== + +If you are interested in efficiency, the AsyncIO community maintains a +list of benchmarks on the official wiki: +https://github.com/python/asyncio/wiki/Benchmarks + +========= +Changelog +========= + +.. + You should *NOT* be adding new change log entries to this file, this + file is managed by towncrier. You *may* edit previous change logs to + fix problems like typo corrections or such. + To add a new change log entry, please see + https://pip.pypa.io/en/latest/development/#adding-a-news-entry + we named the news folder "changes". + + WARNING: Don't drop the next directive! + +.. towncrier release notes start + +3.5.4 (2019-01-12) +================== + +Bugfixes +-------- + +- Fix stream ``.read()`` / ``.readany()`` / ``.iter_any()`` which used to return a + partial content only in case of compressed content + `#3525 <https://github.com/aio-libs/aiohttp/issues/3525>`_ + + +3.5.3 (2019-01-10) +================== + +Bugfixes +-------- + +- Fix type stubs for ``aiohttp.web.run_app(access_log=True)`` and fix edge case of ``access_log=True`` and the event loop being in debug mode. + `#3504 <https://github.com/aio-libs/aiohttp/issues/3504>`_ +- Fix ``aiohttp.ClientTimeout`` type annotations to accept ``None`` for fields + `#3511 <https://github.com/aio-libs/aiohttp/issues/3511>`_ +- Send custom per-request cookies even if session jar is empty + `#3515 <https://github.com/aio-libs/aiohttp/issues/3515>`_ +- Restore Linux binary wheels publishing on PyPI + +---- + + +3.5.2 (2019-01-08) +================== + +Features +-------- + +- ``FileResponse`` from ``web_fileresponse.py`` uses a ``ThreadPoolExecutor`` to work with files asynchronously. + I/O based payloads from ``payload.py`` uses a ``ThreadPoolExecutor`` to work with I/O objects asynchronously. + `#3313 <https://github.com/aio-libs/aiohttp/issues/3313>`_ +- Internal Server Errors in plain text if the browser does not support HTML. + `#3483 <https://github.com/aio-libs/aiohttp/issues/3483>`_ + + +Bugfixes +-------- + +- Preserve MultipartWriter parts headers on write. + + Refactor the way how ``Payload.headers`` are handled. Payload instances now always + have headers and Content-Type defined. + + Fix Payload Content-Disposition header reset after initial creation. + `#3035 <https://github.com/aio-libs/aiohttp/issues/3035>`_ +- Log suppressed exceptions in ``GunicornWebWorker``. + `#3464 <https://github.com/aio-libs/aiohttp/issues/3464>`_ +- Remove wildcard imports. + `#3468 <https://github.com/aio-libs/aiohttp/issues/3468>`_ +- Use the same task for app initialization and web server handling in gunicorn workers. + It allows to use Python3.7 context vars smoothly. + `#3471 <https://github.com/aio-libs/aiohttp/issues/3471>`_ +- Fix handling of chunked+gzipped response when first chunk does not give uncompressed data + `#3477 <https://github.com/aio-libs/aiohttp/issues/3477>`_ +- Replace ``collections.MutableMapping`` with ``collections.abc.MutableMapping`` to avoid a deprecation warning. + `#3480 <https://github.com/aio-libs/aiohttp/issues/3480>`_ +- ``Payload.size`` type annotation changed from `Optional[float]` to `Optional[int]`. + `#3484 <https://github.com/aio-libs/aiohttp/issues/3484>`_ +- Ignore done tasks when cancels pending activities on ``web.run_app`` finalization. + `#3497 <https://github.com/aio-libs/aiohttp/issues/3497>`_ + + +Improved Documentation +---------------------- + +- Add documentation for ``aiohttp.web.HTTPException``. + `#3490 <https://github.com/aio-libs/aiohttp/issues/3490>`_ + + +Misc +---- + +- `#3487 <https://github.com/aio-libs/aiohttp/issues/3487>`_ + + +---- + + +3.5.1 (2018-12-24) +==================== + +- Fix a regression about ``ClientSession._requote_redirect_url`` modification in debug + mode. + +3.5.0 (2018-12-22) +==================== + +Features +-------- + +- The library type annotations are checked in strict mode now. +- Add support for setting cookies for individual request (`#2387 <https://github.com/aio-libs/aiohttp/pull/2387>`_) +- Application.add_domain implementation (`#2809 <https://github.com/aio-libs/aiohttp/pull/2809>`_) +- The default ``app`` in the request returned by ``test_utils.make_mocked_request`` + can now have objects assigned to it and retrieved using the ``[]`` operator. (`#3174 <https://github.com/aio-libs/aiohttp/pull/3174>`_) +- Make ``request.url`` accessible when transport is closed. (`#3177 <https://github.com/aio-libs/aiohttp/pull/3177>`_) +- Add ``zlib_executor_size`` argument to ``Response`` constructor to allow compression to run in a background executor to avoid blocking the main thread and potentially triggering health check failures. (`#3205 <https://github.com/aio-libs/aiohttp/pull/3205>`_) +- Enable users to set `ClientTimeout` in `aiohttp.request` (`#3213 <https://github.com/aio-libs/aiohttp/pull/3213>`_) +- Don't raise a warning if ``NETRC`` environment variable is not set and ``~/.netrc`` file + doesn't exist. (`#3267 <https://github.com/aio-libs/aiohttp/pull/3267>`_) +- Add default logging handler to web.run_app + + If the `Application.debug` flag is set and the default logger `aiohttp.access` is used, access logs will now be output using a `stderr` `StreamHandler` if no handlers are attached. Furthermore, if the default logger has no log level set, the log level will be set to `DEBUG`. (`#3324 <https://github.com/aio-libs/aiohttp/pull/3324>`_) +- Add method argument to ``session.ws_connect()``. + + Sometimes server API requires a different HTTP method for WebSocket connection establishment. + + For example, ``Docker exec`` needs POST. (`#3378 <https://github.com/aio-libs/aiohttp/pull/3378>`_) +- Create a task per request handling. (`#3406 <https://github.com/aio-libs/aiohttp/pull/3406>`_) + + +Bugfixes +-------- + +- Enable passing `access_log_class` via `handler_args` (`#3158 <https://github.com/aio-libs/aiohttp/pull/3158>`_) +- Return empty bytes with end-of-chunk marker in empty stream reader. (`#3186 <https://github.com/aio-libs/aiohttp/pull/3186>`_) +- Accept ``CIMultiDictProxy`` instances for ``headers`` argument in ``web.Response`` + constructor. (`#3207 <https://github.com/aio-libs/aiohttp/pull/3207>`_) +- Don't uppercase HTTP method in parser (`#3233 <https://github.com/aio-libs/aiohttp/pull/3233>`_) +- Make method match regexp RFC-7230 compliant (`#3235 <https://github.com/aio-libs/aiohttp/pull/3235>`_) +- Add ``app.pre_frozen`` state to properly handle startup signals in sub-applications. (`#3237 <https://github.com/aio-libs/aiohttp/pull/3237>`_) +- Enhanced parsing and validation of helpers.BasicAuth.decode. (`#3239 <https://github.com/aio-libs/aiohttp/pull/3239>`_) +- Change imports from collections module in preparation for 3.8. (`#3258 <https://github.com/aio-libs/aiohttp/pull/3258>`_) +- Ensure Host header is added first to ClientRequest to better replicate browser (`#3265 <https://github.com/aio-libs/aiohttp/pull/3265>`_) +- Fix forward compatibility with Python 3.8: importing ABCs directly from the collections module will not be supported anymore. (`#3273 <https://github.com/aio-libs/aiohttp/pull/3273>`_) +- Keep the query string by `normalize_path_middleware`. (`#3278 <https://github.com/aio-libs/aiohttp/pull/3278>`_) +- Fix missing parameter ``raise_for_status`` for aiohttp.request() (`#3290 <https://github.com/aio-libs/aiohttp/pull/3290>`_) +- Bracket IPv6 addresses in the HOST header (`#3304 <https://github.com/aio-libs/aiohttp/pull/3304>`_) +- Fix default message for server ping and pong frames. (`#3308 <https://github.com/aio-libs/aiohttp/pull/3308>`_) +- Fix tests/test_connector.py typo and tests/autobahn/server.py duplicate loop def. (`#3337 <https://github.com/aio-libs/aiohttp/pull/3337>`_) +- Fix false-negative indicator end_of_HTTP_chunk in StreamReader.readchunk function (`#3361 <https://github.com/aio-libs/aiohttp/pull/3361>`_) +- Release HTTP response before raising status exception (`#3364 <https://github.com/aio-libs/aiohttp/pull/3364>`_) +- Fix task cancellation when ``sendfile()`` syscall is used by static file handling. (`#3383 <https://github.com/aio-libs/aiohttp/pull/3383>`_) +- Fix stack trace for ``asyncio.TimeoutError`` which was not logged, when it is caught + in the handler. (`#3414 <https://github.com/aio-libs/aiohttp/pull/3414>`_) + + +Improved Documentation +---------------------- + +- Improve documentation of ``Application.make_handler`` parameters. (`#3152 <https://github.com/aio-libs/aiohttp/pull/3152>`_) +- Fix BaseRequest.raw_headers doc. (`#3215 <https://github.com/aio-libs/aiohttp/pull/3215>`_) +- Fix typo in TypeError exception reason in ``web.Application._handle`` (`#3229 <https://github.com/aio-libs/aiohttp/pull/3229>`_) +- Make server access log format placeholder %b documentation reflect + behavior and docstring. (`#3307 <https://github.com/aio-libs/aiohttp/pull/3307>`_) + + +Deprecations and Removals +------------------------- + +- Deprecate modification of ``session.requote_redirect_url`` (`#2278 <https://github.com/aio-libs/aiohttp/pull/2278>`_) +- Deprecate ``stream.unread_data()`` (`#3260 <https://github.com/aio-libs/aiohttp/pull/3260>`_) +- Deprecated use of boolean in ``resp.enable_compression()`` (`#3318 <https://github.com/aio-libs/aiohttp/pull/3318>`_) +- Encourage creation of aiohttp public objects inside a coroutine (`#3331 <https://github.com/aio-libs/aiohttp/pull/3331>`_) +- Drop dead ``Connection.detach()`` and ``Connection.writer``. Both methods were broken + for more than 2 years. (`#3358 <https://github.com/aio-libs/aiohttp/pull/3358>`_) +- Deprecate ``app.loop``, ``request.loop``, ``client.loop`` and ``connector.loop`` properties. (`#3374 <https://github.com/aio-libs/aiohttp/pull/3374>`_) +- Deprecate explicit debug argument. Use asyncio debug mode instead. (`#3381 <https://github.com/aio-libs/aiohttp/pull/3381>`_) +- Deprecate body parameter in HTTPException (and derived classes) constructor. (`#3385 <https://github.com/aio-libs/aiohttp/pull/3385>`_) +- Deprecate bare connector close, use ``async with connector:`` and ``await connector.close()`` instead. (`#3417 <https://github.com/aio-libs/aiohttp/pull/3417>`_) +- Deprecate obsolete ``read_timeout`` and ``conn_timeout`` in ``ClientSession`` constructor. (`#3438 <https://github.com/aio-libs/aiohttp/pull/3438>`_) + + +Misc +---- + +- #3341, #3351 + diff --git a/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/RECORD b/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/RECORD new file mode 100644 index 0000000..e7ada20 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/RECORD @@ -0,0 +1,124 @@ +aiohttp-3.5.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +aiohttp-3.5.4.dist-info/LICENSE.txt,sha256=b9UkPpLdf5jsacesN3co50kFcJ_1J6W_mNbQJjwE9bY,11332 +aiohttp-3.5.4.dist-info/METADATA,sha256=vpBjLbRZ9Tbi4DEj6aDUlGbj-HJPHa8Wihktdh4Z9U0,16950 +aiohttp-3.5.4.dist-info/RECORD,, +aiohttp-3.5.4.dist-info/WHEEL,sha256=3E7Ufb0sclzIFi481P8ZW7dVDuh1OlhoQ4UXZwnlEiE,109 +aiohttp-3.5.4.dist-info/top_level.txt,sha256=iv-JIaacmTl-hSho3QmphcKnbRRYx1st47yjz_178Ro,8 +aiohttp/__init__.py,sha256=GdkiBfeUQa38wScKQYLH4mRL-20MqARHC0ljV6Naf8w,4948 +aiohttp/__pycache__/__init__.cpython-36.pyc,, +aiohttp/__pycache__/abc.cpython-36.pyc,, +aiohttp/__pycache__/base_protocol.cpython-36.pyc,, +aiohttp/__pycache__/client.cpython-36.pyc,, +aiohttp/__pycache__/client_exceptions.cpython-36.pyc,, +aiohttp/__pycache__/client_proto.cpython-36.pyc,, +aiohttp/__pycache__/client_reqrep.cpython-36.pyc,, +aiohttp/__pycache__/client_ws.cpython-36.pyc,, +aiohttp/__pycache__/connector.cpython-36.pyc,, +aiohttp/__pycache__/cookiejar.cpython-36.pyc,, +aiohttp/__pycache__/formdata.cpython-36.pyc,, +aiohttp/__pycache__/frozenlist.cpython-36.pyc,, +aiohttp/__pycache__/hdrs.cpython-36.pyc,, +aiohttp/__pycache__/helpers.cpython-36.pyc,, +aiohttp/__pycache__/http.cpython-36.pyc,, +aiohttp/__pycache__/http_exceptions.cpython-36.pyc,, +aiohttp/__pycache__/http_parser.cpython-36.pyc,, +aiohttp/__pycache__/http_websocket.cpython-36.pyc,, +aiohttp/__pycache__/http_writer.cpython-36.pyc,, +aiohttp/__pycache__/locks.cpython-36.pyc,, +aiohttp/__pycache__/log.cpython-36.pyc,, +aiohttp/__pycache__/multipart.cpython-36.pyc,, +aiohttp/__pycache__/payload.cpython-36.pyc,, +aiohttp/__pycache__/payload_streamer.cpython-36.pyc,, +aiohttp/__pycache__/pytest_plugin.cpython-36.pyc,, +aiohttp/__pycache__/resolver.cpython-36.pyc,, +aiohttp/__pycache__/signals.cpython-36.pyc,, +aiohttp/__pycache__/streams.cpython-36.pyc,, +aiohttp/__pycache__/tcp_helpers.cpython-36.pyc,, +aiohttp/__pycache__/test_utils.cpython-36.pyc,, +aiohttp/__pycache__/tracing.cpython-36.pyc,, +aiohttp/__pycache__/typedefs.cpython-36.pyc,, +aiohttp/__pycache__/web.cpython-36.pyc,, +aiohttp/__pycache__/web_app.cpython-36.pyc,, +aiohttp/__pycache__/web_exceptions.cpython-36.pyc,, +aiohttp/__pycache__/web_fileresponse.cpython-36.pyc,, +aiohttp/__pycache__/web_log.cpython-36.pyc,, +aiohttp/__pycache__/web_middlewares.cpython-36.pyc,, +aiohttp/__pycache__/web_protocol.cpython-36.pyc,, +aiohttp/__pycache__/web_request.cpython-36.pyc,, +aiohttp/__pycache__/web_response.cpython-36.pyc,, +aiohttp/__pycache__/web_routedef.cpython-36.pyc,, +aiohttp/__pycache__/web_runner.cpython-36.pyc,, +aiohttp/__pycache__/web_server.cpython-36.pyc,, +aiohttp/__pycache__/web_urldispatcher.cpython-36.pyc,, +aiohttp/__pycache__/web_ws.cpython-36.pyc,, +aiohttp/__pycache__/worker.cpython-36.pyc,, +aiohttp/_cparser.pxd,sha256=tgw30SL6kQSczzGMlMhx2Cuhf_O8P8ZPimVCb85xILc,3959 +aiohttp/_find_header.c,sha256=lWc5w3UZiVd3ni60DuFDSSPzsaQUhAQcERDGBOqeML8,189932 +aiohttp/_find_header.h,sha256=5oOgQ85nF6V7rpU8NhyE5vyGkTo1Cgf1GIYrtxSTzQI,170 +aiohttp/_find_header.pxd,sha256=0GfwFCPN2zxEKTO1_MA5sYq2UfzsG8kcV3aTqvwlz3g,68 +aiohttp/_frozenlist.c,sha256=y98wE-b4rxP9GCcT-WCx5Pt_WU3RBrs-w-QeKZ7XE34,287338 +aiohttp/_frozenlist.cpython-36m-x86_64-linux-gnu.so,sha256=BPMlpEYi2nMlPWcsi-bxZvb-XOcuX6d6LGngfH5uwyo,313659 +aiohttp/_frozenlist.pyx,sha256=BD8LcERExsWdo4qzuuQ84f-L_pHVzkUQO0lEAOe3Fog,2605 +aiohttp/_headers.pxi,sha256=XgJL5FQRwL4uZQfegYShPclsErUlvG_xuMHs7dp_2-o,2027 +aiohttp/_helpers.c,sha256=QhGjJ2v5NuDgkX23Bmcs7HpowupE1tz1im8PuZdISbI,207048 +aiohttp/_helpers.cpython-36m-x86_64-linux-gnu.so,sha256=JDQhkNQpOfKl1x7zKjAshsGRJnq6zKCdU0ynm4VXWMc,217613 +aiohttp/_helpers.pyi,sha256=mJRb5YdG8DxYbPfVddGRGmi93qqaJM30L1qFpgSKQuA,204 +aiohttp/_helpers.pyx,sha256=XeLbNft5X_4ifi8QB8i6TyrRuayijMSO3IDHeSA89uM,1049 +aiohttp/_http_parser.c,sha256=WIyFvlOUcAmTRpBPeFl57lbj9hkQfuMWNTPDzOku-cc,994097 +aiohttp/_http_parser.cpython-36m-x86_64-linux-gnu.so,sha256=qKARszmN0fQMCExRda_okOfGU7tyWSYCHp3w-ipSlfs,1583046 +aiohttp/_http_parser.pyx,sha256=qAeXR88_UXU2ontoLIq7hg7M2KHjY982iJeH_u7aXXs,28672 +aiohttp/_http_writer.c,sha256=YyFijS8A3erHfOa8hb95PHfnZJnxEnLdHHkVME0o8bE,205820 +aiohttp/_http_writer.cpython-36m-x86_64-linux-gnu.so,sha256=D3qnjzCUqOIpAzNGnkSC5ZwzMHxVH7Kl30xwVS0_K6Y,199248 +aiohttp/_http_writer.pyx,sha256=vnanyXytNqyi6oqxELg5ARJ8LhtB8mDGxNfz6DdvH6E,4193 +aiohttp/_websocket.c,sha256=uMC3H3T9yqN7fsOcYC0gLNfcrk3QkV199WLaHoshW0U,135134 +aiohttp/_websocket.cpython-36m-x86_64-linux-gnu.so,sha256=X75euK1WC5MrmgTSJ3g_QKjNgramgGXiimTifwU_zoo,102618 +aiohttp/_websocket.pyx,sha256=tJfygcVwKF_Xb6Pg48a6t50YO2xY4Rg0Wj7LcJJMi-U,1559 +aiohttp/abc.py,sha256=lsf2bz-9KtqLhtI-e-tmgp3ynziMypYyEHvwOnFg7lQ,5392 +aiohttp/base_protocol.py,sha256=kv6AbDw8ZQOyB9Hm2bOaPZyXcAbUUwFOO2lbAmArpfw,2644 +aiohttp/client.py,sha256=hXh0WgGqhl80gVDlkuzgrHVaCxxkg_A9_mrhOkdSb-s,42549 +aiohttp/client_exceptions.py,sha256=3e7SWwDXDhUO5npOhwgdL6K8tXMTdVyv58rjQboY4Yo,7547 +aiohttp/client_proto.py,sha256=l1bLzhVx8hHOuS8nBPH6wNU15S-P6z_OMtpx_tPRi54,8001 +aiohttp/client_reqrep.py,sha256=LUhjuCGyJs55LcH_Sr3AMcAhS1XlcCPM73rc8C3_GV0,35793 +aiohttp/client_ws.py,sha256=AQlj-peBA0mGyra1t38sWlfV28MEM0SAATRXp1TsF9I,10694 +aiohttp/connector.py,sha256=AORmJFz8WLuAjca5O582FKCC74f6emuXdZfhWzvPpx4,39556 +aiohttp/cookiejar.py,sha256=ghkcBC9JhqKFz3InpJ4l2_stXLVv6qORX1303vepQUI,11268 +aiohttp/formdata.py,sha256=VZCo9kmDb50lQUcRMDfAH3d5lnRxBq_AX38ge8vFI00,5807 +aiohttp/frozenlist.py,sha256=I4zR368wRHXp402Z3f5lhd5i48b6A66MhHncW1JGkb4,1781 +aiohttp/frozenlist.pyi,sha256=fkQEKqDR6nOjXDx2cXvfCcetoMQQdzjXs2uoA7uVaP4,1431 +aiohttp/hdrs.py,sha256=iaXnHXOR_Dx0rvVkvmIZhc-7Egf2ByuSDI9tqskS0kQ,3449 +aiohttp/helpers.py,sha256=q_AZMU7hOJBvtTklhQpwa1DTH3uR5h2ZA0vLlsVGSQs,22633 +aiohttp/http.py,sha256=mYXbwDI8bF9D1RShF0EGtVTx7OgIyksbmKR4b_4RgBo,1385 +aiohttp/http_exceptions.py,sha256=yb2XryY_kktgiADcYn1nS0Dm-RVhhy0J6R0qfg-JyWo,2358 +aiohttp/http_parser.py,sha256=v9csKsBv-rmOir1ikRBcDJDAaPMsFen1HoP8_Viz6xE,27912 +aiohttp/http_websocket.py,sha256=GpysCWVOOQyRzvLSq0IHhVG0goWSnv5Rmwf91uUwowI,24594 +aiohttp/http_writer.py,sha256=XhGCqy_lzdLyxIzjQ_ufPFfJKTTWx1sb6YZWvrOFUPA,5239 +aiohttp/locks.py,sha256=l-cW8wUbIkHaovghT7gpY8Yp5Vlo-u2G7_CR5xQqEQ8,1234 +aiohttp/log.py,sha256=kOWU6EcyBQESISm27vc8dVEz_h9zxozLa5WCya1RzhQ,325 +aiohttp/multipart.py,sha256=h76ZKaEdP2moxWK0qNydR7zYMgGMoyqkkRssTmrtx1A,32277 +aiohttp/payload.py,sha256=QjzdcLJ89GGqFSN_SdMgEvw_Id4UEXZ9mL_2fAGF4gk,14027 +aiohttp/payload_streamer.py,sha256=ZNWaWwAxOIricwfjH4-YrkCqehowVizM6fJ_JVDR480,2103 +aiohttp/py.typed,sha256=E84IaZyFwfLqvXjOVW4LS6WH7QOaKEFpNh9TFyzHNQc,6 +aiohttp/pytest_plugin.py,sha256=8KOUt8KXu_3NkPQ8DYwgqKfdAvVZ--zHnm0EQiKFPkI,10332 +aiohttp/resolver.py,sha256=pRF91jOjTNuCll5TMRjTe1OxnGZK4wjAggYLgvzXkGQ,3626 +aiohttp/signals.py,sha256=_ge2XQXBDWHoyCI4E-nXC-sOEJGVrJm0zYGHH0E5woQ,948 +aiohttp/signals.pyi,sha256=mrEA9Ve08W22L_yI8_F7PkdQUjid_VsL3o9tcC0Ud0E,325 +aiohttp/streams.py,sha256=i1Q7_RzolpEQ63AkalkeeSHsMPOaHAfjnwlxvRmYi-k,20371 +aiohttp/tcp_helpers.py,sha256=1WVYM2C-HZQpgcksTyadRsl2_WeuXh_ECUxCcwji5d8,1631 +aiohttp/test_utils.py,sha256=0a0034sQM72grdRxjTnYpHtkUvMwstshfc9jVPXsZ1U,20525 +aiohttp/tracing.py,sha256=yfOJWzRQgRdDcdjsDLqPul3anYyVFhztDeyoM01oIq8,12662 +aiohttp/typedefs.py,sha256=6HXEWJNZGUuNewFQUjSkCzKP8rQVZSKqfdNnIgofZWs,1259 +aiohttp/web.py,sha256=2edP5uK2BU6wTXAWzGp2lgYq_CyU3vzLaQa0I_Ehg_0,15121 +aiohttp/web_app.py,sha256=vKuHVhH9d-Qg5Pg1A8MbaZPeJttkSsghpuo2JYvUJks,17212 +aiohttp/web_exceptions.py,sha256=-CQI325lMa9W-1WeJ2RlHApOOQ74ctHd6OyeKG_EyT4,10079 +aiohttp/web_fileresponse.py,sha256=0Oln1kTqD80EhftG2jqVbsuSLr0Gbjpuk4T3D06fFjk,12712 +aiohttp/web_log.py,sha256=J33FXqV36hWcyk8YfFNXDj3SI40uoOQzEX2Fhni7bzc,8269 +aiohttp/web_middlewares.py,sha256=BY05dLo9rsRZttRmjDUHEokiHQLzW_ffENZL9q-Grf4,4188 +aiohttp/web_protocol.py,sha256=q0zEVHMSLdmUw_KdI6zVeOj_k3lLZWMj4PJHo8h9c54,21394 +aiohttp/web_request.py,sha256=M8ARRuEso-V7G675-xWY-lqLBGDmBVRGPujaufKZGuo,25234 +aiohttp/web_response.py,sha256=nmldFBqLLaCECoaYUw54-2BVHB6Xz6XgGMK0O5ymrjo,25511 +aiohttp/web_routedef.py,sha256=jQ8Y0hDHYuMBTtsuo17qjkQLBMoacbkh4zaUdwSJJ8s,6077 +aiohttp/web_runner.py,sha256=_LUDpAc6vDOWfNJ-DBj3NZPtID0gBPH6JeMXtGSt4OU,10088 +aiohttp/web_server.py,sha256=527MjryEIqWArFHMJlEABg3TcZgYtyJIFHY19Yvf3AI,2165 +aiohttp/web_urldispatcher.py,sha256=x-O0Tqxn6xqMdQ5Qrg0hxIli-DbOfxLEDpgX_j_FGQU,38788 +aiohttp/web_ws.py,sha256=7UpGsVFZw_YtpJOWPLeDnGmL6PtirxAkc8r-pGUQbt0,17082 +aiohttp/worker.py,sha256=hekSLWLEJVrHrIrZ3dQga7Jzgtx_Cf3ZW7Zfd1J1G3A,8178 diff --git a/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/WHEEL b/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/WHEEL new file mode 100644 index 0000000..07c36aa --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.32.3) +Root-Is-Purelib: false +Tag: cp36-cp36m-manylinux1_x86_64 + diff --git a/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/top_level.txt b/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/top_level.txt new file mode 100644 index 0000000..ee4ba4f --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp-3.5.4.dist-info/top_level.txt @@ -0,0 +1 @@ +aiohttp diff --git a/venv/lib/python3.6/site-packages/aiohttp/__init__.py b/venv/lib/python3.6/site-packages/aiohttp/__init__.py new file mode 100644 index 0000000..84a9d39 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/__init__.py @@ -0,0 +1,216 @@ +__version__ = '3.5.4' + +from typing import Tuple # noqa + +from . import hdrs +from .client import ( + BaseConnector, + ClientConnectionError, + ClientConnectorCertificateError, + ClientConnectorError, + ClientConnectorSSLError, + ClientError, + ClientHttpProxyError, + ClientOSError, + ClientPayloadError, + ClientProxyConnectionError, + ClientResponse, + ClientRequest, + ClientResponseError, + ClientSSLError, + ClientSession, + ClientTimeout, + ClientWebSocketResponse, + ContentTypeError, + Fingerprint, + InvalidURL, + RequestInfo, + ServerConnectionError, + ServerDisconnectedError, + ServerFingerprintMismatch, + ServerTimeoutError, + TCPConnector, + UnixConnector, + WSServerHandshakeError, + request +) + +from .cookiejar import CookieJar, DummyCookieJar +from .formdata import FormData +from .helpers import BasicAuth, ChainMapProxy +from .http import ( + HttpVersion, + HttpVersion10, + HttpVersion11, + WSMsgType, + WSCloseCode, + WSMessage, + WebSocketError +) + +from .multipart import ( + BadContentDispositionHeader, + BadContentDispositionParam, + BodyPartReader, + MultipartReader, + MultipartWriter, + content_disposition_filename, + parse_content_disposition +) + +from .payload import ( + AsyncIterablePayload, + BufferedReaderPayload, + BytesIOPayload, + BytesPayload, + IOBasePayload, + JsonPayload, + PAYLOAD_REGISTRY, + Payload, + StringIOPayload, + StringPayload, + TextIOPayload, + get_payload, + payload_type +) + +from .payload_streamer import streamer + +from .resolver import AsyncResolver, DefaultResolver, ThreadedResolver + +from .signals import Signal + +from .streams import ( + DataQueue, + EMPTY_PAYLOAD, + EofStream, + FlowControlDataQueue, + StreamReader +) + +from .tracing import ( + TraceConfig, + TraceConnectionCreateEndParams, + TraceConnectionCreateStartParams, + TraceConnectionQueuedEndParams, + TraceConnectionQueuedStartParams, + TraceConnectionReuseconnParams, + TraceDnsCacheHitParams, + TraceDnsCacheMissParams, + TraceDnsResolveHostEndParams, + TraceDnsResolveHostStartParams, + TraceRequestChunkSentParams, + TraceRequestEndParams, + TraceRequestExceptionParams, + TraceRequestRedirectParams, + TraceRequestStartParams, + TraceResponseChunkReceivedParams +) + +__all__ = ( + 'hdrs', + # client + 'BaseConnector', + 'ClientConnectionError', + 'ClientConnectorCertificateError', + 'ClientConnectorError', + 'ClientConnectorSSLError', + 'ClientError', + 'ClientHttpProxyError', + 'ClientOSError', + 'ClientPayloadError', + 'ClientProxyConnectionError', + 'ClientResponse', + 'ClientRequest', + 'ClientResponseError', + 'ClientSSLError', + 'ClientSession', + 'ClientTimeout', + 'ClientWebSocketResponse', + 'ContentTypeError', + 'Fingerprint', + 'InvalidURL', + 'RequestInfo', + 'ServerConnectionError', + 'ServerDisconnectedError', + 'ServerFingerprintMismatch', + 'ServerTimeoutError', + 'TCPConnector', + 'UnixConnector', + 'WSServerHandshakeError', + 'request', + # cookiejar + 'CookieJar', + 'DummyCookieJar', + # formdata + 'FormData', + # helpers + 'BasicAuth', + 'ChainMapProxy', + # http + 'HttpVersion', + 'HttpVersion10', + 'HttpVersion11', + 'WSMsgType', + 'WSCloseCode', + 'WSMessage', + 'WebSocketError', + # multipart + 'BadContentDispositionHeader', + 'BadContentDispositionParam', + 'BodyPartReader', + 'MultipartReader', + 'MultipartWriter', + 'content_disposition_filename', + 'parse_content_disposition', + # payload + 'AsyncIterablePayload', + 'BufferedReaderPayload', + 'BytesIOPayload', + 'BytesPayload', + 'IOBasePayload', + 'JsonPayload', + 'PAYLOAD_REGISTRY', + 'Payload', + 'StringIOPayload', + 'StringPayload', + 'TextIOPayload', + 'get_payload', + 'payload_type', + # payload_streamer + 'streamer', + # resolver + 'AsyncResolver', + 'DefaultResolver', + 'ThreadedResolver', + # signals + 'Signal', + 'DataQueue', + 'EMPTY_PAYLOAD', + 'EofStream', + 'FlowControlDataQueue', + 'StreamReader', + # tracing + 'TraceConfig', + 'TraceConnectionCreateEndParams', + 'TraceConnectionCreateStartParams', + 'TraceConnectionQueuedEndParams', + 'TraceConnectionQueuedStartParams', + 'TraceConnectionReuseconnParams', + 'TraceDnsCacheHitParams', + 'TraceDnsCacheMissParams', + 'TraceDnsResolveHostEndParams', + 'TraceDnsResolveHostStartParams', + 'TraceRequestChunkSentParams', + 'TraceRequestEndParams', + 'TraceRequestExceptionParams', + 'TraceRequestRedirectParams', + 'TraceRequestStartParams', + 'TraceResponseChunkReceivedParams', +) # type: Tuple[str, ...] + +try: + from .worker import GunicornWebWorker, GunicornUVLoopWebWorker # noqa + __all__ += ('GunicornWebWorker', 'GunicornUVLoopWebWorker') +except ImportError: # pragma: no cover + pass diff --git a/venv/lib/python3.6/site-packages/aiohttp/_cparser.pxd b/venv/lib/python3.6/site-packages/aiohttp/_cparser.pxd new file mode 100644 index 0000000..0f9fc00 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_cparser.pxd @@ -0,0 +1,140 @@ +from libc.stdint cimport uint16_t, uint32_t, uint64_t + + +cdef extern from "../vendor/http-parser/http_parser.h": + ctypedef int (*http_data_cb) (http_parser*, + const char *at, + size_t length) except -1 + + ctypedef int (*http_cb) (http_parser*) except -1 + + struct http_parser: + unsigned int type + unsigned int flags + unsigned int state + unsigned int header_state + unsigned int index + + uint32_t nread + uint64_t content_length + + unsigned short http_major + unsigned short http_minor + unsigned int status_code + unsigned int method + unsigned int http_errno + + unsigned int upgrade + + void *data + + struct http_parser_settings: + http_cb on_message_begin + http_data_cb on_url + http_data_cb on_status + http_data_cb on_header_field + http_data_cb on_header_value + http_cb on_headers_complete + http_data_cb on_body + http_cb on_message_complete + http_cb on_chunk_header + http_cb on_chunk_complete + + enum http_parser_type: + HTTP_REQUEST, + HTTP_RESPONSE, + HTTP_BOTH + + enum http_errno: + HPE_OK, + HPE_CB_message_begin, + HPE_CB_url, + HPE_CB_header_field, + HPE_CB_header_value, + HPE_CB_headers_complete, + HPE_CB_body, + HPE_CB_message_complete, + HPE_CB_status, + HPE_CB_chunk_header, + HPE_CB_chunk_complete, + HPE_INVALID_EOF_STATE, + HPE_HEADER_OVERFLOW, + HPE_CLOSED_CONNECTION, + HPE_INVALID_VERSION, + HPE_INVALID_STATUS, + HPE_INVALID_METHOD, + HPE_INVALID_URL, + HPE_INVALID_HOST, + HPE_INVALID_PORT, + HPE_INVALID_PATH, + HPE_INVALID_QUERY_STRING, + HPE_INVALID_FRAGMENT, + HPE_LF_EXPECTED, + HPE_INVALID_HEADER_TOKEN, + HPE_INVALID_CONTENT_LENGTH, + HPE_INVALID_CHUNK_SIZE, + HPE_INVALID_CONSTANT, + HPE_INVALID_INTERNAL_STATE, + HPE_STRICT, + HPE_PAUSED, + HPE_UNKNOWN + + enum flags: + F_CHUNKED, + F_CONNECTION_KEEP_ALIVE, + F_CONNECTION_CLOSE, + F_CONNECTION_UPGRADE, + F_TRAILING, + F_UPGRADE, + F_SKIPBODY, + F_CONTENTLENGTH + + enum http_method: + DELETE, GET, HEAD, POST, PUT, CONNECT, OPTIONS, TRACE, COPY, + LOCK, MKCOL, MOVE, PROPFIND, PROPPATCH, SEARCH, UNLOCK, BIND, + REBIND, UNBIND, ACL, REPORT, MKACTIVITY, CHECKOUT, MERGE, + MSEARCH, NOTIFY, SUBSCRIBE, UNSUBSCRIBE, PATCH, PURGE, MKCALENDAR, + LINK, UNLINK + + void http_parser_init(http_parser *parser, http_parser_type type) + + size_t http_parser_execute(http_parser *parser, + const http_parser_settings *settings, + const char *data, + size_t len) + + int http_should_keep_alive(const http_parser *parser) + + void http_parser_settings_init(http_parser_settings *settings) + + const char *http_errno_name(http_errno err) + const char *http_errno_description(http_errno err) + const char *http_method_str(http_method m) + + # URL Parser + + enum http_parser_url_fields: + UF_SCHEMA = 0, + UF_HOST = 1, + UF_PORT = 2, + UF_PATH = 3, + UF_QUERY = 4, + UF_FRAGMENT = 5, + UF_USERINFO = 6, + UF_MAX = 7 + + struct http_parser_url_field_data: + uint16_t off + uint16_t len + + struct http_parser_url: + uint16_t field_set + uint16_t port + http_parser_url_field_data[<int>UF_MAX] field_data + + void http_parser_url_init(http_parser_url *u) + + int http_parser_parse_url(const char *buf, + size_t buflen, + int is_connect, + http_parser_url *u) diff --git a/venv/lib/python3.6/site-packages/aiohttp/_find_header.c b/venv/lib/python3.6/site-packages/aiohttp/_find_header.c new file mode 100644 index 0000000..fbc6c4f --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_find_header.c @@ -0,0 +1,10000 @@ +/* The file is autogenerated from aiohttp/hdrs.py +Run ./tools/gen.py to update it after the origin changing. */ + +#include "_find_header.h" + +#define NEXT_CHAR() \ +{ \ + count++; \ + if (count == size) { \ + /* end of search */ \ + return -1; \ + } \ + pchar++; \ + ch = *pchar; \ + last = (count == size -1); \ +} while(0); + +int +find_header(const char *str, int size) +{ + char *pchar = str; + int last; + char ch; + int count = -1; + pchar--; + +INITIAL: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto A; + case 'a': + if (last) { + return -1; + } + goto A; + case 'C': + if (last) { + return -1; + } + goto C; + case 'c': + if (last) { + return -1; + } + goto C; + case 'D': + if (last) { + return -1; + } + goto D; + case 'd': + if (last) { + return -1; + } + goto D; + case 'E': + if (last) { + return -1; + } + goto E; + case 'e': + if (last) { + return -1; + } + goto E; + case 'F': + if (last) { + return -1; + } + goto F; + case 'f': + if (last) { + return -1; + } + goto F; + case 'H': + if (last) { + return -1; + } + goto H; + case 'h': + if (last) { + return -1; + } + goto H; + case 'I': + if (last) { + return -1; + } + goto I; + case 'i': + if (last) { + return -1; + } + goto I; + case 'K': + if (last) { + return -1; + } + goto K; + case 'k': + if (last) { + return -1; + } + goto K; + case 'L': + if (last) { + return -1; + } + goto L; + case 'l': + if (last) { + return -1; + } + goto L; + case 'M': + if (last) { + return -1; + } + goto M; + case 'm': + if (last) { + return -1; + } + goto M; + case 'O': + if (last) { + return -1; + } + goto O; + case 'o': + if (last) { + return -1; + } + goto O; + case 'P': + if (last) { + return -1; + } + goto P; + case 'p': + if (last) { + return -1; + } + goto P; + case 'R': + if (last) { + return -1; + } + goto R; + case 'r': + if (last) { + return -1; + } + goto R; + case 'S': + if (last) { + return -1; + } + goto S; + case 's': + if (last) { + return -1; + } + goto S; + case 'T': + if (last) { + return -1; + } + goto T; + case 't': + if (last) { + return -1; + } + goto T; + case 'U': + if (last) { + return -1; + } + goto U; + case 'u': + if (last) { + return -1; + } + goto U; + case 'V': + if (last) { + return -1; + } + goto V; + case 'v': + if (last) { + return -1; + } + goto V; + case 'W': + if (last) { + return -1; + } + goto W; + case 'w': + if (last) { + return -1; + } + goto W; + case 'X': + if (last) { + return -1; + } + goto X; + case 'x': + if (last) { + return -1; + } + goto X; + default: + return -1; + } + +A: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto AC; + case 'c': + if (last) { + return -1; + } + goto AC; + case 'G': + if (last) { + return -1; + } + goto AG; + case 'g': + if (last) { + return -1; + } + goto AG; + case 'L': + if (last) { + return -1; + } + goto AL; + case 'l': + if (last) { + return -1; + } + goto AL; + case 'U': + if (last) { + return -1; + } + goto AU; + case 'u': + if (last) { + return -1; + } + goto AU; + default: + return -1; + } + +AC: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto ACC; + case 'c': + if (last) { + return -1; + } + goto ACC; + default: + return -1; + } + +ACC: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCE; + case 'e': + if (last) { + return -1; + } + goto ACCE; + default: + return -1; + } + +ACCE: + NEXT_CHAR(); + switch (ch) { + case 'P': + if (last) { + return -1; + } + goto ACCEP; + case 'p': + if (last) { + return -1; + } + goto ACCEP; + case 'S': + if (last) { + return -1; + } + goto ACCES; + case 's': + if (last) { + return -1; + } + goto ACCES; + default: + return -1; + } + +ACCEP: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return 0; + } + goto ACCEPT; + case 't': + if (last) { + return 0; + } + goto ACCEPT; + default: + return -1; + } + +ACCEPT: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto ACCEPT_; + default: + return -1; + } + +ACCEPT_: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto ACCEPT_C; + case 'c': + if (last) { + return -1; + } + goto ACCEPT_C; + case 'E': + if (last) { + return -1; + } + goto ACCEPT_E; + case 'e': + if (last) { + return -1; + } + goto ACCEPT_E; + case 'L': + if (last) { + return -1; + } + goto ACCEPT_L; + case 'l': + if (last) { + return -1; + } + goto ACCEPT_L; + case 'R': + if (last) { + return -1; + } + goto ACCEPT_R; + case 'r': + if (last) { + return -1; + } + goto ACCEPT_R; + default: + return -1; + } + +ACCEPT_C: + NEXT_CHAR(); + switch (ch) { + case 'H': + if (last) { + return -1; + } + goto ACCEPT_CH; + case 'h': + if (last) { + return -1; + } + goto ACCEPT_CH; + default: + return -1; + } + +ACCEPT_CH: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto ACCEPT_CHA; + case 'a': + if (last) { + return -1; + } + goto ACCEPT_CHA; + default: + return -1; + } + +ACCEPT_CHA: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto ACCEPT_CHAR; + case 'r': + if (last) { + return -1; + } + goto ACCEPT_CHAR; + default: + return -1; + } + +ACCEPT_CHAR: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto ACCEPT_CHARS; + case 's': + if (last) { + return -1; + } + goto ACCEPT_CHARS; + default: + return -1; + } + +ACCEPT_CHARS: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCEPT_CHARSE; + case 'e': + if (last) { + return -1; + } + goto ACCEPT_CHARSE; + default: + return -1; + } + +ACCEPT_CHARSE: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return 1; + } + goto ACCEPT_CHARSET; + case 't': + if (last) { + return 1; + } + goto ACCEPT_CHARSET; + default: + return -1; + } + +ACCEPT_E: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto ACCEPT_EN; + case 'n': + if (last) { + return -1; + } + goto ACCEPT_EN; + default: + return -1; + } + +ACCEPT_EN: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto ACCEPT_ENC; + case 'c': + if (last) { + return -1; + } + goto ACCEPT_ENC; + default: + return -1; + } + +ACCEPT_ENC: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto ACCEPT_ENCO; + case 'o': + if (last) { + return -1; + } + goto ACCEPT_ENCO; + default: + return -1; + } + +ACCEPT_ENCO: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto ACCEPT_ENCOD; + case 'd': + if (last) { + return -1; + } + goto ACCEPT_ENCOD; + default: + return -1; + } + +ACCEPT_ENCOD: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto ACCEPT_ENCODI; + case 'i': + if (last) { + return -1; + } + goto ACCEPT_ENCODI; + default: + return -1; + } + +ACCEPT_ENCODI: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto ACCEPT_ENCODIN; + case 'n': + if (last) { + return -1; + } + goto ACCEPT_ENCODIN; + default: + return -1; + } + +ACCEPT_ENCODIN: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return 2; + } + goto ACCEPT_ENCODING; + case 'g': + if (last) { + return 2; + } + goto ACCEPT_ENCODING; + default: + return -1; + } + +ACCEPT_L: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto ACCEPT_LA; + case 'a': + if (last) { + return -1; + } + goto ACCEPT_LA; + default: + return -1; + } + +ACCEPT_LA: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto ACCEPT_LAN; + case 'n': + if (last) { + return -1; + } + goto ACCEPT_LAN; + default: + return -1; + } + +ACCEPT_LAN: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto ACCEPT_LANG; + case 'g': + if (last) { + return -1; + } + goto ACCEPT_LANG; + default: + return -1; + } + +ACCEPT_LANG: + NEXT_CHAR(); + switch (ch) { + case 'U': + if (last) { + return -1; + } + goto ACCEPT_LANGU; + case 'u': + if (last) { + return -1; + } + goto ACCEPT_LANGU; + default: + return -1; + } + +ACCEPT_LANGU: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto ACCEPT_LANGUA; + case 'a': + if (last) { + return -1; + } + goto ACCEPT_LANGUA; + default: + return -1; + } + +ACCEPT_LANGUA: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto ACCEPT_LANGUAG; + case 'g': + if (last) { + return -1; + } + goto ACCEPT_LANGUAG; + default: + return -1; + } + +ACCEPT_LANGUAG: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 3; + } + goto ACCEPT_LANGUAGE; + case 'e': + if (last) { + return 3; + } + goto ACCEPT_LANGUAGE; + default: + return -1; + } + +ACCEPT_R: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto ACCEPT_RA; + case 'a': + if (last) { + return -1; + } + goto ACCEPT_RA; + default: + return -1; + } + +ACCEPT_RA: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto ACCEPT_RAN; + case 'n': + if (last) { + return -1; + } + goto ACCEPT_RAN; + default: + return -1; + } + +ACCEPT_RAN: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto ACCEPT_RANG; + case 'g': + if (last) { + return -1; + } + goto ACCEPT_RANG; + default: + return -1; + } + +ACCEPT_RANG: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCEPT_RANGE; + case 'e': + if (last) { + return -1; + } + goto ACCEPT_RANGE; + default: + return -1; + } + +ACCEPT_RANGE: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return 4; + } + goto ACCEPT_RANGES; + case 's': + if (last) { + return 4; + } + goto ACCEPT_RANGES; + default: + return -1; + } + +ACCES: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto ACCESS; + case 's': + if (last) { + return -1; + } + goto ACCESS; + default: + return -1; + } + +ACCESS: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto ACCESS_; + default: + return -1; + } + +ACCESS_: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto ACCESS_C; + case 'c': + if (last) { + return -1; + } + goto ACCESS_C; + default: + return -1; + } + +ACCESS_C: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto ACCESS_CO; + case 'o': + if (last) { + return -1; + } + goto ACCESS_CO; + default: + return -1; + } + +ACCESS_CO: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto ACCESS_CON; + case 'n': + if (last) { + return -1; + } + goto ACCESS_CON; + default: + return -1; + } + +ACCESS_CON: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto ACCESS_CONT; + case 't': + if (last) { + return -1; + } + goto ACCESS_CONT; + default: + return -1; + } + +ACCESS_CONT: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto ACCESS_CONTR; + case 'r': + if (last) { + return -1; + } + goto ACCESS_CONTR; + default: + return -1; + } + +ACCESS_CONTR: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto ACCESS_CONTRO; + case 'o': + if (last) { + return -1; + } + goto ACCESS_CONTRO; + default: + return -1; + } + +ACCESS_CONTRO: + NEXT_CHAR(); + switch (ch) { + case 'L': + if (last) { + return -1; + } + goto ACCESS_CONTROL; + case 'l': + if (last) { + return -1; + } + goto ACCESS_CONTROL; + default: + return -1; + } + +ACCESS_CONTROL: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto ACCESS_CONTROL_; + default: + return -1; + } + +ACCESS_CONTROL_: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto ACCESS_CONTROL_A; + case 'a': + if (last) { + return -1; + } + goto ACCESS_CONTROL_A; + case 'E': + if (last) { + return -1; + } + goto ACCESS_CONTROL_E; + case 'e': + if (last) { + return -1; + } + goto ACCESS_CONTROL_E; + case 'M': + if (last) { + return -1; + } + goto ACCESS_CONTROL_M; + case 'm': + if (last) { + return -1; + } + goto ACCESS_CONTROL_M; + case 'R': + if (last) { + return -1; + } + goto ACCESS_CONTROL_R; + case 'r': + if (last) { + return -1; + } + goto ACCESS_CONTROL_R; + default: + return -1; + } + +ACCESS_CONTROL_A: + NEXT_CHAR(); + switch (ch) { + case 'L': + if (last) { + return -1; + } + goto ACCESS_CONTROL_AL; + case 'l': + if (last) { + return -1; + } + goto ACCESS_CONTROL_AL; + default: + return -1; + } + +ACCESS_CONTROL_AL: + NEXT_CHAR(); + switch (ch) { + case 'L': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALL; + case 'l': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALL; + default: + return -1; + } + +ACCESS_CONTROL_ALL: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLO; + case 'o': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLO; + default: + return -1; + } + +ACCESS_CONTROL_ALLO: + NEXT_CHAR(); + switch (ch) { + case 'W': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW; + case 'w': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_C; + case 'c': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_C; + case 'H': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_H; + case 'h': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_H; + case 'M': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_M; + case 'm': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_M; + case 'O': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_O; + case 'o': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_O; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_C: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CR; + case 'r': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CR; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_CR: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CRE; + case 'e': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CRE; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_CRE: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CRED; + case 'd': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CRED; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_CRED: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CREDE; + case 'e': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CREDE; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_CREDE: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CREDEN; + case 'n': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CREDEN; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_CREDEN: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CREDENT; + case 't': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CREDENT; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_CREDENT: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CREDENTI; + case 'i': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CREDENTI; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_CREDENTI: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CREDENTIA; + case 'a': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CREDENTIA; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_CREDENTIA: + NEXT_CHAR(); + switch (ch) { + case 'L': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CREDENTIAL; + case 'l': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_CREDENTIAL; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_CREDENTIAL: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return 5; + } + goto ACCESS_CONTROL_ALLOW_CREDENTIALS; + case 's': + if (last) { + return 5; + } + goto ACCESS_CONTROL_ALLOW_CREDENTIALS; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_H: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_HE; + case 'e': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_HE; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_HE: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_HEA; + case 'a': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_HEA; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_HEA: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_HEAD; + case 'd': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_HEAD; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_HEAD: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_HEADE; + case 'e': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_HEADE; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_HEADE: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_HEADER; + case 'r': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_HEADER; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_HEADER: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return 6; + } + goto ACCESS_CONTROL_ALLOW_HEADERS; + case 's': + if (last) { + return 6; + } + goto ACCESS_CONTROL_ALLOW_HEADERS; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_M: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_ME; + case 'e': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_ME; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_ME: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_MET; + case 't': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_MET; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_MET: + NEXT_CHAR(); + switch (ch) { + case 'H': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_METH; + case 'h': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_METH; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_METH: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_METHO; + case 'o': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_METHO; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_METHO: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_METHOD; + case 'd': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_METHOD; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_METHOD: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return 7; + } + goto ACCESS_CONTROL_ALLOW_METHODS; + case 's': + if (last) { + return 7; + } + goto ACCESS_CONTROL_ALLOW_METHODS; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_O: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_OR; + case 'r': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_OR; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_OR: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_ORI; + case 'i': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_ORI; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_ORI: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_ORIG; + case 'g': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_ORIG; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_ORIG: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_ORIGI; + case 'i': + if (last) { + return -1; + } + goto ACCESS_CONTROL_ALLOW_ORIGI; + default: + return -1; + } + +ACCESS_CONTROL_ALLOW_ORIGI: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return 8; + } + goto ACCESS_CONTROL_ALLOW_ORIGIN; + case 'n': + if (last) { + return 8; + } + goto ACCESS_CONTROL_ALLOW_ORIGIN; + default: + return -1; + } + +ACCESS_CONTROL_E: + NEXT_CHAR(); + switch (ch) { + case 'X': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EX; + case 'x': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EX; + default: + return -1; + } + +ACCESS_CONTROL_EX: + NEXT_CHAR(); + switch (ch) { + case 'P': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXP; + case 'p': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXP; + default: + return -1; + } + +ACCESS_CONTROL_EXP: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPO; + case 'o': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPO; + default: + return -1; + } + +ACCESS_CONTROL_EXPO: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOS; + case 's': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOS; + default: + return -1; + } + +ACCESS_CONTROL_EXPOS: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOSE; + case 'e': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOSE; + default: + return -1; + } + +ACCESS_CONTROL_EXPOSE: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOSE_; + default: + return -1; + } + +ACCESS_CONTROL_EXPOSE_: + NEXT_CHAR(); + switch (ch) { + case 'H': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOSE_H; + case 'h': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOSE_H; + default: + return -1; + } + +ACCESS_CONTROL_EXPOSE_H: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOSE_HE; + case 'e': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOSE_HE; + default: + return -1; + } + +ACCESS_CONTROL_EXPOSE_HE: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOSE_HEA; + case 'a': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOSE_HEA; + default: + return -1; + } + +ACCESS_CONTROL_EXPOSE_HEA: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOSE_HEAD; + case 'd': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOSE_HEAD; + default: + return -1; + } + +ACCESS_CONTROL_EXPOSE_HEAD: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOSE_HEADE; + case 'e': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOSE_HEADE; + default: + return -1; + } + +ACCESS_CONTROL_EXPOSE_HEADE: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOSE_HEADER; + case 'r': + if (last) { + return -1; + } + goto ACCESS_CONTROL_EXPOSE_HEADER; + default: + return -1; + } + +ACCESS_CONTROL_EXPOSE_HEADER: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return 9; + } + goto ACCESS_CONTROL_EXPOSE_HEADERS; + case 's': + if (last) { + return 9; + } + goto ACCESS_CONTROL_EXPOSE_HEADERS; + default: + return -1; + } + +ACCESS_CONTROL_M: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto ACCESS_CONTROL_MA; + case 'a': + if (last) { + return -1; + } + goto ACCESS_CONTROL_MA; + default: + return -1; + } + +ACCESS_CONTROL_MA: + NEXT_CHAR(); + switch (ch) { + case 'X': + if (last) { + return -1; + } + goto ACCESS_CONTROL_MAX; + case 'x': + if (last) { + return -1; + } + goto ACCESS_CONTROL_MAX; + default: + return -1; + } + +ACCESS_CONTROL_MAX: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto ACCESS_CONTROL_MAX_; + default: + return -1; + } + +ACCESS_CONTROL_MAX_: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto ACCESS_CONTROL_MAX_A; + case 'a': + if (last) { + return -1; + } + goto ACCESS_CONTROL_MAX_A; + default: + return -1; + } + +ACCESS_CONTROL_MAX_A: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto ACCESS_CONTROL_MAX_AG; + case 'g': + if (last) { + return -1; + } + goto ACCESS_CONTROL_MAX_AG; + default: + return -1; + } + +ACCESS_CONTROL_MAX_AG: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 10; + } + goto ACCESS_CONTROL_MAX_AGE; + case 'e': + if (last) { + return 10; + } + goto ACCESS_CONTROL_MAX_AGE; + default: + return -1; + } + +ACCESS_CONTROL_R: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCESS_CONTROL_RE; + case 'e': + if (last) { + return -1; + } + goto ACCESS_CONTROL_RE; + default: + return -1; + } + +ACCESS_CONTROL_RE: + NEXT_CHAR(); + switch (ch) { + case 'Q': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQ; + case 'q': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQ; + default: + return -1; + } + +ACCESS_CONTROL_REQ: + NEXT_CHAR(); + switch (ch) { + case 'U': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQU; + case 'u': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQU; + default: + return -1; + } + +ACCESS_CONTROL_REQU: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUE; + case 'e': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUE; + default: + return -1; + } + +ACCESS_CONTROL_REQUE: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUES; + case 's': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUES; + default: + return -1; + } + +ACCESS_CONTROL_REQUES: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST; + case 't': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST; + default: + return -1; + } + +ACCESS_CONTROL_REQUEST: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_; + default: + return -1; + } + +ACCESS_CONTROL_REQUEST_: + NEXT_CHAR(); + switch (ch) { + case 'H': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_H; + case 'h': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_H; + case 'M': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_M; + case 'm': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_M; + default: + return -1; + } + +ACCESS_CONTROL_REQUEST_H: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_HE; + case 'e': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_HE; + default: + return -1; + } + +ACCESS_CONTROL_REQUEST_HE: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_HEA; + case 'a': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_HEA; + default: + return -1; + } + +ACCESS_CONTROL_REQUEST_HEA: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_HEAD; + case 'd': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_HEAD; + default: + return -1; + } + +ACCESS_CONTROL_REQUEST_HEAD: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_HEADE; + case 'e': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_HEADE; + default: + return -1; + } + +ACCESS_CONTROL_REQUEST_HEADE: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_HEADER; + case 'r': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_HEADER; + default: + return -1; + } + +ACCESS_CONTROL_REQUEST_HEADER: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return 11; + } + goto ACCESS_CONTROL_REQUEST_HEADERS; + case 's': + if (last) { + return 11; + } + goto ACCESS_CONTROL_REQUEST_HEADERS; + default: + return -1; + } + +ACCESS_CONTROL_REQUEST_M: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_ME; + case 'e': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_ME; + default: + return -1; + } + +ACCESS_CONTROL_REQUEST_ME: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_MET; + case 't': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_MET; + default: + return -1; + } + +ACCESS_CONTROL_REQUEST_MET: + NEXT_CHAR(); + switch (ch) { + case 'H': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_METH; + case 'h': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_METH; + default: + return -1; + } + +ACCESS_CONTROL_REQUEST_METH: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_METHO; + case 'o': + if (last) { + return -1; + } + goto ACCESS_CONTROL_REQUEST_METHO; + default: + return -1; + } + +ACCESS_CONTROL_REQUEST_METHO: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return 12; + } + goto ACCESS_CONTROL_REQUEST_METHOD; + case 'd': + if (last) { + return 12; + } + goto ACCESS_CONTROL_REQUEST_METHOD; + default: + return -1; + } + +AG: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 13; + } + goto AGE; + case 'e': + if (last) { + return 13; + } + goto AGE; + default: + return -1; + } + +AL: + NEXT_CHAR(); + switch (ch) { + case 'L': + if (last) { + return -1; + } + goto ALL; + case 'l': + if (last) { + return -1; + } + goto ALL; + default: + return -1; + } + +ALL: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto ALLO; + case 'o': + if (last) { + return -1; + } + goto ALLO; + default: + return -1; + } + +ALLO: + NEXT_CHAR(); + switch (ch) { + case 'W': + if (last) { + return 14; + } + goto ALLOW; + case 'w': + if (last) { + return 14; + } + goto ALLOW; + default: + return -1; + } + +AU: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto AUT; + case 't': + if (last) { + return -1; + } + goto AUT; + default: + return -1; + } + +AUT: + NEXT_CHAR(); + switch (ch) { + case 'H': + if (last) { + return -1; + } + goto AUTH; + case 'h': + if (last) { + return -1; + } + goto AUTH; + default: + return -1; + } + +AUTH: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto AUTHO; + case 'o': + if (last) { + return -1; + } + goto AUTHO; + default: + return -1; + } + +AUTHO: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto AUTHOR; + case 'r': + if (last) { + return -1; + } + goto AUTHOR; + default: + return -1; + } + +AUTHOR: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto AUTHORI; + case 'i': + if (last) { + return -1; + } + goto AUTHORI; + default: + return -1; + } + +AUTHORI: + NEXT_CHAR(); + switch (ch) { + case 'Z': + if (last) { + return -1; + } + goto AUTHORIZ; + case 'z': + if (last) { + return -1; + } + goto AUTHORIZ; + default: + return -1; + } + +AUTHORIZ: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto AUTHORIZA; + case 'a': + if (last) { + return -1; + } + goto AUTHORIZA; + default: + return -1; + } + +AUTHORIZA: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto AUTHORIZAT; + case 't': + if (last) { + return -1; + } + goto AUTHORIZAT; + default: + return -1; + } + +AUTHORIZAT: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto AUTHORIZATI; + case 'i': + if (last) { + return -1; + } + goto AUTHORIZATI; + default: + return -1; + } + +AUTHORIZATI: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto AUTHORIZATIO; + case 'o': + if (last) { + return -1; + } + goto AUTHORIZATIO; + default: + return -1; + } + +AUTHORIZATIO: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return 15; + } + goto AUTHORIZATION; + case 'n': + if (last) { + return 15; + } + goto AUTHORIZATION; + default: + return -1; + } + +C: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto CA; + case 'a': + if (last) { + return -1; + } + goto CA; + case 'O': + if (last) { + return -1; + } + goto CO; + case 'o': + if (last) { + return -1; + } + goto CO; + default: + return -1; + } + +CA: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto CAC; + case 'c': + if (last) { + return -1; + } + goto CAC; + default: + return -1; + } + +CAC: + NEXT_CHAR(); + switch (ch) { + case 'H': + if (last) { + return -1; + } + goto CACH; + case 'h': + if (last) { + return -1; + } + goto CACH; + default: + return -1; + } + +CACH: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto CACHE; + case 'e': + if (last) { + return -1; + } + goto CACHE; + default: + return -1; + } + +CACHE: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto CACHE_; + default: + return -1; + } + +CACHE_: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto CACHE_C; + case 'c': + if (last) { + return -1; + } + goto CACHE_C; + default: + return -1; + } + +CACHE_C: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto CACHE_CO; + case 'o': + if (last) { + return -1; + } + goto CACHE_CO; + default: + return -1; + } + +CACHE_CO: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto CACHE_CON; + case 'n': + if (last) { + return -1; + } + goto CACHE_CON; + default: + return -1; + } + +CACHE_CON: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto CACHE_CONT; + case 't': + if (last) { + return -1; + } + goto CACHE_CONT; + default: + return -1; + } + +CACHE_CONT: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto CACHE_CONTR; + case 'r': + if (last) { + return -1; + } + goto CACHE_CONTR; + default: + return -1; + } + +CACHE_CONTR: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto CACHE_CONTRO; + case 'o': + if (last) { + return -1; + } + goto CACHE_CONTRO; + default: + return -1; + } + +CACHE_CONTRO: + NEXT_CHAR(); + switch (ch) { + case 'L': + if (last) { + return 16; + } + goto CACHE_CONTROL; + case 'l': + if (last) { + return 16; + } + goto CACHE_CONTROL; + default: + return -1; + } + +CO: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto CON; + case 'n': + if (last) { + return -1; + } + goto CON; + case 'O': + if (last) { + return -1; + } + goto COO; + case 'o': + if (last) { + return -1; + } + goto COO; + default: + return -1; + } + +CON: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto CONN; + case 'n': + if (last) { + return -1; + } + goto CONN; + case 'T': + if (last) { + return -1; + } + goto CONT; + case 't': + if (last) { + return -1; + } + goto CONT; + default: + return -1; + } + +CONN: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto CONNE; + case 'e': + if (last) { + return -1; + } + goto CONNE; + default: + return -1; + } + +CONNE: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto CONNEC; + case 'c': + if (last) { + return -1; + } + goto CONNEC; + default: + return -1; + } + +CONNEC: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto CONNECT; + case 't': + if (last) { + return -1; + } + goto CONNECT; + default: + return -1; + } + +CONNECT: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto CONNECTI; + case 'i': + if (last) { + return -1; + } + goto CONNECTI; + default: + return -1; + } + +CONNECTI: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto CONNECTIO; + case 'o': + if (last) { + return -1; + } + goto CONNECTIO; + default: + return -1; + } + +CONNECTIO: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return 17; + } + goto CONNECTION; + case 'n': + if (last) { + return 17; + } + goto CONNECTION; + default: + return -1; + } + +CONT: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto CONTE; + case 'e': + if (last) { + return -1; + } + goto CONTE; + default: + return -1; + } + +CONTE: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto CONTEN; + case 'n': + if (last) { + return -1; + } + goto CONTEN; + default: + return -1; + } + +CONTEN: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto CONTENT; + case 't': + if (last) { + return -1; + } + goto CONTENT; + default: + return -1; + } + +CONTENT: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto CONTENT_; + default: + return -1; + } + +CONTENT_: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto CONTENT_D; + case 'd': + if (last) { + return -1; + } + goto CONTENT_D; + case 'E': + if (last) { + return -1; + } + goto CONTENT_E; + case 'e': + if (last) { + return -1; + } + goto CONTENT_E; + case 'L': + if (last) { + return -1; + } + goto CONTENT_L; + case 'l': + if (last) { + return -1; + } + goto CONTENT_L; + case 'M': + if (last) { + return -1; + } + goto CONTENT_M; + case 'm': + if (last) { + return -1; + } + goto CONTENT_M; + case 'R': + if (last) { + return -1; + } + goto CONTENT_R; + case 'r': + if (last) { + return -1; + } + goto CONTENT_R; + case 'T': + if (last) { + return -1; + } + goto CONTENT_T; + case 't': + if (last) { + return -1; + } + goto CONTENT_T; + default: + return -1; + } + +CONTENT_D: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto CONTENT_DI; + case 'i': + if (last) { + return -1; + } + goto CONTENT_DI; + default: + return -1; + } + +CONTENT_DI: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto CONTENT_DIS; + case 's': + if (last) { + return -1; + } + goto CONTENT_DIS; + default: + return -1; + } + +CONTENT_DIS: + NEXT_CHAR(); + switch (ch) { + case 'P': + if (last) { + return -1; + } + goto CONTENT_DISP; + case 'p': + if (last) { + return -1; + } + goto CONTENT_DISP; + default: + return -1; + } + +CONTENT_DISP: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto CONTENT_DISPO; + case 'o': + if (last) { + return -1; + } + goto CONTENT_DISPO; + default: + return -1; + } + +CONTENT_DISPO: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto CONTENT_DISPOS; + case 's': + if (last) { + return -1; + } + goto CONTENT_DISPOS; + default: + return -1; + } + +CONTENT_DISPOS: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto CONTENT_DISPOSI; + case 'i': + if (last) { + return -1; + } + goto CONTENT_DISPOSI; + default: + return -1; + } + +CONTENT_DISPOSI: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto CONTENT_DISPOSIT; + case 't': + if (last) { + return -1; + } + goto CONTENT_DISPOSIT; + default: + return -1; + } + +CONTENT_DISPOSIT: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto CONTENT_DISPOSITI; + case 'i': + if (last) { + return -1; + } + goto CONTENT_DISPOSITI; + default: + return -1; + } + +CONTENT_DISPOSITI: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto CONTENT_DISPOSITIO; + case 'o': + if (last) { + return -1; + } + goto CONTENT_DISPOSITIO; + default: + return -1; + } + +CONTENT_DISPOSITIO: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return 18; + } + goto CONTENT_DISPOSITION; + case 'n': + if (last) { + return 18; + } + goto CONTENT_DISPOSITION; + default: + return -1; + } + +CONTENT_E: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto CONTENT_EN; + case 'n': + if (last) { + return -1; + } + goto CONTENT_EN; + default: + return -1; + } + +CONTENT_EN: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto CONTENT_ENC; + case 'c': + if (last) { + return -1; + } + goto CONTENT_ENC; + default: + return -1; + } + +CONTENT_ENC: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto CONTENT_ENCO; + case 'o': + if (last) { + return -1; + } + goto CONTENT_ENCO; + default: + return -1; + } + +CONTENT_ENCO: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto CONTENT_ENCOD; + case 'd': + if (last) { + return -1; + } + goto CONTENT_ENCOD; + default: + return -1; + } + +CONTENT_ENCOD: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto CONTENT_ENCODI; + case 'i': + if (last) { + return -1; + } + goto CONTENT_ENCODI; + default: + return -1; + } + +CONTENT_ENCODI: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto CONTENT_ENCODIN; + case 'n': + if (last) { + return -1; + } + goto CONTENT_ENCODIN; + default: + return -1; + } + +CONTENT_ENCODIN: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return 19; + } + goto CONTENT_ENCODING; + case 'g': + if (last) { + return 19; + } + goto CONTENT_ENCODING; + default: + return -1; + } + +CONTENT_L: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto CONTENT_LA; + case 'a': + if (last) { + return -1; + } + goto CONTENT_LA; + case 'E': + if (last) { + return -1; + } + goto CONTENT_LE; + case 'e': + if (last) { + return -1; + } + goto CONTENT_LE; + case 'O': + if (last) { + return -1; + } + goto CONTENT_LO; + case 'o': + if (last) { + return -1; + } + goto CONTENT_LO; + default: + return -1; + } + +CONTENT_LA: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto CONTENT_LAN; + case 'n': + if (last) { + return -1; + } + goto CONTENT_LAN; + default: + return -1; + } + +CONTENT_LAN: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto CONTENT_LANG; + case 'g': + if (last) { + return -1; + } + goto CONTENT_LANG; + default: + return -1; + } + +CONTENT_LANG: + NEXT_CHAR(); + switch (ch) { + case 'U': + if (last) { + return -1; + } + goto CONTENT_LANGU; + case 'u': + if (last) { + return -1; + } + goto CONTENT_LANGU; + default: + return -1; + } + +CONTENT_LANGU: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto CONTENT_LANGUA; + case 'a': + if (last) { + return -1; + } + goto CONTENT_LANGUA; + default: + return -1; + } + +CONTENT_LANGUA: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto CONTENT_LANGUAG; + case 'g': + if (last) { + return -1; + } + goto CONTENT_LANGUAG; + default: + return -1; + } + +CONTENT_LANGUAG: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 20; + } + goto CONTENT_LANGUAGE; + case 'e': + if (last) { + return 20; + } + goto CONTENT_LANGUAGE; + default: + return -1; + } + +CONTENT_LE: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto CONTENT_LEN; + case 'n': + if (last) { + return -1; + } + goto CONTENT_LEN; + default: + return -1; + } + +CONTENT_LEN: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto CONTENT_LENG; + case 'g': + if (last) { + return -1; + } + goto CONTENT_LENG; + default: + return -1; + } + +CONTENT_LENG: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto CONTENT_LENGT; + case 't': + if (last) { + return -1; + } + goto CONTENT_LENGT; + default: + return -1; + } + +CONTENT_LENGT: + NEXT_CHAR(); + switch (ch) { + case 'H': + if (last) { + return 21; + } + goto CONTENT_LENGTH; + case 'h': + if (last) { + return 21; + } + goto CONTENT_LENGTH; + default: + return -1; + } + +CONTENT_LO: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto CONTENT_LOC; + case 'c': + if (last) { + return -1; + } + goto CONTENT_LOC; + default: + return -1; + } + +CONTENT_LOC: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto CONTENT_LOCA; + case 'a': + if (last) { + return -1; + } + goto CONTENT_LOCA; + default: + return -1; + } + +CONTENT_LOCA: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto CONTENT_LOCAT; + case 't': + if (last) { + return -1; + } + goto CONTENT_LOCAT; + default: + return -1; + } + +CONTENT_LOCAT: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto CONTENT_LOCATI; + case 'i': + if (last) { + return -1; + } + goto CONTENT_LOCATI; + default: + return -1; + } + +CONTENT_LOCATI: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto CONTENT_LOCATIO; + case 'o': + if (last) { + return -1; + } + goto CONTENT_LOCATIO; + default: + return -1; + } + +CONTENT_LOCATIO: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return 22; + } + goto CONTENT_LOCATION; + case 'n': + if (last) { + return 22; + } + goto CONTENT_LOCATION; + default: + return -1; + } + +CONTENT_M: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto CONTENT_MD; + case 'd': + if (last) { + return -1; + } + goto CONTENT_MD; + default: + return -1; + } + +CONTENT_MD: + NEXT_CHAR(); + switch (ch) { + case '5': + if (last) { + return 23; + } + goto CONTENT_MD5; + default: + return -1; + } + +CONTENT_R: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto CONTENT_RA; + case 'a': + if (last) { + return -1; + } + goto CONTENT_RA; + default: + return -1; + } + +CONTENT_RA: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto CONTENT_RAN; + case 'n': + if (last) { + return -1; + } + goto CONTENT_RAN; + default: + return -1; + } + +CONTENT_RAN: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto CONTENT_RANG; + case 'g': + if (last) { + return -1; + } + goto CONTENT_RANG; + default: + return -1; + } + +CONTENT_RANG: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 24; + } + goto CONTENT_RANGE; + case 'e': + if (last) { + return 24; + } + goto CONTENT_RANGE; + default: + return -1; + } + +CONTENT_T: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto CONTENT_TR; + case 'r': + if (last) { + return -1; + } + goto CONTENT_TR; + case 'Y': + if (last) { + return -1; + } + goto CONTENT_TY; + case 'y': + if (last) { + return -1; + } + goto CONTENT_TY; + default: + return -1; + } + +CONTENT_TR: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto CONTENT_TRA; + case 'a': + if (last) { + return -1; + } + goto CONTENT_TRA; + default: + return -1; + } + +CONTENT_TRA: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto CONTENT_TRAN; + case 'n': + if (last) { + return -1; + } + goto CONTENT_TRAN; + default: + return -1; + } + +CONTENT_TRAN: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto CONTENT_TRANS; + case 's': + if (last) { + return -1; + } + goto CONTENT_TRANS; + default: + return -1; + } + +CONTENT_TRANS: + NEXT_CHAR(); + switch (ch) { + case 'F': + if (last) { + return -1; + } + goto CONTENT_TRANSF; + case 'f': + if (last) { + return -1; + } + goto CONTENT_TRANSF; + default: + return -1; + } + +CONTENT_TRANSF: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto CONTENT_TRANSFE; + case 'e': + if (last) { + return -1; + } + goto CONTENT_TRANSFE; + default: + return -1; + } + +CONTENT_TRANSFE: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto CONTENT_TRANSFER; + case 'r': + if (last) { + return -1; + } + goto CONTENT_TRANSFER; + default: + return -1; + } + +CONTENT_TRANSFER: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto CONTENT_TRANSFER_; + default: + return -1; + } + +CONTENT_TRANSFER_: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto CONTENT_TRANSFER_E; + case 'e': + if (last) { + return -1; + } + goto CONTENT_TRANSFER_E; + default: + return -1; + } + +CONTENT_TRANSFER_E: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto CONTENT_TRANSFER_EN; + case 'n': + if (last) { + return -1; + } + goto CONTENT_TRANSFER_EN; + default: + return -1; + } + +CONTENT_TRANSFER_EN: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto CONTENT_TRANSFER_ENC; + case 'c': + if (last) { + return -1; + } + goto CONTENT_TRANSFER_ENC; + default: + return -1; + } + +CONTENT_TRANSFER_ENC: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto CONTENT_TRANSFER_ENCO; + case 'o': + if (last) { + return -1; + } + goto CONTENT_TRANSFER_ENCO; + default: + return -1; + } + +CONTENT_TRANSFER_ENCO: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto CONTENT_TRANSFER_ENCOD; + case 'd': + if (last) { + return -1; + } + goto CONTENT_TRANSFER_ENCOD; + default: + return -1; + } + +CONTENT_TRANSFER_ENCOD: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto CONTENT_TRANSFER_ENCODI; + case 'i': + if (last) { + return -1; + } + goto CONTENT_TRANSFER_ENCODI; + default: + return -1; + } + +CONTENT_TRANSFER_ENCODI: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto CONTENT_TRANSFER_ENCODIN; + case 'n': + if (last) { + return -1; + } + goto CONTENT_TRANSFER_ENCODIN; + default: + return -1; + } + +CONTENT_TRANSFER_ENCODIN: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return 25; + } + goto CONTENT_TRANSFER_ENCODING; + case 'g': + if (last) { + return 25; + } + goto CONTENT_TRANSFER_ENCODING; + default: + return -1; + } + +CONTENT_TY: + NEXT_CHAR(); + switch (ch) { + case 'P': + if (last) { + return -1; + } + goto CONTENT_TYP; + case 'p': + if (last) { + return -1; + } + goto CONTENT_TYP; + default: + return -1; + } + +CONTENT_TYP: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 26; + } + goto CONTENT_TYPE; + case 'e': + if (last) { + return 26; + } + goto CONTENT_TYPE; + default: + return -1; + } + +COO: + NEXT_CHAR(); + switch (ch) { + case 'K': + if (last) { + return -1; + } + goto COOK; + case 'k': + if (last) { + return -1; + } + goto COOK; + default: + return -1; + } + +COOK: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto COOKI; + case 'i': + if (last) { + return -1; + } + goto COOKI; + default: + return -1; + } + +COOKI: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 27; + } + goto COOKIE; + case 'e': + if (last) { + return 27; + } + goto COOKIE; + default: + return -1; + } + +D: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto DA; + case 'a': + if (last) { + return -1; + } + goto DA; + case 'E': + if (last) { + return -1; + } + goto DE; + case 'e': + if (last) { + return -1; + } + goto DE; + case 'I': + if (last) { + return -1; + } + goto DI; + case 'i': + if (last) { + return -1; + } + goto DI; + default: + return -1; + } + +DA: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto DAT; + case 't': + if (last) { + return -1; + } + goto DAT; + default: + return -1; + } + +DAT: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 28; + } + goto DATE; + case 'e': + if (last) { + return 28; + } + goto DATE; + default: + return -1; + } + +DE: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto DES; + case 's': + if (last) { + return -1; + } + goto DES; + default: + return -1; + } + +DES: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto DEST; + case 't': + if (last) { + return -1; + } + goto DEST; + default: + return -1; + } + +DEST: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto DESTI; + case 'i': + if (last) { + return -1; + } + goto DESTI; + default: + return -1; + } + +DESTI: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto DESTIN; + case 'n': + if (last) { + return -1; + } + goto DESTIN; + default: + return -1; + } + +DESTIN: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto DESTINA; + case 'a': + if (last) { + return -1; + } + goto DESTINA; + default: + return -1; + } + +DESTINA: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto DESTINAT; + case 't': + if (last) { + return -1; + } + goto DESTINAT; + default: + return -1; + } + +DESTINAT: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto DESTINATI; + case 'i': + if (last) { + return -1; + } + goto DESTINATI; + default: + return -1; + } + +DESTINATI: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto DESTINATIO; + case 'o': + if (last) { + return -1; + } + goto DESTINATIO; + default: + return -1; + } + +DESTINATIO: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return 29; + } + goto DESTINATION; + case 'n': + if (last) { + return 29; + } + goto DESTINATION; + default: + return -1; + } + +DI: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto DIG; + case 'g': + if (last) { + return -1; + } + goto DIG; + default: + return -1; + } + +DIG: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto DIGE; + case 'e': + if (last) { + return -1; + } + goto DIGE; + default: + return -1; + } + +DIGE: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto DIGES; + case 's': + if (last) { + return -1; + } + goto DIGES; + default: + return -1; + } + +DIGES: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return 30; + } + goto DIGEST; + case 't': + if (last) { + return 30; + } + goto DIGEST; + default: + return -1; + } + +E: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto ET; + case 't': + if (last) { + return -1; + } + goto ET; + case 'X': + if (last) { + return -1; + } + goto EX; + case 'x': + if (last) { + return -1; + } + goto EX; + default: + return -1; + } + +ET: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto ETA; + case 'a': + if (last) { + return -1; + } + goto ETA; + default: + return -1; + } + +ETA: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return 31; + } + goto ETAG; + case 'g': + if (last) { + return 31; + } + goto ETAG; + default: + return -1; + } + +EX: + NEXT_CHAR(); + switch (ch) { + case 'P': + if (last) { + return -1; + } + goto EXP; + case 'p': + if (last) { + return -1; + } + goto EXP; + default: + return -1; + } + +EXP: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto EXPE; + case 'e': + if (last) { + return -1; + } + goto EXPE; + case 'I': + if (last) { + return -1; + } + goto EXPI; + case 'i': + if (last) { + return -1; + } + goto EXPI; + default: + return -1; + } + +EXPE: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto EXPEC; + case 'c': + if (last) { + return -1; + } + goto EXPEC; + default: + return -1; + } + +EXPEC: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return 32; + } + goto EXPECT; + case 't': + if (last) { + return 32; + } + goto EXPECT; + default: + return -1; + } + +EXPI: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto EXPIR; + case 'r': + if (last) { + return -1; + } + goto EXPIR; + default: + return -1; + } + +EXPIR: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto EXPIRE; + case 'e': + if (last) { + return -1; + } + goto EXPIRE; + default: + return -1; + } + +EXPIRE: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return 33; + } + goto EXPIRES; + case 's': + if (last) { + return 33; + } + goto EXPIRES; + default: + return -1; + } + +F: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto FO; + case 'o': + if (last) { + return -1; + } + goto FO; + case 'R': + if (last) { + return -1; + } + goto FR; + case 'r': + if (last) { + return -1; + } + goto FR; + default: + return -1; + } + +FO: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto FOR; + case 'r': + if (last) { + return -1; + } + goto FOR; + default: + return -1; + } + +FOR: + NEXT_CHAR(); + switch (ch) { + case 'W': + if (last) { + return -1; + } + goto FORW; + case 'w': + if (last) { + return -1; + } + goto FORW; + default: + return -1; + } + +FORW: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto FORWA; + case 'a': + if (last) { + return -1; + } + goto FORWA; + default: + return -1; + } + +FORWA: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto FORWAR; + case 'r': + if (last) { + return -1; + } + goto FORWAR; + default: + return -1; + } + +FORWAR: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto FORWARD; + case 'd': + if (last) { + return -1; + } + goto FORWARD; + default: + return -1; + } + +FORWARD: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto FORWARDE; + case 'e': + if (last) { + return -1; + } + goto FORWARDE; + default: + return -1; + } + +FORWARDE: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return 34; + } + goto FORWARDED; + case 'd': + if (last) { + return 34; + } + goto FORWARDED; + default: + return -1; + } + +FR: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto FRO; + case 'o': + if (last) { + return -1; + } + goto FRO; + default: + return -1; + } + +FRO: + NEXT_CHAR(); + switch (ch) { + case 'M': + if (last) { + return 35; + } + goto FROM; + case 'm': + if (last) { + return 35; + } + goto FROM; + default: + return -1; + } + +H: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto HO; + case 'o': + if (last) { + return -1; + } + goto HO; + default: + return -1; + } + +HO: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto HOS; + case 's': + if (last) { + return -1; + } + goto HOS; + default: + return -1; + } + +HOS: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return 36; + } + goto HOST; + case 't': + if (last) { + return 36; + } + goto HOST; + default: + return -1; + } + +I: + NEXT_CHAR(); + switch (ch) { + case 'F': + if (last) { + return -1; + } + goto IF; + case 'f': + if (last) { + return -1; + } + goto IF; + default: + return -1; + } + +IF: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto IF_; + default: + return -1; + } + +IF_: + NEXT_CHAR(); + switch (ch) { + case 'M': + if (last) { + return -1; + } + goto IF_M; + case 'm': + if (last) { + return -1; + } + goto IF_M; + case 'N': + if (last) { + return -1; + } + goto IF_N; + case 'n': + if (last) { + return -1; + } + goto IF_N; + case 'R': + if (last) { + return -1; + } + goto IF_R; + case 'r': + if (last) { + return -1; + } + goto IF_R; + case 'U': + if (last) { + return -1; + } + goto IF_U; + case 'u': + if (last) { + return -1; + } + goto IF_U; + default: + return -1; + } + +IF_M: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto IF_MA; + case 'a': + if (last) { + return -1; + } + goto IF_MA; + case 'O': + if (last) { + return -1; + } + goto IF_MO; + case 'o': + if (last) { + return -1; + } + goto IF_MO; + default: + return -1; + } + +IF_MA: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto IF_MAT; + case 't': + if (last) { + return -1; + } + goto IF_MAT; + default: + return -1; + } + +IF_MAT: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto IF_MATC; + case 'c': + if (last) { + return -1; + } + goto IF_MATC; + default: + return -1; + } + +IF_MATC: + NEXT_CHAR(); + switch (ch) { + case 'H': + if (last) { + return 37; + } + goto IF_MATCH; + case 'h': + if (last) { + return 37; + } + goto IF_MATCH; + default: + return -1; + } + +IF_MO: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto IF_MOD; + case 'd': + if (last) { + return -1; + } + goto IF_MOD; + default: + return -1; + } + +IF_MOD: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto IF_MODI; + case 'i': + if (last) { + return -1; + } + goto IF_MODI; + default: + return -1; + } + +IF_MODI: + NEXT_CHAR(); + switch (ch) { + case 'F': + if (last) { + return -1; + } + goto IF_MODIF; + case 'f': + if (last) { + return -1; + } + goto IF_MODIF; + default: + return -1; + } + +IF_MODIF: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto IF_MODIFI; + case 'i': + if (last) { + return -1; + } + goto IF_MODIFI; + default: + return -1; + } + +IF_MODIFI: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto IF_MODIFIE; + case 'e': + if (last) { + return -1; + } + goto IF_MODIFIE; + default: + return -1; + } + +IF_MODIFIE: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto IF_MODIFIED; + case 'd': + if (last) { + return -1; + } + goto IF_MODIFIED; + default: + return -1; + } + +IF_MODIFIED: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto IF_MODIFIED_; + default: + return -1; + } + +IF_MODIFIED_: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto IF_MODIFIED_S; + case 's': + if (last) { + return -1; + } + goto IF_MODIFIED_S; + default: + return -1; + } + +IF_MODIFIED_S: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto IF_MODIFIED_SI; + case 'i': + if (last) { + return -1; + } + goto IF_MODIFIED_SI; + default: + return -1; + } + +IF_MODIFIED_SI: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto IF_MODIFIED_SIN; + case 'n': + if (last) { + return -1; + } + goto IF_MODIFIED_SIN; + default: + return -1; + } + +IF_MODIFIED_SIN: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto IF_MODIFIED_SINC; + case 'c': + if (last) { + return -1; + } + goto IF_MODIFIED_SINC; + default: + return -1; + } + +IF_MODIFIED_SINC: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 38; + } + goto IF_MODIFIED_SINCE; + case 'e': + if (last) { + return 38; + } + goto IF_MODIFIED_SINCE; + default: + return -1; + } + +IF_N: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto IF_NO; + case 'o': + if (last) { + return -1; + } + goto IF_NO; + default: + return -1; + } + +IF_NO: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto IF_NON; + case 'n': + if (last) { + return -1; + } + goto IF_NON; + default: + return -1; + } + +IF_NON: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto IF_NONE; + case 'e': + if (last) { + return -1; + } + goto IF_NONE; + default: + return -1; + } + +IF_NONE: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto IF_NONE_; + default: + return -1; + } + +IF_NONE_: + NEXT_CHAR(); + switch (ch) { + case 'M': + if (last) { + return -1; + } + goto IF_NONE_M; + case 'm': + if (last) { + return -1; + } + goto IF_NONE_M; + default: + return -1; + } + +IF_NONE_M: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto IF_NONE_MA; + case 'a': + if (last) { + return -1; + } + goto IF_NONE_MA; + default: + return -1; + } + +IF_NONE_MA: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto IF_NONE_MAT; + case 't': + if (last) { + return -1; + } + goto IF_NONE_MAT; + default: + return -1; + } + +IF_NONE_MAT: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto IF_NONE_MATC; + case 'c': + if (last) { + return -1; + } + goto IF_NONE_MATC; + default: + return -1; + } + +IF_NONE_MATC: + NEXT_CHAR(); + switch (ch) { + case 'H': + if (last) { + return 39; + } + goto IF_NONE_MATCH; + case 'h': + if (last) { + return 39; + } + goto IF_NONE_MATCH; + default: + return -1; + } + +IF_R: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto IF_RA; + case 'a': + if (last) { + return -1; + } + goto IF_RA; + default: + return -1; + } + +IF_RA: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto IF_RAN; + case 'n': + if (last) { + return -1; + } + goto IF_RAN; + default: + return -1; + } + +IF_RAN: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto IF_RANG; + case 'g': + if (last) { + return -1; + } + goto IF_RANG; + default: + return -1; + } + +IF_RANG: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 40; + } + goto IF_RANGE; + case 'e': + if (last) { + return 40; + } + goto IF_RANGE; + default: + return -1; + } + +IF_U: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto IF_UN; + case 'n': + if (last) { + return -1; + } + goto IF_UN; + default: + return -1; + } + +IF_UN: + NEXT_CHAR(); + switch (ch) { + case 'M': + if (last) { + return -1; + } + goto IF_UNM; + case 'm': + if (last) { + return -1; + } + goto IF_UNM; + default: + return -1; + } + +IF_UNM: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto IF_UNMO; + case 'o': + if (last) { + return -1; + } + goto IF_UNMO; + default: + return -1; + } + +IF_UNMO: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto IF_UNMOD; + case 'd': + if (last) { + return -1; + } + goto IF_UNMOD; + default: + return -1; + } + +IF_UNMOD: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto IF_UNMODI; + case 'i': + if (last) { + return -1; + } + goto IF_UNMODI; + default: + return -1; + } + +IF_UNMODI: + NEXT_CHAR(); + switch (ch) { + case 'F': + if (last) { + return -1; + } + goto IF_UNMODIF; + case 'f': + if (last) { + return -1; + } + goto IF_UNMODIF; + default: + return -1; + } + +IF_UNMODIF: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto IF_UNMODIFI; + case 'i': + if (last) { + return -1; + } + goto IF_UNMODIFI; + default: + return -1; + } + +IF_UNMODIFI: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto IF_UNMODIFIE; + case 'e': + if (last) { + return -1; + } + goto IF_UNMODIFIE; + default: + return -1; + } + +IF_UNMODIFIE: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto IF_UNMODIFIED; + case 'd': + if (last) { + return -1; + } + goto IF_UNMODIFIED; + default: + return -1; + } + +IF_UNMODIFIED: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto IF_UNMODIFIED_; + default: + return -1; + } + +IF_UNMODIFIED_: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto IF_UNMODIFIED_S; + case 's': + if (last) { + return -1; + } + goto IF_UNMODIFIED_S; + default: + return -1; + } + +IF_UNMODIFIED_S: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto IF_UNMODIFIED_SI; + case 'i': + if (last) { + return -1; + } + goto IF_UNMODIFIED_SI; + default: + return -1; + } + +IF_UNMODIFIED_SI: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto IF_UNMODIFIED_SIN; + case 'n': + if (last) { + return -1; + } + goto IF_UNMODIFIED_SIN; + default: + return -1; + } + +IF_UNMODIFIED_SIN: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto IF_UNMODIFIED_SINC; + case 'c': + if (last) { + return -1; + } + goto IF_UNMODIFIED_SINC; + default: + return -1; + } + +IF_UNMODIFIED_SINC: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 41; + } + goto IF_UNMODIFIED_SINCE; + case 'e': + if (last) { + return 41; + } + goto IF_UNMODIFIED_SINCE; + default: + return -1; + } + +K: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto KE; + case 'e': + if (last) { + return -1; + } + goto KE; + default: + return -1; + } + +KE: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto KEE; + case 'e': + if (last) { + return -1; + } + goto KEE; + default: + return -1; + } + +KEE: + NEXT_CHAR(); + switch (ch) { + case 'P': + if (last) { + return -1; + } + goto KEEP; + case 'p': + if (last) { + return -1; + } + goto KEEP; + default: + return -1; + } + +KEEP: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto KEEP_; + default: + return -1; + } + +KEEP_: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto KEEP_A; + case 'a': + if (last) { + return -1; + } + goto KEEP_A; + default: + return -1; + } + +KEEP_A: + NEXT_CHAR(); + switch (ch) { + case 'L': + if (last) { + return -1; + } + goto KEEP_AL; + case 'l': + if (last) { + return -1; + } + goto KEEP_AL; + default: + return -1; + } + +KEEP_AL: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto KEEP_ALI; + case 'i': + if (last) { + return -1; + } + goto KEEP_ALI; + default: + return -1; + } + +KEEP_ALI: + NEXT_CHAR(); + switch (ch) { + case 'V': + if (last) { + return -1; + } + goto KEEP_ALIV; + case 'v': + if (last) { + return -1; + } + goto KEEP_ALIV; + default: + return -1; + } + +KEEP_ALIV: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 42; + } + goto KEEP_ALIVE; + case 'e': + if (last) { + return 42; + } + goto KEEP_ALIVE; + default: + return -1; + } + +L: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto LA; + case 'a': + if (last) { + return -1; + } + goto LA; + case 'I': + if (last) { + return -1; + } + goto LI; + case 'i': + if (last) { + return -1; + } + goto LI; + case 'O': + if (last) { + return -1; + } + goto LO; + case 'o': + if (last) { + return -1; + } + goto LO; + default: + return -1; + } + +LA: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto LAS; + case 's': + if (last) { + return -1; + } + goto LAS; + default: + return -1; + } + +LAS: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto LAST; + case 't': + if (last) { + return -1; + } + goto LAST; + default: + return -1; + } + +LAST: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto LAST_; + default: + return -1; + } + +LAST_: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto LAST_E; + case 'e': + if (last) { + return -1; + } + goto LAST_E; + case 'M': + if (last) { + return -1; + } + goto LAST_M; + case 'm': + if (last) { + return -1; + } + goto LAST_M; + default: + return -1; + } + +LAST_E: + NEXT_CHAR(); + switch (ch) { + case 'V': + if (last) { + return -1; + } + goto LAST_EV; + case 'v': + if (last) { + return -1; + } + goto LAST_EV; + default: + return -1; + } + +LAST_EV: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto LAST_EVE; + case 'e': + if (last) { + return -1; + } + goto LAST_EVE; + default: + return -1; + } + +LAST_EVE: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto LAST_EVEN; + case 'n': + if (last) { + return -1; + } + goto LAST_EVEN; + default: + return -1; + } + +LAST_EVEN: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto LAST_EVENT; + case 't': + if (last) { + return -1; + } + goto LAST_EVENT; + default: + return -1; + } + +LAST_EVENT: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto LAST_EVENT_; + default: + return -1; + } + +LAST_EVENT_: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto LAST_EVENT_I; + case 'i': + if (last) { + return -1; + } + goto LAST_EVENT_I; + default: + return -1; + } + +LAST_EVENT_I: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return 43; + } + goto LAST_EVENT_ID; + case 'd': + if (last) { + return 43; + } + goto LAST_EVENT_ID; + default: + return -1; + } + +LAST_M: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto LAST_MO; + case 'o': + if (last) { + return -1; + } + goto LAST_MO; + default: + return -1; + } + +LAST_MO: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto LAST_MOD; + case 'd': + if (last) { + return -1; + } + goto LAST_MOD; + default: + return -1; + } + +LAST_MOD: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto LAST_MODI; + case 'i': + if (last) { + return -1; + } + goto LAST_MODI; + default: + return -1; + } + +LAST_MODI: + NEXT_CHAR(); + switch (ch) { + case 'F': + if (last) { + return -1; + } + goto LAST_MODIF; + case 'f': + if (last) { + return -1; + } + goto LAST_MODIF; + default: + return -1; + } + +LAST_MODIF: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto LAST_MODIFI; + case 'i': + if (last) { + return -1; + } + goto LAST_MODIFI; + default: + return -1; + } + +LAST_MODIFI: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto LAST_MODIFIE; + case 'e': + if (last) { + return -1; + } + goto LAST_MODIFIE; + default: + return -1; + } + +LAST_MODIFIE: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return 44; + } + goto LAST_MODIFIED; + case 'd': + if (last) { + return 44; + } + goto LAST_MODIFIED; + default: + return -1; + } + +LI: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto LIN; + case 'n': + if (last) { + return -1; + } + goto LIN; + default: + return -1; + } + +LIN: + NEXT_CHAR(); + switch (ch) { + case 'K': + if (last) { + return 45; + } + goto LINK; + case 'k': + if (last) { + return 45; + } + goto LINK; + default: + return -1; + } + +LO: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto LOC; + case 'c': + if (last) { + return -1; + } + goto LOC; + default: + return -1; + } + +LOC: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto LOCA; + case 'a': + if (last) { + return -1; + } + goto LOCA; + default: + return -1; + } + +LOCA: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto LOCAT; + case 't': + if (last) { + return -1; + } + goto LOCAT; + default: + return -1; + } + +LOCAT: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto LOCATI; + case 'i': + if (last) { + return -1; + } + goto LOCATI; + default: + return -1; + } + +LOCATI: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto LOCATIO; + case 'o': + if (last) { + return -1; + } + goto LOCATIO; + default: + return -1; + } + +LOCATIO: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return 46; + } + goto LOCATION; + case 'n': + if (last) { + return 46; + } + goto LOCATION; + default: + return -1; + } + +M: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto MA; + case 'a': + if (last) { + return -1; + } + goto MA; + default: + return -1; + } + +MA: + NEXT_CHAR(); + switch (ch) { + case 'X': + if (last) { + return -1; + } + goto MAX; + case 'x': + if (last) { + return -1; + } + goto MAX; + default: + return -1; + } + +MAX: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto MAX_; + default: + return -1; + } + +MAX_: + NEXT_CHAR(); + switch (ch) { + case 'F': + if (last) { + return -1; + } + goto MAX_F; + case 'f': + if (last) { + return -1; + } + goto MAX_F; + default: + return -1; + } + +MAX_F: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto MAX_FO; + case 'o': + if (last) { + return -1; + } + goto MAX_FO; + default: + return -1; + } + +MAX_FO: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto MAX_FOR; + case 'r': + if (last) { + return -1; + } + goto MAX_FOR; + default: + return -1; + } + +MAX_FOR: + NEXT_CHAR(); + switch (ch) { + case 'W': + if (last) { + return -1; + } + goto MAX_FORW; + case 'w': + if (last) { + return -1; + } + goto MAX_FORW; + default: + return -1; + } + +MAX_FORW: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto MAX_FORWA; + case 'a': + if (last) { + return -1; + } + goto MAX_FORWA; + default: + return -1; + } + +MAX_FORWA: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto MAX_FORWAR; + case 'r': + if (last) { + return -1; + } + goto MAX_FORWAR; + default: + return -1; + } + +MAX_FORWAR: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto MAX_FORWARD; + case 'd': + if (last) { + return -1; + } + goto MAX_FORWARD; + default: + return -1; + } + +MAX_FORWARD: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return 47; + } + goto MAX_FORWARDS; + case 's': + if (last) { + return 47; + } + goto MAX_FORWARDS; + default: + return -1; + } + +O: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto OR; + case 'r': + if (last) { + return -1; + } + goto OR; + default: + return -1; + } + +OR: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto ORI; + case 'i': + if (last) { + return -1; + } + goto ORI; + default: + return -1; + } + +ORI: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto ORIG; + case 'g': + if (last) { + return -1; + } + goto ORIG; + default: + return -1; + } + +ORIG: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto ORIGI; + case 'i': + if (last) { + return -1; + } + goto ORIGI; + default: + return -1; + } + +ORIGI: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return 48; + } + goto ORIGIN; + case 'n': + if (last) { + return 48; + } + goto ORIGIN; + default: + return -1; + } + +P: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto PR; + case 'r': + if (last) { + return -1; + } + goto PR; + default: + return -1; + } + +PR: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto PRA; + case 'a': + if (last) { + return -1; + } + goto PRA; + case 'O': + if (last) { + return -1; + } + goto PRO; + case 'o': + if (last) { + return -1; + } + goto PRO; + default: + return -1; + } + +PRA: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto PRAG; + case 'g': + if (last) { + return -1; + } + goto PRAG; + default: + return -1; + } + +PRAG: + NEXT_CHAR(); + switch (ch) { + case 'M': + if (last) { + return -1; + } + goto PRAGM; + case 'm': + if (last) { + return -1; + } + goto PRAGM; + default: + return -1; + } + +PRAGM: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return 49; + } + goto PRAGMA; + case 'a': + if (last) { + return 49; + } + goto PRAGMA; + default: + return -1; + } + +PRO: + NEXT_CHAR(); + switch (ch) { + case 'X': + if (last) { + return -1; + } + goto PROX; + case 'x': + if (last) { + return -1; + } + goto PROX; + default: + return -1; + } + +PROX: + NEXT_CHAR(); + switch (ch) { + case 'Y': + if (last) { + return -1; + } + goto PROXY; + case 'y': + if (last) { + return -1; + } + goto PROXY; + default: + return -1; + } + +PROXY: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto PROXY_; + default: + return -1; + } + +PROXY_: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto PROXY_A; + case 'a': + if (last) { + return -1; + } + goto PROXY_A; + default: + return -1; + } + +PROXY_A: + NEXT_CHAR(); + switch (ch) { + case 'U': + if (last) { + return -1; + } + goto PROXY_AU; + case 'u': + if (last) { + return -1; + } + goto PROXY_AU; + default: + return -1; + } + +PROXY_AU: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto PROXY_AUT; + case 't': + if (last) { + return -1; + } + goto PROXY_AUT; + default: + return -1; + } + +PROXY_AUT: + NEXT_CHAR(); + switch (ch) { + case 'H': + if (last) { + return -1; + } + goto PROXY_AUTH; + case 'h': + if (last) { + return -1; + } + goto PROXY_AUTH; + default: + return -1; + } + +PROXY_AUTH: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto PROXY_AUTHE; + case 'e': + if (last) { + return -1; + } + goto PROXY_AUTHE; + case 'O': + if (last) { + return -1; + } + goto PROXY_AUTHO; + case 'o': + if (last) { + return -1; + } + goto PROXY_AUTHO; + default: + return -1; + } + +PROXY_AUTHE: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto PROXY_AUTHEN; + case 'n': + if (last) { + return -1; + } + goto PROXY_AUTHEN; + default: + return -1; + } + +PROXY_AUTHEN: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto PROXY_AUTHENT; + case 't': + if (last) { + return -1; + } + goto PROXY_AUTHENT; + default: + return -1; + } + +PROXY_AUTHENT: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto PROXY_AUTHENTI; + case 'i': + if (last) { + return -1; + } + goto PROXY_AUTHENTI; + default: + return -1; + } + +PROXY_AUTHENTI: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto PROXY_AUTHENTIC; + case 'c': + if (last) { + return -1; + } + goto PROXY_AUTHENTIC; + default: + return -1; + } + +PROXY_AUTHENTIC: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto PROXY_AUTHENTICA; + case 'a': + if (last) { + return -1; + } + goto PROXY_AUTHENTICA; + default: + return -1; + } + +PROXY_AUTHENTICA: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto PROXY_AUTHENTICAT; + case 't': + if (last) { + return -1; + } + goto PROXY_AUTHENTICAT; + default: + return -1; + } + +PROXY_AUTHENTICAT: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 50; + } + goto PROXY_AUTHENTICATE; + case 'e': + if (last) { + return 50; + } + goto PROXY_AUTHENTICATE; + default: + return -1; + } + +PROXY_AUTHO: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto PROXY_AUTHOR; + case 'r': + if (last) { + return -1; + } + goto PROXY_AUTHOR; + default: + return -1; + } + +PROXY_AUTHOR: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto PROXY_AUTHORI; + case 'i': + if (last) { + return -1; + } + goto PROXY_AUTHORI; + default: + return -1; + } + +PROXY_AUTHORI: + NEXT_CHAR(); + switch (ch) { + case 'Z': + if (last) { + return -1; + } + goto PROXY_AUTHORIZ; + case 'z': + if (last) { + return -1; + } + goto PROXY_AUTHORIZ; + default: + return -1; + } + +PROXY_AUTHORIZ: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto PROXY_AUTHORIZA; + case 'a': + if (last) { + return -1; + } + goto PROXY_AUTHORIZA; + default: + return -1; + } + +PROXY_AUTHORIZA: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto PROXY_AUTHORIZAT; + case 't': + if (last) { + return -1; + } + goto PROXY_AUTHORIZAT; + default: + return -1; + } + +PROXY_AUTHORIZAT: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto PROXY_AUTHORIZATI; + case 'i': + if (last) { + return -1; + } + goto PROXY_AUTHORIZATI; + default: + return -1; + } + +PROXY_AUTHORIZATI: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto PROXY_AUTHORIZATIO; + case 'o': + if (last) { + return -1; + } + goto PROXY_AUTHORIZATIO; + default: + return -1; + } + +PROXY_AUTHORIZATIO: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return 51; + } + goto PROXY_AUTHORIZATION; + case 'n': + if (last) { + return 51; + } + goto PROXY_AUTHORIZATION; + default: + return -1; + } + +R: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto RA; + case 'a': + if (last) { + return -1; + } + goto RA; + case 'E': + if (last) { + return -1; + } + goto RE; + case 'e': + if (last) { + return -1; + } + goto RE; + default: + return -1; + } + +RA: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto RAN; + case 'n': + if (last) { + return -1; + } + goto RAN; + default: + return -1; + } + +RAN: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto RANG; + case 'g': + if (last) { + return -1; + } + goto RANG; + default: + return -1; + } + +RANG: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 52; + } + goto RANGE; + case 'e': + if (last) { + return 52; + } + goto RANGE; + default: + return -1; + } + +RE: + NEXT_CHAR(); + switch (ch) { + case 'F': + if (last) { + return -1; + } + goto REF; + case 'f': + if (last) { + return -1; + } + goto REF; + case 'T': + if (last) { + return -1; + } + goto RET; + case 't': + if (last) { + return -1; + } + goto RET; + default: + return -1; + } + +REF: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto REFE; + case 'e': + if (last) { + return -1; + } + goto REFE; + default: + return -1; + } + +REFE: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto REFER; + case 'r': + if (last) { + return -1; + } + goto REFER; + default: + return -1; + } + +REFER: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto REFERE; + case 'e': + if (last) { + return -1; + } + goto REFERE; + default: + return -1; + } + +REFERE: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return 53; + } + goto REFERER; + case 'r': + if (last) { + return 53; + } + goto REFERER; + default: + return -1; + } + +RET: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto RETR; + case 'r': + if (last) { + return -1; + } + goto RETR; + default: + return -1; + } + +RETR: + NEXT_CHAR(); + switch (ch) { + case 'Y': + if (last) { + return -1; + } + goto RETRY; + case 'y': + if (last) { + return -1; + } + goto RETRY; + default: + return -1; + } + +RETRY: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto RETRY_; + default: + return -1; + } + +RETRY_: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto RETRY_A; + case 'a': + if (last) { + return -1; + } + goto RETRY_A; + default: + return -1; + } + +RETRY_A: + NEXT_CHAR(); + switch (ch) { + case 'F': + if (last) { + return -1; + } + goto RETRY_AF; + case 'f': + if (last) { + return -1; + } + goto RETRY_AF; + default: + return -1; + } + +RETRY_AF: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto RETRY_AFT; + case 't': + if (last) { + return -1; + } + goto RETRY_AFT; + default: + return -1; + } + +RETRY_AFT: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto RETRY_AFTE; + case 'e': + if (last) { + return -1; + } + goto RETRY_AFTE; + default: + return -1; + } + +RETRY_AFTE: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return 54; + } + goto RETRY_AFTER; + case 'r': + if (last) { + return 54; + } + goto RETRY_AFTER; + default: + return -1; + } + +S: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto SE; + case 'e': + if (last) { + return -1; + } + goto SE; + default: + return -1; + } + +SE: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto SEC; + case 'c': + if (last) { + return -1; + } + goto SEC; + case 'R': + if (last) { + return -1; + } + goto SER; + case 'r': + if (last) { + return -1; + } + goto SER; + case 'T': + if (last) { + return -1; + } + goto SET; + case 't': + if (last) { + return -1; + } + goto SET; + default: + return -1; + } + +SEC: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto SEC_; + default: + return -1; + } + +SEC_: + NEXT_CHAR(); + switch (ch) { + case 'W': + if (last) { + return -1; + } + goto SEC_W; + case 'w': + if (last) { + return -1; + } + goto SEC_W; + default: + return -1; + } + +SEC_W: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto SEC_WE; + case 'e': + if (last) { + return -1; + } + goto SEC_WE; + default: + return -1; + } + +SEC_WE: + NEXT_CHAR(); + switch (ch) { + case 'B': + if (last) { + return -1; + } + goto SEC_WEB; + case 'b': + if (last) { + return -1; + } + goto SEC_WEB; + default: + return -1; + } + +SEC_WEB: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto SEC_WEBS; + case 's': + if (last) { + return -1; + } + goto SEC_WEBS; + default: + return -1; + } + +SEC_WEBS: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto SEC_WEBSO; + case 'o': + if (last) { + return -1; + } + goto SEC_WEBSO; + default: + return -1; + } + +SEC_WEBSO: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto SEC_WEBSOC; + case 'c': + if (last) { + return -1; + } + goto SEC_WEBSOC; + default: + return -1; + } + +SEC_WEBSOC: + NEXT_CHAR(); + switch (ch) { + case 'K': + if (last) { + return -1; + } + goto SEC_WEBSOCK; + case 'k': + if (last) { + return -1; + } + goto SEC_WEBSOCK; + default: + return -1; + } + +SEC_WEBSOCK: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto SEC_WEBSOCKE; + case 'e': + if (last) { + return -1; + } + goto SEC_WEBSOCKE; + default: + return -1; + } + +SEC_WEBSOCKE: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto SEC_WEBSOCKET; + case 't': + if (last) { + return -1; + } + goto SEC_WEBSOCKET; + default: + return -1; + } + +SEC_WEBSOCKET: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_; + default: + return -1; + } + +SEC_WEBSOCKET_: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_A; + case 'a': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_A; + case 'E': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_E; + case 'e': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_E; + case 'K': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_K; + case 'k': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_K; + case 'P': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_P; + case 'p': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_P; + case 'V': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_V; + case 'v': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_V; + default: + return -1; + } + +SEC_WEBSOCKET_A: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_AC; + case 'c': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_AC; + default: + return -1; + } + +SEC_WEBSOCKET_AC: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_ACC; + case 'c': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_ACC; + default: + return -1; + } + +SEC_WEBSOCKET_ACC: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_ACCE; + case 'e': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_ACCE; + default: + return -1; + } + +SEC_WEBSOCKET_ACCE: + NEXT_CHAR(); + switch (ch) { + case 'P': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_ACCEP; + case 'p': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_ACCEP; + default: + return -1; + } + +SEC_WEBSOCKET_ACCEP: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return 55; + } + goto SEC_WEBSOCKET_ACCEPT; + case 't': + if (last) { + return 55; + } + goto SEC_WEBSOCKET_ACCEPT; + default: + return -1; + } + +SEC_WEBSOCKET_E: + NEXT_CHAR(); + switch (ch) { + case 'X': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EX; + case 'x': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EX; + default: + return -1; + } + +SEC_WEBSOCKET_EX: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EXT; + case 't': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EXT; + default: + return -1; + } + +SEC_WEBSOCKET_EXT: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EXTE; + case 'e': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EXTE; + default: + return -1; + } + +SEC_WEBSOCKET_EXTE: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EXTEN; + case 'n': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EXTEN; + default: + return -1; + } + +SEC_WEBSOCKET_EXTEN: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EXTENS; + case 's': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EXTENS; + default: + return -1; + } + +SEC_WEBSOCKET_EXTENS: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EXTENSI; + case 'i': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EXTENSI; + default: + return -1; + } + +SEC_WEBSOCKET_EXTENSI: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EXTENSIO; + case 'o': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EXTENSIO; + default: + return -1; + } + +SEC_WEBSOCKET_EXTENSIO: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EXTENSION; + case 'n': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_EXTENSION; + default: + return -1; + } + +SEC_WEBSOCKET_EXTENSION: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return 56; + } + goto SEC_WEBSOCKET_EXTENSIONS; + case 's': + if (last) { + return 56; + } + goto SEC_WEBSOCKET_EXTENSIONS; + default: + return -1; + } + +SEC_WEBSOCKET_K: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_KE; + case 'e': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_KE; + default: + return -1; + } + +SEC_WEBSOCKET_KE: + NEXT_CHAR(); + switch (ch) { + case 'Y': + if (last) { + return 57; + } + goto SEC_WEBSOCKET_KEY; + case 'y': + if (last) { + return 57; + } + goto SEC_WEBSOCKET_KEY; + default: + return -1; + } + +SEC_WEBSOCKET_KEY: + NEXT_CHAR(); + switch (ch) { + case '1': + if (last) { + return 58; + } + goto SEC_WEBSOCKET_KEY1; + default: + return -1; + } + +SEC_WEBSOCKET_P: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_PR; + case 'r': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_PR; + default: + return -1; + } + +SEC_WEBSOCKET_PR: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_PRO; + case 'o': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_PRO; + default: + return -1; + } + +SEC_WEBSOCKET_PRO: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_PROT; + case 't': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_PROT; + default: + return -1; + } + +SEC_WEBSOCKET_PROT: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_PROTO; + case 'o': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_PROTO; + default: + return -1; + } + +SEC_WEBSOCKET_PROTO: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_PROTOC; + case 'c': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_PROTOC; + default: + return -1; + } + +SEC_WEBSOCKET_PROTOC: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_PROTOCO; + case 'o': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_PROTOCO; + default: + return -1; + } + +SEC_WEBSOCKET_PROTOCO: + NEXT_CHAR(); + switch (ch) { + case 'L': + if (last) { + return 59; + } + goto SEC_WEBSOCKET_PROTOCOL; + case 'l': + if (last) { + return 59; + } + goto SEC_WEBSOCKET_PROTOCOL; + default: + return -1; + } + +SEC_WEBSOCKET_V: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_VE; + case 'e': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_VE; + default: + return -1; + } + +SEC_WEBSOCKET_VE: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_VER; + case 'r': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_VER; + default: + return -1; + } + +SEC_WEBSOCKET_VER: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_VERS; + case 's': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_VERS; + default: + return -1; + } + +SEC_WEBSOCKET_VERS: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_VERSI; + case 'i': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_VERSI; + default: + return -1; + } + +SEC_WEBSOCKET_VERSI: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_VERSIO; + case 'o': + if (last) { + return -1; + } + goto SEC_WEBSOCKET_VERSIO; + default: + return -1; + } + +SEC_WEBSOCKET_VERSIO: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return 60; + } + goto SEC_WEBSOCKET_VERSION; + case 'n': + if (last) { + return 60; + } + goto SEC_WEBSOCKET_VERSION; + default: + return -1; + } + +SER: + NEXT_CHAR(); + switch (ch) { + case 'V': + if (last) { + return -1; + } + goto SERV; + case 'v': + if (last) { + return -1; + } + goto SERV; + default: + return -1; + } + +SERV: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto SERVE; + case 'e': + if (last) { + return -1; + } + goto SERVE; + default: + return -1; + } + +SERVE: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return 61; + } + goto SERVER; + case 'r': + if (last) { + return 61; + } + goto SERVER; + default: + return -1; + } + +SET: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto SET_; + default: + return -1; + } + +SET_: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto SET_C; + case 'c': + if (last) { + return -1; + } + goto SET_C; + default: + return -1; + } + +SET_C: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto SET_CO; + case 'o': + if (last) { + return -1; + } + goto SET_CO; + default: + return -1; + } + +SET_CO: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto SET_COO; + case 'o': + if (last) { + return -1; + } + goto SET_COO; + default: + return -1; + } + +SET_COO: + NEXT_CHAR(); + switch (ch) { + case 'K': + if (last) { + return -1; + } + goto SET_COOK; + case 'k': + if (last) { + return -1; + } + goto SET_COOK; + default: + return -1; + } + +SET_COOK: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto SET_COOKI; + case 'i': + if (last) { + return -1; + } + goto SET_COOKI; + default: + return -1; + } + +SET_COOKI: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 62; + } + goto SET_COOKIE; + case 'e': + if (last) { + return 62; + } + goto SET_COOKIE; + default: + return -1; + } + +T: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 63; + } + goto TE; + case 'e': + if (last) { + return 63; + } + goto TE; + case 'R': + if (last) { + return -1; + } + goto TR; + case 'r': + if (last) { + return -1; + } + goto TR; + default: + return -1; + } + +TR: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto TRA; + case 'a': + if (last) { + return -1; + } + goto TRA; + default: + return -1; + } + +TRA: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto TRAI; + case 'i': + if (last) { + return -1; + } + goto TRAI; + case 'N': + if (last) { + return -1; + } + goto TRAN; + case 'n': + if (last) { + return -1; + } + goto TRAN; + default: + return -1; + } + +TRAI: + NEXT_CHAR(); + switch (ch) { + case 'L': + if (last) { + return -1; + } + goto TRAIL; + case 'l': + if (last) { + return -1; + } + goto TRAIL; + default: + return -1; + } + +TRAIL: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto TRAILE; + case 'e': + if (last) { + return -1; + } + goto TRAILE; + default: + return -1; + } + +TRAILE: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return 64; + } + goto TRAILER; + case 'r': + if (last) { + return 64; + } + goto TRAILER; + default: + return -1; + } + +TRAN: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto TRANS; + case 's': + if (last) { + return -1; + } + goto TRANS; + default: + return -1; + } + +TRANS: + NEXT_CHAR(); + switch (ch) { + case 'F': + if (last) { + return -1; + } + goto TRANSF; + case 'f': + if (last) { + return -1; + } + goto TRANSF; + default: + return -1; + } + +TRANSF: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto TRANSFE; + case 'e': + if (last) { + return -1; + } + goto TRANSFE; + default: + return -1; + } + +TRANSFE: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto TRANSFER; + case 'r': + if (last) { + return -1; + } + goto TRANSFER; + default: + return -1; + } + +TRANSFER: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto TRANSFER_; + default: + return -1; + } + +TRANSFER_: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto TRANSFER_E; + case 'e': + if (last) { + return -1; + } + goto TRANSFER_E; + default: + return -1; + } + +TRANSFER_E: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto TRANSFER_EN; + case 'n': + if (last) { + return -1; + } + goto TRANSFER_EN; + default: + return -1; + } + +TRANSFER_EN: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto TRANSFER_ENC; + case 'c': + if (last) { + return -1; + } + goto TRANSFER_ENC; + default: + return -1; + } + +TRANSFER_ENC: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto TRANSFER_ENCO; + case 'o': + if (last) { + return -1; + } + goto TRANSFER_ENCO; + default: + return -1; + } + +TRANSFER_ENCO: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto TRANSFER_ENCOD; + case 'd': + if (last) { + return -1; + } + goto TRANSFER_ENCOD; + default: + return -1; + } + +TRANSFER_ENCOD: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto TRANSFER_ENCODI; + case 'i': + if (last) { + return -1; + } + goto TRANSFER_ENCODI; + default: + return -1; + } + +TRANSFER_ENCODI: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto TRANSFER_ENCODIN; + case 'n': + if (last) { + return -1; + } + goto TRANSFER_ENCODIN; + default: + return -1; + } + +TRANSFER_ENCODIN: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return 65; + } + goto TRANSFER_ENCODING; + case 'g': + if (last) { + return 65; + } + goto TRANSFER_ENCODING; + default: + return -1; + } + +U: + NEXT_CHAR(); + switch (ch) { + case 'P': + if (last) { + return -1; + } + goto UP; + case 'p': + if (last) { + return -1; + } + goto UP; + case 'R': + if (last) { + return -1; + } + goto UR; + case 'r': + if (last) { + return -1; + } + goto UR; + case 'S': + if (last) { + return -1; + } + goto US; + case 's': + if (last) { + return -1; + } + goto US; + default: + return -1; + } + +UP: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto UPG; + case 'g': + if (last) { + return -1; + } + goto UPG; + default: + return -1; + } + +UPG: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto UPGR; + case 'r': + if (last) { + return -1; + } + goto UPGR; + default: + return -1; + } + +UPGR: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto UPGRA; + case 'a': + if (last) { + return -1; + } + goto UPGRA; + default: + return -1; + } + +UPGRA: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto UPGRAD; + case 'd': + if (last) { + return -1; + } + goto UPGRAD; + default: + return -1; + } + +UPGRAD: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 66; + } + goto UPGRADE; + case 'e': + if (last) { + return 66; + } + goto UPGRADE; + default: + return -1; + } + +UR: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return 67; + } + goto URI; + case 'i': + if (last) { + return 67; + } + goto URI; + default: + return -1; + } + +US: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto USE; + case 'e': + if (last) { + return -1; + } + goto USE; + default: + return -1; + } + +USE: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto USER; + case 'r': + if (last) { + return -1; + } + goto USER; + default: + return -1; + } + +USER: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto USER_; + default: + return -1; + } + +USER_: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto USER_A; + case 'a': + if (last) { + return -1; + } + goto USER_A; + default: + return -1; + } + +USER_A: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto USER_AG; + case 'g': + if (last) { + return -1; + } + goto USER_AG; + default: + return -1; + } + +USER_AG: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto USER_AGE; + case 'e': + if (last) { + return -1; + } + goto USER_AGE; + default: + return -1; + } + +USER_AGE: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto USER_AGEN; + case 'n': + if (last) { + return -1; + } + goto USER_AGEN; + default: + return -1; + } + +USER_AGEN: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return 68; + } + goto USER_AGENT; + case 't': + if (last) { + return 68; + } + goto USER_AGENT; + default: + return -1; + } + +V: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto VA; + case 'a': + if (last) { + return -1; + } + goto VA; + case 'I': + if (last) { + return -1; + } + goto VI; + case 'i': + if (last) { + return -1; + } + goto VI; + default: + return -1; + } + +VA: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto VAR; + case 'r': + if (last) { + return -1; + } + goto VAR; + default: + return -1; + } + +VAR: + NEXT_CHAR(); + switch (ch) { + case 'Y': + if (last) { + return 69; + } + goto VARY; + case 'y': + if (last) { + return 69; + } + goto VARY; + default: + return -1; + } + +VI: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return 70; + } + goto VIA; + case 'a': + if (last) { + return 70; + } + goto VIA; + default: + return -1; + } + +W: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto WA; + case 'a': + if (last) { + return -1; + } + goto WA; + case 'E': + if (last) { + return -1; + } + goto WE; + case 'e': + if (last) { + return -1; + } + goto WE; + case 'W': + if (last) { + return -1; + } + goto WW; + case 'w': + if (last) { + return -1; + } + goto WW; + default: + return -1; + } + +WA: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto WAN; + case 'n': + if (last) { + return -1; + } + goto WAN; + case 'R': + if (last) { + return -1; + } + goto WAR; + case 'r': + if (last) { + return -1; + } + goto WAR; + default: + return -1; + } + +WAN: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto WANT; + case 't': + if (last) { + return -1; + } + goto WANT; + default: + return -1; + } + +WANT: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto WANT_; + default: + return -1; + } + +WANT_: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto WANT_D; + case 'd': + if (last) { + return -1; + } + goto WANT_D; + default: + return -1; + } + +WANT_D: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto WANT_DI; + case 'i': + if (last) { + return -1; + } + goto WANT_DI; + default: + return -1; + } + +WANT_DI: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return -1; + } + goto WANT_DIG; + case 'g': + if (last) { + return -1; + } + goto WANT_DIG; + default: + return -1; + } + +WANT_DIG: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto WANT_DIGE; + case 'e': + if (last) { + return -1; + } + goto WANT_DIGE; + default: + return -1; + } + +WANT_DIGE: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto WANT_DIGES; + case 's': + if (last) { + return -1; + } + goto WANT_DIGES; + default: + return -1; + } + +WANT_DIGES: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return 71; + } + goto WANT_DIGEST; + case 't': + if (last) { + return 71; + } + goto WANT_DIGEST; + default: + return -1; + } + +WAR: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto WARN; + case 'n': + if (last) { + return -1; + } + goto WARN; + default: + return -1; + } + +WARN: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto WARNI; + case 'i': + if (last) { + return -1; + } + goto WARNI; + default: + return -1; + } + +WARNI: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto WARNIN; + case 'n': + if (last) { + return -1; + } + goto WARNIN; + default: + return -1; + } + +WARNIN: + NEXT_CHAR(); + switch (ch) { + case 'G': + if (last) { + return 72; + } + goto WARNING; + case 'g': + if (last) { + return 72; + } + goto WARNING; + default: + return -1; + } + +WE: + NEXT_CHAR(); + switch (ch) { + case 'B': + if (last) { + return -1; + } + goto WEB; + case 'b': + if (last) { + return -1; + } + goto WEB; + default: + return -1; + } + +WEB: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto WEBS; + case 's': + if (last) { + return -1; + } + goto WEBS; + default: + return -1; + } + +WEBS: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto WEBSO; + case 'o': + if (last) { + return -1; + } + goto WEBSO; + default: + return -1; + } + +WEBSO: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto WEBSOC; + case 'c': + if (last) { + return -1; + } + goto WEBSOC; + default: + return -1; + } + +WEBSOC: + NEXT_CHAR(); + switch (ch) { + case 'K': + if (last) { + return -1; + } + goto WEBSOCK; + case 'k': + if (last) { + return -1; + } + goto WEBSOCK; + default: + return -1; + } + +WEBSOCK: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto WEBSOCKE; + case 'e': + if (last) { + return -1; + } + goto WEBSOCKE; + default: + return -1; + } + +WEBSOCKE: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return 73; + } + goto WEBSOCKET; + case 't': + if (last) { + return 73; + } + goto WEBSOCKET; + default: + return -1; + } + +WW: + NEXT_CHAR(); + switch (ch) { + case 'W': + if (last) { + return -1; + } + goto WWW; + case 'w': + if (last) { + return -1; + } + goto WWW; + default: + return -1; + } + +WWW: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto WWW_; + default: + return -1; + } + +WWW_: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto WWW_A; + case 'a': + if (last) { + return -1; + } + goto WWW_A; + default: + return -1; + } + +WWW_A: + NEXT_CHAR(); + switch (ch) { + case 'U': + if (last) { + return -1; + } + goto WWW_AU; + case 'u': + if (last) { + return -1; + } + goto WWW_AU; + default: + return -1; + } + +WWW_AU: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto WWW_AUT; + case 't': + if (last) { + return -1; + } + goto WWW_AUT; + default: + return -1; + } + +WWW_AUT: + NEXT_CHAR(); + switch (ch) { + case 'H': + if (last) { + return -1; + } + goto WWW_AUTH; + case 'h': + if (last) { + return -1; + } + goto WWW_AUTH; + default: + return -1; + } + +WWW_AUTH: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto WWW_AUTHE; + case 'e': + if (last) { + return -1; + } + goto WWW_AUTHE; + default: + return -1; + } + +WWW_AUTHE: + NEXT_CHAR(); + switch (ch) { + case 'N': + if (last) { + return -1; + } + goto WWW_AUTHEN; + case 'n': + if (last) { + return -1; + } + goto WWW_AUTHEN; + default: + return -1; + } + +WWW_AUTHEN: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto WWW_AUTHENT; + case 't': + if (last) { + return -1; + } + goto WWW_AUTHENT; + default: + return -1; + } + +WWW_AUTHENT: + NEXT_CHAR(); + switch (ch) { + case 'I': + if (last) { + return -1; + } + goto WWW_AUTHENTI; + case 'i': + if (last) { + return -1; + } + goto WWW_AUTHENTI; + default: + return -1; + } + +WWW_AUTHENTI: + NEXT_CHAR(); + switch (ch) { + case 'C': + if (last) { + return -1; + } + goto WWW_AUTHENTIC; + case 'c': + if (last) { + return -1; + } + goto WWW_AUTHENTIC; + default: + return -1; + } + +WWW_AUTHENTIC: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto WWW_AUTHENTICA; + case 'a': + if (last) { + return -1; + } + goto WWW_AUTHENTICA; + default: + return -1; + } + +WWW_AUTHENTICA: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto WWW_AUTHENTICAT; + case 't': + if (last) { + return -1; + } + goto WWW_AUTHENTICAT; + default: + return -1; + } + +WWW_AUTHENTICAT: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return 74; + } + goto WWW_AUTHENTICATE; + case 'e': + if (last) { + return 74; + } + goto WWW_AUTHENTICATE; + default: + return -1; + } + +X: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto X_; + default: + return -1; + } + +X_: + NEXT_CHAR(); + switch (ch) { + case 'F': + if (last) { + return -1; + } + goto X_F; + case 'f': + if (last) { + return -1; + } + goto X_F; + default: + return -1; + } + +X_F: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto X_FO; + case 'o': + if (last) { + return -1; + } + goto X_FO; + default: + return -1; + } + +X_FO: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto X_FOR; + case 'r': + if (last) { + return -1; + } + goto X_FOR; + default: + return -1; + } + +X_FOR: + NEXT_CHAR(); + switch (ch) { + case 'W': + if (last) { + return -1; + } + goto X_FORW; + case 'w': + if (last) { + return -1; + } + goto X_FORW; + default: + return -1; + } + +X_FORW: + NEXT_CHAR(); + switch (ch) { + case 'A': + if (last) { + return -1; + } + goto X_FORWA; + case 'a': + if (last) { + return -1; + } + goto X_FORWA; + default: + return -1; + } + +X_FORWA: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto X_FORWAR; + case 'r': + if (last) { + return -1; + } + goto X_FORWAR; + default: + return -1; + } + +X_FORWAR: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto X_FORWARD; + case 'd': + if (last) { + return -1; + } + goto X_FORWARD; + default: + return -1; + } + +X_FORWARD: + NEXT_CHAR(); + switch (ch) { + case 'E': + if (last) { + return -1; + } + goto X_FORWARDE; + case 'e': + if (last) { + return -1; + } + goto X_FORWARDE; + default: + return -1; + } + +X_FORWARDE: + NEXT_CHAR(); + switch (ch) { + case 'D': + if (last) { + return -1; + } + goto X_FORWARDED; + case 'd': + if (last) { + return -1; + } + goto X_FORWARDED; + default: + return -1; + } + +X_FORWARDED: + NEXT_CHAR(); + switch (ch) { + case '-': + if (last) { + return -1; + } + goto X_FORWARDED_; + default: + return -1; + } + +X_FORWARDED_: + NEXT_CHAR(); + switch (ch) { + case 'F': + if (last) { + return -1; + } + goto X_FORWARDED_F; + case 'f': + if (last) { + return -1; + } + goto X_FORWARDED_F; + case 'H': + if (last) { + return -1; + } + goto X_FORWARDED_H; + case 'h': + if (last) { + return -1; + } + goto X_FORWARDED_H; + case 'P': + if (last) { + return -1; + } + goto X_FORWARDED_P; + case 'p': + if (last) { + return -1; + } + goto X_FORWARDED_P; + default: + return -1; + } + +X_FORWARDED_F: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto X_FORWARDED_FO; + case 'o': + if (last) { + return -1; + } + goto X_FORWARDED_FO; + default: + return -1; + } + +X_FORWARDED_FO: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return 75; + } + goto X_FORWARDED_FOR; + case 'r': + if (last) { + return 75; + } + goto X_FORWARDED_FOR; + default: + return -1; + } + +X_FORWARDED_H: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto X_FORWARDED_HO; + case 'o': + if (last) { + return -1; + } + goto X_FORWARDED_HO; + default: + return -1; + } + +X_FORWARDED_HO: + NEXT_CHAR(); + switch (ch) { + case 'S': + if (last) { + return -1; + } + goto X_FORWARDED_HOS; + case 's': + if (last) { + return -1; + } + goto X_FORWARDED_HOS; + default: + return -1; + } + +X_FORWARDED_HOS: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return 76; + } + goto X_FORWARDED_HOST; + case 't': + if (last) { + return 76; + } + goto X_FORWARDED_HOST; + default: + return -1; + } + +X_FORWARDED_P: + NEXT_CHAR(); + switch (ch) { + case 'R': + if (last) { + return -1; + } + goto X_FORWARDED_PR; + case 'r': + if (last) { + return -1; + } + goto X_FORWARDED_PR; + default: + return -1; + } + +X_FORWARDED_PR: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return -1; + } + goto X_FORWARDED_PRO; + case 'o': + if (last) { + return -1; + } + goto X_FORWARDED_PRO; + default: + return -1; + } + +X_FORWARDED_PRO: + NEXT_CHAR(); + switch (ch) { + case 'T': + if (last) { + return -1; + } + goto X_FORWARDED_PROT; + case 't': + if (last) { + return -1; + } + goto X_FORWARDED_PROT; + default: + return -1; + } + +X_FORWARDED_PROT: + NEXT_CHAR(); + switch (ch) { + case 'O': + if (last) { + return 77; + } + goto X_FORWARDED_PROTO; + case 'o': + if (last) { + return 77; + } + goto X_FORWARDED_PROTO; + default: + return -1; + } + +ACCEPT_CHARSET: +ACCEPT_ENCODING: +ACCEPT_LANGUAGE: +ACCEPT_RANGES: +ACCESS_CONTROL_ALLOW_CREDENTIALS: +ACCESS_CONTROL_ALLOW_HEADERS: +ACCESS_CONTROL_ALLOW_METHODS: +ACCESS_CONTROL_ALLOW_ORIGIN: +ACCESS_CONTROL_EXPOSE_HEADERS: +ACCESS_CONTROL_MAX_AGE: +ACCESS_CONTROL_REQUEST_HEADERS: +ACCESS_CONTROL_REQUEST_METHOD: +AGE: +ALLOW: +AUTHORIZATION: +CACHE_CONTROL: +CONNECTION: +CONTENT_DISPOSITION: +CONTENT_ENCODING: +CONTENT_LANGUAGE: +CONTENT_LENGTH: +CONTENT_LOCATION: +CONTENT_MD5: +CONTENT_RANGE: +CONTENT_TRANSFER_ENCODING: +CONTENT_TYPE: +COOKIE: +DATE: +DESTINATION: +DIGEST: +ETAG: +EXPECT: +EXPIRES: +FORWARDED: +FROM: +HOST: +IF_MATCH: +IF_MODIFIED_SINCE: +IF_NONE_MATCH: +IF_RANGE: +IF_UNMODIFIED_SINCE: +KEEP_ALIVE: +LAST_EVENT_ID: +LAST_MODIFIED: +LINK: +LOCATION: +MAX_FORWARDS: +ORIGIN: +PRAGMA: +PROXY_AUTHENTICATE: +PROXY_AUTHORIZATION: +RANGE: +REFERER: +RETRY_AFTER: +SEC_WEBSOCKET_ACCEPT: +SEC_WEBSOCKET_EXTENSIONS: +SEC_WEBSOCKET_KEY1: +SEC_WEBSOCKET_PROTOCOL: +SEC_WEBSOCKET_VERSION: +SERVER: +SET_COOKIE: +TE: +TRAILER: +TRANSFER_ENCODING: +UPGRADE: +URI: +USER_AGENT: +VARY: +VIA: +WANT_DIGEST: +WARNING: +WEBSOCKET: +WWW_AUTHENTICATE: +X_FORWARDED_FOR: +X_FORWARDED_HOST: +X_FORWARDED_PROTO: +missing: + /* nothing found */ + return -1; +} diff --git a/venv/lib/python3.6/site-packages/aiohttp/_find_header.h b/venv/lib/python3.6/site-packages/aiohttp/_find_header.h new file mode 100644 index 0000000..99b7b4f --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_find_header.h @@ -0,0 +1,14 @@ +#ifndef _FIND_HEADERS_H +#define _FIND_HEADERS_H + +#ifdef __cplusplus +extern "C" { +#endif + +int find_header(const char *str, int size); + + +#ifdef __cplusplus +} +#endif +#endif diff --git a/venv/lib/python3.6/site-packages/aiohttp/_find_header.pxd b/venv/lib/python3.6/site-packages/aiohttp/_find_header.pxd new file mode 100644 index 0000000..37a6c37 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_find_header.pxd @@ -0,0 +1,2 @@ +cdef extern from "_find_header.h": + int find_header(char *, int) diff --git a/venv/lib/python3.6/site-packages/aiohttp/_frozenlist.c b/venv/lib/python3.6/site-packages/aiohttp/_frozenlist.c new file mode 100644 index 0000000..e13d93c --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_frozenlist.c @@ -0,0 +1,7325 @@ +/* Generated by Cython 0.29.2 */ + +/* BEGIN: Cython Metadata +{ + "distutils": { + "name": "aiohttp._frozenlist", + "sources": [ + "aiohttp/_frozenlist.pyx" + ] + }, + "module_name": "aiohttp._frozenlist" +} +END: Cython Metadata */ + +#define PY_SSIZE_T_CLEAN +#include "Python.h" +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) + #error Cython requires Python 2.6+ or Python 3.3+. +#else +#define CYTHON_ABI "0_29_2" +#define CYTHON_HEX_VERSION 0x001D02F0 +#define CYTHON_FUTURE_DIVISION 0 +#include <stddef.h> +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x02070000 + #define HAVE_LONG_LONG + #endif +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #ifndef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 1 + #endif + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #ifndef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #endif +#endif +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #include "longintrepr.h" + #undef SHIFT + #undef BASE + #undef MASK + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include <stdint.h> +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#ifndef CYTHON_INLINE + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #elif defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_INLINE inline + #else + #define CYTHON_INLINE + #endif +#endif + +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#ifndef METH_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif +#if CYTHON_USE_DICT_VERSIONS +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ + } +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(p) +#endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; // PyThread_create_key reports success always +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif // TSS (Thread Specific Storage) API +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) +#else + #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) + #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact + #define PyObject_Unicode PyObject_Str +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t PyInt_AsLong +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : (Py_INCREF(func), func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(WIN32) || defined(MS_WINDOWS) + #define _USE_MATH_DEFINES +#endif +#include <math.h> +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif +#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) +#define __Pyx_truncl trunc +#else +#define __Pyx_truncl truncl +#endif + + +#define __PYX_ERR(f_index, lineno, Ln_error) \ +{ \ + __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \ +} + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__aiohttp___frozenlist +#define __PYX_HAVE_API__aiohttp___frozenlist +/* Early includes */ +#ifdef _OPENMP +#include <omp.h> +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0 +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include <cstdlib> + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +#if CYTHON_ASSUME_SAFE_MACROS +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ +static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + + +static const char *__pyx_f[] = { + "aiohttp/_frozenlist.pyx", + "stringsource", +}; + +/*--- Type declarations ---*/ +struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList; + +/* "aiohttp/_frozenlist.pyx":4 + * + * + * cdef class FrozenList: # <<<<<<<<<<<<<< + * + * cdef readonly bint frozen + */ +struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList { + PyObject_HEAD + struct __pyx_vtabstruct_7aiohttp_11_frozenlist_FrozenList *__pyx_vtab; + int frozen; + PyObject *_items; +}; + + + +struct __pyx_vtabstruct_7aiohttp_11_frozenlist_FrozenList { + PyObject *(*_check_frozen)(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *); + PyObject *(*_fast_len)(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *); +}; +static struct __pyx_vtabstruct_7aiohttp_11_frozenlist_FrozenList *__pyx_vtabptr_7aiohttp_11_frozenlist_FrozenList; +static CYTHON_INLINE PyObject *__pyx_f_7aiohttp_11_frozenlist_10FrozenList__fast_len(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *); + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* GetItemInt.proto */ +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); + +/* ObjectGetItem.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key); +#else +#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallNoArg.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); +#else +#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) +#endif + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* PyIntCompare.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, long inplace); + +/* PySequenceContains.proto */ +static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) { + int result = PySequence_Contains(seq, item); + return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); +} + +/* PyObjectCall2Args.proto */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); + +/* PyObjectGetMethod.proto */ +static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); + +/* PyObjectCallMethod1.proto */ +static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); + +/* pop_index.proto */ +static PyObject* __Pyx__PyObject_PopNewIndex(PyObject* L, PyObject* py_ix); +static PyObject* __Pyx__PyObject_PopIndex(PyObject* L, PyObject* py_ix); +#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS +static PyObject* __Pyx__PyList_PopIndex(PyObject* L, PyObject* py_ix, Py_ssize_t ix); +#define __Pyx_PyObject_PopIndex(L, py_ix, ix, is_signed, type, to_py_func) (\ + (likely(PyList_CheckExact(L) && __Pyx_fits_Py_ssize_t(ix, type, is_signed))) ?\ + __Pyx__PyList_PopIndex(L, py_ix, ix) : (\ + (unlikely(py_ix == Py_None)) ? __Pyx__PyObject_PopNewIndex(L, to_py_func(ix)) :\ + __Pyx__PyObject_PopIndex(L, py_ix))) +#define __Pyx_PyList_PopIndex(L, py_ix, ix, is_signed, type, to_py_func) (\ + __Pyx_fits_Py_ssize_t(ix, type, is_signed) ?\ + __Pyx__PyList_PopIndex(L, py_ix, ix) : (\ + (unlikely(py_ix == Py_None)) ? __Pyx__PyObject_PopNewIndex(L, to_py_func(ix)) :\ + __Pyx__PyObject_PopIndex(L, py_ix))) +#else +#define __Pyx_PyList_PopIndex(L, py_ix, ix, is_signed, type, to_py_func)\ + __Pyx_PyObject_PopIndex(L, py_ix, ix, is_signed, type, to_py_func) +#define __Pyx_PyObject_PopIndex(L, py_ix, ix, is_signed, type, to_py_func) (\ + (unlikely(py_ix == Py_None)) ? __Pyx__PyObject_PopNewIndex(L, to_py_func(ix)) :\ + __Pyx__PyObject_PopIndex(L, py_ix)) +#endif + +/* ListAppend.proto */ +#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS +static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) { + PyListObject* L = (PyListObject*) list; + Py_ssize_t len = Py_SIZE(list); + if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) { + Py_INCREF(x); + PyList_SET_ITEM(list, len, x); + Py_SIZE(list) = len+1; + return 0; + } + return PyList_Append(list, x); +} +#else +#define __Pyx_PyList_Append(L,x) PyList_Append(L,x) +#endif + +/* PyErrExceptionMatches.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); +#else +#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) +#endif + +/* GetAttr.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *); + +/* GetAttr3.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *); + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +#define __Pyx_GetModuleGlobalNameUncached(var, name) {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* ImportFrom.proto */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); + +/* HasAttr.proto */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *); + +/* PyObject_GenericGetAttrNoDict.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr +#endif + +/* PyObject_GenericGetAttr.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr +#endif + +/* SetVTable.proto */ +static int __Pyx_SetVtable(PyObject *dict, void *vtable); + +/* SetupReduce.proto */ +static int __Pyx_setup_reduce(PyObject* type_obj); + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + +static PyObject *__pyx_f_7aiohttp_11_frozenlist_10FrozenList__check_frozen(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self); /* proto*/ +static CYTHON_INLINE PyObject *__pyx_f_7aiohttp_11_frozenlist_10FrozenList__fast_len(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self); /* proto*/ + +/* Module declarations from 'aiohttp._frozenlist' */ +static PyTypeObject *__pyx_ptype_7aiohttp_11_frozenlist_FrozenList = 0; +static PyObject *__pyx_f_7aiohttp_11_frozenlist___pyx_unpickle_FrozenList__set_state(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *, PyObject *); /*proto*/ +#define __Pyx_MODULE_NAME "aiohttp._frozenlist" +extern int __pyx_module_is_main_aiohttp___frozenlist; +int __pyx_module_is_main_aiohttp___frozenlist = 0; + +/* Implementation of 'aiohttp._frozenlist' */ +static PyObject *__pyx_builtin_RuntimeError; +static const char __pyx_k_new[] = "__new__"; +static const char __pyx_k_pop[] = "pop"; +static const char __pyx_k_pos[] = "pos"; +static const char __pyx_k_dict[] = "__dict__"; +static const char __pyx_k_item[] = "item"; +static const char __pyx_k_iter[] = "__iter__"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_clear[] = "clear"; +static const char __pyx_k_count[] = "count"; +static const char __pyx_k_index[] = "index"; +static const char __pyx_k_items[] = "items"; +static const char __pyx_k_format[] = "format"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_pickle[] = "pickle"; +static const char __pyx_k_reduce[] = "__reduce__"; +static const char __pyx_k_remove[] = "remove"; +static const char __pyx_k_update[] = "update"; +static const char __pyx_k_getstate[] = "__getstate__"; +static const char __pyx_k_pyx_type[] = "__pyx_type"; +static const char __pyx_k_register[] = "register"; +static const char __pyx_k_reversed[] = "__reversed__"; +static const char __pyx_k_setstate[] = "__setstate__"; +static const char __pyx_k_pyx_state[] = "__pyx_state"; +static const char __pyx_k_reduce_ex[] = "__reduce_ex__"; +static const char __pyx_k_FrozenList[] = "FrozenList"; +static const char __pyx_k_pyx_result[] = "__pyx_result"; +static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__"; +static const char __pyx_k_PickleError[] = "PickleError"; +static const char __pyx_k_RuntimeError[] = "RuntimeError"; +static const char __pyx_k_pyx_checksum[] = "__pyx_checksum"; +static const char __pyx_k_stringsource[] = "stringsource"; +static const char __pyx_k_reduce_cython[] = "__reduce_cython__"; +static const char __pyx_k_MutableSequence[] = "MutableSequence"; +static const char __pyx_k_collections_abc[] = "collections.abc"; +static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError"; +static const char __pyx_k_setstate_cython[] = "__setstate_cython__"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_FrozenList_frozen_r[] = "<FrozenList(frozen={}, {!r})>"; +static const char __pyx_k_aiohttp__frozenlist[] = "aiohttp._frozenlist"; +static const char __pyx_k_pyx_unpickle_FrozenList[] = "__pyx_unpickle_FrozenList"; +static const char __pyx_k_Cannot_modify_frozen_list[] = "Cannot modify frozen list."; +static const char __pyx_k_Incompatible_checksums_s_vs_0x94[] = "Incompatible checksums (%s vs 0x949a143 = (_items, frozen))"; +static PyObject *__pyx_kp_s_Cannot_modify_frozen_list; +static PyObject *__pyx_n_s_FrozenList; +static PyObject *__pyx_kp_s_FrozenList_frozen_r; +static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x94; +static PyObject *__pyx_n_s_MutableSequence; +static PyObject *__pyx_n_s_PickleError; +static PyObject *__pyx_n_s_RuntimeError; +static PyObject *__pyx_n_s_aiohttp__frozenlist; +static PyObject *__pyx_n_s_clear; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_collections_abc; +static PyObject *__pyx_n_s_count; +static PyObject *__pyx_n_s_dict; +static PyObject *__pyx_n_s_format; +static PyObject *__pyx_n_s_getstate; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_n_s_index; +static PyObject *__pyx_n_s_item; +static PyObject *__pyx_n_s_items; +static PyObject *__pyx_n_s_iter; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_n_s_new; +static PyObject *__pyx_n_s_pickle; +static PyObject *__pyx_n_s_pop; +static PyObject *__pyx_n_s_pos; +static PyObject *__pyx_n_s_pyx_PickleError; +static PyObject *__pyx_n_s_pyx_checksum; +static PyObject *__pyx_n_s_pyx_result; +static PyObject *__pyx_n_s_pyx_state; +static PyObject *__pyx_n_s_pyx_type; +static PyObject *__pyx_n_s_pyx_unpickle_FrozenList; +static PyObject *__pyx_n_s_pyx_vtable; +static PyObject *__pyx_n_s_reduce; +static PyObject *__pyx_n_s_reduce_cython; +static PyObject *__pyx_n_s_reduce_ex; +static PyObject *__pyx_n_s_register; +static PyObject *__pyx_n_s_remove; +static PyObject *__pyx_n_s_reversed; +static PyObject *__pyx_n_s_setstate; +static PyObject *__pyx_n_s_setstate_cython; +static PyObject *__pyx_kp_s_stringsource; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_update; +static int __pyx_pf_7aiohttp_11_frozenlist_10FrozenList___init__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_items); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_2freeze(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_4__getitem__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_index); /* proto */ +static int __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_6__setitem__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_8__delitem__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_index); /* proto */ +static Py_ssize_t __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_10__len__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_12__iter__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_14__reversed__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_16__richcmp__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_op); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_18insert(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_item); /* proto */ +static int __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_20__contains__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_item); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_22__iadd__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_items); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_24index(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_item); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_26remove(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_item); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_28clear(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_30extend(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_items); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_32reverse(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_34pop(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_index); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_36append(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_item); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_38count(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_item); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_40__repr__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_6frozen___get__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_42__reduce_cython__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_44__setstate_cython__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_7aiohttp_11_frozenlist___pyx_unpickle_FrozenList(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_tp_new_7aiohttp_11_frozenlist_FrozenList(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_int_0; +static PyObject *__pyx_int_1; +static PyObject *__pyx_int_2; +static PyObject *__pyx_int_3; +static PyObject *__pyx_int_4; +static PyObject *__pyx_int_5; +static PyObject *__pyx_int_155820355; +static PyObject *__pyx_int_neg_1; +static PyObject *__pyx_tuple_; +static PyObject *__pyx_tuple__2; +static PyObject *__pyx_codeobj__3; +/* Late includes */ + +/* "aiohttp/_frozenlist.pyx":9 + * cdef list _items + * + * def __init__(self, items=None): # <<<<<<<<<<<<<< + * self.frozen = False + * if items is not None: + */ + +/* Python wrapper */ +static int __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_items = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_items,0}; + PyObject* values[1] = {0}; + values[0] = ((PyObject *)Py_None); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_items); + if (value) { values[0] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 9, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_items = values[0]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList___init__(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self), __pyx_v_items); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_7aiohttp_11_frozenlist_10FrozenList___init__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_items) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("__init__", 0); + __Pyx_INCREF(__pyx_v_items); + + /* "aiohttp/_frozenlist.pyx":10 + * + * def __init__(self, items=None): + * self.frozen = False # <<<<<<<<<<<<<< + * if items is not None: + * items = list(items) + */ + __pyx_v_self->frozen = 0; + + /* "aiohttp/_frozenlist.pyx":11 + * def __init__(self, items=None): + * self.frozen = False + * if items is not None: # <<<<<<<<<<<<<< + * items = list(items) + * else: + */ + __pyx_t_1 = (__pyx_v_items != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "aiohttp/_frozenlist.pyx":12 + * self.frozen = False + * if items is not None: + * items = list(items) # <<<<<<<<<<<<<< + * else: + * items = [] + */ + __pyx_t_3 = PySequence_List(__pyx_v_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_items, __pyx_t_3); + __pyx_t_3 = 0; + + /* "aiohttp/_frozenlist.pyx":11 + * def __init__(self, items=None): + * self.frozen = False + * if items is not None: # <<<<<<<<<<<<<< + * items = list(items) + * else: + */ + goto __pyx_L3; + } + + /* "aiohttp/_frozenlist.pyx":14 + * items = list(items) + * else: + * items = [] # <<<<<<<<<<<<<< + * self._items = items + * + */ + /*else*/ { + __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_items, __pyx_t_3); + __pyx_t_3 = 0; + } + __pyx_L3:; + + /* "aiohttp/_frozenlist.pyx":15 + * else: + * items = [] + * self._items = items # <<<<<<<<<<<<<< + * + * cdef object _check_frozen(self): + */ + if (!(likely(PyList_CheckExact(__pyx_v_items))||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_items)->tp_name), 0))) __PYX_ERR(0, 15, __pyx_L1_error) + __pyx_t_3 = __pyx_v_items; + __Pyx_INCREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_v_self->_items); + __Pyx_DECREF(__pyx_v_self->_items); + __pyx_v_self->_items = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + + /* "aiohttp/_frozenlist.pyx":9 + * cdef list _items + * + * def __init__(self, items=None): # <<<<<<<<<<<<<< + * self.frozen = False + * if items is not None: + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_items); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":17 + * self._items = items + * + * cdef object _check_frozen(self): # <<<<<<<<<<<<<< + * if self.frozen: + * raise RuntimeError("Cannot modify frozen list.") + */ + +static PyObject *__pyx_f_7aiohttp_11_frozenlist_10FrozenList__check_frozen(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + __Pyx_RefNannySetupContext("_check_frozen", 0); + + /* "aiohttp/_frozenlist.pyx":18 + * + * cdef object _check_frozen(self): + * if self.frozen: # <<<<<<<<<<<<<< + * raise RuntimeError("Cannot modify frozen list.") + * + */ + __pyx_t_1 = (__pyx_v_self->frozen != 0); + if (unlikely(__pyx_t_1)) { + + /* "aiohttp/_frozenlist.pyx":19 + * cdef object _check_frozen(self): + * if self.frozen: + * raise RuntimeError("Cannot modify frozen list.") # <<<<<<<<<<<<<< + * + * cdef inline object _fast_len(self): + */ + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_Raise(__pyx_t_2, 0, 0, 0); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __PYX_ERR(0, 19, __pyx_L1_error) + + /* "aiohttp/_frozenlist.pyx":18 + * + * cdef object _check_frozen(self): + * if self.frozen: # <<<<<<<<<<<<<< + * raise RuntimeError("Cannot modify frozen list.") + * + */ + } + + /* "aiohttp/_frozenlist.pyx":17 + * self._items = items + * + * cdef object _check_frozen(self): # <<<<<<<<<<<<<< + * if self.frozen: + * raise RuntimeError("Cannot modify frozen list.") + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList._check_frozen", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":21 + * raise RuntimeError("Cannot modify frozen list.") + * + * cdef inline object _fast_len(self): # <<<<<<<<<<<<<< + * return len(self._items) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_7aiohttp_11_frozenlist_10FrozenList__fast_len(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + __Pyx_RefNannySetupContext("_fast_len", 0); + + /* "aiohttp/_frozenlist.pyx":22 + * + * cdef inline object _fast_len(self): + * return len(self._items) # <<<<<<<<<<<<<< + * + * def freeze(self): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __pyx_v_self->_items; + __Pyx_INCREF(__pyx_t_1); + if (unlikely(__pyx_t_1 == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(0, 22, __pyx_L1_error) + } + __pyx_t_2 = PyList_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":21 + * raise RuntimeError("Cannot modify frozen list.") + * + * cdef inline object _fast_len(self): # <<<<<<<<<<<<<< + * return len(self._items) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList._fast_len", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":24 + * return len(self._items) + * + * def freeze(self): # <<<<<<<<<<<<<< + * self.frozen = True + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_3freeze(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_3freeze(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("freeze (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_2freeze(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_2freeze(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("freeze", 0); + + /* "aiohttp/_frozenlist.pyx":25 + * + * def freeze(self): + * self.frozen = True # <<<<<<<<<<<<<< + * + * def __getitem__(self, index): + */ + __pyx_v_self->frozen = 1; + + /* "aiohttp/_frozenlist.pyx":24 + * return len(self._items) + * + * def freeze(self): # <<<<<<<<<<<<<< + * self.frozen = True + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":27 + * self.frozen = True + * + * def __getitem__(self, index): # <<<<<<<<<<<<<< + * return self._items[index] + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_5__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_5__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_4__getitem__(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self), ((PyObject *)__pyx_v_index)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_4__getitem__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_index) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__getitem__", 0); + + /* "aiohttp/_frozenlist.pyx":28 + * + * def __getitem__(self, index): + * return self._items[index] # <<<<<<<<<<<<<< + * + * def __setitem__(self, index, value): + */ + __Pyx_XDECREF(__pyx_r); + if (unlikely(__pyx_v_self->_items == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 28, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_self->_items, __pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":27 + * self.frozen = True + * + * def __getitem__(self, index): # <<<<<<<<<<<<<< + * return self._items[index] + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":30 + * return self._items[index] + * + * def __setitem__(self, index, value): # <<<<<<<<<<<<<< + * self._check_frozen() + * self._items[index] = value + */ + +/* Python wrapper */ +static int __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_7__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_7__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_6__setitem__(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self), ((PyObject *)__pyx_v_index), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_6__setitem__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__setitem__", 0); + + /* "aiohttp/_frozenlist.pyx":31 + * + * def __setitem__(self, index, value): + * self._check_frozen() # <<<<<<<<<<<<<< + * self._items[index] = value + * + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self->__pyx_vtab)->_check_frozen(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_frozenlist.pyx":32 + * def __setitem__(self, index, value): + * self._check_frozen() + * self._items[index] = value # <<<<<<<<<<<<<< + * + * def __delitem__(self, index): + */ + if (unlikely(__pyx_v_self->_items == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 32, __pyx_L1_error) + } + if (unlikely(PyObject_SetItem(__pyx_v_self->_items, __pyx_v_index, __pyx_v_value) < 0)) __PYX_ERR(0, 32, __pyx_L1_error) + + /* "aiohttp/_frozenlist.pyx":30 + * return self._items[index] + * + * def __setitem__(self, index, value): # <<<<<<<<<<<<<< + * self._check_frozen() + * self._items[index] = value + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":34 + * self._items[index] = value + * + * def __delitem__(self, index): # <<<<<<<<<<<<<< + * self._check_frozen() + * del self._items[index] + */ + +/* Python wrapper */ +static int __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_9__delitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index); /*proto*/ +static int __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_9__delitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__delitem__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_8__delitem__(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self), ((PyObject *)__pyx_v_index)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_8__delitem__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_index) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__delitem__", 0); + + /* "aiohttp/_frozenlist.pyx":35 + * + * def __delitem__(self, index): + * self._check_frozen() # <<<<<<<<<<<<<< + * del self._items[index] + * + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self->__pyx_vtab)->_check_frozen(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_frozenlist.pyx":36 + * def __delitem__(self, index): + * self._check_frozen() + * del self._items[index] # <<<<<<<<<<<<<< + * + * def __len__(self): + */ + if (unlikely(__pyx_v_self->_items == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 36, __pyx_L1_error) + } + if (unlikely(PyObject_DelItem(__pyx_v_self->_items, __pyx_v_index) < 0)) __PYX_ERR(0, 36, __pyx_L1_error) + + /* "aiohttp/_frozenlist.pyx":34 + * self._items[index] = value + * + * def __delitem__(self, index): # <<<<<<<<<<<<<< + * self._check_frozen() + * del self._items[index] + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.__delitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":38 + * del self._items[index] + * + * def __len__(self): # <<<<<<<<<<<<<< + * return self._fast_len() + * + */ + +/* Python wrapper */ +static Py_ssize_t __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_11__len__(PyObject *__pyx_v_self); /*proto*/ +static Py_ssize_t __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_11__len__(PyObject *__pyx_v_self) { + Py_ssize_t __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__len__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_10__len__(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static Py_ssize_t __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_10__len__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self) { + Py_ssize_t __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + __Pyx_RefNannySetupContext("__len__", 0); + + /* "aiohttp/_frozenlist.pyx":39 + * + * def __len__(self): + * return self._fast_len() # <<<<<<<<<<<<<< + * + * def __iter__(self): + */ + __pyx_t_1 = __pyx_f_7aiohttp_11_frozenlist_10FrozenList__fast_len(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 39, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 39, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_2; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":38 + * del self._items[index] + * + * def __len__(self): # <<<<<<<<<<<<<< + * return self._fast_len() + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.__len__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":41 + * return self._fast_len() + * + * def __iter__(self): # <<<<<<<<<<<<<< + * return self._items.__iter__() + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_13__iter__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_13__iter__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__iter__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_12__iter__(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_12__iter__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("__iter__", 0); + + /* "aiohttp/_frozenlist.pyx":42 + * + * def __iter__(self): + * return self._items.__iter__() # <<<<<<<<<<<<<< + * + * def __reversed__(self): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_items, __pyx_n_s_iter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":41 + * return self._fast_len() + * + * def __iter__(self): # <<<<<<<<<<<<<< + * return self._items.__iter__() + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.__iter__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":44 + * return self._items.__iter__() + * + * def __reversed__(self): # <<<<<<<<<<<<<< + * return self._items.__reversed__() + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_15__reversed__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_15__reversed__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reversed__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_14__reversed__(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_14__reversed__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("__reversed__", 0); + + /* "aiohttp/_frozenlist.pyx":45 + * + * def __reversed__(self): + * return self._items.__reversed__() # <<<<<<<<<<<<<< + * + * def __richcmp__(self, other, op): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_items, __pyx_n_s_reversed); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":44 + * return self._items.__iter__() + * + * def __reversed__(self): # <<<<<<<<<<<<<< + * return self._items.__reversed__() + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.__reversed__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":47 + * return self._items.__reversed__() + * + * def __richcmp__(self, other, op): # <<<<<<<<<<<<<< + * if op == 0: # < + * return list(self) < other + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_17__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_arg_op); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_17__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_arg_op) { + PyObject *__pyx_v_op = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0); + __pyx_v_op = __Pyx_PyInt_From_int(__pyx_arg_op); if (unlikely(!__pyx_v_op)) __PYX_ERR(0, 47, __pyx_L3_error) + __Pyx_GOTREF(__pyx_v_op); + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_16__richcmp__(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((PyObject *)__pyx_v_op)); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_op); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_16__richcmp__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_op) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("__richcmp__", 0); + + /* "aiohttp/_frozenlist.pyx":48 + * + * def __richcmp__(self, other, op): + * if op == 0: # < # <<<<<<<<<<<<<< + * return list(self) < other + * if op == 1: # <= + */ + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_op, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 48, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_2) { + + /* "aiohttp/_frozenlist.pyx":49 + * def __richcmp__(self, other, op): + * if op == 0: # < + * return list(self) < other # <<<<<<<<<<<<<< + * if op == 1: # <= + * return list(self) <= other + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PySequence_List(((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 49, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_other, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 49, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":48 + * + * def __richcmp__(self, other, op): + * if op == 0: # < # <<<<<<<<<<<<<< + * return list(self) < other + * if op == 1: # <= + */ + } + + /* "aiohttp/_frozenlist.pyx":50 + * if op == 0: # < + * return list(self) < other + * if op == 1: # <= # <<<<<<<<<<<<<< + * return list(self) <= other + * if op == 2: # == + */ + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_op, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 50, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_2) { + + /* "aiohttp/_frozenlist.pyx":51 + * return list(self) < other + * if op == 1: # <= + * return list(self) <= other # <<<<<<<<<<<<<< + * if op == 2: # == + * return list(self) == other + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = PySequence_List(((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 51, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_v_other, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 51, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":50 + * if op == 0: # < + * return list(self) < other + * if op == 1: # <= # <<<<<<<<<<<<<< + * return list(self) <= other + * if op == 2: # == + */ + } + + /* "aiohttp/_frozenlist.pyx":52 + * if op == 1: # <= + * return list(self) <= other + * if op == 2: # == # <<<<<<<<<<<<<< + * return list(self) == other + * if op == 3: # != + */ + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_op, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_2) { + + /* "aiohttp/_frozenlist.pyx":53 + * return list(self) <= other + * if op == 2: # == + * return list(self) == other # <<<<<<<<<<<<<< + * if op == 3: # != + * return list(self) != other + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PySequence_List(((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_other, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 53, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":52 + * if op == 1: # <= + * return list(self) <= other + * if op == 2: # == # <<<<<<<<<<<<<< + * return list(self) == other + * if op == 3: # != + */ + } + + /* "aiohttp/_frozenlist.pyx":54 + * if op == 2: # == + * return list(self) == other + * if op == 3: # != # <<<<<<<<<<<<<< + * return list(self) != other + * if op == 4: # > + */ + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_op, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 54, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_2) { + + /* "aiohttp/_frozenlist.pyx":55 + * return list(self) == other + * if op == 3: # != + * return list(self) != other # <<<<<<<<<<<<<< + * if op == 4: # > + * return list(self) > other + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = PySequence_List(((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 55, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_v_other, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 55, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":54 + * if op == 2: # == + * return list(self) == other + * if op == 3: # != # <<<<<<<<<<<<<< + * return list(self) != other + * if op == 4: # > + */ + } + + /* "aiohttp/_frozenlist.pyx":56 + * if op == 3: # != + * return list(self) != other + * if op == 4: # > # <<<<<<<<<<<<<< + * return list(self) > other + * if op == 5: # => + */ + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_op, __pyx_int_4, 4, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 56, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_2) { + + /* "aiohttp/_frozenlist.pyx":57 + * return list(self) != other + * if op == 4: # > + * return list(self) > other # <<<<<<<<<<<<<< + * if op == 5: # => + * return list(self) >= other + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PySequence_List(((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_other, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":56 + * if op == 3: # != + * return list(self) != other + * if op == 4: # > # <<<<<<<<<<<<<< + * return list(self) > other + * if op == 5: # => + */ + } + + /* "aiohttp/_frozenlist.pyx":58 + * if op == 4: # > + * return list(self) > other + * if op == 5: # => # <<<<<<<<<<<<<< + * return list(self) >= other + * + */ + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_op, __pyx_int_5, 5, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 58, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_2) { + + /* "aiohttp/_frozenlist.pyx":59 + * return list(self) > other + * if op == 5: # => + * return list(self) >= other # <<<<<<<<<<<<<< + * + * def insert(self, pos, item): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = PySequence_List(((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_v_other, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":58 + * if op == 4: # > + * return list(self) > other + * if op == 5: # => # <<<<<<<<<<<<<< + * return list(self) >= other + * + */ + } + + /* "aiohttp/_frozenlist.pyx":47 + * return self._items.__reversed__() + * + * def __richcmp__(self, other, op): # <<<<<<<<<<<<<< + * if op == 0: # < + * return list(self) < other + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":61 + * return list(self) >= other + * + * def insert(self, pos, item): # <<<<<<<<<<<<<< + * self._check_frozen() + * self._items.insert(pos, item) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_19insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_19insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_pos = 0; + PyObject *__pyx_v_item = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("insert (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pos,&__pyx_n_s_item,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pos)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_item)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("insert", 1, 2, 2, 1); __PYX_ERR(0, 61, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "insert") < 0)) __PYX_ERR(0, 61, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_pos = values[0]; + __pyx_v_item = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("insert", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 61, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.insert", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_18insert(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self), __pyx_v_pos, __pyx_v_item); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_18insert(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_pos, PyObject *__pyx_v_item) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + int __pyx_t_3; + __Pyx_RefNannySetupContext("insert", 0); + + /* "aiohttp/_frozenlist.pyx":62 + * + * def insert(self, pos, item): + * self._check_frozen() # <<<<<<<<<<<<<< + * self._items.insert(pos, item) + * + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self->__pyx_vtab)->_check_frozen(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_frozenlist.pyx":63 + * def insert(self, pos, item): + * self._check_frozen() + * self._items.insert(pos, item) # <<<<<<<<<<<<<< + * + * def __contains__(self, item): + */ + if (unlikely(__pyx_v_self->_items == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "insert"); + __PYX_ERR(0, 63, __pyx_L1_error) + } + __pyx_t_2 = __Pyx_PyIndex_AsSsize_t(__pyx_v_pos); if (unlikely((__pyx_t_2 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 63, __pyx_L1_error) + __pyx_t_3 = PyList_Insert(__pyx_v_self->_items, __pyx_t_2, __pyx_v_item); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 63, __pyx_L1_error) + + /* "aiohttp/_frozenlist.pyx":61 + * return list(self) >= other + * + * def insert(self, pos, item): # <<<<<<<<<<<<<< + * self._check_frozen() + * self._items.insert(pos, item) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.insert", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":65 + * self._items.insert(pos, item) + * + * def __contains__(self, item): # <<<<<<<<<<<<<< + * return item in self._items + * + */ + +/* Python wrapper */ +static int __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_21__contains__(PyObject *__pyx_v_self, PyObject *__pyx_v_item); /*proto*/ +static int __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_21__contains__(PyObject *__pyx_v_self, PyObject *__pyx_v_item) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__contains__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_20__contains__(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self), ((PyObject *)__pyx_v_item)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_20__contains__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_item) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("__contains__", 0); + + /* "aiohttp/_frozenlist.pyx":66 + * + * def __contains__(self, item): + * return item in self._items # <<<<<<<<<<<<<< + * + * def __iadd__(self, items): + */ + __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_v_item, __pyx_v_self->_items, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 66, __pyx_L1_error) + __pyx_r = __pyx_t_1; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":65 + * self._items.insert(pos, item) + * + * def __contains__(self, item): # <<<<<<<<<<<<<< + * return item in self._items + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.__contains__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":68 + * return item in self._items + * + * def __iadd__(self, items): # <<<<<<<<<<<<<< + * self._check_frozen() + * self._items += list(items) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_23__iadd__(PyObject *__pyx_v_self, PyObject *__pyx_v_items); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_23__iadd__(PyObject *__pyx_v_self, PyObject *__pyx_v_items) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__iadd__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_22__iadd__(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self), ((PyObject *)__pyx_v_items)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_22__iadd__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_items) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + __Pyx_RefNannySetupContext("__iadd__", 0); + + /* "aiohttp/_frozenlist.pyx":69 + * + * def __iadd__(self, items): + * self._check_frozen() # <<<<<<<<<<<<<< + * self._items += list(items) + * return self + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self->__pyx_vtab)->_check_frozen(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_frozenlist.pyx":70 + * def __iadd__(self, items): + * self._check_frozen() + * self._items += list(items) # <<<<<<<<<<<<<< + * return self + * + */ + __pyx_t_1 = PySequence_List(__pyx_v_items); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 70, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_self->_items, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 70, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_v_self->_items); + __Pyx_DECREF(__pyx_v_self->_items); + __pyx_v_self->_items = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "aiohttp/_frozenlist.pyx":71 + * self._check_frozen() + * self._items += list(items) + * return self # <<<<<<<<<<<<<< + * + * def index(self, item): + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_self)); + __pyx_r = ((PyObject *)__pyx_v_self); + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":68 + * return item in self._items + * + * def __iadd__(self, items): # <<<<<<<<<<<<<< + * self._check_frozen() + * self._items += list(items) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.__iadd__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":73 + * return self + * + * def index(self, item): # <<<<<<<<<<<<<< + * return self._items.index(item) + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_25index(PyObject *__pyx_v_self, PyObject *__pyx_v_item); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_25index(PyObject *__pyx_v_self, PyObject *__pyx_v_item) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("index (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_24index(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self), ((PyObject *)__pyx_v_item)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_24index(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_item) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("index", 0); + + /* "aiohttp/_frozenlist.pyx":74 + * + * def index(self, item): + * return self._items.index(item) # <<<<<<<<<<<<<< + * + * def remove(self, item): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_items, __pyx_n_s_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 74, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_item) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_item); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":73 + * return self + * + * def index(self, item): # <<<<<<<<<<<<<< + * return self._items.index(item) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.index", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":76 + * return self._items.index(item) + * + * def remove(self, item): # <<<<<<<<<<<<<< + * self._check_frozen() + * self._items.remove(item) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_27remove(PyObject *__pyx_v_self, PyObject *__pyx_v_item); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_27remove(PyObject *__pyx_v_self, PyObject *__pyx_v_item) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("remove (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_26remove(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self), ((PyObject *)__pyx_v_item)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_26remove(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_item) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("remove", 0); + + /* "aiohttp/_frozenlist.pyx":77 + * + * def remove(self, item): + * self._check_frozen() # <<<<<<<<<<<<<< + * self._items.remove(item) + * + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self->__pyx_vtab)->_check_frozen(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_frozenlist.pyx":78 + * def remove(self, item): + * self._check_frozen() + * self._items.remove(item) # <<<<<<<<<<<<<< + * + * def clear(self): + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_items, __pyx_n_s_remove); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 78, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_item) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_item); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 78, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_frozenlist.pyx":76 + * return self._items.index(item) + * + * def remove(self, item): # <<<<<<<<<<<<<< + * self._check_frozen() + * self._items.remove(item) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.remove", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":80 + * self._items.remove(item) + * + * def clear(self): # <<<<<<<<<<<<<< + * self._check_frozen() + * self._items.clear() + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_29clear(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_29clear(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("clear (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_28clear(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_28clear(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("clear", 0); + + /* "aiohttp/_frozenlist.pyx":81 + * + * def clear(self): + * self._check_frozen() # <<<<<<<<<<<<<< + * self._items.clear() + * + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self->__pyx_vtab)->_check_frozen(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_frozenlist.pyx":82 + * def clear(self): + * self._check_frozen() + * self._items.clear() # <<<<<<<<<<<<<< + * + * def extend(self, items): + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_items, __pyx_n_s_clear); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_frozenlist.pyx":80 + * self._items.remove(item) + * + * def clear(self): # <<<<<<<<<<<<<< + * self._check_frozen() + * self._items.clear() + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.clear", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":84 + * self._items.clear() + * + * def extend(self, items): # <<<<<<<<<<<<<< + * self._check_frozen() + * self._items += list(items) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_31extend(PyObject *__pyx_v_self, PyObject *__pyx_v_items); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_31extend(PyObject *__pyx_v_self, PyObject *__pyx_v_items) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("extend (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_30extend(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self), ((PyObject *)__pyx_v_items)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_30extend(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_items) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + __Pyx_RefNannySetupContext("extend", 0); + + /* "aiohttp/_frozenlist.pyx":85 + * + * def extend(self, items): + * self._check_frozen() # <<<<<<<<<<<<<< + * self._items += list(items) + * + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self->__pyx_vtab)->_check_frozen(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_frozenlist.pyx":86 + * def extend(self, items): + * self._check_frozen() + * self._items += list(items) # <<<<<<<<<<<<<< + * + * def reverse(self): + */ + __pyx_t_1 = PySequence_List(__pyx_v_items); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_self->_items, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 86, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_v_self->_items); + __Pyx_DECREF(__pyx_v_self->_items); + __pyx_v_self->_items = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "aiohttp/_frozenlist.pyx":84 + * self._items.clear() + * + * def extend(self, items): # <<<<<<<<<<<<<< + * self._check_frozen() + * self._items += list(items) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.extend", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":88 + * self._items += list(items) + * + * def reverse(self): # <<<<<<<<<<<<<< + * self._check_frozen() + * self._items.reverse() + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_33reverse(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_33reverse(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("reverse (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_32reverse(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_32reverse(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + __Pyx_RefNannySetupContext("reverse", 0); + + /* "aiohttp/_frozenlist.pyx":89 + * + * def reverse(self): + * self._check_frozen() # <<<<<<<<<<<<<< + * self._items.reverse() + * + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self->__pyx_vtab)->_check_frozen(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_frozenlist.pyx":90 + * def reverse(self): + * self._check_frozen() + * self._items.reverse() # <<<<<<<<<<<<<< + * + * def pop(self, index=-1): + */ + if (unlikely(__pyx_v_self->_items == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "reverse"); + __PYX_ERR(0, 90, __pyx_L1_error) + } + __pyx_t_2 = PyList_Reverse(__pyx_v_self->_items); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 90, __pyx_L1_error) + + /* "aiohttp/_frozenlist.pyx":88 + * self._items += list(items) + * + * def reverse(self): # <<<<<<<<<<<<<< + * self._check_frozen() + * self._items.reverse() + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.reverse", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":92 + * self._items.reverse() + * + * def pop(self, index=-1): # <<<<<<<<<<<<<< + * self._check_frozen() + * return self._items.pop(index) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_35pop(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_35pop(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_index = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("pop (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_index,0}; + PyObject* values[1] = {0}; + values[0] = ((PyObject *)__pyx_int_neg_1); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_index); + if (value) { values[0] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "pop") < 0)) __PYX_ERR(0, 92, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_index = values[0]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("pop", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 92, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.pop", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_34pop(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self), __pyx_v_index); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_34pop(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_index) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + __Pyx_RefNannySetupContext("pop", 0); + + /* "aiohttp/_frozenlist.pyx":93 + * + * def pop(self, index=-1): + * self._check_frozen() # <<<<<<<<<<<<<< + * return self._items.pop(index) + * + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self->__pyx_vtab)->_check_frozen(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 93, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_frozenlist.pyx":94 + * def pop(self, index=-1): + * self._check_frozen() + * return self._items.pop(index) # <<<<<<<<<<<<<< + * + * def append(self, item): + */ + __Pyx_XDECREF(__pyx_r); + if (unlikely(__pyx_v_self->_items == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop"); + __PYX_ERR(0, 94, __pyx_L1_error) + } + __pyx_t_2 = __Pyx_PyIndex_AsSsize_t(__pyx_v_index); if (unlikely((__pyx_t_2 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyList_PopIndex(__pyx_v_self->_items, __pyx_v_index, __pyx_t_2, 1, Py_ssize_t, PyInt_FromSsize_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 94, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":92 + * self._items.reverse() + * + * def pop(self, index=-1): # <<<<<<<<<<<<<< + * self._check_frozen() + * return self._items.pop(index) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.pop", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":96 + * return self._items.pop(index) + * + * def append(self, item): # <<<<<<<<<<<<<< + * self._check_frozen() + * return self._items.append(item) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_37append(PyObject *__pyx_v_self, PyObject *__pyx_v_item); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_37append(PyObject *__pyx_v_self, PyObject *__pyx_v_item) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("append (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_36append(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self), ((PyObject *)__pyx_v_item)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_36append(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_item) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + __Pyx_RefNannySetupContext("append", 0); + + /* "aiohttp/_frozenlist.pyx":97 + * + * def append(self, item): + * self._check_frozen() # <<<<<<<<<<<<<< + * return self._items.append(item) + * + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self->__pyx_vtab)->_check_frozen(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_frozenlist.pyx":98 + * def append(self, item): + * self._check_frozen() + * return self._items.append(item) # <<<<<<<<<<<<<< + * + * def count(self, item): + */ + __Pyx_XDECREF(__pyx_r); + if (unlikely(__pyx_v_self->_items == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); + __PYX_ERR(0, 98, __pyx_L1_error) + } + __pyx_t_2 = __Pyx_PyList_Append(__pyx_v_self->_items, __pyx_v_item); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 98, __pyx_L1_error) + __pyx_t_1 = __Pyx_Owned_Py_None(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":96 + * return self._items.pop(index) + * + * def append(self, item): # <<<<<<<<<<<<<< + * self._check_frozen() + * return self._items.append(item) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.append", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":100 + * return self._items.append(item) + * + * def count(self, item): # <<<<<<<<<<<<<< + * return self._items.count(item) + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_39count(PyObject *__pyx_v_self, PyObject *__pyx_v_item); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_39count(PyObject *__pyx_v_self, PyObject *__pyx_v_item) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("count (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_38count(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self), ((PyObject *)__pyx_v_item)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_38count(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v_item) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("count", 0); + + /* "aiohttp/_frozenlist.pyx":101 + * + * def count(self, item): + * return self._items.count(item) # <<<<<<<<<<<<<< + * + * def __repr__(self): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_items, __pyx_n_s_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 101, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_item) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_item); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 101, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":100 + * return self._items.append(item) + * + * def count(self, item): # <<<<<<<<<<<<<< + * return self._items.count(item) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.count", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":103 + * return self._items.count(item) + * + * def __repr__(self): # <<<<<<<<<<<<<< + * return '<FrozenList(frozen={}, {!r})>'.format(self.frozen, + * self._items) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_41__repr__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_41__repr__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_40__repr__(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_40__repr__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + __Pyx_RefNannySetupContext("__repr__", 0); + + /* "aiohttp/_frozenlist.pyx":104 + * + * def __repr__(self): + * return '<FrozenList(frozen={}, {!r})>'.format(self.frozen, # <<<<<<<<<<<<<< + * self._items) + * + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_FrozenList_frozen_r, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 104, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_self->frozen); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 104, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + + /* "aiohttp/_frozenlist.pyx":105 + * def __repr__(self): + * return '<FrozenList(frozen={}, {!r})>'.format(self.frozen, + * self._items) # <<<<<<<<<<<<<< + * + * + */ + __pyx_t_4 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_v_self->_items}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_v_self->_items}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 104, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_t_3); + __Pyx_INCREF(__pyx_v_self->_items); + __Pyx_GIVEREF(__pyx_v_self->_items); + PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_self->_items); + __pyx_t_3 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_frozenlist.pyx":103 + * return self._items.count(item) + * + * def __repr__(self): # <<<<<<<<<<<<<< + * return '<FrozenList(frozen={}, {!r})>'.format(self.frozen, + * self._items) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_frozenlist.pyx":6 + * cdef class FrozenList: + * + * cdef readonly bint frozen # <<<<<<<<<<<<<< + * cdef list _items + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_6frozen_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_6frozen_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_6frozen___get__(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_6frozen___get__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->frozen); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.frozen.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_43__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_43__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_42__reduce_cython__(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_42__reduce_cython__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self._items, self.frozen) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->frozen); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_self->_items); + __Pyx_GIVEREF(__pyx_v_self->_items); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self->_items); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_v_state = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self._items, self.frozen) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_2 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_v__dict = __pyx_t_2; + __pyx_t_2 = 0; + + /* "(tree fragment)":7 + * state = (self._items, self.frozen) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_3 = (__pyx_v__dict != Py_None); + __pyx_t_4 = (__pyx_t_3 != 0); + if (__pyx_t_4) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v__dict); + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self._items is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self._items, self.frozen) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self._items is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle_FrozenList, (type(self), 0x949a143, None), state + */ + /*else*/ { + __pyx_t_4 = (__pyx_v_self->_items != ((PyObject*)Py_None)); + __pyx_v_use_setstate = __pyx_t_4; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self._items is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_FrozenList, (type(self), 0x949a143, None), state + * else: + */ + __pyx_t_4 = (__pyx_v_use_setstate != 0); + if (__pyx_t_4) { + + /* "(tree fragment)":13 + * use_setstate = self._items is not None + * if use_setstate: + * return __pyx_unpickle_FrozenList, (type(self), 0x949a143, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle_FrozenList, (type(self), 0x949a143, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pyx_unpickle_FrozenList); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_155820355); + __Pyx_GIVEREF(__pyx_int_155820355); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_155820355); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None); + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self._items is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_FrozenList, (type(self), 0x949a143, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle_FrozenList, (type(self), 0x949a143, None), state + * else: + * return __pyx_unpickle_FrozenList, (type(self), 0x949a143, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_FrozenList__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_FrozenList); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_155820355); + __Pyx_GIVEREF(__pyx_int_155820355); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_155820355); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state); + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2); + __pyx_t_5 = 0; + __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle_FrozenList, (type(self), 0x949a143, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_FrozenList__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_45__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_45__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist_10FrozenList_44__setstate_cython__(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist_10FrozenList_44__setstate_cython__(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle_FrozenList, (type(self), 0x949a143, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_FrozenList__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_7aiohttp_11_frozenlist___pyx_unpickle_FrozenList__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle_FrozenList, (type(self), 0x949a143, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_FrozenList__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._frozenlist.FrozenList.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle_FrozenList(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_1__pyx_unpickle_FrozenList(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_7aiohttp_11_frozenlist_1__pyx_unpickle_FrozenList = {"__pyx_unpickle_FrozenList", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_7aiohttp_11_frozenlist_1__pyx_unpickle_FrozenList, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_7aiohttp_11_frozenlist_1__pyx_unpickle_FrozenList(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle_FrozenList (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_FrozenList", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_FrozenList", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_FrozenList") < 0)) __PYX_ERR(1, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_FrozenList", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("aiohttp._frozenlist.__pyx_unpickle_FrozenList", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_7aiohttp_11_frozenlist___pyx_unpickle_FrozenList(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_11_frozenlist___pyx_unpickle_FrozenList(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + __Pyx_RefNannySetupContext("__pyx_unpickle_FrozenList", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum != 0x949a143: # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x949a143 = (_items, frozen))" % __pyx_checksum) + */ + __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x949a143) != 0); + if (__pyx_t_1) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum != 0x949a143: + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x949a143 = (_items, frozen))" % __pyx_checksum) + * __pyx_result = FrozenList.__new__(__pyx_type) + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError); + __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_2); + __pyx_v___pyx_PickleError = __pyx_t_2; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum != 0x949a143: + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x949a143 = (_items, frozen))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = FrozenList.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x94, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum != 0x949a143: # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x949a143 = (_items, frozen))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x949a143 = (_items, frozen))" % __pyx_checksum) + * __pyx_result = FrozenList.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle_FrozenList__set_state(<FrozenList> __pyx_result, __pyx_state) + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_7aiohttp_11_frozenlist_FrozenList), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v___pyx_result = __pyx_t_3; + __pyx_t_3 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x949a143 = (_items, frozen))" % __pyx_checksum) + * __pyx_result = FrozenList.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_FrozenList__set_state(<FrozenList> __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_1 = (__pyx_v___pyx_state != Py_None); + __pyx_t_6 = (__pyx_t_1 != 0); + if (__pyx_t_6) { + + /* "(tree fragment)":9 + * __pyx_result = FrozenList.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle_FrozenList__set_state(<FrozenList> __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle_FrozenList__set_state(FrozenList __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_3 = __pyx_f_7aiohttp_11_frozenlist___pyx_unpickle_FrozenList__set_state(((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x949a143 = (_items, frozen))" % __pyx_checksum) + * __pyx_result = FrozenList.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_FrozenList__set_state(<FrozenList> __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle_FrozenList__set_state(<FrozenList> __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle_FrozenList__set_state(FrozenList __pyx_result, tuple __pyx_state): + * __pyx_result._items = __pyx_state[0]; __pyx_result.frozen = __pyx_state[1] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_FrozenList(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("aiohttp._frozenlist.__pyx_unpickle_FrozenList", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle_FrozenList__set_state(<FrozenList> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_FrozenList__set_state(FrozenList __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._items = __pyx_state[0]; __pyx_result.frozen = __pyx_state[1] + * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_7aiohttp_11_frozenlist___pyx_unpickle_FrozenList__set_state(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + __Pyx_RefNannySetupContext("__pyx_unpickle_FrozenList__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle_FrozenList__set_state(FrozenList __pyx_result, tuple __pyx_state): + * __pyx_result._items = __pyx_state[0]; __pyx_result.frozen = __pyx_state[1] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[2]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->_items); + __Pyx_DECREF(__pyx_v___pyx_result->_items); + __pyx_v___pyx_result->_items = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->frozen = __pyx_t_2; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_FrozenList__set_state(FrozenList __pyx_result, tuple __pyx_state): + * __pyx_result._items = __pyx_state[0]; __pyx_result.frozen = __pyx_state[1] + * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[2]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(1, 13, __pyx_L1_error) + } + __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_4 = ((__pyx_t_3 > 2) != 0); + if (__pyx_t_4) { + } else { + __pyx_t_2 = __pyx_t_4; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_5 = (__pyx_t_4 != 0); + __pyx_t_2 = __pyx_t_5; + __pyx_L4_bool_binop_done:; + if (__pyx_t_2) { + + /* "(tree fragment)":14 + * __pyx_result._items = __pyx_state[0]; __pyx_result.frozen = __pyx_state[1] + * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[2]) # <<<<<<<<<<<<<< + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 14, __pyx_L1_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_FrozenList__set_state(FrozenList __pyx_result, tuple __pyx_state): + * __pyx_result._items = __pyx_state[0]; __pyx_result.frozen = __pyx_state[1] + * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[2]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle_FrozenList__set_state(<FrozenList> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_FrozenList__set_state(FrozenList __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._items = __pyx_state[0]; __pyx_result.frozen = __pyx_state[1] + * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("aiohttp._frozenlist.__pyx_unpickle_FrozenList__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} +static struct __pyx_vtabstruct_7aiohttp_11_frozenlist_FrozenList __pyx_vtable_7aiohttp_11_frozenlist_FrozenList; + +static PyObject *__pyx_tp_new_7aiohttp_11_frozenlist_FrozenList(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)o); + p->__pyx_vtab = __pyx_vtabptr_7aiohttp_11_frozenlist_FrozenList; + p->_items = ((PyObject*)Py_None); Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_7aiohttp_11_frozenlist_FrozenList(PyObject *o) { + struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *p = (struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->_items); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_7aiohttp_11_frozenlist_FrozenList(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *p = (struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)o; + if (p->_items) { + e = (*v)(p->_items, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_7aiohttp_11_frozenlist_FrozenList(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *p = (struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *)o; + tmp = ((PyObject*)p->_items); + p->_items = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} +static PyObject *__pyx_sq_item_7aiohttp_11_frozenlist_FrozenList(PyObject *o, Py_ssize_t i) { + PyObject *r; + PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0; + r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x); + Py_DECREF(x); + return r; +} + +static int __pyx_mp_ass_subscript_7aiohttp_11_frozenlist_FrozenList(PyObject *o, PyObject *i, PyObject *v) { + if (v) { + return __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_7__setitem__(o, i, v); + } + else { + return __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_9__delitem__(o, i); + } +} + +static PyObject *__pyx_getprop_7aiohttp_11_frozenlist_10FrozenList_frozen(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_6frozen_1__get__(o); +} + +static PyMethodDef __pyx_methods_7aiohttp_11_frozenlist_FrozenList[] = { + {"freeze", (PyCFunction)__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_3freeze, METH_NOARGS, 0}, + {"__reversed__", (PyCFunction)__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_15__reversed__, METH_NOARGS, 0}, + {"insert", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_19insert, METH_VARARGS|METH_KEYWORDS, 0}, + {"index", (PyCFunction)__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_25index, METH_O, 0}, + {"remove", (PyCFunction)__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_27remove, METH_O, 0}, + {"clear", (PyCFunction)__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_29clear, METH_NOARGS, 0}, + {"extend", (PyCFunction)__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_31extend, METH_O, 0}, + {"reverse", (PyCFunction)__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_33reverse, METH_NOARGS, 0}, + {"pop", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_35pop, METH_VARARGS|METH_KEYWORDS, 0}, + {"append", (PyCFunction)__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_37append, METH_O, 0}, + {"count", (PyCFunction)__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_39count, METH_O, 0}, + {"__reduce_cython__", (PyCFunction)__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_43__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_7aiohttp_11_frozenlist_10FrozenList_45__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static struct PyGetSetDef __pyx_getsets_7aiohttp_11_frozenlist_FrozenList[] = { + {(char *)"frozen", __pyx_getprop_7aiohttp_11_frozenlist_10FrozenList_frozen, 0, (char *)0, 0}, + {0, 0, 0, 0, 0} +}; + +static PyNumberMethods __pyx_tp_as_number_FrozenList = { + 0, /*nb_add*/ + 0, /*nb_subtract*/ + 0, /*nb_multiply*/ + #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) + 0, /*nb_divide*/ + #endif + 0, /*nb_remainder*/ + 0, /*nb_divmod*/ + 0, /*nb_power*/ + 0, /*nb_negative*/ + 0, /*nb_positive*/ + 0, /*nb_absolute*/ + 0, /*nb_nonzero*/ + 0, /*nb_invert*/ + 0, /*nb_lshift*/ + 0, /*nb_rshift*/ + 0, /*nb_and*/ + 0, /*nb_xor*/ + 0, /*nb_or*/ + #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) + 0, /*nb_coerce*/ + #endif + 0, /*nb_int*/ + #if PY_MAJOR_VERSION < 3 + 0, /*nb_long*/ + #else + 0, /*reserved*/ + #endif + 0, /*nb_float*/ + #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) + 0, /*nb_oct*/ + #endif + #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) + 0, /*nb_hex*/ + #endif + __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_23__iadd__, /*nb_inplace_add*/ + 0, /*nb_inplace_subtract*/ + 0, /*nb_inplace_multiply*/ + #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000) + 0, /*nb_inplace_divide*/ + #endif + 0, /*nb_inplace_remainder*/ + 0, /*nb_inplace_power*/ + 0, /*nb_inplace_lshift*/ + 0, /*nb_inplace_rshift*/ + 0, /*nb_inplace_and*/ + 0, /*nb_inplace_xor*/ + 0, /*nb_inplace_or*/ + 0, /*nb_floor_divide*/ + 0, /*nb_true_divide*/ + 0, /*nb_inplace_floor_divide*/ + 0, /*nb_inplace_true_divide*/ + 0, /*nb_index*/ + #if PY_VERSION_HEX >= 0x03050000 + 0, /*nb_matrix_multiply*/ + #endif + #if PY_VERSION_HEX >= 0x03050000 + 0, /*nb_inplace_matrix_multiply*/ + #endif +}; + +static PySequenceMethods __pyx_tp_as_sequence_FrozenList = { + __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_11__len__, /*sq_length*/ + 0, /*sq_concat*/ + 0, /*sq_repeat*/ + __pyx_sq_item_7aiohttp_11_frozenlist_FrozenList, /*sq_item*/ + 0, /*sq_slice*/ + 0, /*sq_ass_item*/ + 0, /*sq_ass_slice*/ + __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_21__contains__, /*sq_contains*/ + 0, /*sq_inplace_concat*/ + 0, /*sq_inplace_repeat*/ +}; + +static PyMappingMethods __pyx_tp_as_mapping_FrozenList = { + __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_11__len__, /*mp_length*/ + __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_5__getitem__, /*mp_subscript*/ + __pyx_mp_ass_subscript_7aiohttp_11_frozenlist_FrozenList, /*mp_ass_subscript*/ +}; + +static PyTypeObject __pyx_type_7aiohttp_11_frozenlist_FrozenList = { + PyVarObject_HEAD_INIT(0, 0) + "aiohttp._frozenlist.FrozenList", /*tp_name*/ + sizeof(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_7aiohttp_11_frozenlist_FrozenList, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_41__repr__, /*tp_repr*/ + &__pyx_tp_as_number_FrozenList, /*tp_as_number*/ + &__pyx_tp_as_sequence_FrozenList, /*tp_as_sequence*/ + &__pyx_tp_as_mapping_FrozenList, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_7aiohttp_11_frozenlist_FrozenList, /*tp_traverse*/ + __pyx_tp_clear_7aiohttp_11_frozenlist_FrozenList, /*tp_clear*/ + __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_17__richcmp__, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_13__iter__, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_7aiohttp_11_frozenlist_FrozenList, /*tp_methods*/ + 0, /*tp_members*/ + __pyx_getsets_7aiohttp_11_frozenlist_FrozenList, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_7aiohttp_11_frozenlist_10FrozenList_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_7aiohttp_11_frozenlist_FrozenList, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec__frozenlist(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec__frozenlist}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "_frozenlist", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_kp_s_Cannot_modify_frozen_list, __pyx_k_Cannot_modify_frozen_list, sizeof(__pyx_k_Cannot_modify_frozen_list), 0, 0, 1, 0}, + {&__pyx_n_s_FrozenList, __pyx_k_FrozenList, sizeof(__pyx_k_FrozenList), 0, 0, 1, 1}, + {&__pyx_kp_s_FrozenList_frozen_r, __pyx_k_FrozenList_frozen_r, sizeof(__pyx_k_FrozenList_frozen_r), 0, 0, 1, 0}, + {&__pyx_kp_s_Incompatible_checksums_s_vs_0x94, __pyx_k_Incompatible_checksums_s_vs_0x94, sizeof(__pyx_k_Incompatible_checksums_s_vs_0x94), 0, 0, 1, 0}, + {&__pyx_n_s_MutableSequence, __pyx_k_MutableSequence, sizeof(__pyx_k_MutableSequence), 0, 0, 1, 1}, + {&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1}, + {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, + {&__pyx_n_s_aiohttp__frozenlist, __pyx_k_aiohttp__frozenlist, sizeof(__pyx_k_aiohttp__frozenlist), 0, 0, 1, 1}, + {&__pyx_n_s_clear, __pyx_k_clear, sizeof(__pyx_k_clear), 0, 0, 1, 1}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_collections_abc, __pyx_k_collections_abc, sizeof(__pyx_k_collections_abc), 0, 0, 1, 1}, + {&__pyx_n_s_count, __pyx_k_count, sizeof(__pyx_k_count), 0, 0, 1, 1}, + {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1}, + {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, + {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_index, __pyx_k_index, sizeof(__pyx_k_index), 0, 0, 1, 1}, + {&__pyx_n_s_item, __pyx_k_item, sizeof(__pyx_k_item), 0, 0, 1, 1}, + {&__pyx_n_s_items, __pyx_k_items, sizeof(__pyx_k_items), 0, 0, 1, 1}, + {&__pyx_n_s_iter, __pyx_k_iter, sizeof(__pyx_k_iter), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1}, + {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1}, + {&__pyx_n_s_pop, __pyx_k_pop, sizeof(__pyx_k_pop), 0, 0, 1, 1}, + {&__pyx_n_s_pos, __pyx_k_pos, sizeof(__pyx_k_pos), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_type, __pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle_FrozenList, __pyx_k_pyx_unpickle_FrozenList, sizeof(__pyx_k_pyx_unpickle_FrozenList), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1}, + {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1}, + {&__pyx_n_s_register, __pyx_k_register, sizeof(__pyx_k_register), 0, 0, 1, 1}, + {&__pyx_n_s_remove, __pyx_k_remove, sizeof(__pyx_k_remove), 0, 0, 1, 1}, + {&__pyx_n_s_reversed, __pyx_k_reversed, sizeof(__pyx_k_reversed), 0, 0, 1, 1}, + {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1}, + {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1}, + {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(0, 19, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "aiohttp/_frozenlist.pyx":19 + * cdef object _check_frozen(self): + * if self.frozen: + * raise RuntimeError("Cannot modify frozen list.") # <<<<<<<<<<<<<< + * + * cdef inline object _fast_len(self): + */ + __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_Cannot_modify_frozen_list); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple_); + __Pyx_GIVEREF(__pyx_tuple_); + + /* "(tree fragment)":1 + * def __pyx_unpickle_FrozenList(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_tuple__2 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__2); + __Pyx_GIVEREF(__pyx_tuple__2); + __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__2, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_FrozenList, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_155820355 = PyInt_FromLong(155820355L); if (unlikely(!__pyx_int_155820355)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + __pyx_vtabptr_7aiohttp_11_frozenlist_FrozenList = &__pyx_vtable_7aiohttp_11_frozenlist_FrozenList; + __pyx_vtable_7aiohttp_11_frozenlist_FrozenList._check_frozen = (PyObject *(*)(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *))__pyx_f_7aiohttp_11_frozenlist_10FrozenList__check_frozen; + __pyx_vtable_7aiohttp_11_frozenlist_FrozenList._fast_len = (PyObject *(*)(struct __pyx_obj_7aiohttp_11_frozenlist_FrozenList *))__pyx_f_7aiohttp_11_frozenlist_10FrozenList__fast_len; + if (PyType_Ready(&__pyx_type_7aiohttp_11_frozenlist_FrozenList) < 0) __PYX_ERR(0, 4, __pyx_L1_error) + __pyx_type_7aiohttp_11_frozenlist_FrozenList.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_7aiohttp_11_frozenlist_FrozenList.tp_dictoffset && __pyx_type_7aiohttp_11_frozenlist_FrozenList.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_7aiohttp_11_frozenlist_FrozenList.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (__Pyx_SetVtable(__pyx_type_7aiohttp_11_frozenlist_FrozenList.tp_dict, __pyx_vtabptr_7aiohttp_11_frozenlist_FrozenList) < 0) __PYX_ERR(0, 4, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_FrozenList, (PyObject *)&__pyx_type_7aiohttp_11_frozenlist_FrozenList) < 0) __PYX_ERR(0, 4, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_7aiohttp_11_frozenlist_FrozenList) < 0) __PYX_ERR(0, 4, __pyx_L1_error) + __pyx_ptype_7aiohttp_11_frozenlist_FrozenList = &__pyx_type_7aiohttp_11_frozenlist_FrozenList; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#if PY_MAJOR_VERSION < 3 +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC void +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#else +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC init_frozenlist(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC init_frozenlist(void) +#else +__Pyx_PyMODINIT_FUNC PyInit__frozenlist(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit__frozenlist(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec__frozenlist(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module '_frozenlist' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #if CYTHON_REFNANNY +__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); +if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); +} +#endif + __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit__frozenlist(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + #ifdef WITH_THREAD /* Python build with threading support? */ + PyEval_InitThreads(); + #endif + #endif + /*--- Module creation code ---*/ + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("_frozenlist", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + #if CYTHON_COMPILING_IN_PYPY + Py_INCREF(__pyx_b); + #endif + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main_aiohttp___frozenlist) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "aiohttp._frozenlist")) { + if (unlikely(PyDict_SetItemString(modules, "aiohttp._frozenlist", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Global type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + if (unlikely(__Pyx_modinit_type_init_code() != 0)) goto __pyx_L1_error; + (void)__Pyx_modinit_type_import_code(); + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_function_import_code(); + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + + /* "aiohttp/_frozenlist.pyx":1 + * from collections.abc import MutableSequence # <<<<<<<<<<<<<< + * + * + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_MutableSequence); + __Pyx_GIVEREF(__pyx_n_s_MutableSequence); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_MutableSequence); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_collections_abc, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_MutableSequence); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_MutableSequence, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_frozenlist.pyx":108 + * + * + * MutableSequence.register(FrozenList) # <<<<<<<<<<<<<< + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_MutableSequence); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 108, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_register); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, ((PyObject *)__pyx_ptype_7aiohttp_11_frozenlist_FrozenList)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 108, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_FrozenList(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7aiohttp_11_frozenlist_1__pyx_unpickle_FrozenList, NULL, __pyx_n_s_aiohttp__frozenlist); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_FrozenList, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_frozenlist.pyx":1 + * from collections.abc import MutableSequence # <<<<<<<<<<<<<< + * + * + */ + __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init aiohttp._frozenlist", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init aiohttp._frozenlist"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* PyObjectCall */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = func->ob_type->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyErrFetchRestore */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* RaiseException */ +#if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* GetItemInt */ +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyList_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyTuple_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return NULL; + PyErr_Clear(); + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +} + +/* ObjectGetItem */ +#if CYTHON_USE_TYPE_SLOTS +static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) { + PyObject *runerr; + Py_ssize_t key_value; + PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence; + if (unlikely(!(m && m->sq_item))) { + PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name); + return NULL; + } + key_value = __Pyx_PyIndex_AsSsize_t(index); + if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { + return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); + } + if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { + PyErr_Clear(); + PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name); + } + return NULL; +} +static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) { + PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping; + if (likely(m && m->mp_subscript)) { + return m->mp_subscript(obj, key); + } + return __Pyx_PyObject_GetIndex(obj, key); +} +#endif + +/* PyFunctionFastCall */ +#if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCallMethO */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallNoArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, NULL, 0); + } +#endif +#ifdef __Pyx_CyFunction_USED + if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) +#else + if (likely(PyCFunction_Check(func))) +#endif + { + if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { + return __Pyx_PyObject_CallMethO(func, NULL); + } + } + return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); +} +#endif + +/* PyCFunctionFastCall */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyObjectCallOneArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* PyIntCompare */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED long inplace) { + if (op1 == op2) { + Py_RETURN_TRUE; + } + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long a = PyInt_AS_LONG(op1); + if (a == b) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + int unequal; + unsigned long uintval; + Py_ssize_t size = Py_SIZE(op1); + const digit* digits = ((PyLongObject*)op1)->ob_digit; + if (intval == 0) { + if (size == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } else if (intval < 0) { + if (size >= 0) + Py_RETURN_FALSE; + intval = -intval; + size = -size; + } else { + if (size <= 0) + Py_RETURN_FALSE; + } + uintval = (unsigned long) intval; +#if PyLong_SHIFT * 4 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 4)) { + unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 3 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 3)) { + unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 2 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 2)) { + unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 1 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 1)) { + unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif + unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); + if (unequal == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + if ((double)a == (double)b) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + return ( + PyObject_RichCompare(op1, op2, Py_EQ)); +} + +/* PyObjectCall2Args */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { + PyObject *args, *result = NULL; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyFunction_FastCall(function, args, 2); + } + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyCFunction_FastCall(function, args, 2); + } + #endif + args = PyTuple_New(2); + if (unlikely(!args)) goto done; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + Py_INCREF(function); + result = __Pyx_PyObject_Call(function, args, NULL); + Py_DECREF(args); + Py_DECREF(function); +done: + return result; +} + +/* PyObjectGetMethod */ +static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { + PyObject *attr; +#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP + PyTypeObject *tp = Py_TYPE(obj); + PyObject *descr; + descrgetfunc f = NULL; + PyObject **dictptr, *dict; + int meth_found = 0; + assert (*method == NULL); + if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { + attr = __Pyx_PyObject_GetAttrStr(obj, name); + goto try_unpack; + } + if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { + return 0; + } + descr = _PyType_Lookup(tp, name); + if (likely(descr != NULL)) { + Py_INCREF(descr); +#if PY_MAJOR_VERSION >= 3 + #ifdef __Pyx_CyFunction_USED + if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) + #else + if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type))) + #endif +#else + #ifdef __Pyx_CyFunction_USED + if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) + #else + if (likely(PyFunction_Check(descr))) + #endif +#endif + { + meth_found = 1; + } else { + f = Py_TYPE(descr)->tp_descr_get; + if (f != NULL && PyDescr_IsData(descr)) { + attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); + Py_DECREF(descr); + goto try_unpack; + } + } + } + dictptr = _PyObject_GetDictPtr(obj); + if (dictptr != NULL && (dict = *dictptr) != NULL) { + Py_INCREF(dict); + attr = __Pyx_PyDict_GetItemStr(dict, name); + if (attr != NULL) { + Py_INCREF(attr); + Py_DECREF(dict); + Py_XDECREF(descr); + goto try_unpack; + } + Py_DECREF(dict); + } + if (meth_found) { + *method = descr; + return 1; + } + if (f != NULL) { + attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); + Py_DECREF(descr); + goto try_unpack; + } + if (descr != NULL) { + *method = descr; + return 0; + } + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(name)); +#endif + return 0; +#else + attr = __Pyx_PyObject_GetAttrStr(obj, name); + goto try_unpack; +#endif +try_unpack: +#if CYTHON_UNPACK_METHODS + if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { + PyObject *function = PyMethod_GET_FUNCTION(attr); + Py_INCREF(function); + Py_DECREF(attr); + *method = function; + return 1; + } +#endif + *method = attr; + return 0; +} + +/* PyObjectCallMethod1 */ +static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) { + PyObject *result = __Pyx_PyObject_CallOneArg(method, arg); + Py_DECREF(method); + return result; +} +static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { + PyObject *method = NULL, *result; + int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); + if (likely(is_method)) { + result = __Pyx_PyObject_Call2Args(method, obj, arg); + Py_DECREF(method); + return result; + } + if (unlikely(!method)) return NULL; + return __Pyx__PyObject_CallMethod1(method, arg); +} + +/* pop_index */ +static PyObject* __Pyx__PyObject_PopNewIndex(PyObject* L, PyObject* py_ix) { + PyObject *r; + if (unlikely(!py_ix)) return NULL; + r = __Pyx__PyObject_PopIndex(L, py_ix); + Py_DECREF(py_ix); + return r; +} +static PyObject* __Pyx__PyObject_PopIndex(PyObject* L, PyObject* py_ix) { + return __Pyx_PyObject_CallMethod1(L, __pyx_n_s_pop, py_ix); +} +#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS +static PyObject* __Pyx__PyList_PopIndex(PyObject* L, PyObject* py_ix, Py_ssize_t ix) { + Py_ssize_t size = PyList_GET_SIZE(L); + if (likely(size > (((PyListObject*)L)->allocated >> 1))) { + Py_ssize_t cix = ix; + if (cix < 0) { + cix += size; + } + if (likely(__Pyx_is_valid_index(cix, size))) { + PyObject* v = PyList_GET_ITEM(L, cix); + Py_SIZE(L) -= 1; + size -= 1; + memmove(&PyList_GET_ITEM(L, cix), &PyList_GET_ITEM(L, cix+1), (size_t)(size-cix)*sizeof(PyObject*)); + return v; + } + } + if (py_ix == Py_None) { + return __Pyx__PyObject_PopNewIndex(L, PyInt_FromSsize_t(ix)); + } else { + return __Pyx__PyObject_PopIndex(L, py_ix); + } +} +#endif + +/* PyErrExceptionMatches */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i<n; i++) { + if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1; + } +#endif + for (i=0; i<n; i++) { + if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1; + } + return 0; +} +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) { + PyObject *exc_type = tstate->curexc_type; + if (exc_type == err) return 1; + if (unlikely(!exc_type)) return 0; + if (unlikely(PyTuple_Check(err))) + return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); + return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); +} +#endif + +/* GetAttr */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) { +#if CYTHON_USE_TYPE_SLOTS +#if PY_MAJOR_VERSION >= 3 + if (likely(PyUnicode_Check(n))) +#else + if (likely(PyString_Check(n))) +#endif + return __Pyx_PyObject_GetAttrStr(o, n); +#endif + return PyObject_GetAttr(o, n); +} + +/* GetAttr3 */ +static PyObject *__Pyx_GetAttr3Default(PyObject *d) { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) + return NULL; + __Pyx_PyErr_Clear(); + Py_INCREF(d); + return d; +} +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) { + PyObject *r = __Pyx_GetAttr(o, n); + return (likely(r)) ? r : __Pyx_GetAttr3Default(d); +} + +/* GetModuleGlobalName */ +#if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* Import */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if (strchr(__Pyx_MODULE_NAME, '.')) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* ImportFrom */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { + PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); + if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Format(PyExc_ImportError, + #if PY_MAJOR_VERSION < 3 + "cannot import name %.230s", PyString_AS_STRING(name)); + #else + "cannot import name %S", name); + #endif + } + return value; +} + +/* HasAttr */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) { + PyObject *r; + if (unlikely(!__Pyx_PyBaseString_Check(n))) { + PyErr_SetString(PyExc_TypeError, + "hasattr(): attribute name must be string"); + return -1; + } + r = __Pyx_GetAttr(o, n); + if (unlikely(!r)) { + PyErr_Clear(); + return 0; + } else { + Py_DECREF(r); + return 1; + } +} + +/* PyObject_GenericGetAttrNoDict */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, attr_name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(attr_name)); +#endif + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { + PyObject *descr; + PyTypeObject *tp = Py_TYPE(obj); + if (unlikely(!PyString_Check(attr_name))) { + return PyObject_GenericGetAttr(obj, attr_name); + } + assert(!tp->tp_dictoffset); + descr = _PyType_Lookup(tp, attr_name); + if (unlikely(!descr)) { + return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); + } + Py_INCREF(descr); + #if PY_MAJOR_VERSION < 3 + if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) + #endif + { + descrgetfunc f = Py_TYPE(descr)->tp_descr_get; + if (unlikely(f)) { + PyObject *res = f(descr, obj, (PyObject *)tp); + Py_DECREF(descr); + return res; + } + } + return descr; +} +#endif + +/* PyObject_GenericGetAttr */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) { + if (unlikely(Py_TYPE(obj)->tp_dictoffset)) { + return PyObject_GenericGetAttr(obj, attr_name); + } + return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name); +} +#endif + +/* SetVTable */ +static int __Pyx_SetVtable(PyObject *dict, void *vtable) { +#if PY_VERSION_HEX >= 0x02070000 + PyObject *ob = PyCapsule_New(vtable, 0, 0); +#else + PyObject *ob = PyCObject_FromVoidPtr(vtable, 0); +#endif + if (!ob) + goto bad; + if (PyDict_SetItem(dict, __pyx_n_s_pyx_vtable, ob) < 0) + goto bad; + Py_DECREF(ob); + return 0; +bad: + Py_XDECREF(ob); + return -1; +} + +/* SetupReduce */ +static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) { + int ret; + PyObject *name_attr; + name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name); + if (likely(name_attr)) { + ret = PyObject_RichCompareBool(name_attr, name, Py_EQ); + } else { + ret = -1; + } + if (unlikely(ret < 0)) { + PyErr_Clear(); + ret = 0; + } + Py_XDECREF(name_attr); + return ret; +} +static int __Pyx_setup_reduce(PyObject* type_obj) { + int ret = 0; + PyObject *object_reduce = NULL; + PyObject *object_reduce_ex = NULL; + PyObject *reduce = NULL; + PyObject *reduce_ex = NULL; + PyObject *reduce_cython = NULL; + PyObject *setstate = NULL; + PyObject *setstate_cython = NULL; +#if CYTHON_USE_PYTYPE_LOOKUP + if (_PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate)) goto GOOD; +#else + if (PyObject_HasAttr(type_obj, __pyx_n_s_getstate)) goto GOOD; +#endif +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD; +#else + object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD; +#endif + reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto BAD; + if (reduce_ex == object_reduce_ex) { +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD; +#else + object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD; +#endif + reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto BAD; + if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) { + reduce_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_cython); if (unlikely(!reduce_cython)) goto BAD; + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto BAD; + setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate); + if (!setstate) PyErr_Clear(); + if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) { + setstate_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate_cython); if (unlikely(!setstate_cython)) goto BAD; + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto BAD; + } + PyType_Modified((PyTypeObject*)type_obj); + } + } + goto GOOD; +BAD: + if (!PyErr_Occurred()) + PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name); + ret = -1; +GOOD: +#if !CYTHON_USE_PYTYPE_LOOKUP + Py_XDECREF(object_reduce); + Py_XDECREF(object_reduce_ex); +#endif + Py_XDECREF(reduce); + Py_XDECREF(reduce_ex); + Py_XDECREF(reduce_cython); + Py_XDECREF(setstate); + Py_XDECREF(setstate_cython); + return ret; +} + +/* CLineInTraceback */ +#ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#endif + +/* CodeObjectCache */ +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ +#include "compile.h" +#include "frameobject.h" +#include "traceback.h" +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyObject *py_srcfile = 0; + PyObject *py_funcname = 0; + #if PY_MAJOR_VERSION < 3 + py_srcfile = PyString_FromString(filename); + #else + py_srcfile = PyUnicode_FromString(filename); + #endif + if (!py_srcfile) goto bad; + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + #else + py_funcname = PyUnicode_FromString(funcname); + #endif + } + if (!py_funcname) goto bad; + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + Py_DECREF(py_funcname); + return py_code; +bad: + Py_XDECREF(py_srcfile); + Py_XDECREF(py_funcname); + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + py_code = __pyx_find_code_object(c_line ? -c_line : py_line); + if (!py_code) { + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) goto bad; + __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); + } + py_frame = PyFrame_New( + tstate, /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { + const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(int) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(int) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(int) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(int), + little, !is_unsigned); + } +} + +/* CIntFromPyVerify */ +#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* CIntFromPy */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { + const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* FastTypeChecks */ +#if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i<n; i++) { + if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1; + } +#endif + for (i=0; i<n; i++) { + PyObject *t = PyTuple_GET_ITEM(tuple, i); + #if PY_MAJOR_VERSION < 3 + if (likely(exc_type == t)) return 1; + #endif + if (likely(PyExceptionClass_Check(t))) { + if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1; + } else { + } + } + return 0; +} +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) { + if (likely(err == exc_type)) return 1; + if (likely(PyExceptionClass_Check(err))) { + if (likely(PyExceptionClass_Check(exc_type))) { + return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type); + } else if (likely(PyTuple_Check(exc_type))) { + return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type); + } else { + } + } + return PyErr_GivenExceptionMatches(err, exc_type); +} +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) { + assert(PyExceptionClass_Check(exc_type1)); + assert(PyExceptionClass_Check(exc_type2)); + if (likely(err == exc_type1 || err == exc_type2)) return 1; + if (likely(PyExceptionClass_Check(err))) { + return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2); + } + return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2)); +} +#endif + +/* CheckBinaryVersion */ +static int __Pyx_check_binary_version(void) { + char ctversion[4], rtversion[4]; + PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); + PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); + if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { + char message[200]; + PyOS_snprintf(message, sizeof(message), + "compiletime version %s of module '%.100s' " + "does not match runtime version %s", + ctversion, __Pyx_MODULE_NAME, rtversion); + return PyErr_WarnEx(NULL, message, 1); + } + return 0; +} + +/* InitStrings */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + if (PyObject_Hash(*t->p) == -1) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +} +#else +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(PyUnicode_IS_ASCII(o))) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +} +#endif +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS + PyNumberMethods *m; +#endif + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(PyLong_Check(x))) +#endif + return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS + m = Py_TYPE(x)->tp_as_number; + #if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(b); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/venv/lib/python3.6/site-packages/aiohttp/_frozenlist.cpython-36m-x86_64-linux-gnu.so b/venv/lib/python3.6/site-packages/aiohttp/_frozenlist.cpython-36m-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..9c87bf288a6cbb785b5a26a59627ba63964e0240 GIT binary patch literal 313659 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%0AS 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/aiohttp/_frozenlist.pyx b/venv/lib/python3.6/site-packages/aiohttp/_frozenlist.pyx new file mode 100644 index 0000000..b130577 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_frozenlist.pyx @@ -0,0 +1,108 @@ +from collections.abc import MutableSequence + + +cdef class FrozenList: + + cdef readonly bint frozen + cdef list _items + + def __init__(self, items=None): + self.frozen = False + if items is not None: + items = list(items) + else: + items = [] + self._items = items + + cdef object _check_frozen(self): + if self.frozen: + raise RuntimeError("Cannot modify frozen list.") + + cdef inline object _fast_len(self): + return len(self._items) + + def freeze(self): + self.frozen = True + + def __getitem__(self, index): + return self._items[index] + + def __setitem__(self, index, value): + self._check_frozen() + self._items[index] = value + + def __delitem__(self, index): + self._check_frozen() + del self._items[index] + + def __len__(self): + return self._fast_len() + + def __iter__(self): + return self._items.__iter__() + + def __reversed__(self): + return self._items.__reversed__() + + def __richcmp__(self, other, op): + if op == 0: # < + return list(self) < other + if op == 1: # <= + return list(self) <= other + if op == 2: # == + return list(self) == other + if op == 3: # != + return list(self) != other + if op == 4: # > + return list(self) > other + if op == 5: # => + return list(self) >= other + + def insert(self, pos, item): + self._check_frozen() + self._items.insert(pos, item) + + def __contains__(self, item): + return item in self._items + + def __iadd__(self, items): + self._check_frozen() + self._items += list(items) + return self + + def index(self, item): + return self._items.index(item) + + def remove(self, item): + self._check_frozen() + self._items.remove(item) + + def clear(self): + self._check_frozen() + self._items.clear() + + def extend(self, items): + self._check_frozen() + self._items += list(items) + + def reverse(self): + self._check_frozen() + self._items.reverse() + + def pop(self, index=-1): + self._check_frozen() + return self._items.pop(index) + + def append(self, item): + self._check_frozen() + return self._items.append(item) + + def count(self, item): + return self._items.count(item) + + def __repr__(self): + return '<FrozenList(frozen={}, {!r})>'.format(self.frozen, + self._items) + + +MutableSequence.register(FrozenList) diff --git a/venv/lib/python3.6/site-packages/aiohttp/_headers.pxi b/venv/lib/python3.6/site-packages/aiohttp/_headers.pxi new file mode 100644 index 0000000..22ef15c --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_headers.pxi @@ -0,0 +1,84 @@ +# The file is autogenerated from aiohttp/hdrs.py +# Run ./tools/gen.py to update it after the origin changing. + +from . import hdrs +cdef tuple headers = ( + hdrs.ACCEPT, + hdrs.ACCEPT_CHARSET, + hdrs.ACCEPT_ENCODING, + hdrs.ACCEPT_LANGUAGE, + hdrs.ACCEPT_RANGES, + hdrs.ACCESS_CONTROL_ALLOW_CREDENTIALS, + hdrs.ACCESS_CONTROL_ALLOW_HEADERS, + hdrs.ACCESS_CONTROL_ALLOW_METHODS, + hdrs.ACCESS_CONTROL_ALLOW_ORIGIN, + hdrs.ACCESS_CONTROL_EXPOSE_HEADERS, + hdrs.ACCESS_CONTROL_MAX_AGE, + hdrs.ACCESS_CONTROL_REQUEST_HEADERS, + hdrs.ACCESS_CONTROL_REQUEST_METHOD, + hdrs.AGE, + hdrs.ALLOW, + hdrs.AUTHORIZATION, + hdrs.CACHE_CONTROL, + hdrs.CONNECTION, + hdrs.CONTENT_DISPOSITION, + hdrs.CONTENT_ENCODING, + hdrs.CONTENT_LANGUAGE, + hdrs.CONTENT_LENGTH, + hdrs.CONTENT_LOCATION, + hdrs.CONTENT_MD5, + hdrs.CONTENT_RANGE, + hdrs.CONTENT_TRANSFER_ENCODING, + hdrs.CONTENT_TYPE, + hdrs.COOKIE, + hdrs.DATE, + hdrs.DESTINATION, + hdrs.DIGEST, + hdrs.ETAG, + hdrs.EXPECT, + hdrs.EXPIRES, + hdrs.FORWARDED, + hdrs.FROM, + hdrs.HOST, + hdrs.IF_MATCH, + hdrs.IF_MODIFIED_SINCE, + hdrs.IF_NONE_MATCH, + hdrs.IF_RANGE, + hdrs.IF_UNMODIFIED_SINCE, + hdrs.KEEP_ALIVE, + hdrs.LAST_EVENT_ID, + hdrs.LAST_MODIFIED, + hdrs.LINK, + hdrs.LOCATION, + hdrs.MAX_FORWARDS, + hdrs.ORIGIN, + hdrs.PRAGMA, + hdrs.PROXY_AUTHENTICATE, + hdrs.PROXY_AUTHORIZATION, + hdrs.RANGE, + hdrs.REFERER, + hdrs.RETRY_AFTER, + hdrs.SEC_WEBSOCKET_ACCEPT, + hdrs.SEC_WEBSOCKET_EXTENSIONS, + hdrs.SEC_WEBSOCKET_KEY, + hdrs.SEC_WEBSOCKET_KEY1, + hdrs.SEC_WEBSOCKET_PROTOCOL, + hdrs.SEC_WEBSOCKET_VERSION, + hdrs.SERVER, + hdrs.SET_COOKIE, + hdrs.TE, + hdrs.TRAILER, + hdrs.TRANSFER_ENCODING, + hdrs.UPGRADE, + hdrs.URI, + hdrs.USER_AGENT, + hdrs.VARY, + hdrs.VIA, + hdrs.WANT_DIGEST, + hdrs.WARNING, + hdrs.WEBSOCKET, + hdrs.WWW_AUTHENTICATE, + hdrs.X_FORWARDED_FOR, + hdrs.X_FORWARDED_HOST, + hdrs.X_FORWARDED_PROTO, +) diff --git a/venv/lib/python3.6/site-packages/aiohttp/_helpers.c b/venv/lib/python3.6/site-packages/aiohttp/_helpers.c new file mode 100644 index 0000000..b30cdf2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_helpers.c @@ -0,0 +1,5312 @@ +/* Generated by Cython 0.29.2 */ + +/* BEGIN: Cython Metadata +{ + "distutils": { + "name": "aiohttp._helpers", + "sources": [ + "aiohttp/_helpers.pyx" + ] + }, + "module_name": "aiohttp._helpers" +} +END: Cython Metadata */ + +#define PY_SSIZE_T_CLEAN +#include "Python.h" +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) + #error Cython requires Python 2.6+ or Python 3.3+. +#else +#define CYTHON_ABI "0_29_2" +#define CYTHON_HEX_VERSION 0x001D02F0 +#define CYTHON_FUTURE_DIVISION 0 +#include <stddef.h> +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x02070000 + #define HAVE_LONG_LONG + #endif +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #ifndef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 1 + #endif + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #ifndef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #endif +#endif +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #include "longintrepr.h" + #undef SHIFT + #undef BASE + #undef MASK + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include <stdint.h> +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#ifndef CYTHON_INLINE + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #elif defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_INLINE inline + #else + #define CYTHON_INLINE + #endif +#endif + +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#ifndef METH_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif +#if CYTHON_USE_DICT_VERSIONS +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ + } +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(p) +#endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; // PyThread_create_key reports success always +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif // TSS (Thread Specific Storage) API +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) +#else + #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) + #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact + #define PyObject_Unicode PyObject_Str +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t PyInt_AsLong +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : (Py_INCREF(func), func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(WIN32) || defined(MS_WINDOWS) + #define _USE_MATH_DEFINES +#endif +#include <math.h> +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif +#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) +#define __Pyx_truncl trunc +#else +#define __Pyx_truncl truncl +#endif + + +#define __PYX_ERR(f_index, lineno, Ln_error) \ +{ \ + __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \ +} + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__aiohttp___helpers +#define __PYX_HAVE_API__aiohttp___helpers +/* Early includes */ +#ifdef _OPENMP +#include <omp.h> +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0 +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include <cstdlib> + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +#if CYTHON_ASSUME_SAFE_MACROS +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ +static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + + +static const char *__pyx_f[] = { + "aiohttp/_helpers.pyx", + "stringsource", +}; + +/*--- Type declarations ---*/ +struct __pyx_obj_7aiohttp_8_helpers_reify; + +/* "aiohttp/_helpers.pyx":1 + * cdef class reify: # <<<<<<<<<<<<<< + * """Use as a class method decorator. It operates almost exactly like + * the Python `@property` decorator, but it puts the result of the + */ +struct __pyx_obj_7aiohttp_8_helpers_reify { + PyObject_HEAD + PyObject *wrapped; + PyObject *name; +}; + + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* GetItemInt.proto */ +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); + +/* ObjectGetItem.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key); +#else +#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) +#endif + +/* GetTopmostException.proto */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); +#endif + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* SaveResetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +#else +#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) +#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) +#endif + +/* PyErrExceptionMatches.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); +#else +#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) +#endif + +/* GetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* PyObjectCall2Args.proto */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* GetAttr.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *); + +/* GetAttr3.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *); + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +#define __Pyx_GetModuleGlobalNameUncached(var, name) {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* ImportFrom.proto */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); + +/* HasAttr.proto */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *); + +/* PyObject_GenericGetAttrNoDict.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr +#endif + +/* PyObject_GenericGetAttr.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr +#endif + +/* SetupReduce.proto */ +static int __Pyx_setup_reduce(PyObject* type_obj); + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + + +/* Module declarations from 'aiohttp._helpers' */ +static PyTypeObject *__pyx_ptype_7aiohttp_8_helpers_reify = 0; +static PyObject *__pyx_f_7aiohttp_8_helpers___pyx_unpickle_reify__set_state(struct __pyx_obj_7aiohttp_8_helpers_reify *, PyObject *); /*proto*/ +#define __Pyx_MODULE_NAME "aiohttp._helpers" +extern int __pyx_module_is_main_aiohttp___helpers; +int __pyx_module_is_main_aiohttp___helpers = 0; + +/* Implementation of 'aiohttp._helpers' */ +static PyObject *__pyx_builtin_KeyError; +static PyObject *__pyx_builtin_AttributeError; +static const char __pyx_k_doc[] = "__doc__"; +static const char __pyx_k_new[] = "__new__"; +static const char __pyx_k_dict[] = "__dict__"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_cache[] = "_cache"; +static const char __pyx_k_reify[] = "reify"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_pickle[] = "pickle"; +static const char __pyx_k_reduce[] = "__reduce__"; +static const char __pyx_k_update[] = "update"; +static const char __pyx_k_wrapped[] = "wrapped"; +static const char __pyx_k_KeyError[] = "KeyError"; +static const char __pyx_k_getstate[] = "__getstate__"; +static const char __pyx_k_pyx_type[] = "__pyx_type"; +static const char __pyx_k_setstate[] = "__setstate__"; +static const char __pyx_k_pyx_state[] = "__pyx_state"; +static const char __pyx_k_reduce_ex[] = "__reduce_ex__"; +static const char __pyx_k_pyx_result[] = "__pyx_result"; +static const char __pyx_k_PickleError[] = "PickleError"; +static const char __pyx_k_pyx_checksum[] = "__pyx_checksum"; +static const char __pyx_k_stringsource[] = "stringsource"; +static const char __pyx_k_reduce_cython[] = "__reduce_cython__"; +static const char __pyx_k_AttributeError[] = "AttributeError"; +static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError"; +static const char __pyx_k_setstate_cython[] = "__setstate_cython__"; +static const char __pyx_k_aiohttp__helpers[] = "aiohttp._helpers"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_pyx_unpickle_reify[] = "__pyx_unpickle_reify"; +static const char __pyx_k_reified_property_is_read_only[] = "reified property is read-only"; +static const char __pyx_k_Incompatible_checksums_s_vs_0x77[] = "Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))"; +static PyObject *__pyx_n_s_AttributeError; +static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x77; +static PyObject *__pyx_n_s_KeyError; +static PyObject *__pyx_n_s_PickleError; +static PyObject *__pyx_n_s_aiohttp__helpers; +static PyObject *__pyx_n_s_cache; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_dict; +static PyObject *__pyx_n_s_doc; +static PyObject *__pyx_n_s_getstate; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_n_s_new; +static PyObject *__pyx_n_s_pickle; +static PyObject *__pyx_n_s_pyx_PickleError; +static PyObject *__pyx_n_s_pyx_checksum; +static PyObject *__pyx_n_s_pyx_result; +static PyObject *__pyx_n_s_pyx_state; +static PyObject *__pyx_n_s_pyx_type; +static PyObject *__pyx_n_s_pyx_unpickle_reify; +static PyObject *__pyx_n_s_reduce; +static PyObject *__pyx_n_s_reduce_cython; +static PyObject *__pyx_n_s_reduce_ex; +static PyObject *__pyx_kp_s_reified_property_is_read_only; +static PyObject *__pyx_n_s_reify; +static PyObject *__pyx_n_s_setstate; +static PyObject *__pyx_n_s_setstate_cython; +static PyObject *__pyx_kp_s_stringsource; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_update; +static PyObject *__pyx_n_s_wrapped; +static int __pyx_pf_7aiohttp_8_helpers_5reify___init__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, PyObject *__pyx_v_wrapped); /* proto */ +static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_7__doc_____get__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_2__get__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, PyObject *__pyx_v_inst, CYTHON_UNUSED PyObject *__pyx_v_owner); /* proto */ +static int __pyx_pf_7aiohttp_8_helpers_5reify_4__set__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_inst, CYTHON_UNUSED PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_6__reduce_cython__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_8__setstate_cython__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_7aiohttp_8_helpers___pyx_unpickle_reify(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_tp_new_7aiohttp_8_helpers_reify(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_int_124832655; +static PyObject *__pyx_tuple_; +static PyObject *__pyx_tuple__2; +static PyObject *__pyx_codeobj__3; +/* Late includes */ + +/* "aiohttp/_helpers.pyx":13 + * cdef object name + * + * def __init__(self, wrapped): # <<<<<<<<<<<<<< + * self.wrapped = wrapped + * self.name = wrapped.__name__ + */ + +/* Python wrapper */ +static int __pyx_pw_7aiohttp_8_helpers_5reify_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_7aiohttp_8_helpers_5reify_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_wrapped = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_wrapped,0}; + PyObject* values[1] = {0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wrapped)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 13, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + } + __pyx_v_wrapped = values[0]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 13, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("aiohttp._helpers.reify.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_7aiohttp_8_helpers_5reify___init__(((struct __pyx_obj_7aiohttp_8_helpers_reify *)__pyx_v_self), __pyx_v_wrapped); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_7aiohttp_8_helpers_5reify___init__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, PyObject *__pyx_v_wrapped) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__init__", 0); + + /* "aiohttp/_helpers.pyx":14 + * + * def __init__(self, wrapped): + * self.wrapped = wrapped # <<<<<<<<<<<<<< + * self.name = wrapped.__name__ + * + */ + __Pyx_INCREF(__pyx_v_wrapped); + __Pyx_GIVEREF(__pyx_v_wrapped); + __Pyx_GOTREF(__pyx_v_self->wrapped); + __Pyx_DECREF(__pyx_v_self->wrapped); + __pyx_v_self->wrapped = __pyx_v_wrapped; + + /* "aiohttp/_helpers.pyx":15 + * def __init__(self, wrapped): + * self.wrapped = wrapped + * self.name = wrapped.__name__ # <<<<<<<<<<<<<< + * + * @property + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_wrapped, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->name); + __Pyx_DECREF(__pyx_v_self->name); + __pyx_v_self->name = __pyx_t_1; + __pyx_t_1 = 0; + + /* "aiohttp/_helpers.pyx":13 + * cdef object name + * + * def __init__(self, wrapped): # <<<<<<<<<<<<<< + * self.wrapped = wrapped + * self.name = wrapped.__name__ + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._helpers.reify.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_helpers.pyx":18 + * + * @property + * def __doc__(self): # <<<<<<<<<<<<<< + * return self.wrapped.__doc__ + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_7__doc___1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_7__doc___1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_8_helpers_5reify_7__doc_____get__(((struct __pyx_obj_7aiohttp_8_helpers_reify *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_7__doc_____get__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__get__", 0); + + /* "aiohttp/_helpers.pyx":19 + * @property + * def __doc__(self): + * return self.wrapped.__doc__ # <<<<<<<<<<<<<< + * + * def __get__(self, inst, owner): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->wrapped, __pyx_n_s_doc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_helpers.pyx":18 + * + * @property + * def __doc__(self): # <<<<<<<<<<<<<< + * return self.wrapped.__doc__ + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._helpers.reify.__doc__.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_helpers.pyx":21 + * return self.wrapped.__doc__ + * + * def __get__(self, inst, owner): # <<<<<<<<<<<<<< + * try: + * try: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_3__get__(PyObject *__pyx_v_self, PyObject *__pyx_v_inst, PyObject *__pyx_v_owner); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_3__get__(PyObject *__pyx_v_self, PyObject *__pyx_v_inst, PyObject *__pyx_v_owner) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_8_helpers_5reify_2__get__(((struct __pyx_obj_7aiohttp_8_helpers_reify *)__pyx_v_self), ((PyObject *)__pyx_v_inst), ((PyObject *)__pyx_v_owner)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_2__get__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, PyObject *__pyx_v_inst, CYTHON_UNUSED PyObject *__pyx_v_owner) { + PyObject *__pyx_v_val = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + int __pyx_t_15; + __Pyx_RefNannySetupContext("__get__", 0); + + /* "aiohttp/_helpers.pyx":22 + * + * def __get__(self, inst, owner): + * try: # <<<<<<<<<<<<<< + * try: + * return inst._cache[self.name] + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "aiohttp/_helpers.pyx":23 + * def __get__(self, inst, owner): + * try: + * try: # <<<<<<<<<<<<<< + * return inst._cache[self.name] + * except KeyError: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_6); + /*try:*/ { + + /* "aiohttp/_helpers.pyx":24 + * try: + * try: + * return inst._cache[self.name] # <<<<<<<<<<<<<< + * except KeyError: + * val = self.wrapped(inst) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_inst, __pyx_n_s_cache); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_self->name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 24, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L13_try_return; + + /* "aiohttp/_helpers.pyx":23 + * def __get__(self, inst, owner): + * try: + * try: # <<<<<<<<<<<<<< + * return inst._cache[self.name] + * except KeyError: + */ + } + __pyx_L9_error:; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "aiohttp/_helpers.pyx":25 + * try: + * return inst._cache[self.name] + * except KeyError: # <<<<<<<<<<<<<< + * val = self.wrapped(inst) + * inst._cache[self.name] = val + */ + __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError); + if (__pyx_t_9) { + __Pyx_AddTraceback("aiohttp._helpers.reify.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_7, &__pyx_t_10) < 0) __PYX_ERR(0, 25, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_10); + + /* "aiohttp/_helpers.pyx":26 + * return inst._cache[self.name] + * except KeyError: + * val = self.wrapped(inst) # <<<<<<<<<<<<<< + * inst._cache[self.name] = val + * return val + */ + __Pyx_INCREF(__pyx_v_self->wrapped); + __pyx_t_12 = __pyx_v_self->wrapped; __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + __pyx_t_11 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_13, __pyx_v_inst) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_inst); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 26, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_v_val = __pyx_t_11; + __pyx_t_11 = 0; + + /* "aiohttp/_helpers.pyx":27 + * except KeyError: + * val = self.wrapped(inst) + * inst._cache[self.name] = val # <<<<<<<<<<<<<< + * return val + * except AttributeError: + */ + __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_inst, __pyx_n_s_cache); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 27, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_11); + if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_v_self->name, __pyx_v_val) < 0)) __PYX_ERR(0, 27, __pyx_L11_except_error) + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + + /* "aiohttp/_helpers.pyx":28 + * val = self.wrapped(inst) + * inst._cache[self.name] = val + * return val # <<<<<<<<<<<<<< + * except AttributeError: + * if inst is None: + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_val); + __pyx_r = __pyx_v_val; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L12_except_return; + } + goto __pyx_L11_except_error; + __pyx_L11_except_error:; + + /* "aiohttp/_helpers.pyx":23 + * def __get__(self, inst, owner): + * try: + * try: # <<<<<<<<<<<<<< + * return inst._cache[self.name] + * except KeyError: + */ + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6); + goto __pyx_L3_error; + __pyx_L13_try_return:; + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6); + goto __pyx_L7_try_return; + __pyx_L12_except_return:; + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6); + goto __pyx_L7_try_return; + } + + /* "aiohttp/_helpers.pyx":22 + * + * def __get__(self, inst, owner): + * try: # <<<<<<<<<<<<<< + * try: + * return inst._cache[self.name] + */ + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + + /* "aiohttp/_helpers.pyx":29 + * inst._cache[self.name] = val + * return val + * except AttributeError: # <<<<<<<<<<<<<< + * if inst is None: + * return self + */ + __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError); + if (__pyx_t_9) { + __Pyx_AddTraceback("aiohttp._helpers.reify.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_7, &__pyx_t_8) < 0) __PYX_ERR(0, 29, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_8); + + /* "aiohttp/_helpers.pyx":30 + * return val + * except AttributeError: + * if inst is None: # <<<<<<<<<<<<<< + * return self + * raise + */ + __pyx_t_14 = (__pyx_v_inst == Py_None); + __pyx_t_15 = (__pyx_t_14 != 0); + if (__pyx_t_15) { + + /* "aiohttp/_helpers.pyx":31 + * except AttributeError: + * if inst is None: + * return self # <<<<<<<<<<<<<< + * raise + * + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_self)); + __pyx_r = ((PyObject *)__pyx_v_self); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L6_except_return; + + /* "aiohttp/_helpers.pyx":30 + * return val + * except AttributeError: + * if inst is None: # <<<<<<<<<<<<<< + * return self + * raise + */ + } + + /* "aiohttp/_helpers.pyx":32 + * if inst is None: + * return self + * raise # <<<<<<<<<<<<<< + * + * def __set__(self, inst, value): + */ + __Pyx_GIVEREF(__pyx_t_10); + __Pyx_GIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ErrRestoreWithState(__pyx_t_10, __pyx_t_7, __pyx_t_8); + __pyx_t_10 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; + __PYX_ERR(0, 32, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "aiohttp/_helpers.pyx":22 + * + * def __get__(self, inst, owner): + * try: # <<<<<<<<<<<<<< + * try: + * return inst._cache[self.name] + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L7_try_return:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L0; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L0; + } + + /* "aiohttp/_helpers.pyx":21 + * return self.wrapped.__doc__ + * + * def __get__(self, inst, owner): # <<<<<<<<<<<<<< + * try: + * try: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_AddTraceback("aiohttp._helpers.reify.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_helpers.pyx":34 + * raise + * + * def __set__(self, inst, value): # <<<<<<<<<<<<<< + * raise AttributeError("reified property is read-only") + */ + +/* Python wrapper */ +static int __pyx_pw_7aiohttp_8_helpers_5reify_5__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_inst, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_7aiohttp_8_helpers_5reify_5__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_inst, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_8_helpers_5reify_4__set__(((struct __pyx_obj_7aiohttp_8_helpers_reify *)__pyx_v_self), ((PyObject *)__pyx_v_inst), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_7aiohttp_8_helpers_5reify_4__set__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_inst, CYTHON_UNUSED PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__set__", 0); + + /* "aiohttp/_helpers.pyx":35 + * + * def __set__(self, inst, value): + * raise AttributeError("reified property is read-only") # <<<<<<<<<<<<<< + */ + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_AttributeError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 35, __pyx_L1_error) + + /* "aiohttp/_helpers.pyx":34 + * raise + * + * def __set__(self, inst, value): # <<<<<<<<<<<<<< + * raise AttributeError("reified property is read-only") + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._helpers.reify.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_8_helpers_5reify_6__reduce_cython__(((struct __pyx_obj_7aiohttp_8_helpers_reify *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_6__reduce_cython__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self.name, self.wrapped) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_self->name); + __Pyx_GIVEREF(__pyx_v_self->name); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->name); + __Pyx_INCREF(__pyx_v_self->wrapped); + __Pyx_GIVEREF(__pyx_v_self->wrapped); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->wrapped); + __pyx_v_state = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self.name, self.wrapped) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v__dict = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":7 + * state = (self.name, self.wrapped) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_2 = (__pyx_v__dict != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict); + __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4)); + __pyx_t_4 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self.name is not None or self.wrapped is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self.name, self.wrapped) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self.name is not None or self.wrapped is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle_reify, (type(self), 0x770cb8f, None), state + */ + /*else*/ { + __pyx_t_2 = (__pyx_v_self->name != Py_None); + __pyx_t_5 = (__pyx_t_2 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_3 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_self->wrapped != Py_None); + __pyx_t_2 = (__pyx_t_5 != 0); + __pyx_t_3 = __pyx_t_2; + __pyx_L4_bool_binop_done:; + __pyx_v_use_setstate = __pyx_t_3; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.name is not None or self.wrapped is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_reify, (type(self), 0x770cb8f, None), state + * else: + */ + __pyx_t_3 = (__pyx_v_use_setstate != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":13 + * use_setstate = self.name is not None or self.wrapped is not None + * if use_setstate: + * return __pyx_unpickle_reify, (type(self), 0x770cb8f, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle_reify, (type(self), 0x770cb8f, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_reify); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_124832655); + __Pyx_GIVEREF(__pyx_int_124832655); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_124832655); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_state); + __pyx_t_4 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.name is not None or self.wrapped is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_reify, (type(self), 0x770cb8f, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle_reify, (type(self), 0x770cb8f, None), state + * else: + * return __pyx_unpickle_reify, (type(self), 0x770cb8f, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_reify__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pyx_unpickle_reify); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_124832655); + __Pyx_GIVEREF(__pyx_int_124832655); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_124832655); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __pyx_t_6 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("aiohttp._helpers.reify.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle_reify, (type(self), 0x770cb8f, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_reify__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_8_helpers_5reify_8__setstate_cython__(((struct __pyx_obj_7aiohttp_8_helpers_reify *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_8__setstate_cython__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle_reify, (type(self), 0x770cb8f, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_reify__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_7aiohttp_8_helpers___pyx_unpickle_reify__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle_reify, (type(self), 0x770cb8f, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_reify__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._helpers.reify.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle_reify(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_8_helpers_1__pyx_unpickle_reify(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_7aiohttp_8_helpers_1__pyx_unpickle_reify = {"__pyx_unpickle_reify", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_7aiohttp_8_helpers_1__pyx_unpickle_reify, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_7aiohttp_8_helpers_1__pyx_unpickle_reify(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle_reify (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_reify", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_reify", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_reify") < 0)) __PYX_ERR(1, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_reify", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("aiohttp._helpers.__pyx_unpickle_reify", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_7aiohttp_8_helpers___pyx_unpickle_reify(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_8_helpers___pyx_unpickle_reify(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + __Pyx_RefNannySetupContext("__pyx_unpickle_reify", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum != 0x770cb8f: # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))" % __pyx_checksum) + */ + __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x770cb8f) != 0); + if (__pyx_t_1) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum != 0x770cb8f: + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))" % __pyx_checksum) + * __pyx_result = reify.__new__(__pyx_type) + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError); + __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, -1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_2); + __pyx_v___pyx_PickleError = __pyx_t_2; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum != 0x770cb8f: + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = reify.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x77, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum != 0x770cb8f: # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))" % __pyx_checksum) + * __pyx_result = reify.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle_reify__set_state(<reify> __pyx_result, __pyx_state) + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_7aiohttp_8_helpers_reify), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v___pyx_result = __pyx_t_3; + __pyx_t_3 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))" % __pyx_checksum) + * __pyx_result = reify.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_reify__set_state(<reify> __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_1 = (__pyx_v___pyx_state != Py_None); + __pyx_t_6 = (__pyx_t_1 != 0); + if (__pyx_t_6) { + + /* "(tree fragment)":9 + * __pyx_result = reify.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle_reify__set_state(<reify> __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle_reify__set_state(reify __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_3 = __pyx_f_7aiohttp_8_helpers___pyx_unpickle_reify__set_state(((struct __pyx_obj_7aiohttp_8_helpers_reify *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))" % __pyx_checksum) + * __pyx_result = reify.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_reify__set_state(<reify> __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle_reify__set_state(<reify> __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle_reify__set_state(reify __pyx_result, tuple __pyx_state): + * __pyx_result.name = __pyx_state[0]; __pyx_result.wrapped = __pyx_state[1] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_reify(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("aiohttp._helpers.__pyx_unpickle_reify", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle_reify__set_state(<reify> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_reify__set_state(reify __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.name = __pyx_state[0]; __pyx_result.wrapped = __pyx_state[1] + * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_7aiohttp_8_helpers___pyx_unpickle_reify__set_state(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + __Pyx_RefNannySetupContext("__pyx_unpickle_reify__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle_reify__set_state(reify __pyx_result, tuple __pyx_state): + * __pyx_result.name = __pyx_state[0]; __pyx_result.wrapped = __pyx_state[1] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[2]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->name); + __Pyx_DECREF(__pyx_v___pyx_result->name); + __pyx_v___pyx_result->name = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->wrapped); + __Pyx_DECREF(__pyx_v___pyx_result->wrapped); + __pyx_v___pyx_result->wrapped = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_reify__set_state(reify __pyx_result, tuple __pyx_state): + * __pyx_result.name = __pyx_state[0]; __pyx_result.wrapped = __pyx_state[1] + * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[2]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(1, 13, __pyx_L1_error) + } + __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_4 = ((__pyx_t_3 > 2) != 0); + if (__pyx_t_4) { + } else { + __pyx_t_2 = __pyx_t_4; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_5 = (__pyx_t_4 != 0); + __pyx_t_2 = __pyx_t_5; + __pyx_L4_bool_binop_done:; + if (__pyx_t_2) { + + /* "(tree fragment)":14 + * __pyx_result.name = __pyx_state[0]; __pyx_result.wrapped = __pyx_state[1] + * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[2]) # <<<<<<<<<<<<<< + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 14, __pyx_L1_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_reify__set_state(reify __pyx_result, tuple __pyx_state): + * __pyx_result.name = __pyx_state[0]; __pyx_result.wrapped = __pyx_state[1] + * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[2]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle_reify__set_state(<reify> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_reify__set_state(reify __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.name = __pyx_state[0]; __pyx_result.wrapped = __pyx_state[1] + * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("aiohttp._helpers.__pyx_unpickle_reify__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_tp_new_7aiohttp_8_helpers_reify(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_7aiohttp_8_helpers_reify *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_7aiohttp_8_helpers_reify *)o); + p->wrapped = Py_None; Py_INCREF(Py_None); + p->name = Py_None; Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_7aiohttp_8_helpers_reify(PyObject *o) { + struct __pyx_obj_7aiohttp_8_helpers_reify *p = (struct __pyx_obj_7aiohttp_8_helpers_reify *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->wrapped); + Py_CLEAR(p->name); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_7aiohttp_8_helpers_reify(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_7aiohttp_8_helpers_reify *p = (struct __pyx_obj_7aiohttp_8_helpers_reify *)o; + if (p->wrapped) { + e = (*v)(p->wrapped, a); if (e) return e; + } + if (p->name) { + e = (*v)(p->name, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_7aiohttp_8_helpers_reify(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_7aiohttp_8_helpers_reify *p = (struct __pyx_obj_7aiohttp_8_helpers_reify *)o; + tmp = ((PyObject*)p->wrapped); + p->wrapped = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->name); + p->name = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyObject *__pyx_tp_descr_get_7aiohttp_8_helpers_reify(PyObject *o, PyObject *i, PyObject *c) { + PyObject *r = 0; + if (!i) i = Py_None; + if (!c) c = Py_None; + r = __pyx_pw_7aiohttp_8_helpers_5reify_3__get__(o, i, c); + return r; +} + +static int __pyx_tp_descr_set_7aiohttp_8_helpers_reify(PyObject *o, PyObject *i, PyObject *v) { + if (v) { + return __pyx_pw_7aiohttp_8_helpers_5reify_5__set__(o, i, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__delete__"); + return -1; + } +} + +static PyObject *__pyx_getprop_7aiohttp_8_helpers_5reify___doc__(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_8_helpers_5reify_7__doc___1__get__(o); +} + +static PyMethodDef __pyx_methods_7aiohttp_8_helpers_reify[] = { + {"__reduce_cython__", (PyCFunction)__pyx_pw_7aiohttp_8_helpers_5reify_7__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_7aiohttp_8_helpers_5reify_9__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static struct PyGetSetDef __pyx_getsets_7aiohttp_8_helpers_reify[] = { + {(char *)"__doc__", __pyx_getprop_7aiohttp_8_helpers_5reify___doc__, 0, (char *)0, 0}, + {0, 0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_7aiohttp_8_helpers_reify = { + PyVarObject_HEAD_INIT(0, 0) + "aiohttp._helpers.reify", /*tp_name*/ + sizeof(struct __pyx_obj_7aiohttp_8_helpers_reify), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_7aiohttp_8_helpers_reify, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + "Use as a class method decorator. It operates almost exactly like\n the Python `@property` decorator, but it puts the result of the\n method it decorates into the instance dict after the first call,\n effectively replacing the function it decorates with an instance\n variable. It is, in Python parlance, a data descriptor.\n\n ", /*tp_doc*/ + __pyx_tp_traverse_7aiohttp_8_helpers_reify, /*tp_traverse*/ + __pyx_tp_clear_7aiohttp_8_helpers_reify, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_7aiohttp_8_helpers_reify, /*tp_methods*/ + 0, /*tp_members*/ + __pyx_getsets_7aiohttp_8_helpers_reify, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + __pyx_tp_descr_get_7aiohttp_8_helpers_reify, /*tp_descr_get*/ + __pyx_tp_descr_set_7aiohttp_8_helpers_reify, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_7aiohttp_8_helpers_5reify_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_7aiohttp_8_helpers_reify, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec__helpers(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec__helpers}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "_helpers", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_n_s_AttributeError, __pyx_k_AttributeError, sizeof(__pyx_k_AttributeError), 0, 0, 1, 1}, + {&__pyx_kp_s_Incompatible_checksums_s_vs_0x77, __pyx_k_Incompatible_checksums_s_vs_0x77, sizeof(__pyx_k_Incompatible_checksums_s_vs_0x77), 0, 0, 1, 0}, + {&__pyx_n_s_KeyError, __pyx_k_KeyError, sizeof(__pyx_k_KeyError), 0, 0, 1, 1}, + {&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1}, + {&__pyx_n_s_aiohttp__helpers, __pyx_k_aiohttp__helpers, sizeof(__pyx_k_aiohttp__helpers), 0, 0, 1, 1}, + {&__pyx_n_s_cache, __pyx_k_cache, sizeof(__pyx_k_cache), 0, 0, 1, 1}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1}, + {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1}, + {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1}, + {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_type, __pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle_reify, __pyx_k_pyx_unpickle_reify, sizeof(__pyx_k_pyx_unpickle_reify), 0, 0, 1, 1}, + {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1}, + {&__pyx_kp_s_reified_property_is_read_only, __pyx_k_reified_property_is_read_only, sizeof(__pyx_k_reified_property_is_read_only), 0, 0, 1, 0}, + {&__pyx_n_s_reify, __pyx_k_reify, sizeof(__pyx_k_reify), 0, 0, 1, 1}, + {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1}, + {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1}, + {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1}, + {&__pyx_n_s_wrapped, __pyx_k_wrapped, sizeof(__pyx_k_wrapped), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) __PYX_ERR(0, 25, __pyx_L1_error) + __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(0, 29, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "aiohttp/_helpers.pyx":35 + * + * def __set__(self, inst, value): + * raise AttributeError("reified property is read-only") # <<<<<<<<<<<<<< + */ + __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_reified_property_is_read_only); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 35, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple_); + __Pyx_GIVEREF(__pyx_tuple_); + + /* "(tree fragment)":1 + * def __pyx_unpickle_reify(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_tuple__2 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__2); + __Pyx_GIVEREF(__pyx_tuple__2); + __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__2, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_reify, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + __pyx_int_124832655 = PyInt_FromLong(124832655L); if (unlikely(!__pyx_int_124832655)) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + if (PyType_Ready(&__pyx_type_7aiohttp_8_helpers_reify) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_type_7aiohttp_8_helpers_reify.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_7aiohttp_8_helpers_reify.tp_dictoffset && __pyx_type_7aiohttp_8_helpers_reify.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_7aiohttp_8_helpers_reify.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_reify, (PyObject *)&__pyx_type_7aiohttp_8_helpers_reify) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_7aiohttp_8_helpers_reify) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_ptype_7aiohttp_8_helpers_reify = &__pyx_type_7aiohttp_8_helpers_reify; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#if PY_MAJOR_VERSION < 3 +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC void +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#else +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC init_helpers(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC init_helpers(void) +#else +__Pyx_PyMODINIT_FUNC PyInit__helpers(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit__helpers(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec__helpers(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module '_helpers' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #if CYTHON_REFNANNY +__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); +if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); +} +#endif + __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit__helpers(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + #ifdef WITH_THREAD /* Python build with threading support? */ + PyEval_InitThreads(); + #endif + #endif + /*--- Module creation code ---*/ + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("_helpers", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + #if CYTHON_COMPILING_IN_PYPY + Py_INCREF(__pyx_b); + #endif + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main_aiohttp___helpers) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "aiohttp._helpers")) { + if (unlikely(PyDict_SetItemString(modules, "aiohttp._helpers", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Global type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + if (unlikely(__Pyx_modinit_type_init_code() != 0)) goto __pyx_L1_error; + (void)__Pyx_modinit_type_import_code(); + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_function_import_code(); + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + + /* "(tree fragment)":1 + * def __pyx_unpickle_reify(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7aiohttp_8_helpers_1__pyx_unpickle_reify, NULL, __pyx_n_s_aiohttp__helpers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_reify, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_helpers.pyx":1 + * cdef class reify: # <<<<<<<<<<<<<< + * """Use as a class method decorator. It operates almost exactly like + * the Python `@property` decorator, but it puts the result of the + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init aiohttp._helpers", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init aiohttp._helpers"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* GetItemInt */ +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyList_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyTuple_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return NULL; + PyErr_Clear(); + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +} + +/* ObjectGetItem */ +#if CYTHON_USE_TYPE_SLOTS +static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) { + PyObject *runerr; + Py_ssize_t key_value; + PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence; + if (unlikely(!(m && m->sq_item))) { + PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name); + return NULL; + } + key_value = __Pyx_PyIndex_AsSsize_t(index); + if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { + return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); + } + if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { + PyErr_Clear(); + PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name); + } + return NULL; +} +static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) { + PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping; + if (likely(m && m->mp_subscript)) { + return m->mp_subscript(obj, key); + } + return __Pyx_PyObject_GetIndex(obj, key); +} +#endif + +/* GetTopmostException */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) +{ + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* SaveResetException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* PyErrExceptionMatches */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i<n; i++) { + if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1; + } +#endif + for (i=0; i<n; i++) { + if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1; + } + return 0; +} +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) { + PyObject *exc_type = tstate->curexc_type; + if (exc_type == err) return 1; + if (unlikely(!exc_type)) return 0; + if (unlikely(PyTuple_Check(err))) + return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); + return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); +} +#endif + +/* GetException */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif + return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; +} + +/* PyCFunctionFastCall */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyFunctionFastCall */ +#if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCall */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = func->ob_type->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCall2Args */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { + PyObject *args, *result = NULL; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyFunction_FastCall(function, args, 2); + } + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyCFunction_FastCall(function, args, 2); + } + #endif + args = PyTuple_New(2); + if (unlikely(!args)) goto done; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + Py_INCREF(function); + result = __Pyx_PyObject_Call(function, args, NULL); + Py_DECREF(args); + Py_DECREF(function); +done: + return result; +} + +/* PyObjectCallMethO */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallOneArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* PyErrFetchRestore */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* RaiseException */ +#if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* GetAttr */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) { +#if CYTHON_USE_TYPE_SLOTS +#if PY_MAJOR_VERSION >= 3 + if (likely(PyUnicode_Check(n))) +#else + if (likely(PyString_Check(n))) +#endif + return __Pyx_PyObject_GetAttrStr(o, n); +#endif + return PyObject_GetAttr(o, n); +} + +/* GetAttr3 */ +static PyObject *__Pyx_GetAttr3Default(PyObject *d) { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) + return NULL; + __Pyx_PyErr_Clear(); + Py_INCREF(d); + return d; +} +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) { + PyObject *r = __Pyx_GetAttr(o, n); + return (likely(r)) ? r : __Pyx_GetAttr3Default(d); +} + +/* GetModuleGlobalName */ +#if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* Import */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if (strchr(__Pyx_MODULE_NAME, '.')) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* ImportFrom */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { + PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); + if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Format(PyExc_ImportError, + #if PY_MAJOR_VERSION < 3 + "cannot import name %.230s", PyString_AS_STRING(name)); + #else + "cannot import name %S", name); + #endif + } + return value; +} + +/* HasAttr */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) { + PyObject *r; + if (unlikely(!__Pyx_PyBaseString_Check(n))) { + PyErr_SetString(PyExc_TypeError, + "hasattr(): attribute name must be string"); + return -1; + } + r = __Pyx_GetAttr(o, n); + if (unlikely(!r)) { + PyErr_Clear(); + return 0; + } else { + Py_DECREF(r); + return 1; + } +} + +/* PyObject_GenericGetAttrNoDict */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, attr_name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(attr_name)); +#endif + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { + PyObject *descr; + PyTypeObject *tp = Py_TYPE(obj); + if (unlikely(!PyString_Check(attr_name))) { + return PyObject_GenericGetAttr(obj, attr_name); + } + assert(!tp->tp_dictoffset); + descr = _PyType_Lookup(tp, attr_name); + if (unlikely(!descr)) { + return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); + } + Py_INCREF(descr); + #if PY_MAJOR_VERSION < 3 + if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) + #endif + { + descrgetfunc f = Py_TYPE(descr)->tp_descr_get; + if (unlikely(f)) { + PyObject *res = f(descr, obj, (PyObject *)tp); + Py_DECREF(descr); + return res; + } + } + return descr; +} +#endif + +/* PyObject_GenericGetAttr */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) { + if (unlikely(Py_TYPE(obj)->tp_dictoffset)) { + return PyObject_GenericGetAttr(obj, attr_name); + } + return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name); +} +#endif + +/* SetupReduce */ +static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) { + int ret; + PyObject *name_attr; + name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name); + if (likely(name_attr)) { + ret = PyObject_RichCompareBool(name_attr, name, Py_EQ); + } else { + ret = -1; + } + if (unlikely(ret < 0)) { + PyErr_Clear(); + ret = 0; + } + Py_XDECREF(name_attr); + return ret; +} +static int __Pyx_setup_reduce(PyObject* type_obj) { + int ret = 0; + PyObject *object_reduce = NULL; + PyObject *object_reduce_ex = NULL; + PyObject *reduce = NULL; + PyObject *reduce_ex = NULL; + PyObject *reduce_cython = NULL; + PyObject *setstate = NULL; + PyObject *setstate_cython = NULL; +#if CYTHON_USE_PYTYPE_LOOKUP + if (_PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate)) goto GOOD; +#else + if (PyObject_HasAttr(type_obj, __pyx_n_s_getstate)) goto GOOD; +#endif +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD; +#else + object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD; +#endif + reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto BAD; + if (reduce_ex == object_reduce_ex) { +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD; +#else + object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD; +#endif + reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto BAD; + if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) { + reduce_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_cython); if (unlikely(!reduce_cython)) goto BAD; + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto BAD; + setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate); + if (!setstate) PyErr_Clear(); + if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) { + setstate_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate_cython); if (unlikely(!setstate_cython)) goto BAD; + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto BAD; + } + PyType_Modified((PyTypeObject*)type_obj); + } + } + goto GOOD; +BAD: + if (!PyErr_Occurred()) + PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name); + ret = -1; +GOOD: +#if !CYTHON_USE_PYTYPE_LOOKUP + Py_XDECREF(object_reduce); + Py_XDECREF(object_reduce_ex); +#endif + Py_XDECREF(reduce); + Py_XDECREF(reduce_ex); + Py_XDECREF(reduce_cython); + Py_XDECREF(setstate); + Py_XDECREF(setstate_cython); + return ret; +} + +/* CLineInTraceback */ +#ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#endif + +/* CodeObjectCache */ +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ +#include "compile.h" +#include "frameobject.h" +#include "traceback.h" +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyObject *py_srcfile = 0; + PyObject *py_funcname = 0; + #if PY_MAJOR_VERSION < 3 + py_srcfile = PyString_FromString(filename); + #else + py_srcfile = PyUnicode_FromString(filename); + #endif + if (!py_srcfile) goto bad; + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + #else + py_funcname = PyUnicode_FromString(funcname); + #endif + } + if (!py_funcname) goto bad; + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + Py_DECREF(py_funcname); + return py_code; +bad: + Py_XDECREF(py_srcfile); + Py_XDECREF(py_funcname); + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + py_code = __pyx_find_code_object(c_line ? -c_line : py_line); + if (!py_code) { + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) goto bad; + __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); + } + py_frame = PyFrame_New( + tstate, /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +/* CIntFromPyVerify */ +#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* CIntFromPy */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { + const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* FastTypeChecks */ +#if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i<n; i++) { + if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1; + } +#endif + for (i=0; i<n; i++) { + PyObject *t = PyTuple_GET_ITEM(tuple, i); + #if PY_MAJOR_VERSION < 3 + if (likely(exc_type == t)) return 1; + #endif + if (likely(PyExceptionClass_Check(t))) { + if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1; + } else { + } + } + return 0; +} +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) { + if (likely(err == exc_type)) return 1; + if (likely(PyExceptionClass_Check(err))) { + if (likely(PyExceptionClass_Check(exc_type))) { + return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type); + } else if (likely(PyTuple_Check(exc_type))) { + return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type); + } else { + } + } + return PyErr_GivenExceptionMatches(err, exc_type); +} +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) { + assert(PyExceptionClass_Check(exc_type1)); + assert(PyExceptionClass_Check(exc_type2)); + if (likely(err == exc_type1 || err == exc_type2)) return 1; + if (likely(PyExceptionClass_Check(err))) { + return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2); + } + return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2)); +} +#endif + +/* CheckBinaryVersion */ +static int __Pyx_check_binary_version(void) { + char ctversion[4], rtversion[4]; + PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); + PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); + if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { + char message[200]; + PyOS_snprintf(message, sizeof(message), + "compiletime version %s of module '%.100s' " + "does not match runtime version %s", + ctversion, __Pyx_MODULE_NAME, rtversion); + return PyErr_WarnEx(NULL, message, 1); + } + return 0; +} + +/* InitStrings */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + if (PyObject_Hash(*t->p) == -1) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +} +#else +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(PyUnicode_IS_ASCII(o))) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +} +#endif +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS + PyNumberMethods *m; +#endif + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(PyLong_Check(x))) +#endif + return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS + m = Py_TYPE(x)->tp_as_number; + #if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(b); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/venv/lib/python3.6/site-packages/aiohttp/_helpers.cpython-36m-x86_64-linux-gnu.so b/venv/lib/python3.6/site-packages/aiohttp/_helpers.cpython-36m-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..cd98080dd78bd3600a3474570b83d5610344e159 GIT binary patch literal 217613 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/aiohttp/_helpers.pyi b/venv/lib/python3.6/site-packages/aiohttp/_helpers.pyi new file mode 100644 index 0000000..59608e1 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_helpers.pyi @@ -0,0 +1,8 @@ +from typing import Any + +class reify: + def __init__(self, wrapped: Any) -> None: ... + + def __get__(self, inst: Any, owner: Any) -> Any: ... + + def __set__(self, inst: Any, value: Any) -> None: ... diff --git a/venv/lib/python3.6/site-packages/aiohttp/_helpers.pyx b/venv/lib/python3.6/site-packages/aiohttp/_helpers.pyx new file mode 100644 index 0000000..665f367 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_helpers.pyx @@ -0,0 +1,35 @@ +cdef class reify: + """Use as a class method decorator. It operates almost exactly like + the Python `@property` decorator, but it puts the result of the + method it decorates into the instance dict after the first call, + effectively replacing the function it decorates with an instance + variable. It is, in Python parlance, a data descriptor. + + """ + + cdef object wrapped + cdef object name + + def __init__(self, wrapped): + self.wrapped = wrapped + self.name = wrapped.__name__ + + @property + def __doc__(self): + return self.wrapped.__doc__ + + def __get__(self, inst, owner): + try: + try: + return inst._cache[self.name] + except KeyError: + val = self.wrapped(inst) + inst._cache[self.name] = val + return val + except AttributeError: + if inst is None: + return self + raise + + def __set__(self, inst, value): + raise AttributeError("reified property is read-only") diff --git a/venv/lib/python3.6/site-packages/aiohttp/_http_parser.c b/venv/lib/python3.6/site-packages/aiohttp/_http_parser.c new file mode 100644 index 0000000..4e69e79 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_http_parser.c @@ -0,0 +1,24057 @@ +/* Generated by Cython 0.29.2 */ + +/* BEGIN: Cython Metadata +{ + "distutils": { + "define_macros": [ + [ + "HTTP_PARSER_STRICT", + 0 + ] + ], + "depends": [], + "name": "aiohttp._http_parser", + "sources": [ + "aiohttp/_http_parser.pyx", + "vendor/http-parser/http_parser.c", + "aiohttp/_find_header.c" + ] + }, + "module_name": "aiohttp._http_parser" +} +END: Cython Metadata */ + +#define PY_SSIZE_T_CLEAN +#include "Python.h" +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) + #error Cython requires Python 2.6+ or Python 3.3+. +#else +#define CYTHON_ABI "0_29_2" +#define CYTHON_HEX_VERSION 0x001D02F0 +#define CYTHON_FUTURE_DIVISION 1 +#include <stddef.h> +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x02070000 + #define HAVE_LONG_LONG + #endif +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #ifndef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 1 + #endif + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #ifndef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #endif +#endif +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #include "longintrepr.h" + #undef SHIFT + #undef BASE + #undef MASK + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include <stdint.h> +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#ifndef CYTHON_INLINE + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #elif defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_INLINE inline + #else + #define CYTHON_INLINE + #endif +#endif + +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#ifndef METH_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif +#if CYTHON_USE_DICT_VERSIONS +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ + } +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(p) +#endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; // PyThread_create_key reports success always +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif // TSS (Thread Specific Storage) API +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) +#else + #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) + #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact + #define PyObject_Unicode PyObject_Str +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t PyInt_AsLong +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : (Py_INCREF(func), func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(WIN32) || defined(MS_WINDOWS) + #define _USE_MATH_DEFINES +#endif +#include <math.h> +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif +#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) +#define __Pyx_truncl trunc +#else +#define __Pyx_truncl truncl +#endif + + +#define __PYX_ERR(f_index, lineno, Ln_error) \ +{ \ + __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \ +} + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__aiohttp___http_parser +#define __PYX_HAVE_API__aiohttp___http_parser +/* Early includes */ +#include <string.h> +#include <stdio.h> +#include "pythread.h" +#include <stdint.h> +#include "../vendor/http-parser/http_parser.h" +#include "_find_header.h" +#ifdef _OPENMP +#include <omp.h> +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0 +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include <cstdlib> + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +#if CYTHON_ASSUME_SAFE_MACROS +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ +static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + + +static const char *__pyx_f[] = { + "aiohttp/_http_parser.pyx", + "stringsource", + "type.pxd", + "bool.pxd", + "complex.pxd", + "aiohttp/_headers.pxi", +}; + +/*--- Type declarations ---*/ +struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage; +struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage; +struct __pyx_obj_7aiohttp_12_http_parser_HttpParser; +struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser; +struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser; +struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__; +struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr; +struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__; +struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr; +struct __pyx_opt_args_7aiohttp_12_http_parser_10HttpParser__init; + +/* "aiohttp/_http_parser.pyx":308 + * PyMem_Free(self._csettings) + * + * cdef _init(self, cparser.http_parser_type mode, # <<<<<<<<<<<<<< + * object protocol, object loop, object timer=None, + * size_t max_line_size=8190, size_t max_headers=32768, + */ +struct __pyx_opt_args_7aiohttp_12_http_parser_10HttpParser__init { + int __pyx_n; + PyObject *timer; + size_t max_line_size; + size_t max_headers; + size_t max_field_size; + PyObject *payload_exception; + int response_with_body; + int auto_decompress; +}; + +/* "aiohttp/_http_parser.pyx":93 + * + * @cython.freelist(DEFAULT_FREELIST_SIZE) + * cdef class RawRequestMessage: # <<<<<<<<<<<<<< + * cdef readonly str method + * cdef readonly str path + */ +struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage { + PyObject_HEAD + PyObject *method; + PyObject *path; + PyObject *version; + PyObject *headers; + PyObject *raw_headers; + PyObject *should_close; + PyObject *compression; + PyObject *upgrade; + PyObject *chunked; + PyObject *url; +}; + + +/* "aiohttp/_http_parser.pyx":193 + * + * @cython.freelist(DEFAULT_FREELIST_SIZE) + * cdef class RawResponseMessage: # <<<<<<<<<<<<<< + * cdef readonly object version # HttpVersion + * cdef readonly int code + */ +struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage { + PyObject_HEAD + PyObject *version; + int code; + PyObject *reason; + PyObject *headers; + PyObject *raw_headers; + PyObject *should_close; + PyObject *compression; + PyObject *upgrade; + PyObject *chunked; +}; + + +/* "aiohttp/_http_parser.pyx":255 + * + * @cython.internal + * cdef class HttpParser: # <<<<<<<<<<<<<< + * + * cdef: + */ +struct __pyx_obj_7aiohttp_12_http_parser_HttpParser { + PyObject_HEAD + struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser *__pyx_vtab; + struct http_parser *_cparser; + struct http_parser_settings *_csettings; + PyObject *_raw_name; + PyObject *_raw_value; + int _has_value; + PyObject *_protocol; + PyObject *_loop; + PyObject *_timer; + size_t _max_line_size; + size_t _max_field_size; + size_t _max_headers; + int _response_with_body; + int _started; + PyObject *_url; + PyObject *_buf; + PyObject *_path; + PyObject *_reason; + PyObject *_headers; + PyObject *_raw_headers; + int _upgraded; + PyObject *_messages; + PyObject *_payload; + int _payload_error; + PyObject *_payload_exception; + PyObject *_last_error; + int _auto_decompress; + PyObject *_content_encoding; + Py_buffer py_buf; +}; + + +/* "aiohttp/_http_parser.pyx":537 + * + * + * cdef class HttpRequestParser(HttpParser): # <<<<<<<<<<<<<< + * + * def __init__(self, protocol, loop, timer=None, + */ +struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser { + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser __pyx_base; +}; + + +/* "aiohttp/_http_parser.pyx":564 + * + * + * cdef class HttpResponseParser(HttpParser): # <<<<<<<<<<<<<< + * + * def __init__(self, protocol, loop, timer=None, + */ +struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser { + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser __pyx_base; +}; + + +/* "aiohttp/_http_parser.pyx":118 + * self.url = url + * + * def __repr__(self): # <<<<<<<<<<<<<< + * info = [] + * info.append(("method", self.method)) + */ +struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__ { + PyObject_HEAD + PyObject *__pyx_v_info; +}; + + +/* "aiohttp/_http_parser.pyx":130 + * info.append(("chunked", self.chunked)) + * info.append(("url", self.url)) + * sinfo = ', '.join(name + '=' + repr(val) for name, val in info) # <<<<<<<<<<<<<< + * return '<RawRequestMessage(' + sinfo + ')>' + * + */ +struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr { + PyObject_HEAD + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__ *__pyx_outer_scope; + PyObject *__pyx_v_name; + PyObject *__pyx_v_val; +}; + + +/* "aiohttp/_http_parser.pyx":216 + * self.chunked = chunked + * + * def __repr__(self): # <<<<<<<<<<<<<< + * info = [] + * info.append(("version", self.version)) + */ +struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ { + PyObject_HEAD + PyObject *__pyx_v_info; +}; + + +/* "aiohttp/_http_parser.pyx":227 + * info.append(("upgrade", self.upgrade)) + * info.append(("chunked", self.chunked)) + * sinfo = ', '.join(name + '=' + repr(val) for name, val in info) # <<<<<<<<<<<<<< + * return '<RawResponseMessage(' + sinfo + ')>' + * + */ +struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr { + PyObject_HEAD + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ *__pyx_outer_scope; + PyObject *__pyx_v_name; + PyObject *__pyx_v_val; +}; + + + +/* "aiohttp/_http_parser.pyx":255 + * + * @cython.internal + * cdef class HttpParser: # <<<<<<<<<<<<<< + * + * cdef: + */ + +struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser { + PyObject *(*_init)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *, enum http_parser_type, PyObject *, PyObject *, struct __pyx_opt_args_7aiohttp_12_http_parser_10HttpParser__init *__pyx_optional_args); + PyObject *(*_process_header)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *); + PyObject *(*_on_header_field)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *, char *, size_t); + PyObject *(*_on_header_value)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *, char *, size_t); + PyObject *(*_on_headers_complete)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *); + PyObject *(*_on_message_complete)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *); + PyObject *(*_on_chunk_header)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *); + PyObject *(*_on_chunk_complete)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *); + PyObject *(*_on_status_complete)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *); + PyObject *(*http_version)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *); +}; +static struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser *__pyx_vtabptr_7aiohttp_12_http_parser_HttpParser; +static CYTHON_INLINE PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser_http_version(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *); + + +/* "aiohttp/_http_parser.pyx":537 + * + * + * cdef class HttpRequestParser(HttpParser): # <<<<<<<<<<<<<< + * + * def __init__(self, protocol, loop, timer=None, + */ + +struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpRequestParser { + struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser __pyx_base; +}; +static struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpRequestParser *__pyx_vtabptr_7aiohttp_12_http_parser_HttpRequestParser; + + +/* "aiohttp/_http_parser.pyx":564 + * + * + * cdef class HttpResponseParser(HttpParser): # <<<<<<<<<<<<<< + * + * def __init__(self, protocol, loop, timer=None, + */ + +struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpResponseParser { + struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser __pyx_base; +}; +static struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpResponseParser *__pyx_vtabptr_7aiohttp_12_http_parser_HttpResponseParser; + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* GetItemInt.proto */ +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); + +/* decode_c_string_utf16.proto */ +static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16(const char *s, Py_ssize_t size, const char *errors) { + int byteorder = 0; + return PyUnicode_DecodeUTF16(s, size, errors, &byteorder); +} +static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16LE(const char *s, Py_ssize_t size, const char *errors) { + int byteorder = -1; + return PyUnicode_DecodeUTF16(s, size, errors, &byteorder); +} +static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16BE(const char *s, Py_ssize_t size, const char *errors) { + int byteorder = 1; + return PyUnicode_DecodeUTF16(s, size, errors, &byteorder); +} + +/* decode_c_bytes.proto */ +static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes( + const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop, + const char* encoding, const char* errors, + PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)); + +/* decode_bytes.proto */ +static CYTHON_INLINE PyObject* __Pyx_decode_bytes( + PyObject* string, Py_ssize_t start, Py_ssize_t stop, + const char* encoding, const char* errors, + PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) { + return __Pyx_decode_c_bytes( + PyBytes_AS_STRING(string), PyBytes_GET_SIZE(string), + start, stop, encoding, errors, decode_func); +} + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* None.proto */ +static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname); + +/* RaiseTooManyValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); + +/* RaiseNeedMoreValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); + +/* IterFinish.proto */ +static CYTHON_INLINE int __Pyx_IterFinish(void); + +/* UnpackItemEndCheck.proto */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); + +/* ListCompAppend.proto */ +#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS +static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) { + PyListObject* L = (PyListObject*) list; + Py_ssize_t len = Py_SIZE(list); + if (likely(L->allocated > len)) { + Py_INCREF(x); + PyList_SET_ITEM(list, len, x); + Py_SIZE(list) = len+1; + return 0; + } + return PyList_Append(list, x); +} +#else +#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x) +#endif + +/* ListAppend.proto */ +#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS +static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) { + PyListObject* L = (PyListObject*) list; + Py_ssize_t len = Py_SIZE(list); + if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) { + Py_INCREF(x); + PyList_SET_ITEM(list, len, x); + Py_SIZE(list) = len+1; + return 0; + } + return PyList_Append(list, x); +} +#else +#define __Pyx_PyList_Append(L,x) PyList_Append(L,x) +#endif + +/* KeywordStringCheck.proto */ +static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); + +/* ExtTypeTest.proto */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); + +/* PyDictContains.proto */ +static CYTHON_INLINE int __Pyx_PyDict_ContainsTF(PyObject* item, PyObject* dict, int eq) { + int result = PyDict_Contains(dict, item); + return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); +} + +/* DictGetItem.proto */ +#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY +static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); +#define __Pyx_PyObject_Dict_GetItem(obj, name)\ + (likely(PyDict_CheckExact(obj)) ?\ + __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) +#else +#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) +#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) +#endif + +/* PyErrExceptionMatches.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); +#else +#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) +#endif + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* GetAttr.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *); + +/* GetAttr3.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *); + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +#define __Pyx_GetModuleGlobalNameUncached(var, name) {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallNoArg.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); +#else +#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) +#endif + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* PyObjectCall2Args.proto */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); + +/* PySequenceContains.proto */ +static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) { + int result = PySequence_Contains(seq, item); + return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); +} + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* IncludeStringH.proto */ +#include <string.h> + +/* BytesEquals.proto */ +static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); + +/* UnicodeEquals.proto */ +static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); + +/* SliceObject.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice( + PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** py_start, PyObject** py_stop, PyObject** py_slice, + int has_cstart, int has_cstop, int wraparound); + +/* decode_bytearray.proto */ +static CYTHON_INLINE PyObject* __Pyx_decode_bytearray( + PyObject* string, Py_ssize_t start, Py_ssize_t stop, + const char* encoding, const char* errors, + PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) { + return __Pyx_decode_c_bytes( + PyByteArray_AS_STRING(string), PyByteArray_GET_SIZE(string), + start, stop, encoding, errors, decode_func); +} + +/* GetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* SwapException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* GetTopmostException.proto */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); +#endif + +/* SaveResetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +#else +#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) +#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) +#endif + +/* decode_c_string.proto */ +static CYTHON_INLINE PyObject* __Pyx_decode_c_string( + const char* cstring, Py_ssize_t start, Py_ssize_t stop, + const char* encoding, const char* errors, + PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)); + +/* UnpackUnboundCMethod.proto */ +typedef struct { + PyObject *type; + PyObject **method_name; + PyCFunction func; + PyObject *method; + int flag; +} __Pyx_CachedCFunction; + +/* CallUnboundCMethod1.proto */ +static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg); +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg); +#else +#define __Pyx_CallUnboundCMethod1(cfunc, self, arg) __Pyx__CallUnboundCMethod1(cfunc, self, arg) +#endif + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* ImportFrom.proto */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); + +/* HasAttr.proto */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *); + +/* PyObject_GenericGetAttrNoDict.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr +#endif + +/* PyObject_GenericGetAttr.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr +#endif + +/* SetupReduce.proto */ +static int __Pyx_setup_reduce(PyObject* type_obj); + +/* SetVTable.proto */ +static int __Pyx_SetVtable(PyObject *dict, void *vtable); + +/* TypeImport.proto */ +#ifndef __PYX_HAVE_RT_ImportType_proto +#define __PYX_HAVE_RT_ImportType_proto +enum __Pyx_ImportType_CheckSize { + __Pyx_ImportType_CheckSize_Error = 0, + __Pyx_ImportType_CheckSize_Warn = 1, + __Pyx_ImportType_CheckSize_Ignore = 2 +}; +static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); +#endif + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_short(unsigned short value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint16_t(uint16_t value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE enum http_method __Pyx_PyInt_As_enum__http_method(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* FetchCommonType.proto */ +static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); + +/* PyObjectGetMethod.proto */ +static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); + +/* PyObjectCallMethod1.proto */ +static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); + +/* CoroutineBase.proto */ +typedef PyObject *(*__pyx_coroutine_body_t)(PyObject *, PyThreadState *, PyObject *); +#if CYTHON_USE_EXC_INFO_STACK +#define __Pyx_ExcInfoStruct _PyErr_StackItem +#else +typedef struct { + PyObject *exc_type; + PyObject *exc_value; + PyObject *exc_traceback; +} __Pyx_ExcInfoStruct; +#endif +typedef struct { + PyObject_HEAD + __pyx_coroutine_body_t body; + PyObject *closure; + __Pyx_ExcInfoStruct gi_exc_state; + PyObject *gi_weakreflist; + PyObject *classobj; + PyObject *yieldfrom; + PyObject *gi_name; + PyObject *gi_qualname; + PyObject *gi_modulename; + PyObject *gi_code; + int resume_label; + char is_running; +} __pyx_CoroutineObject; +static __pyx_CoroutineObject *__Pyx__Coroutine_New( + PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, + PyObject *name, PyObject *qualname, PyObject *module_name); +static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( + __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, + PyObject *name, PyObject *qualname, PyObject *module_name); +static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self); +static int __Pyx_Coroutine_clear(PyObject *self); +static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value); +static PyObject *__Pyx_Coroutine_Close(PyObject *self); +static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args); +#if CYTHON_USE_EXC_INFO_STACK +#define __Pyx_Coroutine_SwapException(self) +#define __Pyx_Coroutine_ResetAndClearException(self) __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state) +#else +#define __Pyx_Coroutine_SwapException(self) {\ + __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\ + __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\ + } +#define __Pyx_Coroutine_ResetAndClearException(self) {\ + __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\ + (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\ + } +#endif +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ + __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue) +#else +#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ + __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue) +#endif +static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue); +static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state); + +/* PatchModuleWithCoroutine.proto */ +static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code); + +/* PatchGeneratorABC.proto */ +static int __Pyx_patch_abc(void); + +/* Generator.proto */ +#define __Pyx_Generator_USED +static PyTypeObject *__pyx_GeneratorType = 0; +#define __Pyx_Generator_CheckExact(obj) (Py_TYPE(obj) == __pyx_GeneratorType) +#define __Pyx_Generator_New(body, code, closure, name, qualname, module_name)\ + __Pyx__Coroutine_New(__pyx_GeneratorType, body, code, closure, name, qualname, module_name) +static PyObject *__Pyx_Generator_Next(PyObject *self); +static int __pyx_Generator_init(void); + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__init(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self, enum http_parser_type __pyx_v_mode, PyObject *__pyx_v_protocol, PyObject *__pyx_v_loop, struct __pyx_opt_args_7aiohttp_12_http_parser_10HttpParser__init *__pyx_optional_args); /* proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__process_header(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self); /* proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_header_field(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self, char *__pyx_v_at, size_t __pyx_v_length); /* proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_header_value(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self, char *__pyx_v_at, size_t __pyx_v_length); /* proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_headers_complete(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self); /* proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_message_complete(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self); /* proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_chunk_header(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self); /* proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_chunk_complete(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self); /* proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_status_complete(CYTHON_UNUSED struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self); /* proto*/ +static CYTHON_INLINE PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser_http_version(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self); /* proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser_17HttpRequestParser__on_status_complete(struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser *__pyx_v_self); /* proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser_18HttpResponseParser__on_status_complete(struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser *__pyx_v_self); /* proto*/ + +/* Module declarations from 'cpython.mem' */ + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'cpython.version' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.type' */ +static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; + +/* Module declarations from 'libc.stdio' */ + +/* Module declarations from 'cpython.object' */ + +/* Module declarations from 'cpython.ref' */ + +/* Module declarations from 'cpython.exc' */ + +/* Module declarations from 'cpython.module' */ + +/* Module declarations from 'cpython.tuple' */ + +/* Module declarations from 'cpython.list' */ + +/* Module declarations from 'cpython.sequence' */ + +/* Module declarations from 'cpython.mapping' */ + +/* Module declarations from 'cpython.iterator' */ + +/* Module declarations from 'cpython.number' */ + +/* Module declarations from 'cpython.int' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.bool' */ +static PyTypeObject *__pyx_ptype_7cpython_4bool_bool = 0; + +/* Module declarations from 'cpython.long' */ + +/* Module declarations from 'cpython.float' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.complex' */ +static PyTypeObject *__pyx_ptype_7cpython_7complex_complex = 0; + +/* Module declarations from 'cpython.string' */ + +/* Module declarations from 'cpython.unicode' */ + +/* Module declarations from 'cpython.dict' */ + +/* Module declarations from 'cpython.instance' */ + +/* Module declarations from 'cpython.function' */ + +/* Module declarations from 'cpython.method' */ + +/* Module declarations from 'cpython.weakref' */ + +/* Module declarations from 'cpython.getargs' */ + +/* Module declarations from 'cpython.pythread' */ + +/* Module declarations from 'cpython.pystate' */ + +/* Module declarations from 'cpython.cobject' */ + +/* Module declarations from 'cpython.oldbuffer' */ + +/* Module declarations from 'cpython.set' */ + +/* Module declarations from 'cpython.buffer' */ + +/* Module declarations from 'cpython.bytes' */ + +/* Module declarations from 'cpython.pycapsule' */ + +/* Module declarations from 'cpython' */ + +/* Module declarations from 'cython' */ + +/* Module declarations from 'aiohttp' */ + +/* Module declarations from 'libc.stdint' */ + +/* Module declarations from 'aiohttp._cparser' */ + +/* Module declarations from 'aiohttp._find_header' */ + +/* Module declarations from 'aiohttp._http_parser' */ +static PyTypeObject *__pyx_ptype_7aiohttp_12_http_parser_RawRequestMessage = 0; +static PyTypeObject *__pyx_ptype_7aiohttp_12_http_parser_RawResponseMessage = 0; +static PyTypeObject *__pyx_ptype_7aiohttp_12_http_parser_HttpParser = 0; +static PyTypeObject *__pyx_ptype_7aiohttp_12_http_parser_HttpRequestParser = 0; +static PyTypeObject *__pyx_ptype_7aiohttp_12_http_parser_HttpResponseParser = 0; +static PyTypeObject *__pyx_ptype_7aiohttp_12_http_parser___pyx_scope_struct____repr__ = 0; +static PyTypeObject *__pyx_ptype_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr = 0; +static PyTypeObject *__pyx_ptype_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ = 0; +static PyTypeObject *__pyx_ptype_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr = 0; +static PyObject *__pyx_v_7aiohttp_12_http_parser_headers = 0; +static PyObject *__pyx_v_7aiohttp_12_http_parser_URL = 0; +static PyObject *__pyx_v_7aiohttp_12_http_parser_URL_build = 0; +static PyObject *__pyx_v_7aiohttp_12_http_parser_CIMultiDict = 0; +static PyObject *__pyx_v_7aiohttp_12_http_parser_CIMultiDictProxy = 0; +static PyObject *__pyx_v_7aiohttp_12_http_parser_HttpVersion = 0; +static PyObject *__pyx_v_7aiohttp_12_http_parser_HttpVersion10 = 0; +static PyObject *__pyx_v_7aiohttp_12_http_parser_HttpVersion11 = 0; +static PyObject *__pyx_v_7aiohttp_12_http_parser_SEC_WEBSOCKET_KEY1 = 0; +static PyObject *__pyx_v_7aiohttp_12_http_parser_CONTENT_ENCODING = 0; +static PyObject *__pyx_v_7aiohttp_12_http_parser_EMPTY_PAYLOAD = 0; +static PyObject *__pyx_v_7aiohttp_12_http_parser_StreamReader = 0; +static PyObject *__pyx_v_7aiohttp_12_http_parser_DeflateBuffer = 0; +static PyObject *__pyx_v_7aiohttp_12_http_parser__http_method = 0; +static CYTHON_INLINE PyObject *__pyx_f_7aiohttp_12_http_parser_extend(PyObject *, char const *, size_t); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_7aiohttp_12_http_parser_http_method_str(int); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_7aiohttp_12_http_parser_find_header(PyObject *); /*proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser__new_request_message(PyObject *, PyObject *, PyObject *, PyObject *, PyObject *, int, PyObject *, int, int, PyObject *); /*proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser__new_response_message(PyObject *, int, PyObject *, PyObject *, PyObject *, int, PyObject *, int, int); /*proto*/ +static int __pyx_f_7aiohttp_12_http_parser_cb_on_message_begin(struct http_parser *); /*proto*/ +static int __pyx_f_7aiohttp_12_http_parser_cb_on_url(struct http_parser *, char const *, size_t); /*proto*/ +static int __pyx_f_7aiohttp_12_http_parser_cb_on_status(struct http_parser *, char const *, size_t); /*proto*/ +static int __pyx_f_7aiohttp_12_http_parser_cb_on_header_field(struct http_parser *, char const *, size_t); /*proto*/ +static int __pyx_f_7aiohttp_12_http_parser_cb_on_header_value(struct http_parser *, char const *, size_t); /*proto*/ +static int __pyx_f_7aiohttp_12_http_parser_cb_on_headers_complete(struct http_parser *); /*proto*/ +static int __pyx_f_7aiohttp_12_http_parser_cb_on_body(struct http_parser *, char const *, size_t); /*proto*/ +static int __pyx_f_7aiohttp_12_http_parser_cb_on_message_complete(struct http_parser *); /*proto*/ +static int __pyx_f_7aiohttp_12_http_parser_cb_on_chunk_header(struct http_parser *); /*proto*/ +static int __pyx_f_7aiohttp_12_http_parser_cb_on_chunk_complete(struct http_parser *); /*proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser_parser_error_from_errno(enum http_errno); /*proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser__parse_url(char *, size_t); /*proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser___pyx_unpickle_RawRequestMessage__set_state(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *, PyObject *); /*proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_parser___pyx_unpickle_RawResponseMessage__set_state(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *, PyObject *); /*proto*/ +#define __Pyx_MODULE_NAME "aiohttp._http_parser" +extern int __pyx_module_is_main_aiohttp___http_parser; +int __pyx_module_is_main_aiohttp___http_parser = 0; + +/* Implementation of 'aiohttp._http_parser' */ +static PyObject *__pyx_builtin_range; +static PyObject *__pyx_builtin_MemoryError; +static PyObject *__pyx_builtin_TypeError; +static PyObject *__pyx_builtin_BaseException; +static const char __pyx_k_[] = "="; +static const char __pyx_k_i[] = "i"; +static const char __pyx_k_TE[] = "TE"; +static const char __pyx_k__2[] = ", "; +static const char __pyx_k__3[] = ")>"; +static const char __pyx_k__4[] = ""; +static const char __pyx_k_br[] = "br"; +static const char __pyx_k_AGE[] = "AGE"; +static const char __pyx_k_URI[] = "URI"; +static const char __pyx_k_URL[] = "URL"; +static const char __pyx_k_VIA[] = "VIA"; +static const char __pyx_k__11[] = ":"; +static const char __pyx_k_add[] = "add"; +static const char __pyx_k_all[] = "__all__"; +static const char __pyx_k_new[] = "__new__"; +static const char __pyx_k_url[] = "url"; +static const char __pyx_k_DATE[] = "DATE"; +static const char __pyx_k_ETAG[] = "ETAG"; +static const char __pyx_k_FROM[] = "FROM"; +static const char __pyx_k_HOST[] = "HOST"; +static const char __pyx_k_LINK[] = "LINK"; +static const char __pyx_k_VARY[] = "VARY"; +static const char __pyx_k_args[] = "args"; +static const char __pyx_k_code[] = "code"; +static const char __pyx_k_dict[] = "__dict__"; +static const char __pyx_k_gzip[] = "gzip"; +static const char __pyx_k_hdrs[] = "hdrs"; +static const char __pyx_k_host[] = "host"; +static const char __pyx_k_loop[] = "loop"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_path[] = "path"; +static const char __pyx_k_port[] = "port"; +static const char __pyx_k_send[] = "send"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_user[] = "user"; +static const char __pyx_k_yarl[] = "yarl"; +static const char __pyx_k_ALLOW[] = "ALLOW"; +static const char __pyx_k_RANGE[] = "RANGE"; +static const char __pyx_k_URL_2[] = "_URL"; +static const char __pyx_k_build[] = "build"; +static const char __pyx_k_close[] = "close"; +static const char __pyx_k_lower[] = "lower"; +static const char __pyx_k_query[] = "query"; +static const char __pyx_k_range[] = "range"; +static const char __pyx_k_throw[] = "throw"; +static const char __pyx_k_timer[] = "timer"; +static const char __pyx_k_ACCEPT[] = "ACCEPT"; +static const char __pyx_k_COOKIE[] = "COOKIE"; +static const char __pyx_k_DIGEST[] = "DIGEST"; +static const char __pyx_k_EXPECT[] = "EXPECT"; +static const char __pyx_k_ORIGIN[] = "ORIGIN"; +static const char __pyx_k_PRAGMA[] = "PRAGMA"; +static const char __pyx_k_SERVER[] = "SERVER"; +static const char __pyx_k_format[] = "format"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_method[] = "method"; +static const char __pyx_k_pickle[] = "pickle"; +static const char __pyx_k_py_buf[] = "py_buf"; +static const char __pyx_k_reason[] = "reason"; +static const char __pyx_k_reduce[] = "__reduce__"; +static const char __pyx_k_scheme[] = "scheme"; +static const char __pyx_k_update[] = "update"; +static const char __pyx_k_EXPIRES[] = "EXPIRES"; +static const char __pyx_k_REFERER[] = "REFERER"; +static const char __pyx_k_TRAILER[] = "TRAILER"; +static const char __pyx_k_UPGRADE[] = "UPGRADE"; +static const char __pyx_k_WARNING[] = "WARNING"; +static const char __pyx_k_aiohttp[] = "aiohttp"; +static const char __pyx_k_chunked[] = "chunked"; +static const char __pyx_k_deflate[] = "deflate"; +static const char __pyx_k_genexpr[] = "genexpr"; +static const char __pyx_k_headers[] = "headers"; +static const char __pyx_k_streams[] = "streams"; +static const char __pyx_k_unknown[] = "<unknown>"; +static const char __pyx_k_upgrade[] = "upgrade"; +static const char __pyx_k_version[] = "version"; +static const char __pyx_k_IF_MATCH[] = "IF_MATCH"; +static const char __pyx_k_IF_RANGE[] = "IF_RANGE"; +static const char __pyx_k_LOCATION[] = "LOCATION"; +static const char __pyx_k_buf_data[] = "buf_data"; +static const char __pyx_k_feed_eof[] = "feed_eof"; +static const char __pyx_k_fragment[] = "fragment"; +static const char __pyx_k_getstate[] = "__getstate__"; +static const char __pyx_k_password[] = "password"; +static const char __pyx_k_protocol[] = "protocol"; +static const char __pyx_k_pyx_type[] = "__pyx_type"; +static const char __pyx_k_setstate[] = "__setstate__"; +static const char __pyx_k_FORWARDED[] = "FORWARDED"; +static const char __pyx_k_TypeError[] = "TypeError"; +static const char __pyx_k_WEBSOCKET[] = "WEBSOCKET"; +static const char __pyx_k_feed_data[] = "feed_data"; +static const char __pyx_k_multidict[] = "multidict"; +static const char __pyx_k_parse_url[] = "parse_url"; +static const char __pyx_k_partition[] = "partition"; +static const char __pyx_k_pyx_state[] = "__pyx_state"; +static const char __pyx_k_reduce_ex[] = "__reduce_ex__"; +static const char __pyx_k_CONNECTION[] = "CONNECTION"; +static const char __pyx_k_KEEP_ALIVE[] = "KEEP_ALIVE"; +static const char __pyx_k_SET_COOKIE[] = "SET_COOKIE"; +static const char __pyx_k_USER_AGENT[] = "USER_AGENT"; +static const char __pyx_k_pyx_result[] = "__pyx_result"; +static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__"; +static const char __pyx_k_CIMultiDict[] = "CIMultiDict"; +static const char __pyx_k_CONTENT_MD5[] = "CONTENT_MD5"; +static const char __pyx_k_DESTINATION[] = "DESTINATION"; +static const char __pyx_k_HttpVersion[] = "HttpVersion"; +static const char __pyx_k_LineTooLong[] = "LineTooLong"; +static const char __pyx_k_MemoryError[] = "MemoryError"; +static const char __pyx_k_PickleError[] = "PickleError"; +static const char __pyx_k_RETRY_AFTER[] = "RETRY_AFTER"; +static const char __pyx_k_WANT_DIGEST[] = "WANT_DIGEST"; +static const char __pyx_k_compression[] = "compression"; +static const char __pyx_k_http_parser[] = "http_parser"; +static const char __pyx_k_http_writer[] = "http_writer"; +static const char __pyx_k_max_headers[] = "max_headers"; +static const char __pyx_k_raw_headers[] = "raw_headers"; +static const char __pyx_k_CONTENT_TYPE[] = "CONTENT_TYPE"; +static const char __pyx_k_MAX_FORWARDS[] = "MAX_FORWARDS"; +static const char __pyx_k_StreamReader[] = "StreamReader"; +static const char __pyx_k_pyx_checksum[] = "__pyx_checksum"; +static const char __pyx_k_should_close[] = "should_close"; +static const char __pyx_k_stringsource[] = "stringsource"; +static const char __pyx_k_ACCEPT_RANGES[] = "ACCEPT_RANGES"; +static const char __pyx_k_AUTHORIZATION[] = "AUTHORIZATION"; +static const char __pyx_k_BadStatusLine[] = "BadStatusLine"; +static const char __pyx_k_BaseException[] = "BaseException"; +static const char __pyx_k_CACHE_CONTROL[] = "CACHE_CONTROL"; +static const char __pyx_k_CIMultiDict_2[] = "_CIMultiDict"; +static const char __pyx_k_CONTENT_RANGE[] = "CONTENT_RANGE"; +static const char __pyx_k_DeflateBuffer[] = "DeflateBuffer"; +static const char __pyx_k_EMPTY_PAYLOAD[] = "EMPTY_PAYLOAD"; +static const char __pyx_k_HttpVersion10[] = "HttpVersion10"; +static const char __pyx_k_HttpVersion11[] = "HttpVersion11"; +static const char __pyx_k_HttpVersion_2[] = "_HttpVersion"; +static const char __pyx_k_IF_NONE_MATCH[] = "IF_NONE_MATCH"; +static const char __pyx_k_InvalidHeader[] = "InvalidHeader"; +static const char __pyx_k_LAST_EVENT_ID[] = "LAST_EVENT_ID"; +static const char __pyx_k_LAST_MODIFIED[] = "LAST_MODIFIED"; +static const char __pyx_k_invalid_url_r[] = "invalid url {!r}"; +static const char __pyx_k_max_line_size[] = "max_line_size"; +static const char __pyx_k_reduce_cython[] = "__reduce_cython__"; +static const char __pyx_k_set_exception[] = "set_exception"; +static const char __pyx_k_ACCEPT_CHARSET[] = "ACCEPT_CHARSET"; +static const char __pyx_k_BadHttpMessage[] = "BadHttpMessage"; +static const char __pyx_k_CONTENT_LENGTH[] = "CONTENT_LENGTH"; +static const char __pyx_k_StreamReader_2[] = "_StreamReader"; +static const char __pyx_k_max_field_size[] = "max_field_size"; +static const char __pyx_k_read_until_eof[] = "read_until_eof"; +static const char __pyx_k_ACCEPT_ENCODING[] = "ACCEPT_ENCODING"; +static const char __pyx_k_ACCEPT_LANGUAGE[] = "ACCEPT_LANGUAGE"; +static const char __pyx_k_DeflateBuffer_2[] = "_DeflateBuffer"; +static const char __pyx_k_EMPTY_PAYLOAD_2[] = "_EMPTY_PAYLOAD"; +static const char __pyx_k_HttpVersion10_2[] = "_HttpVersion10"; +static const char __pyx_k_HttpVersion11_2[] = "_HttpVersion11"; +static const char __pyx_k_InvalidURLError[] = "InvalidURLError"; +static const char __pyx_k_X_FORWARDED_FOR[] = "X_FORWARDED_FOR"; +static const char __pyx_k_auto_decompress[] = "auto_decompress"; +static const char __pyx_k_http_exceptions[] = "http_exceptions"; +static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError"; +static const char __pyx_k_setstate_cython[] = "__setstate_cython__"; +static const char __pyx_k_CIMultiDictProxy[] = "CIMultiDictProxy"; +static const char __pyx_k_CONTENT_ENCODING[] = "CONTENT_ENCODING"; +static const char __pyx_k_CONTENT_LANGUAGE[] = "CONTENT_LANGUAGE"; +static const char __pyx_k_CONTENT_LOCATION[] = "CONTENT_LOCATION"; +static const char __pyx_k_WWW_AUTHENTICATE[] = "WWW_AUTHENTICATE"; +static const char __pyx_k_X_FORWARDED_HOST[] = "X_FORWARDED_HOST"; +static const char __pyx_k_HttpRequestParser[] = "HttpRequestParser"; +static const char __pyx_k_IF_MODIFIED_SINCE[] = "IF_MODIFIED_SINCE"; +static const char __pyx_k_RawRequestMessage[] = "<RawRequestMessage("; +static const char __pyx_k_SEC_WEBSOCKET_KEY[] = "SEC_WEBSOCKET_KEY"; +static const char __pyx_k_TRANSFER_ENCODING[] = "TRANSFER_ENCODING"; +static const char __pyx_k_X_FORWARDED_PROTO[] = "X_FORWARDED_PROTO"; +static const char __pyx_k_payload_exception[] = "payload_exception"; +static const char __pyx_k_CIMultiDictProxy_2[] = "_CIMultiDictProxy"; +static const char __pyx_k_ContentLengthError[] = "ContentLengthError"; +static const char __pyx_k_HttpResponseParser[] = "HttpResponseParser"; +static const char __pyx_k_PROXY_AUTHENTICATE[] = "PROXY_AUTHENTICATE"; +static const char __pyx_k_RawResponseMessage[] = "<RawResponseMessage("; +static const char __pyx_k_SEC_WEBSOCKET_KEY1[] = "SEC_WEBSOCKET_KEY1"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_response_with_body[] = "response_with_body"; +static const char __pyx_k_CONTENT_DISPOSITION[] = "CONTENT_DISPOSITION"; +static const char __pyx_k_IF_UNMODIFIED_SINCE[] = "IF_UNMODIFIED_SINCE"; +static const char __pyx_k_PROXY_AUTHORIZATION[] = "PROXY_AUTHORIZATION"; +static const char __pyx_k_RawRequestMessage_2[] = "RawRequestMessage"; +static const char __pyx_k_PayloadEncodingError[] = "PayloadEncodingError"; +static const char __pyx_k_RawResponseMessage_2[] = "RawResponseMessage"; +static const char __pyx_k_SEC_WEBSOCKET_ACCEPT[] = "SEC_WEBSOCKET_ACCEPT"; +static const char __pyx_k_aiohttp__http_parser[] = "aiohttp._http_parser"; +static const char __pyx_k_SEC_WEBSOCKET_VERSION[] = "SEC_WEBSOCKET_VERSION"; +static const char __pyx_k_TransferEncodingError[] = "TransferEncodingError"; +static const char __pyx_k_repr___locals_genexpr[] = "__repr__.<locals>.genexpr"; +static const char __pyx_k_ACCESS_CONTROL_MAX_AGE[] = "ACCESS_CONTROL_MAX_AGE"; +static const char __pyx_k_SEC_WEBSOCKET_PROTOCOL[] = "SEC_WEBSOCKET_PROTOCOL"; +static const char __pyx_k_Header_name_is_too_long[] = "Header name is too long"; +static const char __pyx_k_Status_line_is_too_long[] = "Status line is too long"; +static const char __pyx_k_Header_value_is_too_long[] = "Header value is too long"; +static const char __pyx_k_SEC_WEBSOCKET_EXTENSIONS[] = "SEC_WEBSOCKET_EXTENSIONS"; +static const char __pyx_k_aiohttp__http_parser_pyx[] = "aiohttp/_http_parser.pyx"; +static const char __pyx_k_end_http_chunk_receiving[] = "end_http_chunk_receiving"; +static const char __pyx_k_CONTENT_TRANSFER_ENCODING[] = "CONTENT_TRANSFER_ENCODING"; +static const char __pyx_k_begin_http_chunk_receiving[] = "begin_http_chunk_receiving"; +static const char __pyx_k_ACCESS_CONTROL_ALLOW_ORIGIN[] = "ACCESS_CONTROL_ALLOW_ORIGIN"; +static const char __pyx_k_ACCESS_CONTROL_ALLOW_HEADERS[] = "ACCESS_CONTROL_ALLOW_HEADERS"; +static const char __pyx_k_ACCESS_CONTROL_ALLOW_METHODS[] = "ACCESS_CONTROL_ALLOW_METHODS"; +static const char __pyx_k_ACCESS_CONTROL_EXPOSE_HEADERS[] = "ACCESS_CONTROL_EXPOSE_HEADERS"; +static const char __pyx_k_ACCESS_CONTROL_REQUEST_METHOD[] = "ACCESS_CONTROL_REQUEST_METHOD"; +static const char __pyx_k_ACCESS_CONTROL_REQUEST_HEADERS[] = "ACCESS_CONTROL_REQUEST_HEADERS"; +static const char __pyx_k_pyx_unpickle_RawRequestMessage[] = "__pyx_unpickle_RawRequestMessage"; +static const char __pyx_k_pyx_unpickle_RawResponseMessag[] = "__pyx_unpickle_RawResponseMessage"; +static const char __pyx_k_ACCESS_CONTROL_ALLOW_CREDENTIALS[] = "ACCESS_CONTROL_ALLOW_CREDENTIALS"; +static const char __pyx_k_Incompatible_checksums_s_vs_0x14[] = "Incompatible checksums (%s vs 0x1408252 = (chunked, compression, headers, method, path, raw_headers, should_close, upgrade, url, version))"; +static const char __pyx_k_Incompatible_checksums_s_vs_0xc7[] = "Incompatible checksums (%s vs 0xc7706dc = (chunked, code, compression, headers, raw_headers, reason, should_close, upgrade, version))"; +static const char __pyx_k_Not_enough_data_for_satisfy_cont[] = "Not enough data for satisfy content length header."; +static const char __pyx_k_Not_enough_data_for_satisfy_tran[] = "Not enough data for satisfy transfer length header."; +static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__"; +static PyObject *__pyx_kp_u_; +static PyObject *__pyx_n_s_ACCEPT; +static PyObject *__pyx_n_s_ACCEPT_CHARSET; +static PyObject *__pyx_n_s_ACCEPT_ENCODING; +static PyObject *__pyx_n_s_ACCEPT_LANGUAGE; +static PyObject *__pyx_n_s_ACCEPT_RANGES; +static PyObject *__pyx_n_s_ACCESS_CONTROL_ALLOW_CREDENTIALS; +static PyObject *__pyx_n_s_ACCESS_CONTROL_ALLOW_HEADERS; +static PyObject *__pyx_n_s_ACCESS_CONTROL_ALLOW_METHODS; +static PyObject *__pyx_n_s_ACCESS_CONTROL_ALLOW_ORIGIN; +static PyObject *__pyx_n_s_ACCESS_CONTROL_EXPOSE_HEADERS; +static PyObject *__pyx_n_s_ACCESS_CONTROL_MAX_AGE; +static PyObject *__pyx_n_s_ACCESS_CONTROL_REQUEST_HEADERS; +static PyObject *__pyx_n_s_ACCESS_CONTROL_REQUEST_METHOD; +static PyObject *__pyx_n_s_AGE; +static PyObject *__pyx_n_s_ALLOW; +static PyObject *__pyx_n_s_AUTHORIZATION; +static PyObject *__pyx_n_s_BadHttpMessage; +static PyObject *__pyx_n_s_BadStatusLine; +static PyObject *__pyx_n_s_BaseException; +static PyObject *__pyx_n_s_CACHE_CONTROL; +static PyObject *__pyx_n_s_CIMultiDict; +static PyObject *__pyx_n_s_CIMultiDictProxy; +static PyObject *__pyx_n_s_CIMultiDictProxy_2; +static PyObject *__pyx_n_s_CIMultiDict_2; +static PyObject *__pyx_n_s_CONNECTION; +static PyObject *__pyx_n_s_CONTENT_DISPOSITION; +static PyObject *__pyx_n_s_CONTENT_ENCODING; +static PyObject *__pyx_n_s_CONTENT_LANGUAGE; +static PyObject *__pyx_n_s_CONTENT_LENGTH; +static PyObject *__pyx_n_s_CONTENT_LOCATION; +static PyObject *__pyx_n_s_CONTENT_MD5; +static PyObject *__pyx_n_s_CONTENT_RANGE; +static PyObject *__pyx_n_s_CONTENT_TRANSFER_ENCODING; +static PyObject *__pyx_n_s_CONTENT_TYPE; +static PyObject *__pyx_n_s_COOKIE; +static PyObject *__pyx_n_s_ContentLengthError; +static PyObject *__pyx_n_s_DATE; +static PyObject *__pyx_n_s_DESTINATION; +static PyObject *__pyx_n_s_DIGEST; +static PyObject *__pyx_n_s_DeflateBuffer; +static PyObject *__pyx_n_s_DeflateBuffer_2; +static PyObject *__pyx_n_s_EMPTY_PAYLOAD; +static PyObject *__pyx_n_s_EMPTY_PAYLOAD_2; +static PyObject *__pyx_n_s_ETAG; +static PyObject *__pyx_n_s_EXPECT; +static PyObject *__pyx_n_s_EXPIRES; +static PyObject *__pyx_n_s_FORWARDED; +static PyObject *__pyx_n_s_FROM; +static PyObject *__pyx_n_s_HOST; +static PyObject *__pyx_kp_u_Header_name_is_too_long; +static PyObject *__pyx_kp_u_Header_value_is_too_long; +static PyObject *__pyx_n_s_HttpRequestParser; +static PyObject *__pyx_n_u_HttpRequestParser; +static PyObject *__pyx_n_s_HttpResponseParser; +static PyObject *__pyx_n_u_HttpResponseParser; +static PyObject *__pyx_n_s_HttpVersion; +static PyObject *__pyx_n_s_HttpVersion10; +static PyObject *__pyx_n_s_HttpVersion10_2; +static PyObject *__pyx_n_s_HttpVersion11; +static PyObject *__pyx_n_s_HttpVersion11_2; +static PyObject *__pyx_n_s_HttpVersion_2; +static PyObject *__pyx_n_s_IF_MATCH; +static PyObject *__pyx_n_s_IF_MODIFIED_SINCE; +static PyObject *__pyx_n_s_IF_NONE_MATCH; +static PyObject *__pyx_n_s_IF_RANGE; +static PyObject *__pyx_n_s_IF_UNMODIFIED_SINCE; +static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x14; +static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0xc7; +static PyObject *__pyx_n_s_InvalidHeader; +static PyObject *__pyx_n_s_InvalidURLError; +static PyObject *__pyx_n_s_KEEP_ALIVE; +static PyObject *__pyx_n_s_LAST_EVENT_ID; +static PyObject *__pyx_n_s_LAST_MODIFIED; +static PyObject *__pyx_n_s_LINK; +static PyObject *__pyx_n_s_LOCATION; +static PyObject *__pyx_n_s_LineTooLong; +static PyObject *__pyx_n_s_MAX_FORWARDS; +static PyObject *__pyx_n_s_MemoryError; +static PyObject *__pyx_kp_u_Not_enough_data_for_satisfy_cont; +static PyObject *__pyx_kp_u_Not_enough_data_for_satisfy_tran; +static PyObject *__pyx_n_s_ORIGIN; +static PyObject *__pyx_n_s_PRAGMA; +static PyObject *__pyx_n_s_PROXY_AUTHENTICATE; +static PyObject *__pyx_n_s_PROXY_AUTHORIZATION; +static PyObject *__pyx_n_s_PayloadEncodingError; +static PyObject *__pyx_n_s_PickleError; +static PyObject *__pyx_n_s_RANGE; +static PyObject *__pyx_n_s_REFERER; +static PyObject *__pyx_n_s_RETRY_AFTER; +static PyObject *__pyx_kp_u_RawRequestMessage; +static PyObject *__pyx_n_s_RawRequestMessage_2; +static PyObject *__pyx_n_u_RawRequestMessage_2; +static PyObject *__pyx_kp_u_RawResponseMessage; +static PyObject *__pyx_n_s_RawResponseMessage_2; +static PyObject *__pyx_n_u_RawResponseMessage_2; +static PyObject *__pyx_n_s_SEC_WEBSOCKET_ACCEPT; +static PyObject *__pyx_n_s_SEC_WEBSOCKET_EXTENSIONS; +static PyObject *__pyx_n_s_SEC_WEBSOCKET_KEY; +static PyObject *__pyx_n_s_SEC_WEBSOCKET_KEY1; +static PyObject *__pyx_n_s_SEC_WEBSOCKET_PROTOCOL; +static PyObject *__pyx_n_s_SEC_WEBSOCKET_VERSION; +static PyObject *__pyx_n_s_SERVER; +static PyObject *__pyx_n_s_SET_COOKIE; +static PyObject *__pyx_kp_u_Status_line_is_too_long; +static PyObject *__pyx_n_s_StreamReader; +static PyObject *__pyx_n_s_StreamReader_2; +static PyObject *__pyx_n_s_TE; +static PyObject *__pyx_n_s_TRAILER; +static PyObject *__pyx_n_s_TRANSFER_ENCODING; +static PyObject *__pyx_n_s_TransferEncodingError; +static PyObject *__pyx_n_s_TypeError; +static PyObject *__pyx_n_s_UPGRADE; +static PyObject *__pyx_n_s_URI; +static PyObject *__pyx_n_s_URL; +static PyObject *__pyx_n_s_URL_2; +static PyObject *__pyx_n_s_USER_AGENT; +static PyObject *__pyx_n_s_VARY; +static PyObject *__pyx_n_s_VIA; +static PyObject *__pyx_n_s_WANT_DIGEST; +static PyObject *__pyx_n_s_WARNING; +static PyObject *__pyx_n_s_WEBSOCKET; +static PyObject *__pyx_n_s_WWW_AUTHENTICATE; +static PyObject *__pyx_n_s_X_FORWARDED_FOR; +static PyObject *__pyx_n_s_X_FORWARDED_HOST; +static PyObject *__pyx_n_s_X_FORWARDED_PROTO; +static PyObject *__pyx_kp_u__11; +static PyObject *__pyx_kp_u__2; +static PyObject *__pyx_kp_u__3; +static PyObject *__pyx_n_s__4; +static PyObject *__pyx_kp_b__4; +static PyObject *__pyx_kp_u__4; +static PyObject *__pyx_n_s_add; +static PyObject *__pyx_n_s_aiohttp; +static PyObject *__pyx_n_s_aiohttp__http_parser; +static PyObject *__pyx_kp_s_aiohttp__http_parser_pyx; +static PyObject *__pyx_n_s_all; +static PyObject *__pyx_n_s_args; +static PyObject *__pyx_n_s_auto_decompress; +static PyObject *__pyx_n_s_begin_http_chunk_receiving; +static PyObject *__pyx_n_u_br; +static PyObject *__pyx_n_s_buf_data; +static PyObject *__pyx_n_s_build; +static PyObject *__pyx_n_s_chunked; +static PyObject *__pyx_n_u_chunked; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_close; +static PyObject *__pyx_n_s_code; +static PyObject *__pyx_n_u_code; +static PyObject *__pyx_n_s_compression; +static PyObject *__pyx_n_u_compression; +static PyObject *__pyx_n_u_deflate; +static PyObject *__pyx_n_s_dict; +static PyObject *__pyx_n_s_end_http_chunk_receiving; +static PyObject *__pyx_n_s_feed_data; +static PyObject *__pyx_n_s_feed_eof; +static PyObject *__pyx_n_s_format; +static PyObject *__pyx_n_s_fragment; +static PyObject *__pyx_n_s_genexpr; +static PyObject *__pyx_n_s_getstate; +static PyObject *__pyx_n_u_gzip; +static PyObject *__pyx_n_s_hdrs; +static PyObject *__pyx_n_s_headers; +static PyObject *__pyx_n_u_headers; +static PyObject *__pyx_n_s_host; +static PyObject *__pyx_n_s_http_exceptions; +static PyObject *__pyx_n_s_http_parser; +static PyObject *__pyx_n_s_http_writer; +static PyObject *__pyx_n_s_i; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_kp_u_invalid_url_r; +static PyObject *__pyx_n_s_loop; +static PyObject *__pyx_n_s_lower; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_max_field_size; +static PyObject *__pyx_n_s_max_headers; +static PyObject *__pyx_n_s_max_line_size; +static PyObject *__pyx_n_s_method; +static PyObject *__pyx_n_u_method; +static PyObject *__pyx_n_s_multidict; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_n_s_new; +static PyObject *__pyx_kp_s_no_default___reduce___due_to_non; +static PyObject *__pyx_n_s_parse_url; +static PyObject *__pyx_n_s_partition; +static PyObject *__pyx_n_s_password; +static PyObject *__pyx_n_s_path; +static PyObject *__pyx_n_u_path; +static PyObject *__pyx_n_s_payload_exception; +static PyObject *__pyx_n_s_pickle; +static PyObject *__pyx_n_s_port; +static PyObject *__pyx_n_s_protocol; +static PyObject *__pyx_n_s_py_buf; +static PyObject *__pyx_n_s_pyx_PickleError; +static PyObject *__pyx_n_s_pyx_checksum; +static PyObject *__pyx_n_s_pyx_result; +static PyObject *__pyx_n_s_pyx_state; +static PyObject *__pyx_n_s_pyx_type; +static PyObject *__pyx_n_s_pyx_unpickle_RawRequestMessage; +static PyObject *__pyx_n_s_pyx_unpickle_RawResponseMessag; +static PyObject *__pyx_n_s_pyx_vtable; +static PyObject *__pyx_n_s_query; +static PyObject *__pyx_n_s_range; +static PyObject *__pyx_n_s_raw_headers; +static PyObject *__pyx_n_u_raw_headers; +static PyObject *__pyx_n_s_read_until_eof; +static PyObject *__pyx_n_s_reason; +static PyObject *__pyx_n_u_reason; +static PyObject *__pyx_n_s_reduce; +static PyObject *__pyx_n_s_reduce_cython; +static PyObject *__pyx_n_s_reduce_ex; +static PyObject *__pyx_n_s_repr___locals_genexpr; +static PyObject *__pyx_n_s_response_with_body; +static PyObject *__pyx_n_s_scheme; +static PyObject *__pyx_n_s_send; +static PyObject *__pyx_n_s_set_exception; +static PyObject *__pyx_n_s_setstate; +static PyObject *__pyx_n_s_setstate_cython; +static PyObject *__pyx_n_s_should_close; +static PyObject *__pyx_n_u_should_close; +static PyObject *__pyx_n_s_streams; +static PyObject *__pyx_kp_s_stringsource; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_throw; +static PyObject *__pyx_n_s_timer; +static PyObject *__pyx_kp_u_unknown; +static PyObject *__pyx_n_s_update; +static PyObject *__pyx_n_s_upgrade; +static PyObject *__pyx_n_u_upgrade; +static PyObject *__pyx_n_s_url; +static PyObject *__pyx_n_u_url; +static PyObject *__pyx_n_s_user; +static PyObject *__pyx_n_s_version; +static PyObject *__pyx_n_u_version; +static PyObject *__pyx_n_s_yarl; +static int __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage___init__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self, PyObject *__pyx_v_method, PyObject *__pyx_v_path, PyObject *__pyx_v_version, PyObject *__pyx_v_headers, PyObject *__pyx_v_raw_headers, PyObject *__pyx_v_should_close, PyObject *__pyx_v_compression, PyObject *__pyx_v_upgrade, PyObject *__pyx_v_chunked, PyObject *__pyx_v_url); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_8__repr___genexpr(PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_2__repr__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_4_replace(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self, PyObject *__pyx_v_dct); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_6method___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_4path___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_7version___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_7headers___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_11raw_headers___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_12should_close___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_11compression___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_7upgrade___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_7chunked___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_3url___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_6__reduce_cython__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_8__setstate_cython__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static int __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage___init__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self, PyObject *__pyx_v_version, PyObject *__pyx_v_code, PyObject *__pyx_v_reason, PyObject *__pyx_v_headers, PyObject *__pyx_v_raw_headers, PyObject *__pyx_v_should_close, PyObject *__pyx_v_compression, PyObject *__pyx_v_upgrade, PyObject *__pyx_v_chunked); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_8__repr___genexpr(PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_2__repr__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_7version___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_4code___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_6reason___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_7headers___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_11raw_headers___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_12should_close___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_11compression___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_7upgrade___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_7chunked___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_4__reduce_cython__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_6__setstate_cython__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static int __pyx_pf_7aiohttp_12_http_parser_10HttpParser___cinit__(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self); /* proto */ +static void __pyx_pf_7aiohttp_12_http_parser_10HttpParser_2__dealloc__(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_10HttpParser_4feed_eof(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_10HttpParser_6feed_data(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self, PyObject *__pyx_v_data); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_10HttpParser_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_10HttpParser_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */ +static int __pyx_pf_7aiohttp_12_http_parser_17HttpRequestParser___init__(struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser *__pyx_v_self, PyObject *__pyx_v_protocol, PyObject *__pyx_v_loop, PyObject *__pyx_v_timer, size_t __pyx_v_max_line_size, size_t __pyx_v_max_headers, size_t __pyx_v_max_field_size, PyObject *__pyx_v_payload_exception, int __pyx_v_response_with_body, CYTHON_UNUSED int __pyx_v_read_until_eof); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17HttpRequestParser_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17HttpRequestParser_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */ +static int __pyx_pf_7aiohttp_12_http_parser_18HttpResponseParser___init__(struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser *__pyx_v_self, PyObject *__pyx_v_protocol, PyObject *__pyx_v_loop, PyObject *__pyx_v_timer, size_t __pyx_v_max_line_size, size_t __pyx_v_max_headers, size_t __pyx_v_max_field_size, PyObject *__pyx_v_payload_exception, int __pyx_v_response_with_body, CYTHON_UNUSED int __pyx_v_read_until_eof, int __pyx_v_auto_decompress); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18HttpResponseParser_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18HttpResponseParser_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_parse_url(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_url); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_2__pyx_unpickle_RawRequestMessage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_7aiohttp_12_http_parser_4__pyx_unpickle_RawResponseMessage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser_RawRequestMessage(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser_RawResponseMessage(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser_HttpParser(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser_HttpRequestParser(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser_HttpResponseParser(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct____repr__(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static __Pyx_CachedCFunction __pyx_umethod_PyUnicode_Type_partition = {0, &__pyx_n_s_partition, 0, 0, 0}; +static PyObject *__pyx_int_21004882; +static PyObject *__pyx_int_209127132; +static PyObject *__pyx_tuple__5; +static PyObject *__pyx_tuple__6; +static PyObject *__pyx_tuple__7; +static PyObject *__pyx_tuple__8; +static PyObject *__pyx_tuple__9; +static PyObject *__pyx_tuple__10; +static PyObject *__pyx_tuple__12; +static PyObject *__pyx_tuple__13; +static PyObject *__pyx_tuple__15; +static PyObject *__pyx_tuple__17; +static PyObject *__pyx_codeobj__14; +static PyObject *__pyx_codeobj__16; +static PyObject *__pyx_codeobj__18; +/* Late includes */ + +/* "aiohttp/_http_parser.pyx":57 + * + * + * cdef inline object extend(object buf, const char* at, size_t length): # <<<<<<<<<<<<<< + * cdef Py_ssize_t s + * cdef char* ptr + */ + +static CYTHON_INLINE PyObject *__pyx_f_7aiohttp_12_http_parser_extend(PyObject *__pyx_v_buf, char const *__pyx_v_at, size_t __pyx_v_length) { + Py_ssize_t __pyx_v_s; + char *__pyx_v_ptr; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + Py_ssize_t __pyx_t_1; + int __pyx_t_2; + __Pyx_RefNannySetupContext("extend", 0); + + /* "aiohttp/_http_parser.pyx":60 + * cdef Py_ssize_t s + * cdef char* ptr + * s = PyByteArray_Size(buf) # <<<<<<<<<<<<<< + * PyByteArray_Resize(buf, s + length) + * ptr = PyByteArray_AsString(buf) + */ + __pyx_t_1 = PyByteArray_Size(__pyx_v_buf); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 60, __pyx_L1_error) + __pyx_v_s = __pyx_t_1; + + /* "aiohttp/_http_parser.pyx":61 + * cdef char* ptr + * s = PyByteArray_Size(buf) + * PyByteArray_Resize(buf, s + length) # <<<<<<<<<<<<<< + * ptr = PyByteArray_AsString(buf) + * memcpy(ptr + s, at, length) + */ + __pyx_t_2 = PyByteArray_Resize(__pyx_v_buf, (__pyx_v_s + __pyx_v_length)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 61, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":62 + * s = PyByteArray_Size(buf) + * PyByteArray_Resize(buf, s + length) + * ptr = PyByteArray_AsString(buf) # <<<<<<<<<<<<<< + * memcpy(ptr + s, at, length) + * + */ + __pyx_v_ptr = PyByteArray_AsString(__pyx_v_buf); + + /* "aiohttp/_http_parser.pyx":63 + * PyByteArray_Resize(buf, s + length) + * ptr = PyByteArray_AsString(buf) + * memcpy(ptr + s, at, length) # <<<<<<<<<<<<<< + * + * + */ + (void)(memcpy((__pyx_v_ptr + __pyx_v_s), __pyx_v_at, __pyx_v_length)); + + /* "aiohttp/_http_parser.pyx":57 + * + * + * cdef inline object extend(object buf, const char* at, size_t length): # <<<<<<<<<<<<<< + * cdef Py_ssize_t s + * cdef char* ptr + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("aiohttp._http_parser.extend", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":75 + * + * + * cdef inline str http_method_str(int i): # <<<<<<<<<<<<<< + * if i < METHODS_COUNT: + * return <str>_http_method[i] + */ + +static CYTHON_INLINE PyObject *__pyx_f_7aiohttp_12_http_parser_http_method_str(int __pyx_v_i) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + __Pyx_RefNannySetupContext("http_method_str", 0); + + /* "aiohttp/_http_parser.pyx":76 + * + * cdef inline str http_method_str(int i): + * if i < METHODS_COUNT: # <<<<<<<<<<<<<< + * return <str>_http_method[i] + * else: + */ + __pyx_t_1 = ((__pyx_v_i < 34) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_parser.pyx":77 + * cdef inline str http_method_str(int i): + * if i < METHODS_COUNT: + * return <str>_http_method[i] # <<<<<<<<<<<<<< + * else: + * return "<unknown>" + */ + __Pyx_XDECREF(__pyx_r); + if (unlikely(__pyx_v_7aiohttp_12_http_parser__http_method == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 77, __pyx_L1_error) + } + __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_7aiohttp_12_http_parser__http_method, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 1, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(((PyObject*)__pyx_t_2)); + __pyx_r = ((PyObject*)__pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":76 + * + * cdef inline str http_method_str(int i): + * if i < METHODS_COUNT: # <<<<<<<<<<<<<< + * return <str>_http_method[i] + * else: + */ + } + + /* "aiohttp/_http_parser.pyx":79 + * return <str>_http_method[i] + * else: + * return "<unknown>" # <<<<<<<<<<<<<< + * + * cdef inline object find_header(bytes raw_header): + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_kp_u_unknown); + __pyx_r = __pyx_kp_u_unknown; + goto __pyx_L0; + } + + /* "aiohttp/_http_parser.pyx":75 + * + * + * cdef inline str http_method_str(int i): # <<<<<<<<<<<<<< + * if i < METHODS_COUNT: + * return <str>_http_method[i] + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("aiohttp._http_parser.http_method_str", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":81 + * return "<unknown>" + * + * cdef inline object find_header(bytes raw_header): # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef char *buf + */ + +static CYTHON_INLINE PyObject *__pyx_f_7aiohttp_12_http_parser_find_header(PyObject *__pyx_v_raw_header) { + Py_ssize_t __pyx_v_size; + char *__pyx_v_buf; + int __pyx_v_idx; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("find_header", 0); + + /* "aiohttp/_http_parser.pyx":85 + * cdef char *buf + * cdef int idx + * PyBytes_AsStringAndSize(raw_header, &buf, &size) # <<<<<<<<<<<<<< + * idx = _find_header.find_header(buf, size) + * if idx == -1: + */ + __pyx_t_1 = PyBytes_AsStringAndSize(__pyx_v_raw_header, (&__pyx_v_buf), (&__pyx_v_size)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 85, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":86 + * cdef int idx + * PyBytes_AsStringAndSize(raw_header, &buf, &size) + * idx = _find_header.find_header(buf, size) # <<<<<<<<<<<<<< + * if idx == -1: + * return raw_header.decode('utf-8', 'surrogateescape') + */ + __pyx_v_idx = find_header(__pyx_v_buf, __pyx_v_size); + + /* "aiohttp/_http_parser.pyx":87 + * PyBytes_AsStringAndSize(raw_header, &buf, &size) + * idx = _find_header.find_header(buf, size) + * if idx == -1: # <<<<<<<<<<<<<< + * return raw_header.decode('utf-8', 'surrogateescape') + * return headers[idx] + */ + __pyx_t_2 = ((__pyx_v_idx == -1L) != 0); + if (__pyx_t_2) { + + /* "aiohttp/_http_parser.pyx":88 + * idx = _find_header.find_header(buf, size) + * if idx == -1: + * return raw_header.decode('utf-8', 'surrogateescape') # <<<<<<<<<<<<<< + * return headers[idx] + * + */ + __Pyx_XDECREF(__pyx_r); + if (unlikely(__pyx_v_raw_header == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "decode"); + __PYX_ERR(0, 88, __pyx_L1_error) + } + __pyx_t_3 = __Pyx_decode_bytes(__pyx_v_raw_header, 0, PY_SSIZE_T_MAX, NULL, ((char const *)"surrogateescape"), PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":87 + * PyBytes_AsStringAndSize(raw_header, &buf, &size) + * idx = _find_header.find_header(buf, size) + * if idx == -1: # <<<<<<<<<<<<<< + * return raw_header.decode('utf-8', 'surrogateescape') + * return headers[idx] + */ + } + + /* "aiohttp/_http_parser.pyx":89 + * if idx == -1: + * return raw_header.decode('utf-8', 'surrogateescape') + * return headers[idx] # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(__pyx_r); + if (unlikely(__pyx_v_7aiohttp_12_http_parser_headers == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 89, __pyx_L1_error) + } + __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_7aiohttp_12_http_parser_headers, __pyx_v_idx, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":81 + * return "<unknown>" + * + * cdef inline object find_header(bytes raw_header): # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef char *buf + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("aiohttp._http_parser.find_header", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":105 + * cdef readonly object url # yarl.URL + * + * def __init__(self, method, path, version, headers, raw_headers, # <<<<<<<<<<<<<< + * should_close, compression, upgrade, chunked, url): + * self.method = method + */ + +/* Python wrapper */ +static int __pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_method = 0; + PyObject *__pyx_v_path = 0; + PyObject *__pyx_v_version = 0; + PyObject *__pyx_v_headers = 0; + PyObject *__pyx_v_raw_headers = 0; + PyObject *__pyx_v_should_close = 0; + PyObject *__pyx_v_compression = 0; + PyObject *__pyx_v_upgrade = 0; + PyObject *__pyx_v_chunked = 0; + PyObject *__pyx_v_url = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_method,&__pyx_n_s_path,&__pyx_n_s_version,&__pyx_n_s_headers,&__pyx_n_s_raw_headers,&__pyx_n_s_should_close,&__pyx_n_s_compression,&__pyx_n_s_upgrade,&__pyx_n_s_chunked,&__pyx_n_s_url,0}; + PyObject* values[10] = {0,0,0,0,0,0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9); + CYTHON_FALLTHROUGH; + case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); + CYTHON_FALLTHROUGH; + case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); + CYTHON_FALLTHROUGH; + case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + CYTHON_FALLTHROUGH; + case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + CYTHON_FALLTHROUGH; + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_method)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_path)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 10, 10, 1); __PYX_ERR(0, 105, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_version)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 10, 10, 2); __PYX_ERR(0, 105, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_headers)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 10, 10, 3); __PYX_ERR(0, 105, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_raw_headers)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 10, 10, 4); __PYX_ERR(0, 105, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 5: + if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_should_close)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 10, 10, 5); __PYX_ERR(0, 105, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 6: + if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_compression)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 10, 10, 6); __PYX_ERR(0, 105, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 7: + if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_upgrade)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 10, 10, 7); __PYX_ERR(0, 105, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 8: + if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_chunked)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 10, 10, 8); __PYX_ERR(0, 105, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 9: + if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_url)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 10, 10, 9); __PYX_ERR(0, 105, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 105, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 10) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + values[7] = PyTuple_GET_ITEM(__pyx_args, 7); + values[8] = PyTuple_GET_ITEM(__pyx_args, 8); + values[9] = PyTuple_GET_ITEM(__pyx_args, 9); + } + __pyx_v_method = values[0]; + __pyx_v_path = values[1]; + __pyx_v_version = values[2]; + __pyx_v_headers = values[3]; + __pyx_v_raw_headers = values[4]; + __pyx_v_should_close = values[5]; + __pyx_v_compression = values[6]; + __pyx_v_upgrade = values[7]; + __pyx_v_chunked = values[8]; + __pyx_v_url = values[9]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 10, 10, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 105, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("aiohttp._http_parser.RawRequestMessage.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage___init__(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v_self), __pyx_v_method, __pyx_v_path, __pyx_v_version, __pyx_v_headers, __pyx_v_raw_headers, __pyx_v_should_close, __pyx_v_compression, __pyx_v_upgrade, __pyx_v_chunked, __pyx_v_url); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage___init__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self, PyObject *__pyx_v_method, PyObject *__pyx_v_path, PyObject *__pyx_v_version, PyObject *__pyx_v_headers, PyObject *__pyx_v_raw_headers, PyObject *__pyx_v_should_close, PyObject *__pyx_v_compression, PyObject *__pyx_v_upgrade, PyObject *__pyx_v_chunked, PyObject *__pyx_v_url) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__init__", 0); + + /* "aiohttp/_http_parser.pyx":107 + * def __init__(self, method, path, version, headers, raw_headers, + * should_close, compression, upgrade, chunked, url): + * self.method = method # <<<<<<<<<<<<<< + * self.path = path + * self.version = version + */ + if (!(likely(PyUnicode_CheckExact(__pyx_v_method))||((__pyx_v_method) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_v_method)->tp_name), 0))) __PYX_ERR(0, 107, __pyx_L1_error) + __pyx_t_1 = __pyx_v_method; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->method); + __Pyx_DECREF(__pyx_v_self->method); + __pyx_v_self->method = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":108 + * should_close, compression, upgrade, chunked, url): + * self.method = method + * self.path = path # <<<<<<<<<<<<<< + * self.version = version + * self.headers = headers + */ + if (!(likely(PyUnicode_CheckExact(__pyx_v_path))||((__pyx_v_path) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_v_path)->tp_name), 0))) __PYX_ERR(0, 108, __pyx_L1_error) + __pyx_t_1 = __pyx_v_path; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->path); + __Pyx_DECREF(__pyx_v_self->path); + __pyx_v_self->path = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":109 + * self.method = method + * self.path = path + * self.version = version # <<<<<<<<<<<<<< + * self.headers = headers + * self.raw_headers = raw_headers + */ + __Pyx_INCREF(__pyx_v_version); + __Pyx_GIVEREF(__pyx_v_version); + __Pyx_GOTREF(__pyx_v_self->version); + __Pyx_DECREF(__pyx_v_self->version); + __pyx_v_self->version = __pyx_v_version; + + /* "aiohttp/_http_parser.pyx":110 + * self.path = path + * self.version = version + * self.headers = headers # <<<<<<<<<<<<<< + * self.raw_headers = raw_headers + * self.should_close = should_close + */ + __Pyx_INCREF(__pyx_v_headers); + __Pyx_GIVEREF(__pyx_v_headers); + __Pyx_GOTREF(__pyx_v_self->headers); + __Pyx_DECREF(__pyx_v_self->headers); + __pyx_v_self->headers = __pyx_v_headers; + + /* "aiohttp/_http_parser.pyx":111 + * self.version = version + * self.headers = headers + * self.raw_headers = raw_headers # <<<<<<<<<<<<<< + * self.should_close = should_close + * self.compression = compression + */ + __Pyx_INCREF(__pyx_v_raw_headers); + __Pyx_GIVEREF(__pyx_v_raw_headers); + __Pyx_GOTREF(__pyx_v_self->raw_headers); + __Pyx_DECREF(__pyx_v_self->raw_headers); + __pyx_v_self->raw_headers = __pyx_v_raw_headers; + + /* "aiohttp/_http_parser.pyx":112 + * self.headers = headers + * self.raw_headers = raw_headers + * self.should_close = should_close # <<<<<<<<<<<<<< + * self.compression = compression + * self.upgrade = upgrade + */ + __Pyx_INCREF(__pyx_v_should_close); + __Pyx_GIVEREF(__pyx_v_should_close); + __Pyx_GOTREF(__pyx_v_self->should_close); + __Pyx_DECREF(__pyx_v_self->should_close); + __pyx_v_self->should_close = __pyx_v_should_close; + + /* "aiohttp/_http_parser.pyx":113 + * self.raw_headers = raw_headers + * self.should_close = should_close + * self.compression = compression # <<<<<<<<<<<<<< + * self.upgrade = upgrade + * self.chunked = chunked + */ + __Pyx_INCREF(__pyx_v_compression); + __Pyx_GIVEREF(__pyx_v_compression); + __Pyx_GOTREF(__pyx_v_self->compression); + __Pyx_DECREF(__pyx_v_self->compression); + __pyx_v_self->compression = __pyx_v_compression; + + /* "aiohttp/_http_parser.pyx":114 + * self.should_close = should_close + * self.compression = compression + * self.upgrade = upgrade # <<<<<<<<<<<<<< + * self.chunked = chunked + * self.url = url + */ + __Pyx_INCREF(__pyx_v_upgrade); + __Pyx_GIVEREF(__pyx_v_upgrade); + __Pyx_GOTREF(__pyx_v_self->upgrade); + __Pyx_DECREF(__pyx_v_self->upgrade); + __pyx_v_self->upgrade = __pyx_v_upgrade; + + /* "aiohttp/_http_parser.pyx":115 + * self.compression = compression + * self.upgrade = upgrade + * self.chunked = chunked # <<<<<<<<<<<<<< + * self.url = url + * + */ + __Pyx_INCREF(__pyx_v_chunked); + __Pyx_GIVEREF(__pyx_v_chunked); + __Pyx_GOTREF(__pyx_v_self->chunked); + __Pyx_DECREF(__pyx_v_self->chunked); + __pyx_v_self->chunked = __pyx_v_chunked; + + /* "aiohttp/_http_parser.pyx":116 + * self.upgrade = upgrade + * self.chunked = chunked + * self.url = url # <<<<<<<<<<<<<< + * + * def __repr__(self): + */ + __Pyx_INCREF(__pyx_v_url); + __Pyx_GIVEREF(__pyx_v_url); + __Pyx_GOTREF(__pyx_v_self->url); + __Pyx_DECREF(__pyx_v_self->url); + __pyx_v_self->url = __pyx_v_url; + + /* "aiohttp/_http_parser.pyx":105 + * cdef readonly object url # yarl.URL + * + * def __init__(self, method, path, version, headers, raw_headers, # <<<<<<<<<<<<<< + * should_close, compression, upgrade, chunked, url): + * self.method = method + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser.RawRequestMessage.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":118 + * self.url = url + * + * def __repr__(self): # <<<<<<<<<<<<<< + * info = [] + * info.append(("method", self.method)) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_3__repr__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_3__repr__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_2__repr__(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} +static PyObject *__pyx_gb_7aiohttp_12_http_parser_17RawRequestMessage_8__repr___2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ + +/* "aiohttp/_http_parser.pyx":130 + * info.append(("chunked", self.chunked)) + * info.append(("url", self.url)) + * sinfo = ', '.join(name + '=' + repr(val) for name, val in info) # <<<<<<<<<<<<<< + * return '<RawRequestMessage(' + sinfo + ')>' + * + */ + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_8__repr___genexpr(PyObject *__pyx_self) { + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr *__pyx_cur_scope; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("genexpr", 0); + __pyx_cur_scope = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr *)__pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr(__pyx_ptype_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr, __pyx_empty_tuple, NULL); + if (unlikely(!__pyx_cur_scope)) { + __pyx_cur_scope = ((struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr *)Py_None); + __Pyx_INCREF(Py_None); + __PYX_ERR(0, 130, __pyx_L1_error) + } else { + __Pyx_GOTREF(__pyx_cur_scope); + } + __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__ *) __pyx_self; + __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope)); + __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope); + { + __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_7aiohttp_12_http_parser_17RawRequestMessage_8__repr___2generator, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_repr___locals_genexpr, __pyx_n_s_aiohttp__http_parser); if (unlikely(!gen)) __PYX_ERR(0, 130, __pyx_L1_error) + __Pyx_DECREF(__pyx_cur_scope); + __Pyx_RefNannyFinishContext(); + return (PyObject *) gen; + } + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("aiohttp._http_parser.RawRequestMessage.__repr__.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_gb_7aiohttp_12_http_parser_17RawRequestMessage_8__repr___2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ +{ + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr *__pyx_cur_scope = ((struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr *)__pyx_generator->closure); + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *(*__pyx_t_7)(PyObject *); + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("genexpr", 0); + switch (__pyx_generator->resume_label) { + case 0: goto __pyx_L3_first_run; + default: /* CPython raises the right error here */ + __Pyx_RefNannyFinishContext(); + return NULL; + } + __pyx_L3_first_run:; + if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 130, __pyx_L1_error) + __pyx_r = PyList_New(0); if (unlikely(!__pyx_r)) __PYX_ERR(0, 130, __pyx_L1_error) + __Pyx_GOTREF(__pyx_r); + if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_info)) { __Pyx_RaiseClosureNameError("info"); __PYX_ERR(0, 130, __pyx_L1_error) } + if (unlikely(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_info == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 130, __pyx_L1_error) + } + __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_info; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; + for (;;) { + if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 130, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 130, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { + PyObject* sequence = __pyx_t_3; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 130, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_4 = PyList_GET_ITEM(sequence, 0); + __pyx_t_5 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + #else + __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 130, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 130, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 130, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; + index = 0; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L6_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed; + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(0, 130, __pyx_L1_error) + __pyx_t_7 = NULL; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L7_unpacking_done; + __pyx_L6_unpacking_failed:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_7 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 130, __pyx_L1_error) + __pyx_L7_unpacking_done:; + } + __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_name); + __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_name, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_val); + __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_val, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_3 = PyNumber_Add(__pyx_cur_scope->__pyx_v_name, __pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 130, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_Repr(__pyx_cur_scope->__pyx_v_val); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 130, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 130, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(__Pyx_ListComp_Append(__pyx_r, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 130, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_r); __pyx_r = 0; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + #if !CYTHON_USE_EXC_INFO_STACK + __Pyx_Coroutine_ResetAndClearException(__pyx_generator); + #endif + __pyx_generator->resume_label = -1; + __Pyx_Coroutine_clear((PyObject*)__pyx_generator); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":118 + * self.url = url + * + * def __repr__(self): # <<<<<<<<<<<<<< + * info = [] + * info.append(("method", self.method)) + */ + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_2__repr__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self) { + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__ *__pyx_cur_scope; + PyObject *__pyx_v_sinfo = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("__repr__", 0); + __pyx_cur_scope = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__ *)__pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct____repr__(__pyx_ptype_7aiohttp_12_http_parser___pyx_scope_struct____repr__, __pyx_empty_tuple, NULL); + if (unlikely(!__pyx_cur_scope)) { + __pyx_cur_scope = ((struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__ *)Py_None); + __Pyx_INCREF(Py_None); + __PYX_ERR(0, 118, __pyx_L1_error) + } else { + __Pyx_GOTREF(__pyx_cur_scope); + } + + /* "aiohttp/_http_parser.pyx":119 + * + * def __repr__(self): + * info = [] # <<<<<<<<<<<<<< + * info.append(("method", self.method)) + * info.append(("path", self.path)) + */ + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_cur_scope->__pyx_v_info = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":120 + * def __repr__(self): + * info = [] + * info.append(("method", self.method)) # <<<<<<<<<<<<<< + * info.append(("path", self.path)) + * info.append(("version", self.version)) + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 120, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_u_method); + __Pyx_GIVEREF(__pyx_n_u_method); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_method); + __Pyx_INCREF(__pyx_v_self->method); + __Pyx_GIVEREF(__pyx_v_self->method); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->method); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 120, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":121 + * info = [] + * info.append(("method", self.method)) + * info.append(("path", self.path)) # <<<<<<<<<<<<<< + * info.append(("version", self.version)) + * info.append(("headers", self.headers)) + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 121, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_u_path); + __Pyx_GIVEREF(__pyx_n_u_path); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_path); + __Pyx_INCREF(__pyx_v_self->path); + __Pyx_GIVEREF(__pyx_v_self->path); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->path); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 121, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":122 + * info.append(("method", self.method)) + * info.append(("path", self.path)) + * info.append(("version", self.version)) # <<<<<<<<<<<<<< + * info.append(("headers", self.headers)) + * info.append(("raw_headers", self.raw_headers)) + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_u_version); + __Pyx_GIVEREF(__pyx_n_u_version); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_version); + __Pyx_INCREF(__pyx_v_self->version); + __Pyx_GIVEREF(__pyx_v_self->version); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->version); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 122, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":123 + * info.append(("path", self.path)) + * info.append(("version", self.version)) + * info.append(("headers", self.headers)) # <<<<<<<<<<<<<< + * info.append(("raw_headers", self.raw_headers)) + * info.append(("should_close", self.should_close)) + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_u_headers); + __Pyx_GIVEREF(__pyx_n_u_headers); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_headers); + __Pyx_INCREF(__pyx_v_self->headers); + __Pyx_GIVEREF(__pyx_v_self->headers); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->headers); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":124 + * info.append(("version", self.version)) + * info.append(("headers", self.headers)) + * info.append(("raw_headers", self.raw_headers)) # <<<<<<<<<<<<<< + * info.append(("should_close", self.should_close)) + * info.append(("compression", self.compression)) + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_u_raw_headers); + __Pyx_GIVEREF(__pyx_n_u_raw_headers); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_raw_headers); + __Pyx_INCREF(__pyx_v_self->raw_headers); + __Pyx_GIVEREF(__pyx_v_self->raw_headers); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->raw_headers); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 124, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":125 + * info.append(("headers", self.headers)) + * info.append(("raw_headers", self.raw_headers)) + * info.append(("should_close", self.should_close)) # <<<<<<<<<<<<<< + * info.append(("compression", self.compression)) + * info.append(("upgrade", self.upgrade)) + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_u_should_close); + __Pyx_GIVEREF(__pyx_n_u_should_close); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_should_close); + __Pyx_INCREF(__pyx_v_self->should_close); + __Pyx_GIVEREF(__pyx_v_self->should_close); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->should_close); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":126 + * info.append(("raw_headers", self.raw_headers)) + * info.append(("should_close", self.should_close)) + * info.append(("compression", self.compression)) # <<<<<<<<<<<<<< + * info.append(("upgrade", self.upgrade)) + * info.append(("chunked", self.chunked)) + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_u_compression); + __Pyx_GIVEREF(__pyx_n_u_compression); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_compression); + __Pyx_INCREF(__pyx_v_self->compression); + __Pyx_GIVEREF(__pyx_v_self->compression); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->compression); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 126, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":127 + * info.append(("should_close", self.should_close)) + * info.append(("compression", self.compression)) + * info.append(("upgrade", self.upgrade)) # <<<<<<<<<<<<<< + * info.append(("chunked", self.chunked)) + * info.append(("url", self.url)) + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 127, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_u_upgrade); + __Pyx_GIVEREF(__pyx_n_u_upgrade); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_upgrade); + __Pyx_INCREF(__pyx_v_self->upgrade); + __Pyx_GIVEREF(__pyx_v_self->upgrade); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->upgrade); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 127, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":128 + * info.append(("compression", self.compression)) + * info.append(("upgrade", self.upgrade)) + * info.append(("chunked", self.chunked)) # <<<<<<<<<<<<<< + * info.append(("url", self.url)) + * sinfo = ', '.join(name + '=' + repr(val) for name, val in info) + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_u_chunked); + __Pyx_GIVEREF(__pyx_n_u_chunked); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_chunked); + __Pyx_INCREF(__pyx_v_self->chunked); + __Pyx_GIVEREF(__pyx_v_self->chunked); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->chunked); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 128, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":129 + * info.append(("upgrade", self.upgrade)) + * info.append(("chunked", self.chunked)) + * info.append(("url", self.url)) # <<<<<<<<<<<<<< + * sinfo = ', '.join(name + '=' + repr(val) for name, val in info) + * return '<RawRequestMessage(' + sinfo + ')>' + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_u_url); + __Pyx_GIVEREF(__pyx_n_u_url); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_url); + __Pyx_INCREF(__pyx_v_self->url); + __Pyx_GIVEREF(__pyx_v_self->url); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->url); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 129, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":130 + * info.append(("chunked", self.chunked)) + * info.append(("url", self.url)) + * sinfo = ', '.join(name + '=' + repr(val) for name, val in info) # <<<<<<<<<<<<<< + * return '<RawRequestMessage(' + sinfo + ')>' + * + */ + __pyx_t_1 = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_8__repr___genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 130, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 130, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyUnicode_Join(__pyx_kp_u__2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 130, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_sinfo = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":131 + * info.append(("url", self.url)) + * sinfo = ', '.join(name + '=' + repr(val) for name, val in info) + * return '<RawRequestMessage(' + sinfo + ')>' # <<<<<<<<<<<<<< + * + * def _replace(self, **dct): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyUnicode_ConcatSafe(__pyx_kp_u_RawRequestMessage, __pyx_v_sinfo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 131, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_1, __pyx_kp_u__3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 131, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":118 + * self.url = url + * + * def __repr__(self): # <<<<<<<<<<<<<< + * info = [] + * info.append(("method", self.method)) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("aiohttp._http_parser.RawRequestMessage.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_sinfo); + __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":133 + * return '<RawRequestMessage(' + sinfo + ')>' + * + * def _replace(self, **dct): # <<<<<<<<<<<<<< + * cdef RawRequestMessage ret + * ret = _new_request_message(self.method, + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_5_replace(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_5_replace(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_dct = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("_replace (wrapper)", 0); + if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { + __Pyx_RaiseArgtupleInvalid("_replace", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;} + if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "_replace", 1))) return NULL; + __pyx_v_dct = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_dct)) return NULL; + __Pyx_GOTREF(__pyx_v_dct); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_4_replace(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v_self), __pyx_v_dct); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_dct); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_4_replace(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self, PyObject *__pyx_v_dct) { + struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_ret = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + __Pyx_RefNannySetupContext("_replace", 0); + + /* "aiohttp/_http_parser.pyx":135 + * def _replace(self, **dct): + * cdef RawRequestMessage ret + * ret = _new_request_message(self.method, # <<<<<<<<<<<<<< + * self.path, + * self.version, + */ + __pyx_t_1 = __pyx_v_self->method; + __Pyx_INCREF(__pyx_t_1); + + /* "aiohttp/_http_parser.pyx":136 + * cdef RawRequestMessage ret + * ret = _new_request_message(self.method, + * self.path, # <<<<<<<<<<<<<< + * self.version, + * self.headers, + */ + __pyx_t_2 = __pyx_v_self->path; + __Pyx_INCREF(__pyx_t_2); + + /* "aiohttp/_http_parser.pyx":137 + * ret = _new_request_message(self.method, + * self.path, + * self.version, # <<<<<<<<<<<<<< + * self.headers, + * self.raw_headers, + */ + __pyx_t_3 = __pyx_v_self->version; + __Pyx_INCREF(__pyx_t_3); + + /* "aiohttp/_http_parser.pyx":138 + * self.path, + * self.version, + * self.headers, # <<<<<<<<<<<<<< + * self.raw_headers, + * self.should_close, + */ + __pyx_t_4 = __pyx_v_self->headers; + __Pyx_INCREF(__pyx_t_4); + + /* "aiohttp/_http_parser.pyx":139 + * self.version, + * self.headers, + * self.raw_headers, # <<<<<<<<<<<<<< + * self.should_close, + * self.compression, + */ + __pyx_t_5 = __pyx_v_self->raw_headers; + __Pyx_INCREF(__pyx_t_5); + + /* "aiohttp/_http_parser.pyx":140 + * self.headers, + * self.raw_headers, + * self.should_close, # <<<<<<<<<<<<<< + * self.compression, + * self.upgrade, + */ + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_self->should_close); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 140, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":141 + * self.raw_headers, + * self.should_close, + * self.compression, # <<<<<<<<<<<<<< + * self.upgrade, + * self.chunked, + */ + __pyx_t_7 = __pyx_v_self->compression; + __Pyx_INCREF(__pyx_t_7); + + /* "aiohttp/_http_parser.pyx":142 + * self.should_close, + * self.compression, + * self.upgrade, # <<<<<<<<<<<<<< + * self.chunked, + * self.url) + */ + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_self->upgrade); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 142, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":143 + * self.compression, + * self.upgrade, + * self.chunked, # <<<<<<<<<<<<<< + * self.url) + * if "method" in dct: + */ + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_self->chunked); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 143, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":144 + * self.upgrade, + * self.chunked, + * self.url) # <<<<<<<<<<<<<< + * if "method" in dct: + * ret.method = dct["method"] + */ + __pyx_t_10 = __pyx_v_self->url; + __Pyx_INCREF(__pyx_t_10); + + /* "aiohttp/_http_parser.pyx":135 + * def _replace(self, **dct): + * cdef RawRequestMessage ret + * ret = _new_request_message(self.method, # <<<<<<<<<<<<<< + * self.path, + * self.version, + */ + __pyx_t_11 = __pyx_f_7aiohttp_12_http_parser__new_request_message(((PyObject*)__pyx_t_1), ((PyObject*)__pyx_t_2), __pyx_t_3, __pyx_t_4, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 135, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (!(likely(((__pyx_t_11) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_11, __pyx_ptype_7aiohttp_12_http_parser_RawRequestMessage))))) __PYX_ERR(0, 135, __pyx_L1_error) + __pyx_v_ret = ((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_t_11); + __pyx_t_11 = 0; + + /* "aiohttp/_http_parser.pyx":145 + * self.chunked, + * self.url) + * if "method" in dct: # <<<<<<<<<<<<<< + * ret.method = dct["method"] + * if "path" in dct: + */ + __pyx_t_9 = (__Pyx_PyDict_ContainsTF(__pyx_n_u_method, __pyx_v_dct, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 145, __pyx_L1_error) + __pyx_t_8 = (__pyx_t_9 != 0); + if (__pyx_t_8) { + + /* "aiohttp/_http_parser.pyx":146 + * self.url) + * if "method" in dct: + * ret.method = dct["method"] # <<<<<<<<<<<<<< + * if "path" in dct: + * ret.path = dct["path"] + */ + __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_dct, __pyx_n_u_method); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + if (!(likely(PyUnicode_CheckExact(__pyx_t_11))||((__pyx_t_11) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_11)->tp_name), 0))) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_11); + __Pyx_GOTREF(__pyx_v_ret->method); + __Pyx_DECREF(__pyx_v_ret->method); + __pyx_v_ret->method = ((PyObject*)__pyx_t_11); + __pyx_t_11 = 0; + + /* "aiohttp/_http_parser.pyx":145 + * self.chunked, + * self.url) + * if "method" in dct: # <<<<<<<<<<<<<< + * ret.method = dct["method"] + * if "path" in dct: + */ + } + + /* "aiohttp/_http_parser.pyx":147 + * if "method" in dct: + * ret.method = dct["method"] + * if "path" in dct: # <<<<<<<<<<<<<< + * ret.path = dct["path"] + * if "version" in dct: + */ + __pyx_t_8 = (__Pyx_PyDict_ContainsTF(__pyx_n_u_path, __pyx_v_dct, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 147, __pyx_L1_error) + __pyx_t_9 = (__pyx_t_8 != 0); + if (__pyx_t_9) { + + /* "aiohttp/_http_parser.pyx":148 + * ret.method = dct["method"] + * if "path" in dct: + * ret.path = dct["path"] # <<<<<<<<<<<<<< + * if "version" in dct: + * ret.version = dct["version"] + */ + __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_dct, __pyx_n_u_path); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 148, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + if (!(likely(PyUnicode_CheckExact(__pyx_t_11))||((__pyx_t_11) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_11)->tp_name), 0))) __PYX_ERR(0, 148, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_11); + __Pyx_GOTREF(__pyx_v_ret->path); + __Pyx_DECREF(__pyx_v_ret->path); + __pyx_v_ret->path = ((PyObject*)__pyx_t_11); + __pyx_t_11 = 0; + + /* "aiohttp/_http_parser.pyx":147 + * if "method" in dct: + * ret.method = dct["method"] + * if "path" in dct: # <<<<<<<<<<<<<< + * ret.path = dct["path"] + * if "version" in dct: + */ + } + + /* "aiohttp/_http_parser.pyx":149 + * if "path" in dct: + * ret.path = dct["path"] + * if "version" in dct: # <<<<<<<<<<<<<< + * ret.version = dct["version"] + * if "headers" in dct: + */ + __pyx_t_9 = (__Pyx_PyDict_ContainsTF(__pyx_n_u_version, __pyx_v_dct, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 149, __pyx_L1_error) + __pyx_t_8 = (__pyx_t_9 != 0); + if (__pyx_t_8) { + + /* "aiohttp/_http_parser.pyx":150 + * ret.path = dct["path"] + * if "version" in dct: + * ret.version = dct["version"] # <<<<<<<<<<<<<< + * if "headers" in dct: + * ret.headers = dct["headers"] + */ + __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_dct, __pyx_n_u_version); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 150, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __Pyx_GOTREF(__pyx_v_ret->version); + __Pyx_DECREF(__pyx_v_ret->version); + __pyx_v_ret->version = __pyx_t_11; + __pyx_t_11 = 0; + + /* "aiohttp/_http_parser.pyx":149 + * if "path" in dct: + * ret.path = dct["path"] + * if "version" in dct: # <<<<<<<<<<<<<< + * ret.version = dct["version"] + * if "headers" in dct: + */ + } + + /* "aiohttp/_http_parser.pyx":151 + * if "version" in dct: + * ret.version = dct["version"] + * if "headers" in dct: # <<<<<<<<<<<<<< + * ret.headers = dct["headers"] + * if "raw_headers" in dct: + */ + __pyx_t_8 = (__Pyx_PyDict_ContainsTF(__pyx_n_u_headers, __pyx_v_dct, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 151, __pyx_L1_error) + __pyx_t_9 = (__pyx_t_8 != 0); + if (__pyx_t_9) { + + /* "aiohttp/_http_parser.pyx":152 + * ret.version = dct["version"] + * if "headers" in dct: + * ret.headers = dct["headers"] # <<<<<<<<<<<<<< + * if "raw_headers" in dct: + * ret.raw_headers = dct["raw_headers"] + */ + __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_dct, __pyx_n_u_headers); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 152, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __Pyx_GOTREF(__pyx_v_ret->headers); + __Pyx_DECREF(__pyx_v_ret->headers); + __pyx_v_ret->headers = __pyx_t_11; + __pyx_t_11 = 0; + + /* "aiohttp/_http_parser.pyx":151 + * if "version" in dct: + * ret.version = dct["version"] + * if "headers" in dct: # <<<<<<<<<<<<<< + * ret.headers = dct["headers"] + * if "raw_headers" in dct: + */ + } + + /* "aiohttp/_http_parser.pyx":153 + * if "headers" in dct: + * ret.headers = dct["headers"] + * if "raw_headers" in dct: # <<<<<<<<<<<<<< + * ret.raw_headers = dct["raw_headers"] + * if "should_close" in dct: + */ + __pyx_t_9 = (__Pyx_PyDict_ContainsTF(__pyx_n_u_raw_headers, __pyx_v_dct, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 153, __pyx_L1_error) + __pyx_t_8 = (__pyx_t_9 != 0); + if (__pyx_t_8) { + + /* "aiohttp/_http_parser.pyx":154 + * ret.headers = dct["headers"] + * if "raw_headers" in dct: + * ret.raw_headers = dct["raw_headers"] # <<<<<<<<<<<<<< + * if "should_close" in dct: + * ret.should_close = dct["should_close"] + */ + __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_dct, __pyx_n_u_raw_headers); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 154, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __Pyx_GOTREF(__pyx_v_ret->raw_headers); + __Pyx_DECREF(__pyx_v_ret->raw_headers); + __pyx_v_ret->raw_headers = __pyx_t_11; + __pyx_t_11 = 0; + + /* "aiohttp/_http_parser.pyx":153 + * if "headers" in dct: + * ret.headers = dct["headers"] + * if "raw_headers" in dct: # <<<<<<<<<<<<<< + * ret.raw_headers = dct["raw_headers"] + * if "should_close" in dct: + */ + } + + /* "aiohttp/_http_parser.pyx":155 + * if "raw_headers" in dct: + * ret.raw_headers = dct["raw_headers"] + * if "should_close" in dct: # <<<<<<<<<<<<<< + * ret.should_close = dct["should_close"] + * if "compression" in dct: + */ + __pyx_t_8 = (__Pyx_PyDict_ContainsTF(__pyx_n_u_should_close, __pyx_v_dct, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 155, __pyx_L1_error) + __pyx_t_9 = (__pyx_t_8 != 0); + if (__pyx_t_9) { + + /* "aiohttp/_http_parser.pyx":156 + * ret.raw_headers = dct["raw_headers"] + * if "should_close" in dct: + * ret.should_close = dct["should_close"] # <<<<<<<<<<<<<< + * if "compression" in dct: + * ret.compression = dct["compression"] + */ + __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_dct, __pyx_n_u_should_close); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 156, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __Pyx_GOTREF(__pyx_v_ret->should_close); + __Pyx_DECREF(__pyx_v_ret->should_close); + __pyx_v_ret->should_close = __pyx_t_11; + __pyx_t_11 = 0; + + /* "aiohttp/_http_parser.pyx":155 + * if "raw_headers" in dct: + * ret.raw_headers = dct["raw_headers"] + * if "should_close" in dct: # <<<<<<<<<<<<<< + * ret.should_close = dct["should_close"] + * if "compression" in dct: + */ + } + + /* "aiohttp/_http_parser.pyx":157 + * if "should_close" in dct: + * ret.should_close = dct["should_close"] + * if "compression" in dct: # <<<<<<<<<<<<<< + * ret.compression = dct["compression"] + * if "upgrade" in dct: + */ + __pyx_t_9 = (__Pyx_PyDict_ContainsTF(__pyx_n_u_compression, __pyx_v_dct, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 157, __pyx_L1_error) + __pyx_t_8 = (__pyx_t_9 != 0); + if (__pyx_t_8) { + + /* "aiohttp/_http_parser.pyx":158 + * ret.should_close = dct["should_close"] + * if "compression" in dct: + * ret.compression = dct["compression"] # <<<<<<<<<<<<<< + * if "upgrade" in dct: + * ret.upgrade = dct["upgrade"] + */ + __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_dct, __pyx_n_u_compression); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 158, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __Pyx_GOTREF(__pyx_v_ret->compression); + __Pyx_DECREF(__pyx_v_ret->compression); + __pyx_v_ret->compression = __pyx_t_11; + __pyx_t_11 = 0; + + /* "aiohttp/_http_parser.pyx":157 + * if "should_close" in dct: + * ret.should_close = dct["should_close"] + * if "compression" in dct: # <<<<<<<<<<<<<< + * ret.compression = dct["compression"] + * if "upgrade" in dct: + */ + } + + /* "aiohttp/_http_parser.pyx":159 + * if "compression" in dct: + * ret.compression = dct["compression"] + * if "upgrade" in dct: # <<<<<<<<<<<<<< + * ret.upgrade = dct["upgrade"] + * if "chunked" in dct: + */ + __pyx_t_8 = (__Pyx_PyDict_ContainsTF(__pyx_n_u_upgrade, __pyx_v_dct, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 159, __pyx_L1_error) + __pyx_t_9 = (__pyx_t_8 != 0); + if (__pyx_t_9) { + + /* "aiohttp/_http_parser.pyx":160 + * ret.compression = dct["compression"] + * if "upgrade" in dct: + * ret.upgrade = dct["upgrade"] # <<<<<<<<<<<<<< + * if "chunked" in dct: + * ret.chunked = dct["chunked"] + */ + __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_dct, __pyx_n_u_upgrade); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __Pyx_GOTREF(__pyx_v_ret->upgrade); + __Pyx_DECREF(__pyx_v_ret->upgrade); + __pyx_v_ret->upgrade = __pyx_t_11; + __pyx_t_11 = 0; + + /* "aiohttp/_http_parser.pyx":159 + * if "compression" in dct: + * ret.compression = dct["compression"] + * if "upgrade" in dct: # <<<<<<<<<<<<<< + * ret.upgrade = dct["upgrade"] + * if "chunked" in dct: + */ + } + + /* "aiohttp/_http_parser.pyx":161 + * if "upgrade" in dct: + * ret.upgrade = dct["upgrade"] + * if "chunked" in dct: # <<<<<<<<<<<<<< + * ret.chunked = dct["chunked"] + * if "url" in dct: + */ + __pyx_t_9 = (__Pyx_PyDict_ContainsTF(__pyx_n_u_chunked, __pyx_v_dct, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 161, __pyx_L1_error) + __pyx_t_8 = (__pyx_t_9 != 0); + if (__pyx_t_8) { + + /* "aiohttp/_http_parser.pyx":162 + * ret.upgrade = dct["upgrade"] + * if "chunked" in dct: + * ret.chunked = dct["chunked"] # <<<<<<<<<<<<<< + * if "url" in dct: + * ret.url = dct["url"] + */ + __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_dct, __pyx_n_u_chunked); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 162, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __Pyx_GOTREF(__pyx_v_ret->chunked); + __Pyx_DECREF(__pyx_v_ret->chunked); + __pyx_v_ret->chunked = __pyx_t_11; + __pyx_t_11 = 0; + + /* "aiohttp/_http_parser.pyx":161 + * if "upgrade" in dct: + * ret.upgrade = dct["upgrade"] + * if "chunked" in dct: # <<<<<<<<<<<<<< + * ret.chunked = dct["chunked"] + * if "url" in dct: + */ + } + + /* "aiohttp/_http_parser.pyx":163 + * if "chunked" in dct: + * ret.chunked = dct["chunked"] + * if "url" in dct: # <<<<<<<<<<<<<< + * ret.url = dct["url"] + * return ret + */ + __pyx_t_8 = (__Pyx_PyDict_ContainsTF(__pyx_n_u_url, __pyx_v_dct, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 163, __pyx_L1_error) + __pyx_t_9 = (__pyx_t_8 != 0); + if (__pyx_t_9) { + + /* "aiohttp/_http_parser.pyx":164 + * ret.chunked = dct["chunked"] + * if "url" in dct: + * ret.url = dct["url"] # <<<<<<<<<<<<<< + * return ret + * + */ + __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_dct, __pyx_n_u_url); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 164, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __Pyx_GOTREF(__pyx_v_ret->url); + __Pyx_DECREF(__pyx_v_ret->url); + __pyx_v_ret->url = __pyx_t_11; + __pyx_t_11 = 0; + + /* "aiohttp/_http_parser.pyx":163 + * if "chunked" in dct: + * ret.chunked = dct["chunked"] + * if "url" in dct: # <<<<<<<<<<<<<< + * ret.url = dct["url"] + * return ret + */ + } + + /* "aiohttp/_http_parser.pyx":165 + * if "url" in dct: + * ret.url = dct["url"] + * return ret # <<<<<<<<<<<<<< + * + * cdef _new_request_message(str method, + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_ret)); + __pyx_r = ((PyObject *)__pyx_v_ret); + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":133 + * return '<RawRequestMessage(' + sinfo + ')>' + * + * def _replace(self, **dct): # <<<<<<<<<<<<<< + * cdef RawRequestMessage ret + * ret = _new_request_message(self.method, + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_AddTraceback("aiohttp._http_parser.RawRequestMessage._replace", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_ret); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":94 + * @cython.freelist(DEFAULT_FREELIST_SIZE) + * cdef class RawRequestMessage: + * cdef readonly str method # <<<<<<<<<<<<<< + * cdef readonly str path + * cdef readonly object version # HttpVersion + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_6method_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_6method_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_6method___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_6method___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->method); + __pyx_r = __pyx_v_self->method; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":95 + * cdef class RawRequestMessage: + * cdef readonly str method + * cdef readonly str path # <<<<<<<<<<<<<< + * cdef readonly object version # HttpVersion + * cdef readonly object headers # CIMultiDict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_4path_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_4path_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_4path___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_4path___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->path); + __pyx_r = __pyx_v_self->path; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":96 + * cdef readonly str method + * cdef readonly str path + * cdef readonly object version # HttpVersion # <<<<<<<<<<<<<< + * cdef readonly object headers # CIMultiDict + * cdef readonly object raw_headers # tuple + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_7version_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_7version_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_7version___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_7version___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->version); + __pyx_r = __pyx_v_self->version; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":97 + * cdef readonly str path + * cdef readonly object version # HttpVersion + * cdef readonly object headers # CIMultiDict # <<<<<<<<<<<<<< + * cdef readonly object raw_headers # tuple + * cdef readonly object should_close + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_7headers_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_7headers_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_7headers___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_7headers___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->headers); + __pyx_r = __pyx_v_self->headers; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":98 + * cdef readonly object version # HttpVersion + * cdef readonly object headers # CIMultiDict + * cdef readonly object raw_headers # tuple # <<<<<<<<<<<<<< + * cdef readonly object should_close + * cdef readonly object compression + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_11raw_headers_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_11raw_headers_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_11raw_headers___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_11raw_headers___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->raw_headers); + __pyx_r = __pyx_v_self->raw_headers; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":99 + * cdef readonly object headers # CIMultiDict + * cdef readonly object raw_headers # tuple + * cdef readonly object should_close # <<<<<<<<<<<<<< + * cdef readonly object compression + * cdef readonly object upgrade + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_12should_close_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_12should_close_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_12should_close___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_12should_close___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->should_close); + __pyx_r = __pyx_v_self->should_close; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":100 + * cdef readonly object raw_headers # tuple + * cdef readonly object should_close + * cdef readonly object compression # <<<<<<<<<<<<<< + * cdef readonly object upgrade + * cdef readonly object chunked + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_11compression_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_11compression_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_11compression___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_11compression___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->compression); + __pyx_r = __pyx_v_self->compression; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":101 + * cdef readonly object should_close + * cdef readonly object compression + * cdef readonly object upgrade # <<<<<<<<<<<<<< + * cdef readonly object chunked + * cdef readonly object url # yarl.URL + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_7upgrade_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_7upgrade_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_7upgrade___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_7upgrade___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->upgrade); + __pyx_r = __pyx_v_self->upgrade; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":102 + * cdef readonly object compression + * cdef readonly object upgrade + * cdef readonly object chunked # <<<<<<<<<<<<<< + * cdef readonly object url # yarl.URL + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_7chunked_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_7chunked_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_7chunked___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_7chunked___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->chunked); + __pyx_r = __pyx_v_self->chunked; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":103 + * cdef readonly object upgrade + * cdef readonly object chunked + * cdef readonly object url # yarl.URL # <<<<<<<<<<<<<< + * + * def __init__(self, method, path, version, headers, raw_headers, + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_3url_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_3url_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_3url___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_3url___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->url); + __pyx_r = __pyx_v_self->url; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_6__reduce_cython__(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_6__reduce_cython__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self.chunked, self.compression, self.headers, self.method, self.path, self.raw_headers, self.should_close, self.upgrade, self.url, self.version) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = PyTuple_New(10); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_self->chunked); + __Pyx_GIVEREF(__pyx_v_self->chunked); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->chunked); + __Pyx_INCREF(__pyx_v_self->compression); + __Pyx_GIVEREF(__pyx_v_self->compression); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->compression); + __Pyx_INCREF(__pyx_v_self->headers); + __Pyx_GIVEREF(__pyx_v_self->headers); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->headers); + __Pyx_INCREF(__pyx_v_self->method); + __Pyx_GIVEREF(__pyx_v_self->method); + PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_self->method); + __Pyx_INCREF(__pyx_v_self->path); + __Pyx_GIVEREF(__pyx_v_self->path); + PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_v_self->path); + __Pyx_INCREF(__pyx_v_self->raw_headers); + __Pyx_GIVEREF(__pyx_v_self->raw_headers); + PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_v_self->raw_headers); + __Pyx_INCREF(__pyx_v_self->should_close); + __Pyx_GIVEREF(__pyx_v_self->should_close); + PyTuple_SET_ITEM(__pyx_t_1, 6, __pyx_v_self->should_close); + __Pyx_INCREF(__pyx_v_self->upgrade); + __Pyx_GIVEREF(__pyx_v_self->upgrade); + PyTuple_SET_ITEM(__pyx_t_1, 7, __pyx_v_self->upgrade); + __Pyx_INCREF(__pyx_v_self->url); + __Pyx_GIVEREF(__pyx_v_self->url); + PyTuple_SET_ITEM(__pyx_t_1, 8, __pyx_v_self->url); + __Pyx_INCREF(__pyx_v_self->version); + __Pyx_GIVEREF(__pyx_v_self->version); + PyTuple_SET_ITEM(__pyx_t_1, 9, __pyx_v_self->version); + __pyx_v_state = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self.chunked, self.compression, self.headers, self.method, self.path, self.raw_headers, self.should_close, self.upgrade, self.url, self.version) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v__dict = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":7 + * state = (self.chunked, self.compression, self.headers, self.method, self.path, self.raw_headers, self.should_close, self.upgrade, self.url, self.version) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_2 = (__pyx_v__dict != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict); + __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4)); + __pyx_t_4 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self.chunked is not None or self.compression is not None or self.headers is not None or self.method is not None or self.path is not None or self.raw_headers is not None or self.should_close is not None or self.upgrade is not None or self.url is not None or self.version is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self.chunked, self.compression, self.headers, self.method, self.path, self.raw_headers, self.should_close, self.upgrade, self.url, self.version) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self.chunked is not None or self.compression is not None or self.headers is not None or self.method is not None or self.path is not None or self.raw_headers is not None or self.should_close is not None or self.upgrade is not None or self.url is not None or self.version is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle_RawRequestMessage, (type(self), 0x1408252, None), state + */ + /*else*/ { + __pyx_t_2 = (__pyx_v_self->chunked != Py_None); + __pyx_t_5 = (__pyx_t_2 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_3 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_self->compression != Py_None); + __pyx_t_2 = (__pyx_t_5 != 0); + if (!__pyx_t_2) { + } else { + __pyx_t_3 = __pyx_t_2; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_2 = (__pyx_v_self->headers != Py_None); + __pyx_t_5 = (__pyx_t_2 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_3 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_self->method != ((PyObject*)Py_None)); + __pyx_t_2 = (__pyx_t_5 != 0); + if (!__pyx_t_2) { + } else { + __pyx_t_3 = __pyx_t_2; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_2 = (__pyx_v_self->path != ((PyObject*)Py_None)); + __pyx_t_5 = (__pyx_t_2 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_3 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_self->raw_headers != Py_None); + __pyx_t_2 = (__pyx_t_5 != 0); + if (!__pyx_t_2) { + } else { + __pyx_t_3 = __pyx_t_2; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_2 = (__pyx_v_self->should_close != Py_None); + __pyx_t_5 = (__pyx_t_2 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_3 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_self->upgrade != Py_None); + __pyx_t_2 = (__pyx_t_5 != 0); + if (!__pyx_t_2) { + } else { + __pyx_t_3 = __pyx_t_2; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_2 = (__pyx_v_self->url != Py_None); + __pyx_t_5 = (__pyx_t_2 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_3 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_self->version != Py_None); + __pyx_t_2 = (__pyx_t_5 != 0); + __pyx_t_3 = __pyx_t_2; + __pyx_L4_bool_binop_done:; + __pyx_v_use_setstate = __pyx_t_3; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.chunked is not None or self.compression is not None or self.headers is not None or self.method is not None or self.path is not None or self.raw_headers is not None or self.should_close is not None or self.upgrade is not None or self.url is not None or self.version is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_RawRequestMessage, (type(self), 0x1408252, None), state + * else: + */ + __pyx_t_3 = (__pyx_v_use_setstate != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":13 + * use_setstate = self.chunked is not None or self.compression is not None or self.headers is not None or self.method is not None or self.path is not None or self.raw_headers is not None or self.should_close is not None or self.upgrade is not None or self.url is not None or self.version is not None + * if use_setstate: + * return __pyx_unpickle_RawRequestMessage, (type(self), 0x1408252, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle_RawRequestMessage, (type(self), 0x1408252, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_RawRequestMessage); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_21004882); + __Pyx_GIVEREF(__pyx_int_21004882); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_21004882); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_state); + __pyx_t_4 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.chunked is not None or self.compression is not None or self.headers is not None or self.method is not None or self.path is not None or self.raw_headers is not None or self.should_close is not None or self.upgrade is not None or self.url is not None or self.version is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_RawRequestMessage, (type(self), 0x1408252, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle_RawRequestMessage, (type(self), 0x1408252, None), state + * else: + * return __pyx_unpickle_RawRequestMessage, (type(self), 0x1408252, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_RawRequestMessage__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pyx_unpickle_RawRequestMessage); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_21004882); + __Pyx_GIVEREF(__pyx_int_21004882); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_21004882); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __pyx_t_6 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("aiohttp._http_parser.RawRequestMessage.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle_RawRequestMessage, (type(self), 0x1408252, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_RawRequestMessage__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_8__setstate_cython__(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17RawRequestMessage_8__setstate_cython__(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle_RawRequestMessage, (type(self), 0x1408252, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_RawRequestMessage__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_7aiohttp_12_http_parser___pyx_unpickle_RawRequestMessage__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle_RawRequestMessage, (type(self), 0x1408252, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_RawRequestMessage__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser.RawRequestMessage.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":167 + * return ret + * + * cdef _new_request_message(str method, # <<<<<<<<<<<<<< + * str path, + * object version, + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser__new_request_message(PyObject *__pyx_v_method, PyObject *__pyx_v_path, PyObject *__pyx_v_version, PyObject *__pyx_v_headers, PyObject *__pyx_v_raw_headers, int __pyx_v_should_close, PyObject *__pyx_v_compression, int __pyx_v_upgrade, int __pyx_v_chunked, PyObject *__pyx_v_url) { + struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v_ret = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("_new_request_message", 0); + + /* "aiohttp/_http_parser.pyx":178 + * object url): + * cdef RawRequestMessage ret + * ret = RawRequestMessage.__new__(RawRequestMessage) # <<<<<<<<<<<<<< + * ret.method = method + * ret.path = path + */ + __pyx_t_1 = ((PyObject *)__pyx_tp_new_7aiohttp_12_http_parser_RawRequestMessage(((PyTypeObject *)__pyx_ptype_7aiohttp_12_http_parser_RawRequestMessage), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error) + __Pyx_GOTREF(((PyObject *)__pyx_t_1)); + __pyx_v_ret = ((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":179 + * cdef RawRequestMessage ret + * ret = RawRequestMessage.__new__(RawRequestMessage) + * ret.method = method # <<<<<<<<<<<<<< + * ret.path = path + * ret.version = version + */ + __Pyx_INCREF(__pyx_v_method); + __Pyx_GIVEREF(__pyx_v_method); + __Pyx_GOTREF(__pyx_v_ret->method); + __Pyx_DECREF(__pyx_v_ret->method); + __pyx_v_ret->method = __pyx_v_method; + + /* "aiohttp/_http_parser.pyx":180 + * ret = RawRequestMessage.__new__(RawRequestMessage) + * ret.method = method + * ret.path = path # <<<<<<<<<<<<<< + * ret.version = version + * ret.headers = headers + */ + __Pyx_INCREF(__pyx_v_path); + __Pyx_GIVEREF(__pyx_v_path); + __Pyx_GOTREF(__pyx_v_ret->path); + __Pyx_DECREF(__pyx_v_ret->path); + __pyx_v_ret->path = __pyx_v_path; + + /* "aiohttp/_http_parser.pyx":181 + * ret.method = method + * ret.path = path + * ret.version = version # <<<<<<<<<<<<<< + * ret.headers = headers + * ret.raw_headers = raw_headers + */ + __Pyx_INCREF(__pyx_v_version); + __Pyx_GIVEREF(__pyx_v_version); + __Pyx_GOTREF(__pyx_v_ret->version); + __Pyx_DECREF(__pyx_v_ret->version); + __pyx_v_ret->version = __pyx_v_version; + + /* "aiohttp/_http_parser.pyx":182 + * ret.path = path + * ret.version = version + * ret.headers = headers # <<<<<<<<<<<<<< + * ret.raw_headers = raw_headers + * ret.should_close = should_close + */ + __Pyx_INCREF(__pyx_v_headers); + __Pyx_GIVEREF(__pyx_v_headers); + __Pyx_GOTREF(__pyx_v_ret->headers); + __Pyx_DECREF(__pyx_v_ret->headers); + __pyx_v_ret->headers = __pyx_v_headers; + + /* "aiohttp/_http_parser.pyx":183 + * ret.version = version + * ret.headers = headers + * ret.raw_headers = raw_headers # <<<<<<<<<<<<<< + * ret.should_close = should_close + * ret.compression = compression + */ + __Pyx_INCREF(__pyx_v_raw_headers); + __Pyx_GIVEREF(__pyx_v_raw_headers); + __Pyx_GOTREF(__pyx_v_ret->raw_headers); + __Pyx_DECREF(__pyx_v_ret->raw_headers); + __pyx_v_ret->raw_headers = __pyx_v_raw_headers; + + /* "aiohttp/_http_parser.pyx":184 + * ret.headers = headers + * ret.raw_headers = raw_headers + * ret.should_close = should_close # <<<<<<<<<<<<<< + * ret.compression = compression + * ret.upgrade = upgrade + */ + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_should_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 184, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_ret->should_close); + __Pyx_DECREF(__pyx_v_ret->should_close); + __pyx_v_ret->should_close = __pyx_t_1; + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":185 + * ret.raw_headers = raw_headers + * ret.should_close = should_close + * ret.compression = compression # <<<<<<<<<<<<<< + * ret.upgrade = upgrade + * ret.chunked = chunked + */ + __Pyx_INCREF(__pyx_v_compression); + __Pyx_GIVEREF(__pyx_v_compression); + __Pyx_GOTREF(__pyx_v_ret->compression); + __Pyx_DECREF(__pyx_v_ret->compression); + __pyx_v_ret->compression = __pyx_v_compression; + + /* "aiohttp/_http_parser.pyx":186 + * ret.should_close = should_close + * ret.compression = compression + * ret.upgrade = upgrade # <<<<<<<<<<<<<< + * ret.chunked = chunked + * ret.url = url + */ + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_upgrade); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 186, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_ret->upgrade); + __Pyx_DECREF(__pyx_v_ret->upgrade); + __pyx_v_ret->upgrade = __pyx_t_1; + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":187 + * ret.compression = compression + * ret.upgrade = upgrade + * ret.chunked = chunked # <<<<<<<<<<<<<< + * ret.url = url + * return ret + */ + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_chunked); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 187, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_ret->chunked); + __Pyx_DECREF(__pyx_v_ret->chunked); + __pyx_v_ret->chunked = __pyx_t_1; + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":188 + * ret.upgrade = upgrade + * ret.chunked = chunked + * ret.url = url # <<<<<<<<<<<<<< + * return ret + * + */ + __Pyx_INCREF(__pyx_v_url); + __Pyx_GIVEREF(__pyx_v_url); + __Pyx_GOTREF(__pyx_v_ret->url); + __Pyx_DECREF(__pyx_v_ret->url); + __pyx_v_ret->url = __pyx_v_url; + + /* "aiohttp/_http_parser.pyx":189 + * ret.chunked = chunked + * ret.url = url + * return ret # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_ret)); + __pyx_r = ((PyObject *)__pyx_v_ret); + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":167 + * return ret + * + * cdef _new_request_message(str method, # <<<<<<<<<<<<<< + * str path, + * object version, + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser._new_request_message", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_ret); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":204 + * cdef readonly object chunked + * + * def __init__(self, version, code, reason, headers, raw_headers, # <<<<<<<<<<<<<< + * should_close, compression, upgrade, chunked): + * self.version = version + */ + +/* Python wrapper */ +static int __pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_version = 0; + PyObject *__pyx_v_code = 0; + PyObject *__pyx_v_reason = 0; + PyObject *__pyx_v_headers = 0; + PyObject *__pyx_v_raw_headers = 0; + PyObject *__pyx_v_should_close = 0; + PyObject *__pyx_v_compression = 0; + PyObject *__pyx_v_upgrade = 0; + PyObject *__pyx_v_chunked = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_version,&__pyx_n_s_code,&__pyx_n_s_reason,&__pyx_n_s_headers,&__pyx_n_s_raw_headers,&__pyx_n_s_should_close,&__pyx_n_s_compression,&__pyx_n_s_upgrade,&__pyx_n_s_chunked,0}; + PyObject* values[9] = {0,0,0,0,0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); + CYTHON_FALLTHROUGH; + case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); + CYTHON_FALLTHROUGH; + case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + CYTHON_FALLTHROUGH; + case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + CYTHON_FALLTHROUGH; + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_version)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_code)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 1); __PYX_ERR(0, 204, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_reason)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 2); __PYX_ERR(0, 204, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_headers)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 3); __PYX_ERR(0, 204, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_raw_headers)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 4); __PYX_ERR(0, 204, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 5: + if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_should_close)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 5); __PYX_ERR(0, 204, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 6: + if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_compression)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 6); __PYX_ERR(0, 204, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 7: + if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_upgrade)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 7); __PYX_ERR(0, 204, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 8: + if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_chunked)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, 8); __PYX_ERR(0, 204, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 204, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 9) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + values[7] = PyTuple_GET_ITEM(__pyx_args, 7); + values[8] = PyTuple_GET_ITEM(__pyx_args, 8); + } + __pyx_v_version = values[0]; + __pyx_v_code = values[1]; + __pyx_v_reason = values[2]; + __pyx_v_headers = values[3]; + __pyx_v_raw_headers = values[4]; + __pyx_v_should_close = values[5]; + __pyx_v_compression = values[6]; + __pyx_v_upgrade = values[7]; + __pyx_v_chunked = values[8]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 204, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("aiohttp._http_parser.RawResponseMessage.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage___init__(((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)__pyx_v_self), __pyx_v_version, __pyx_v_code, __pyx_v_reason, __pyx_v_headers, __pyx_v_raw_headers, __pyx_v_should_close, __pyx_v_compression, __pyx_v_upgrade, __pyx_v_chunked); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage___init__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self, PyObject *__pyx_v_version, PyObject *__pyx_v_code, PyObject *__pyx_v_reason, PyObject *__pyx_v_headers, PyObject *__pyx_v_raw_headers, PyObject *__pyx_v_should_close, PyObject *__pyx_v_compression, PyObject *__pyx_v_upgrade, PyObject *__pyx_v_chunked) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + __Pyx_RefNannySetupContext("__init__", 0); + + /* "aiohttp/_http_parser.pyx":206 + * def __init__(self, version, code, reason, headers, raw_headers, + * should_close, compression, upgrade, chunked): + * self.version = version # <<<<<<<<<<<<<< + * self.code = code + * self.reason = reason + */ + __Pyx_INCREF(__pyx_v_version); + __Pyx_GIVEREF(__pyx_v_version); + __Pyx_GOTREF(__pyx_v_self->version); + __Pyx_DECREF(__pyx_v_self->version); + __pyx_v_self->version = __pyx_v_version; + + /* "aiohttp/_http_parser.pyx":207 + * should_close, compression, upgrade, chunked): + * self.version = version + * self.code = code # <<<<<<<<<<<<<< + * self.reason = reason + * self.headers = headers + */ + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_code); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 207, __pyx_L1_error) + __pyx_v_self->code = __pyx_t_1; + + /* "aiohttp/_http_parser.pyx":208 + * self.version = version + * self.code = code + * self.reason = reason # <<<<<<<<<<<<<< + * self.headers = headers + * self.raw_headers = raw_headers + */ + if (!(likely(PyUnicode_CheckExact(__pyx_v_reason))||((__pyx_v_reason) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_v_reason)->tp_name), 0))) __PYX_ERR(0, 208, __pyx_L1_error) + __pyx_t_2 = __pyx_v_reason; + __Pyx_INCREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_v_self->reason); + __Pyx_DECREF(__pyx_v_self->reason); + __pyx_v_self->reason = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":209 + * self.code = code + * self.reason = reason + * self.headers = headers # <<<<<<<<<<<<<< + * self.raw_headers = raw_headers + * self.should_close = should_close + */ + __Pyx_INCREF(__pyx_v_headers); + __Pyx_GIVEREF(__pyx_v_headers); + __Pyx_GOTREF(__pyx_v_self->headers); + __Pyx_DECREF(__pyx_v_self->headers); + __pyx_v_self->headers = __pyx_v_headers; + + /* "aiohttp/_http_parser.pyx":210 + * self.reason = reason + * self.headers = headers + * self.raw_headers = raw_headers # <<<<<<<<<<<<<< + * self.should_close = should_close + * self.compression = compression + */ + __Pyx_INCREF(__pyx_v_raw_headers); + __Pyx_GIVEREF(__pyx_v_raw_headers); + __Pyx_GOTREF(__pyx_v_self->raw_headers); + __Pyx_DECREF(__pyx_v_self->raw_headers); + __pyx_v_self->raw_headers = __pyx_v_raw_headers; + + /* "aiohttp/_http_parser.pyx":211 + * self.headers = headers + * self.raw_headers = raw_headers + * self.should_close = should_close # <<<<<<<<<<<<<< + * self.compression = compression + * self.upgrade = upgrade + */ + __Pyx_INCREF(__pyx_v_should_close); + __Pyx_GIVEREF(__pyx_v_should_close); + __Pyx_GOTREF(__pyx_v_self->should_close); + __Pyx_DECREF(__pyx_v_self->should_close); + __pyx_v_self->should_close = __pyx_v_should_close; + + /* "aiohttp/_http_parser.pyx":212 + * self.raw_headers = raw_headers + * self.should_close = should_close + * self.compression = compression # <<<<<<<<<<<<<< + * self.upgrade = upgrade + * self.chunked = chunked + */ + __Pyx_INCREF(__pyx_v_compression); + __Pyx_GIVEREF(__pyx_v_compression); + __Pyx_GOTREF(__pyx_v_self->compression); + __Pyx_DECREF(__pyx_v_self->compression); + __pyx_v_self->compression = __pyx_v_compression; + + /* "aiohttp/_http_parser.pyx":213 + * self.should_close = should_close + * self.compression = compression + * self.upgrade = upgrade # <<<<<<<<<<<<<< + * self.chunked = chunked + * + */ + __Pyx_INCREF(__pyx_v_upgrade); + __Pyx_GIVEREF(__pyx_v_upgrade); + __Pyx_GOTREF(__pyx_v_self->upgrade); + __Pyx_DECREF(__pyx_v_self->upgrade); + __pyx_v_self->upgrade = __pyx_v_upgrade; + + /* "aiohttp/_http_parser.pyx":214 + * self.compression = compression + * self.upgrade = upgrade + * self.chunked = chunked # <<<<<<<<<<<<<< + * + * def __repr__(self): + */ + __Pyx_INCREF(__pyx_v_chunked); + __Pyx_GIVEREF(__pyx_v_chunked); + __Pyx_GOTREF(__pyx_v_self->chunked); + __Pyx_DECREF(__pyx_v_self->chunked); + __pyx_v_self->chunked = __pyx_v_chunked; + + /* "aiohttp/_http_parser.pyx":204 + * cdef readonly object chunked + * + * def __init__(self, version, code, reason, headers, raw_headers, # <<<<<<<<<<<<<< + * should_close, compression, upgrade, chunked): + * self.version = version + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("aiohttp._http_parser.RawResponseMessage.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":216 + * self.chunked = chunked + * + * def __repr__(self): # <<<<<<<<<<<<<< + * info = [] + * info.append(("version", self.version)) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_3__repr__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_3__repr__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_2__repr__(((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} +static PyObject *__pyx_gb_7aiohttp_12_http_parser_18RawResponseMessage_8__repr___2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ + +/* "aiohttp/_http_parser.pyx":227 + * info.append(("upgrade", self.upgrade)) + * info.append(("chunked", self.chunked)) + * sinfo = ', '.join(name + '=' + repr(val) for name, val in info) # <<<<<<<<<<<<<< + * return '<RawResponseMessage(' + sinfo + ')>' + * + */ + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_8__repr___genexpr(PyObject *__pyx_self) { + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr *__pyx_cur_scope; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("genexpr", 0); + __pyx_cur_scope = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr *)__pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr(__pyx_ptype_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr, __pyx_empty_tuple, NULL); + if (unlikely(!__pyx_cur_scope)) { + __pyx_cur_scope = ((struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr *)Py_None); + __Pyx_INCREF(Py_None); + __PYX_ERR(0, 227, __pyx_L1_error) + } else { + __Pyx_GOTREF(__pyx_cur_scope); + } + __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ *) __pyx_self; + __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope)); + __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope); + { + __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_7aiohttp_12_http_parser_18RawResponseMessage_8__repr___2generator1, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_repr___locals_genexpr, __pyx_n_s_aiohttp__http_parser); if (unlikely(!gen)) __PYX_ERR(0, 227, __pyx_L1_error) + __Pyx_DECREF(__pyx_cur_scope); + __Pyx_RefNannyFinishContext(); + return (PyObject *) gen; + } + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("aiohttp._http_parser.RawResponseMessage.__repr__.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_gb_7aiohttp_12_http_parser_18RawResponseMessage_8__repr___2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ +{ + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr *__pyx_cur_scope = ((struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr *)__pyx_generator->closure); + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *(*__pyx_t_7)(PyObject *); + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("genexpr", 0); + switch (__pyx_generator->resume_label) { + case 0: goto __pyx_L3_first_run; + default: /* CPython raises the right error here */ + __Pyx_RefNannyFinishContext(); + return NULL; + } + __pyx_L3_first_run:; + if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 227, __pyx_L1_error) + __pyx_r = PyList_New(0); if (unlikely(!__pyx_r)) __PYX_ERR(0, 227, __pyx_L1_error) + __Pyx_GOTREF(__pyx_r); + if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_info)) { __Pyx_RaiseClosureNameError("info"); __PYX_ERR(0, 227, __pyx_L1_error) } + if (unlikely(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_info == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 227, __pyx_L1_error) + } + __pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_info; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; + for (;;) { + if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 227, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 227, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { + PyObject* sequence = __pyx_t_3; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 227, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_4 = PyList_GET_ITEM(sequence, 0); + __pyx_t_5 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + #else + __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 227, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 227, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 227, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; + index = 0; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L6_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed; + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(0, 227, __pyx_L1_error) + __pyx_t_7 = NULL; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L7_unpacking_done; + __pyx_L6_unpacking_failed:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_7 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 227, __pyx_L1_error) + __pyx_L7_unpacking_done:; + } + __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_name); + __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_name, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_val); + __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_val, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_3 = PyNumber_Add(__pyx_cur_scope->__pyx_v_name, __pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 227, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_Repr(__pyx_cur_scope->__pyx_v_val); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 227, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 227, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(__Pyx_ListComp_Append(__pyx_r, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 227, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_r); __pyx_r = 0; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + #if !CYTHON_USE_EXC_INFO_STACK + __Pyx_Coroutine_ResetAndClearException(__pyx_generator); + #endif + __pyx_generator->resume_label = -1; + __Pyx_Coroutine_clear((PyObject*)__pyx_generator); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":216 + * self.chunked = chunked + * + * def __repr__(self): # <<<<<<<<<<<<<< + * info = [] + * info.append(("version", self.version)) + */ + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_2__repr__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self) { + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ *__pyx_cur_scope; + PyObject *__pyx_v_sinfo = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("__repr__", 0); + __pyx_cur_scope = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ *)__pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__(__pyx_ptype_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__, __pyx_empty_tuple, NULL); + if (unlikely(!__pyx_cur_scope)) { + __pyx_cur_scope = ((struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ *)Py_None); + __Pyx_INCREF(Py_None); + __PYX_ERR(0, 216, __pyx_L1_error) + } else { + __Pyx_GOTREF(__pyx_cur_scope); + } + + /* "aiohttp/_http_parser.pyx":217 + * + * def __repr__(self): + * info = [] # <<<<<<<<<<<<<< + * info.append(("version", self.version)) + * info.append(("code", self.code)) + */ + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 217, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_cur_scope->__pyx_v_info = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":218 + * def __repr__(self): + * info = [] + * info.append(("version", self.version)) # <<<<<<<<<<<<<< + * info.append(("code", self.code)) + * info.append(("reason", self.reason)) + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_u_version); + __Pyx_GIVEREF(__pyx_n_u_version); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_version); + __Pyx_INCREF(__pyx_v_self->version); + __Pyx_GIVEREF(__pyx_v_self->version); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->version); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 218, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":219 + * info = [] + * info.append(("version", self.version)) + * info.append(("code", self.code)) # <<<<<<<<<<<<<< + * info.append(("reason", self.reason)) + * info.append(("headers", self.headers)) + */ + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 219, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 219, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_n_u_code); + __Pyx_GIVEREF(__pyx_n_u_code); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_code); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 219, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":220 + * info.append(("version", self.version)) + * info.append(("code", self.code)) + * info.append(("reason", self.reason)) # <<<<<<<<<<<<<< + * info.append(("headers", self.headers)) + * info.append(("raw_headers", self.raw_headers)) + */ + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_n_u_reason); + __Pyx_GIVEREF(__pyx_n_u_reason); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_reason); + __Pyx_INCREF(__pyx_v_self->reason); + __Pyx_GIVEREF(__pyx_v_self->reason); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self->reason); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 220, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":221 + * info.append(("code", self.code)) + * info.append(("reason", self.reason)) + * info.append(("headers", self.headers)) # <<<<<<<<<<<<<< + * info.append(("raw_headers", self.raw_headers)) + * info.append(("should_close", self.should_close)) + */ + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 221, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_n_u_headers); + __Pyx_GIVEREF(__pyx_n_u_headers); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_headers); + __Pyx_INCREF(__pyx_v_self->headers); + __Pyx_GIVEREF(__pyx_v_self->headers); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self->headers); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 221, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":222 + * info.append(("reason", self.reason)) + * info.append(("headers", self.headers)) + * info.append(("raw_headers", self.raw_headers)) # <<<<<<<<<<<<<< + * info.append(("should_close", self.should_close)) + * info.append(("compression", self.compression)) + */ + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 222, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_n_u_raw_headers); + __Pyx_GIVEREF(__pyx_n_u_raw_headers); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_raw_headers); + __Pyx_INCREF(__pyx_v_self->raw_headers); + __Pyx_GIVEREF(__pyx_v_self->raw_headers); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self->raw_headers); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 222, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":223 + * info.append(("headers", self.headers)) + * info.append(("raw_headers", self.raw_headers)) + * info.append(("should_close", self.should_close)) # <<<<<<<<<<<<<< + * info.append(("compression", self.compression)) + * info.append(("upgrade", self.upgrade)) + */ + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 223, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_n_u_should_close); + __Pyx_GIVEREF(__pyx_n_u_should_close); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_should_close); + __Pyx_INCREF(__pyx_v_self->should_close); + __Pyx_GIVEREF(__pyx_v_self->should_close); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self->should_close); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 223, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":224 + * info.append(("raw_headers", self.raw_headers)) + * info.append(("should_close", self.should_close)) + * info.append(("compression", self.compression)) # <<<<<<<<<<<<<< + * info.append(("upgrade", self.upgrade)) + * info.append(("chunked", self.chunked)) + */ + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 224, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_n_u_compression); + __Pyx_GIVEREF(__pyx_n_u_compression); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_compression); + __Pyx_INCREF(__pyx_v_self->compression); + __Pyx_GIVEREF(__pyx_v_self->compression); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self->compression); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 224, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":225 + * info.append(("should_close", self.should_close)) + * info.append(("compression", self.compression)) + * info.append(("upgrade", self.upgrade)) # <<<<<<<<<<<<<< + * info.append(("chunked", self.chunked)) + * sinfo = ', '.join(name + '=' + repr(val) for name, val in info) + */ + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 225, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_n_u_upgrade); + __Pyx_GIVEREF(__pyx_n_u_upgrade); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_upgrade); + __Pyx_INCREF(__pyx_v_self->upgrade); + __Pyx_GIVEREF(__pyx_v_self->upgrade); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self->upgrade); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 225, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":226 + * info.append(("compression", self.compression)) + * info.append(("upgrade", self.upgrade)) + * info.append(("chunked", self.chunked)) # <<<<<<<<<<<<<< + * sinfo = ', '.join(name + '=' + repr(val) for name, val in info) + * return '<RawResponseMessage(' + sinfo + ')>' + */ + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 226, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_n_u_chunked); + __Pyx_GIVEREF(__pyx_n_u_chunked); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_chunked); + __Pyx_INCREF(__pyx_v_self->chunked); + __Pyx_GIVEREF(__pyx_v_self->chunked); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self->chunked); + __pyx_t_2 = __Pyx_PyList_Append(__pyx_cur_scope->__pyx_v_info, __pyx_t_3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 226, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":227 + * info.append(("upgrade", self.upgrade)) + * info.append(("chunked", self.chunked)) + * sinfo = ', '.join(name + '=' + repr(val) for name, val in info) # <<<<<<<<<<<<<< + * return '<RawResponseMessage(' + sinfo + ')>' + * + */ + __pyx_t_3 = __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_8__repr___genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 227, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 227, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 227, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_sinfo = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":228 + * info.append(("chunked", self.chunked)) + * sinfo = ', '.join(name + '=' + repr(val) for name, val in info) + * return '<RawResponseMessage(' + sinfo + ')>' # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_PyUnicode_ConcatSafe(__pyx_kp_u_RawResponseMessage, __pyx_v_sinfo); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 228, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_kp_u__3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":216 + * self.chunked = chunked + * + * def __repr__(self): # <<<<<<<<<<<<<< + * info = [] + * info.append(("version", self.version)) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("aiohttp._http_parser.RawResponseMessage.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_sinfo); + __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":194 + * @cython.freelist(DEFAULT_FREELIST_SIZE) + * cdef class RawResponseMessage: + * cdef readonly object version # HttpVersion # <<<<<<<<<<<<<< + * cdef readonly int code + * cdef readonly str reason + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_7version_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_7version_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_7version___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_7version___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->version); + __pyx_r = __pyx_v_self->version; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":195 + * cdef class RawResponseMessage: + * cdef readonly object version # HttpVersion + * cdef readonly int code # <<<<<<<<<<<<<< + * cdef readonly str reason + * cdef readonly object headers # CIMultiDict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_4code_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_4code_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_4code___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_4code___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser.RawResponseMessage.code.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":196 + * cdef readonly object version # HttpVersion + * cdef readonly int code + * cdef readonly str reason # <<<<<<<<<<<<<< + * cdef readonly object headers # CIMultiDict + * cdef readonly object raw_headers # tuple + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_6reason_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_6reason_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_6reason___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_6reason___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->reason); + __pyx_r = __pyx_v_self->reason; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":197 + * cdef readonly int code + * cdef readonly str reason + * cdef readonly object headers # CIMultiDict # <<<<<<<<<<<<<< + * cdef readonly object raw_headers # tuple + * cdef readonly object should_close + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_7headers_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_7headers_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_7headers___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_7headers___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->headers); + __pyx_r = __pyx_v_self->headers; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":198 + * cdef readonly str reason + * cdef readonly object headers # CIMultiDict + * cdef readonly object raw_headers # tuple # <<<<<<<<<<<<<< + * cdef readonly object should_close + * cdef readonly object compression + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_11raw_headers_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_11raw_headers_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_11raw_headers___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_11raw_headers___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->raw_headers); + __pyx_r = __pyx_v_self->raw_headers; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":199 + * cdef readonly object headers # CIMultiDict + * cdef readonly object raw_headers # tuple + * cdef readonly object should_close # <<<<<<<<<<<<<< + * cdef readonly object compression + * cdef readonly object upgrade + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_12should_close_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_12should_close_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_12should_close___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_12should_close___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->should_close); + __pyx_r = __pyx_v_self->should_close; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":200 + * cdef readonly object raw_headers # tuple + * cdef readonly object should_close + * cdef readonly object compression # <<<<<<<<<<<<<< + * cdef readonly object upgrade + * cdef readonly object chunked + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_11compression_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_11compression_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_11compression___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_11compression___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->compression); + __pyx_r = __pyx_v_self->compression; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":201 + * cdef readonly object should_close + * cdef readonly object compression + * cdef readonly object upgrade # <<<<<<<<<<<<<< + * cdef readonly object chunked + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_7upgrade_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_7upgrade_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_7upgrade___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_7upgrade___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->upgrade); + __pyx_r = __pyx_v_self->upgrade; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":202 + * cdef readonly object compression + * cdef readonly object upgrade + * cdef readonly object chunked # <<<<<<<<<<<<<< + * + * def __init__(self, version, code, reason, headers, raw_headers, + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_7chunked_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_7chunked_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_7chunked___get__(((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_7chunked___get__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->chunked); + __pyx_r = __pyx_v_self->chunked; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_4__reduce_cython__(((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_4__reduce_cython__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self.chunked, self.code, self.compression, self.headers, self.raw_headers, self.reason, self.should_close, self.upgrade, self.version) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->code); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(9); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_self->chunked); + __Pyx_GIVEREF(__pyx_v_self->chunked); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self->chunked); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1); + __Pyx_INCREF(__pyx_v_self->compression); + __Pyx_GIVEREF(__pyx_v_self->compression); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_self->compression); + __Pyx_INCREF(__pyx_v_self->headers); + __Pyx_GIVEREF(__pyx_v_self->headers); + PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_self->headers); + __Pyx_INCREF(__pyx_v_self->raw_headers); + __Pyx_GIVEREF(__pyx_v_self->raw_headers); + PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_v_self->raw_headers); + __Pyx_INCREF(__pyx_v_self->reason); + __Pyx_GIVEREF(__pyx_v_self->reason); + PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_v_self->reason); + __Pyx_INCREF(__pyx_v_self->should_close); + __Pyx_GIVEREF(__pyx_v_self->should_close); + PyTuple_SET_ITEM(__pyx_t_2, 6, __pyx_v_self->should_close); + __Pyx_INCREF(__pyx_v_self->upgrade); + __Pyx_GIVEREF(__pyx_v_self->upgrade); + PyTuple_SET_ITEM(__pyx_t_2, 7, __pyx_v_self->upgrade); + __Pyx_INCREF(__pyx_v_self->version); + __Pyx_GIVEREF(__pyx_v_self->version); + PyTuple_SET_ITEM(__pyx_t_2, 8, __pyx_v_self->version); + __pyx_t_1 = 0; + __pyx_v_state = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self.chunked, self.code, self.compression, self.headers, self.raw_headers, self.reason, self.should_close, self.upgrade, self.version) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_2 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_v__dict = __pyx_t_2; + __pyx_t_2 = 0; + + /* "(tree fragment)":7 + * state = (self.chunked, self.code, self.compression, self.headers, self.raw_headers, self.reason, self.should_close, self.upgrade, self.version) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_3 = (__pyx_v__dict != Py_None); + __pyx_t_4 = (__pyx_t_3 != 0); + if (__pyx_t_4) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v__dict); + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self.chunked is not None or self.compression is not None or self.headers is not None or self.raw_headers is not None or self.reason is not None or self.should_close is not None or self.upgrade is not None or self.version is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self.chunked, self.code, self.compression, self.headers, self.raw_headers, self.reason, self.should_close, self.upgrade, self.version) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self.chunked is not None or self.compression is not None or self.headers is not None or self.raw_headers is not None or self.reason is not None or self.should_close is not None or self.upgrade is not None or self.version is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle_RawResponseMessage, (type(self), 0xc7706dc, None), state + */ + /*else*/ { + __pyx_t_3 = (__pyx_v_self->chunked != Py_None); + __pyx_t_5 = (__pyx_t_3 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_4 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_self->compression != Py_None); + __pyx_t_3 = (__pyx_t_5 != 0); + if (!__pyx_t_3) { + } else { + __pyx_t_4 = __pyx_t_3; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_3 = (__pyx_v_self->headers != Py_None); + __pyx_t_5 = (__pyx_t_3 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_4 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_self->raw_headers != Py_None); + __pyx_t_3 = (__pyx_t_5 != 0); + if (!__pyx_t_3) { + } else { + __pyx_t_4 = __pyx_t_3; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_3 = (__pyx_v_self->reason != ((PyObject*)Py_None)); + __pyx_t_5 = (__pyx_t_3 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_4 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_self->should_close != Py_None); + __pyx_t_3 = (__pyx_t_5 != 0); + if (!__pyx_t_3) { + } else { + __pyx_t_4 = __pyx_t_3; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_3 = (__pyx_v_self->upgrade != Py_None); + __pyx_t_5 = (__pyx_t_3 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_4 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_self->version != Py_None); + __pyx_t_3 = (__pyx_t_5 != 0); + __pyx_t_4 = __pyx_t_3; + __pyx_L4_bool_binop_done:; + __pyx_v_use_setstate = __pyx_t_4; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.chunked is not None or self.compression is not None or self.headers is not None or self.raw_headers is not None or self.reason is not None or self.should_close is not None or self.upgrade is not None or self.version is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_RawResponseMessage, (type(self), 0xc7706dc, None), state + * else: + */ + __pyx_t_4 = (__pyx_v_use_setstate != 0); + if (__pyx_t_4) { + + /* "(tree fragment)":13 + * use_setstate = self.chunked is not None or self.compression is not None or self.headers is not None or self.raw_headers is not None or self.reason is not None or self.should_close is not None or self.upgrade is not None or self.version is not None + * if use_setstate: + * return __pyx_unpickle_RawResponseMessage, (type(self), 0xc7706dc, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle_RawResponseMessage, (type(self), 0xc7706dc, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pyx_unpickle_RawResponseMessag); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_209127132); + __Pyx_GIVEREF(__pyx_int_209127132); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_209127132); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None); + __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_state); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.chunked is not None or self.compression is not None or self.headers is not None or self.raw_headers is not None or self.reason is not None or self.should_close is not None or self.upgrade is not None or self.version is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_RawResponseMessage, (type(self), 0xc7706dc, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle_RawResponseMessage, (type(self), 0xc7706dc, None), state + * else: + * return __pyx_unpickle_RawResponseMessage, (type(self), 0xc7706dc, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_RawResponseMessage__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pyx_unpickle_RawResponseMessag); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_209127132); + __Pyx_GIVEREF(__pyx_int_209127132); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_209127132); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state); + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2); + __pyx_t_6 = 0; + __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("aiohttp._http_parser.RawResponseMessage.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle_RawResponseMessage, (type(self), 0xc7706dc, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_RawResponseMessage__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_6__setstate_cython__(((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18RawResponseMessage_6__setstate_cython__(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle_RawResponseMessage, (type(self), 0xc7706dc, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_RawResponseMessage__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_7aiohttp_12_http_parser___pyx_unpickle_RawResponseMessage__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle_RawResponseMessage, (type(self), 0xc7706dc, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_RawResponseMessage__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser.RawResponseMessage.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":231 + * + * + * cdef _new_response_message(object version, # <<<<<<<<<<<<<< + * int code, + * str reason, + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser__new_response_message(PyObject *__pyx_v_version, int __pyx_v_code, PyObject *__pyx_v_reason, PyObject *__pyx_v_headers, PyObject *__pyx_v_raw_headers, int __pyx_v_should_close, PyObject *__pyx_v_compression, int __pyx_v_upgrade, int __pyx_v_chunked) { + struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v_ret = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("_new_response_message", 0); + + /* "aiohttp/_http_parser.pyx":241 + * bint chunked): + * cdef RawResponseMessage ret + * ret = RawResponseMessage.__new__(RawResponseMessage) # <<<<<<<<<<<<<< + * ret.version = version + * ret.code = code + */ + __pyx_t_1 = ((PyObject *)__pyx_tp_new_7aiohttp_12_http_parser_RawResponseMessage(((PyTypeObject *)__pyx_ptype_7aiohttp_12_http_parser_RawResponseMessage), __pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 241, __pyx_L1_error) + __Pyx_GOTREF(((PyObject *)__pyx_t_1)); + __pyx_v_ret = ((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":242 + * cdef RawResponseMessage ret + * ret = RawResponseMessage.__new__(RawResponseMessage) + * ret.version = version # <<<<<<<<<<<<<< + * ret.code = code + * ret.reason = reason + */ + __Pyx_INCREF(__pyx_v_version); + __Pyx_GIVEREF(__pyx_v_version); + __Pyx_GOTREF(__pyx_v_ret->version); + __Pyx_DECREF(__pyx_v_ret->version); + __pyx_v_ret->version = __pyx_v_version; + + /* "aiohttp/_http_parser.pyx":243 + * ret = RawResponseMessage.__new__(RawResponseMessage) + * ret.version = version + * ret.code = code # <<<<<<<<<<<<<< + * ret.reason = reason + * ret.headers = headers + */ + __pyx_v_ret->code = __pyx_v_code; + + /* "aiohttp/_http_parser.pyx":244 + * ret.version = version + * ret.code = code + * ret.reason = reason # <<<<<<<<<<<<<< + * ret.headers = headers + * ret.raw_headers = raw_headers + */ + __Pyx_INCREF(__pyx_v_reason); + __Pyx_GIVEREF(__pyx_v_reason); + __Pyx_GOTREF(__pyx_v_ret->reason); + __Pyx_DECREF(__pyx_v_ret->reason); + __pyx_v_ret->reason = __pyx_v_reason; + + /* "aiohttp/_http_parser.pyx":245 + * ret.code = code + * ret.reason = reason + * ret.headers = headers # <<<<<<<<<<<<<< + * ret.raw_headers = raw_headers + * ret.should_close = should_close + */ + __Pyx_INCREF(__pyx_v_headers); + __Pyx_GIVEREF(__pyx_v_headers); + __Pyx_GOTREF(__pyx_v_ret->headers); + __Pyx_DECREF(__pyx_v_ret->headers); + __pyx_v_ret->headers = __pyx_v_headers; + + /* "aiohttp/_http_parser.pyx":246 + * ret.reason = reason + * ret.headers = headers + * ret.raw_headers = raw_headers # <<<<<<<<<<<<<< + * ret.should_close = should_close + * ret.compression = compression + */ + __Pyx_INCREF(__pyx_v_raw_headers); + __Pyx_GIVEREF(__pyx_v_raw_headers); + __Pyx_GOTREF(__pyx_v_ret->raw_headers); + __Pyx_DECREF(__pyx_v_ret->raw_headers); + __pyx_v_ret->raw_headers = __pyx_v_raw_headers; + + /* "aiohttp/_http_parser.pyx":247 + * ret.headers = headers + * ret.raw_headers = raw_headers + * ret.should_close = should_close # <<<<<<<<<<<<<< + * ret.compression = compression + * ret.upgrade = upgrade + */ + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_should_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_ret->should_close); + __Pyx_DECREF(__pyx_v_ret->should_close); + __pyx_v_ret->should_close = __pyx_t_1; + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":248 + * ret.raw_headers = raw_headers + * ret.should_close = should_close + * ret.compression = compression # <<<<<<<<<<<<<< + * ret.upgrade = upgrade + * ret.chunked = chunked + */ + __Pyx_INCREF(__pyx_v_compression); + __Pyx_GIVEREF(__pyx_v_compression); + __Pyx_GOTREF(__pyx_v_ret->compression); + __Pyx_DECREF(__pyx_v_ret->compression); + __pyx_v_ret->compression = __pyx_v_compression; + + /* "aiohttp/_http_parser.pyx":249 + * ret.should_close = should_close + * ret.compression = compression + * ret.upgrade = upgrade # <<<<<<<<<<<<<< + * ret.chunked = chunked + * return ret + */ + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_upgrade); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 249, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_ret->upgrade); + __Pyx_DECREF(__pyx_v_ret->upgrade); + __pyx_v_ret->upgrade = __pyx_t_1; + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":250 + * ret.compression = compression + * ret.upgrade = upgrade + * ret.chunked = chunked # <<<<<<<<<<<<<< + * return ret + * + */ + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_chunked); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 250, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_ret->chunked); + __Pyx_DECREF(__pyx_v_ret->chunked); + __pyx_v_ret->chunked = __pyx_t_1; + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":251 + * ret.upgrade = upgrade + * ret.chunked = chunked + * return ret # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_ret)); + __pyx_r = ((PyObject *)__pyx_v_ret); + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":231 + * + * + * cdef _new_response_message(object version, # <<<<<<<<<<<<<< + * int code, + * str reason, + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser._new_response_message", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_ret); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":293 + * Py_buffer py_buf + * + * def __cinit__(self): # <<<<<<<<<<<<<< + * self._cparser = <cparser.http_parser*> \ + * PyMem_Malloc(sizeof(cparser.http_parser)) + */ + +/* Python wrapper */ +static int __pyx_pw_7aiohttp_12_http_parser_10HttpParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_7aiohttp_12_http_parser_10HttpParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); + if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { + __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;} + if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1; + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_10HttpParser___cinit__(((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_7aiohttp_12_http_parser_10HttpParser___cinit__(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("__cinit__", 0); + + /* "aiohttp/_http_parser.pyx":294 + * + * def __cinit__(self): + * self._cparser = <cparser.http_parser*> \ # <<<<<<<<<<<<<< + * PyMem_Malloc(sizeof(cparser.http_parser)) + * if self._cparser is NULL: + */ + __pyx_v_self->_cparser = ((struct http_parser *)PyMem_Malloc((sizeof(struct http_parser)))); + + /* "aiohttp/_http_parser.pyx":296 + * self._cparser = <cparser.http_parser*> \ + * PyMem_Malloc(sizeof(cparser.http_parser)) + * if self._cparser is NULL: # <<<<<<<<<<<<<< + * raise MemoryError() + * + */ + __pyx_t_1 = ((__pyx_v_self->_cparser == NULL) != 0); + if (unlikely(__pyx_t_1)) { + + /* "aiohttp/_http_parser.pyx":297 + * PyMem_Malloc(sizeof(cparser.http_parser)) + * if self._cparser is NULL: + * raise MemoryError() # <<<<<<<<<<<<<< + * + * self._csettings = <cparser.http_parser_settings*> \ + */ + PyErr_NoMemory(); __PYX_ERR(0, 297, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":296 + * self._cparser = <cparser.http_parser*> \ + * PyMem_Malloc(sizeof(cparser.http_parser)) + * if self._cparser is NULL: # <<<<<<<<<<<<<< + * raise MemoryError() + * + */ + } + + /* "aiohttp/_http_parser.pyx":299 + * raise MemoryError() + * + * self._csettings = <cparser.http_parser_settings*> \ # <<<<<<<<<<<<<< + * PyMem_Malloc(sizeof(cparser.http_parser_settings)) + * if self._csettings is NULL: + */ + __pyx_v_self->_csettings = ((struct http_parser_settings *)PyMem_Malloc((sizeof(struct http_parser_settings)))); + + /* "aiohttp/_http_parser.pyx":301 + * self._csettings = <cparser.http_parser_settings*> \ + * PyMem_Malloc(sizeof(cparser.http_parser_settings)) + * if self._csettings is NULL: # <<<<<<<<<<<<<< + * raise MemoryError() + * + */ + __pyx_t_1 = ((__pyx_v_self->_csettings == NULL) != 0); + if (unlikely(__pyx_t_1)) { + + /* "aiohttp/_http_parser.pyx":302 + * PyMem_Malloc(sizeof(cparser.http_parser_settings)) + * if self._csettings is NULL: + * raise MemoryError() # <<<<<<<<<<<<<< + * + * def __dealloc__(self): + */ + PyErr_NoMemory(); __PYX_ERR(0, 302, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":301 + * self._csettings = <cparser.http_parser_settings*> \ + * PyMem_Malloc(sizeof(cparser.http_parser_settings)) + * if self._csettings is NULL: # <<<<<<<<<<<<<< + * raise MemoryError() + * + */ + } + + /* "aiohttp/_http_parser.pyx":293 + * Py_buffer py_buf + * + * def __cinit__(self): # <<<<<<<<<<<<<< + * self._cparser = <cparser.http_parser*> \ + * PyMem_Malloc(sizeof(cparser.http_parser)) + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("aiohttp._http_parser.HttpParser.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":304 + * raise MemoryError() + * + * def __dealloc__(self): # <<<<<<<<<<<<<< + * PyMem_Free(self._cparser) + * PyMem_Free(self._csettings) + */ + +/* Python wrapper */ +static void __pyx_pw_7aiohttp_12_http_parser_10HttpParser_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ +static void __pyx_pw_7aiohttp_12_http_parser_10HttpParser_3__dealloc__(PyObject *__pyx_v_self) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); + __pyx_pf_7aiohttp_12_http_parser_10HttpParser_2__dealloc__(((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +static void __pyx_pf_7aiohttp_12_http_parser_10HttpParser_2__dealloc__(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__dealloc__", 0); + + /* "aiohttp/_http_parser.pyx":305 + * + * def __dealloc__(self): + * PyMem_Free(self._cparser) # <<<<<<<<<<<<<< + * PyMem_Free(self._csettings) + * + */ + PyMem_Free(__pyx_v_self->_cparser); + + /* "aiohttp/_http_parser.pyx":306 + * def __dealloc__(self): + * PyMem_Free(self._cparser) + * PyMem_Free(self._csettings) # <<<<<<<<<<<<<< + * + * cdef _init(self, cparser.http_parser_type mode, + */ + PyMem_Free(__pyx_v_self->_csettings); + + /* "aiohttp/_http_parser.pyx":304 + * raise MemoryError() + * + * def __dealloc__(self): # <<<<<<<<<<<<<< + * PyMem_Free(self._cparser) + * PyMem_Free(self._csettings) + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +/* "aiohttp/_http_parser.pyx":308 + * PyMem_Free(self._csettings) + * + * cdef _init(self, cparser.http_parser_type mode, # <<<<<<<<<<<<<< + * object protocol, object loop, object timer=None, + * size_t max_line_size=8190, size_t max_headers=32768, + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__init(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self, enum http_parser_type __pyx_v_mode, PyObject *__pyx_v_protocol, PyObject *__pyx_v_loop, struct __pyx_opt_args_7aiohttp_12_http_parser_10HttpParser__init *__pyx_optional_args) { + + /* "aiohttp/_http_parser.pyx":309 + * + * cdef _init(self, cparser.http_parser_type mode, + * object protocol, object loop, object timer=None, # <<<<<<<<<<<<<< + * size_t max_line_size=8190, size_t max_headers=32768, + * size_t max_field_size=8190, payload_exception=None, + */ + PyObject *__pyx_v_timer = ((PyObject *)Py_None); + size_t __pyx_v_max_line_size = ((size_t)0x1FFE); + size_t __pyx_v_max_headers = ((size_t)0x8000); + size_t __pyx_v_max_field_size = ((size_t)0x1FFE); + + /* "aiohttp/_http_parser.pyx":311 + * object protocol, object loop, object timer=None, + * size_t max_line_size=8190, size_t max_headers=32768, + * size_t max_field_size=8190, payload_exception=None, # <<<<<<<<<<<<<< + * bint response_with_body=True, bint auto_decompress=True): + * cparser.http_parser_init(self._cparser, mode) + */ + PyObject *__pyx_v_payload_exception = ((PyObject *)Py_None); + + /* "aiohttp/_http_parser.pyx":312 + * size_t max_line_size=8190, size_t max_headers=32768, + * size_t max_field_size=8190, payload_exception=None, + * bint response_with_body=True, bint auto_decompress=True): # <<<<<<<<<<<<<< + * cparser.http_parser_init(self._cparser, mode) + * self._cparser.data = <void*>self + */ + int __pyx_v_response_with_body = ((int)1); + int __pyx_v_auto_decompress = ((int)1); + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("_init", 0); + if (__pyx_optional_args) { + if (__pyx_optional_args->__pyx_n > 0) { + __pyx_v_timer = __pyx_optional_args->timer; + if (__pyx_optional_args->__pyx_n > 1) { + __pyx_v_max_line_size = __pyx_optional_args->max_line_size; + if (__pyx_optional_args->__pyx_n > 2) { + __pyx_v_max_headers = __pyx_optional_args->max_headers; + if (__pyx_optional_args->__pyx_n > 3) { + __pyx_v_max_field_size = __pyx_optional_args->max_field_size; + if (__pyx_optional_args->__pyx_n > 4) { + __pyx_v_payload_exception = __pyx_optional_args->payload_exception; + if (__pyx_optional_args->__pyx_n > 5) { + __pyx_v_response_with_body = __pyx_optional_args->response_with_body; + if (__pyx_optional_args->__pyx_n > 6) { + __pyx_v_auto_decompress = __pyx_optional_args->auto_decompress; + } + } + } + } + } + } + } + } + + /* "aiohttp/_http_parser.pyx":313 + * size_t max_field_size=8190, payload_exception=None, + * bint response_with_body=True, bint auto_decompress=True): + * cparser.http_parser_init(self._cparser, mode) # <<<<<<<<<<<<<< + * self._cparser.data = <void*>self + * self._cparser.content_length = 0 + */ + http_parser_init(__pyx_v_self->_cparser, __pyx_v_mode); + + /* "aiohttp/_http_parser.pyx":314 + * bint response_with_body=True, bint auto_decompress=True): + * cparser.http_parser_init(self._cparser, mode) + * self._cparser.data = <void*>self # <<<<<<<<<<<<<< + * self._cparser.content_length = 0 + * + */ + __pyx_v_self->_cparser->data = ((void *)__pyx_v_self); + + /* "aiohttp/_http_parser.pyx":315 + * cparser.http_parser_init(self._cparser, mode) + * self._cparser.data = <void*>self + * self._cparser.content_length = 0 # <<<<<<<<<<<<<< + * + * cparser.http_parser_settings_init(self._csettings) + */ + __pyx_v_self->_cparser->content_length = 0; + + /* "aiohttp/_http_parser.pyx":317 + * self._cparser.content_length = 0 + * + * cparser.http_parser_settings_init(self._csettings) # <<<<<<<<<<<<<< + * + * self._protocol = protocol + */ + http_parser_settings_init(__pyx_v_self->_csettings); + + /* "aiohttp/_http_parser.pyx":319 + * cparser.http_parser_settings_init(self._csettings) + * + * self._protocol = protocol # <<<<<<<<<<<<<< + * self._loop = loop + * self._timer = timer + */ + __Pyx_INCREF(__pyx_v_protocol); + __Pyx_GIVEREF(__pyx_v_protocol); + __Pyx_GOTREF(__pyx_v_self->_protocol); + __Pyx_DECREF(__pyx_v_self->_protocol); + __pyx_v_self->_protocol = __pyx_v_protocol; + + /* "aiohttp/_http_parser.pyx":320 + * + * self._protocol = protocol + * self._loop = loop # <<<<<<<<<<<<<< + * self._timer = timer + * + */ + __Pyx_INCREF(__pyx_v_loop); + __Pyx_GIVEREF(__pyx_v_loop); + __Pyx_GOTREF(__pyx_v_self->_loop); + __Pyx_DECREF(__pyx_v_self->_loop); + __pyx_v_self->_loop = __pyx_v_loop; + + /* "aiohttp/_http_parser.pyx":321 + * self._protocol = protocol + * self._loop = loop + * self._timer = timer # <<<<<<<<<<<<<< + * + * self._buf = bytearray() + */ + __Pyx_INCREF(__pyx_v_timer); + __Pyx_GIVEREF(__pyx_v_timer); + __Pyx_GOTREF(__pyx_v_self->_timer); + __Pyx_DECREF(__pyx_v_self->_timer); + __pyx_v_self->_timer = __pyx_v_timer; + + /* "aiohttp/_http_parser.pyx":323 + * self._timer = timer + * + * self._buf = bytearray() # <<<<<<<<<<<<<< + * self._payload = None + * self._payload_error = 0 + */ + __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyByteArray_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 323, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->_buf); + __Pyx_DECREF(__pyx_v_self->_buf); + __pyx_v_self->_buf = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":324 + * + * self._buf = bytearray() + * self._payload = None # <<<<<<<<<<<<<< + * self._payload_error = 0 + * self._payload_exception = payload_exception + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_payload); + __Pyx_DECREF(__pyx_v_self->_payload); + __pyx_v_self->_payload = Py_None; + + /* "aiohttp/_http_parser.pyx":325 + * self._buf = bytearray() + * self._payload = None + * self._payload_error = 0 # <<<<<<<<<<<<<< + * self._payload_exception = payload_exception + * self._messages = [] + */ + __pyx_v_self->_payload_error = 0; + + /* "aiohttp/_http_parser.pyx":326 + * self._payload = None + * self._payload_error = 0 + * self._payload_exception = payload_exception # <<<<<<<<<<<<<< + * self._messages = [] + * + */ + __Pyx_INCREF(__pyx_v_payload_exception); + __Pyx_GIVEREF(__pyx_v_payload_exception); + __Pyx_GOTREF(__pyx_v_self->_payload_exception); + __Pyx_DECREF(__pyx_v_self->_payload_exception); + __pyx_v_self->_payload_exception = __pyx_v_payload_exception; + + /* "aiohttp/_http_parser.pyx":327 + * self._payload_error = 0 + * self._payload_exception = payload_exception + * self._messages = [] # <<<<<<<<<<<<<< + * + * self._raw_name = bytearray() + */ + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 327, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->_messages); + __Pyx_DECREF(__pyx_v_self->_messages); + __pyx_v_self->_messages = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":329 + * self._messages = [] + * + * self._raw_name = bytearray() # <<<<<<<<<<<<<< + * self._raw_value = bytearray() + * self._has_value = False + */ + __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyByteArray_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 329, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->_raw_name); + __Pyx_DECREF(__pyx_v_self->_raw_name); + __pyx_v_self->_raw_name = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":330 + * + * self._raw_name = bytearray() + * self._raw_value = bytearray() # <<<<<<<<<<<<<< + * self._has_value = False + * + */ + __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyByteArray_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 330, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->_raw_value); + __Pyx_DECREF(__pyx_v_self->_raw_value); + __pyx_v_self->_raw_value = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":331 + * self._raw_name = bytearray() + * self._raw_value = bytearray() + * self._has_value = False # <<<<<<<<<<<<<< + * + * self._max_line_size = max_line_size + */ + __pyx_v_self->_has_value = 0; + + /* "aiohttp/_http_parser.pyx":333 + * self._has_value = False + * + * self._max_line_size = max_line_size # <<<<<<<<<<<<<< + * self._max_headers = max_headers + * self._max_field_size = max_field_size + */ + __pyx_v_self->_max_line_size = __pyx_v_max_line_size; + + /* "aiohttp/_http_parser.pyx":334 + * + * self._max_line_size = max_line_size + * self._max_headers = max_headers # <<<<<<<<<<<<<< + * self._max_field_size = max_field_size + * self._response_with_body = response_with_body + */ + __pyx_v_self->_max_headers = __pyx_v_max_headers; + + /* "aiohttp/_http_parser.pyx":335 + * self._max_line_size = max_line_size + * self._max_headers = max_headers + * self._max_field_size = max_field_size # <<<<<<<<<<<<<< + * self._response_with_body = response_with_body + * self._upgraded = False + */ + __pyx_v_self->_max_field_size = __pyx_v_max_field_size; + + /* "aiohttp/_http_parser.pyx":336 + * self._max_headers = max_headers + * self._max_field_size = max_field_size + * self._response_with_body = response_with_body # <<<<<<<<<<<<<< + * self._upgraded = False + * self._auto_decompress = auto_decompress + */ + __pyx_v_self->_response_with_body = __pyx_v_response_with_body; + + /* "aiohttp/_http_parser.pyx":337 + * self._max_field_size = max_field_size + * self._response_with_body = response_with_body + * self._upgraded = False # <<<<<<<<<<<<<< + * self._auto_decompress = auto_decompress + * self._content_encoding = None + */ + __pyx_v_self->_upgraded = 0; + + /* "aiohttp/_http_parser.pyx":338 + * self._response_with_body = response_with_body + * self._upgraded = False + * self._auto_decompress = auto_decompress # <<<<<<<<<<<<<< + * self._content_encoding = None + * + */ + __pyx_v_self->_auto_decompress = __pyx_v_auto_decompress; + + /* "aiohttp/_http_parser.pyx":339 + * self._upgraded = False + * self._auto_decompress = auto_decompress + * self._content_encoding = None # <<<<<<<<<<<<<< + * + * self._csettings.on_url = cb_on_url + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_content_encoding); + __Pyx_DECREF(__pyx_v_self->_content_encoding); + __pyx_v_self->_content_encoding = ((PyObject*)Py_None); + + /* "aiohttp/_http_parser.pyx":341 + * self._content_encoding = None + * + * self._csettings.on_url = cb_on_url # <<<<<<<<<<<<<< + * self._csettings.on_status = cb_on_status + * self._csettings.on_header_field = cb_on_header_field + */ + __pyx_v_self->_csettings->on_url = __pyx_f_7aiohttp_12_http_parser_cb_on_url; + + /* "aiohttp/_http_parser.pyx":342 + * + * self._csettings.on_url = cb_on_url + * self._csettings.on_status = cb_on_status # <<<<<<<<<<<<<< + * self._csettings.on_header_field = cb_on_header_field + * self._csettings.on_header_value = cb_on_header_value + */ + __pyx_v_self->_csettings->on_status = __pyx_f_7aiohttp_12_http_parser_cb_on_status; + + /* "aiohttp/_http_parser.pyx":343 + * self._csettings.on_url = cb_on_url + * self._csettings.on_status = cb_on_status + * self._csettings.on_header_field = cb_on_header_field # <<<<<<<<<<<<<< + * self._csettings.on_header_value = cb_on_header_value + * self._csettings.on_headers_complete = cb_on_headers_complete + */ + __pyx_v_self->_csettings->on_header_field = __pyx_f_7aiohttp_12_http_parser_cb_on_header_field; + + /* "aiohttp/_http_parser.pyx":344 + * self._csettings.on_status = cb_on_status + * self._csettings.on_header_field = cb_on_header_field + * self._csettings.on_header_value = cb_on_header_value # <<<<<<<<<<<<<< + * self._csettings.on_headers_complete = cb_on_headers_complete + * self._csettings.on_body = cb_on_body + */ + __pyx_v_self->_csettings->on_header_value = __pyx_f_7aiohttp_12_http_parser_cb_on_header_value; + + /* "aiohttp/_http_parser.pyx":345 + * self._csettings.on_header_field = cb_on_header_field + * self._csettings.on_header_value = cb_on_header_value + * self._csettings.on_headers_complete = cb_on_headers_complete # <<<<<<<<<<<<<< + * self._csettings.on_body = cb_on_body + * self._csettings.on_message_begin = cb_on_message_begin + */ + __pyx_v_self->_csettings->on_headers_complete = __pyx_f_7aiohttp_12_http_parser_cb_on_headers_complete; + + /* "aiohttp/_http_parser.pyx":346 + * self._csettings.on_header_value = cb_on_header_value + * self._csettings.on_headers_complete = cb_on_headers_complete + * self._csettings.on_body = cb_on_body # <<<<<<<<<<<<<< + * self._csettings.on_message_begin = cb_on_message_begin + * self._csettings.on_message_complete = cb_on_message_complete + */ + __pyx_v_self->_csettings->on_body = __pyx_f_7aiohttp_12_http_parser_cb_on_body; + + /* "aiohttp/_http_parser.pyx":347 + * self._csettings.on_headers_complete = cb_on_headers_complete + * self._csettings.on_body = cb_on_body + * self._csettings.on_message_begin = cb_on_message_begin # <<<<<<<<<<<<<< + * self._csettings.on_message_complete = cb_on_message_complete + * self._csettings.on_chunk_header = cb_on_chunk_header + */ + __pyx_v_self->_csettings->on_message_begin = __pyx_f_7aiohttp_12_http_parser_cb_on_message_begin; + + /* "aiohttp/_http_parser.pyx":348 + * self._csettings.on_body = cb_on_body + * self._csettings.on_message_begin = cb_on_message_begin + * self._csettings.on_message_complete = cb_on_message_complete # <<<<<<<<<<<<<< + * self._csettings.on_chunk_header = cb_on_chunk_header + * self._csettings.on_chunk_complete = cb_on_chunk_complete + */ + __pyx_v_self->_csettings->on_message_complete = __pyx_f_7aiohttp_12_http_parser_cb_on_message_complete; + + /* "aiohttp/_http_parser.pyx":349 + * self._csettings.on_message_begin = cb_on_message_begin + * self._csettings.on_message_complete = cb_on_message_complete + * self._csettings.on_chunk_header = cb_on_chunk_header # <<<<<<<<<<<<<< + * self._csettings.on_chunk_complete = cb_on_chunk_complete + * + */ + __pyx_v_self->_csettings->on_chunk_header = __pyx_f_7aiohttp_12_http_parser_cb_on_chunk_header; + + /* "aiohttp/_http_parser.pyx":350 + * self._csettings.on_message_complete = cb_on_message_complete + * self._csettings.on_chunk_header = cb_on_chunk_header + * self._csettings.on_chunk_complete = cb_on_chunk_complete # <<<<<<<<<<<<<< + * + * self._last_error = None + */ + __pyx_v_self->_csettings->on_chunk_complete = __pyx_f_7aiohttp_12_http_parser_cb_on_chunk_complete; + + /* "aiohttp/_http_parser.pyx":352 + * self._csettings.on_chunk_complete = cb_on_chunk_complete + * + * self._last_error = None # <<<<<<<<<<<<<< + * + * cdef _process_header(self): + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_last_error); + __Pyx_DECREF(__pyx_v_self->_last_error); + __pyx_v_self->_last_error = Py_None; + + /* "aiohttp/_http_parser.pyx":308 + * PyMem_Free(self._csettings) + * + * cdef _init(self, cparser.http_parser_type mode, # <<<<<<<<<<<<<< + * object protocol, object loop, object timer=None, + * size_t max_line_size=8190, size_t max_headers=32768, + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser.HttpParser._init", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":354 + * self._last_error = None + * + * cdef _process_header(self): # <<<<<<<<<<<<<< + * if self._raw_name: + * raw_name = bytes(self._raw_name) + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__process_header(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self) { + PyObject *__pyx_v_raw_name = NULL; + PyObject *__pyx_v_raw_value = NULL; + PyObject *__pyx_v_name = NULL; + PyObject *__pyx_v_value = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + int __pyx_t_8; + __Pyx_RefNannySetupContext("_process_header", 0); + + /* "aiohttp/_http_parser.pyx":355 + * + * cdef _process_header(self): + * if self._raw_name: # <<<<<<<<<<<<<< + * raw_name = bytes(self._raw_name) + * raw_value = bytes(self._raw_value) + */ + __pyx_t_1 = (__pyx_v_self->_raw_name != Py_None)&&(PyByteArray_GET_SIZE(__pyx_v_self->_raw_name) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_parser.pyx":356 + * cdef _process_header(self): + * if self._raw_name: + * raw_name = bytes(self._raw_name) # <<<<<<<<<<<<<< + * raw_value = bytes(self._raw_value) + * + */ + __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyBytes_Type)), __pyx_v_self->_raw_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 356, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_v_raw_name = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":357 + * if self._raw_name: + * raw_name = bytes(self._raw_name) + * raw_value = bytes(self._raw_value) # <<<<<<<<<<<<<< + * + * name = find_header(raw_name) + */ + __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyBytes_Type)), __pyx_v_self->_raw_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 357, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_v_raw_value = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":359 + * raw_value = bytes(self._raw_value) + * + * name = find_header(raw_name) # <<<<<<<<<<<<<< + * value = raw_value.decode('utf-8', 'surrogateescape') + * + */ + __pyx_t_2 = __pyx_f_7aiohttp_12_http_parser_find_header(__pyx_v_raw_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 359, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_v_name = __pyx_t_2; + __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":360 + * + * name = find_header(raw_name) + * value = raw_value.decode('utf-8', 'surrogateescape') # <<<<<<<<<<<<<< + * + * self._headers.add(name, value) + */ + __pyx_t_2 = __Pyx_decode_bytes(__pyx_v_raw_value, 0, PY_SSIZE_T_MAX, NULL, ((char const *)"surrogateescape"), PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 360, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_v_value = __pyx_t_2; + __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":362 + * value = raw_value.decode('utf-8', 'surrogateescape') + * + * self._headers.add(name, value) # <<<<<<<<<<<<<< + * + * if name is CONTENT_ENCODING: + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_headers, __pyx_n_s_add); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 362, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_name, __pyx_v_value}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 362, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_name, __pyx_v_value}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 362, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 362, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_INCREF(__pyx_v_name); + __Pyx_GIVEREF(__pyx_v_name); + PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_name); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_value); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 362, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":364 + * self._headers.add(name, value) + * + * if name is CONTENT_ENCODING: # <<<<<<<<<<<<<< + * self._content_encoding = value + * + */ + __pyx_t_1 = (__pyx_v_name == __pyx_v_7aiohttp_12_http_parser_CONTENT_ENCODING); + __pyx_t_7 = (__pyx_t_1 != 0); + if (__pyx_t_7) { + + /* "aiohttp/_http_parser.pyx":365 + * + * if name is CONTENT_ENCODING: + * self._content_encoding = value # <<<<<<<<<<<<<< + * + * PyByteArray_Resize(self._raw_name, 0) + */ + if (!(likely(PyUnicode_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(0, 365, __pyx_L1_error) + __pyx_t_2 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_v_self->_content_encoding); + __Pyx_DECREF(__pyx_v_self->_content_encoding); + __pyx_v_self->_content_encoding = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":364 + * self._headers.add(name, value) + * + * if name is CONTENT_ENCODING: # <<<<<<<<<<<<<< + * self._content_encoding = value + * + */ + } + + /* "aiohttp/_http_parser.pyx":367 + * self._content_encoding = value + * + * PyByteArray_Resize(self._raw_name, 0) # <<<<<<<<<<<<<< + * PyByteArray_Resize(self._raw_value, 0) + * self._has_value = False + */ + __pyx_t_2 = __pyx_v_self->_raw_name; + __Pyx_INCREF(__pyx_t_2); + __pyx_t_5 = PyByteArray_Resize(__pyx_t_2, 0); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 367, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":368 + * + * PyByteArray_Resize(self._raw_name, 0) + * PyByteArray_Resize(self._raw_value, 0) # <<<<<<<<<<<<<< + * self._has_value = False + * self._raw_headers.append((raw_name, raw_value)) + */ + __pyx_t_2 = __pyx_v_self->_raw_value; + __Pyx_INCREF(__pyx_t_2); + __pyx_t_5 = PyByteArray_Resize(__pyx_t_2, 0); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 368, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":369 + * PyByteArray_Resize(self._raw_name, 0) + * PyByteArray_Resize(self._raw_value, 0) + * self._has_value = False # <<<<<<<<<<<<<< + * self._raw_headers.append((raw_name, raw_value)) + * + */ + __pyx_v_self->_has_value = 0; + + /* "aiohttp/_http_parser.pyx":370 + * PyByteArray_Resize(self._raw_value, 0) + * self._has_value = False + * self._raw_headers.append((raw_name, raw_value)) # <<<<<<<<<<<<<< + * + * cdef _on_header_field(self, char* at, size_t length): + */ + if (unlikely(__pyx_v_self->_raw_headers == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); + __PYX_ERR(0, 370, __pyx_L1_error) + } + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 370, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_raw_name); + __Pyx_GIVEREF(__pyx_v_raw_name); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_raw_name); + __Pyx_INCREF(__pyx_v_raw_value); + __Pyx_GIVEREF(__pyx_v_raw_value); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_raw_value); + __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_self->_raw_headers, __pyx_t_2); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 370, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":355 + * + * cdef _process_header(self): + * if self._raw_name: # <<<<<<<<<<<<<< + * raw_name = bytes(self._raw_name) + * raw_value = bytes(self._raw_value) + */ + } + + /* "aiohttp/_http_parser.pyx":354 + * self._last_error = None + * + * cdef _process_header(self): # <<<<<<<<<<<<<< + * if self._raw_name: + * raw_name = bytes(self._raw_name) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("aiohttp._http_parser.HttpParser._process_header", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_raw_name); + __Pyx_XDECREF(__pyx_v_raw_value); + __Pyx_XDECREF(__pyx_v_name); + __Pyx_XDECREF(__pyx_v_value); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":372 + * self._raw_headers.append((raw_name, raw_value)) + * + * cdef _on_header_field(self, char* at, size_t length): # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef char *buf + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_header_field(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self, char *__pyx_v_at, size_t __pyx_v_length) { + Py_ssize_t __pyx_v_size; + char *__pyx_v_buf; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + __Pyx_RefNannySetupContext("_on_header_field", 0); + + /* "aiohttp/_http_parser.pyx":375 + * cdef Py_ssize_t size + * cdef char *buf + * if self._has_value: # <<<<<<<<<<<<<< + * self._process_header() + * + */ + __pyx_t_1 = (__pyx_v_self->_has_value != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_parser.pyx":376 + * cdef char *buf + * if self._has_value: + * self._process_header() # <<<<<<<<<<<<<< + * + * size = PyByteArray_Size(self._raw_name) + */ + __pyx_t_2 = ((struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser *)__pyx_v_self->__pyx_vtab)->_process_header(__pyx_v_self); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 376, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":375 + * cdef Py_ssize_t size + * cdef char *buf + * if self._has_value: # <<<<<<<<<<<<<< + * self._process_header() + * + */ + } + + /* "aiohttp/_http_parser.pyx":378 + * self._process_header() + * + * size = PyByteArray_Size(self._raw_name) # <<<<<<<<<<<<<< + * PyByteArray_Resize(self._raw_name, size + length) + * buf = PyByteArray_AsString(self._raw_name) + */ + __pyx_t_2 = __pyx_v_self->_raw_name; + __Pyx_INCREF(__pyx_t_2); + __pyx_t_3 = PyByteArray_Size(__pyx_t_2); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 378, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_size = __pyx_t_3; + + /* "aiohttp/_http_parser.pyx":379 + * + * size = PyByteArray_Size(self._raw_name) + * PyByteArray_Resize(self._raw_name, size + length) # <<<<<<<<<<<<<< + * buf = PyByteArray_AsString(self._raw_name) + * memcpy(buf + size, at, length) + */ + __pyx_t_2 = __pyx_v_self->_raw_name; + __Pyx_INCREF(__pyx_t_2); + __pyx_t_4 = PyByteArray_Resize(__pyx_t_2, (__pyx_v_size + __pyx_v_length)); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 379, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":380 + * size = PyByteArray_Size(self._raw_name) + * PyByteArray_Resize(self._raw_name, size + length) + * buf = PyByteArray_AsString(self._raw_name) # <<<<<<<<<<<<<< + * memcpy(buf + size, at, length) + * + */ + __pyx_t_2 = __pyx_v_self->_raw_name; + __Pyx_INCREF(__pyx_t_2); + __pyx_v_buf = PyByteArray_AsString(__pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":381 + * PyByteArray_Resize(self._raw_name, size + length) + * buf = PyByteArray_AsString(self._raw_name) + * memcpy(buf + size, at, length) # <<<<<<<<<<<<<< + * + * cdef _on_header_value(self, char* at, size_t length): + */ + (void)(memcpy((__pyx_v_buf + __pyx_v_size), __pyx_v_at, __pyx_v_length)); + + /* "aiohttp/_http_parser.pyx":372 + * self._raw_headers.append((raw_name, raw_value)) + * + * cdef _on_header_field(self, char* at, size_t length): # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef char *buf + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("aiohttp._http_parser.HttpParser._on_header_field", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":383 + * memcpy(buf + size, at, length) + * + * cdef _on_header_value(self, char* at, size_t length): # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef char *buf + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_header_value(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self, char *__pyx_v_at, size_t __pyx_v_length) { + Py_ssize_t __pyx_v_size; + char *__pyx_v_buf; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + int __pyx_t_3; + __Pyx_RefNannySetupContext("_on_header_value", 0); + + /* "aiohttp/_http_parser.pyx":387 + * cdef char *buf + * + * size = PyByteArray_Size(self._raw_value) # <<<<<<<<<<<<<< + * PyByteArray_Resize(self._raw_value, size + length) + * buf = PyByteArray_AsString(self._raw_value) + */ + __pyx_t_1 = __pyx_v_self->_raw_value; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_2 = PyByteArray_Size(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1L))) __PYX_ERR(0, 387, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_size = __pyx_t_2; + + /* "aiohttp/_http_parser.pyx":388 + * + * size = PyByteArray_Size(self._raw_value) + * PyByteArray_Resize(self._raw_value, size + length) # <<<<<<<<<<<<<< + * buf = PyByteArray_AsString(self._raw_value) + * memcpy(buf + size, at, length) + */ + __pyx_t_1 = __pyx_v_self->_raw_value; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = PyByteArray_Resize(__pyx_t_1, (__pyx_v_size + __pyx_v_length)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 388, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":389 + * size = PyByteArray_Size(self._raw_value) + * PyByteArray_Resize(self._raw_value, size + length) + * buf = PyByteArray_AsString(self._raw_value) # <<<<<<<<<<<<<< + * memcpy(buf + size, at, length) + * self._has_value = True + */ + __pyx_t_1 = __pyx_v_self->_raw_value; + __Pyx_INCREF(__pyx_t_1); + __pyx_v_buf = PyByteArray_AsString(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":390 + * PyByteArray_Resize(self._raw_value, size + length) + * buf = PyByteArray_AsString(self._raw_value) + * memcpy(buf + size, at, length) # <<<<<<<<<<<<<< + * self._has_value = True + * + */ + (void)(memcpy((__pyx_v_buf + __pyx_v_size), __pyx_v_at, __pyx_v_length)); + + /* "aiohttp/_http_parser.pyx":391 + * buf = PyByteArray_AsString(self._raw_value) + * memcpy(buf + size, at, length) + * self._has_value = True # <<<<<<<<<<<<<< + * + * cdef _on_headers_complete(self): + */ + __pyx_v_self->_has_value = 1; + + /* "aiohttp/_http_parser.pyx":383 + * memcpy(buf + size, at, length) + * + * cdef _on_header_value(self, char* at, size_t length): # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * cdef char *buf + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser.HttpParser._on_header_value", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":393 + * self._has_value = True + * + * cdef _on_headers_complete(self): # <<<<<<<<<<<<<< + * self._process_header() + * + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_headers_complete(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self) { + PyObject *__pyx_v_method = NULL; + int __pyx_v_should_close; + unsigned int __pyx_v_upgrade; + unsigned int __pyx_v_chunked; + PyObject *__pyx_v_raw_headers = NULL; + PyObject *__pyx_v_headers = NULL; + PyObject *__pyx_v_encoding = NULL; + PyObject *__pyx_v_enc = NULL; + PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_v_payload = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + unsigned int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + int __pyx_t_9; + int __pyx_t_10; + __Pyx_RefNannySetupContext("_on_headers_complete", 0); + + /* "aiohttp/_http_parser.pyx":394 + * + * cdef _on_headers_complete(self): + * self._process_header() # <<<<<<<<<<<<<< + * + * method = http_method_str(self._cparser.method) + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser *)__pyx_v_self->__pyx_vtab)->_process_header(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 394, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":396 + * self._process_header() + * + * method = http_method_str(self._cparser.method) # <<<<<<<<<<<<<< + * should_close = not cparser.http_should_keep_alive(self._cparser) + * upgrade = self._cparser.upgrade + */ + __pyx_t_1 = __pyx_f_7aiohttp_12_http_parser_http_method_str(__pyx_v_self->_cparser->method); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 396, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_method = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":397 + * + * method = http_method_str(self._cparser.method) + * should_close = not cparser.http_should_keep_alive(self._cparser) # <<<<<<<<<<<<<< + * upgrade = self._cparser.upgrade + * chunked = self._cparser.flags & cparser.F_CHUNKED + */ + __pyx_v_should_close = (!(http_should_keep_alive(__pyx_v_self->_cparser) != 0)); + + /* "aiohttp/_http_parser.pyx":398 + * method = http_method_str(self._cparser.method) + * should_close = not cparser.http_should_keep_alive(self._cparser) + * upgrade = self._cparser.upgrade # <<<<<<<<<<<<<< + * chunked = self._cparser.flags & cparser.F_CHUNKED + * + */ + __pyx_t_2 = __pyx_v_self->_cparser->upgrade; + __pyx_v_upgrade = __pyx_t_2; + + /* "aiohttp/_http_parser.pyx":399 + * should_close = not cparser.http_should_keep_alive(self._cparser) + * upgrade = self._cparser.upgrade + * chunked = self._cparser.flags & cparser.F_CHUNKED # <<<<<<<<<<<<<< + * + * raw_headers = tuple(self._raw_headers) + */ + __pyx_v_chunked = (__pyx_v_self->_cparser->flags & F_CHUNKED); + + /* "aiohttp/_http_parser.pyx":401 + * chunked = self._cparser.flags & cparser.F_CHUNKED + * + * raw_headers = tuple(self._raw_headers) # <<<<<<<<<<<<<< + * headers = CIMultiDictProxy(self._headers) + * + */ + if (unlikely(__pyx_v_self->_raw_headers == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 401, __pyx_L1_error) + } + __pyx_t_1 = PyList_AsTuple(__pyx_v_self->_raw_headers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 401, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_raw_headers = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":402 + * + * raw_headers = tuple(self._raw_headers) + * headers = CIMultiDictProxy(self._headers) # <<<<<<<<<<<<<< + * + * if upgrade or self._cparser.method == 5: # cparser.CONNECT: + */ + __Pyx_INCREF(__pyx_v_7aiohttp_12_http_parser_CIMultiDictProxy); + __pyx_t_3 = __pyx_v_7aiohttp_12_http_parser_CIMultiDictProxy; __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_self->_headers) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_self->_headers); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 402, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_headers = __pyx_t_1; + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":404 + * headers = CIMultiDictProxy(self._headers) + * + * if upgrade or self._cparser.method == 5: # cparser.CONNECT: # <<<<<<<<<<<<<< + * self._upgraded = True + * + */ + __pyx_t_6 = (__pyx_v_upgrade != 0); + if (!__pyx_t_6) { + } else { + __pyx_t_5 = __pyx_t_6; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_6 = ((__pyx_v_self->_cparser->method == 5) != 0); + __pyx_t_5 = __pyx_t_6; + __pyx_L4_bool_binop_done:; + if (__pyx_t_5) { + + /* "aiohttp/_http_parser.pyx":405 + * + * if upgrade or self._cparser.method == 5: # cparser.CONNECT: + * self._upgraded = True # <<<<<<<<<<<<<< + * + * # do not support old websocket spec + */ + __pyx_v_self->_upgraded = 1; + + /* "aiohttp/_http_parser.pyx":404 + * headers = CIMultiDictProxy(self._headers) + * + * if upgrade or self._cparser.method == 5: # cparser.CONNECT: # <<<<<<<<<<<<<< + * self._upgraded = True + * + */ + } + + /* "aiohttp/_http_parser.pyx":408 + * + * # do not support old websocket spec + * if SEC_WEBSOCKET_KEY1 in headers: # <<<<<<<<<<<<<< + * raise InvalidHeader(SEC_WEBSOCKET_KEY1) + * + */ + __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_v_7aiohttp_12_http_parser_SEC_WEBSOCKET_KEY1, __pyx_v_headers, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 408, __pyx_L1_error) + __pyx_t_6 = (__pyx_t_5 != 0); + if (unlikely(__pyx_t_6)) { + + /* "aiohttp/_http_parser.pyx":409 + * # do not support old websocket spec + * if SEC_WEBSOCKET_KEY1 in headers: + * raise InvalidHeader(SEC_WEBSOCKET_KEY1) # <<<<<<<<<<<<<< + * + * encoding = None + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InvalidHeader); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 409, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_7aiohttp_12_http_parser_SEC_WEBSOCKET_KEY1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_7aiohttp_12_http_parser_SEC_WEBSOCKET_KEY1); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 409, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 409, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":408 + * + * # do not support old websocket spec + * if SEC_WEBSOCKET_KEY1 in headers: # <<<<<<<<<<<<<< + * raise InvalidHeader(SEC_WEBSOCKET_KEY1) + * + */ + } + + /* "aiohttp/_http_parser.pyx":411 + * raise InvalidHeader(SEC_WEBSOCKET_KEY1) + * + * encoding = None # <<<<<<<<<<<<<< + * enc = self._content_encoding + * if enc is not None: + */ + __Pyx_INCREF(Py_None); + __pyx_v_encoding = Py_None; + + /* "aiohttp/_http_parser.pyx":412 + * + * encoding = None + * enc = self._content_encoding # <<<<<<<<<<<<<< + * if enc is not None: + * self._content_encoding = None + */ + __pyx_t_1 = __pyx_v_self->_content_encoding; + __Pyx_INCREF(__pyx_t_1); + __pyx_v_enc = __pyx_t_1; + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":413 + * encoding = None + * enc = self._content_encoding + * if enc is not None: # <<<<<<<<<<<<<< + * self._content_encoding = None + * enc = enc.lower() + */ + __pyx_t_6 = (__pyx_v_enc != Py_None); + __pyx_t_5 = (__pyx_t_6 != 0); + if (__pyx_t_5) { + + /* "aiohttp/_http_parser.pyx":414 + * enc = self._content_encoding + * if enc is not None: + * self._content_encoding = None # <<<<<<<<<<<<<< + * enc = enc.lower() + * if enc in ('gzip', 'deflate', 'br'): + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_content_encoding); + __Pyx_DECREF(__pyx_v_self->_content_encoding); + __pyx_v_self->_content_encoding = ((PyObject*)Py_None); + + /* "aiohttp/_http_parser.pyx":415 + * if enc is not None: + * self._content_encoding = None + * enc = enc.lower() # <<<<<<<<<<<<<< + * if enc in ('gzip', 'deflate', 'br'): + * encoding = enc + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_enc, __pyx_n_s_lower); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 415, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 415, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_enc, __pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":416 + * self._content_encoding = None + * enc = enc.lower() + * if enc in ('gzip', 'deflate', 'br'): # <<<<<<<<<<<<<< + * encoding = enc + * + */ + __Pyx_INCREF(__pyx_v_enc); + __pyx_t_1 = __pyx_v_enc; + __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_gzip, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 416, __pyx_L1_error) + if (!__pyx_t_6) { + } else { + __pyx_t_5 = __pyx_t_6; + goto __pyx_L9_bool_binop_done; + } + __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_deflate, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 416, __pyx_L1_error) + if (!__pyx_t_6) { + } else { + __pyx_t_5 = __pyx_t_6; + goto __pyx_L9_bool_binop_done; + } + __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_br, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 416, __pyx_L1_error) + __pyx_t_5 = __pyx_t_6; + __pyx_L9_bool_binop_done:; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_6 = (__pyx_t_5 != 0); + if (__pyx_t_6) { + + /* "aiohttp/_http_parser.pyx":417 + * enc = enc.lower() + * if enc in ('gzip', 'deflate', 'br'): + * encoding = enc # <<<<<<<<<<<<<< + * + * if self._cparser.type == cparser.HTTP_REQUEST: + */ + __Pyx_INCREF(__pyx_v_enc); + __Pyx_DECREF_SET(__pyx_v_encoding, __pyx_v_enc); + + /* "aiohttp/_http_parser.pyx":416 + * self._content_encoding = None + * enc = enc.lower() + * if enc in ('gzip', 'deflate', 'br'): # <<<<<<<<<<<<<< + * encoding = enc + * + */ + } + + /* "aiohttp/_http_parser.pyx":413 + * encoding = None + * enc = self._content_encoding + * if enc is not None: # <<<<<<<<<<<<<< + * self._content_encoding = None + * enc = enc.lower() + */ + } + + /* "aiohttp/_http_parser.pyx":419 + * encoding = enc + * + * if self._cparser.type == cparser.HTTP_REQUEST: # <<<<<<<<<<<<<< + * msg = _new_request_message( + * method, self._path, + */ + __pyx_t_6 = ((__pyx_v_self->_cparser->type == HTTP_REQUEST) != 0); + if (__pyx_t_6) { + + /* "aiohttp/_http_parser.pyx":421 + * if self._cparser.type == cparser.HTTP_REQUEST: + * msg = _new_request_message( + * method, self._path, # <<<<<<<<<<<<<< + * self.http_version(), headers, raw_headers, + * should_close, encoding, upgrade, chunked, self._url) + */ + __pyx_t_1 = __pyx_v_self->_path; + __Pyx_INCREF(__pyx_t_1); + + /* "aiohttp/_http_parser.pyx":422 + * msg = _new_request_message( + * method, self._path, + * self.http_version(), headers, raw_headers, # <<<<<<<<<<<<<< + * should_close, encoding, upgrade, chunked, self._url) + * else: + */ + __pyx_t_3 = __pyx_f_7aiohttp_12_http_parser_10HttpParser_http_version(__pyx_v_self); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 422, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + + /* "aiohttp/_http_parser.pyx":423 + * method, self._path, + * self.http_version(), headers, raw_headers, + * should_close, encoding, upgrade, chunked, self._url) # <<<<<<<<<<<<<< + * else: + * msg = _new_response_message( + */ + __pyx_t_4 = __pyx_v_self->_url; + __Pyx_INCREF(__pyx_t_4); + + /* "aiohttp/_http_parser.pyx":420 + * + * if self._cparser.type == cparser.HTTP_REQUEST: + * msg = _new_request_message( # <<<<<<<<<<<<<< + * method, self._path, + * self.http_version(), headers, raw_headers, + */ + __pyx_t_7 = __pyx_f_7aiohttp_12_http_parser__new_request_message(__pyx_v_method, ((PyObject*)__pyx_t_1), __pyx_t_3, __pyx_v_headers, __pyx_v_raw_headers, __pyx_v_should_close, __pyx_v_encoding, __pyx_v_upgrade, __pyx_v_chunked, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 420, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_msg = __pyx_t_7; + __pyx_t_7 = 0; + + /* "aiohttp/_http_parser.pyx":419 + * encoding = enc + * + * if self._cparser.type == cparser.HTTP_REQUEST: # <<<<<<<<<<<<<< + * msg = _new_request_message( + * method, self._path, + */ + goto __pyx_L12; + } + + /* "aiohttp/_http_parser.pyx":425 + * should_close, encoding, upgrade, chunked, self._url) + * else: + * msg = _new_response_message( # <<<<<<<<<<<<<< + * self.http_version(), self._cparser.status_code, self._reason, + * headers, raw_headers, should_close, encoding, + */ + /*else*/ { + + /* "aiohttp/_http_parser.pyx":426 + * else: + * msg = _new_response_message( + * self.http_version(), self._cparser.status_code, self._reason, # <<<<<<<<<<<<<< + * headers, raw_headers, should_close, encoding, + * upgrade, chunked) + */ + __pyx_t_7 = __pyx_f_7aiohttp_12_http_parser_10HttpParser_http_version(__pyx_v_self); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 426, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = __pyx_v_self->_reason; + __Pyx_INCREF(__pyx_t_4); + + /* "aiohttp/_http_parser.pyx":425 + * should_close, encoding, upgrade, chunked, self._url) + * else: + * msg = _new_response_message( # <<<<<<<<<<<<<< + * self.http_version(), self._cparser.status_code, self._reason, + * headers, raw_headers, should_close, encoding, + */ + __pyx_t_3 = __pyx_f_7aiohttp_12_http_parser__new_response_message(__pyx_t_7, __pyx_v_self->_cparser->status_code, ((PyObject*)__pyx_t_4), __pyx_v_headers, __pyx_v_raw_headers, __pyx_v_should_close, __pyx_v_encoding, __pyx_v_upgrade, __pyx_v_chunked); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 425, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_msg = __pyx_t_3; + __pyx_t_3 = 0; + } + __pyx_L12:; + + /* "aiohttp/_http_parser.pyx":430 + * upgrade, chunked) + * + * if (self._cparser.content_length > 0 or chunked or # <<<<<<<<<<<<<< + * self._cparser.method == 5): # CONNECT: 5 + * payload = StreamReader( + */ + __pyx_t_5 = ((__pyx_v_self->_cparser->content_length > 0) != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_6 = __pyx_t_5; + goto __pyx_L14_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_chunked != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_6 = __pyx_t_5; + goto __pyx_L14_bool_binop_done; + } + + /* "aiohttp/_http_parser.pyx":431 + * + * if (self._cparser.content_length > 0 or chunked or + * self._cparser.method == 5): # CONNECT: 5 # <<<<<<<<<<<<<< + * payload = StreamReader( + * self._protocol, timer=self._timer, loop=self._loop) + */ + __pyx_t_5 = ((__pyx_v_self->_cparser->method == 5) != 0); + __pyx_t_6 = __pyx_t_5; + __pyx_L14_bool_binop_done:; + + /* "aiohttp/_http_parser.pyx":430 + * upgrade, chunked) + * + * if (self._cparser.content_length > 0 or chunked or # <<<<<<<<<<<<<< + * self._cparser.method == 5): # CONNECT: 5 + * payload = StreamReader( + */ + if (__pyx_t_6) { + + /* "aiohttp/_http_parser.pyx":432 + * if (self._cparser.content_length > 0 or chunked or + * self._cparser.method == 5): # CONNECT: 5 + * payload = StreamReader( # <<<<<<<<<<<<<< + * self._protocol, timer=self._timer, loop=self._loop) + * else: + */ + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 432, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_self->_protocol); + __Pyx_GIVEREF(__pyx_v_self->_protocol); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_self->_protocol); + + /* "aiohttp/_http_parser.pyx":433 + * self._cparser.method == 5): # CONNECT: 5 + * payload = StreamReader( + * self._protocol, timer=self._timer, loop=self._loop) # <<<<<<<<<<<<<< + * else: + * payload = EMPTY_PAYLOAD + */ + __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 433, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_timer, __pyx_v_self->_timer) < 0) __PYX_ERR(0, 433, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_loop, __pyx_v_self->_loop) < 0) __PYX_ERR(0, 433, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":432 + * if (self._cparser.content_length > 0 or chunked or + * self._cparser.method == 5): # CONNECT: 5 + * payload = StreamReader( # <<<<<<<<<<<<<< + * self._protocol, timer=self._timer, loop=self._loop) + * else: + */ + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_v_7aiohttp_12_http_parser_StreamReader, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 432, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_payload = __pyx_t_7; + __pyx_t_7 = 0; + + /* "aiohttp/_http_parser.pyx":430 + * upgrade, chunked) + * + * if (self._cparser.content_length > 0 or chunked or # <<<<<<<<<<<<<< + * self._cparser.method == 5): # CONNECT: 5 + * payload = StreamReader( + */ + goto __pyx_L13; + } + + /* "aiohttp/_http_parser.pyx":435 + * self._protocol, timer=self._timer, loop=self._loop) + * else: + * payload = EMPTY_PAYLOAD # <<<<<<<<<<<<<< + * + * self._payload = payload + */ + /*else*/ { + __Pyx_INCREF(__pyx_v_7aiohttp_12_http_parser_EMPTY_PAYLOAD); + __pyx_v_payload = __pyx_v_7aiohttp_12_http_parser_EMPTY_PAYLOAD; + } + __pyx_L13:; + + /* "aiohttp/_http_parser.pyx":437 + * payload = EMPTY_PAYLOAD + * + * self._payload = payload # <<<<<<<<<<<<<< + * if encoding is not None and self._auto_decompress: + * self._payload = DeflateBuffer(payload, encoding) + */ + __Pyx_INCREF(__pyx_v_payload); + __Pyx_GIVEREF(__pyx_v_payload); + __Pyx_GOTREF(__pyx_v_self->_payload); + __Pyx_DECREF(__pyx_v_self->_payload); + __pyx_v_self->_payload = __pyx_v_payload; + + /* "aiohttp/_http_parser.pyx":438 + * + * self._payload = payload + * if encoding is not None and self._auto_decompress: # <<<<<<<<<<<<<< + * self._payload = DeflateBuffer(payload, encoding) + * + */ + __pyx_t_5 = (__pyx_v_encoding != Py_None); + __pyx_t_8 = (__pyx_t_5 != 0); + if (__pyx_t_8) { + } else { + __pyx_t_6 = __pyx_t_8; + goto __pyx_L18_bool_binop_done; + } + __pyx_t_8 = (__pyx_v_self->_auto_decompress != 0); + __pyx_t_6 = __pyx_t_8; + __pyx_L18_bool_binop_done:; + if (__pyx_t_6) { + + /* "aiohttp/_http_parser.pyx":439 + * self._payload = payload + * if encoding is not None and self._auto_decompress: + * self._payload = DeflateBuffer(payload, encoding) # <<<<<<<<<<<<<< + * + * if not self._response_with_body: + */ + __Pyx_INCREF(__pyx_v_7aiohttp_12_http_parser_DeflateBuffer); + __pyx_t_4 = __pyx_v_7aiohttp_12_http_parser_DeflateBuffer; __pyx_t_3 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_payload, __pyx_v_encoding}; + __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 439, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_payload, __pyx_v_encoding}; + __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 439, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 439, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_payload); + __Pyx_GIVEREF(__pyx_v_payload); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_payload); + __Pyx_INCREF(__pyx_v_encoding); + __Pyx_GIVEREF(__pyx_v_encoding); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_v_encoding); + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 439, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GIVEREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_v_self->_payload); + __Pyx_DECREF(__pyx_v_self->_payload); + __pyx_v_self->_payload = __pyx_t_7; + __pyx_t_7 = 0; + + /* "aiohttp/_http_parser.pyx":438 + * + * self._payload = payload + * if encoding is not None and self._auto_decompress: # <<<<<<<<<<<<<< + * self._payload = DeflateBuffer(payload, encoding) + * + */ + } + + /* "aiohttp/_http_parser.pyx":441 + * self._payload = DeflateBuffer(payload, encoding) + * + * if not self._response_with_body: # <<<<<<<<<<<<<< + * payload = EMPTY_PAYLOAD + * + */ + __pyx_t_6 = ((!(__pyx_v_self->_response_with_body != 0)) != 0); + if (__pyx_t_6) { + + /* "aiohttp/_http_parser.pyx":442 + * + * if not self._response_with_body: + * payload = EMPTY_PAYLOAD # <<<<<<<<<<<<<< + * + * self._messages.append((msg, payload)) + */ + __Pyx_INCREF(__pyx_v_7aiohttp_12_http_parser_EMPTY_PAYLOAD); + __Pyx_DECREF_SET(__pyx_v_payload, __pyx_v_7aiohttp_12_http_parser_EMPTY_PAYLOAD); + + /* "aiohttp/_http_parser.pyx":441 + * self._payload = DeflateBuffer(payload, encoding) + * + * if not self._response_with_body: # <<<<<<<<<<<<<< + * payload = EMPTY_PAYLOAD + * + */ + } + + /* "aiohttp/_http_parser.pyx":444 + * payload = EMPTY_PAYLOAD + * + * self._messages.append((msg, payload)) # <<<<<<<<<<<<<< + * + * cdef _on_message_complete(self): + */ + if (unlikely(__pyx_v_self->_messages == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); + __PYX_ERR(0, 444, __pyx_L1_error) + } + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 444, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_INCREF(__pyx_v_msg); + __Pyx_GIVEREF(__pyx_v_msg); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_msg); + __Pyx_INCREF(__pyx_v_payload); + __Pyx_GIVEREF(__pyx_v_payload); + PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_payload); + __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_self->_messages, __pyx_t_7); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 444, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "aiohttp/_http_parser.pyx":393 + * self._has_value = True + * + * cdef _on_headers_complete(self): # <<<<<<<<<<<<<< + * self._process_header() + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("aiohttp._http_parser.HttpParser._on_headers_complete", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_method); + __Pyx_XDECREF(__pyx_v_raw_headers); + __Pyx_XDECREF(__pyx_v_headers); + __Pyx_XDECREF(__pyx_v_encoding); + __Pyx_XDECREF(__pyx_v_enc); + __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XDECREF(__pyx_v_payload); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":446 + * self._messages.append((msg, payload)) + * + * cdef _on_message_complete(self): # <<<<<<<<<<<<<< + * self._payload.feed_eof() + * self._payload = None + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_message_complete(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("_on_message_complete", 0); + + /* "aiohttp/_http_parser.pyx":447 + * + * cdef _on_message_complete(self): + * self._payload.feed_eof() # <<<<<<<<<<<<<< + * self._payload = None + * + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_payload, __pyx_n_s_feed_eof); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 447, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 447, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":448 + * cdef _on_message_complete(self): + * self._payload.feed_eof() + * self._payload = None # <<<<<<<<<<<<<< + * + * cdef _on_chunk_header(self): + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_payload); + __Pyx_DECREF(__pyx_v_self->_payload); + __pyx_v_self->_payload = Py_None; + + /* "aiohttp/_http_parser.pyx":446 + * self._messages.append((msg, payload)) + * + * cdef _on_message_complete(self): # <<<<<<<<<<<<<< + * self._payload.feed_eof() + * self._payload = None + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("aiohttp._http_parser.HttpParser._on_message_complete", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":450 + * self._payload = None + * + * cdef _on_chunk_header(self): # <<<<<<<<<<<<<< + * self._payload.begin_http_chunk_receiving() + * + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_chunk_header(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("_on_chunk_header", 0); + + /* "aiohttp/_http_parser.pyx":451 + * + * cdef _on_chunk_header(self): + * self._payload.begin_http_chunk_receiving() # <<<<<<<<<<<<<< + * + * cdef _on_chunk_complete(self): + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_payload, __pyx_n_s_begin_http_chunk_receiving); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 451, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 451, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":450 + * self._payload = None + * + * cdef _on_chunk_header(self): # <<<<<<<<<<<<<< + * self._payload.begin_http_chunk_receiving() + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("aiohttp._http_parser.HttpParser._on_chunk_header", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":453 + * self._payload.begin_http_chunk_receiving() + * + * cdef _on_chunk_complete(self): # <<<<<<<<<<<<<< + * self._payload.end_http_chunk_receiving() + * + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_chunk_complete(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("_on_chunk_complete", 0); + + /* "aiohttp/_http_parser.pyx":454 + * + * cdef _on_chunk_complete(self): + * self._payload.end_http_chunk_receiving() # <<<<<<<<<<<<<< + * + * cdef object _on_status_complete(self): + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_payload, __pyx_n_s_end_http_chunk_receiving); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 454, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 454, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":453 + * self._payload.begin_http_chunk_receiving() + * + * cdef _on_chunk_complete(self): # <<<<<<<<<<<<<< + * self._payload.end_http_chunk_receiving() + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("aiohttp._http_parser.HttpParser._on_chunk_complete", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":456 + * self._payload.end_http_chunk_receiving() + * + * cdef object _on_status_complete(self): # <<<<<<<<<<<<<< + * pass + * + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_status_complete(CYTHON_UNUSED struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("_on_status_complete", 0); + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":459 + * pass + * + * cdef inline http_version(self): # <<<<<<<<<<<<<< + * cdef cparser.http_parser* parser = self._cparser + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_7aiohttp_12_http_parser_10HttpParser_http_version(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self) { + struct http_parser *__pyx_v_parser; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + struct http_parser *__pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + PyObject *__pyx_t_9 = NULL; + __Pyx_RefNannySetupContext("http_version", 0); + + /* "aiohttp/_http_parser.pyx":460 + * + * cdef inline http_version(self): + * cdef cparser.http_parser* parser = self._cparser # <<<<<<<<<<<<<< + * + * if parser.http_major == 1: + */ + __pyx_t_1 = __pyx_v_self->_cparser; + __pyx_v_parser = __pyx_t_1; + + /* "aiohttp/_http_parser.pyx":462 + * cdef cparser.http_parser* parser = self._cparser + * + * if parser.http_major == 1: # <<<<<<<<<<<<<< + * if parser.http_minor == 0: + * return HttpVersion10 + */ + __pyx_t_2 = ((__pyx_v_parser->http_major == 1) != 0); + if (__pyx_t_2) { + + /* "aiohttp/_http_parser.pyx":463 + * + * if parser.http_major == 1: + * if parser.http_minor == 0: # <<<<<<<<<<<<<< + * return HttpVersion10 + * elif parser.http_minor == 1: + */ + switch (__pyx_v_parser->http_minor) { + case 0: + + /* "aiohttp/_http_parser.pyx":464 + * if parser.http_major == 1: + * if parser.http_minor == 0: + * return HttpVersion10 # <<<<<<<<<<<<<< + * elif parser.http_minor == 1: + * return HttpVersion11 + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_7aiohttp_12_http_parser_HttpVersion10); + __pyx_r = __pyx_v_7aiohttp_12_http_parser_HttpVersion10; + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":463 + * + * if parser.http_major == 1: + * if parser.http_minor == 0: # <<<<<<<<<<<<<< + * return HttpVersion10 + * elif parser.http_minor == 1: + */ + break; + case 1: + + /* "aiohttp/_http_parser.pyx":466 + * return HttpVersion10 + * elif parser.http_minor == 1: + * return HttpVersion11 # <<<<<<<<<<<<<< + * + * return HttpVersion(parser.http_major, parser.http_minor) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_7aiohttp_12_http_parser_HttpVersion11); + __pyx_r = __pyx_v_7aiohttp_12_http_parser_HttpVersion11; + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":465 + * if parser.http_minor == 0: + * return HttpVersion10 + * elif parser.http_minor == 1: # <<<<<<<<<<<<<< + * return HttpVersion11 + * + */ + break; + default: break; + } + + /* "aiohttp/_http_parser.pyx":462 + * cdef cparser.http_parser* parser = self._cparser + * + * if parser.http_major == 1: # <<<<<<<<<<<<<< + * if parser.http_minor == 0: + * return HttpVersion10 + */ + } + + /* "aiohttp/_http_parser.pyx":468 + * return HttpVersion11 + * + * return HttpVersion(parser.http_major, parser.http_minor) # <<<<<<<<<<<<<< + * + * ### Public API ### + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_PyInt_From_unsigned_short(__pyx_v_parser->http_major); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 468, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyInt_From_unsigned_short(__pyx_v_parser->http_minor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 468, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_7aiohttp_12_http_parser_HttpVersion); + __pyx_t_6 = __pyx_v_7aiohttp_12_http_parser_HttpVersion; __pyx_t_7 = NULL; + __pyx_t_8 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_8 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_4, __pyx_t_5}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_4, __pyx_t_5}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 468, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + if (__pyx_t_7) { + __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL; + } + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_5); + __pyx_t_4 = 0; + __pyx_t_5 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":459 + * pass + * + * cdef inline http_version(self): # <<<<<<<<<<<<<< + * cdef cparser.http_parser* parser = self._cparser + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("aiohttp._http_parser.HttpParser.http_version", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":472 + * ### Public API ### + * + * def feed_eof(self): # <<<<<<<<<<<<<< + * cdef bytes desc + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_10HttpParser_5feed_eof(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_10HttpParser_5feed_eof(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("feed_eof (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_10HttpParser_4feed_eof(((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_10HttpParser_4feed_eof(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self) { + PyObject *__pyx_v_desc = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + __Pyx_RefNannySetupContext("feed_eof", 0); + + /* "aiohttp/_http_parser.pyx":475 + * cdef bytes desc + * + * if self._payload is not None: # <<<<<<<<<<<<<< + * if self._cparser.flags & cparser.F_CHUNKED: + * raise TransferEncodingError( + */ + __pyx_t_1 = (__pyx_v_self->_payload != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "aiohttp/_http_parser.pyx":476 + * + * if self._payload is not None: + * if self._cparser.flags & cparser.F_CHUNKED: # <<<<<<<<<<<<<< + * raise TransferEncodingError( + * "Not enough data for satisfy transfer length header.") + */ + __pyx_t_2 = ((__pyx_v_self->_cparser->flags & F_CHUNKED) != 0); + if (unlikely(__pyx_t_2)) { + + /* "aiohttp/_http_parser.pyx":477 + * if self._payload is not None: + * if self._cparser.flags & cparser.F_CHUNKED: + * raise TransferEncodingError( # <<<<<<<<<<<<<< + * "Not enough data for satisfy transfer length header.") + * elif self._cparser.flags & cparser.F_CONTENTLENGTH: + */ + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_TransferEncodingError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 477, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_u_Not_enough_data_for_satisfy_tran) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_u_Not_enough_data_for_satisfy_tran); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 477, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 477, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":476 + * + * if self._payload is not None: + * if self._cparser.flags & cparser.F_CHUNKED: # <<<<<<<<<<<<<< + * raise TransferEncodingError( + * "Not enough data for satisfy transfer length header.") + */ + } + + /* "aiohttp/_http_parser.pyx":479 + * raise TransferEncodingError( + * "Not enough data for satisfy transfer length header.") + * elif self._cparser.flags & cparser.F_CONTENTLENGTH: # <<<<<<<<<<<<<< + * raise ContentLengthError( + * "Not enough data for satisfy content length header.") + */ + __pyx_t_2 = ((__pyx_v_self->_cparser->flags & F_CONTENTLENGTH) != 0); + if (unlikely(__pyx_t_2)) { + + /* "aiohttp/_http_parser.pyx":480 + * "Not enough data for satisfy transfer length header.") + * elif self._cparser.flags & cparser.F_CONTENTLENGTH: + * raise ContentLengthError( # <<<<<<<<<<<<<< + * "Not enough data for satisfy content length header.") + * elif self._cparser.http_errno != cparser.HPE_OK: + */ + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_ContentLengthError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 480, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_u_Not_enough_data_for_satisfy_cont) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_u_Not_enough_data_for_satisfy_cont); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 480, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 480, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":479 + * raise TransferEncodingError( + * "Not enough data for satisfy transfer length header.") + * elif self._cparser.flags & cparser.F_CONTENTLENGTH: # <<<<<<<<<<<<<< + * raise ContentLengthError( + * "Not enough data for satisfy content length header.") + */ + } + + /* "aiohttp/_http_parser.pyx":482 + * raise ContentLengthError( + * "Not enough data for satisfy content length header.") + * elif self._cparser.http_errno != cparser.HPE_OK: # <<<<<<<<<<<<<< + * desc = cparser.http_errno_description( + * <cparser.http_errno> self._cparser.http_errno) + */ + __pyx_t_2 = ((__pyx_v_self->_cparser->http_errno != HPE_OK) != 0); + if (unlikely(__pyx_t_2)) { + + /* "aiohttp/_http_parser.pyx":483 + * "Not enough data for satisfy content length header.") + * elif self._cparser.http_errno != cparser.HPE_OK: + * desc = cparser.http_errno_description( # <<<<<<<<<<<<<< + * <cparser.http_errno> self._cparser.http_errno) + * raise PayloadEncodingError(desc.decode('latin-1')) + */ + __pyx_t_3 = __Pyx_PyBytes_FromString(http_errno_description(((enum http_errno)__pyx_v_self->_cparser->http_errno))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 483, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_v_desc = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":485 + * desc = cparser.http_errno_description( + * <cparser.http_errno> self._cparser.http_errno) + * raise PayloadEncodingError(desc.decode('latin-1')) # <<<<<<<<<<<<<< + * else: + * self._payload.feed_eof() + */ + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_PayloadEncodingError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 485, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_decode_bytes(__pyx_v_desc, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeLatin1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 485, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 485, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 485, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":482 + * raise ContentLengthError( + * "Not enough data for satisfy content length header.") + * elif self._cparser.http_errno != cparser.HPE_OK: # <<<<<<<<<<<<<< + * desc = cparser.http_errno_description( + * <cparser.http_errno> self._cparser.http_errno) + */ + } + + /* "aiohttp/_http_parser.pyx":487 + * raise PayloadEncodingError(desc.decode('latin-1')) + * else: + * self._payload.feed_eof() # <<<<<<<<<<<<<< + * elif self._started: + * self._on_headers_complete() + */ + /*else*/ { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_payload, __pyx_n_s_feed_eof); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 487, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 487, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + + /* "aiohttp/_http_parser.pyx":475 + * cdef bytes desc + * + * if self._payload is not None: # <<<<<<<<<<<<<< + * if self._cparser.flags & cparser.F_CHUNKED: + * raise TransferEncodingError( + */ + goto __pyx_L3; + } + + /* "aiohttp/_http_parser.pyx":488 + * else: + * self._payload.feed_eof() + * elif self._started: # <<<<<<<<<<<<<< + * self._on_headers_complete() + * if self._messages: + */ + __pyx_t_2 = (__pyx_v_self->_started != 0); + if (__pyx_t_2) { + + /* "aiohttp/_http_parser.pyx":489 + * self._payload.feed_eof() + * elif self._started: + * self._on_headers_complete() # <<<<<<<<<<<<<< + * if self._messages: + * return self._messages[-1][0] + */ + __pyx_t_3 = ((struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser *)__pyx_v_self->__pyx_vtab)->_on_headers_complete(__pyx_v_self); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 489, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":490 + * elif self._started: + * self._on_headers_complete() + * if self._messages: # <<<<<<<<<<<<<< + * return self._messages[-1][0] + * + */ + __pyx_t_2 = (__pyx_v_self->_messages != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->_messages) != 0); + if (__pyx_t_2) { + + /* "aiohttp/_http_parser.pyx":491 + * self._on_headers_complete() + * if self._messages: + * return self._messages[-1][0] # <<<<<<<<<<<<<< + * + * def feed_data(self, data): + */ + __Pyx_XDECREF(__pyx_r); + if (unlikely(__pyx_v_self->_messages == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 491, __pyx_L1_error) + } + __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_self->_messages, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 491, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 491, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":490 + * elif self._started: + * self._on_headers_complete() + * if self._messages: # <<<<<<<<<<<<<< + * return self._messages[-1][0] + * + */ + } + + /* "aiohttp/_http_parser.pyx":488 + * else: + * self._payload.feed_eof() + * elif self._started: # <<<<<<<<<<<<<< + * self._on_headers_complete() + * if self._messages: + */ + } + __pyx_L3:; + + /* "aiohttp/_http_parser.pyx":472 + * ### Public API ### + * + * def feed_eof(self): # <<<<<<<<<<<<<< + * cdef bytes desc + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("aiohttp._http_parser.HttpParser.feed_eof", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_desc); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":493 + * return self._messages[-1][0] + * + * def feed_data(self, data): # <<<<<<<<<<<<<< + * cdef: + * size_t data_len + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_10HttpParser_7feed_data(PyObject *__pyx_v_self, PyObject *__pyx_v_data); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_10HttpParser_7feed_data(PyObject *__pyx_v_self, PyObject *__pyx_v_data) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("feed_data (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_10HttpParser_6feed_data(((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_v_self), ((PyObject *)__pyx_v_data)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_10HttpParser_6feed_data(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self, PyObject *__pyx_v_data) { + size_t __pyx_v_data_len; + size_t __pyx_v_nb; + PyObject *__pyx_v_ex = NULL; + PyObject *__pyx_v_messages = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + __Pyx_RefNannySetupContext("feed_data", 0); + + /* "aiohttp/_http_parser.pyx":498 + * size_t nb + * + * PyObject_GetBuffer(data, &self.py_buf, PyBUF_SIMPLE) # <<<<<<<<<<<<<< + * data_len = <size_t>self.py_buf.len + * + */ + __pyx_t_1 = PyObject_GetBuffer(__pyx_v_data, (&__pyx_v_self->py_buf), PyBUF_SIMPLE); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 498, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":499 + * + * PyObject_GetBuffer(data, &self.py_buf, PyBUF_SIMPLE) + * data_len = <size_t>self.py_buf.len # <<<<<<<<<<<<<< + * + * nb = cparser.http_parser_execute( + */ + __pyx_v_data_len = ((size_t)__pyx_v_self->py_buf.len); + + /* "aiohttp/_http_parser.pyx":501 + * data_len = <size_t>self.py_buf.len + * + * nb = cparser.http_parser_execute( # <<<<<<<<<<<<<< + * self._cparser, + * self._csettings, + */ + __pyx_v_nb = http_parser_execute(__pyx_v_self->_cparser, __pyx_v_self->_csettings, ((char *)__pyx_v_self->py_buf.buf), __pyx_v_data_len); + + /* "aiohttp/_http_parser.pyx":507 + * data_len) + * + * PyBuffer_Release(&self.py_buf) # <<<<<<<<<<<<<< + * + * # i am not sure about cparser.HPE_INVALID_METHOD, + */ + PyBuffer_Release((&__pyx_v_self->py_buf)); + + /* "aiohttp/_http_parser.pyx":512 + * # seems get err for valid request + * # test_client_functional.py::test_post_data_with_bytesio_file + * if (self._cparser.http_errno != cparser.HPE_OK and # <<<<<<<<<<<<<< + * (self._cparser.http_errno != cparser.HPE_INVALID_METHOD or + * self._cparser.method == 0)): + */ + __pyx_t_3 = ((__pyx_v_self->_cparser->http_errno != HPE_OK) != 0); + if (__pyx_t_3) { + } else { + __pyx_t_2 = __pyx_t_3; + goto __pyx_L4_bool_binop_done; + } + + /* "aiohttp/_http_parser.pyx":513 + * # test_client_functional.py::test_post_data_with_bytesio_file + * if (self._cparser.http_errno != cparser.HPE_OK and + * (self._cparser.http_errno != cparser.HPE_INVALID_METHOD or # <<<<<<<<<<<<<< + * self._cparser.method == 0)): + * if self._payload_error == 0: + */ + __pyx_t_3 = ((__pyx_v_self->_cparser->http_errno != HPE_INVALID_METHOD) != 0); + if (!__pyx_t_3) { + } else { + __pyx_t_2 = __pyx_t_3; + goto __pyx_L4_bool_binop_done; + } + + /* "aiohttp/_http_parser.pyx":514 + * if (self._cparser.http_errno != cparser.HPE_OK and + * (self._cparser.http_errno != cparser.HPE_INVALID_METHOD or + * self._cparser.method == 0)): # <<<<<<<<<<<<<< + * if self._payload_error == 0: + * if self._last_error is not None: + */ + __pyx_t_3 = ((__pyx_v_self->_cparser->method == 0) != 0); + __pyx_t_2 = __pyx_t_3; + __pyx_L4_bool_binop_done:; + + /* "aiohttp/_http_parser.pyx":512 + * # seems get err for valid request + * # test_client_functional.py::test_post_data_with_bytesio_file + * if (self._cparser.http_errno != cparser.HPE_OK and # <<<<<<<<<<<<<< + * (self._cparser.http_errno != cparser.HPE_INVALID_METHOD or + * self._cparser.method == 0)): + */ + if (__pyx_t_2) { + + /* "aiohttp/_http_parser.pyx":515 + * (self._cparser.http_errno != cparser.HPE_INVALID_METHOD or + * self._cparser.method == 0)): + * if self._payload_error == 0: # <<<<<<<<<<<<<< + * if self._last_error is not None: + * ex = self._last_error + */ + __pyx_t_2 = ((__pyx_v_self->_payload_error == 0) != 0); + if (__pyx_t_2) { + + /* "aiohttp/_http_parser.pyx":516 + * self._cparser.method == 0)): + * if self._payload_error == 0: + * if self._last_error is not None: # <<<<<<<<<<<<<< + * ex = self._last_error + * self._last_error = None + */ + __pyx_t_2 = (__pyx_v_self->_last_error != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "aiohttp/_http_parser.pyx":517 + * if self._payload_error == 0: + * if self._last_error is not None: + * ex = self._last_error # <<<<<<<<<<<<<< + * self._last_error = None + * else: + */ + __pyx_t_4 = __pyx_v_self->_last_error; + __Pyx_INCREF(__pyx_t_4); + __pyx_v_ex = __pyx_t_4; + __pyx_t_4 = 0; + + /* "aiohttp/_http_parser.pyx":518 + * if self._last_error is not None: + * ex = self._last_error + * self._last_error = None # <<<<<<<<<<<<<< + * else: + * ex = parser_error_from_errno( + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_last_error); + __Pyx_DECREF(__pyx_v_self->_last_error); + __pyx_v_self->_last_error = Py_None; + + /* "aiohttp/_http_parser.pyx":516 + * self._cparser.method == 0)): + * if self._payload_error == 0: + * if self._last_error is not None: # <<<<<<<<<<<<<< + * ex = self._last_error + * self._last_error = None + */ + goto __pyx_L8; + } + + /* "aiohttp/_http_parser.pyx":520 + * self._last_error = None + * else: + * ex = parser_error_from_errno( # <<<<<<<<<<<<<< + * <cparser.http_errno> self._cparser.http_errno) + * self._payload = None + */ + /*else*/ { + + /* "aiohttp/_http_parser.pyx":521 + * else: + * ex = parser_error_from_errno( + * <cparser.http_errno> self._cparser.http_errno) # <<<<<<<<<<<<<< + * self._payload = None + * raise ex + */ + __pyx_t_4 = __pyx_f_7aiohttp_12_http_parser_parser_error_from_errno(((enum http_errno)__pyx_v_self->_cparser->http_errno)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 520, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_v_ex = __pyx_t_4; + __pyx_t_4 = 0; + } + __pyx_L8:; + + /* "aiohttp/_http_parser.pyx":522 + * ex = parser_error_from_errno( + * <cparser.http_errno> self._cparser.http_errno) + * self._payload = None # <<<<<<<<<<<<<< + * raise ex + * + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_payload); + __Pyx_DECREF(__pyx_v_self->_payload); + __pyx_v_self->_payload = Py_None; + + /* "aiohttp/_http_parser.pyx":523 + * <cparser.http_errno> self._cparser.http_errno) + * self._payload = None + * raise ex # <<<<<<<<<<<<<< + * + * if self._messages: + */ + __Pyx_Raise(__pyx_v_ex, 0, 0, 0); + __PYX_ERR(0, 523, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":515 + * (self._cparser.http_errno != cparser.HPE_INVALID_METHOD or + * self._cparser.method == 0)): + * if self._payload_error == 0: # <<<<<<<<<<<<<< + * if self._last_error is not None: + * ex = self._last_error + */ + } + + /* "aiohttp/_http_parser.pyx":512 + * # seems get err for valid request + * # test_client_functional.py::test_post_data_with_bytesio_file + * if (self._cparser.http_errno != cparser.HPE_OK and # <<<<<<<<<<<<<< + * (self._cparser.http_errno != cparser.HPE_INVALID_METHOD or + * self._cparser.method == 0)): + */ + } + + /* "aiohttp/_http_parser.pyx":525 + * raise ex + * + * if self._messages: # <<<<<<<<<<<<<< + * messages = self._messages + * self._messages = [] + */ + __pyx_t_3 = (__pyx_v_self->_messages != Py_None)&&(PyList_GET_SIZE(__pyx_v_self->_messages) != 0); + if (__pyx_t_3) { + + /* "aiohttp/_http_parser.pyx":526 + * + * if self._messages: + * messages = self._messages # <<<<<<<<<<<<<< + * self._messages = [] + * else: + */ + __pyx_t_4 = __pyx_v_self->_messages; + __Pyx_INCREF(__pyx_t_4); + __pyx_v_messages = __pyx_t_4; + __pyx_t_4 = 0; + + /* "aiohttp/_http_parser.pyx":527 + * if self._messages: + * messages = self._messages + * self._messages = [] # <<<<<<<<<<<<<< + * else: + * messages = () + */ + __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 527, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_v_self->_messages); + __Pyx_DECREF(__pyx_v_self->_messages); + __pyx_v_self->_messages = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; + + /* "aiohttp/_http_parser.pyx":525 + * raise ex + * + * if self._messages: # <<<<<<<<<<<<<< + * messages = self._messages + * self._messages = [] + */ + goto __pyx_L9; + } + + /* "aiohttp/_http_parser.pyx":529 + * self._messages = [] + * else: + * messages = () # <<<<<<<<<<<<<< + * + * if self._upgraded: + */ + /*else*/ { + __Pyx_INCREF(__pyx_empty_tuple); + __pyx_v_messages = __pyx_empty_tuple; + } + __pyx_L9:; + + /* "aiohttp/_http_parser.pyx":531 + * messages = () + * + * if self._upgraded: # <<<<<<<<<<<<<< + * return messages, True, data[nb:] + * else: + */ + __pyx_t_3 = (__pyx_v_self->_upgraded != 0); + if (__pyx_t_3) { + + /* "aiohttp/_http_parser.pyx":532 + * + * if self._upgraded: + * return messages, True, data[nb:] # <<<<<<<<<<<<<< + * else: + * return messages, False, b'' + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_data, __pyx_v_nb, 0, NULL, NULL, NULL, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 532, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 532, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_messages); + __Pyx_GIVEREF(__pyx_v_messages); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_messages); + __Pyx_INCREF(Py_True); + __Pyx_GIVEREF(Py_True); + PyTuple_SET_ITEM(__pyx_t_5, 1, Py_True); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4); + __pyx_t_4 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":531 + * messages = () + * + * if self._upgraded: # <<<<<<<<<<<<<< + * return messages, True, data[nb:] + * else: + */ + } + + /* "aiohttp/_http_parser.pyx":534 + * return messages, True, data[nb:] + * else: + * return messages, False, b'' # <<<<<<<<<<<<<< + * + * + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 534, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_messages); + __Pyx_GIVEREF(__pyx_v_messages); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_messages); + __Pyx_INCREF(Py_False); + __Pyx_GIVEREF(Py_False); + PyTuple_SET_ITEM(__pyx_t_5, 1, Py_False); + __Pyx_INCREF(__pyx_kp_b__4); + __Pyx_GIVEREF(__pyx_kp_b__4); + PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_b__4); + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } + + /* "aiohttp/_http_parser.pyx":493 + * return self._messages[-1][0] + * + * def feed_data(self, data): # <<<<<<<<<<<<<< + * cdef: + * size_t data_len + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("aiohttp._http_parser.HttpParser.feed_data", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_ex); + __Pyx_XDECREF(__pyx_v_messages); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_10HttpParser_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_10HttpParser_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_10HttpParser_8__reduce_cython__(((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_10HttpParser_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":2 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(1, 2, __pyx_L1_error) + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser.HttpParser.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_10HttpParser_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_10HttpParser_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_10HttpParser_10__setstate_cython__(((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_10HttpParser_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":4 + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + */ + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(1, 4, __pyx_L1_error) + + /* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser.HttpParser.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":539 + * cdef class HttpRequestParser(HttpParser): + * + * def __init__(self, protocol, loop, timer=None, # <<<<<<<<<<<<<< + * size_t max_line_size=8190, size_t max_headers=32768, + * size_t max_field_size=8190, payload_exception=None, + */ + +/* Python wrapper */ +static int __pyx_pw_7aiohttp_12_http_parser_17HttpRequestParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_7aiohttp_12_http_parser_17HttpRequestParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_protocol = 0; + PyObject *__pyx_v_loop = 0; + PyObject *__pyx_v_timer = 0; + size_t __pyx_v_max_line_size; + size_t __pyx_v_max_headers; + size_t __pyx_v_max_field_size; + PyObject *__pyx_v_payload_exception = 0; + int __pyx_v_response_with_body; + CYTHON_UNUSED int __pyx_v_read_until_eof; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_protocol,&__pyx_n_s_loop,&__pyx_n_s_timer,&__pyx_n_s_max_line_size,&__pyx_n_s_max_headers,&__pyx_n_s_max_field_size,&__pyx_n_s_payload_exception,&__pyx_n_s_response_with_body,&__pyx_n_s_read_until_eof,0}; + PyObject* values[9] = {0,0,0,0,0,0,0,0,0}; + values[2] = ((PyObject *)Py_None); + + /* "aiohttp/_http_parser.pyx":541 + * def __init__(self, protocol, loop, timer=None, + * size_t max_line_size=8190, size_t max_headers=32768, + * size_t max_field_size=8190, payload_exception=None, # <<<<<<<<<<<<<< + * bint response_with_body=True, bint read_until_eof=False): + * self._init(cparser.HTTP_REQUEST, protocol, loop, timer, + */ + values[6] = ((PyObject *)Py_None); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); + CYTHON_FALLTHROUGH; + case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); + CYTHON_FALLTHROUGH; + case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + CYTHON_FALLTHROUGH; + case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + CYTHON_FALLTHROUGH; + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_protocol)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_loop)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 9, 1); __PYX_ERR(0, 539, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_timer); + if (value) { values[2] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 3: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_line_size); + if (value) { values[3] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 4: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_headers); + if (value) { values[4] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 5: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_field_size); + if (value) { values[5] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 6: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_payload_exception); + if (value) { values[6] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 7: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_response_with_body); + if (value) { values[7] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 8: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_read_until_eof); + if (value) { values[8] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 539, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); + CYTHON_FALLTHROUGH; + case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); + CYTHON_FALLTHROUGH; + case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + CYTHON_FALLTHROUGH; + case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + CYTHON_FALLTHROUGH; + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_protocol = values[0]; + __pyx_v_loop = values[1]; + __pyx_v_timer = values[2]; + if (values[3]) { + __pyx_v_max_line_size = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_max_line_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 540, __pyx_L3_error) + } else { + __pyx_v_max_line_size = ((size_t)0x1FFE); + } + if (values[4]) { + __pyx_v_max_headers = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_max_headers == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 540, __pyx_L3_error) + } else { + __pyx_v_max_headers = ((size_t)0x8000); + } + if (values[5]) { + __pyx_v_max_field_size = __Pyx_PyInt_As_size_t(values[5]); if (unlikely((__pyx_v_max_field_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 541, __pyx_L3_error) + } else { + __pyx_v_max_field_size = ((size_t)0x1FFE); + } + __pyx_v_payload_exception = values[6]; + if (values[7]) { + __pyx_v_response_with_body = __Pyx_PyObject_IsTrue(values[7]); if (unlikely((__pyx_v_response_with_body == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 542, __pyx_L3_error) + } else { + + /* "aiohttp/_http_parser.pyx":542 + * size_t max_line_size=8190, size_t max_headers=32768, + * size_t max_field_size=8190, payload_exception=None, + * bint response_with_body=True, bint read_until_eof=False): # <<<<<<<<<<<<<< + * self._init(cparser.HTTP_REQUEST, protocol, loop, timer, + * max_line_size, max_headers, max_field_size, + */ + __pyx_v_response_with_body = ((int)1); + } + if (values[8]) { + __pyx_v_read_until_eof = __Pyx_PyObject_IsTrue(values[8]); if (unlikely((__pyx_v_read_until_eof == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 542, __pyx_L3_error) + } else { + __pyx_v_read_until_eof = ((int)0); + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 539, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("aiohttp._http_parser.HttpRequestParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17HttpRequestParser___init__(((struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser *)__pyx_v_self), __pyx_v_protocol, __pyx_v_loop, __pyx_v_timer, __pyx_v_max_line_size, __pyx_v_max_headers, __pyx_v_max_field_size, __pyx_v_payload_exception, __pyx_v_response_with_body, __pyx_v_read_until_eof); + + /* "aiohttp/_http_parser.pyx":539 + * cdef class HttpRequestParser(HttpParser): + * + * def __init__(self, protocol, loop, timer=None, # <<<<<<<<<<<<<< + * size_t max_line_size=8190, size_t max_headers=32768, + * size_t max_field_size=8190, payload_exception=None, + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_7aiohttp_12_http_parser_17HttpRequestParser___init__(struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser *__pyx_v_self, PyObject *__pyx_v_protocol, PyObject *__pyx_v_loop, PyObject *__pyx_v_timer, size_t __pyx_v_max_line_size, size_t __pyx_v_max_headers, size_t __pyx_v_max_field_size, PyObject *__pyx_v_payload_exception, int __pyx_v_response_with_body, CYTHON_UNUSED int __pyx_v_read_until_eof) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + struct __pyx_opt_args_7aiohttp_12_http_parser_10HttpParser__init __pyx_t_2; + __Pyx_RefNannySetupContext("__init__", 0); + + /* "aiohttp/_http_parser.pyx":543 + * size_t max_field_size=8190, payload_exception=None, + * bint response_with_body=True, bint read_until_eof=False): + * self._init(cparser.HTTP_REQUEST, protocol, loop, timer, # <<<<<<<<<<<<<< + * max_line_size, max_headers, max_field_size, + * payload_exception, response_with_body) + */ + __pyx_t_2.__pyx_n = 6; + __pyx_t_2.timer = __pyx_v_timer; + __pyx_t_2.max_line_size = __pyx_v_max_line_size; + __pyx_t_2.max_headers = __pyx_v_max_headers; + __pyx_t_2.max_field_size = __pyx_v_max_field_size; + __pyx_t_2.payload_exception = __pyx_v_payload_exception; + __pyx_t_2.response_with_body = __pyx_v_response_with_body; + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpRequestParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._init(((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_v_self), HTTP_REQUEST, __pyx_v_protocol, __pyx_v_loop, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":539 + * cdef class HttpRequestParser(HttpParser): + * + * def __init__(self, protocol, loop, timer=None, # <<<<<<<<<<<<<< + * size_t max_line_size=8190, size_t max_headers=32768, + * size_t max_field_size=8190, payload_exception=None, + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser.HttpRequestParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":547 + * payload_exception, response_with_body) + * + * cdef object _on_status_complete(self): # <<<<<<<<<<<<<< + * cdef Py_buffer py_buf + * if not self._buf: + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser_17HttpRequestParser__on_status_complete(struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser *__pyx_v_self) { + Py_buffer __pyx_v_py_buf; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + int __pyx_t_7; + char const *__pyx_t_8; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + __Pyx_RefNannySetupContext("_on_status_complete", 0); + + /* "aiohttp/_http_parser.pyx":549 + * cdef object _on_status_complete(self): + * cdef Py_buffer py_buf + * if not self._buf: # <<<<<<<<<<<<<< + * return + * self._path = self._buf.decode('utf-8', 'surrogateescape') + */ + __pyx_t_1 = (__pyx_v_self->__pyx_base._buf != Py_None)&&(PyByteArray_GET_SIZE(__pyx_v_self->__pyx_base._buf) != 0); + __pyx_t_2 = ((!__pyx_t_1) != 0); + if (__pyx_t_2) { + + /* "aiohttp/_http_parser.pyx":550 + * cdef Py_buffer py_buf + * if not self._buf: + * return # <<<<<<<<<<<<<< + * self._path = self._buf.decode('utf-8', 'surrogateescape') + * if self._cparser.method == 5: # CONNECT + */ + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":549 + * cdef object _on_status_complete(self): + * cdef Py_buffer py_buf + * if not self._buf: # <<<<<<<<<<<<<< + * return + * self._path = self._buf.decode('utf-8', 'surrogateescape') + */ + } + + /* "aiohttp/_http_parser.pyx":551 + * if not self._buf: + * return + * self._path = self._buf.decode('utf-8', 'surrogateescape') # <<<<<<<<<<<<<< + * if self._cparser.method == 5: # CONNECT + * self._url = URL(self._path) + */ + if (unlikely(__pyx_v_self->__pyx_base._buf == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "decode"); + __PYX_ERR(0, 551, __pyx_L1_error) + } + __pyx_t_3 = __Pyx_decode_bytearray(__pyx_v_self->__pyx_base._buf, 0, PY_SSIZE_T_MAX, NULL, ((char const *)"surrogateescape"), PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 551, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_v_self->__pyx_base._path); + __Pyx_DECREF(__pyx_v_self->__pyx_base._path); + __pyx_v_self->__pyx_base._path = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":552 + * return + * self._path = self._buf.decode('utf-8', 'surrogateescape') + * if self._cparser.method == 5: # CONNECT # <<<<<<<<<<<<<< + * self._url = URL(self._path) + * else: + */ + __pyx_t_2 = ((__pyx_v_self->__pyx_base._cparser->method == 5) != 0); + if (__pyx_t_2) { + + /* "aiohttp/_http_parser.pyx":553 + * self._path = self._buf.decode('utf-8', 'surrogateescape') + * if self._cparser.method == 5: # CONNECT + * self._url = URL(self._path) # <<<<<<<<<<<<<< + * else: + * PyObject_GetBuffer(self._buf, &py_buf, PyBUF_SIMPLE) + */ + __Pyx_INCREF(__pyx_v_7aiohttp_12_http_parser_URL); + __pyx_t_4 = __pyx_v_7aiohttp_12_http_parser_URL; __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_self->__pyx_base._path) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_self->__pyx_base._path); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 553, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_v_self->__pyx_base._url); + __Pyx_DECREF(__pyx_v_self->__pyx_base._url); + __pyx_v_self->__pyx_base._url = __pyx_t_3; + __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":552 + * return + * self._path = self._buf.decode('utf-8', 'surrogateescape') + * if self._cparser.method == 5: # CONNECT # <<<<<<<<<<<<<< + * self._url = URL(self._path) + * else: + */ + goto __pyx_L4; + } + + /* "aiohttp/_http_parser.pyx":555 + * self._url = URL(self._path) + * else: + * PyObject_GetBuffer(self._buf, &py_buf, PyBUF_SIMPLE) # <<<<<<<<<<<<<< + * try: + * self._url = _parse_url(<char*>py_buf.buf, + */ + /*else*/ { + __pyx_t_3 = __pyx_v_self->__pyx_base._buf; + __Pyx_INCREF(__pyx_t_3); + __pyx_t_6 = PyObject_GetBuffer(__pyx_t_3, (&__pyx_v_py_buf), PyBUF_SIMPLE); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 555, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":556 + * else: + * PyObject_GetBuffer(self._buf, &py_buf, PyBUF_SIMPLE) + * try: # <<<<<<<<<<<<<< + * self._url = _parse_url(<char*>py_buf.buf, + * py_buf.len) + */ + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":557 + * PyObject_GetBuffer(self._buf, &py_buf, PyBUF_SIMPLE) + * try: + * self._url = _parse_url(<char*>py_buf.buf, # <<<<<<<<<<<<<< + * py_buf.len) + * finally: + */ + __pyx_t_3 = __pyx_f_7aiohttp_12_http_parser__parse_url(((char *)__pyx_v_py_buf.buf), __pyx_v_py_buf.len); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 557, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_v_self->__pyx_base._url); + __Pyx_DECREF(__pyx_v_self->__pyx_base._url); + __pyx_v_self->__pyx_base._url = __pyx_t_3; + __pyx_t_3 = 0; + } + + /* "aiohttp/_http_parser.pyx":560 + * py_buf.len) + * finally: + * PyBuffer_Release(&py_buf) # <<<<<<<<<<<<<< + * PyByteArray_Resize(self._buf, 0) + * + */ + /*finally:*/ { + /*normal exit:*/{ + PyBuffer_Release((&__pyx_v_py_buf)); + goto __pyx_L7; + } + __pyx_L6_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename; + { + PyBuffer_Release((&__pyx_v_py_buf)); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + } + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11); + __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; + __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8; + goto __pyx_L1_error; + } + __pyx_L7:; + } + } + __pyx_L4:; + + /* "aiohttp/_http_parser.pyx":561 + * finally: + * PyBuffer_Release(&py_buf) + * PyByteArray_Resize(self._buf, 0) # <<<<<<<<<<<<<< + * + * + */ + __pyx_t_3 = __pyx_v_self->__pyx_base._buf; + __Pyx_INCREF(__pyx_t_3); + __pyx_t_7 = PyByteArray_Resize(__pyx_t_3, 0); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 561, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":547 + * payload_exception, response_with_body) + * + * cdef object _on_status_complete(self): # <<<<<<<<<<<<<< + * cdef Py_buffer py_buf + * if not self._buf: + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("aiohttp._http_parser.HttpRequestParser._on_status_complete", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17HttpRequestParser_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17HttpRequestParser_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17HttpRequestParser_2__reduce_cython__(((struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17HttpRequestParser_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":2 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(1, 2, __pyx_L1_error) + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser.HttpRequestParser.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17HttpRequestParser_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_17HttpRequestParser_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_17HttpRequestParser_4__setstate_cython__(((struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_17HttpRequestParser_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":4 + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + */ + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(1, 4, __pyx_L1_error) + + /* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser.HttpRequestParser.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":566 + * cdef class HttpResponseParser(HttpParser): + * + * def __init__(self, protocol, loop, timer=None, # <<<<<<<<<<<<<< + * size_t max_line_size=8190, size_t max_headers=32768, + * size_t max_field_size=8190, payload_exception=None, + */ + +/* Python wrapper */ +static int __pyx_pw_7aiohttp_12_http_parser_18HttpResponseParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_7aiohttp_12_http_parser_18HttpResponseParser_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_protocol = 0; + PyObject *__pyx_v_loop = 0; + PyObject *__pyx_v_timer = 0; + size_t __pyx_v_max_line_size; + size_t __pyx_v_max_headers; + size_t __pyx_v_max_field_size; + PyObject *__pyx_v_payload_exception = 0; + int __pyx_v_response_with_body; + CYTHON_UNUSED int __pyx_v_read_until_eof; + int __pyx_v_auto_decompress; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_protocol,&__pyx_n_s_loop,&__pyx_n_s_timer,&__pyx_n_s_max_line_size,&__pyx_n_s_max_headers,&__pyx_n_s_max_field_size,&__pyx_n_s_payload_exception,&__pyx_n_s_response_with_body,&__pyx_n_s_read_until_eof,&__pyx_n_s_auto_decompress,0}; + PyObject* values[10] = {0,0,0,0,0,0,0,0,0,0}; + values[2] = ((PyObject *)Py_None); + + /* "aiohttp/_http_parser.pyx":568 + * def __init__(self, protocol, loop, timer=None, + * size_t max_line_size=8190, size_t max_headers=32768, + * size_t max_field_size=8190, payload_exception=None, # <<<<<<<<<<<<<< + * bint response_with_body=True, bint read_until_eof=False, + * bint auto_decompress=True): + */ + values[6] = ((PyObject *)Py_None); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9); + CYTHON_FALLTHROUGH; + case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); + CYTHON_FALLTHROUGH; + case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); + CYTHON_FALLTHROUGH; + case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + CYTHON_FALLTHROUGH; + case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + CYTHON_FALLTHROUGH; + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_protocol)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_loop)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 10, 1); __PYX_ERR(0, 566, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_timer); + if (value) { values[2] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 3: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_line_size); + if (value) { values[3] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 4: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_headers); + if (value) { values[4] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 5: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_field_size); + if (value) { values[5] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 6: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_payload_exception); + if (value) { values[6] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 7: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_response_with_body); + if (value) { values[7] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 8: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_read_until_eof); + if (value) { values[8] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 9: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_auto_decompress); + if (value) { values[9] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 566, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9); + CYTHON_FALLTHROUGH; + case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); + CYTHON_FALLTHROUGH; + case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); + CYTHON_FALLTHROUGH; + case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + CYTHON_FALLTHROUGH; + case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + CYTHON_FALLTHROUGH; + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_protocol = values[0]; + __pyx_v_loop = values[1]; + __pyx_v_timer = values[2]; + if (values[3]) { + __pyx_v_max_line_size = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_max_line_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 567, __pyx_L3_error) + } else { + __pyx_v_max_line_size = ((size_t)0x1FFE); + } + if (values[4]) { + __pyx_v_max_headers = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_max_headers == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 567, __pyx_L3_error) + } else { + __pyx_v_max_headers = ((size_t)0x8000); + } + if (values[5]) { + __pyx_v_max_field_size = __Pyx_PyInt_As_size_t(values[5]); if (unlikely((__pyx_v_max_field_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 568, __pyx_L3_error) + } else { + __pyx_v_max_field_size = ((size_t)0x1FFE); + } + __pyx_v_payload_exception = values[6]; + if (values[7]) { + __pyx_v_response_with_body = __Pyx_PyObject_IsTrue(values[7]); if (unlikely((__pyx_v_response_with_body == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 569, __pyx_L3_error) + } else { + + /* "aiohttp/_http_parser.pyx":569 + * size_t max_line_size=8190, size_t max_headers=32768, + * size_t max_field_size=8190, payload_exception=None, + * bint response_with_body=True, bint read_until_eof=False, # <<<<<<<<<<<<<< + * bint auto_decompress=True): + * self._init(cparser.HTTP_RESPONSE, protocol, loop, timer, + */ + __pyx_v_response_with_body = ((int)1); + } + if (values[8]) { + __pyx_v_read_until_eof = __Pyx_PyObject_IsTrue(values[8]); if (unlikely((__pyx_v_read_until_eof == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 569, __pyx_L3_error) + } else { + __pyx_v_read_until_eof = ((int)0); + } + if (values[9]) { + __pyx_v_auto_decompress = __Pyx_PyObject_IsTrue(values[9]); if (unlikely((__pyx_v_auto_decompress == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 570, __pyx_L3_error) + } else { + + /* "aiohttp/_http_parser.pyx":570 + * size_t max_field_size=8190, payload_exception=None, + * bint response_with_body=True, bint read_until_eof=False, + * bint auto_decompress=True): # <<<<<<<<<<<<<< + * self._init(cparser.HTTP_RESPONSE, protocol, loop, timer, + * max_line_size, max_headers, max_field_size, + */ + __pyx_v_auto_decompress = ((int)1); + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 10, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 566, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("aiohttp._http_parser.HttpResponseParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18HttpResponseParser___init__(((struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser *)__pyx_v_self), __pyx_v_protocol, __pyx_v_loop, __pyx_v_timer, __pyx_v_max_line_size, __pyx_v_max_headers, __pyx_v_max_field_size, __pyx_v_payload_exception, __pyx_v_response_with_body, __pyx_v_read_until_eof, __pyx_v_auto_decompress); + + /* "aiohttp/_http_parser.pyx":566 + * cdef class HttpResponseParser(HttpParser): + * + * def __init__(self, protocol, loop, timer=None, # <<<<<<<<<<<<<< + * size_t max_line_size=8190, size_t max_headers=32768, + * size_t max_field_size=8190, payload_exception=None, + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_7aiohttp_12_http_parser_18HttpResponseParser___init__(struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser *__pyx_v_self, PyObject *__pyx_v_protocol, PyObject *__pyx_v_loop, PyObject *__pyx_v_timer, size_t __pyx_v_max_line_size, size_t __pyx_v_max_headers, size_t __pyx_v_max_field_size, PyObject *__pyx_v_payload_exception, int __pyx_v_response_with_body, CYTHON_UNUSED int __pyx_v_read_until_eof, int __pyx_v_auto_decompress) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + struct __pyx_opt_args_7aiohttp_12_http_parser_10HttpParser__init __pyx_t_2; + __Pyx_RefNannySetupContext("__init__", 0); + + /* "aiohttp/_http_parser.pyx":571 + * bint response_with_body=True, bint read_until_eof=False, + * bint auto_decompress=True): + * self._init(cparser.HTTP_RESPONSE, protocol, loop, timer, # <<<<<<<<<<<<<< + * max_line_size, max_headers, max_field_size, + * payload_exception, response_with_body, auto_decompress) + */ + __pyx_t_2.__pyx_n = 7; + __pyx_t_2.timer = __pyx_v_timer; + __pyx_t_2.max_line_size = __pyx_v_max_line_size; + __pyx_t_2.max_headers = __pyx_v_max_headers; + __pyx_t_2.max_field_size = __pyx_v_max_field_size; + __pyx_t_2.payload_exception = __pyx_v_payload_exception; + __pyx_t_2.response_with_body = __pyx_v_response_with_body; + __pyx_t_2.auto_decompress = __pyx_v_auto_decompress; + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpResponseParser *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base._init(((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_v_self), HTTP_RESPONSE, __pyx_v_protocol, __pyx_v_loop, &__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 571, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":566 + * cdef class HttpResponseParser(HttpParser): + * + * def __init__(self, protocol, loop, timer=None, # <<<<<<<<<<<<<< + * size_t max_line_size=8190, size_t max_headers=32768, + * size_t max_field_size=8190, payload_exception=None, + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser.HttpResponseParser.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":575 + * payload_exception, response_with_body, auto_decompress) + * + * cdef object _on_status_complete(self): # <<<<<<<<<<<<<< + * if self._buf: + * self._reason = self._buf.decode('utf-8', 'surrogateescape') + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser_18HttpResponseParser__on_status_complete(struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + __Pyx_RefNannySetupContext("_on_status_complete", 0); + + /* "aiohttp/_http_parser.pyx":576 + * + * cdef object _on_status_complete(self): + * if self._buf: # <<<<<<<<<<<<<< + * self._reason = self._buf.decode('utf-8', 'surrogateescape') + * PyByteArray_Resize(self._buf, 0) + */ + __pyx_t_1 = (__pyx_v_self->__pyx_base._buf != Py_None)&&(PyByteArray_GET_SIZE(__pyx_v_self->__pyx_base._buf) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_parser.pyx":577 + * cdef object _on_status_complete(self): + * if self._buf: + * self._reason = self._buf.decode('utf-8', 'surrogateescape') # <<<<<<<<<<<<<< + * PyByteArray_Resize(self._buf, 0) + * + */ + if (unlikely(__pyx_v_self->__pyx_base._buf == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "decode"); + __PYX_ERR(0, 577, __pyx_L1_error) + } + __pyx_t_2 = __Pyx_decode_bytearray(__pyx_v_self->__pyx_base._buf, 0, PY_SSIZE_T_MAX, NULL, ((char const *)"surrogateescape"), PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 577, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_v_self->__pyx_base._reason); + __Pyx_DECREF(__pyx_v_self->__pyx_base._reason); + __pyx_v_self->__pyx_base._reason = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":578 + * if self._buf: + * self._reason = self._buf.decode('utf-8', 'surrogateescape') + * PyByteArray_Resize(self._buf, 0) # <<<<<<<<<<<<<< + * + * + */ + __pyx_t_2 = __pyx_v_self->__pyx_base._buf; + __Pyx_INCREF(__pyx_t_2); + __pyx_t_3 = PyByteArray_Resize(__pyx_t_2, 0); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 578, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":576 + * + * cdef object _on_status_complete(self): + * if self._buf: # <<<<<<<<<<<<<< + * self._reason = self._buf.decode('utf-8', 'surrogateescape') + * PyByteArray_Resize(self._buf, 0) + */ + } + + /* "aiohttp/_http_parser.pyx":575 + * payload_exception, response_with_body, auto_decompress) + * + * cdef object _on_status_complete(self): # <<<<<<<<<<<<<< + * if self._buf: + * self._reason = self._buf.decode('utf-8', 'surrogateescape') + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("aiohttp._http_parser.HttpResponseParser._on_status_complete", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18HttpResponseParser_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18HttpResponseParser_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18HttpResponseParser_2__reduce_cython__(((struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18HttpResponseParser_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":2 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(1, 2, __pyx_L1_error) + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser.HttpResponseParser.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18HttpResponseParser_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_18HttpResponseParser_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_18HttpResponseParser_4__setstate_cython__(((struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_18HttpResponseParser_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":4 + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + */ + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(1, 4, __pyx_L1_error) + + /* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("aiohttp._http_parser.HttpResponseParser.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":581 + * + * + * cdef int cb_on_message_begin(cparser.http_parser* parser) except -1: # <<<<<<<<<<<<<< + * cdef HttpParser pyparser = <HttpParser>parser.data + * + */ + +static int __pyx_f_7aiohttp_12_http_parser_cb_on_message_begin(struct http_parser *__pyx_v_parser) { + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_pyparser = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + __Pyx_RefNannySetupContext("cb_on_message_begin", 0); + + /* "aiohttp/_http_parser.pyx":582 + * + * cdef int cb_on_message_begin(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data # <<<<<<<<<<<<<< + * + * pyparser._started = True + */ + __pyx_t_1 = ((PyObject *)__pyx_v_parser->data); + __Pyx_INCREF(__pyx_t_1); + __pyx_v_pyparser = ((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":584 + * cdef HttpParser pyparser = <HttpParser>parser.data + * + * pyparser._started = True # <<<<<<<<<<<<<< + * pyparser._headers = CIMultiDict() + * pyparser._raw_headers = [] + */ + __pyx_v_pyparser->_started = 1; + + /* "aiohttp/_http_parser.pyx":585 + * + * pyparser._started = True + * pyparser._headers = CIMultiDict() # <<<<<<<<<<<<<< + * pyparser._raw_headers = [] + * PyByteArray_Resize(pyparser._buf, 0) + */ + __Pyx_INCREF(__pyx_v_7aiohttp_12_http_parser_CIMultiDict); + __pyx_t_2 = __pyx_v_7aiohttp_12_http_parser_CIMultiDict; __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 585, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_pyparser->_headers); + __Pyx_DECREF(__pyx_v_pyparser->_headers); + __pyx_v_pyparser->_headers = __pyx_t_1; + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":586 + * pyparser._started = True + * pyparser._headers = CIMultiDict() + * pyparser._raw_headers = [] # <<<<<<<<<<<<<< + * PyByteArray_Resize(pyparser._buf, 0) + * pyparser._path = None + */ + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 586, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_pyparser->_raw_headers); + __Pyx_DECREF(__pyx_v_pyparser->_raw_headers); + __pyx_v_pyparser->_raw_headers = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":587 + * pyparser._headers = CIMultiDict() + * pyparser._raw_headers = [] + * PyByteArray_Resize(pyparser._buf, 0) # <<<<<<<<<<<<<< + * pyparser._path = None + * pyparser._reason = None + */ + __pyx_t_1 = __pyx_v_pyparser->_buf; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_4 = PyByteArray_Resize(__pyx_t_1, 0); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 587, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":588 + * pyparser._raw_headers = [] + * PyByteArray_Resize(pyparser._buf, 0) + * pyparser._path = None # <<<<<<<<<<<<<< + * pyparser._reason = None + * return 0 + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_pyparser->_path); + __Pyx_DECREF(__pyx_v_pyparser->_path); + __pyx_v_pyparser->_path = ((PyObject*)Py_None); + + /* "aiohttp/_http_parser.pyx":589 + * PyByteArray_Resize(pyparser._buf, 0) + * pyparser._path = None + * pyparser._reason = None # <<<<<<<<<<<<<< + * return 0 + * + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_pyparser->_reason); + __Pyx_DECREF(__pyx_v_pyparser->_reason); + __pyx_v_pyparser->_reason = ((PyObject*)Py_None); + + /* "aiohttp/_http_parser.pyx":590 + * pyparser._path = None + * pyparser._reason = None + * return 0 # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = 0; + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":581 + * + * + * cdef int cb_on_message_begin(cparser.http_parser* parser) except -1: # <<<<<<<<<<<<<< + * cdef HttpParser pyparser = <HttpParser>parser.data + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_message_begin", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_pyparser); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":593 + * + * + * cdef int cb_on_url(cparser.http_parser* parser, # <<<<<<<<<<<<<< + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + */ + +static int __pyx_f_7aiohttp_12_http_parser_cb_on_url(struct http_parser *__pyx_v_parser, char const *__pyx_v_at, size_t __pyx_v_length) { + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_pyparser = 0; + PyObject *__pyx_v_ex = NULL; + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + __Pyx_RefNannySetupContext("cb_on_url", 0); + + /* "aiohttp/_http_parser.pyx":595 + * cdef int cb_on_url(cparser.http_parser* parser, + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data # <<<<<<<<<<<<<< + * try: + * if length > pyparser._max_line_size: + */ + __pyx_t_1 = ((PyObject *)__pyx_v_parser->data); + __Pyx_INCREF(__pyx_t_1); + __pyx_v_pyparser = ((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":596 + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: # <<<<<<<<<<<<<< + * if length > pyparser._max_line_size: + * raise LineTooLong( + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_4); + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":597 + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: + * if length > pyparser._max_line_size: # <<<<<<<<<<<<<< + * raise LineTooLong( + * 'Status line is too long', pyparser._max_line_size, length) + */ + __pyx_t_5 = ((__pyx_v_length > __pyx_v_pyparser->_max_line_size) != 0); + if (unlikely(__pyx_t_5)) { + + /* "aiohttp/_http_parser.pyx":598 + * try: + * if length > pyparser._max_line_size: + * raise LineTooLong( # <<<<<<<<<<<<<< + * 'Status line is too long', pyparser._max_line_size, length) + * extend(pyparser._buf, at, length) + */ + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_LineTooLong); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 598, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_6); + + /* "aiohttp/_http_parser.pyx":599 + * if length > pyparser._max_line_size: + * raise LineTooLong( + * 'Status line is too long', pyparser._max_line_size, length) # <<<<<<<<<<<<<< + * extend(pyparser._buf, at, length) + * except BaseException as ex: + */ + __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_pyparser->_max_line_size); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 599, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_length); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 599, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_kp_u_Status_line_is_too_long, __pyx_t_7, __pyx_t_8}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 598, __pyx_L3_error) + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_kp_u_Status_line_is_too_long, __pyx_t_7, __pyx_t_8}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 598, __pyx_L3_error) + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } else + #endif + { + __pyx_t_11 = PyTuple_New(3+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 598, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_11); + if (__pyx_t_9) { + __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL; + } + __Pyx_INCREF(__pyx_kp_u_Status_line_is_too_long); + __Pyx_GIVEREF(__pyx_kp_u_Status_line_is_too_long); + PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_10, __pyx_kp_u_Status_line_is_too_long); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_10, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_10, __pyx_t_8); + __pyx_t_7 = 0; + __pyx_t_8 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 598, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 598, __pyx_L3_error) + + /* "aiohttp/_http_parser.pyx":597 + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: + * if length > pyparser._max_line_size: # <<<<<<<<<<<<<< + * raise LineTooLong( + * 'Status line is too long', pyparser._max_line_size, length) + */ + } + + /* "aiohttp/_http_parser.pyx":600 + * raise LineTooLong( + * 'Status line is too long', pyparser._max_line_size, length) + * extend(pyparser._buf, at, length) # <<<<<<<<<<<<<< + * except BaseException as ex: + * pyparser._last_error = ex + */ + __pyx_t_1 = __pyx_v_pyparser->_buf; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_6 = __pyx_f_7aiohttp_12_http_parser_extend(__pyx_t_1, __pyx_v_at, __pyx_v_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 600, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "aiohttp/_http_parser.pyx":596 + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: # <<<<<<<<<<<<<< + * if length > pyparser._max_line_size: + * raise LineTooLong( + */ + } + + /* "aiohttp/_http_parser.pyx":605 + * return -1 + * else: + * return 0 # <<<<<<<<<<<<<< + * + * + */ + /*else:*/ { + __pyx_r = 0; + goto __pyx_L6_except_return; + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "aiohttp/_http_parser.pyx":601 + * 'Status line is too long', pyparser._max_line_size, length) + * extend(pyparser._buf, at, length) + * except BaseException as ex: # <<<<<<<<<<<<<< + * pyparser._last_error = ex + * return -1 + */ + __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_BaseException); + if (__pyx_t_10) { + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_url", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_1, &__pyx_t_11) < 0) __PYX_ERR(0, 601, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_11); + __Pyx_INCREF(__pyx_t_1); + __pyx_v_ex = __pyx_t_1; + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":602 + * extend(pyparser._buf, at, length) + * except BaseException as ex: + * pyparser._last_error = ex # <<<<<<<<<<<<<< + * return -1 + * else: + */ + __Pyx_INCREF(__pyx_v_ex); + __Pyx_GIVEREF(__pyx_v_ex); + __Pyx_GOTREF(__pyx_v_pyparser->_last_error); + __Pyx_DECREF(__pyx_v_pyparser->_last_error); + __pyx_v_pyparser->_last_error = __pyx_v_ex; + + /* "aiohttp/_http_parser.pyx":603 + * except BaseException as ex: + * pyparser._last_error = ex + * return -1 # <<<<<<<<<<<<<< + * else: + * return 0 + */ + __pyx_r = -1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L14_return; + } + + /* "aiohttp/_http_parser.pyx":601 + * 'Status line is too long', pyparser._max_line_size, length) + * extend(pyparser._buf, at, length) + * except BaseException as ex: # <<<<<<<<<<<<<< + * pyparser._last_error = ex + * return -1 + */ + /*finally:*/ { + __pyx_L14_return: { + __pyx_t_10 = __pyx_r; + __Pyx_DECREF(__pyx_v_ex); + __pyx_v_ex = NULL; + __pyx_r = __pyx_t_10; + goto __pyx_L6_except_return; + } + } + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "aiohttp/_http_parser.pyx":596 + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: # <<<<<<<<<<<<<< + * if length > pyparser._max_line_size: + * raise LineTooLong( + */ + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L1_error; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L0; + } + + /* "aiohttp/_http_parser.pyx":593 + * + * + * cdef int cb_on_url(cparser.http_parser* parser, # <<<<<<<<<<<<<< + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_url", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_pyparser); + __Pyx_XDECREF(__pyx_v_ex); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":608 + * + * + * cdef int cb_on_status(cparser.http_parser* parser, # <<<<<<<<<<<<<< + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + */ + +static int __pyx_f_7aiohttp_12_http_parser_cb_on_status(struct http_parser *__pyx_v_parser, char const *__pyx_v_at, size_t __pyx_v_length) { + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_pyparser = 0; + PyObject *__pyx_v_ex = NULL; + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + __Pyx_RefNannySetupContext("cb_on_status", 0); + + /* "aiohttp/_http_parser.pyx":610 + * cdef int cb_on_status(cparser.http_parser* parser, + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data # <<<<<<<<<<<<<< + * cdef str reason + * try: + */ + __pyx_t_1 = ((PyObject *)__pyx_v_parser->data); + __Pyx_INCREF(__pyx_t_1); + __pyx_v_pyparser = ((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":612 + * cdef HttpParser pyparser = <HttpParser>parser.data + * cdef str reason + * try: # <<<<<<<<<<<<<< + * if length > pyparser._max_line_size: + * raise LineTooLong( + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_4); + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":613 + * cdef str reason + * try: + * if length > pyparser._max_line_size: # <<<<<<<<<<<<<< + * raise LineTooLong( + * 'Status line is too long', pyparser._max_line_size, length) + */ + __pyx_t_5 = ((__pyx_v_length > __pyx_v_pyparser->_max_line_size) != 0); + if (unlikely(__pyx_t_5)) { + + /* "aiohttp/_http_parser.pyx":614 + * try: + * if length > pyparser._max_line_size: + * raise LineTooLong( # <<<<<<<<<<<<<< + * 'Status line is too long', pyparser._max_line_size, length) + * extend(pyparser._buf, at, length) + */ + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_LineTooLong); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 614, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_6); + + /* "aiohttp/_http_parser.pyx":615 + * if length > pyparser._max_line_size: + * raise LineTooLong( + * 'Status line is too long', pyparser._max_line_size, length) # <<<<<<<<<<<<<< + * extend(pyparser._buf, at, length) + * except BaseException as ex: + */ + __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_pyparser->_max_line_size); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 615, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_length); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 615, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_kp_u_Status_line_is_too_long, __pyx_t_7, __pyx_t_8}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 614, __pyx_L3_error) + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_kp_u_Status_line_is_too_long, __pyx_t_7, __pyx_t_8}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 614, __pyx_L3_error) + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } else + #endif + { + __pyx_t_11 = PyTuple_New(3+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 614, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_11); + if (__pyx_t_9) { + __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL; + } + __Pyx_INCREF(__pyx_kp_u_Status_line_is_too_long); + __Pyx_GIVEREF(__pyx_kp_u_Status_line_is_too_long); + PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_10, __pyx_kp_u_Status_line_is_too_long); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_10, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_10, __pyx_t_8); + __pyx_t_7 = 0; + __pyx_t_8 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 614, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 614, __pyx_L3_error) + + /* "aiohttp/_http_parser.pyx":613 + * cdef str reason + * try: + * if length > pyparser._max_line_size: # <<<<<<<<<<<<<< + * raise LineTooLong( + * 'Status line is too long', pyparser._max_line_size, length) + */ + } + + /* "aiohttp/_http_parser.pyx":616 + * raise LineTooLong( + * 'Status line is too long', pyparser._max_line_size, length) + * extend(pyparser._buf, at, length) # <<<<<<<<<<<<<< + * except BaseException as ex: + * pyparser._last_error = ex + */ + __pyx_t_1 = __pyx_v_pyparser->_buf; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_6 = __pyx_f_7aiohttp_12_http_parser_extend(__pyx_t_1, __pyx_v_at, __pyx_v_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 616, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "aiohttp/_http_parser.pyx":612 + * cdef HttpParser pyparser = <HttpParser>parser.data + * cdef str reason + * try: # <<<<<<<<<<<<<< + * if length > pyparser._max_line_size: + * raise LineTooLong( + */ + } + + /* "aiohttp/_http_parser.pyx":621 + * return -1 + * else: + * return 0 # <<<<<<<<<<<<<< + * + * + */ + /*else:*/ { + __pyx_r = 0; + goto __pyx_L6_except_return; + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "aiohttp/_http_parser.pyx":617 + * 'Status line is too long', pyparser._max_line_size, length) + * extend(pyparser._buf, at, length) + * except BaseException as ex: # <<<<<<<<<<<<<< + * pyparser._last_error = ex + * return -1 + */ + __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_BaseException); + if (__pyx_t_10) { + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_status", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_1, &__pyx_t_11) < 0) __PYX_ERR(0, 617, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_11); + __Pyx_INCREF(__pyx_t_1); + __pyx_v_ex = __pyx_t_1; + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":618 + * extend(pyparser._buf, at, length) + * except BaseException as ex: + * pyparser._last_error = ex # <<<<<<<<<<<<<< + * return -1 + * else: + */ + __Pyx_INCREF(__pyx_v_ex); + __Pyx_GIVEREF(__pyx_v_ex); + __Pyx_GOTREF(__pyx_v_pyparser->_last_error); + __Pyx_DECREF(__pyx_v_pyparser->_last_error); + __pyx_v_pyparser->_last_error = __pyx_v_ex; + + /* "aiohttp/_http_parser.pyx":619 + * except BaseException as ex: + * pyparser._last_error = ex + * return -1 # <<<<<<<<<<<<<< + * else: + * return 0 + */ + __pyx_r = -1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L14_return; + } + + /* "aiohttp/_http_parser.pyx":617 + * 'Status line is too long', pyparser._max_line_size, length) + * extend(pyparser._buf, at, length) + * except BaseException as ex: # <<<<<<<<<<<<<< + * pyparser._last_error = ex + * return -1 + */ + /*finally:*/ { + __pyx_L14_return: { + __pyx_t_10 = __pyx_r; + __Pyx_DECREF(__pyx_v_ex); + __pyx_v_ex = NULL; + __pyx_r = __pyx_t_10; + goto __pyx_L6_except_return; + } + } + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "aiohttp/_http_parser.pyx":612 + * cdef HttpParser pyparser = <HttpParser>parser.data + * cdef str reason + * try: # <<<<<<<<<<<<<< + * if length > pyparser._max_line_size: + * raise LineTooLong( + */ + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L1_error; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L0; + } + + /* "aiohttp/_http_parser.pyx":608 + * + * + * cdef int cb_on_status(cparser.http_parser* parser, # <<<<<<<<<<<<<< + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_status", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_pyparser); + __Pyx_XDECREF(__pyx_v_ex); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":624 + * + * + * cdef int cb_on_header_field(cparser.http_parser* parser, # <<<<<<<<<<<<<< + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + */ + +static int __pyx_f_7aiohttp_12_http_parser_cb_on_header_field(struct http_parser *__pyx_v_parser, char const *__pyx_v_at, size_t __pyx_v_length) { + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_pyparser = 0; + Py_ssize_t __pyx_v_size; + PyObject *__pyx_v_ex = NULL; + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + Py_ssize_t __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + int __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + __Pyx_RefNannySetupContext("cb_on_header_field", 0); + + /* "aiohttp/_http_parser.pyx":626 + * cdef int cb_on_header_field(cparser.http_parser* parser, + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * try: + */ + __pyx_t_1 = ((PyObject *)__pyx_v_parser->data); + __Pyx_INCREF(__pyx_t_1); + __pyx_v_pyparser = ((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":628 + * cdef HttpParser pyparser = <HttpParser>parser.data + * cdef Py_ssize_t size + * try: # <<<<<<<<<<<<<< + * pyparser._on_status_complete() + * size = len(pyparser._raw_name) + length + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_4); + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":629 + * cdef Py_ssize_t size + * try: + * pyparser._on_status_complete() # <<<<<<<<<<<<<< + * size = len(pyparser._raw_name) + length + * if size > pyparser._max_field_size: + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser *)__pyx_v_pyparser->__pyx_vtab)->_on_status_complete(__pyx_v_pyparser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 629, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":630 + * try: + * pyparser._on_status_complete() + * size = len(pyparser._raw_name) + length # <<<<<<<<<<<<<< + * if size > pyparser._max_field_size: + * raise LineTooLong( + */ + __pyx_t_1 = __pyx_v_pyparser->_raw_name; + __Pyx_INCREF(__pyx_t_1); + if (unlikely(__pyx_t_1 == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(0, 630, __pyx_L3_error) + } + __pyx_t_5 = PyByteArray_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 630, __pyx_L3_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_size = (__pyx_t_5 + __pyx_v_length); + + /* "aiohttp/_http_parser.pyx":631 + * pyparser._on_status_complete() + * size = len(pyparser._raw_name) + length + * if size > pyparser._max_field_size: # <<<<<<<<<<<<<< + * raise LineTooLong( + * 'Header name is too long', pyparser._max_field_size, size) + */ + __pyx_t_6 = ((__pyx_v_size > __pyx_v_pyparser->_max_field_size) != 0); + if (unlikely(__pyx_t_6)) { + + /* "aiohttp/_http_parser.pyx":632 + * size = len(pyparser._raw_name) + length + * if size > pyparser._max_field_size: + * raise LineTooLong( # <<<<<<<<<<<<<< + * 'Header name is too long', pyparser._max_field_size, size) + * pyparser._on_header_field(at, length) + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_LineTooLong); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 632, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_7); + + /* "aiohttp/_http_parser.pyx":633 + * if size > pyparser._max_field_size: + * raise LineTooLong( + * 'Header name is too long', pyparser._max_field_size, size) # <<<<<<<<<<<<<< + * pyparser._on_header_field(at, length) + * except BaseException as ex: + */ + __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_pyparser->_max_field_size); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 633, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = PyInt_FromSsize_t(__pyx_v_size); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 633, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_7)) { + PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_kp_u_Header_name_is_too_long, __pyx_t_8, __pyx_t_9}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L3_error) + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { + PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_kp_u_Header_name_is_too_long, __pyx_t_8, __pyx_t_9}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L3_error) + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } else + #endif + { + __pyx_t_12 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 632, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_12); + if (__pyx_t_10) { + __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); __pyx_t_10 = NULL; + } + __Pyx_INCREF(__pyx_kp_u_Header_name_is_too_long); + __Pyx_GIVEREF(__pyx_kp_u_Header_name_is_too_long); + PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_11, __pyx_kp_u_Header_name_is_too_long); + __Pyx_GIVEREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_11, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_12, 2+__pyx_t_11, __pyx_t_9); + __pyx_t_8 = 0; + __pyx_t_9 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 632, __pyx_L3_error) + + /* "aiohttp/_http_parser.pyx":631 + * pyparser._on_status_complete() + * size = len(pyparser._raw_name) + length + * if size > pyparser._max_field_size: # <<<<<<<<<<<<<< + * raise LineTooLong( + * 'Header name is too long', pyparser._max_field_size, size) + */ + } + + /* "aiohttp/_http_parser.pyx":634 + * raise LineTooLong( + * 'Header name is too long', pyparser._max_field_size, size) + * pyparser._on_header_field(at, length) # <<<<<<<<<<<<<< + * except BaseException as ex: + * pyparser._last_error = ex + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser *)__pyx_v_pyparser->__pyx_vtab)->_on_header_field(__pyx_v_pyparser, __pyx_v_at, __pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":628 + * cdef HttpParser pyparser = <HttpParser>parser.data + * cdef Py_ssize_t size + * try: # <<<<<<<<<<<<<< + * pyparser._on_status_complete() + * size = len(pyparser._raw_name) + length + */ + } + + /* "aiohttp/_http_parser.pyx":639 + * return -1 + * else: + * return 0 # <<<<<<<<<<<<<< + * + * + */ + /*else:*/ { + __pyx_r = 0; + goto __pyx_L6_except_return; + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":635 + * 'Header name is too long', pyparser._max_field_size, size) + * pyparser._on_header_field(at, length) + * except BaseException as ex: # <<<<<<<<<<<<<< + * pyparser._last_error = ex + * return -1 + */ + __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_BaseException); + if (__pyx_t_11) { + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_header_field", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_7, &__pyx_t_12) < 0) __PYX_ERR(0, 635, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_12); + __Pyx_INCREF(__pyx_t_7); + __pyx_v_ex = __pyx_t_7; + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":636 + * pyparser._on_header_field(at, length) + * except BaseException as ex: + * pyparser._last_error = ex # <<<<<<<<<<<<<< + * return -1 + * else: + */ + __Pyx_INCREF(__pyx_v_ex); + __Pyx_GIVEREF(__pyx_v_ex); + __Pyx_GOTREF(__pyx_v_pyparser->_last_error); + __Pyx_DECREF(__pyx_v_pyparser->_last_error); + __pyx_v_pyparser->_last_error = __pyx_v_ex; + + /* "aiohttp/_http_parser.pyx":637 + * except BaseException as ex: + * pyparser._last_error = ex + * return -1 # <<<<<<<<<<<<<< + * else: + * return 0 + */ + __pyx_r = -1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L14_return; + } + + /* "aiohttp/_http_parser.pyx":635 + * 'Header name is too long', pyparser._max_field_size, size) + * pyparser._on_header_field(at, length) + * except BaseException as ex: # <<<<<<<<<<<<<< + * pyparser._last_error = ex + * return -1 + */ + /*finally:*/ { + __pyx_L14_return: { + __pyx_t_11 = __pyx_r; + __Pyx_DECREF(__pyx_v_ex); + __pyx_v_ex = NULL; + __pyx_r = __pyx_t_11; + goto __pyx_L6_except_return; + } + } + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "aiohttp/_http_parser.pyx":628 + * cdef HttpParser pyparser = <HttpParser>parser.data + * cdef Py_ssize_t size + * try: # <<<<<<<<<<<<<< + * pyparser._on_status_complete() + * size = len(pyparser._raw_name) + length + */ + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L1_error; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L0; + } + + /* "aiohttp/_http_parser.pyx":624 + * + * + * cdef int cb_on_header_field(cparser.http_parser* parser, # <<<<<<<<<<<<<< + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_header_field", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_pyparser); + __Pyx_XDECREF(__pyx_v_ex); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":642 + * + * + * cdef int cb_on_header_value(cparser.http_parser* parser, # <<<<<<<<<<<<<< + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + */ + +static int __pyx_f_7aiohttp_12_http_parser_cb_on_header_value(struct http_parser *__pyx_v_parser, char const *__pyx_v_at, size_t __pyx_v_length) { + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_pyparser = 0; + Py_ssize_t __pyx_v_size; + PyObject *__pyx_v_ex = NULL; + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + Py_ssize_t __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + int __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + __Pyx_RefNannySetupContext("cb_on_header_value", 0); + + /* "aiohttp/_http_parser.pyx":644 + * cdef int cb_on_header_value(cparser.http_parser* parser, + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data # <<<<<<<<<<<<<< + * cdef Py_ssize_t size + * try: + */ + __pyx_t_1 = ((PyObject *)__pyx_v_parser->data); + __Pyx_INCREF(__pyx_t_1); + __pyx_v_pyparser = ((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":646 + * cdef HttpParser pyparser = <HttpParser>parser.data + * cdef Py_ssize_t size + * try: # <<<<<<<<<<<<<< + * size = len(pyparser._raw_value) + length + * if size > pyparser._max_field_size: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_4); + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":647 + * cdef Py_ssize_t size + * try: + * size = len(pyparser._raw_value) + length # <<<<<<<<<<<<<< + * if size > pyparser._max_field_size: + * raise LineTooLong( + */ + __pyx_t_1 = __pyx_v_pyparser->_raw_value; + __Pyx_INCREF(__pyx_t_1); + if (unlikely(__pyx_t_1 == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(0, 647, __pyx_L3_error) + } + __pyx_t_5 = PyByteArray_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 647, __pyx_L3_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_size = (__pyx_t_5 + __pyx_v_length); + + /* "aiohttp/_http_parser.pyx":648 + * try: + * size = len(pyparser._raw_value) + length + * if size > pyparser._max_field_size: # <<<<<<<<<<<<<< + * raise LineTooLong( + * 'Header value is too long', pyparser._max_field_size, size) + */ + __pyx_t_6 = ((__pyx_v_size > __pyx_v_pyparser->_max_field_size) != 0); + if (unlikely(__pyx_t_6)) { + + /* "aiohttp/_http_parser.pyx":649 + * size = len(pyparser._raw_value) + length + * if size > pyparser._max_field_size: + * raise LineTooLong( # <<<<<<<<<<<<<< + * 'Header value is too long', pyparser._max_field_size, size) + * pyparser._on_header_value(at, length) + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_LineTooLong); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 649, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_7); + + /* "aiohttp/_http_parser.pyx":650 + * if size > pyparser._max_field_size: + * raise LineTooLong( + * 'Header value is too long', pyparser._max_field_size, size) # <<<<<<<<<<<<<< + * pyparser._on_header_value(at, length) + * except BaseException as ex: + */ + __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_pyparser->_max_field_size); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 650, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = PyInt_FromSsize_t(__pyx_v_size); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 650, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_7)) { + PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_kp_u_Header_value_is_too_long, __pyx_t_8, __pyx_t_9}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L3_error) + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { + PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_kp_u_Header_value_is_too_long, __pyx_t_8, __pyx_t_9}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L3_error) + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } else + #endif + { + __pyx_t_12 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 649, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_12); + if (__pyx_t_10) { + __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); __pyx_t_10 = NULL; + } + __Pyx_INCREF(__pyx_kp_u_Header_value_is_too_long); + __Pyx_GIVEREF(__pyx_kp_u_Header_value_is_too_long); + PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_11, __pyx_kp_u_Header_value_is_too_long); + __Pyx_GIVEREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_11, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_12, 2+__pyx_t_11, __pyx_t_9); + __pyx_t_8 = 0; + __pyx_t_9 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 649, __pyx_L3_error) + + /* "aiohttp/_http_parser.pyx":648 + * try: + * size = len(pyparser._raw_value) + length + * if size > pyparser._max_field_size: # <<<<<<<<<<<<<< + * raise LineTooLong( + * 'Header value is too long', pyparser._max_field_size, size) + */ + } + + /* "aiohttp/_http_parser.pyx":651 + * raise LineTooLong( + * 'Header value is too long', pyparser._max_field_size, size) + * pyparser._on_header_value(at, length) # <<<<<<<<<<<<<< + * except BaseException as ex: + * pyparser._last_error = ex + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser *)__pyx_v_pyparser->__pyx_vtab)->_on_header_value(__pyx_v_pyparser, __pyx_v_at, __pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 651, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":646 + * cdef HttpParser pyparser = <HttpParser>parser.data + * cdef Py_ssize_t size + * try: # <<<<<<<<<<<<<< + * size = len(pyparser._raw_value) + length + * if size > pyparser._max_field_size: + */ + } + + /* "aiohttp/_http_parser.pyx":656 + * return -1 + * else: + * return 0 # <<<<<<<<<<<<<< + * + * + */ + /*else:*/ { + __pyx_r = 0; + goto __pyx_L6_except_return; + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":652 + * 'Header value is too long', pyparser._max_field_size, size) + * pyparser._on_header_value(at, length) + * except BaseException as ex: # <<<<<<<<<<<<<< + * pyparser._last_error = ex + * return -1 + */ + __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_BaseException); + if (__pyx_t_11) { + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_header_value", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_7, &__pyx_t_12) < 0) __PYX_ERR(0, 652, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_12); + __Pyx_INCREF(__pyx_t_7); + __pyx_v_ex = __pyx_t_7; + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":653 + * pyparser._on_header_value(at, length) + * except BaseException as ex: + * pyparser._last_error = ex # <<<<<<<<<<<<<< + * return -1 + * else: + */ + __Pyx_INCREF(__pyx_v_ex); + __Pyx_GIVEREF(__pyx_v_ex); + __Pyx_GOTREF(__pyx_v_pyparser->_last_error); + __Pyx_DECREF(__pyx_v_pyparser->_last_error); + __pyx_v_pyparser->_last_error = __pyx_v_ex; + + /* "aiohttp/_http_parser.pyx":654 + * except BaseException as ex: + * pyparser._last_error = ex + * return -1 # <<<<<<<<<<<<<< + * else: + * return 0 + */ + __pyx_r = -1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L14_return; + } + + /* "aiohttp/_http_parser.pyx":652 + * 'Header value is too long', pyparser._max_field_size, size) + * pyparser._on_header_value(at, length) + * except BaseException as ex: # <<<<<<<<<<<<<< + * pyparser._last_error = ex + * return -1 + */ + /*finally:*/ { + __pyx_L14_return: { + __pyx_t_11 = __pyx_r; + __Pyx_DECREF(__pyx_v_ex); + __pyx_v_ex = NULL; + __pyx_r = __pyx_t_11; + goto __pyx_L6_except_return; + } + } + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "aiohttp/_http_parser.pyx":646 + * cdef HttpParser pyparser = <HttpParser>parser.data + * cdef Py_ssize_t size + * try: # <<<<<<<<<<<<<< + * size = len(pyparser._raw_value) + length + * if size > pyparser._max_field_size: + */ + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L1_error; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L0; + } + + /* "aiohttp/_http_parser.pyx":642 + * + * + * cdef int cb_on_header_value(cparser.http_parser* parser, # <<<<<<<<<<<<<< + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_header_value", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_pyparser); + __Pyx_XDECREF(__pyx_v_ex); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":659 + * + * + * cdef int cb_on_headers_complete(cparser.http_parser* parser) except -1: # <<<<<<<<<<<<<< + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: + */ + +static int __pyx_f_7aiohttp_12_http_parser_cb_on_headers_complete(struct http_parser *__pyx_v_parser) { + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_pyparser = 0; + PyObject *__pyx_v_exc = NULL; + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + int __pyx_t_6; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + __Pyx_RefNannySetupContext("cb_on_headers_complete", 0); + + /* "aiohttp/_http_parser.pyx":660 + * + * cdef int cb_on_headers_complete(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data # <<<<<<<<<<<<<< + * try: + * pyparser._on_status_complete() + */ + __pyx_t_1 = ((PyObject *)__pyx_v_parser->data); + __Pyx_INCREF(__pyx_t_1); + __pyx_v_pyparser = ((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":661 + * cdef int cb_on_headers_complete(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: # <<<<<<<<<<<<<< + * pyparser._on_status_complete() + * pyparser._on_headers_complete() + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_4); + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":662 + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: + * pyparser._on_status_complete() # <<<<<<<<<<<<<< + * pyparser._on_headers_complete() + * except BaseException as exc: + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser *)__pyx_v_pyparser->__pyx_vtab)->_on_status_complete(__pyx_v_pyparser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 662, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":663 + * try: + * pyparser._on_status_complete() + * pyparser._on_headers_complete() # <<<<<<<<<<<<<< + * except BaseException as exc: + * pyparser._last_error = exc + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser *)__pyx_v_pyparser->__pyx_vtab)->_on_headers_complete(__pyx_v_pyparser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 663, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":661 + * cdef int cb_on_headers_complete(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: # <<<<<<<<<<<<<< + * pyparser._on_status_complete() + * pyparser._on_headers_complete() + */ + } + + /* "aiohttp/_http_parser.pyx":668 + * return -1 + * else: + * if pyparser._cparser.upgrade or pyparser._cparser.method == 5: # CONNECT # <<<<<<<<<<<<<< + * return 2 + * else: + */ + /*else:*/ { + __pyx_t_6 = (__pyx_v_pyparser->_cparser->upgrade != 0); + if (!__pyx_t_6) { + } else { + __pyx_t_5 = __pyx_t_6; + goto __pyx_L10_bool_binop_done; + } + __pyx_t_6 = ((__pyx_v_pyparser->_cparser->method == 5) != 0); + __pyx_t_5 = __pyx_t_6; + __pyx_L10_bool_binop_done:; + if (__pyx_t_5) { + + /* "aiohttp/_http_parser.pyx":669 + * else: + * if pyparser._cparser.upgrade or pyparser._cparser.method == 5: # CONNECT + * return 2 # <<<<<<<<<<<<<< + * else: + * return 0 + */ + __pyx_r = 2; + goto __pyx_L6_except_return; + + /* "aiohttp/_http_parser.pyx":668 + * return -1 + * else: + * if pyparser._cparser.upgrade or pyparser._cparser.method == 5: # CONNECT # <<<<<<<<<<<<<< + * return 2 + * else: + */ + } + + /* "aiohttp/_http_parser.pyx":671 + * return 2 + * else: + * return 0 # <<<<<<<<<<<<<< + * + * + */ + /*else*/ { + __pyx_r = 0; + goto __pyx_L6_except_return; + } + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":664 + * pyparser._on_status_complete() + * pyparser._on_headers_complete() + * except BaseException as exc: # <<<<<<<<<<<<<< + * pyparser._last_error = exc + * return -1 + */ + __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_BaseException); + if (__pyx_t_7) { + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_headers_complete", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_8, &__pyx_t_9) < 0) __PYX_ERR(0, 664, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GOTREF(__pyx_t_9); + __Pyx_INCREF(__pyx_t_8); + __pyx_v_exc = __pyx_t_8; + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":665 + * pyparser._on_headers_complete() + * except BaseException as exc: + * pyparser._last_error = exc # <<<<<<<<<<<<<< + * return -1 + * else: + */ + __Pyx_INCREF(__pyx_v_exc); + __Pyx_GIVEREF(__pyx_v_exc); + __Pyx_GOTREF(__pyx_v_pyparser->_last_error); + __Pyx_DECREF(__pyx_v_pyparser->_last_error); + __pyx_v_pyparser->_last_error = __pyx_v_exc; + + /* "aiohttp/_http_parser.pyx":666 + * except BaseException as exc: + * pyparser._last_error = exc + * return -1 # <<<<<<<<<<<<<< + * else: + * if pyparser._cparser.upgrade or pyparser._cparser.method == 5: # CONNECT + */ + __pyx_r = -1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L16_return; + } + + /* "aiohttp/_http_parser.pyx":664 + * pyparser._on_status_complete() + * pyparser._on_headers_complete() + * except BaseException as exc: # <<<<<<<<<<<<<< + * pyparser._last_error = exc + * return -1 + */ + /*finally:*/ { + __pyx_L16_return: { + __pyx_t_7 = __pyx_r; + __Pyx_DECREF(__pyx_v_exc); + __pyx_v_exc = NULL; + __pyx_r = __pyx_t_7; + goto __pyx_L6_except_return; + } + } + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "aiohttp/_http_parser.pyx":661 + * cdef int cb_on_headers_complete(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: # <<<<<<<<<<<<<< + * pyparser._on_status_complete() + * pyparser._on_headers_complete() + */ + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L1_error; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L0; + } + + /* "aiohttp/_http_parser.pyx":659 + * + * + * cdef int cb_on_headers_complete(cparser.http_parser* parser) except -1: # <<<<<<<<<<<<<< + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_headers_complete", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_pyparser); + __Pyx_XDECREF(__pyx_v_exc); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":674 + * + * + * cdef int cb_on_body(cparser.http_parser* parser, # <<<<<<<<<<<<<< + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + */ + +static int __pyx_f_7aiohttp_12_http_parser_cb_on_body(struct http_parser *__pyx_v_parser, char const *__pyx_v_at, size_t __pyx_v_length) { + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_pyparser = 0; + PyObject *__pyx_v_body = 0; + PyObject *__pyx_v_exc = NULL; + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + int __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_t_16; + char const *__pyx_t_17; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + PyObject *__pyx_t_21 = NULL; + PyObject *__pyx_t_22 = NULL; + PyObject *__pyx_t_23 = NULL; + __Pyx_RefNannySetupContext("cb_on_body", 0); + + /* "aiohttp/_http_parser.pyx":676 + * cdef int cb_on_body(cparser.http_parser* parser, + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data # <<<<<<<<<<<<<< + * cdef bytes body = at[:length] + * try: + */ + __pyx_t_1 = ((PyObject *)__pyx_v_parser->data); + __Pyx_INCREF(__pyx_t_1); + __pyx_v_pyparser = ((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":677 + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * cdef bytes body = at[:length] # <<<<<<<<<<<<<< + * try: + * pyparser._payload.feed_data(body, length) + */ + __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_at + 0, __pyx_v_length - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 677, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_body = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":678 + * cdef HttpParser pyparser = <HttpParser>parser.data + * cdef bytes body = at[:length] + * try: # <<<<<<<<<<<<<< + * pyparser._payload.feed_data(body, length) + * except BaseException as exc: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_4); + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":679 + * cdef bytes body = at[:length] + * try: + * pyparser._payload.feed_data(body, length) # <<<<<<<<<<<<<< + * except BaseException as exc: + * if pyparser._payload_exception is not None: + */ + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyparser->_payload, __pyx_n_s_feed_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 679, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 679, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = NULL; + __pyx_t_8 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_8 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_body, __pyx_t_6}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 679, __pyx_L3_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_body, __pyx_t_6}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 679, __pyx_L3_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + { + __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 679, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_9); + if (__pyx_t_7) { + __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL; + } + __Pyx_INCREF(__pyx_v_body); + __Pyx_GIVEREF(__pyx_v_body); + PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_v_body); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 679, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":678 + * cdef HttpParser pyparser = <HttpParser>parser.data + * cdef bytes body = at[:length] + * try: # <<<<<<<<<<<<<< + * pyparser._payload.feed_data(body, length) + * except BaseException as exc: + */ + } + + /* "aiohttp/_http_parser.pyx":688 + * return -1 + * else: + * return 0 # <<<<<<<<<<<<<< + * + * + */ + /*else:*/ { + __pyx_r = 0; + goto __pyx_L6_except_return; + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":680 + * try: + * pyparser._payload.feed_data(body, length) + * except BaseException as exc: # <<<<<<<<<<<<<< + * if pyparser._payload_exception is not None: + * pyparser._payload.set_exception(pyparser._payload_exception(str(exc))) + */ + __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_BaseException); + if (__pyx_t_8) { + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_body", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_9) < 0) __PYX_ERR(0, 680, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_9); + __Pyx_INCREF(__pyx_t_5); + __pyx_v_exc = __pyx_t_5; + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":681 + * pyparser._payload.feed_data(body, length) + * except BaseException as exc: + * if pyparser._payload_exception is not None: # <<<<<<<<<<<<<< + * pyparser._payload.set_exception(pyparser._payload_exception(str(exc))) + * else: + */ + __pyx_t_10 = (__pyx_v_pyparser->_payload_exception != Py_None); + __pyx_t_11 = (__pyx_t_10 != 0); + if (__pyx_t_11) { + + /* "aiohttp/_http_parser.pyx":682 + * except BaseException as exc: + * if pyparser._payload_exception is not None: + * pyparser._payload.set_exception(pyparser._payload_exception(str(exc))) # <<<<<<<<<<<<<< + * else: + * pyparser._payload.set_exception(exc) + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyparser->_payload, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 682, __pyx_L14_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_13 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_exc); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 682, __pyx_L14_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_INCREF(__pyx_v_pyparser->_payload_exception); + __pyx_t_14 = __pyx_v_pyparser->_payload_exception; __pyx_t_15 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_15)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_15); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + } + } + __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13); + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 682, __pyx_L14_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_6 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_14, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_12); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 682, __pyx_L14_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "aiohttp/_http_parser.pyx":681 + * pyparser._payload.feed_data(body, length) + * except BaseException as exc: + * if pyparser._payload_exception is not None: # <<<<<<<<<<<<<< + * pyparser._payload.set_exception(pyparser._payload_exception(str(exc))) + * else: + */ + goto __pyx_L16; + } + + /* "aiohttp/_http_parser.pyx":684 + * pyparser._payload.set_exception(pyparser._payload_exception(str(exc))) + * else: + * pyparser._payload.set_exception(exc) # <<<<<<<<<<<<<< + * pyparser._payload_error = 1 + * return -1 + */ + /*else*/ { + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyparser->_payload, __pyx_n_s_set_exception); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 684, __pyx_L14_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_12 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_6 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_12, __pyx_v_exc) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_exc); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 684, __pyx_L14_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __pyx_L16:; + + /* "aiohttp/_http_parser.pyx":685 + * else: + * pyparser._payload.set_exception(exc) + * pyparser._payload_error = 1 # <<<<<<<<<<<<<< + * return -1 + * else: + */ + __pyx_v_pyparser->_payload_error = 1; + + /* "aiohttp/_http_parser.pyx":686 + * pyparser._payload.set_exception(exc) + * pyparser._payload_error = 1 + * return -1 # <<<<<<<<<<<<<< + * else: + * return 0 + */ + __pyx_r = -1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L13_return; + } + + /* "aiohttp/_http_parser.pyx":680 + * try: + * pyparser._payload.feed_data(body, length) + * except BaseException as exc: # <<<<<<<<<<<<<< + * if pyparser._payload_exception is not None: + * pyparser._payload.set_exception(pyparser._payload_exception(str(exc))) + */ + /*finally:*/ { + __pyx_L14_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20) < 0)) __Pyx_ErrFetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_21); + __Pyx_XGOTREF(__pyx_t_22); + __Pyx_XGOTREF(__pyx_t_23); + __pyx_t_8 = __pyx_lineno; __pyx_t_16 = __pyx_clineno; __pyx_t_17 = __pyx_filename; + { + __Pyx_DECREF(__pyx_v_exc); + __pyx_v_exc = NULL; + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_21); + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23); + } + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ErrRestore(__pyx_t_18, __pyx_t_19, __pyx_t_20); + __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; + __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_16; __pyx_filename = __pyx_t_17; + goto __pyx_L5_except_error; + } + __pyx_L13_return: { + __pyx_t_16 = __pyx_r; + __Pyx_DECREF(__pyx_v_exc); + __pyx_v_exc = NULL; + __pyx_r = __pyx_t_16; + goto __pyx_L6_except_return; + } + } + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "aiohttp/_http_parser.pyx":678 + * cdef HttpParser pyparser = <HttpParser>parser.data + * cdef bytes body = at[:length] + * try: # <<<<<<<<<<<<<< + * pyparser._payload.feed_data(body, length) + * except BaseException as exc: + */ + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L1_error; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L0; + } + + /* "aiohttp/_http_parser.pyx":674 + * + * + * cdef int cb_on_body(cparser.http_parser* parser, # <<<<<<<<<<<<<< + * const char *at, size_t length) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_body", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_pyparser); + __Pyx_XDECREF(__pyx_v_body); + __Pyx_XDECREF(__pyx_v_exc); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":691 + * + * + * cdef int cb_on_message_complete(cparser.http_parser* parser) except -1: # <<<<<<<<<<<<<< + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: + */ + +static int __pyx_f_7aiohttp_12_http_parser_cb_on_message_complete(struct http_parser *__pyx_v_parser) { + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_pyparser = 0; + PyObject *__pyx_v_exc = NULL; + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + __Pyx_RefNannySetupContext("cb_on_message_complete", 0); + + /* "aiohttp/_http_parser.pyx":692 + * + * cdef int cb_on_message_complete(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data # <<<<<<<<<<<<<< + * try: + * pyparser._started = False + */ + __pyx_t_1 = ((PyObject *)__pyx_v_parser->data); + __Pyx_INCREF(__pyx_t_1); + __pyx_v_pyparser = ((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":693 + * cdef int cb_on_message_complete(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: # <<<<<<<<<<<<<< + * pyparser._started = False + * pyparser._on_message_complete() + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_4); + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":694 + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: + * pyparser._started = False # <<<<<<<<<<<<<< + * pyparser._on_message_complete() + * except BaseException as exc: + */ + __pyx_v_pyparser->_started = 0; + + /* "aiohttp/_http_parser.pyx":695 + * try: + * pyparser._started = False + * pyparser._on_message_complete() # <<<<<<<<<<<<<< + * except BaseException as exc: + * pyparser._last_error = exc + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser *)__pyx_v_pyparser->__pyx_vtab)->_on_message_complete(__pyx_v_pyparser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 695, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":693 + * cdef int cb_on_message_complete(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: # <<<<<<<<<<<<<< + * pyparser._started = False + * pyparser._on_message_complete() + */ + } + + /* "aiohttp/_http_parser.pyx":700 + * return -1 + * else: + * return 0 # <<<<<<<<<<<<<< + * + * + */ + /*else:*/ { + __pyx_r = 0; + goto __pyx_L6_except_return; + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":696 + * pyparser._started = False + * pyparser._on_message_complete() + * except BaseException as exc: # <<<<<<<<<<<<<< + * pyparser._last_error = exc + * return -1 + */ + __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_BaseException); + if (__pyx_t_5) { + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_message_complete", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(0, 696, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); + __pyx_v_exc = __pyx_t_6; + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":697 + * pyparser._on_message_complete() + * except BaseException as exc: + * pyparser._last_error = exc # <<<<<<<<<<<<<< + * return -1 + * else: + */ + __Pyx_INCREF(__pyx_v_exc); + __Pyx_GIVEREF(__pyx_v_exc); + __Pyx_GOTREF(__pyx_v_pyparser->_last_error); + __Pyx_DECREF(__pyx_v_pyparser->_last_error); + __pyx_v_pyparser->_last_error = __pyx_v_exc; + + /* "aiohttp/_http_parser.pyx":698 + * except BaseException as exc: + * pyparser._last_error = exc + * return -1 # <<<<<<<<<<<<<< + * else: + * return 0 + */ + __pyx_r = -1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L13_return; + } + + /* "aiohttp/_http_parser.pyx":696 + * pyparser._started = False + * pyparser._on_message_complete() + * except BaseException as exc: # <<<<<<<<<<<<<< + * pyparser._last_error = exc + * return -1 + */ + /*finally:*/ { + __pyx_L13_return: { + __pyx_t_5 = __pyx_r; + __Pyx_DECREF(__pyx_v_exc); + __pyx_v_exc = NULL; + __pyx_r = __pyx_t_5; + goto __pyx_L6_except_return; + } + } + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "aiohttp/_http_parser.pyx":693 + * cdef int cb_on_message_complete(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: # <<<<<<<<<<<<<< + * pyparser._started = False + * pyparser._on_message_complete() + */ + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L1_error; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L0; + } + + /* "aiohttp/_http_parser.pyx":691 + * + * + * cdef int cb_on_message_complete(cparser.http_parser* parser) except -1: # <<<<<<<<<<<<<< + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_message_complete", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_pyparser); + __Pyx_XDECREF(__pyx_v_exc); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":703 + * + * + * cdef int cb_on_chunk_header(cparser.http_parser* parser) except -1: # <<<<<<<<<<<<<< + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: + */ + +static int __pyx_f_7aiohttp_12_http_parser_cb_on_chunk_header(struct http_parser *__pyx_v_parser) { + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_pyparser = 0; + PyObject *__pyx_v_exc = NULL; + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + __Pyx_RefNannySetupContext("cb_on_chunk_header", 0); + + /* "aiohttp/_http_parser.pyx":704 + * + * cdef int cb_on_chunk_header(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data # <<<<<<<<<<<<<< + * try: + * pyparser._on_chunk_header() + */ + __pyx_t_1 = ((PyObject *)__pyx_v_parser->data); + __Pyx_INCREF(__pyx_t_1); + __pyx_v_pyparser = ((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":705 + * cdef int cb_on_chunk_header(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: # <<<<<<<<<<<<<< + * pyparser._on_chunk_header() + * except BaseException as exc: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_4); + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":706 + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: + * pyparser._on_chunk_header() # <<<<<<<<<<<<<< + * except BaseException as exc: + * pyparser._last_error = exc + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser *)__pyx_v_pyparser->__pyx_vtab)->_on_chunk_header(__pyx_v_pyparser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 706, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":705 + * cdef int cb_on_chunk_header(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: # <<<<<<<<<<<<<< + * pyparser._on_chunk_header() + * except BaseException as exc: + */ + } + + /* "aiohttp/_http_parser.pyx":711 + * return -1 + * else: + * return 0 # <<<<<<<<<<<<<< + * + * + */ + /*else:*/ { + __pyx_r = 0; + goto __pyx_L6_except_return; + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":707 + * try: + * pyparser._on_chunk_header() + * except BaseException as exc: # <<<<<<<<<<<<<< + * pyparser._last_error = exc + * return -1 + */ + __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_BaseException); + if (__pyx_t_5) { + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_chunk_header", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(0, 707, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); + __pyx_v_exc = __pyx_t_6; + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":708 + * pyparser._on_chunk_header() + * except BaseException as exc: + * pyparser._last_error = exc # <<<<<<<<<<<<<< + * return -1 + * else: + */ + __Pyx_INCREF(__pyx_v_exc); + __Pyx_GIVEREF(__pyx_v_exc); + __Pyx_GOTREF(__pyx_v_pyparser->_last_error); + __Pyx_DECREF(__pyx_v_pyparser->_last_error); + __pyx_v_pyparser->_last_error = __pyx_v_exc; + + /* "aiohttp/_http_parser.pyx":709 + * except BaseException as exc: + * pyparser._last_error = exc + * return -1 # <<<<<<<<<<<<<< + * else: + * return 0 + */ + __pyx_r = -1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L13_return; + } + + /* "aiohttp/_http_parser.pyx":707 + * try: + * pyparser._on_chunk_header() + * except BaseException as exc: # <<<<<<<<<<<<<< + * pyparser._last_error = exc + * return -1 + */ + /*finally:*/ { + __pyx_L13_return: { + __pyx_t_5 = __pyx_r; + __Pyx_DECREF(__pyx_v_exc); + __pyx_v_exc = NULL; + __pyx_r = __pyx_t_5; + goto __pyx_L6_except_return; + } + } + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "aiohttp/_http_parser.pyx":705 + * cdef int cb_on_chunk_header(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: # <<<<<<<<<<<<<< + * pyparser._on_chunk_header() + * except BaseException as exc: + */ + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L1_error; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L0; + } + + /* "aiohttp/_http_parser.pyx":703 + * + * + * cdef int cb_on_chunk_header(cparser.http_parser* parser) except -1: # <<<<<<<<<<<<<< + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_chunk_header", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_pyparser); + __Pyx_XDECREF(__pyx_v_exc); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":714 + * + * + * cdef int cb_on_chunk_complete(cparser.http_parser* parser) except -1: # <<<<<<<<<<<<<< + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: + */ + +static int __pyx_f_7aiohttp_12_http_parser_cb_on_chunk_complete(struct http_parser *__pyx_v_parser) { + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *__pyx_v_pyparser = 0; + PyObject *__pyx_v_exc = NULL; + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + __Pyx_RefNannySetupContext("cb_on_chunk_complete", 0); + + /* "aiohttp/_http_parser.pyx":715 + * + * cdef int cb_on_chunk_complete(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data # <<<<<<<<<<<<<< + * try: + * pyparser._on_chunk_complete() + */ + __pyx_t_1 = ((PyObject *)__pyx_v_parser->data); + __Pyx_INCREF(__pyx_t_1); + __pyx_v_pyparser = ((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":716 + * cdef int cb_on_chunk_complete(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: # <<<<<<<<<<<<<< + * pyparser._on_chunk_complete() + * except BaseException as exc: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_4); + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":717 + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: + * pyparser._on_chunk_complete() # <<<<<<<<<<<<<< + * except BaseException as exc: + * pyparser._last_error = exc + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser *)__pyx_v_pyparser->__pyx_vtab)->_on_chunk_complete(__pyx_v_pyparser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 717, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":716 + * cdef int cb_on_chunk_complete(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: # <<<<<<<<<<<<<< + * pyparser._on_chunk_complete() + * except BaseException as exc: + */ + } + + /* "aiohttp/_http_parser.pyx":722 + * return -1 + * else: + * return 0 # <<<<<<<<<<<<<< + * + * + */ + /*else:*/ { + __pyx_r = 0; + goto __pyx_L6_except_return; + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":718 + * try: + * pyparser._on_chunk_complete() + * except BaseException as exc: # <<<<<<<<<<<<<< + * pyparser._last_error = exc + * return -1 + */ + __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_BaseException); + if (__pyx_t_5) { + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_chunk_complete", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(0, 718, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); + __pyx_v_exc = __pyx_t_6; + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":719 + * pyparser._on_chunk_complete() + * except BaseException as exc: + * pyparser._last_error = exc # <<<<<<<<<<<<<< + * return -1 + * else: + */ + __Pyx_INCREF(__pyx_v_exc); + __Pyx_GIVEREF(__pyx_v_exc); + __Pyx_GOTREF(__pyx_v_pyparser->_last_error); + __Pyx_DECREF(__pyx_v_pyparser->_last_error); + __pyx_v_pyparser->_last_error = __pyx_v_exc; + + /* "aiohttp/_http_parser.pyx":720 + * except BaseException as exc: + * pyparser._last_error = exc + * return -1 # <<<<<<<<<<<<<< + * else: + * return 0 + */ + __pyx_r = -1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L13_return; + } + + /* "aiohttp/_http_parser.pyx":718 + * try: + * pyparser._on_chunk_complete() + * except BaseException as exc: # <<<<<<<<<<<<<< + * pyparser._last_error = exc + * return -1 + */ + /*finally:*/ { + __pyx_L13_return: { + __pyx_t_5 = __pyx_r; + __Pyx_DECREF(__pyx_v_exc); + __pyx_v_exc = NULL; + __pyx_r = __pyx_t_5; + goto __pyx_L6_except_return; + } + } + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "aiohttp/_http_parser.pyx":716 + * cdef int cb_on_chunk_complete(cparser.http_parser* parser) except -1: + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: # <<<<<<<<<<<<<< + * pyparser._on_chunk_complete() + * except BaseException as exc: + */ + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L1_error; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L0; + } + + /* "aiohttp/_http_parser.pyx":714 + * + * + * cdef int cb_on_chunk_complete(cparser.http_parser* parser) except -1: # <<<<<<<<<<<<<< + * cdef HttpParser pyparser = <HttpParser>parser.data + * try: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("aiohttp._http_parser.cb_on_chunk_complete", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_pyparser); + __Pyx_XDECREF(__pyx_v_exc); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":725 + * + * + * cdef parser_error_from_errno(cparser.http_errno errno): # <<<<<<<<<<<<<< + * cdef bytes desc = cparser.http_errno_description(errno) + * + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser_parser_error_from_errno(enum http_errno __pyx_v_errno) { + PyObject *__pyx_v_desc = 0; + PyObject *__pyx_v_cls = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + __Pyx_RefNannySetupContext("parser_error_from_errno", 0); + + /* "aiohttp/_http_parser.pyx":726 + * + * cdef parser_error_from_errno(cparser.http_errno errno): + * cdef bytes desc = cparser.http_errno_description(errno) # <<<<<<<<<<<<<< + * + * if errno in (cparser.HPE_CB_message_begin, + */ + __pyx_t_1 = __Pyx_PyBytes_FromString(http_errno_description(__pyx_v_errno)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 726, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_desc = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":728 + * cdef bytes desc = cparser.http_errno_description(errno) + * + * if errno in (cparser.HPE_CB_message_begin, # <<<<<<<<<<<<<< + * cparser.HPE_CB_url, + * cparser.HPE_CB_header_field, + */ + switch (__pyx_v_errno) { + case HPE_CB_message_begin: + case HPE_CB_url: + + /* "aiohttp/_http_parser.pyx":729 + * + * if errno in (cparser.HPE_CB_message_begin, + * cparser.HPE_CB_url, # <<<<<<<<<<<<<< + * cparser.HPE_CB_header_field, + * cparser.HPE_CB_header_value, + */ + case HPE_CB_header_field: + + /* "aiohttp/_http_parser.pyx":730 + * if errno in (cparser.HPE_CB_message_begin, + * cparser.HPE_CB_url, + * cparser.HPE_CB_header_field, # <<<<<<<<<<<<<< + * cparser.HPE_CB_header_value, + * cparser.HPE_CB_headers_complete, + */ + case HPE_CB_header_value: + + /* "aiohttp/_http_parser.pyx":731 + * cparser.HPE_CB_url, + * cparser.HPE_CB_header_field, + * cparser.HPE_CB_header_value, # <<<<<<<<<<<<<< + * cparser.HPE_CB_headers_complete, + * cparser.HPE_CB_body, + */ + case HPE_CB_headers_complete: + + /* "aiohttp/_http_parser.pyx":732 + * cparser.HPE_CB_header_field, + * cparser.HPE_CB_header_value, + * cparser.HPE_CB_headers_complete, # <<<<<<<<<<<<<< + * cparser.HPE_CB_body, + * cparser.HPE_CB_message_complete, + */ + case HPE_CB_body: + + /* "aiohttp/_http_parser.pyx":733 + * cparser.HPE_CB_header_value, + * cparser.HPE_CB_headers_complete, + * cparser.HPE_CB_body, # <<<<<<<<<<<<<< + * cparser.HPE_CB_message_complete, + * cparser.HPE_CB_status, + */ + case HPE_CB_message_complete: + + /* "aiohttp/_http_parser.pyx":734 + * cparser.HPE_CB_headers_complete, + * cparser.HPE_CB_body, + * cparser.HPE_CB_message_complete, # <<<<<<<<<<<<<< + * cparser.HPE_CB_status, + * cparser.HPE_CB_chunk_header, + */ + case HPE_CB_status: + + /* "aiohttp/_http_parser.pyx":735 + * cparser.HPE_CB_body, + * cparser.HPE_CB_message_complete, + * cparser.HPE_CB_status, # <<<<<<<<<<<<<< + * cparser.HPE_CB_chunk_header, + * cparser.HPE_CB_chunk_complete): + */ + case HPE_CB_chunk_header: + + /* "aiohttp/_http_parser.pyx":736 + * cparser.HPE_CB_message_complete, + * cparser.HPE_CB_status, + * cparser.HPE_CB_chunk_header, # <<<<<<<<<<<<<< + * cparser.HPE_CB_chunk_complete): + * cls = BadHttpMessage + */ + case HPE_CB_chunk_complete: + + /* "aiohttp/_http_parser.pyx":738 + * cparser.HPE_CB_chunk_header, + * cparser.HPE_CB_chunk_complete): + * cls = BadHttpMessage # <<<<<<<<<<<<<< + * + * elif errno == cparser.HPE_INVALID_STATUS: + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_BadHttpMessage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 738, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_cls = __pyx_t_1; + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":728 + * cdef bytes desc = cparser.http_errno_description(errno) + * + * if errno in (cparser.HPE_CB_message_begin, # <<<<<<<<<<<<<< + * cparser.HPE_CB_url, + * cparser.HPE_CB_header_field, + */ + break; + case HPE_INVALID_STATUS: + + /* "aiohttp/_http_parser.pyx":741 + * + * elif errno == cparser.HPE_INVALID_STATUS: + * cls = BadStatusLine # <<<<<<<<<<<<<< + * + * elif errno == cparser.HPE_INVALID_METHOD: + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_BadStatusLine); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 741, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_cls = __pyx_t_1; + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":740 + * cls = BadHttpMessage + * + * elif errno == cparser.HPE_INVALID_STATUS: # <<<<<<<<<<<<<< + * cls = BadStatusLine + * + */ + break; + case HPE_INVALID_METHOD: + + /* "aiohttp/_http_parser.pyx":744 + * + * elif errno == cparser.HPE_INVALID_METHOD: + * cls = BadStatusLine # <<<<<<<<<<<<<< + * + * elif errno == cparser.HPE_INVALID_URL: + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_BadStatusLine); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 744, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_cls = __pyx_t_1; + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":743 + * cls = BadStatusLine + * + * elif errno == cparser.HPE_INVALID_METHOD: # <<<<<<<<<<<<<< + * cls = BadStatusLine + * + */ + break; + case HPE_INVALID_URL: + + /* "aiohttp/_http_parser.pyx":747 + * + * elif errno == cparser.HPE_INVALID_URL: + * cls = InvalidURLError # <<<<<<<<<<<<<< + * + * else: + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InvalidURLError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 747, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_cls = __pyx_t_1; + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":746 + * cls = BadStatusLine + * + * elif errno == cparser.HPE_INVALID_URL: # <<<<<<<<<<<<<< + * cls = InvalidURLError + * + */ + break; + default: + + /* "aiohttp/_http_parser.pyx":750 + * + * else: + * cls = BadHttpMessage # <<<<<<<<<<<<<< + * + * return cls(desc.decode('latin-1')) + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_BadHttpMessage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 750, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_cls = __pyx_t_1; + __pyx_t_1 = 0; + break; + } + + /* "aiohttp/_http_parser.pyx":752 + * cls = BadHttpMessage + * + * return cls(desc.decode('latin-1')) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_decode_bytes(__pyx_v_desc, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeLatin1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 752, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_cls); + __pyx_t_3 = __pyx_v_cls; __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 752, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_http_parser.pyx":725 + * + * + * cdef parser_error_from_errno(cparser.http_errno errno): # <<<<<<<<<<<<<< + * cdef bytes desc = cparser.http_errno_description(errno) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("aiohttp._http_parser.parser_error_from_errno", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_desc); + __Pyx_XDECREF(__pyx_v_cls); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":755 + * + * + * def parse_url(url): # <<<<<<<<<<<<<< + * cdef: + * Py_buffer py_buf + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_1parse_url(PyObject *__pyx_self, PyObject *__pyx_v_url); /*proto*/ +static PyMethodDef __pyx_mdef_7aiohttp_12_http_parser_1parse_url = {"parse_url", (PyCFunction)__pyx_pw_7aiohttp_12_http_parser_1parse_url, METH_O, 0}; +static PyObject *__pyx_pw_7aiohttp_12_http_parser_1parse_url(PyObject *__pyx_self, PyObject *__pyx_v_url) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("parse_url (wrapper)", 0); + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_parse_url(__pyx_self, ((PyObject *)__pyx_v_url)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_parse_url(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_url) { + Py_buffer __pyx_v_py_buf; + char *__pyx_v_buf_data; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + char const *__pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + __Pyx_RefNannySetupContext("parse_url", 0); + + /* "aiohttp/_http_parser.pyx":760 + * char* buf_data + * + * PyObject_GetBuffer(url, &py_buf, PyBUF_SIMPLE) # <<<<<<<<<<<<<< + * try: + * buf_data = <char*>py_buf.buf + */ + __pyx_t_1 = PyObject_GetBuffer(__pyx_v_url, (&__pyx_v_py_buf), PyBUF_SIMPLE); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 760, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":761 + * + * PyObject_GetBuffer(url, &py_buf, PyBUF_SIMPLE) + * try: # <<<<<<<<<<<<<< + * buf_data = <char*>py_buf.buf + * return _parse_url(buf_data, py_buf.len) + */ + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":762 + * PyObject_GetBuffer(url, &py_buf, PyBUF_SIMPLE) + * try: + * buf_data = <char*>py_buf.buf # <<<<<<<<<<<<<< + * return _parse_url(buf_data, py_buf.len) + * finally: + */ + __pyx_v_buf_data = ((char *)__pyx_v_py_buf.buf); + + /* "aiohttp/_http_parser.pyx":763 + * try: + * buf_data = <char*>py_buf.buf + * return _parse_url(buf_data, py_buf.len) # <<<<<<<<<<<<<< + * finally: + * PyBuffer_Release(&py_buf) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __pyx_f_7aiohttp_12_http_parser__parse_url(__pyx_v_buf_data, __pyx_v_py_buf.len); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 763, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L3_return; + } + + /* "aiohttp/_http_parser.pyx":765 + * return _parse_url(buf_data, py_buf.len) + * finally: + * PyBuffer_Release(&py_buf) # <<<<<<<<<<<<<< + * + * + */ + /*finally:*/ { + __pyx_L4_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0)) __Pyx_ErrFetch(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + __pyx_t_1 = __pyx_lineno; __pyx_t_3 = __pyx_clineno; __pyx_t_4 = __pyx_filename; + { + PyBuffer_Release((&__pyx_v_py_buf)); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + } + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_ErrRestore(__pyx_t_5, __pyx_t_6, __pyx_t_7); + __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; + __pyx_lineno = __pyx_t_1; __pyx_clineno = __pyx_t_3; __pyx_filename = __pyx_t_4; + goto __pyx_L1_error; + } + __pyx_L3_return: { + __pyx_t_10 = __pyx_r; + __pyx_r = 0; + PyBuffer_Release((&__pyx_v_py_buf)); + __pyx_r = __pyx_t_10; + __pyx_t_10 = 0; + goto __pyx_L0; + } + } + + /* "aiohttp/_http_parser.pyx":755 + * + * + * def parse_url(url): # <<<<<<<<<<<<<< + * cdef: + * Py_buffer py_buf + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("aiohttp._http_parser.parse_url", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_parser.pyx":768 + * + * + * cdef _parse_url(char* buf_data, size_t length): # <<<<<<<<<<<<<< + * cdef: + * cparser.http_parser_url* parsed + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser__parse_url(char *__pyx_v_buf_data, size_t __pyx_v_length) { + struct http_parser_url *__pyx_v_parsed; + int __pyx_v_res; + PyObject *__pyx_v_schema = 0; + PyObject *__pyx_v_host = 0; + PyObject *__pyx_v_port = 0; + PyObject *__pyx_v_path = 0; + PyObject *__pyx_v_query = 0; + PyObject *__pyx_v_fragment = 0; + PyObject *__pyx_v_user = 0; + PyObject *__pyx_v_password = 0; + PyObject *__pyx_v_userinfo = 0; + CYTHON_UNUSED PyObject *__pyx_v_result = 0; + int __pyx_v_off; + int __pyx_v_ln; + CYTHON_UNUSED PyObject *__pyx_v_sep = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + uint16_t __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *(*__pyx_t_8)(PyObject *); + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + int __pyx_t_11; + char const *__pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + __Pyx_RefNannySetupContext("_parse_url", 0); + + /* "aiohttp/_http_parser.pyx":772 + * cparser.http_parser_url* parsed + * int res + * str schema = None # <<<<<<<<<<<<<< + * str host = None + * object port = None + */ + __Pyx_INCREF(Py_None); + __pyx_v_schema = ((PyObject*)Py_None); + + /* "aiohttp/_http_parser.pyx":773 + * int res + * str schema = None + * str host = None # <<<<<<<<<<<<<< + * object port = None + * str path = None + */ + __Pyx_INCREF(Py_None); + __pyx_v_host = ((PyObject*)Py_None); + + /* "aiohttp/_http_parser.pyx":774 + * str schema = None + * str host = None + * object port = None # <<<<<<<<<<<<<< + * str path = None + * str query = None + */ + __Pyx_INCREF(Py_None); + __pyx_v_port = Py_None; + + /* "aiohttp/_http_parser.pyx":775 + * str host = None + * object port = None + * str path = None # <<<<<<<<<<<<<< + * str query = None + * str fragment = None + */ + __Pyx_INCREF(Py_None); + __pyx_v_path = ((PyObject*)Py_None); + + /* "aiohttp/_http_parser.pyx":776 + * object port = None + * str path = None + * str query = None # <<<<<<<<<<<<<< + * str fragment = None + * str user = None + */ + __Pyx_INCREF(Py_None); + __pyx_v_query = ((PyObject*)Py_None); + + /* "aiohttp/_http_parser.pyx":777 + * str path = None + * str query = None + * str fragment = None # <<<<<<<<<<<<<< + * str user = None + * str password = None + */ + __Pyx_INCREF(Py_None); + __pyx_v_fragment = ((PyObject*)Py_None); + + /* "aiohttp/_http_parser.pyx":778 + * str query = None + * str fragment = None + * str user = None # <<<<<<<<<<<<<< + * str password = None + * str userinfo = None + */ + __Pyx_INCREF(Py_None); + __pyx_v_user = ((PyObject*)Py_None); + + /* "aiohttp/_http_parser.pyx":779 + * str fragment = None + * str user = None + * str password = None # <<<<<<<<<<<<<< + * str userinfo = None + * object result = None + */ + __Pyx_INCREF(Py_None); + __pyx_v_password = ((PyObject*)Py_None); + + /* "aiohttp/_http_parser.pyx":780 + * str user = None + * str password = None + * str userinfo = None # <<<<<<<<<<<<<< + * object result = None + * int off + */ + __Pyx_INCREF(Py_None); + __pyx_v_userinfo = ((PyObject*)Py_None); + + /* "aiohttp/_http_parser.pyx":781 + * str password = None + * str userinfo = None + * object result = None # <<<<<<<<<<<<<< + * int off + * int ln + */ + __Pyx_INCREF(Py_None); + __pyx_v_result = Py_None; + + /* "aiohttp/_http_parser.pyx":785 + * int ln + * + * parsed = <cparser.http_parser_url*> \ # <<<<<<<<<<<<<< + * PyMem_Malloc(sizeof(cparser.http_parser_url)) + * if parsed is NULL: + */ + __pyx_v_parsed = ((struct http_parser_url *)PyMem_Malloc((sizeof(struct http_parser_url)))); + + /* "aiohttp/_http_parser.pyx":787 + * parsed = <cparser.http_parser_url*> \ + * PyMem_Malloc(sizeof(cparser.http_parser_url)) + * if parsed is NULL: # <<<<<<<<<<<<<< + * raise MemoryError() + * cparser.http_parser_url_init(parsed) + */ + __pyx_t_1 = ((__pyx_v_parsed == NULL) != 0); + if (unlikely(__pyx_t_1)) { + + /* "aiohttp/_http_parser.pyx":788 + * PyMem_Malloc(sizeof(cparser.http_parser_url)) + * if parsed is NULL: + * raise MemoryError() # <<<<<<<<<<<<<< + * cparser.http_parser_url_init(parsed) + * try: + */ + PyErr_NoMemory(); __PYX_ERR(0, 788, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":787 + * parsed = <cparser.http_parser_url*> \ + * PyMem_Malloc(sizeof(cparser.http_parser_url)) + * if parsed is NULL: # <<<<<<<<<<<<<< + * raise MemoryError() + * cparser.http_parser_url_init(parsed) + */ + } + + /* "aiohttp/_http_parser.pyx":789 + * if parsed is NULL: + * raise MemoryError() + * cparser.http_parser_url_init(parsed) # <<<<<<<<<<<<<< + * try: + * res = cparser.http_parser_parse_url(buf_data, length, 0, parsed) + */ + http_parser_url_init(__pyx_v_parsed); + + /* "aiohttp/_http_parser.pyx":790 + * raise MemoryError() + * cparser.http_parser_url_init(parsed) + * try: # <<<<<<<<<<<<<< + * res = cparser.http_parser_parse_url(buf_data, length, 0, parsed) + * + */ + /*try:*/ { + + /* "aiohttp/_http_parser.pyx":791 + * cparser.http_parser_url_init(parsed) + * try: + * res = cparser.http_parser_parse_url(buf_data, length, 0, parsed) # <<<<<<<<<<<<<< + * + * if res == 0: + */ + __pyx_v_res = http_parser_parse_url(__pyx_v_buf_data, __pyx_v_length, 0, __pyx_v_parsed); + + /* "aiohttp/_http_parser.pyx":793 + * res = cparser.http_parser_parse_url(buf_data, length, 0, parsed) + * + * if res == 0: # <<<<<<<<<<<<<< + * if parsed.field_set & (1 << cparser.UF_SCHEMA): + * off = parsed.field_data[<int>cparser.UF_SCHEMA].off + */ + __pyx_t_1 = ((__pyx_v_res == 0) != 0); + if (likely(__pyx_t_1)) { + + /* "aiohttp/_http_parser.pyx":794 + * + * if res == 0: + * if parsed.field_set & (1 << cparser.UF_SCHEMA): # <<<<<<<<<<<<<< + * off = parsed.field_data[<int>cparser.UF_SCHEMA].off + * ln = parsed.field_data[<int>cparser.UF_SCHEMA].len + */ + __pyx_t_1 = ((__pyx_v_parsed->field_set & (1 << UF_SCHEMA)) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_parser.pyx":795 + * if res == 0: + * if parsed.field_set & (1 << cparser.UF_SCHEMA): + * off = parsed.field_data[<int>cparser.UF_SCHEMA].off # <<<<<<<<<<<<<< + * ln = parsed.field_data[<int>cparser.UF_SCHEMA].len + * schema = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + */ + __pyx_t_2 = (__pyx_v_parsed->field_data[((int)UF_SCHEMA)]).off; + __pyx_v_off = __pyx_t_2; + + /* "aiohttp/_http_parser.pyx":796 + * if parsed.field_set & (1 << cparser.UF_SCHEMA): + * off = parsed.field_data[<int>cparser.UF_SCHEMA].off + * ln = parsed.field_data[<int>cparser.UF_SCHEMA].len # <<<<<<<<<<<<<< + * schema = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + * else: + */ + __pyx_t_2 = (__pyx_v_parsed->field_data[((int)UF_SCHEMA)]).len; + __pyx_v_ln = __pyx_t_2; + + /* "aiohttp/_http_parser.pyx":797 + * off = parsed.field_data[<int>cparser.UF_SCHEMA].off + * ln = parsed.field_data[<int>cparser.UF_SCHEMA].len + * schema = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') # <<<<<<<<<<<<<< + * else: + * schema = '' + */ + __pyx_t_3 = __Pyx_decode_c_string(__pyx_v_buf_data, __pyx_v_off, (__pyx_v_off + __pyx_v_ln), NULL, ((char const *)"surrogateescape"), PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 797, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_schema, ((PyObject*)__pyx_t_3)); + __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":794 + * + * if res == 0: + * if parsed.field_set & (1 << cparser.UF_SCHEMA): # <<<<<<<<<<<<<< + * off = parsed.field_data[<int>cparser.UF_SCHEMA].off + * ln = parsed.field_data[<int>cparser.UF_SCHEMA].len + */ + goto __pyx_L8; + } + + /* "aiohttp/_http_parser.pyx":799 + * schema = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + * else: + * schema = '' # <<<<<<<<<<<<<< + * + * if parsed.field_set & (1 << cparser.UF_HOST): + */ + /*else*/ { + __Pyx_INCREF(__pyx_kp_u__4); + __Pyx_DECREF_SET(__pyx_v_schema, __pyx_kp_u__4); + } + __pyx_L8:; + + /* "aiohttp/_http_parser.pyx":801 + * schema = '' + * + * if parsed.field_set & (1 << cparser.UF_HOST): # <<<<<<<<<<<<<< + * off = parsed.field_data[<int>cparser.UF_HOST].off + * ln = parsed.field_data[<int>cparser.UF_HOST].len + */ + __pyx_t_1 = ((__pyx_v_parsed->field_set & (1 << UF_HOST)) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_parser.pyx":802 + * + * if parsed.field_set & (1 << cparser.UF_HOST): + * off = parsed.field_data[<int>cparser.UF_HOST].off # <<<<<<<<<<<<<< + * ln = parsed.field_data[<int>cparser.UF_HOST].len + * host = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + */ + __pyx_t_2 = (__pyx_v_parsed->field_data[((int)UF_HOST)]).off; + __pyx_v_off = __pyx_t_2; + + /* "aiohttp/_http_parser.pyx":803 + * if parsed.field_set & (1 << cparser.UF_HOST): + * off = parsed.field_data[<int>cparser.UF_HOST].off + * ln = parsed.field_data[<int>cparser.UF_HOST].len # <<<<<<<<<<<<<< + * host = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + * else: + */ + __pyx_t_2 = (__pyx_v_parsed->field_data[((int)UF_HOST)]).len; + __pyx_v_ln = __pyx_t_2; + + /* "aiohttp/_http_parser.pyx":804 + * off = parsed.field_data[<int>cparser.UF_HOST].off + * ln = parsed.field_data[<int>cparser.UF_HOST].len + * host = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') # <<<<<<<<<<<<<< + * else: + * host = '' + */ + __pyx_t_3 = __Pyx_decode_c_string(__pyx_v_buf_data, __pyx_v_off, (__pyx_v_off + __pyx_v_ln), NULL, ((char const *)"surrogateescape"), PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 804, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_host, ((PyObject*)__pyx_t_3)); + __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":801 + * schema = '' + * + * if parsed.field_set & (1 << cparser.UF_HOST): # <<<<<<<<<<<<<< + * off = parsed.field_data[<int>cparser.UF_HOST].off + * ln = parsed.field_data[<int>cparser.UF_HOST].len + */ + goto __pyx_L9; + } + + /* "aiohttp/_http_parser.pyx":806 + * host = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + * else: + * host = '' # <<<<<<<<<<<<<< + * + * if parsed.field_set & (1 << cparser.UF_PORT): + */ + /*else*/ { + __Pyx_INCREF(__pyx_kp_u__4); + __Pyx_DECREF_SET(__pyx_v_host, __pyx_kp_u__4); + } + __pyx_L9:; + + /* "aiohttp/_http_parser.pyx":808 + * host = '' + * + * if parsed.field_set & (1 << cparser.UF_PORT): # <<<<<<<<<<<<<< + * port = parsed.port + * + */ + __pyx_t_1 = ((__pyx_v_parsed->field_set & (1 << UF_PORT)) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_parser.pyx":809 + * + * if parsed.field_set & (1 << cparser.UF_PORT): + * port = parsed.port # <<<<<<<<<<<<<< + * + * if parsed.field_set & (1 << cparser.UF_PATH): + */ + __pyx_t_3 = __Pyx_PyInt_From_uint16_t(__pyx_v_parsed->port); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 809, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_port, __pyx_t_3); + __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":808 + * host = '' + * + * if parsed.field_set & (1 << cparser.UF_PORT): # <<<<<<<<<<<<<< + * port = parsed.port + * + */ + } + + /* "aiohttp/_http_parser.pyx":811 + * port = parsed.port + * + * if parsed.field_set & (1 << cparser.UF_PATH): # <<<<<<<<<<<<<< + * off = parsed.field_data[<int>cparser.UF_PATH].off + * ln = parsed.field_data[<int>cparser.UF_PATH].len + */ + __pyx_t_1 = ((__pyx_v_parsed->field_set & (1 << UF_PATH)) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_parser.pyx":812 + * + * if parsed.field_set & (1 << cparser.UF_PATH): + * off = parsed.field_data[<int>cparser.UF_PATH].off # <<<<<<<<<<<<<< + * ln = parsed.field_data[<int>cparser.UF_PATH].len + * path = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + */ + __pyx_t_2 = (__pyx_v_parsed->field_data[((int)UF_PATH)]).off; + __pyx_v_off = __pyx_t_2; + + /* "aiohttp/_http_parser.pyx":813 + * if parsed.field_set & (1 << cparser.UF_PATH): + * off = parsed.field_data[<int>cparser.UF_PATH].off + * ln = parsed.field_data[<int>cparser.UF_PATH].len # <<<<<<<<<<<<<< + * path = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + * else: + */ + __pyx_t_2 = (__pyx_v_parsed->field_data[((int)UF_PATH)]).len; + __pyx_v_ln = __pyx_t_2; + + /* "aiohttp/_http_parser.pyx":814 + * off = parsed.field_data[<int>cparser.UF_PATH].off + * ln = parsed.field_data[<int>cparser.UF_PATH].len + * path = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') # <<<<<<<<<<<<<< + * else: + * path = '' + */ + __pyx_t_3 = __Pyx_decode_c_string(__pyx_v_buf_data, __pyx_v_off, (__pyx_v_off + __pyx_v_ln), NULL, ((char const *)"surrogateescape"), PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 814, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_path, ((PyObject*)__pyx_t_3)); + __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":811 + * port = parsed.port + * + * if parsed.field_set & (1 << cparser.UF_PATH): # <<<<<<<<<<<<<< + * off = parsed.field_data[<int>cparser.UF_PATH].off + * ln = parsed.field_data[<int>cparser.UF_PATH].len + */ + goto __pyx_L11; + } + + /* "aiohttp/_http_parser.pyx":816 + * path = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + * else: + * path = '' # <<<<<<<<<<<<<< + * + * if parsed.field_set & (1 << cparser.UF_QUERY): + */ + /*else*/ { + __Pyx_INCREF(__pyx_kp_u__4); + __Pyx_DECREF_SET(__pyx_v_path, __pyx_kp_u__4); + } + __pyx_L11:; + + /* "aiohttp/_http_parser.pyx":818 + * path = '' + * + * if parsed.field_set & (1 << cparser.UF_QUERY): # <<<<<<<<<<<<<< + * off = parsed.field_data[<int>cparser.UF_QUERY].off + * ln = parsed.field_data[<int>cparser.UF_QUERY].len + */ + __pyx_t_1 = ((__pyx_v_parsed->field_set & (1 << UF_QUERY)) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_parser.pyx":819 + * + * if parsed.field_set & (1 << cparser.UF_QUERY): + * off = parsed.field_data[<int>cparser.UF_QUERY].off # <<<<<<<<<<<<<< + * ln = parsed.field_data[<int>cparser.UF_QUERY].len + * query = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + */ + __pyx_t_2 = (__pyx_v_parsed->field_data[((int)UF_QUERY)]).off; + __pyx_v_off = __pyx_t_2; + + /* "aiohttp/_http_parser.pyx":820 + * if parsed.field_set & (1 << cparser.UF_QUERY): + * off = parsed.field_data[<int>cparser.UF_QUERY].off + * ln = parsed.field_data[<int>cparser.UF_QUERY].len # <<<<<<<<<<<<<< + * query = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + * else: + */ + __pyx_t_2 = (__pyx_v_parsed->field_data[((int)UF_QUERY)]).len; + __pyx_v_ln = __pyx_t_2; + + /* "aiohttp/_http_parser.pyx":821 + * off = parsed.field_data[<int>cparser.UF_QUERY].off + * ln = parsed.field_data[<int>cparser.UF_QUERY].len + * query = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') # <<<<<<<<<<<<<< + * else: + * query = '' + */ + __pyx_t_3 = __Pyx_decode_c_string(__pyx_v_buf_data, __pyx_v_off, (__pyx_v_off + __pyx_v_ln), NULL, ((char const *)"surrogateescape"), PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 821, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_query, ((PyObject*)__pyx_t_3)); + __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":818 + * path = '' + * + * if parsed.field_set & (1 << cparser.UF_QUERY): # <<<<<<<<<<<<<< + * off = parsed.field_data[<int>cparser.UF_QUERY].off + * ln = parsed.field_data[<int>cparser.UF_QUERY].len + */ + goto __pyx_L12; + } + + /* "aiohttp/_http_parser.pyx":823 + * query = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + * else: + * query = '' # <<<<<<<<<<<<<< + * + * if parsed.field_set & (1 << cparser.UF_FRAGMENT): + */ + /*else*/ { + __Pyx_INCREF(__pyx_kp_u__4); + __Pyx_DECREF_SET(__pyx_v_query, __pyx_kp_u__4); + } + __pyx_L12:; + + /* "aiohttp/_http_parser.pyx":825 + * query = '' + * + * if parsed.field_set & (1 << cparser.UF_FRAGMENT): # <<<<<<<<<<<<<< + * off = parsed.field_data[<int>cparser.UF_FRAGMENT].off + * ln = parsed.field_data[<int>cparser.UF_FRAGMENT].len + */ + __pyx_t_1 = ((__pyx_v_parsed->field_set & (1 << UF_FRAGMENT)) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_parser.pyx":826 + * + * if parsed.field_set & (1 << cparser.UF_FRAGMENT): + * off = parsed.field_data[<int>cparser.UF_FRAGMENT].off # <<<<<<<<<<<<<< + * ln = parsed.field_data[<int>cparser.UF_FRAGMENT].len + * fragment = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + */ + __pyx_t_2 = (__pyx_v_parsed->field_data[((int)UF_FRAGMENT)]).off; + __pyx_v_off = __pyx_t_2; + + /* "aiohttp/_http_parser.pyx":827 + * if parsed.field_set & (1 << cparser.UF_FRAGMENT): + * off = parsed.field_data[<int>cparser.UF_FRAGMENT].off + * ln = parsed.field_data[<int>cparser.UF_FRAGMENT].len # <<<<<<<<<<<<<< + * fragment = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + * else: + */ + __pyx_t_2 = (__pyx_v_parsed->field_data[((int)UF_FRAGMENT)]).len; + __pyx_v_ln = __pyx_t_2; + + /* "aiohttp/_http_parser.pyx":828 + * off = parsed.field_data[<int>cparser.UF_FRAGMENT].off + * ln = parsed.field_data[<int>cparser.UF_FRAGMENT].len + * fragment = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') # <<<<<<<<<<<<<< + * else: + * fragment = '' + */ + __pyx_t_3 = __Pyx_decode_c_string(__pyx_v_buf_data, __pyx_v_off, (__pyx_v_off + __pyx_v_ln), NULL, ((char const *)"surrogateescape"), PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 828, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_fragment, ((PyObject*)__pyx_t_3)); + __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":825 + * query = '' + * + * if parsed.field_set & (1 << cparser.UF_FRAGMENT): # <<<<<<<<<<<<<< + * off = parsed.field_data[<int>cparser.UF_FRAGMENT].off + * ln = parsed.field_data[<int>cparser.UF_FRAGMENT].len + */ + goto __pyx_L13; + } + + /* "aiohttp/_http_parser.pyx":830 + * fragment = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + * else: + * fragment = '' # <<<<<<<<<<<<<< + * + * if parsed.field_set & (1 << cparser.UF_USERINFO): + */ + /*else*/ { + __Pyx_INCREF(__pyx_kp_u__4); + __Pyx_DECREF_SET(__pyx_v_fragment, __pyx_kp_u__4); + } + __pyx_L13:; + + /* "aiohttp/_http_parser.pyx":832 + * fragment = '' + * + * if parsed.field_set & (1 << cparser.UF_USERINFO): # <<<<<<<<<<<<<< + * off = parsed.field_data[<int>cparser.UF_USERINFO].off + * ln = parsed.field_data[<int>cparser.UF_USERINFO].len + */ + __pyx_t_1 = ((__pyx_v_parsed->field_set & (1 << UF_USERINFO)) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_parser.pyx":833 + * + * if parsed.field_set & (1 << cparser.UF_USERINFO): + * off = parsed.field_data[<int>cparser.UF_USERINFO].off # <<<<<<<<<<<<<< + * ln = parsed.field_data[<int>cparser.UF_USERINFO].len + * userinfo = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + */ + __pyx_t_2 = (__pyx_v_parsed->field_data[((int)UF_USERINFO)]).off; + __pyx_v_off = __pyx_t_2; + + /* "aiohttp/_http_parser.pyx":834 + * if parsed.field_set & (1 << cparser.UF_USERINFO): + * off = parsed.field_data[<int>cparser.UF_USERINFO].off + * ln = parsed.field_data[<int>cparser.UF_USERINFO].len # <<<<<<<<<<<<<< + * userinfo = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + * + */ + __pyx_t_2 = (__pyx_v_parsed->field_data[((int)UF_USERINFO)]).len; + __pyx_v_ln = __pyx_t_2; + + /* "aiohttp/_http_parser.pyx":835 + * off = parsed.field_data[<int>cparser.UF_USERINFO].off + * ln = parsed.field_data[<int>cparser.UF_USERINFO].len + * userinfo = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') # <<<<<<<<<<<<<< + * + * user, sep, password = userinfo.partition(':') + */ + __pyx_t_3 = __Pyx_decode_c_string(__pyx_v_buf_data, __pyx_v_off, (__pyx_v_off + __pyx_v_ln), NULL, ((char const *)"surrogateescape"), PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 835, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_userinfo, ((PyObject*)__pyx_t_3)); + __pyx_t_3 = 0; + + /* "aiohttp/_http_parser.pyx":837 + * userinfo = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + * + * user, sep, password = userinfo.partition(':') # <<<<<<<<<<<<<< + * + * return URL_build(scheme=schema, + */ + __pyx_t_3 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyUnicode_Type_partition, __pyx_v_userinfo, __pyx_kp_u__11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 837, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_3); + if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { + PyObject* sequence = __pyx_t_3; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 3)) { + if (size > 3) __Pyx_RaiseTooManyValuesError(3); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 837, __pyx_L5_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2); + } else { + __pyx_t_4 = PyList_GET_ITEM(sequence, 0); + __pyx_t_5 = PyList_GET_ITEM(sequence, 1); + __pyx_t_6 = PyList_GET_ITEM(sequence, 2); + } + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + #else + __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 837, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 837, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 837, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_6); + #endif + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_7 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 837, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; + index = 0; __pyx_t_4 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_4)) goto __pyx_L15_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + index = 1; __pyx_t_5 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_5)) goto __pyx_L15_unpacking_failed; + __Pyx_GOTREF(__pyx_t_5); + index = 2; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L15_unpacking_failed; + __Pyx_GOTREF(__pyx_t_6); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 3) < 0) __PYX_ERR(0, 837, __pyx_L5_error) + __pyx_t_8 = NULL; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L16_unpacking_done; + __pyx_L15_unpacking_failed:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_8 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 837, __pyx_L5_error) + __pyx_L16_unpacking_done:; + } + if (!(likely(PyUnicode_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(0, 837, __pyx_L5_error) + if (!(likely(PyUnicode_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 837, __pyx_L5_error) + __Pyx_DECREF_SET(__pyx_v_user, ((PyObject*)__pyx_t_4)); + __pyx_t_4 = 0; + __pyx_v_sep = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF_SET(__pyx_v_password, ((PyObject*)__pyx_t_6)); + __pyx_t_6 = 0; + + /* "aiohttp/_http_parser.pyx":832 + * fragment = '' + * + * if parsed.field_set & (1 << cparser.UF_USERINFO): # <<<<<<<<<<<<<< + * off = parsed.field_data[<int>cparser.UF_USERINFO].off + * ln = parsed.field_data[<int>cparser.UF_USERINFO].len + */ + } + + /* "aiohttp/_http_parser.pyx":839 + * user, sep, password = userinfo.partition(':') + * + * return URL_build(scheme=schema, # <<<<<<<<<<<<<< + * user=user, password=password, host=host, port=port, + * path=path, query=query, fragment=fragment) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_PyDict_NewPresized(8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 839, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_scheme, __pyx_v_schema) < 0) __PYX_ERR(0, 839, __pyx_L5_error) + + /* "aiohttp/_http_parser.pyx":840 + * + * return URL_build(scheme=schema, + * user=user, password=password, host=host, port=port, # <<<<<<<<<<<<<< + * path=path, query=query, fragment=fragment) + * else: + */ + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_user, __pyx_v_user) < 0) __PYX_ERR(0, 839, __pyx_L5_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_password, __pyx_v_password) < 0) __PYX_ERR(0, 839, __pyx_L5_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_host, __pyx_v_host) < 0) __PYX_ERR(0, 839, __pyx_L5_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_port, __pyx_v_port) < 0) __PYX_ERR(0, 839, __pyx_L5_error) + + /* "aiohttp/_http_parser.pyx":841 + * return URL_build(scheme=schema, + * user=user, password=password, host=host, port=port, + * path=path, query=query, fragment=fragment) # <<<<<<<<<<<<<< + * else: + * raise InvalidURLError("invalid url {!r}".format(buf_data)) + */ + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_path, __pyx_v_path) < 0) __PYX_ERR(0, 839, __pyx_L5_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_query, __pyx_v_query) < 0) __PYX_ERR(0, 839, __pyx_L5_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_fragment, __pyx_v_fragment) < 0) __PYX_ERR(0, 839, __pyx_L5_error) + + /* "aiohttp/_http_parser.pyx":839 + * user, sep, password = userinfo.partition(':') + * + * return URL_build(scheme=schema, # <<<<<<<<<<<<<< + * user=user, password=password, host=host, port=port, + * path=path, query=query, fragment=fragment) + */ + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_v_7aiohttp_12_http_parser_URL_build, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 839, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L4_return; + + /* "aiohttp/_http_parser.pyx":793 + * res = cparser.http_parser_parse_url(buf_data, length, 0, parsed) + * + * if res == 0: # <<<<<<<<<<<<<< + * if parsed.field_set & (1 << cparser.UF_SCHEMA): + * off = parsed.field_data[<int>cparser.UF_SCHEMA].off + */ + } + + /* "aiohttp/_http_parser.pyx":843 + * path=path, query=query, fragment=fragment) + * else: + * raise InvalidURLError("invalid url {!r}".format(buf_data)) # <<<<<<<<<<<<<< + * finally: + * PyMem_Free(parsed) + */ + /*else*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InvalidURLError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 843, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_invalid_url_r, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 843, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = __Pyx_PyBytes_FromString(__pyx_v_buf_data); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 843, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 843, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_6 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 843, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_Raise(__pyx_t_6, 0, 0, 0); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __PYX_ERR(0, 843, __pyx_L5_error) + } + } + + /* "aiohttp/_http_parser.pyx":845 + * raise InvalidURLError("invalid url {!r}".format(buf_data)) + * finally: + * PyMem_Free(parsed) # <<<<<<<<<<<<<< + */ + /*finally:*/ { + __pyx_L5_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15) < 0)) __Pyx_ErrFetch(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_18); + __pyx_t_10 = __pyx_lineno; __pyx_t_11 = __pyx_clineno; __pyx_t_12 = __pyx_filename; + { + PyMem_Free(__pyx_v_parsed); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); + } + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ErrRestore(__pyx_t_13, __pyx_t_14, __pyx_t_15); + __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; + __pyx_lineno = __pyx_t_10; __pyx_clineno = __pyx_t_11; __pyx_filename = __pyx_t_12; + goto __pyx_L1_error; + } + __pyx_L4_return: { + __pyx_t_18 = __pyx_r; + __pyx_r = 0; + PyMem_Free(__pyx_v_parsed); + __pyx_r = __pyx_t_18; + __pyx_t_18 = 0; + goto __pyx_L0; + } + } + + /* "aiohttp/_http_parser.pyx":768 + * + * + * cdef _parse_url(char* buf_data, size_t length): # <<<<<<<<<<<<<< + * cdef: + * cparser.http_parser_url* parsed + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("aiohttp._http_parser._parse_url", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_schema); + __Pyx_XDECREF(__pyx_v_host); + __Pyx_XDECREF(__pyx_v_port); + __Pyx_XDECREF(__pyx_v_path); + __Pyx_XDECREF(__pyx_v_query); + __Pyx_XDECREF(__pyx_v_fragment); + __Pyx_XDECREF(__pyx_v_user); + __Pyx_XDECREF(__pyx_v_password); + __Pyx_XDECREF(__pyx_v_userinfo); + __Pyx_XDECREF(__pyx_v_result); + __Pyx_XDECREF(__pyx_v_sep); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle_RawRequestMessage(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_3__pyx_unpickle_RawRequestMessage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_7aiohttp_12_http_parser_3__pyx_unpickle_RawRequestMessage = {"__pyx_unpickle_RawRequestMessage", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_7aiohttp_12_http_parser_3__pyx_unpickle_RawRequestMessage, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_7aiohttp_12_http_parser_3__pyx_unpickle_RawRequestMessage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle_RawRequestMessage (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_RawRequestMessage", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_RawRequestMessage", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_RawRequestMessage") < 0)) __PYX_ERR(1, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_RawRequestMessage", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("aiohttp._http_parser.__pyx_unpickle_RawRequestMessage", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_2__pyx_unpickle_RawRequestMessage(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_2__pyx_unpickle_RawRequestMessage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + __Pyx_RefNannySetupContext("__pyx_unpickle_RawRequestMessage", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum != 0x1408252: # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x1408252 = (chunked, compression, headers, method, path, raw_headers, should_close, upgrade, url, version))" % __pyx_checksum) + */ + __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x1408252) != 0); + if (__pyx_t_1) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum != 0x1408252: + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x1408252 = (chunked, compression, headers, method, path, raw_headers, should_close, upgrade, url, version))" % __pyx_checksum) + * __pyx_result = RawRequestMessage.__new__(__pyx_type) + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError); + __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_2); + __pyx_v___pyx_PickleError = __pyx_t_2; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum != 0x1408252: + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x1408252 = (chunked, compression, headers, method, path, raw_headers, should_close, upgrade, url, version))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = RawRequestMessage.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x14, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum != 0x1408252: # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x1408252 = (chunked, compression, headers, method, path, raw_headers, should_close, upgrade, url, version))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x1408252 = (chunked, compression, headers, method, path, raw_headers, should_close, upgrade, url, version))" % __pyx_checksum) + * __pyx_result = RawRequestMessage.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle_RawRequestMessage__set_state(<RawRequestMessage> __pyx_result, __pyx_state) + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_7aiohttp_12_http_parser_RawRequestMessage), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v___pyx_result = __pyx_t_3; + __pyx_t_3 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x1408252 = (chunked, compression, headers, method, path, raw_headers, should_close, upgrade, url, version))" % __pyx_checksum) + * __pyx_result = RawRequestMessage.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_RawRequestMessage__set_state(<RawRequestMessage> __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_1 = (__pyx_v___pyx_state != Py_None); + __pyx_t_6 = (__pyx_t_1 != 0); + if (__pyx_t_6) { + + /* "(tree fragment)":9 + * __pyx_result = RawRequestMessage.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle_RawRequestMessage__set_state(<RawRequestMessage> __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle_RawRequestMessage__set_state(RawRequestMessage __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_3 = __pyx_f_7aiohttp_12_http_parser___pyx_unpickle_RawRequestMessage__set_state(((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x1408252 = (chunked, compression, headers, method, path, raw_headers, should_close, upgrade, url, version))" % __pyx_checksum) + * __pyx_result = RawRequestMessage.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_RawRequestMessage__set_state(<RawRequestMessage> __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle_RawRequestMessage__set_state(<RawRequestMessage> __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle_RawRequestMessage__set_state(RawRequestMessage __pyx_result, tuple __pyx_state): + * __pyx_result.chunked = __pyx_state[0]; __pyx_result.compression = __pyx_state[1]; __pyx_result.headers = __pyx_state[2]; __pyx_result.method = __pyx_state[3]; __pyx_result.path = __pyx_state[4]; __pyx_result.raw_headers = __pyx_state[5]; __pyx_result.should_close = __pyx_state[6]; __pyx_result.upgrade = __pyx_state[7]; __pyx_result.url = __pyx_state[8]; __pyx_result.version = __pyx_state[9] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_RawRequestMessage(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("aiohttp._http_parser.__pyx_unpickle_RawRequestMessage", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle_RawRequestMessage__set_state(<RawRequestMessage> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_RawRequestMessage__set_state(RawRequestMessage __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.chunked = __pyx_state[0]; __pyx_result.compression = __pyx_state[1]; __pyx_result.headers = __pyx_state[2]; __pyx_result.method = __pyx_state[3]; __pyx_result.path = __pyx_state[4]; __pyx_result.raw_headers = __pyx_state[5]; __pyx_result.should_close = __pyx_state[6]; __pyx_result.upgrade = __pyx_state[7]; __pyx_result.url = __pyx_state[8]; __pyx_result.version = __pyx_state[9] + * if len(__pyx_state) > 10 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser___pyx_unpickle_RawRequestMessage__set_state(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + __Pyx_RefNannySetupContext("__pyx_unpickle_RawRequestMessage__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle_RawRequestMessage__set_state(RawRequestMessage __pyx_result, tuple __pyx_state): + * __pyx_result.chunked = __pyx_state[0]; __pyx_result.compression = __pyx_state[1]; __pyx_result.headers = __pyx_state[2]; __pyx_result.method = __pyx_state[3]; __pyx_result.path = __pyx_state[4]; __pyx_result.raw_headers = __pyx_state[5]; __pyx_result.should_close = __pyx_state[6]; __pyx_result.upgrade = __pyx_state[7]; __pyx_result.url = __pyx_state[8]; __pyx_result.version = __pyx_state[9] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 10 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[10]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->chunked); + __Pyx_DECREF(__pyx_v___pyx_result->chunked); + __pyx_v___pyx_result->chunked = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->compression); + __Pyx_DECREF(__pyx_v___pyx_result->compression); + __pyx_v___pyx_result->compression = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->headers); + __Pyx_DECREF(__pyx_v___pyx_result->headers); + __pyx_v___pyx_result->headers = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->method); + __Pyx_DECREF(__pyx_v___pyx_result->method); + __pyx_v___pyx_result->method = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->path); + __Pyx_DECREF(__pyx_v___pyx_result->path); + __pyx_v___pyx_result->path = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->raw_headers); + __Pyx_DECREF(__pyx_v___pyx_result->raw_headers); + __pyx_v___pyx_result->raw_headers = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->should_close); + __Pyx_DECREF(__pyx_v___pyx_result->should_close); + __pyx_v___pyx_result->should_close = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->upgrade); + __Pyx_DECREF(__pyx_v___pyx_result->upgrade); + __pyx_v___pyx_result->upgrade = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->url); + __Pyx_DECREF(__pyx_v___pyx_result->url); + __pyx_v___pyx_result->url = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->version); + __Pyx_DECREF(__pyx_v___pyx_result->version); + __pyx_v___pyx_result->version = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_RawRequestMessage__set_state(RawRequestMessage __pyx_result, tuple __pyx_state): + * __pyx_result.chunked = __pyx_state[0]; __pyx_result.compression = __pyx_state[1]; __pyx_result.headers = __pyx_state[2]; __pyx_result.method = __pyx_state[3]; __pyx_result.path = __pyx_state[4]; __pyx_result.raw_headers = __pyx_state[5]; __pyx_result.should_close = __pyx_state[6]; __pyx_result.upgrade = __pyx_state[7]; __pyx_result.url = __pyx_state[8]; __pyx_result.version = __pyx_state[9] + * if len(__pyx_state) > 10 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[10]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(1, 13, __pyx_L1_error) + } + __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_4 = ((__pyx_t_3 > 10) != 0); + if (__pyx_t_4) { + } else { + __pyx_t_2 = __pyx_t_4; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_5 = (__pyx_t_4 != 0); + __pyx_t_2 = __pyx_t_5; + __pyx_L4_bool_binop_done:; + if (__pyx_t_2) { + + /* "(tree fragment)":14 + * __pyx_result.chunked = __pyx_state[0]; __pyx_result.compression = __pyx_state[1]; __pyx_result.headers = __pyx_state[2]; __pyx_result.method = __pyx_state[3]; __pyx_result.path = __pyx_state[4]; __pyx_result.raw_headers = __pyx_state[5]; __pyx_result.should_close = __pyx_state[6]; __pyx_result.upgrade = __pyx_state[7]; __pyx_result.url = __pyx_state[8]; __pyx_result.version = __pyx_state[9] + * if len(__pyx_state) > 10 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[10]) # <<<<<<<<<<<<<< + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 14, __pyx_L1_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_RawRequestMessage__set_state(RawRequestMessage __pyx_result, tuple __pyx_state): + * __pyx_result.chunked = __pyx_state[0]; __pyx_result.compression = __pyx_state[1]; __pyx_result.headers = __pyx_state[2]; __pyx_result.method = __pyx_state[3]; __pyx_result.path = __pyx_state[4]; __pyx_result.raw_headers = __pyx_state[5]; __pyx_result.should_close = __pyx_state[6]; __pyx_result.upgrade = __pyx_state[7]; __pyx_result.url = __pyx_state[8]; __pyx_result.version = __pyx_state[9] + * if len(__pyx_state) > 10 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[10]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle_RawRequestMessage__set_state(<RawRequestMessage> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_RawRequestMessage__set_state(RawRequestMessage __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.chunked = __pyx_state[0]; __pyx_result.compression = __pyx_state[1]; __pyx_result.headers = __pyx_state[2]; __pyx_result.method = __pyx_state[3]; __pyx_result.path = __pyx_state[4]; __pyx_result.raw_headers = __pyx_state[5]; __pyx_result.should_close = __pyx_state[6]; __pyx_result.upgrade = __pyx_state[7]; __pyx_result.url = __pyx_state[8]; __pyx_result.version = __pyx_state[9] + * if len(__pyx_state) > 10 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("aiohttp._http_parser.__pyx_unpickle_RawRequestMessage__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle_RawResponseMessage(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_parser_5__pyx_unpickle_RawResponseMessage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_7aiohttp_12_http_parser_5__pyx_unpickle_RawResponseMessage = {"__pyx_unpickle_RawResponseMessage", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_7aiohttp_12_http_parser_5__pyx_unpickle_RawResponseMessage, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_7aiohttp_12_http_parser_5__pyx_unpickle_RawResponseMessage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle_RawResponseMessage (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_RawResponseMessage", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_RawResponseMessage", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_RawResponseMessage") < 0)) __PYX_ERR(1, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_RawResponseMessage", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("aiohttp._http_parser.__pyx_unpickle_RawResponseMessage", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_7aiohttp_12_http_parser_4__pyx_unpickle_RawResponseMessage(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_parser_4__pyx_unpickle_RawResponseMessage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + __Pyx_RefNannySetupContext("__pyx_unpickle_RawResponseMessage", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum != 0xc7706dc: # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0xc7706dc = (chunked, code, compression, headers, raw_headers, reason, should_close, upgrade, version))" % __pyx_checksum) + */ + __pyx_t_1 = ((__pyx_v___pyx_checksum != 0xc7706dc) != 0); + if (__pyx_t_1) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum != 0xc7706dc: + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (%s vs 0xc7706dc = (chunked, code, compression, headers, raw_headers, reason, should_close, upgrade, version))" % __pyx_checksum) + * __pyx_result = RawResponseMessage.__new__(__pyx_type) + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError); + __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_2); + __pyx_v___pyx_PickleError = __pyx_t_2; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum != 0xc7706dc: + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0xc7706dc = (chunked, code, compression, headers, raw_headers, reason, should_close, upgrade, version))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = RawResponseMessage.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0xc7, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum != 0xc7706dc: # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0xc7706dc = (chunked, code, compression, headers, raw_headers, reason, should_close, upgrade, version))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0xc7706dc = (chunked, code, compression, headers, raw_headers, reason, should_close, upgrade, version))" % __pyx_checksum) + * __pyx_result = RawResponseMessage.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle_RawResponseMessage__set_state(<RawResponseMessage> __pyx_result, __pyx_state) + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_7aiohttp_12_http_parser_RawResponseMessage), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v___pyx_result = __pyx_t_3; + __pyx_t_3 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (%s vs 0xc7706dc = (chunked, code, compression, headers, raw_headers, reason, should_close, upgrade, version))" % __pyx_checksum) + * __pyx_result = RawResponseMessage.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_RawResponseMessage__set_state(<RawResponseMessage> __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_1 = (__pyx_v___pyx_state != Py_None); + __pyx_t_6 = (__pyx_t_1 != 0); + if (__pyx_t_6) { + + /* "(tree fragment)":9 + * __pyx_result = RawResponseMessage.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle_RawResponseMessage__set_state(<RawResponseMessage> __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle_RawResponseMessage__set_state(RawResponseMessage __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_3 = __pyx_f_7aiohttp_12_http_parser___pyx_unpickle_RawResponseMessage__set_state(((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (%s vs 0xc7706dc = (chunked, code, compression, headers, raw_headers, reason, should_close, upgrade, version))" % __pyx_checksum) + * __pyx_result = RawResponseMessage.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_RawResponseMessage__set_state(<RawResponseMessage> __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle_RawResponseMessage__set_state(<RawResponseMessage> __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle_RawResponseMessage__set_state(RawResponseMessage __pyx_result, tuple __pyx_state): + * __pyx_result.chunked = __pyx_state[0]; __pyx_result.code = __pyx_state[1]; __pyx_result.compression = __pyx_state[2]; __pyx_result.headers = __pyx_state[3]; __pyx_result.raw_headers = __pyx_state[4]; __pyx_result.reason = __pyx_state[5]; __pyx_result.should_close = __pyx_state[6]; __pyx_result.upgrade = __pyx_state[7]; __pyx_result.version = __pyx_state[8] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_RawResponseMessage(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("aiohttp._http_parser.__pyx_unpickle_RawResponseMessage", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle_RawResponseMessage__set_state(<RawResponseMessage> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_RawResponseMessage__set_state(RawResponseMessage __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.chunked = __pyx_state[0]; __pyx_result.code = __pyx_state[1]; __pyx_result.compression = __pyx_state[2]; __pyx_result.headers = __pyx_state[3]; __pyx_result.raw_headers = __pyx_state[4]; __pyx_result.reason = __pyx_state[5]; __pyx_result.should_close = __pyx_state[6]; __pyx_result.upgrade = __pyx_state[7]; __pyx_result.version = __pyx_state[8] + * if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_7aiohttp_12_http_parser___pyx_unpickle_RawResponseMessage__set_state(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + Py_ssize_t __pyx_t_4; + int __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + __Pyx_RefNannySetupContext("__pyx_unpickle_RawResponseMessage__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle_RawResponseMessage__set_state(RawResponseMessage __pyx_result, tuple __pyx_state): + * __pyx_result.chunked = __pyx_state[0]; __pyx_result.code = __pyx_state[1]; __pyx_result.compression = __pyx_state[2]; __pyx_result.headers = __pyx_state[3]; __pyx_result.raw_headers = __pyx_state[4]; __pyx_result.reason = __pyx_state[5]; __pyx_result.should_close = __pyx_state[6]; __pyx_result.upgrade = __pyx_state[7]; __pyx_result.version = __pyx_state[8] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[9]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->chunked); + __Pyx_DECREF(__pyx_v___pyx_result->chunked); + __pyx_v___pyx_result->chunked = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->code = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->compression); + __Pyx_DECREF(__pyx_v___pyx_result->compression); + __pyx_v___pyx_result->compression = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->headers); + __Pyx_DECREF(__pyx_v___pyx_result->headers); + __pyx_v___pyx_result->headers = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->raw_headers); + __Pyx_DECREF(__pyx_v___pyx_result->raw_headers); + __pyx_v___pyx_result->raw_headers = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->reason); + __Pyx_DECREF(__pyx_v___pyx_result->reason); + __pyx_v___pyx_result->reason = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->should_close); + __Pyx_DECREF(__pyx_v___pyx_result->should_close); + __pyx_v___pyx_result->should_close = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->upgrade); + __Pyx_DECREF(__pyx_v___pyx_result->upgrade); + __pyx_v___pyx_result->upgrade = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->version); + __Pyx_DECREF(__pyx_v___pyx_result->version); + __pyx_v___pyx_result->version = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_RawResponseMessage__set_state(RawResponseMessage __pyx_result, tuple __pyx_state): + * __pyx_result.chunked = __pyx_state[0]; __pyx_result.code = __pyx_state[1]; __pyx_result.compression = __pyx_state[2]; __pyx_result.headers = __pyx_state[3]; __pyx_result.raw_headers = __pyx_state[4]; __pyx_result.reason = __pyx_state[5]; __pyx_result.should_close = __pyx_state[6]; __pyx_result.upgrade = __pyx_state[7]; __pyx_result.version = __pyx_state[8] + * if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[9]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(1, 13, __pyx_L1_error) + } + __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_5 = ((__pyx_t_4 > 9) != 0); + if (__pyx_t_5) { + } else { + __pyx_t_3 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_6 = (__pyx_t_5 != 0); + __pyx_t_3 = __pyx_t_6; + __pyx_L4_bool_binop_done:; + if (__pyx_t_3) { + + /* "(tree fragment)":14 + * __pyx_result.chunked = __pyx_state[0]; __pyx_result.code = __pyx_state[1]; __pyx_result.compression = __pyx_state[2]; __pyx_result.headers = __pyx_state[3]; __pyx_result.raw_headers = __pyx_state[4]; __pyx_result.reason = __pyx_state[5]; __pyx_result.should_close = __pyx_state[6]; __pyx_result.upgrade = __pyx_state[7]; __pyx_result.version = __pyx_state[8] + * if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[9]) # <<<<<<<<<<<<<< + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_update); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 14, __pyx_L1_error) + } + __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_RawResponseMessage__set_state(RawResponseMessage __pyx_result, tuple __pyx_state): + * __pyx_result.chunked = __pyx_state[0]; __pyx_result.code = __pyx_state[1]; __pyx_result.compression = __pyx_state[2]; __pyx_result.headers = __pyx_state[3]; __pyx_result.raw_headers = __pyx_state[4]; __pyx_result.reason = __pyx_state[5]; __pyx_result.should_close = __pyx_state[6]; __pyx_result.upgrade = __pyx_state[7]; __pyx_result.version = __pyx_state[8] + * if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[9]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle_RawResponseMessage__set_state(<RawResponseMessage> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_RawResponseMessage__set_state(RawResponseMessage __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.chunked = __pyx_state[0]; __pyx_result.code = __pyx_state[1]; __pyx_result.compression = __pyx_state[2]; __pyx_result.headers = __pyx_state[3]; __pyx_result.raw_headers = __pyx_state[4]; __pyx_result.reason = __pyx_state[5]; __pyx_result.should_close = __pyx_state[6]; __pyx_result.upgrade = __pyx_state[7]; __pyx_result.version = __pyx_state[8] + * if len(__pyx_state) > 9 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("aiohttp._http_parser.__pyx_unpickle_RawResponseMessage__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *__pyx_freelist_7aiohttp_12_http_parser_RawRequestMessage[250]; +static int __pyx_freecount_7aiohttp_12_http_parser_RawRequestMessage = 0; + +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser_RawRequestMessage(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *p; + PyObject *o; + if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_7aiohttp_12_http_parser_RawRequestMessage > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage)) & ((t->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)) == 0))) { + o = (PyObject*)__pyx_freelist_7aiohttp_12_http_parser_RawRequestMessage[--__pyx_freecount_7aiohttp_12_http_parser_RawRequestMessage]; + memset(o, 0, sizeof(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage)); + (void) PyObject_INIT(o, t); + PyObject_GC_Track(o); + } else { + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + } + p = ((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)o); + p->method = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->path = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->version = Py_None; Py_INCREF(Py_None); + p->headers = Py_None; Py_INCREF(Py_None); + p->raw_headers = Py_None; Py_INCREF(Py_None); + p->should_close = Py_None; Py_INCREF(Py_None); + p->compression = Py_None; Py_INCREF(Py_None); + p->upgrade = Py_None; Py_INCREF(Py_None); + p->chunked = Py_None; Py_INCREF(Py_None); + p->url = Py_None; Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_7aiohttp_12_http_parser_RawRequestMessage(PyObject *o) { + struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *p = (struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->method); + Py_CLEAR(p->path); + Py_CLEAR(p->version); + Py_CLEAR(p->headers); + Py_CLEAR(p->raw_headers); + Py_CLEAR(p->should_close); + Py_CLEAR(p->compression); + Py_CLEAR(p->upgrade); + Py_CLEAR(p->chunked); + Py_CLEAR(p->url); + if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_7aiohttp_12_http_parser_RawRequestMessage < 250) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage)) & ((Py_TYPE(o)->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)) == 0))) { + __pyx_freelist_7aiohttp_12_http_parser_RawRequestMessage[__pyx_freecount_7aiohttp_12_http_parser_RawRequestMessage++] = ((struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)o); + } else { + (*Py_TYPE(o)->tp_free)(o); + } +} + +static int __pyx_tp_traverse_7aiohttp_12_http_parser_RawRequestMessage(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *p = (struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)o; + if (p->version) { + e = (*v)(p->version, a); if (e) return e; + } + if (p->headers) { + e = (*v)(p->headers, a); if (e) return e; + } + if (p->raw_headers) { + e = (*v)(p->raw_headers, a); if (e) return e; + } + if (p->should_close) { + e = (*v)(p->should_close, a); if (e) return e; + } + if (p->compression) { + e = (*v)(p->compression, a); if (e) return e; + } + if (p->upgrade) { + e = (*v)(p->upgrade, a); if (e) return e; + } + if (p->chunked) { + e = (*v)(p->chunked, a); if (e) return e; + } + if (p->url) { + e = (*v)(p->url, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_7aiohttp_12_http_parser_RawRequestMessage(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *p = (struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage *)o; + tmp = ((PyObject*)p->version); + p->version = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->headers); + p->headers = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->raw_headers); + p->raw_headers = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->should_close); + p->should_close = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->compression); + p->compression = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->upgrade); + p->upgrade = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->chunked); + p->chunked = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->url); + p->url = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_method(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_6method_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_path(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_4path_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_version(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_7version_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_headers(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_7headers_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_raw_headers(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_11raw_headers_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_should_close(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_12should_close_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_compression(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_11compression_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_upgrade(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_7upgrade_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_chunked(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_7chunked_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_url(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_3url_1__get__(o); +} + +static PyMethodDef __pyx_methods_7aiohttp_12_http_parser_RawRequestMessage[] = { + {"_replace", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_5_replace, METH_VARARGS|METH_KEYWORDS, 0}, + {"__reduce_cython__", (PyCFunction)__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_7__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_9__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static struct PyGetSetDef __pyx_getsets_7aiohttp_12_http_parser_RawRequestMessage[] = { + {(char *)"method", __pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_method, 0, (char *)0, 0}, + {(char *)"path", __pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_path, 0, (char *)0, 0}, + {(char *)"version", __pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_version, 0, (char *)0, 0}, + {(char *)"headers", __pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_headers, 0, (char *)0, 0}, + {(char *)"raw_headers", __pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_raw_headers, 0, (char *)0, 0}, + {(char *)"should_close", __pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_should_close, 0, (char *)0, 0}, + {(char *)"compression", __pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_compression, 0, (char *)0, 0}, + {(char *)"upgrade", __pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_upgrade, 0, (char *)0, 0}, + {(char *)"chunked", __pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_chunked, 0, (char *)0, 0}, + {(char *)"url", __pyx_getprop_7aiohttp_12_http_parser_17RawRequestMessage_url, 0, (char *)0, 0}, + {0, 0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_7aiohttp_12_http_parser_RawRequestMessage = { + PyVarObject_HEAD_INIT(0, 0) + "aiohttp._http_parser.RawRequestMessage", /*tp_name*/ + sizeof(struct __pyx_obj_7aiohttp_12_http_parser_RawRequestMessage), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_7aiohttp_12_http_parser_RawRequestMessage, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + __pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_3__repr__, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_7aiohttp_12_http_parser_RawRequestMessage, /*tp_traverse*/ + __pyx_tp_clear_7aiohttp_12_http_parser_RawRequestMessage, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_7aiohttp_12_http_parser_RawRequestMessage, /*tp_methods*/ + 0, /*tp_members*/ + __pyx_getsets_7aiohttp_12_http_parser_RawRequestMessage, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_7aiohttp_12_http_parser_17RawRequestMessage_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_7aiohttp_12_http_parser_RawRequestMessage, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; + +static struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *__pyx_freelist_7aiohttp_12_http_parser_RawResponseMessage[250]; +static int __pyx_freecount_7aiohttp_12_http_parser_RawResponseMessage = 0; + +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser_RawResponseMessage(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *p; + PyObject *o; + if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_7aiohttp_12_http_parser_RawResponseMessage > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage)) & ((t->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)) == 0))) { + o = (PyObject*)__pyx_freelist_7aiohttp_12_http_parser_RawResponseMessage[--__pyx_freecount_7aiohttp_12_http_parser_RawResponseMessage]; + memset(o, 0, sizeof(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage)); + (void) PyObject_INIT(o, t); + PyObject_GC_Track(o); + } else { + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + } + p = ((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)o); + p->version = Py_None; Py_INCREF(Py_None); + p->reason = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->headers = Py_None; Py_INCREF(Py_None); + p->raw_headers = Py_None; Py_INCREF(Py_None); + p->should_close = Py_None; Py_INCREF(Py_None); + p->compression = Py_None; Py_INCREF(Py_None); + p->upgrade = Py_None; Py_INCREF(Py_None); + p->chunked = Py_None; Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_7aiohttp_12_http_parser_RawResponseMessage(PyObject *o) { + struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *p = (struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->version); + Py_CLEAR(p->reason); + Py_CLEAR(p->headers); + Py_CLEAR(p->raw_headers); + Py_CLEAR(p->should_close); + Py_CLEAR(p->compression); + Py_CLEAR(p->upgrade); + Py_CLEAR(p->chunked); + if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_7aiohttp_12_http_parser_RawResponseMessage < 250) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage)) & ((Py_TYPE(o)->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)) == 0))) { + __pyx_freelist_7aiohttp_12_http_parser_RawResponseMessage[__pyx_freecount_7aiohttp_12_http_parser_RawResponseMessage++] = ((struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)o); + } else { + (*Py_TYPE(o)->tp_free)(o); + } +} + +static int __pyx_tp_traverse_7aiohttp_12_http_parser_RawResponseMessage(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *p = (struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)o; + if (p->version) { + e = (*v)(p->version, a); if (e) return e; + } + if (p->headers) { + e = (*v)(p->headers, a); if (e) return e; + } + if (p->raw_headers) { + e = (*v)(p->raw_headers, a); if (e) return e; + } + if (p->should_close) { + e = (*v)(p->should_close, a); if (e) return e; + } + if (p->compression) { + e = (*v)(p->compression, a); if (e) return e; + } + if (p->upgrade) { + e = (*v)(p->upgrade, a); if (e) return e; + } + if (p->chunked) { + e = (*v)(p->chunked, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_7aiohttp_12_http_parser_RawResponseMessage(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *p = (struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage *)o; + tmp = ((PyObject*)p->version); + p->version = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->headers); + p->headers = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->raw_headers); + p->raw_headers = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->should_close); + p->should_close = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->compression); + p->compression = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->upgrade); + p->upgrade = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->chunked); + p->chunked = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_version(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_7version_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_code(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_4code_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_reason(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_6reason_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_headers(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_7headers_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_raw_headers(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_11raw_headers_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_should_close(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_12should_close_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_compression(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_11compression_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_upgrade(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_7upgrade_1__get__(o); +} + +static PyObject *__pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_chunked(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_7chunked_1__get__(o); +} + +static PyMethodDef __pyx_methods_7aiohttp_12_http_parser_RawResponseMessage[] = { + {"__reduce_cython__", (PyCFunction)__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_5__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_7__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static struct PyGetSetDef __pyx_getsets_7aiohttp_12_http_parser_RawResponseMessage[] = { + {(char *)"version", __pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_version, 0, (char *)0, 0}, + {(char *)"code", __pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_code, 0, (char *)0, 0}, + {(char *)"reason", __pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_reason, 0, (char *)0, 0}, + {(char *)"headers", __pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_headers, 0, (char *)0, 0}, + {(char *)"raw_headers", __pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_raw_headers, 0, (char *)0, 0}, + {(char *)"should_close", __pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_should_close, 0, (char *)0, 0}, + {(char *)"compression", __pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_compression, 0, (char *)0, 0}, + {(char *)"upgrade", __pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_upgrade, 0, (char *)0, 0}, + {(char *)"chunked", __pyx_getprop_7aiohttp_12_http_parser_18RawResponseMessage_chunked, 0, (char *)0, 0}, + {0, 0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_7aiohttp_12_http_parser_RawResponseMessage = { + PyVarObject_HEAD_INIT(0, 0) + "aiohttp._http_parser.RawResponseMessage", /*tp_name*/ + sizeof(struct __pyx_obj_7aiohttp_12_http_parser_RawResponseMessage), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_7aiohttp_12_http_parser_RawResponseMessage, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + __pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_3__repr__, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_7aiohttp_12_http_parser_RawResponseMessage, /*tp_traverse*/ + __pyx_tp_clear_7aiohttp_12_http_parser_RawResponseMessage, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_7aiohttp_12_http_parser_RawResponseMessage, /*tp_methods*/ + 0, /*tp_members*/ + __pyx_getsets_7aiohttp_12_http_parser_RawResponseMessage, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_7aiohttp_12_http_parser_18RawResponseMessage_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_7aiohttp_12_http_parser_RawResponseMessage, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; +static struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser __pyx_vtable_7aiohttp_12_http_parser_HttpParser; + +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser_HttpParser(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)o); + p->__pyx_vtab = __pyx_vtabptr_7aiohttp_12_http_parser_HttpParser; + p->_raw_name = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->_raw_value = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->_protocol = Py_None; Py_INCREF(Py_None); + p->_loop = Py_None; Py_INCREF(Py_None); + p->_timer = Py_None; Py_INCREF(Py_None); + p->_url = Py_None; Py_INCREF(Py_None); + p->_buf = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->_path = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->_reason = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->_headers = Py_None; Py_INCREF(Py_None); + p->_raw_headers = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->_messages = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->_payload = Py_None; Py_INCREF(Py_None); + p->_payload_exception = Py_None; Py_INCREF(Py_None); + p->_last_error = Py_None; Py_INCREF(Py_None); + p->_content_encoding = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->py_buf.obj = NULL; + if (unlikely(__pyx_pw_7aiohttp_12_http_parser_10HttpParser_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad; + return o; + bad: + Py_DECREF(o); o = 0; + return NULL; +} + +static void __pyx_tp_dealloc_7aiohttp_12_http_parser_HttpParser(PyObject *o) { + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *p = (struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); + ++Py_REFCNT(o); + __pyx_pw_7aiohttp_12_http_parser_10HttpParser_3__dealloc__(o); + --Py_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->_raw_name); + Py_CLEAR(p->_raw_value); + Py_CLEAR(p->_protocol); + Py_CLEAR(p->_loop); + Py_CLEAR(p->_timer); + Py_CLEAR(p->_url); + Py_CLEAR(p->_buf); + Py_CLEAR(p->_path); + Py_CLEAR(p->_reason); + Py_CLEAR(p->_headers); + Py_CLEAR(p->_raw_headers); + Py_CLEAR(p->_messages); + Py_CLEAR(p->_payload); + Py_CLEAR(p->_payload_exception); + Py_CLEAR(p->_last_error); + Py_CLEAR(p->_content_encoding); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_7aiohttp_12_http_parser_HttpParser(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *p = (struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)o; + if (p->_protocol) { + e = (*v)(p->_protocol, a); if (e) return e; + } + if (p->_loop) { + e = (*v)(p->_loop, a); if (e) return e; + } + if (p->_timer) { + e = (*v)(p->_timer, a); if (e) return e; + } + if (p->_url) { + e = (*v)(p->_url, a); if (e) return e; + } + if (p->_headers) { + e = (*v)(p->_headers, a); if (e) return e; + } + if (p->_raw_headers) { + e = (*v)(p->_raw_headers, a); if (e) return e; + } + if (p->_messages) { + e = (*v)(p->_messages, a); if (e) return e; + } + if (p->_payload) { + e = (*v)(p->_payload, a); if (e) return e; + } + if (p->_payload_exception) { + e = (*v)(p->_payload_exception, a); if (e) return e; + } + if (p->_last_error) { + e = (*v)(p->_last_error, a); if (e) return e; + } + if (p->py_buf.obj) { + e = (*v)(p->py_buf.obj, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_7aiohttp_12_http_parser_HttpParser(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *p = (struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *)o; + tmp = ((PyObject*)p->_protocol); + p->_protocol = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->_loop); + p->_loop = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->_timer); + p->_timer = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->_url); + p->_url = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->_headers); + p->_headers = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->_raw_headers); + p->_raw_headers = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->_messages); + p->_messages = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->_payload); + p->_payload = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->_payload_exception); + p->_payload_exception = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->_last_error); + p->_last_error = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + Py_CLEAR(p->py_buf.obj); + return 0; +} + +static PyMethodDef __pyx_methods_7aiohttp_12_http_parser_HttpParser[] = { + {"feed_eof", (PyCFunction)__pyx_pw_7aiohttp_12_http_parser_10HttpParser_5feed_eof, METH_NOARGS, 0}, + {"feed_data", (PyCFunction)__pyx_pw_7aiohttp_12_http_parser_10HttpParser_7feed_data, METH_O, 0}, + {"__reduce_cython__", (PyCFunction)__pyx_pw_7aiohttp_12_http_parser_10HttpParser_9__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_7aiohttp_12_http_parser_10HttpParser_11__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_7aiohttp_12_http_parser_HttpParser = { + PyVarObject_HEAD_INIT(0, 0) + "aiohttp._http_parser.HttpParser", /*tp_name*/ + sizeof(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_7aiohttp_12_http_parser_HttpParser, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_7aiohttp_12_http_parser_HttpParser, /*tp_traverse*/ + __pyx_tp_clear_7aiohttp_12_http_parser_HttpParser, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_7aiohttp_12_http_parser_HttpParser, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_7aiohttp_12_http_parser_HttpParser, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; +static struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpRequestParser __pyx_vtable_7aiohttp_12_http_parser_HttpRequestParser; + +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser_HttpRequestParser(PyTypeObject *t, PyObject *a, PyObject *k) { + struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser *p; + PyObject *o = __pyx_tp_new_7aiohttp_12_http_parser_HttpParser(t, a, k); + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser *)o); + p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser*)__pyx_vtabptr_7aiohttp_12_http_parser_HttpRequestParser; + return o; +} + +static PyMethodDef __pyx_methods_7aiohttp_12_http_parser_HttpRequestParser[] = { + {"__reduce_cython__", (PyCFunction)__pyx_pw_7aiohttp_12_http_parser_17HttpRequestParser_3__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_7aiohttp_12_http_parser_17HttpRequestParser_5__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_7aiohttp_12_http_parser_HttpRequestParser = { + PyVarObject_HEAD_INIT(0, 0) + "aiohttp._http_parser.HttpRequestParser", /*tp_name*/ + sizeof(struct __pyx_obj_7aiohttp_12_http_parser_HttpRequestParser), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_7aiohttp_12_http_parser_HttpParser, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_7aiohttp_12_http_parser_HttpParser, /*tp_traverse*/ + __pyx_tp_clear_7aiohttp_12_http_parser_HttpParser, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_7aiohttp_12_http_parser_HttpRequestParser, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_7aiohttp_12_http_parser_17HttpRequestParser_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_7aiohttp_12_http_parser_HttpRequestParser, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; +static struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpResponseParser __pyx_vtable_7aiohttp_12_http_parser_HttpResponseParser; + +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser_HttpResponseParser(PyTypeObject *t, PyObject *a, PyObject *k) { + struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser *p; + PyObject *o = __pyx_tp_new_7aiohttp_12_http_parser_HttpParser(t, a, k); + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser *)o); + p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser*)__pyx_vtabptr_7aiohttp_12_http_parser_HttpResponseParser; + return o; +} + +static PyMethodDef __pyx_methods_7aiohttp_12_http_parser_HttpResponseParser[] = { + {"__reduce_cython__", (PyCFunction)__pyx_pw_7aiohttp_12_http_parser_18HttpResponseParser_3__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_7aiohttp_12_http_parser_18HttpResponseParser_5__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_7aiohttp_12_http_parser_HttpResponseParser = { + PyVarObject_HEAD_INIT(0, 0) + "aiohttp._http_parser.HttpResponseParser", /*tp_name*/ + sizeof(struct __pyx_obj_7aiohttp_12_http_parser_HttpResponseParser), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_7aiohttp_12_http_parser_HttpParser, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_7aiohttp_12_http_parser_HttpParser, /*tp_traverse*/ + __pyx_tp_clear_7aiohttp_12_http_parser_HttpParser, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_7aiohttp_12_http_parser_HttpResponseParser, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_7aiohttp_12_http_parser_18HttpResponseParser_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_7aiohttp_12_http_parser_HttpResponseParser, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; + +static struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__ *__pyx_freelist_7aiohttp_12_http_parser___pyx_scope_struct____repr__[8]; +static int __pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct____repr__ = 0; + +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct____repr__(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + PyObject *o; + if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct____repr__ > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__)))) { + o = (PyObject*)__pyx_freelist_7aiohttp_12_http_parser___pyx_scope_struct____repr__[--__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct____repr__]; + memset(o, 0, sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__)); + (void) PyObject_INIT(o, t); + PyObject_GC_Track(o); + } else { + o = (*t->tp_alloc)(t, 0); + if (unlikely(!o)) return 0; + } + return o; +} + +static void __pyx_tp_dealloc_7aiohttp_12_http_parser___pyx_scope_struct____repr__(PyObject *o) { + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__ *p = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__ *)o; + PyObject_GC_UnTrack(o); + Py_CLEAR(p->__pyx_v_info); + if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct____repr__ < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__)))) { + __pyx_freelist_7aiohttp_12_http_parser___pyx_scope_struct____repr__[__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct____repr__++] = ((struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__ *)o); + } else { + (*Py_TYPE(o)->tp_free)(o); + } +} + +static int __pyx_tp_traverse_7aiohttp_12_http_parser___pyx_scope_struct____repr__(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__ *p = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__ *)o; + if (p->__pyx_v_info) { + e = (*v)(p->__pyx_v_info, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_7aiohttp_12_http_parser___pyx_scope_struct____repr__(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__ *p = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__ *)o; + tmp = ((PyObject*)p->__pyx_v_info); + p->__pyx_v_info = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyTypeObject __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct____repr__ = { + PyVarObject_HEAD_INIT(0, 0) + "aiohttp._http_parser.__pyx_scope_struct____repr__", /*tp_name*/ + sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct____repr__), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_7aiohttp_12_http_parser___pyx_scope_struct____repr__, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_7aiohttp_12_http_parser___pyx_scope_struct____repr__, /*tp_traverse*/ + __pyx_tp_clear_7aiohttp_12_http_parser___pyx_scope_struct____repr__, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + 0, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct____repr__, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; + +static struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr *__pyx_freelist_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr[8]; +static int __pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr = 0; + +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + PyObject *o; + if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr)))) { + o = (PyObject*)__pyx_freelist_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr[--__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr]; + memset(o, 0, sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr)); + (void) PyObject_INIT(o, t); + PyObject_GC_Track(o); + } else { + o = (*t->tp_alloc)(t, 0); + if (unlikely(!o)) return 0; + } + return o; +} + +static void __pyx_tp_dealloc_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr(PyObject *o) { + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr *)o; + PyObject_GC_UnTrack(o); + Py_CLEAR(p->__pyx_outer_scope); + Py_CLEAR(p->__pyx_v_name); + Py_CLEAR(p->__pyx_v_val); + if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr)))) { + __pyx_freelist_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr[__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr++] = ((struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr *)o); + } else { + (*Py_TYPE(o)->tp_free)(o); + } +} + +static int __pyx_tp_traverse_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr *)o; + if (p->__pyx_outer_scope) { + e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e; + } + if (p->__pyx_v_name) { + e = (*v)(p->__pyx_v_name, a); if (e) return e; + } + if (p->__pyx_v_val) { + e = (*v)(p->__pyx_v_val, a); if (e) return e; + } + return 0; +} + +static PyTypeObject __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr = { + PyVarObject_HEAD_INIT(0, 0) + "aiohttp._http_parser.__pyx_scope_struct_1_genexpr", /*tp_name*/ + sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr, /*tp_traverse*/ + 0, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + 0, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; + +static struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ *__pyx_freelist_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__[8]; +static int __pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ = 0; + +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + PyObject *o; + if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__)))) { + o = (PyObject*)__pyx_freelist_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__[--__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__]; + memset(o, 0, sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__)); + (void) PyObject_INIT(o, t); + PyObject_GC_Track(o); + } else { + o = (*t->tp_alloc)(t, 0); + if (unlikely(!o)) return 0; + } + return o; +} + +static void __pyx_tp_dealloc_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__(PyObject *o) { + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ *p = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ *)o; + PyObject_GC_UnTrack(o); + Py_CLEAR(p->__pyx_v_info); + if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__)))) { + __pyx_freelist_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__[__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__++] = ((struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ *)o); + } else { + (*Py_TYPE(o)->tp_free)(o); + } +} + +static int __pyx_tp_traverse_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ *p = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ *)o; + if (p->__pyx_v_info) { + e = (*v)(p->__pyx_v_info, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ *p = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ *)o; + tmp = ((PyObject*)p->__pyx_v_info); + p->__pyx_v_info = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyTypeObject __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ = { + PyVarObject_HEAD_INIT(0, 0) + "aiohttp._http_parser.__pyx_scope_struct_2___repr__", /*tp_name*/ + sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__, /*tp_traverse*/ + __pyx_tp_clear_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + 0, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; + +static struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr *__pyx_freelist_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr[8]; +static int __pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr = 0; + +static PyObject *__pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + PyObject *o; + if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr)))) { + o = (PyObject*)__pyx_freelist_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr[--__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr]; + memset(o, 0, sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr)); + (void) PyObject_INIT(o, t); + PyObject_GC_Track(o); + } else { + o = (*t->tp_alloc)(t, 0); + if (unlikely(!o)) return 0; + } + return o; +} + +static void __pyx_tp_dealloc_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr(PyObject *o) { + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr *)o; + PyObject_GC_UnTrack(o); + Py_CLEAR(p->__pyx_outer_scope); + Py_CLEAR(p->__pyx_v_name); + Py_CLEAR(p->__pyx_v_val); + if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr)))) { + __pyx_freelist_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr[__pyx_freecount_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr++] = ((struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr *)o); + } else { + (*Py_TYPE(o)->tp_free)(o); + } +} + +static int __pyx_tp_traverse_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr *)o; + if (p->__pyx_outer_scope) { + e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e; + } + if (p->__pyx_v_name) { + e = (*v)(p->__pyx_v_name, a); if (e) return e; + } + if (p->__pyx_v_val) { + e = (*v)(p->__pyx_v_val, a); if (e) return e; + } + return 0; +} + +static PyTypeObject __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr = { + PyVarObject_HEAD_INIT(0, 0) + "aiohttp._http_parser.__pyx_scope_struct_3_genexpr", /*tp_name*/ + sizeof(struct __pyx_obj_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr, /*tp_traverse*/ + 0, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + 0, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec__http_parser(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec__http_parser}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "_http_parser", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_kp_u_, __pyx_k_, sizeof(__pyx_k_), 0, 1, 0, 0}, + {&__pyx_n_s_ACCEPT, __pyx_k_ACCEPT, sizeof(__pyx_k_ACCEPT), 0, 0, 1, 1}, + {&__pyx_n_s_ACCEPT_CHARSET, __pyx_k_ACCEPT_CHARSET, sizeof(__pyx_k_ACCEPT_CHARSET), 0, 0, 1, 1}, + {&__pyx_n_s_ACCEPT_ENCODING, __pyx_k_ACCEPT_ENCODING, sizeof(__pyx_k_ACCEPT_ENCODING), 0, 0, 1, 1}, + {&__pyx_n_s_ACCEPT_LANGUAGE, __pyx_k_ACCEPT_LANGUAGE, sizeof(__pyx_k_ACCEPT_LANGUAGE), 0, 0, 1, 1}, + {&__pyx_n_s_ACCEPT_RANGES, __pyx_k_ACCEPT_RANGES, sizeof(__pyx_k_ACCEPT_RANGES), 0, 0, 1, 1}, + {&__pyx_n_s_ACCESS_CONTROL_ALLOW_CREDENTIALS, __pyx_k_ACCESS_CONTROL_ALLOW_CREDENTIALS, sizeof(__pyx_k_ACCESS_CONTROL_ALLOW_CREDENTIALS), 0, 0, 1, 1}, + {&__pyx_n_s_ACCESS_CONTROL_ALLOW_HEADERS, __pyx_k_ACCESS_CONTROL_ALLOW_HEADERS, sizeof(__pyx_k_ACCESS_CONTROL_ALLOW_HEADERS), 0, 0, 1, 1}, + {&__pyx_n_s_ACCESS_CONTROL_ALLOW_METHODS, __pyx_k_ACCESS_CONTROL_ALLOW_METHODS, sizeof(__pyx_k_ACCESS_CONTROL_ALLOW_METHODS), 0, 0, 1, 1}, + {&__pyx_n_s_ACCESS_CONTROL_ALLOW_ORIGIN, __pyx_k_ACCESS_CONTROL_ALLOW_ORIGIN, sizeof(__pyx_k_ACCESS_CONTROL_ALLOW_ORIGIN), 0, 0, 1, 1}, + {&__pyx_n_s_ACCESS_CONTROL_EXPOSE_HEADERS, __pyx_k_ACCESS_CONTROL_EXPOSE_HEADERS, sizeof(__pyx_k_ACCESS_CONTROL_EXPOSE_HEADERS), 0, 0, 1, 1}, + {&__pyx_n_s_ACCESS_CONTROL_MAX_AGE, __pyx_k_ACCESS_CONTROL_MAX_AGE, sizeof(__pyx_k_ACCESS_CONTROL_MAX_AGE), 0, 0, 1, 1}, + {&__pyx_n_s_ACCESS_CONTROL_REQUEST_HEADERS, __pyx_k_ACCESS_CONTROL_REQUEST_HEADERS, sizeof(__pyx_k_ACCESS_CONTROL_REQUEST_HEADERS), 0, 0, 1, 1}, + {&__pyx_n_s_ACCESS_CONTROL_REQUEST_METHOD, __pyx_k_ACCESS_CONTROL_REQUEST_METHOD, sizeof(__pyx_k_ACCESS_CONTROL_REQUEST_METHOD), 0, 0, 1, 1}, + {&__pyx_n_s_AGE, __pyx_k_AGE, sizeof(__pyx_k_AGE), 0, 0, 1, 1}, + {&__pyx_n_s_ALLOW, __pyx_k_ALLOW, sizeof(__pyx_k_ALLOW), 0, 0, 1, 1}, + {&__pyx_n_s_AUTHORIZATION, __pyx_k_AUTHORIZATION, sizeof(__pyx_k_AUTHORIZATION), 0, 0, 1, 1}, + {&__pyx_n_s_BadHttpMessage, __pyx_k_BadHttpMessage, sizeof(__pyx_k_BadHttpMessage), 0, 0, 1, 1}, + {&__pyx_n_s_BadStatusLine, __pyx_k_BadStatusLine, sizeof(__pyx_k_BadStatusLine), 0, 0, 1, 1}, + {&__pyx_n_s_BaseException, __pyx_k_BaseException, sizeof(__pyx_k_BaseException), 0, 0, 1, 1}, + {&__pyx_n_s_CACHE_CONTROL, __pyx_k_CACHE_CONTROL, sizeof(__pyx_k_CACHE_CONTROL), 0, 0, 1, 1}, + {&__pyx_n_s_CIMultiDict, __pyx_k_CIMultiDict, sizeof(__pyx_k_CIMultiDict), 0, 0, 1, 1}, + {&__pyx_n_s_CIMultiDictProxy, __pyx_k_CIMultiDictProxy, sizeof(__pyx_k_CIMultiDictProxy), 0, 0, 1, 1}, + {&__pyx_n_s_CIMultiDictProxy_2, __pyx_k_CIMultiDictProxy_2, sizeof(__pyx_k_CIMultiDictProxy_2), 0, 0, 1, 1}, + {&__pyx_n_s_CIMultiDict_2, __pyx_k_CIMultiDict_2, sizeof(__pyx_k_CIMultiDict_2), 0, 0, 1, 1}, + {&__pyx_n_s_CONNECTION, __pyx_k_CONNECTION, sizeof(__pyx_k_CONNECTION), 0, 0, 1, 1}, + {&__pyx_n_s_CONTENT_DISPOSITION, __pyx_k_CONTENT_DISPOSITION, sizeof(__pyx_k_CONTENT_DISPOSITION), 0, 0, 1, 1}, + {&__pyx_n_s_CONTENT_ENCODING, __pyx_k_CONTENT_ENCODING, sizeof(__pyx_k_CONTENT_ENCODING), 0, 0, 1, 1}, + {&__pyx_n_s_CONTENT_LANGUAGE, __pyx_k_CONTENT_LANGUAGE, sizeof(__pyx_k_CONTENT_LANGUAGE), 0, 0, 1, 1}, + {&__pyx_n_s_CONTENT_LENGTH, __pyx_k_CONTENT_LENGTH, sizeof(__pyx_k_CONTENT_LENGTH), 0, 0, 1, 1}, + {&__pyx_n_s_CONTENT_LOCATION, __pyx_k_CONTENT_LOCATION, sizeof(__pyx_k_CONTENT_LOCATION), 0, 0, 1, 1}, + {&__pyx_n_s_CONTENT_MD5, __pyx_k_CONTENT_MD5, sizeof(__pyx_k_CONTENT_MD5), 0, 0, 1, 1}, + {&__pyx_n_s_CONTENT_RANGE, __pyx_k_CONTENT_RANGE, sizeof(__pyx_k_CONTENT_RANGE), 0, 0, 1, 1}, + {&__pyx_n_s_CONTENT_TRANSFER_ENCODING, __pyx_k_CONTENT_TRANSFER_ENCODING, sizeof(__pyx_k_CONTENT_TRANSFER_ENCODING), 0, 0, 1, 1}, + {&__pyx_n_s_CONTENT_TYPE, __pyx_k_CONTENT_TYPE, sizeof(__pyx_k_CONTENT_TYPE), 0, 0, 1, 1}, + {&__pyx_n_s_COOKIE, __pyx_k_COOKIE, sizeof(__pyx_k_COOKIE), 0, 0, 1, 1}, + {&__pyx_n_s_ContentLengthError, __pyx_k_ContentLengthError, sizeof(__pyx_k_ContentLengthError), 0, 0, 1, 1}, + {&__pyx_n_s_DATE, __pyx_k_DATE, sizeof(__pyx_k_DATE), 0, 0, 1, 1}, + {&__pyx_n_s_DESTINATION, __pyx_k_DESTINATION, sizeof(__pyx_k_DESTINATION), 0, 0, 1, 1}, + {&__pyx_n_s_DIGEST, __pyx_k_DIGEST, sizeof(__pyx_k_DIGEST), 0, 0, 1, 1}, + {&__pyx_n_s_DeflateBuffer, __pyx_k_DeflateBuffer, sizeof(__pyx_k_DeflateBuffer), 0, 0, 1, 1}, + {&__pyx_n_s_DeflateBuffer_2, __pyx_k_DeflateBuffer_2, sizeof(__pyx_k_DeflateBuffer_2), 0, 0, 1, 1}, + {&__pyx_n_s_EMPTY_PAYLOAD, __pyx_k_EMPTY_PAYLOAD, sizeof(__pyx_k_EMPTY_PAYLOAD), 0, 0, 1, 1}, + {&__pyx_n_s_EMPTY_PAYLOAD_2, __pyx_k_EMPTY_PAYLOAD_2, sizeof(__pyx_k_EMPTY_PAYLOAD_2), 0, 0, 1, 1}, + {&__pyx_n_s_ETAG, __pyx_k_ETAG, sizeof(__pyx_k_ETAG), 0, 0, 1, 1}, + {&__pyx_n_s_EXPECT, __pyx_k_EXPECT, sizeof(__pyx_k_EXPECT), 0, 0, 1, 1}, + {&__pyx_n_s_EXPIRES, __pyx_k_EXPIRES, sizeof(__pyx_k_EXPIRES), 0, 0, 1, 1}, + {&__pyx_n_s_FORWARDED, __pyx_k_FORWARDED, sizeof(__pyx_k_FORWARDED), 0, 0, 1, 1}, + {&__pyx_n_s_FROM, __pyx_k_FROM, sizeof(__pyx_k_FROM), 0, 0, 1, 1}, + {&__pyx_n_s_HOST, __pyx_k_HOST, sizeof(__pyx_k_HOST), 0, 0, 1, 1}, + {&__pyx_kp_u_Header_name_is_too_long, __pyx_k_Header_name_is_too_long, sizeof(__pyx_k_Header_name_is_too_long), 0, 1, 0, 0}, + {&__pyx_kp_u_Header_value_is_too_long, __pyx_k_Header_value_is_too_long, sizeof(__pyx_k_Header_value_is_too_long), 0, 1, 0, 0}, + {&__pyx_n_s_HttpRequestParser, __pyx_k_HttpRequestParser, sizeof(__pyx_k_HttpRequestParser), 0, 0, 1, 1}, + {&__pyx_n_u_HttpRequestParser, __pyx_k_HttpRequestParser, sizeof(__pyx_k_HttpRequestParser), 0, 1, 0, 1}, + {&__pyx_n_s_HttpResponseParser, __pyx_k_HttpResponseParser, sizeof(__pyx_k_HttpResponseParser), 0, 0, 1, 1}, + {&__pyx_n_u_HttpResponseParser, __pyx_k_HttpResponseParser, sizeof(__pyx_k_HttpResponseParser), 0, 1, 0, 1}, + {&__pyx_n_s_HttpVersion, __pyx_k_HttpVersion, sizeof(__pyx_k_HttpVersion), 0, 0, 1, 1}, + {&__pyx_n_s_HttpVersion10, __pyx_k_HttpVersion10, sizeof(__pyx_k_HttpVersion10), 0, 0, 1, 1}, + {&__pyx_n_s_HttpVersion10_2, __pyx_k_HttpVersion10_2, sizeof(__pyx_k_HttpVersion10_2), 0, 0, 1, 1}, + {&__pyx_n_s_HttpVersion11, __pyx_k_HttpVersion11, sizeof(__pyx_k_HttpVersion11), 0, 0, 1, 1}, + {&__pyx_n_s_HttpVersion11_2, __pyx_k_HttpVersion11_2, sizeof(__pyx_k_HttpVersion11_2), 0, 0, 1, 1}, + {&__pyx_n_s_HttpVersion_2, __pyx_k_HttpVersion_2, sizeof(__pyx_k_HttpVersion_2), 0, 0, 1, 1}, + {&__pyx_n_s_IF_MATCH, __pyx_k_IF_MATCH, sizeof(__pyx_k_IF_MATCH), 0, 0, 1, 1}, + {&__pyx_n_s_IF_MODIFIED_SINCE, __pyx_k_IF_MODIFIED_SINCE, sizeof(__pyx_k_IF_MODIFIED_SINCE), 0, 0, 1, 1}, + {&__pyx_n_s_IF_NONE_MATCH, __pyx_k_IF_NONE_MATCH, sizeof(__pyx_k_IF_NONE_MATCH), 0, 0, 1, 1}, + {&__pyx_n_s_IF_RANGE, __pyx_k_IF_RANGE, sizeof(__pyx_k_IF_RANGE), 0, 0, 1, 1}, + {&__pyx_n_s_IF_UNMODIFIED_SINCE, __pyx_k_IF_UNMODIFIED_SINCE, sizeof(__pyx_k_IF_UNMODIFIED_SINCE), 0, 0, 1, 1}, + {&__pyx_kp_s_Incompatible_checksums_s_vs_0x14, __pyx_k_Incompatible_checksums_s_vs_0x14, sizeof(__pyx_k_Incompatible_checksums_s_vs_0x14), 0, 0, 1, 0}, + {&__pyx_kp_s_Incompatible_checksums_s_vs_0xc7, __pyx_k_Incompatible_checksums_s_vs_0xc7, sizeof(__pyx_k_Incompatible_checksums_s_vs_0xc7), 0, 0, 1, 0}, + {&__pyx_n_s_InvalidHeader, __pyx_k_InvalidHeader, sizeof(__pyx_k_InvalidHeader), 0, 0, 1, 1}, + {&__pyx_n_s_InvalidURLError, __pyx_k_InvalidURLError, sizeof(__pyx_k_InvalidURLError), 0, 0, 1, 1}, + {&__pyx_n_s_KEEP_ALIVE, __pyx_k_KEEP_ALIVE, sizeof(__pyx_k_KEEP_ALIVE), 0, 0, 1, 1}, + {&__pyx_n_s_LAST_EVENT_ID, __pyx_k_LAST_EVENT_ID, sizeof(__pyx_k_LAST_EVENT_ID), 0, 0, 1, 1}, + {&__pyx_n_s_LAST_MODIFIED, __pyx_k_LAST_MODIFIED, sizeof(__pyx_k_LAST_MODIFIED), 0, 0, 1, 1}, + {&__pyx_n_s_LINK, __pyx_k_LINK, sizeof(__pyx_k_LINK), 0, 0, 1, 1}, + {&__pyx_n_s_LOCATION, __pyx_k_LOCATION, sizeof(__pyx_k_LOCATION), 0, 0, 1, 1}, + {&__pyx_n_s_LineTooLong, __pyx_k_LineTooLong, sizeof(__pyx_k_LineTooLong), 0, 0, 1, 1}, + {&__pyx_n_s_MAX_FORWARDS, __pyx_k_MAX_FORWARDS, sizeof(__pyx_k_MAX_FORWARDS), 0, 0, 1, 1}, + {&__pyx_n_s_MemoryError, __pyx_k_MemoryError, sizeof(__pyx_k_MemoryError), 0, 0, 1, 1}, + {&__pyx_kp_u_Not_enough_data_for_satisfy_cont, __pyx_k_Not_enough_data_for_satisfy_cont, sizeof(__pyx_k_Not_enough_data_for_satisfy_cont), 0, 1, 0, 0}, + {&__pyx_kp_u_Not_enough_data_for_satisfy_tran, __pyx_k_Not_enough_data_for_satisfy_tran, sizeof(__pyx_k_Not_enough_data_for_satisfy_tran), 0, 1, 0, 0}, + {&__pyx_n_s_ORIGIN, __pyx_k_ORIGIN, sizeof(__pyx_k_ORIGIN), 0, 0, 1, 1}, + {&__pyx_n_s_PRAGMA, __pyx_k_PRAGMA, sizeof(__pyx_k_PRAGMA), 0, 0, 1, 1}, + {&__pyx_n_s_PROXY_AUTHENTICATE, __pyx_k_PROXY_AUTHENTICATE, sizeof(__pyx_k_PROXY_AUTHENTICATE), 0, 0, 1, 1}, + {&__pyx_n_s_PROXY_AUTHORIZATION, __pyx_k_PROXY_AUTHORIZATION, sizeof(__pyx_k_PROXY_AUTHORIZATION), 0, 0, 1, 1}, + {&__pyx_n_s_PayloadEncodingError, __pyx_k_PayloadEncodingError, sizeof(__pyx_k_PayloadEncodingError), 0, 0, 1, 1}, + {&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1}, + {&__pyx_n_s_RANGE, __pyx_k_RANGE, sizeof(__pyx_k_RANGE), 0, 0, 1, 1}, + {&__pyx_n_s_REFERER, __pyx_k_REFERER, sizeof(__pyx_k_REFERER), 0, 0, 1, 1}, + {&__pyx_n_s_RETRY_AFTER, __pyx_k_RETRY_AFTER, sizeof(__pyx_k_RETRY_AFTER), 0, 0, 1, 1}, + {&__pyx_kp_u_RawRequestMessage, __pyx_k_RawRequestMessage, sizeof(__pyx_k_RawRequestMessage), 0, 1, 0, 0}, + {&__pyx_n_s_RawRequestMessage_2, __pyx_k_RawRequestMessage_2, sizeof(__pyx_k_RawRequestMessage_2), 0, 0, 1, 1}, + {&__pyx_n_u_RawRequestMessage_2, __pyx_k_RawRequestMessage_2, sizeof(__pyx_k_RawRequestMessage_2), 0, 1, 0, 1}, + {&__pyx_kp_u_RawResponseMessage, __pyx_k_RawResponseMessage, sizeof(__pyx_k_RawResponseMessage), 0, 1, 0, 0}, + {&__pyx_n_s_RawResponseMessage_2, __pyx_k_RawResponseMessage_2, sizeof(__pyx_k_RawResponseMessage_2), 0, 0, 1, 1}, + {&__pyx_n_u_RawResponseMessage_2, __pyx_k_RawResponseMessage_2, sizeof(__pyx_k_RawResponseMessage_2), 0, 1, 0, 1}, + {&__pyx_n_s_SEC_WEBSOCKET_ACCEPT, __pyx_k_SEC_WEBSOCKET_ACCEPT, sizeof(__pyx_k_SEC_WEBSOCKET_ACCEPT), 0, 0, 1, 1}, + {&__pyx_n_s_SEC_WEBSOCKET_EXTENSIONS, __pyx_k_SEC_WEBSOCKET_EXTENSIONS, sizeof(__pyx_k_SEC_WEBSOCKET_EXTENSIONS), 0, 0, 1, 1}, + {&__pyx_n_s_SEC_WEBSOCKET_KEY, __pyx_k_SEC_WEBSOCKET_KEY, sizeof(__pyx_k_SEC_WEBSOCKET_KEY), 0, 0, 1, 1}, + {&__pyx_n_s_SEC_WEBSOCKET_KEY1, __pyx_k_SEC_WEBSOCKET_KEY1, sizeof(__pyx_k_SEC_WEBSOCKET_KEY1), 0, 0, 1, 1}, + {&__pyx_n_s_SEC_WEBSOCKET_PROTOCOL, __pyx_k_SEC_WEBSOCKET_PROTOCOL, sizeof(__pyx_k_SEC_WEBSOCKET_PROTOCOL), 0, 0, 1, 1}, + {&__pyx_n_s_SEC_WEBSOCKET_VERSION, __pyx_k_SEC_WEBSOCKET_VERSION, sizeof(__pyx_k_SEC_WEBSOCKET_VERSION), 0, 0, 1, 1}, + {&__pyx_n_s_SERVER, __pyx_k_SERVER, sizeof(__pyx_k_SERVER), 0, 0, 1, 1}, + {&__pyx_n_s_SET_COOKIE, __pyx_k_SET_COOKIE, sizeof(__pyx_k_SET_COOKIE), 0, 0, 1, 1}, + {&__pyx_kp_u_Status_line_is_too_long, __pyx_k_Status_line_is_too_long, sizeof(__pyx_k_Status_line_is_too_long), 0, 1, 0, 0}, + {&__pyx_n_s_StreamReader, __pyx_k_StreamReader, sizeof(__pyx_k_StreamReader), 0, 0, 1, 1}, + {&__pyx_n_s_StreamReader_2, __pyx_k_StreamReader_2, sizeof(__pyx_k_StreamReader_2), 0, 0, 1, 1}, + {&__pyx_n_s_TE, __pyx_k_TE, sizeof(__pyx_k_TE), 0, 0, 1, 1}, + {&__pyx_n_s_TRAILER, __pyx_k_TRAILER, sizeof(__pyx_k_TRAILER), 0, 0, 1, 1}, + {&__pyx_n_s_TRANSFER_ENCODING, __pyx_k_TRANSFER_ENCODING, sizeof(__pyx_k_TRANSFER_ENCODING), 0, 0, 1, 1}, + {&__pyx_n_s_TransferEncodingError, __pyx_k_TransferEncodingError, sizeof(__pyx_k_TransferEncodingError), 0, 0, 1, 1}, + {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, + {&__pyx_n_s_UPGRADE, __pyx_k_UPGRADE, sizeof(__pyx_k_UPGRADE), 0, 0, 1, 1}, + {&__pyx_n_s_URI, __pyx_k_URI, sizeof(__pyx_k_URI), 0, 0, 1, 1}, + {&__pyx_n_s_URL, __pyx_k_URL, sizeof(__pyx_k_URL), 0, 0, 1, 1}, + {&__pyx_n_s_URL_2, __pyx_k_URL_2, sizeof(__pyx_k_URL_2), 0, 0, 1, 1}, + {&__pyx_n_s_USER_AGENT, __pyx_k_USER_AGENT, sizeof(__pyx_k_USER_AGENT), 0, 0, 1, 1}, + {&__pyx_n_s_VARY, __pyx_k_VARY, sizeof(__pyx_k_VARY), 0, 0, 1, 1}, + {&__pyx_n_s_VIA, __pyx_k_VIA, sizeof(__pyx_k_VIA), 0, 0, 1, 1}, + {&__pyx_n_s_WANT_DIGEST, __pyx_k_WANT_DIGEST, sizeof(__pyx_k_WANT_DIGEST), 0, 0, 1, 1}, + {&__pyx_n_s_WARNING, __pyx_k_WARNING, sizeof(__pyx_k_WARNING), 0, 0, 1, 1}, + {&__pyx_n_s_WEBSOCKET, __pyx_k_WEBSOCKET, sizeof(__pyx_k_WEBSOCKET), 0, 0, 1, 1}, + {&__pyx_n_s_WWW_AUTHENTICATE, __pyx_k_WWW_AUTHENTICATE, sizeof(__pyx_k_WWW_AUTHENTICATE), 0, 0, 1, 1}, + {&__pyx_n_s_X_FORWARDED_FOR, __pyx_k_X_FORWARDED_FOR, sizeof(__pyx_k_X_FORWARDED_FOR), 0, 0, 1, 1}, + {&__pyx_n_s_X_FORWARDED_HOST, __pyx_k_X_FORWARDED_HOST, sizeof(__pyx_k_X_FORWARDED_HOST), 0, 0, 1, 1}, + {&__pyx_n_s_X_FORWARDED_PROTO, __pyx_k_X_FORWARDED_PROTO, sizeof(__pyx_k_X_FORWARDED_PROTO), 0, 0, 1, 1}, + {&__pyx_kp_u__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 1, 0, 0}, + {&__pyx_kp_u__2, __pyx_k__2, sizeof(__pyx_k__2), 0, 1, 0, 0}, + {&__pyx_kp_u__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 1, 0, 0}, + {&__pyx_n_s__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 0, 1, 1}, + {&__pyx_kp_b__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 0, 0, 0}, + {&__pyx_kp_u__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 1, 0, 0}, + {&__pyx_n_s_add, __pyx_k_add, sizeof(__pyx_k_add), 0, 0, 1, 1}, + {&__pyx_n_s_aiohttp, __pyx_k_aiohttp, sizeof(__pyx_k_aiohttp), 0, 0, 1, 1}, + {&__pyx_n_s_aiohttp__http_parser, __pyx_k_aiohttp__http_parser, sizeof(__pyx_k_aiohttp__http_parser), 0, 0, 1, 1}, + {&__pyx_kp_s_aiohttp__http_parser_pyx, __pyx_k_aiohttp__http_parser_pyx, sizeof(__pyx_k_aiohttp__http_parser_pyx), 0, 0, 1, 0}, + {&__pyx_n_s_all, __pyx_k_all, sizeof(__pyx_k_all), 0, 0, 1, 1}, + {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1}, + {&__pyx_n_s_auto_decompress, __pyx_k_auto_decompress, sizeof(__pyx_k_auto_decompress), 0, 0, 1, 1}, + {&__pyx_n_s_begin_http_chunk_receiving, __pyx_k_begin_http_chunk_receiving, sizeof(__pyx_k_begin_http_chunk_receiving), 0, 0, 1, 1}, + {&__pyx_n_u_br, __pyx_k_br, sizeof(__pyx_k_br), 0, 1, 0, 1}, + {&__pyx_n_s_buf_data, __pyx_k_buf_data, sizeof(__pyx_k_buf_data), 0, 0, 1, 1}, + {&__pyx_n_s_build, __pyx_k_build, sizeof(__pyx_k_build), 0, 0, 1, 1}, + {&__pyx_n_s_chunked, __pyx_k_chunked, sizeof(__pyx_k_chunked), 0, 0, 1, 1}, + {&__pyx_n_u_chunked, __pyx_k_chunked, sizeof(__pyx_k_chunked), 0, 1, 0, 1}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1}, + {&__pyx_n_s_code, __pyx_k_code, sizeof(__pyx_k_code), 0, 0, 1, 1}, + {&__pyx_n_u_code, __pyx_k_code, sizeof(__pyx_k_code), 0, 1, 0, 1}, + {&__pyx_n_s_compression, __pyx_k_compression, sizeof(__pyx_k_compression), 0, 0, 1, 1}, + {&__pyx_n_u_compression, __pyx_k_compression, sizeof(__pyx_k_compression), 0, 1, 0, 1}, + {&__pyx_n_u_deflate, __pyx_k_deflate, sizeof(__pyx_k_deflate), 0, 1, 0, 1}, + {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1}, + {&__pyx_n_s_end_http_chunk_receiving, __pyx_k_end_http_chunk_receiving, sizeof(__pyx_k_end_http_chunk_receiving), 0, 0, 1, 1}, + {&__pyx_n_s_feed_data, __pyx_k_feed_data, sizeof(__pyx_k_feed_data), 0, 0, 1, 1}, + {&__pyx_n_s_feed_eof, __pyx_k_feed_eof, sizeof(__pyx_k_feed_eof), 0, 0, 1, 1}, + {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, + {&__pyx_n_s_fragment, __pyx_k_fragment, sizeof(__pyx_k_fragment), 0, 0, 1, 1}, + {&__pyx_n_s_genexpr, __pyx_k_genexpr, sizeof(__pyx_k_genexpr), 0, 0, 1, 1}, + {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1}, + {&__pyx_n_u_gzip, __pyx_k_gzip, sizeof(__pyx_k_gzip), 0, 1, 0, 1}, + {&__pyx_n_s_hdrs, __pyx_k_hdrs, sizeof(__pyx_k_hdrs), 0, 0, 1, 1}, + {&__pyx_n_s_headers, __pyx_k_headers, sizeof(__pyx_k_headers), 0, 0, 1, 1}, + {&__pyx_n_u_headers, __pyx_k_headers, sizeof(__pyx_k_headers), 0, 1, 0, 1}, + {&__pyx_n_s_host, __pyx_k_host, sizeof(__pyx_k_host), 0, 0, 1, 1}, + {&__pyx_n_s_http_exceptions, __pyx_k_http_exceptions, sizeof(__pyx_k_http_exceptions), 0, 0, 1, 1}, + {&__pyx_n_s_http_parser, __pyx_k_http_parser, sizeof(__pyx_k_http_parser), 0, 0, 1, 1}, + {&__pyx_n_s_http_writer, __pyx_k_http_writer, sizeof(__pyx_k_http_writer), 0, 0, 1, 1}, + {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_kp_u_invalid_url_r, __pyx_k_invalid_url_r, sizeof(__pyx_k_invalid_url_r), 0, 1, 0, 0}, + {&__pyx_n_s_loop, __pyx_k_loop, sizeof(__pyx_k_loop), 0, 0, 1, 1}, + {&__pyx_n_s_lower, __pyx_k_lower, sizeof(__pyx_k_lower), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_max_field_size, __pyx_k_max_field_size, sizeof(__pyx_k_max_field_size), 0, 0, 1, 1}, + {&__pyx_n_s_max_headers, __pyx_k_max_headers, sizeof(__pyx_k_max_headers), 0, 0, 1, 1}, + {&__pyx_n_s_max_line_size, __pyx_k_max_line_size, sizeof(__pyx_k_max_line_size), 0, 0, 1, 1}, + {&__pyx_n_s_method, __pyx_k_method, sizeof(__pyx_k_method), 0, 0, 1, 1}, + {&__pyx_n_u_method, __pyx_k_method, sizeof(__pyx_k_method), 0, 1, 0, 1}, + {&__pyx_n_s_multidict, __pyx_k_multidict, sizeof(__pyx_k_multidict), 0, 0, 1, 1}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1}, + {&__pyx_kp_s_no_default___reduce___due_to_non, __pyx_k_no_default___reduce___due_to_non, sizeof(__pyx_k_no_default___reduce___due_to_non), 0, 0, 1, 0}, + {&__pyx_n_s_parse_url, __pyx_k_parse_url, sizeof(__pyx_k_parse_url), 0, 0, 1, 1}, + {&__pyx_n_s_partition, __pyx_k_partition, sizeof(__pyx_k_partition), 0, 0, 1, 1}, + {&__pyx_n_s_password, __pyx_k_password, sizeof(__pyx_k_password), 0, 0, 1, 1}, + {&__pyx_n_s_path, __pyx_k_path, sizeof(__pyx_k_path), 0, 0, 1, 1}, + {&__pyx_n_u_path, __pyx_k_path, sizeof(__pyx_k_path), 0, 1, 0, 1}, + {&__pyx_n_s_payload_exception, __pyx_k_payload_exception, sizeof(__pyx_k_payload_exception), 0, 0, 1, 1}, + {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1}, + {&__pyx_n_s_port, __pyx_k_port, sizeof(__pyx_k_port), 0, 0, 1, 1}, + {&__pyx_n_s_protocol, __pyx_k_protocol, sizeof(__pyx_k_protocol), 0, 0, 1, 1}, + {&__pyx_n_s_py_buf, __pyx_k_py_buf, sizeof(__pyx_k_py_buf), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_type, __pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle_RawRequestMessage, __pyx_k_pyx_unpickle_RawRequestMessage, sizeof(__pyx_k_pyx_unpickle_RawRequestMessage), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle_RawResponseMessag, __pyx_k_pyx_unpickle_RawResponseMessag, sizeof(__pyx_k_pyx_unpickle_RawResponseMessag), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1}, + {&__pyx_n_s_query, __pyx_k_query, sizeof(__pyx_k_query), 0, 0, 1, 1}, + {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, + {&__pyx_n_s_raw_headers, __pyx_k_raw_headers, sizeof(__pyx_k_raw_headers), 0, 0, 1, 1}, + {&__pyx_n_u_raw_headers, __pyx_k_raw_headers, sizeof(__pyx_k_raw_headers), 0, 1, 0, 1}, + {&__pyx_n_s_read_until_eof, __pyx_k_read_until_eof, sizeof(__pyx_k_read_until_eof), 0, 0, 1, 1}, + {&__pyx_n_s_reason, __pyx_k_reason, sizeof(__pyx_k_reason), 0, 0, 1, 1}, + {&__pyx_n_u_reason, __pyx_k_reason, sizeof(__pyx_k_reason), 0, 1, 0, 1}, + {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1}, + {&__pyx_n_s_repr___locals_genexpr, __pyx_k_repr___locals_genexpr, sizeof(__pyx_k_repr___locals_genexpr), 0, 0, 1, 1}, + {&__pyx_n_s_response_with_body, __pyx_k_response_with_body, sizeof(__pyx_k_response_with_body), 0, 0, 1, 1}, + {&__pyx_n_s_scheme, __pyx_k_scheme, sizeof(__pyx_k_scheme), 0, 0, 1, 1}, + {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1}, + {&__pyx_n_s_set_exception, __pyx_k_set_exception, sizeof(__pyx_k_set_exception), 0, 0, 1, 1}, + {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1}, + {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1}, + {&__pyx_n_s_should_close, __pyx_k_should_close, sizeof(__pyx_k_should_close), 0, 0, 1, 1}, + {&__pyx_n_u_should_close, __pyx_k_should_close, sizeof(__pyx_k_should_close), 0, 1, 0, 1}, + {&__pyx_n_s_streams, __pyx_k_streams, sizeof(__pyx_k_streams), 0, 0, 1, 1}, + {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1}, + {&__pyx_n_s_timer, __pyx_k_timer, sizeof(__pyx_k_timer), 0, 0, 1, 1}, + {&__pyx_kp_u_unknown, __pyx_k_unknown, sizeof(__pyx_k_unknown), 0, 1, 0, 0}, + {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1}, + {&__pyx_n_s_upgrade, __pyx_k_upgrade, sizeof(__pyx_k_upgrade), 0, 0, 1, 1}, + {&__pyx_n_u_upgrade, __pyx_k_upgrade, sizeof(__pyx_k_upgrade), 0, 1, 0, 1}, + {&__pyx_n_s_url, __pyx_k_url, sizeof(__pyx_k_url), 0, 0, 1, 1}, + {&__pyx_n_u_url, __pyx_k_url, sizeof(__pyx_k_url), 0, 1, 0, 1}, + {&__pyx_n_s_user, __pyx_k_user, sizeof(__pyx_k_user), 0, 0, 1, 1}, + {&__pyx_n_s_version, __pyx_k_version, sizeof(__pyx_k_version), 0, 0, 1, 1}, + {&__pyx_n_u_version, __pyx_k_version, sizeof(__pyx_k_version), 0, 1, 0, 1}, + {&__pyx_n_s_yarl, __pyx_k_yarl, sizeof(__pyx_k_yarl), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 70, __pyx_L1_error) + __pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_n_s_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(0, 297, __pyx_L1_error) + __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 2, __pyx_L1_error) + __pyx_builtin_BaseException = __Pyx_GetBuiltinName(__pyx_n_s_BaseException); if (!__pyx_builtin_BaseException) __PYX_ERR(0, 601, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "(tree fragment)":2 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(1, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__5); + __Pyx_GIVEREF(__pyx_tuple__5); + + /* "(tree fragment)":4 + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + */ + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__6); + __Pyx_GIVEREF(__pyx_tuple__6); + + /* "(tree fragment)":2 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(1, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__7); + __Pyx_GIVEREF(__pyx_tuple__7); + + /* "(tree fragment)":4 + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + */ + __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__8); + __Pyx_GIVEREF(__pyx_tuple__8); + + /* "(tree fragment)":2 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(1, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__9); + __Pyx_GIVEREF(__pyx_tuple__9); + + /* "(tree fragment)":4 + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + */ + __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__10); + __Pyx_GIVEREF(__pyx_tuple__10); + + /* "aiohttp/_http_parser.pyx":40 + * char* PyByteArray_AsString(object) + * + * __all__ = ('HttpRequestParser', 'HttpResponseParser', # <<<<<<<<<<<<<< + * 'RawRequestMessage', 'RawResponseMessage') + * + */ + __pyx_tuple__12 = PyTuple_Pack(4, __pyx_n_u_HttpRequestParser, __pyx_n_u_HttpResponseParser, __pyx_n_u_RawRequestMessage_2, __pyx_n_u_RawResponseMessage_2); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(0, 40, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__12); + __Pyx_GIVEREF(__pyx_tuple__12); + + /* "aiohttp/_http_parser.pyx":755 + * + * + * def parse_url(url): # <<<<<<<<<<<<<< + * cdef: + * Py_buffer py_buf + */ + __pyx_tuple__13 = PyTuple_Pack(3, __pyx_n_s_url, __pyx_n_s_py_buf, __pyx_n_s_buf_data); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 755, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__13); + __Pyx_GIVEREF(__pyx_tuple__13); + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_aiohttp__http_parser_pyx, __pyx_n_s_parse_url, 755, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 755, __pyx_L1_error) + + /* "(tree fragment)":1 + * def __pyx_unpickle_RawRequestMessage(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_tuple__15 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__15); + __Pyx_GIVEREF(__pyx_tuple__15); + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_RawRequestMessage, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(1, 1, __pyx_L1_error) + __pyx_tuple__17 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__17); + __Pyx_GIVEREF(__pyx_tuple__17); + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_RawResponseMessag, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + __pyx_umethod_PyUnicode_Type_partition.type = (PyObject*)&PyUnicode_Type; + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + __pyx_int_21004882 = PyInt_FromLong(21004882L); if (unlikely(!__pyx_int_21004882)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_209127132 = PyInt_FromLong(209127132L); if (unlikely(!__pyx_int_209127132)) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __pyx_v_7aiohttp_12_http_parser_headers = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_7aiohttp_12_http_parser_URL = Py_None; Py_INCREF(Py_None); + __pyx_v_7aiohttp_12_http_parser_URL_build = Py_None; Py_INCREF(Py_None); + __pyx_v_7aiohttp_12_http_parser_CIMultiDict = Py_None; Py_INCREF(Py_None); + __pyx_v_7aiohttp_12_http_parser_CIMultiDictProxy = Py_None; Py_INCREF(Py_None); + __pyx_v_7aiohttp_12_http_parser_HttpVersion = Py_None; Py_INCREF(Py_None); + __pyx_v_7aiohttp_12_http_parser_HttpVersion10 = Py_None; Py_INCREF(Py_None); + __pyx_v_7aiohttp_12_http_parser_HttpVersion11 = Py_None; Py_INCREF(Py_None); + __pyx_v_7aiohttp_12_http_parser_SEC_WEBSOCKET_KEY1 = Py_None; Py_INCREF(Py_None); + __pyx_v_7aiohttp_12_http_parser_CONTENT_ENCODING = Py_None; Py_INCREF(Py_None); + __pyx_v_7aiohttp_12_http_parser_EMPTY_PAYLOAD = Py_None; Py_INCREF(Py_None); + __pyx_v_7aiohttp_12_http_parser_StreamReader = Py_None; Py_INCREF(Py_None); + __pyx_v_7aiohttp_12_http_parser_DeflateBuffer = Py_None; Py_INCREF(Py_None); + __pyx_v_7aiohttp_12_http_parser__http_method = ((PyObject*)Py_None); Py_INCREF(Py_None); + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + if (PyType_Ready(&__pyx_type_7aiohttp_12_http_parser_RawRequestMessage) < 0) __PYX_ERR(0, 93, __pyx_L1_error) + __pyx_type_7aiohttp_12_http_parser_RawRequestMessage.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_7aiohttp_12_http_parser_RawRequestMessage.tp_dictoffset && __pyx_type_7aiohttp_12_http_parser_RawRequestMessage.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_7aiohttp_12_http_parser_RawRequestMessage.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_RawRequestMessage_2, (PyObject *)&__pyx_type_7aiohttp_12_http_parser_RawRequestMessage) < 0) __PYX_ERR(0, 93, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_7aiohttp_12_http_parser_RawRequestMessage) < 0) __PYX_ERR(0, 93, __pyx_L1_error) + __pyx_ptype_7aiohttp_12_http_parser_RawRequestMessage = &__pyx_type_7aiohttp_12_http_parser_RawRequestMessage; + if (PyType_Ready(&__pyx_type_7aiohttp_12_http_parser_RawResponseMessage) < 0) __PYX_ERR(0, 193, __pyx_L1_error) + __pyx_type_7aiohttp_12_http_parser_RawResponseMessage.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_7aiohttp_12_http_parser_RawResponseMessage.tp_dictoffset && __pyx_type_7aiohttp_12_http_parser_RawResponseMessage.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_7aiohttp_12_http_parser_RawResponseMessage.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_RawResponseMessage_2, (PyObject *)&__pyx_type_7aiohttp_12_http_parser_RawResponseMessage) < 0) __PYX_ERR(0, 193, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_7aiohttp_12_http_parser_RawResponseMessage) < 0) __PYX_ERR(0, 193, __pyx_L1_error) + __pyx_ptype_7aiohttp_12_http_parser_RawResponseMessage = &__pyx_type_7aiohttp_12_http_parser_RawResponseMessage; + __pyx_vtabptr_7aiohttp_12_http_parser_HttpParser = &__pyx_vtable_7aiohttp_12_http_parser_HttpParser; + __pyx_vtable_7aiohttp_12_http_parser_HttpParser._init = (PyObject *(*)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *, enum http_parser_type, PyObject *, PyObject *, struct __pyx_opt_args_7aiohttp_12_http_parser_10HttpParser__init *__pyx_optional_args))__pyx_f_7aiohttp_12_http_parser_10HttpParser__init; + __pyx_vtable_7aiohttp_12_http_parser_HttpParser._process_header = (PyObject *(*)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *))__pyx_f_7aiohttp_12_http_parser_10HttpParser__process_header; + __pyx_vtable_7aiohttp_12_http_parser_HttpParser._on_header_field = (PyObject *(*)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *, char *, size_t))__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_header_field; + __pyx_vtable_7aiohttp_12_http_parser_HttpParser._on_header_value = (PyObject *(*)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *, char *, size_t))__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_header_value; + __pyx_vtable_7aiohttp_12_http_parser_HttpParser._on_headers_complete = (PyObject *(*)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *))__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_headers_complete; + __pyx_vtable_7aiohttp_12_http_parser_HttpParser._on_message_complete = (PyObject *(*)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *))__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_message_complete; + __pyx_vtable_7aiohttp_12_http_parser_HttpParser._on_chunk_header = (PyObject *(*)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *))__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_chunk_header; + __pyx_vtable_7aiohttp_12_http_parser_HttpParser._on_chunk_complete = (PyObject *(*)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *))__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_chunk_complete; + __pyx_vtable_7aiohttp_12_http_parser_HttpParser._on_status_complete = (PyObject *(*)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *))__pyx_f_7aiohttp_12_http_parser_10HttpParser__on_status_complete; + __pyx_vtable_7aiohttp_12_http_parser_HttpParser.http_version = (PyObject *(*)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *))__pyx_f_7aiohttp_12_http_parser_10HttpParser_http_version; + if (PyType_Ready(&__pyx_type_7aiohttp_12_http_parser_HttpParser) < 0) __PYX_ERR(0, 255, __pyx_L1_error) + __pyx_type_7aiohttp_12_http_parser_HttpParser.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_7aiohttp_12_http_parser_HttpParser.tp_dictoffset && __pyx_type_7aiohttp_12_http_parser_HttpParser.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_7aiohttp_12_http_parser_HttpParser.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (__Pyx_SetVtable(__pyx_type_7aiohttp_12_http_parser_HttpParser.tp_dict, __pyx_vtabptr_7aiohttp_12_http_parser_HttpParser) < 0) __PYX_ERR(0, 255, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_7aiohttp_12_http_parser_HttpParser) < 0) __PYX_ERR(0, 255, __pyx_L1_error) + __pyx_ptype_7aiohttp_12_http_parser_HttpParser = &__pyx_type_7aiohttp_12_http_parser_HttpParser; + __pyx_vtabptr_7aiohttp_12_http_parser_HttpRequestParser = &__pyx_vtable_7aiohttp_12_http_parser_HttpRequestParser; + __pyx_vtable_7aiohttp_12_http_parser_HttpRequestParser.__pyx_base = *__pyx_vtabptr_7aiohttp_12_http_parser_HttpParser; + __pyx_vtable_7aiohttp_12_http_parser_HttpRequestParser.__pyx_base._on_status_complete = (PyObject *(*)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *))__pyx_f_7aiohttp_12_http_parser_17HttpRequestParser__on_status_complete; + __pyx_type_7aiohttp_12_http_parser_HttpRequestParser.tp_base = __pyx_ptype_7aiohttp_12_http_parser_HttpParser; + if (PyType_Ready(&__pyx_type_7aiohttp_12_http_parser_HttpRequestParser) < 0) __PYX_ERR(0, 537, __pyx_L1_error) + __pyx_type_7aiohttp_12_http_parser_HttpRequestParser.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_7aiohttp_12_http_parser_HttpRequestParser.tp_dictoffset && __pyx_type_7aiohttp_12_http_parser_HttpRequestParser.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_7aiohttp_12_http_parser_HttpRequestParser.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (__Pyx_SetVtable(__pyx_type_7aiohttp_12_http_parser_HttpRequestParser.tp_dict, __pyx_vtabptr_7aiohttp_12_http_parser_HttpRequestParser) < 0) __PYX_ERR(0, 537, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_HttpRequestParser, (PyObject *)&__pyx_type_7aiohttp_12_http_parser_HttpRequestParser) < 0) __PYX_ERR(0, 537, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_7aiohttp_12_http_parser_HttpRequestParser) < 0) __PYX_ERR(0, 537, __pyx_L1_error) + __pyx_ptype_7aiohttp_12_http_parser_HttpRequestParser = &__pyx_type_7aiohttp_12_http_parser_HttpRequestParser; + __pyx_vtabptr_7aiohttp_12_http_parser_HttpResponseParser = &__pyx_vtable_7aiohttp_12_http_parser_HttpResponseParser; + __pyx_vtable_7aiohttp_12_http_parser_HttpResponseParser.__pyx_base = *__pyx_vtabptr_7aiohttp_12_http_parser_HttpParser; + __pyx_vtable_7aiohttp_12_http_parser_HttpResponseParser.__pyx_base._on_status_complete = (PyObject *(*)(struct __pyx_obj_7aiohttp_12_http_parser_HttpParser *))__pyx_f_7aiohttp_12_http_parser_18HttpResponseParser__on_status_complete; + __pyx_type_7aiohttp_12_http_parser_HttpResponseParser.tp_base = __pyx_ptype_7aiohttp_12_http_parser_HttpParser; + if (PyType_Ready(&__pyx_type_7aiohttp_12_http_parser_HttpResponseParser) < 0) __PYX_ERR(0, 564, __pyx_L1_error) + __pyx_type_7aiohttp_12_http_parser_HttpResponseParser.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_7aiohttp_12_http_parser_HttpResponseParser.tp_dictoffset && __pyx_type_7aiohttp_12_http_parser_HttpResponseParser.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_7aiohttp_12_http_parser_HttpResponseParser.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (__Pyx_SetVtable(__pyx_type_7aiohttp_12_http_parser_HttpResponseParser.tp_dict, __pyx_vtabptr_7aiohttp_12_http_parser_HttpResponseParser) < 0) __PYX_ERR(0, 564, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_HttpResponseParser, (PyObject *)&__pyx_type_7aiohttp_12_http_parser_HttpResponseParser) < 0) __PYX_ERR(0, 564, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_7aiohttp_12_http_parser_HttpResponseParser) < 0) __PYX_ERR(0, 564, __pyx_L1_error) + __pyx_ptype_7aiohttp_12_http_parser_HttpResponseParser = &__pyx_type_7aiohttp_12_http_parser_HttpResponseParser; + if (PyType_Ready(&__pyx_type_7aiohttp_12_http_parser___pyx_scope_struct____repr__) < 0) __PYX_ERR(0, 118, __pyx_L1_error) + __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct____repr__.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_7aiohttp_12_http_parser___pyx_scope_struct____repr__.tp_dictoffset && __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct____repr__.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct____repr__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; + } + __pyx_ptype_7aiohttp_12_http_parser___pyx_scope_struct____repr__ = &__pyx_type_7aiohttp_12_http_parser___pyx_scope_struct____repr__; + if (PyType_Ready(&__pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr) < 0) __PYX_ERR(0, 130, __pyx_L1_error) + __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr.tp_dictoffset && __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; + } + __pyx_ptype_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr = &__pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_1_genexpr; + if (PyType_Ready(&__pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__) < 0) __PYX_ERR(0, 216, __pyx_L1_error) + __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__.tp_dictoffset && __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; + } + __pyx_ptype_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__ = &__pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_2___repr__; + if (PyType_Ready(&__pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr) < 0) __PYX_ERR(0, 227, __pyx_L1_error) + __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr.tp_dictoffset && __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; + } + __pyx_ptype_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr = &__pyx_type_7aiohttp_12_http_parser___pyx_scope_struct_3_genexpr; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", + #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 + sizeof(PyTypeObject), + #else + sizeof(PyHeapTypeObject), + #endif + __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_4bool_bool = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "bool", sizeof(PyBoolObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_4bool_bool) __PYX_ERR(3, 8, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_7complex_complex = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "complex", sizeof(PyComplexObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_7complex_complex) __PYX_ERR(4, 15, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#if PY_MAJOR_VERSION < 3 +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC void +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#else +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC init_http_parser(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC init_http_parser(void) +#else +__Pyx_PyMODINIT_FUNC PyInit__http_parser(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit__http_parser(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec__http_parser(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + PyObject *__pyx_t_21 = NULL; + PyObject *__pyx_t_22 = NULL; + PyObject *__pyx_t_23 = NULL; + PyObject *__pyx_t_24 = NULL; + PyObject *__pyx_t_25 = NULL; + PyObject *__pyx_t_26 = NULL; + PyObject *__pyx_t_27 = NULL; + PyObject *__pyx_t_28 = NULL; + PyObject *__pyx_t_29 = NULL; + PyObject *__pyx_t_30 = NULL; + PyObject *__pyx_t_31 = NULL; + PyObject *__pyx_t_32 = NULL; + PyObject *__pyx_t_33 = NULL; + PyObject *__pyx_t_34 = NULL; + PyObject *__pyx_t_35 = NULL; + PyObject *__pyx_t_36 = NULL; + PyObject *__pyx_t_37 = NULL; + PyObject *__pyx_t_38 = NULL; + PyObject *__pyx_t_39 = NULL; + PyObject *__pyx_t_40 = NULL; + PyObject *__pyx_t_41 = NULL; + PyObject *__pyx_t_42 = NULL; + PyObject *__pyx_t_43 = NULL; + PyObject *__pyx_t_44 = NULL; + PyObject *__pyx_t_45 = NULL; + PyObject *__pyx_t_46 = NULL; + PyObject *__pyx_t_47 = NULL; + PyObject *__pyx_t_48 = NULL; + PyObject *__pyx_t_49 = NULL; + PyObject *__pyx_t_50 = NULL; + PyObject *__pyx_t_51 = NULL; + PyObject *__pyx_t_52 = NULL; + PyObject *__pyx_t_53 = NULL; + PyObject *__pyx_t_54 = NULL; + PyObject *__pyx_t_55 = NULL; + PyObject *__pyx_t_56 = NULL; + PyObject *__pyx_t_57 = NULL; + PyObject *__pyx_t_58 = NULL; + PyObject *__pyx_t_59 = NULL; + PyObject *__pyx_t_60 = NULL; + PyObject *__pyx_t_61 = NULL; + PyObject *__pyx_t_62 = NULL; + PyObject *__pyx_t_63 = NULL; + PyObject *__pyx_t_64 = NULL; + PyObject *__pyx_t_65 = NULL; + PyObject *__pyx_t_66 = NULL; + PyObject *__pyx_t_67 = NULL; + PyObject *__pyx_t_68 = NULL; + PyObject *__pyx_t_69 = NULL; + PyObject *__pyx_t_70 = NULL; + PyObject *__pyx_t_71 = NULL; + PyObject *__pyx_t_72 = NULL; + PyObject *__pyx_t_73 = NULL; + PyObject *__pyx_t_74 = NULL; + PyObject *__pyx_t_75 = NULL; + PyObject *__pyx_t_76 = NULL; + PyObject *__pyx_t_77 = NULL; + PyObject *__pyx_t_78 = NULL; + PyObject *__pyx_t_79 = NULL; + long __pyx_t_80; + enum http_method __pyx_t_81; + char const *__pyx_t_82; + int __pyx_t_83; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module '_http_parser' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #if CYTHON_REFNANNY +__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); +if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); +} +#endif + __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit__http_parser(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + #ifdef WITH_THREAD /* Python build with threading support? */ + PyEval_InitThreads(); + #endif + #endif + /*--- Module creation code ---*/ + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("_http_parser", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + #if CYTHON_COMPILING_IN_PYPY + Py_INCREF(__pyx_b); + #endif + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main_aiohttp___http_parser) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "aiohttp._http_parser")) { + if (unlikely(PyDict_SetItemString(modules, "aiohttp._http_parser", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Global type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + if (unlikely(__Pyx_modinit_type_init_code() != 0)) goto __pyx_L1_error; + if (unlikely(__Pyx_modinit_type_import_code() != 0)) goto __pyx_L1_error; + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_function_import_code(); + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + + /* "aiohttp/_http_parser.pyx":11 + * Py_buffer, PyBytes_AsString, PyBytes_AsStringAndSize) + * + * from multidict import (CIMultiDict as _CIMultiDict, # <<<<<<<<<<<<<< + * CIMultiDictProxy as _CIMultiDictProxy) + * from yarl import URL as _URL + */ + __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_CIMultiDict); + __Pyx_GIVEREF(__pyx_n_s_CIMultiDict); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_CIMultiDict); + __Pyx_INCREF(__pyx_n_s_CIMultiDictProxy); + __Pyx_GIVEREF(__pyx_n_s_CIMultiDictProxy); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_CIMultiDictProxy); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_multidict, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_CIMultiDict); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_CIMultiDict_2, __pyx_t_1) < 0) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_CIMultiDictProxy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_CIMultiDictProxy_2, __pyx_t_1) < 0) __PYX_ERR(0, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":13 + * from multidict import (CIMultiDict as _CIMultiDict, + * CIMultiDictProxy as _CIMultiDictProxy) + * from yarl import URL as _URL # <<<<<<<<<<<<<< + * + * from aiohttp import hdrs + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_URL); + __Pyx_GIVEREF(__pyx_n_s_URL); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_URL); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_yarl, __pyx_t_2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_URL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_URL_2, __pyx_t_2) < 0) __PYX_ERR(0, 13, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":15 + * from yarl import URL as _URL + * + * from aiohttp import hdrs # <<<<<<<<<<<<<< + * from .http_exceptions import ( + * BadHttpMessage, BadStatusLine, InvalidHeader, LineTooLong, InvalidURLError, + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_hdrs); + __Pyx_GIVEREF(__pyx_n_s_hdrs); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_hdrs); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiohttp, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_hdrs, __pyx_t_1) < 0) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":17 + * from aiohttp import hdrs + * from .http_exceptions import ( + * BadHttpMessage, BadStatusLine, InvalidHeader, LineTooLong, InvalidURLError, # <<<<<<<<<<<<<< + * PayloadEncodingError, ContentLengthError, TransferEncodingError) + * from .http_writer import (HttpVersion as _HttpVersion, + */ + __pyx_t_2 = PyList_New(8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_BadHttpMessage); + __Pyx_GIVEREF(__pyx_n_s_BadHttpMessage); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_BadHttpMessage); + __Pyx_INCREF(__pyx_n_s_BadStatusLine); + __Pyx_GIVEREF(__pyx_n_s_BadStatusLine); + PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_BadStatusLine); + __Pyx_INCREF(__pyx_n_s_InvalidHeader); + __Pyx_GIVEREF(__pyx_n_s_InvalidHeader); + PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_InvalidHeader); + __Pyx_INCREF(__pyx_n_s_LineTooLong); + __Pyx_GIVEREF(__pyx_n_s_LineTooLong); + PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_LineTooLong); + __Pyx_INCREF(__pyx_n_s_InvalidURLError); + __Pyx_GIVEREF(__pyx_n_s_InvalidURLError); + PyList_SET_ITEM(__pyx_t_2, 4, __pyx_n_s_InvalidURLError); + __Pyx_INCREF(__pyx_n_s_PayloadEncodingError); + __Pyx_GIVEREF(__pyx_n_s_PayloadEncodingError); + PyList_SET_ITEM(__pyx_t_2, 5, __pyx_n_s_PayloadEncodingError); + __Pyx_INCREF(__pyx_n_s_ContentLengthError); + __Pyx_GIVEREF(__pyx_n_s_ContentLengthError); + PyList_SET_ITEM(__pyx_t_2, 6, __pyx_n_s_ContentLengthError); + __Pyx_INCREF(__pyx_n_s_TransferEncodingError); + __Pyx_GIVEREF(__pyx_n_s_TransferEncodingError); + PyList_SET_ITEM(__pyx_t_2, 7, __pyx_n_s_TransferEncodingError); + + /* "aiohttp/_http_parser.pyx":16 + * + * from aiohttp import hdrs + * from .http_exceptions import ( # <<<<<<<<<<<<<< + * BadHttpMessage, BadStatusLine, InvalidHeader, LineTooLong, InvalidURLError, + * PayloadEncodingError, ContentLengthError, TransferEncodingError) + */ + __pyx_t_1 = __Pyx_Import(__pyx_n_s_http_exceptions, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_BadHttpMessage); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_BadHttpMessage, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_BadStatusLine); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_BadStatusLine, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_InvalidHeader); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_InvalidHeader, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_LineTooLong); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_LineTooLong, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_InvalidURLError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_InvalidURLError, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_PayloadEncodingError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_PayloadEncodingError, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_ContentLengthError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ContentLengthError, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_TransferEncodingError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_TransferEncodingError, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":19 + * BadHttpMessage, BadStatusLine, InvalidHeader, LineTooLong, InvalidURLError, + * PayloadEncodingError, ContentLengthError, TransferEncodingError) + * from .http_writer import (HttpVersion as _HttpVersion, # <<<<<<<<<<<<<< + * HttpVersion10 as _HttpVersion10, + * HttpVersion11 as _HttpVersion11) + */ + __pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_HttpVersion); + __Pyx_GIVEREF(__pyx_n_s_HttpVersion); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_HttpVersion); + __Pyx_INCREF(__pyx_n_s_HttpVersion10); + __Pyx_GIVEREF(__pyx_n_s_HttpVersion10); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_HttpVersion10); + __Pyx_INCREF(__pyx_n_s_HttpVersion11); + __Pyx_GIVEREF(__pyx_n_s_HttpVersion11); + PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_HttpVersion11); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_http_writer, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_HttpVersion); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_HttpVersion_2, __pyx_t_1) < 0) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_HttpVersion10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_HttpVersion10_2, __pyx_t_1) < 0) __PYX_ERR(0, 20, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_HttpVersion11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_HttpVersion11_2, __pyx_t_1) < 0) __PYX_ERR(0, 21, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_http_parser.pyx":22 + * HttpVersion10 as _HttpVersion10, + * HttpVersion11 as _HttpVersion11) + * from .http_parser import DeflateBuffer as _DeflateBuffer # <<<<<<<<<<<<<< + * from .streams import (EMPTY_PAYLOAD as _EMPTY_PAYLOAD, + * StreamReader as _StreamReader) + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_DeflateBuffer); + __Pyx_GIVEREF(__pyx_n_s_DeflateBuffer); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_DeflateBuffer); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_http_parser, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_DeflateBuffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_DeflateBuffer_2, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":23 + * HttpVersion11 as _HttpVersion11) + * from .http_parser import DeflateBuffer as _DeflateBuffer + * from .streams import (EMPTY_PAYLOAD as _EMPTY_PAYLOAD, # <<<<<<<<<<<<<< + * StreamReader as _StreamReader) + * + */ + __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_EMPTY_PAYLOAD); + __Pyx_GIVEREF(__pyx_n_s_EMPTY_PAYLOAD); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_EMPTY_PAYLOAD); + __Pyx_INCREF(__pyx_n_s_StreamReader); + __Pyx_GIVEREF(__pyx_n_s_StreamReader); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_StreamReader); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_streams, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_EMPTY_PAYLOAD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_EMPTY_PAYLOAD_2, __pyx_t_1) < 0) __PYX_ERR(0, 23, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_StreamReader); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_StreamReader_2, __pyx_t_1) < 0) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_headers.pxi":4 + * # Run ./tools/gen.py to update it after the origin changing. + * + * from . import hdrs # <<<<<<<<<<<<<< + * cdef tuple headers = ( + * hdrs.ACCEPT, + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_hdrs); + __Pyx_GIVEREF(__pyx_n_s_hdrs); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_hdrs); + __pyx_t_1 = __Pyx_Import(__pyx_n_s__4, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_hdrs, __pyx_t_2) < 0) __PYX_ERR(5, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":6 + * from . import hdrs + * cdef tuple headers = ( + * hdrs.ACCEPT, # <<<<<<<<<<<<<< + * hdrs.ACCEPT_CHARSET, + * hdrs.ACCEPT_ENCODING, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ACCEPT); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":7 + * cdef tuple headers = ( + * hdrs.ACCEPT, + * hdrs.ACCEPT_CHARSET, # <<<<<<<<<<<<<< + * hdrs.ACCEPT_ENCODING, + * hdrs.ACCEPT_LANGUAGE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ACCEPT_CHARSET); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":8 + * hdrs.ACCEPT, + * hdrs.ACCEPT_CHARSET, + * hdrs.ACCEPT_ENCODING, # <<<<<<<<<<<<<< + * hdrs.ACCEPT_LANGUAGE, + * hdrs.ACCEPT_RANGES, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ACCEPT_ENCODING); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":9 + * hdrs.ACCEPT_CHARSET, + * hdrs.ACCEPT_ENCODING, + * hdrs.ACCEPT_LANGUAGE, # <<<<<<<<<<<<<< + * hdrs.ACCEPT_RANGES, + * hdrs.ACCESS_CONTROL_ALLOW_CREDENTIALS, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ACCEPT_LANGUAGE); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":10 + * hdrs.ACCEPT_ENCODING, + * hdrs.ACCEPT_LANGUAGE, + * hdrs.ACCEPT_RANGES, # <<<<<<<<<<<<<< + * hdrs.ACCESS_CONTROL_ALLOW_CREDENTIALS, + * hdrs.ACCESS_CONTROL_ALLOW_HEADERS, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ACCEPT_RANGES); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":11 + * hdrs.ACCEPT_LANGUAGE, + * hdrs.ACCEPT_RANGES, + * hdrs.ACCESS_CONTROL_ALLOW_CREDENTIALS, # <<<<<<<<<<<<<< + * hdrs.ACCESS_CONTROL_ALLOW_HEADERS, + * hdrs.ACCESS_CONTROL_ALLOW_METHODS, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ACCESS_CONTROL_ALLOW_CREDENTIALS); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":12 + * hdrs.ACCEPT_RANGES, + * hdrs.ACCESS_CONTROL_ALLOW_CREDENTIALS, + * hdrs.ACCESS_CONTROL_ALLOW_HEADERS, # <<<<<<<<<<<<<< + * hdrs.ACCESS_CONTROL_ALLOW_METHODS, + * hdrs.ACCESS_CONTROL_ALLOW_ORIGIN, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ACCESS_CONTROL_ALLOW_HEADERS); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":13 + * hdrs.ACCESS_CONTROL_ALLOW_CREDENTIALS, + * hdrs.ACCESS_CONTROL_ALLOW_HEADERS, + * hdrs.ACCESS_CONTROL_ALLOW_METHODS, # <<<<<<<<<<<<<< + * hdrs.ACCESS_CONTROL_ALLOW_ORIGIN, + * hdrs.ACCESS_CONTROL_EXPOSE_HEADERS, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ACCESS_CONTROL_ALLOW_METHODS); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":14 + * hdrs.ACCESS_CONTROL_ALLOW_HEADERS, + * hdrs.ACCESS_CONTROL_ALLOW_METHODS, + * hdrs.ACCESS_CONTROL_ALLOW_ORIGIN, # <<<<<<<<<<<<<< + * hdrs.ACCESS_CONTROL_EXPOSE_HEADERS, + * hdrs.ACCESS_CONTROL_MAX_AGE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ACCESS_CONTROL_ALLOW_ORIGIN); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":15 + * hdrs.ACCESS_CONTROL_ALLOW_METHODS, + * hdrs.ACCESS_CONTROL_ALLOW_ORIGIN, + * hdrs.ACCESS_CONTROL_EXPOSE_HEADERS, # <<<<<<<<<<<<<< + * hdrs.ACCESS_CONTROL_MAX_AGE, + * hdrs.ACCESS_CONTROL_REQUEST_HEADERS, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ACCESS_CONTROL_EXPOSE_HEADERS); if (unlikely(!__pyx_t_11)) __PYX_ERR(5, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":16 + * hdrs.ACCESS_CONTROL_ALLOW_ORIGIN, + * hdrs.ACCESS_CONTROL_EXPOSE_HEADERS, + * hdrs.ACCESS_CONTROL_MAX_AGE, # <<<<<<<<<<<<<< + * hdrs.ACCESS_CONTROL_REQUEST_HEADERS, + * hdrs.ACCESS_CONTROL_REQUEST_METHOD, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ACCESS_CONTROL_MAX_AGE); if (unlikely(!__pyx_t_12)) __PYX_ERR(5, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":17 + * hdrs.ACCESS_CONTROL_EXPOSE_HEADERS, + * hdrs.ACCESS_CONTROL_MAX_AGE, + * hdrs.ACCESS_CONTROL_REQUEST_HEADERS, # <<<<<<<<<<<<<< + * hdrs.ACCESS_CONTROL_REQUEST_METHOD, + * hdrs.AGE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ACCESS_CONTROL_REQUEST_HEADERS); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":18 + * hdrs.ACCESS_CONTROL_MAX_AGE, + * hdrs.ACCESS_CONTROL_REQUEST_HEADERS, + * hdrs.ACCESS_CONTROL_REQUEST_METHOD, # <<<<<<<<<<<<<< + * hdrs.AGE, + * hdrs.ALLOW, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 18, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ACCESS_CONTROL_REQUEST_METHOD); if (unlikely(!__pyx_t_14)) __PYX_ERR(5, 18, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":19 + * hdrs.ACCESS_CONTROL_REQUEST_HEADERS, + * hdrs.ACCESS_CONTROL_REQUEST_METHOD, + * hdrs.AGE, # <<<<<<<<<<<<<< + * hdrs.ALLOW, + * hdrs.AUTHORIZATION, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_AGE); if (unlikely(!__pyx_t_15)) __PYX_ERR(5, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":20 + * hdrs.ACCESS_CONTROL_REQUEST_METHOD, + * hdrs.AGE, + * hdrs.ALLOW, # <<<<<<<<<<<<<< + * hdrs.AUTHORIZATION, + * hdrs.CACHE_CONTROL, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 20, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ALLOW); if (unlikely(!__pyx_t_16)) __PYX_ERR(5, 20, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":21 + * hdrs.AGE, + * hdrs.ALLOW, + * hdrs.AUTHORIZATION, # <<<<<<<<<<<<<< + * hdrs.CACHE_CONTROL, + * hdrs.CONNECTION, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 21, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_AUTHORIZATION); if (unlikely(!__pyx_t_17)) __PYX_ERR(5, 21, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":22 + * hdrs.ALLOW, + * hdrs.AUTHORIZATION, + * hdrs.CACHE_CONTROL, # <<<<<<<<<<<<<< + * hdrs.CONNECTION, + * hdrs.CONTENT_DISPOSITION, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_CACHE_CONTROL); if (unlikely(!__pyx_t_18)) __PYX_ERR(5, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":23 + * hdrs.AUTHORIZATION, + * hdrs.CACHE_CONTROL, + * hdrs.CONNECTION, # <<<<<<<<<<<<<< + * hdrs.CONTENT_DISPOSITION, + * hdrs.CONTENT_ENCODING, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 23, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_CONNECTION); if (unlikely(!__pyx_t_19)) __PYX_ERR(5, 23, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":24 + * hdrs.CACHE_CONTROL, + * hdrs.CONNECTION, + * hdrs.CONTENT_DISPOSITION, # <<<<<<<<<<<<<< + * hdrs.CONTENT_ENCODING, + * hdrs.CONTENT_LANGUAGE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_CONTENT_DISPOSITION); if (unlikely(!__pyx_t_20)) __PYX_ERR(5, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_20); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":25 + * hdrs.CONNECTION, + * hdrs.CONTENT_DISPOSITION, + * hdrs.CONTENT_ENCODING, # <<<<<<<<<<<<<< + * hdrs.CONTENT_LANGUAGE, + * hdrs.CONTENT_LENGTH, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 25, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_CONTENT_ENCODING); if (unlikely(!__pyx_t_21)) __PYX_ERR(5, 25, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_21); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":26 + * hdrs.CONTENT_DISPOSITION, + * hdrs.CONTENT_ENCODING, + * hdrs.CONTENT_LANGUAGE, # <<<<<<<<<<<<<< + * hdrs.CONTENT_LENGTH, + * hdrs.CONTENT_LOCATION, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_CONTENT_LANGUAGE); if (unlikely(!__pyx_t_22)) __PYX_ERR(5, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_22); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":27 + * hdrs.CONTENT_ENCODING, + * hdrs.CONTENT_LANGUAGE, + * hdrs.CONTENT_LENGTH, # <<<<<<<<<<<<<< + * hdrs.CONTENT_LOCATION, + * hdrs.CONTENT_MD5, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_CONTENT_LENGTH); if (unlikely(!__pyx_t_23)) __PYX_ERR(5, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_23); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":28 + * hdrs.CONTENT_LANGUAGE, + * hdrs.CONTENT_LENGTH, + * hdrs.CONTENT_LOCATION, # <<<<<<<<<<<<<< + * hdrs.CONTENT_MD5, + * hdrs.CONTENT_RANGE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_CONTENT_LOCATION); if (unlikely(!__pyx_t_24)) __PYX_ERR(5, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_24); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":29 + * hdrs.CONTENT_LENGTH, + * hdrs.CONTENT_LOCATION, + * hdrs.CONTENT_MD5, # <<<<<<<<<<<<<< + * hdrs.CONTENT_RANGE, + * hdrs.CONTENT_TRANSFER_ENCODING, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_CONTENT_MD5); if (unlikely(!__pyx_t_25)) __PYX_ERR(5, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_25); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":30 + * hdrs.CONTENT_LOCATION, + * hdrs.CONTENT_MD5, + * hdrs.CONTENT_RANGE, # <<<<<<<<<<<<<< + * hdrs.CONTENT_TRANSFER_ENCODING, + * hdrs.CONTENT_TYPE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 30, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_CONTENT_RANGE); if (unlikely(!__pyx_t_26)) __PYX_ERR(5, 30, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_26); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":31 + * hdrs.CONTENT_MD5, + * hdrs.CONTENT_RANGE, + * hdrs.CONTENT_TRANSFER_ENCODING, # <<<<<<<<<<<<<< + * hdrs.CONTENT_TYPE, + * hdrs.COOKIE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 31, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_CONTENT_TRANSFER_ENCODING); if (unlikely(!__pyx_t_27)) __PYX_ERR(5, 31, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_27); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":32 + * hdrs.CONTENT_RANGE, + * hdrs.CONTENT_TRANSFER_ENCODING, + * hdrs.CONTENT_TYPE, # <<<<<<<<<<<<<< + * hdrs.COOKIE, + * hdrs.DATE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_28 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_CONTENT_TYPE); if (unlikely(!__pyx_t_28)) __PYX_ERR(5, 32, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_28); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":33 + * hdrs.CONTENT_TRANSFER_ENCODING, + * hdrs.CONTENT_TYPE, + * hdrs.COOKIE, # <<<<<<<<<<<<<< + * hdrs.DATE, + * hdrs.DESTINATION, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 33, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_29 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_COOKIE); if (unlikely(!__pyx_t_29)) __PYX_ERR(5, 33, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_29); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":34 + * hdrs.CONTENT_TYPE, + * hdrs.COOKIE, + * hdrs.DATE, # <<<<<<<<<<<<<< + * hdrs.DESTINATION, + * hdrs.DIGEST, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_30 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_DATE); if (unlikely(!__pyx_t_30)) __PYX_ERR(5, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_30); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":35 + * hdrs.COOKIE, + * hdrs.DATE, + * hdrs.DESTINATION, # <<<<<<<<<<<<<< + * hdrs.DIGEST, + * hdrs.ETAG, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 35, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_DESTINATION); if (unlikely(!__pyx_t_31)) __PYX_ERR(5, 35, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_31); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":36 + * hdrs.DATE, + * hdrs.DESTINATION, + * hdrs.DIGEST, # <<<<<<<<<<<<<< + * hdrs.ETAG, + * hdrs.EXPECT, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_32 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_DIGEST); if (unlikely(!__pyx_t_32)) __PYX_ERR(5, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_32); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":37 + * hdrs.DESTINATION, + * hdrs.DIGEST, + * hdrs.ETAG, # <<<<<<<<<<<<<< + * hdrs.EXPECT, + * hdrs.EXPIRES, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 37, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_33 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ETAG); if (unlikely(!__pyx_t_33)) __PYX_ERR(5, 37, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_33); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":38 + * hdrs.DIGEST, + * hdrs.ETAG, + * hdrs.EXPECT, # <<<<<<<<<<<<<< + * hdrs.EXPIRES, + * hdrs.FORWARDED, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 38, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_34 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_EXPECT); if (unlikely(!__pyx_t_34)) __PYX_ERR(5, 38, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_34); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":39 + * hdrs.ETAG, + * hdrs.EXPECT, + * hdrs.EXPIRES, # <<<<<<<<<<<<<< + * hdrs.FORWARDED, + * hdrs.FROM, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 39, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_35 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_EXPIRES); if (unlikely(!__pyx_t_35)) __PYX_ERR(5, 39, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_35); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":40 + * hdrs.EXPECT, + * hdrs.EXPIRES, + * hdrs.FORWARDED, # <<<<<<<<<<<<<< + * hdrs.FROM, + * hdrs.HOST, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 40, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_FORWARDED); if (unlikely(!__pyx_t_36)) __PYX_ERR(5, 40, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_36); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":41 + * hdrs.EXPIRES, + * hdrs.FORWARDED, + * hdrs.FROM, # <<<<<<<<<<<<<< + * hdrs.HOST, + * hdrs.IF_MATCH, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 41, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_FROM); if (unlikely(!__pyx_t_37)) __PYX_ERR(5, 41, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_37); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":42 + * hdrs.FORWARDED, + * hdrs.FROM, + * hdrs.HOST, # <<<<<<<<<<<<<< + * hdrs.IF_MATCH, + * hdrs.IF_MODIFIED_SINCE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 42, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_38 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_HOST); if (unlikely(!__pyx_t_38)) __PYX_ERR(5, 42, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_38); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":43 + * hdrs.FROM, + * hdrs.HOST, + * hdrs.IF_MATCH, # <<<<<<<<<<<<<< + * hdrs.IF_MODIFIED_SINCE, + * hdrs.IF_NONE_MATCH, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 43, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IF_MATCH); if (unlikely(!__pyx_t_39)) __PYX_ERR(5, 43, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_39); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":44 + * hdrs.HOST, + * hdrs.IF_MATCH, + * hdrs.IF_MODIFIED_SINCE, # <<<<<<<<<<<<<< + * hdrs.IF_NONE_MATCH, + * hdrs.IF_RANGE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 44, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IF_MODIFIED_SINCE); if (unlikely(!__pyx_t_40)) __PYX_ERR(5, 44, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_40); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":45 + * hdrs.IF_MATCH, + * hdrs.IF_MODIFIED_SINCE, + * hdrs.IF_NONE_MATCH, # <<<<<<<<<<<<<< + * hdrs.IF_RANGE, + * hdrs.IF_UNMODIFIED_SINCE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 45, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IF_NONE_MATCH); if (unlikely(!__pyx_t_41)) __PYX_ERR(5, 45, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_41); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":46 + * hdrs.IF_MODIFIED_SINCE, + * hdrs.IF_NONE_MATCH, + * hdrs.IF_RANGE, # <<<<<<<<<<<<<< + * hdrs.IF_UNMODIFIED_SINCE, + * hdrs.KEEP_ALIVE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 46, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_42 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IF_RANGE); if (unlikely(!__pyx_t_42)) __PYX_ERR(5, 46, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_42); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":47 + * hdrs.IF_NONE_MATCH, + * hdrs.IF_RANGE, + * hdrs.IF_UNMODIFIED_SINCE, # <<<<<<<<<<<<<< + * hdrs.KEEP_ALIVE, + * hdrs.LAST_EVENT_ID, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 47, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_43 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IF_UNMODIFIED_SINCE); if (unlikely(!__pyx_t_43)) __PYX_ERR(5, 47, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_43); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":48 + * hdrs.IF_RANGE, + * hdrs.IF_UNMODIFIED_SINCE, + * hdrs.KEEP_ALIVE, # <<<<<<<<<<<<<< + * hdrs.LAST_EVENT_ID, + * hdrs.LAST_MODIFIED, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 48, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_44 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_KEEP_ALIVE); if (unlikely(!__pyx_t_44)) __PYX_ERR(5, 48, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_44); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":49 + * hdrs.IF_UNMODIFIED_SINCE, + * hdrs.KEEP_ALIVE, + * hdrs.LAST_EVENT_ID, # <<<<<<<<<<<<<< + * hdrs.LAST_MODIFIED, + * hdrs.LINK, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 49, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_45 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_LAST_EVENT_ID); if (unlikely(!__pyx_t_45)) __PYX_ERR(5, 49, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_45); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":50 + * hdrs.KEEP_ALIVE, + * hdrs.LAST_EVENT_ID, + * hdrs.LAST_MODIFIED, # <<<<<<<<<<<<<< + * hdrs.LINK, + * hdrs.LOCATION, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 50, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_46 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_LAST_MODIFIED); if (unlikely(!__pyx_t_46)) __PYX_ERR(5, 50, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_46); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":51 + * hdrs.LAST_EVENT_ID, + * hdrs.LAST_MODIFIED, + * hdrs.LINK, # <<<<<<<<<<<<<< + * hdrs.LOCATION, + * hdrs.MAX_FORWARDS, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 51, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_47 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_LINK); if (unlikely(!__pyx_t_47)) __PYX_ERR(5, 51, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_47); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":52 + * hdrs.LAST_MODIFIED, + * hdrs.LINK, + * hdrs.LOCATION, # <<<<<<<<<<<<<< + * hdrs.MAX_FORWARDS, + * hdrs.ORIGIN, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_48 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_LOCATION); if (unlikely(!__pyx_t_48)) __PYX_ERR(5, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_48); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":53 + * hdrs.LINK, + * hdrs.LOCATION, + * hdrs.MAX_FORWARDS, # <<<<<<<<<<<<<< + * hdrs.ORIGIN, + * hdrs.PRAGMA, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 53, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_49 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_MAX_FORWARDS); if (unlikely(!__pyx_t_49)) __PYX_ERR(5, 53, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_49); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":54 + * hdrs.LOCATION, + * hdrs.MAX_FORWARDS, + * hdrs.ORIGIN, # <<<<<<<<<<<<<< + * hdrs.PRAGMA, + * hdrs.PROXY_AUTHENTICATE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 54, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_50 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ORIGIN); if (unlikely(!__pyx_t_50)) __PYX_ERR(5, 54, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_50); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":55 + * hdrs.MAX_FORWARDS, + * hdrs.ORIGIN, + * hdrs.PRAGMA, # <<<<<<<<<<<<<< + * hdrs.PROXY_AUTHENTICATE, + * hdrs.PROXY_AUTHORIZATION, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 55, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_51 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_PRAGMA); if (unlikely(!__pyx_t_51)) __PYX_ERR(5, 55, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_51); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":56 + * hdrs.ORIGIN, + * hdrs.PRAGMA, + * hdrs.PROXY_AUTHENTICATE, # <<<<<<<<<<<<<< + * hdrs.PROXY_AUTHORIZATION, + * hdrs.RANGE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 56, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_52 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_PROXY_AUTHENTICATE); if (unlikely(!__pyx_t_52)) __PYX_ERR(5, 56, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_52); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":57 + * hdrs.PRAGMA, + * hdrs.PROXY_AUTHENTICATE, + * hdrs.PROXY_AUTHORIZATION, # <<<<<<<<<<<<<< + * hdrs.RANGE, + * hdrs.REFERER, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_53 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_PROXY_AUTHORIZATION); if (unlikely(!__pyx_t_53)) __PYX_ERR(5, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_53); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":58 + * hdrs.PROXY_AUTHENTICATE, + * hdrs.PROXY_AUTHORIZATION, + * hdrs.RANGE, # <<<<<<<<<<<<<< + * hdrs.REFERER, + * hdrs.RETRY_AFTER, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 58, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_54 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_RANGE); if (unlikely(!__pyx_t_54)) __PYX_ERR(5, 58, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_54); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":59 + * hdrs.PROXY_AUTHORIZATION, + * hdrs.RANGE, + * hdrs.REFERER, # <<<<<<<<<<<<<< + * hdrs.RETRY_AFTER, + * hdrs.SEC_WEBSOCKET_ACCEPT, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_55 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_REFERER); if (unlikely(!__pyx_t_55)) __PYX_ERR(5, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_55); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":60 + * hdrs.RANGE, + * hdrs.REFERER, + * hdrs.RETRY_AFTER, # <<<<<<<<<<<<<< + * hdrs.SEC_WEBSOCKET_ACCEPT, + * hdrs.SEC_WEBSOCKET_EXTENSIONS, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 60, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_56 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_RETRY_AFTER); if (unlikely(!__pyx_t_56)) __PYX_ERR(5, 60, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_56); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":61 + * hdrs.REFERER, + * hdrs.RETRY_AFTER, + * hdrs.SEC_WEBSOCKET_ACCEPT, # <<<<<<<<<<<<<< + * hdrs.SEC_WEBSOCKET_EXTENSIONS, + * hdrs.SEC_WEBSOCKET_KEY, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 61, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_57 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_SEC_WEBSOCKET_ACCEPT); if (unlikely(!__pyx_t_57)) __PYX_ERR(5, 61, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_57); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":62 + * hdrs.RETRY_AFTER, + * hdrs.SEC_WEBSOCKET_ACCEPT, + * hdrs.SEC_WEBSOCKET_EXTENSIONS, # <<<<<<<<<<<<<< + * hdrs.SEC_WEBSOCKET_KEY, + * hdrs.SEC_WEBSOCKET_KEY1, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 62, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_SEC_WEBSOCKET_EXTENSIONS); if (unlikely(!__pyx_t_58)) __PYX_ERR(5, 62, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_58); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":63 + * hdrs.SEC_WEBSOCKET_ACCEPT, + * hdrs.SEC_WEBSOCKET_EXTENSIONS, + * hdrs.SEC_WEBSOCKET_KEY, # <<<<<<<<<<<<<< + * hdrs.SEC_WEBSOCKET_KEY1, + * hdrs.SEC_WEBSOCKET_PROTOCOL, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 63, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_59 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_SEC_WEBSOCKET_KEY); if (unlikely(!__pyx_t_59)) __PYX_ERR(5, 63, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_59); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":64 + * hdrs.SEC_WEBSOCKET_EXTENSIONS, + * hdrs.SEC_WEBSOCKET_KEY, + * hdrs.SEC_WEBSOCKET_KEY1, # <<<<<<<<<<<<<< + * hdrs.SEC_WEBSOCKET_PROTOCOL, + * hdrs.SEC_WEBSOCKET_VERSION, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_60 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_SEC_WEBSOCKET_KEY1); if (unlikely(!__pyx_t_60)) __PYX_ERR(5, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_60); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":65 + * hdrs.SEC_WEBSOCKET_KEY, + * hdrs.SEC_WEBSOCKET_KEY1, + * hdrs.SEC_WEBSOCKET_PROTOCOL, # <<<<<<<<<<<<<< + * hdrs.SEC_WEBSOCKET_VERSION, + * hdrs.SERVER, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 65, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_61 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_SEC_WEBSOCKET_PROTOCOL); if (unlikely(!__pyx_t_61)) __PYX_ERR(5, 65, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_61); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":66 + * hdrs.SEC_WEBSOCKET_KEY1, + * hdrs.SEC_WEBSOCKET_PROTOCOL, + * hdrs.SEC_WEBSOCKET_VERSION, # <<<<<<<<<<<<<< + * hdrs.SERVER, + * hdrs.SET_COOKIE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 66, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_62 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_SEC_WEBSOCKET_VERSION); if (unlikely(!__pyx_t_62)) __PYX_ERR(5, 66, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_62); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":67 + * hdrs.SEC_WEBSOCKET_PROTOCOL, + * hdrs.SEC_WEBSOCKET_VERSION, + * hdrs.SERVER, # <<<<<<<<<<<<<< + * hdrs.SET_COOKIE, + * hdrs.TE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 67, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_63 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_SERVER); if (unlikely(!__pyx_t_63)) __PYX_ERR(5, 67, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_63); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":68 + * hdrs.SEC_WEBSOCKET_VERSION, + * hdrs.SERVER, + * hdrs.SET_COOKIE, # <<<<<<<<<<<<<< + * hdrs.TE, + * hdrs.TRAILER, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_64 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_SET_COOKIE); if (unlikely(!__pyx_t_64)) __PYX_ERR(5, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_64); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":69 + * hdrs.SERVER, + * hdrs.SET_COOKIE, + * hdrs.TE, # <<<<<<<<<<<<<< + * hdrs.TRAILER, + * hdrs.TRANSFER_ENCODING, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_65 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_TE); if (unlikely(!__pyx_t_65)) __PYX_ERR(5, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_65); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":70 + * hdrs.SET_COOKIE, + * hdrs.TE, + * hdrs.TRAILER, # <<<<<<<<<<<<<< + * hdrs.TRANSFER_ENCODING, + * hdrs.UPGRADE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 70, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_66 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_TRAILER); if (unlikely(!__pyx_t_66)) __PYX_ERR(5, 70, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_66); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":71 + * hdrs.TE, + * hdrs.TRAILER, + * hdrs.TRANSFER_ENCODING, # <<<<<<<<<<<<<< + * hdrs.UPGRADE, + * hdrs.URI, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 71, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_67 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_TRANSFER_ENCODING); if (unlikely(!__pyx_t_67)) __PYX_ERR(5, 71, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_67); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":72 + * hdrs.TRAILER, + * hdrs.TRANSFER_ENCODING, + * hdrs.UPGRADE, # <<<<<<<<<<<<<< + * hdrs.URI, + * hdrs.USER_AGENT, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 72, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_68 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_UPGRADE); if (unlikely(!__pyx_t_68)) __PYX_ERR(5, 72, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_68); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":73 + * hdrs.TRANSFER_ENCODING, + * hdrs.UPGRADE, + * hdrs.URI, # <<<<<<<<<<<<<< + * hdrs.USER_AGENT, + * hdrs.VARY, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 73, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_69 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_URI); if (unlikely(!__pyx_t_69)) __PYX_ERR(5, 73, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_69); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":74 + * hdrs.UPGRADE, + * hdrs.URI, + * hdrs.USER_AGENT, # <<<<<<<<<<<<<< + * hdrs.VARY, + * hdrs.VIA, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 74, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_70 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_USER_AGENT); if (unlikely(!__pyx_t_70)) __PYX_ERR(5, 74, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_70); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":75 + * hdrs.URI, + * hdrs.USER_AGENT, + * hdrs.VARY, # <<<<<<<<<<<<<< + * hdrs.VIA, + * hdrs.WANT_DIGEST, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 75, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_71 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_VARY); if (unlikely(!__pyx_t_71)) __PYX_ERR(5, 75, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_71); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":76 + * hdrs.USER_AGENT, + * hdrs.VARY, + * hdrs.VIA, # <<<<<<<<<<<<<< + * hdrs.WANT_DIGEST, + * hdrs.WARNING, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 76, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_72 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_VIA); if (unlikely(!__pyx_t_72)) __PYX_ERR(5, 76, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_72); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":77 + * hdrs.VARY, + * hdrs.VIA, + * hdrs.WANT_DIGEST, # <<<<<<<<<<<<<< + * hdrs.WARNING, + * hdrs.WEBSOCKET, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_73 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_WANT_DIGEST); if (unlikely(!__pyx_t_73)) __PYX_ERR(5, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_73); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":78 + * hdrs.VIA, + * hdrs.WANT_DIGEST, + * hdrs.WARNING, # <<<<<<<<<<<<<< + * hdrs.WEBSOCKET, + * hdrs.WWW_AUTHENTICATE, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 78, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_74 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_WARNING); if (unlikely(!__pyx_t_74)) __PYX_ERR(5, 78, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_74); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":79 + * hdrs.WANT_DIGEST, + * hdrs.WARNING, + * hdrs.WEBSOCKET, # <<<<<<<<<<<<<< + * hdrs.WWW_AUTHENTICATE, + * hdrs.X_FORWARDED_FOR, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 79, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_75 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_WEBSOCKET); if (unlikely(!__pyx_t_75)) __PYX_ERR(5, 79, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_75); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":80 + * hdrs.WARNING, + * hdrs.WEBSOCKET, + * hdrs.WWW_AUTHENTICATE, # <<<<<<<<<<<<<< + * hdrs.X_FORWARDED_FOR, + * hdrs.X_FORWARDED_HOST, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 80, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_76 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_WWW_AUTHENTICATE); if (unlikely(!__pyx_t_76)) __PYX_ERR(5, 80, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_76); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":81 + * hdrs.WEBSOCKET, + * hdrs.WWW_AUTHENTICATE, + * hdrs.X_FORWARDED_FOR, # <<<<<<<<<<<<<< + * hdrs.X_FORWARDED_HOST, + * hdrs.X_FORWARDED_PROTO, + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 81, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_77 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_X_FORWARDED_FOR); if (unlikely(!__pyx_t_77)) __PYX_ERR(5, 81, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_77); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":82 + * hdrs.WWW_AUTHENTICATE, + * hdrs.X_FORWARDED_FOR, + * hdrs.X_FORWARDED_HOST, # <<<<<<<<<<<<<< + * hdrs.X_FORWARDED_PROTO, + * ) + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_78 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_X_FORWARDED_HOST); if (unlikely(!__pyx_t_78)) __PYX_ERR(5, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_78); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":83 + * hdrs.X_FORWARDED_FOR, + * hdrs.X_FORWARDED_HOST, + * hdrs.X_FORWARDED_PROTO, # <<<<<<<<<<<<<< + * ) + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 83, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_79 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_X_FORWARDED_PROTO); if (unlikely(!__pyx_t_79)) __PYX_ERR(5, 83, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_79); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_headers.pxi":6 + * from . import hdrs + * cdef tuple headers = ( + * hdrs.ACCEPT, # <<<<<<<<<<<<<< + * hdrs.ACCEPT_CHARSET, + * hdrs.ACCEPT_ENCODING, + */ + __pyx_t_1 = PyTuple_New(78); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_1, 6, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_1, 7, __pyx_t_9); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_1, 8, __pyx_t_10); + __Pyx_GIVEREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_1, 9, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_1, 10, __pyx_t_12); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_1, 11, __pyx_t_13); + __Pyx_GIVEREF(__pyx_t_14); + PyTuple_SET_ITEM(__pyx_t_1, 12, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_1, 13, __pyx_t_15); + __Pyx_GIVEREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_1, 14, __pyx_t_16); + __Pyx_GIVEREF(__pyx_t_17); + PyTuple_SET_ITEM(__pyx_t_1, 15, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_1, 16, __pyx_t_18); + __Pyx_GIVEREF(__pyx_t_19); + PyTuple_SET_ITEM(__pyx_t_1, 17, __pyx_t_19); + __Pyx_GIVEREF(__pyx_t_20); + PyTuple_SET_ITEM(__pyx_t_1, 18, __pyx_t_20); + __Pyx_GIVEREF(__pyx_t_21); + PyTuple_SET_ITEM(__pyx_t_1, 19, __pyx_t_21); + __Pyx_GIVEREF(__pyx_t_22); + PyTuple_SET_ITEM(__pyx_t_1, 20, __pyx_t_22); + __Pyx_GIVEREF(__pyx_t_23); + PyTuple_SET_ITEM(__pyx_t_1, 21, __pyx_t_23); + __Pyx_GIVEREF(__pyx_t_24); + PyTuple_SET_ITEM(__pyx_t_1, 22, __pyx_t_24); + __Pyx_GIVEREF(__pyx_t_25); + PyTuple_SET_ITEM(__pyx_t_1, 23, __pyx_t_25); + __Pyx_GIVEREF(__pyx_t_26); + PyTuple_SET_ITEM(__pyx_t_1, 24, __pyx_t_26); + __Pyx_GIVEREF(__pyx_t_27); + PyTuple_SET_ITEM(__pyx_t_1, 25, __pyx_t_27); + __Pyx_GIVEREF(__pyx_t_28); + PyTuple_SET_ITEM(__pyx_t_1, 26, __pyx_t_28); + __Pyx_GIVEREF(__pyx_t_29); + PyTuple_SET_ITEM(__pyx_t_1, 27, __pyx_t_29); + __Pyx_GIVEREF(__pyx_t_30); + PyTuple_SET_ITEM(__pyx_t_1, 28, __pyx_t_30); + __Pyx_GIVEREF(__pyx_t_31); + PyTuple_SET_ITEM(__pyx_t_1, 29, __pyx_t_31); + __Pyx_GIVEREF(__pyx_t_32); + PyTuple_SET_ITEM(__pyx_t_1, 30, __pyx_t_32); + __Pyx_GIVEREF(__pyx_t_33); + PyTuple_SET_ITEM(__pyx_t_1, 31, __pyx_t_33); + __Pyx_GIVEREF(__pyx_t_34); + PyTuple_SET_ITEM(__pyx_t_1, 32, __pyx_t_34); + __Pyx_GIVEREF(__pyx_t_35); + PyTuple_SET_ITEM(__pyx_t_1, 33, __pyx_t_35); + __Pyx_GIVEREF(__pyx_t_36); + PyTuple_SET_ITEM(__pyx_t_1, 34, __pyx_t_36); + __Pyx_GIVEREF(__pyx_t_37); + PyTuple_SET_ITEM(__pyx_t_1, 35, __pyx_t_37); + __Pyx_GIVEREF(__pyx_t_38); + PyTuple_SET_ITEM(__pyx_t_1, 36, __pyx_t_38); + __Pyx_GIVEREF(__pyx_t_39); + PyTuple_SET_ITEM(__pyx_t_1, 37, __pyx_t_39); + __Pyx_GIVEREF(__pyx_t_40); + PyTuple_SET_ITEM(__pyx_t_1, 38, __pyx_t_40); + __Pyx_GIVEREF(__pyx_t_41); + PyTuple_SET_ITEM(__pyx_t_1, 39, __pyx_t_41); + __Pyx_GIVEREF(__pyx_t_42); + PyTuple_SET_ITEM(__pyx_t_1, 40, __pyx_t_42); + __Pyx_GIVEREF(__pyx_t_43); + PyTuple_SET_ITEM(__pyx_t_1, 41, __pyx_t_43); + __Pyx_GIVEREF(__pyx_t_44); + PyTuple_SET_ITEM(__pyx_t_1, 42, __pyx_t_44); + __Pyx_GIVEREF(__pyx_t_45); + PyTuple_SET_ITEM(__pyx_t_1, 43, __pyx_t_45); + __Pyx_GIVEREF(__pyx_t_46); + PyTuple_SET_ITEM(__pyx_t_1, 44, __pyx_t_46); + __Pyx_GIVEREF(__pyx_t_47); + PyTuple_SET_ITEM(__pyx_t_1, 45, __pyx_t_47); + __Pyx_GIVEREF(__pyx_t_48); + PyTuple_SET_ITEM(__pyx_t_1, 46, __pyx_t_48); + __Pyx_GIVEREF(__pyx_t_49); + PyTuple_SET_ITEM(__pyx_t_1, 47, __pyx_t_49); + __Pyx_GIVEREF(__pyx_t_50); + PyTuple_SET_ITEM(__pyx_t_1, 48, __pyx_t_50); + __Pyx_GIVEREF(__pyx_t_51); + PyTuple_SET_ITEM(__pyx_t_1, 49, __pyx_t_51); + __Pyx_GIVEREF(__pyx_t_52); + PyTuple_SET_ITEM(__pyx_t_1, 50, __pyx_t_52); + __Pyx_GIVEREF(__pyx_t_53); + PyTuple_SET_ITEM(__pyx_t_1, 51, __pyx_t_53); + __Pyx_GIVEREF(__pyx_t_54); + PyTuple_SET_ITEM(__pyx_t_1, 52, __pyx_t_54); + __Pyx_GIVEREF(__pyx_t_55); + PyTuple_SET_ITEM(__pyx_t_1, 53, __pyx_t_55); + __Pyx_GIVEREF(__pyx_t_56); + PyTuple_SET_ITEM(__pyx_t_1, 54, __pyx_t_56); + __Pyx_GIVEREF(__pyx_t_57); + PyTuple_SET_ITEM(__pyx_t_1, 55, __pyx_t_57); + __Pyx_GIVEREF(__pyx_t_58); + PyTuple_SET_ITEM(__pyx_t_1, 56, __pyx_t_58); + __Pyx_GIVEREF(__pyx_t_59); + PyTuple_SET_ITEM(__pyx_t_1, 57, __pyx_t_59); + __Pyx_GIVEREF(__pyx_t_60); + PyTuple_SET_ITEM(__pyx_t_1, 58, __pyx_t_60); + __Pyx_GIVEREF(__pyx_t_61); + PyTuple_SET_ITEM(__pyx_t_1, 59, __pyx_t_61); + __Pyx_GIVEREF(__pyx_t_62); + PyTuple_SET_ITEM(__pyx_t_1, 60, __pyx_t_62); + __Pyx_GIVEREF(__pyx_t_63); + PyTuple_SET_ITEM(__pyx_t_1, 61, __pyx_t_63); + __Pyx_GIVEREF(__pyx_t_64); + PyTuple_SET_ITEM(__pyx_t_1, 62, __pyx_t_64); + __Pyx_GIVEREF(__pyx_t_65); + PyTuple_SET_ITEM(__pyx_t_1, 63, __pyx_t_65); + __Pyx_GIVEREF(__pyx_t_66); + PyTuple_SET_ITEM(__pyx_t_1, 64, __pyx_t_66); + __Pyx_GIVEREF(__pyx_t_67); + PyTuple_SET_ITEM(__pyx_t_1, 65, __pyx_t_67); + __Pyx_GIVEREF(__pyx_t_68); + PyTuple_SET_ITEM(__pyx_t_1, 66, __pyx_t_68); + __Pyx_GIVEREF(__pyx_t_69); + PyTuple_SET_ITEM(__pyx_t_1, 67, __pyx_t_69); + __Pyx_GIVEREF(__pyx_t_70); + PyTuple_SET_ITEM(__pyx_t_1, 68, __pyx_t_70); + __Pyx_GIVEREF(__pyx_t_71); + PyTuple_SET_ITEM(__pyx_t_1, 69, __pyx_t_71); + __Pyx_GIVEREF(__pyx_t_72); + PyTuple_SET_ITEM(__pyx_t_1, 70, __pyx_t_72); + __Pyx_GIVEREF(__pyx_t_73); + PyTuple_SET_ITEM(__pyx_t_1, 71, __pyx_t_73); + __Pyx_GIVEREF(__pyx_t_74); + PyTuple_SET_ITEM(__pyx_t_1, 72, __pyx_t_74); + __Pyx_GIVEREF(__pyx_t_75); + PyTuple_SET_ITEM(__pyx_t_1, 73, __pyx_t_75); + __Pyx_GIVEREF(__pyx_t_76); + PyTuple_SET_ITEM(__pyx_t_1, 74, __pyx_t_76); + __Pyx_GIVEREF(__pyx_t_77); + PyTuple_SET_ITEM(__pyx_t_1, 75, __pyx_t_77); + __Pyx_GIVEREF(__pyx_t_78); + PyTuple_SET_ITEM(__pyx_t_1, 76, __pyx_t_78); + __Pyx_GIVEREF(__pyx_t_79); + PyTuple_SET_ITEM(__pyx_t_1, 77, __pyx_t_79); + __pyx_t_2 = 0; + __pyx_t_3 = 0; + __pyx_t_4 = 0; + __pyx_t_5 = 0; + __pyx_t_6 = 0; + __pyx_t_7 = 0; + __pyx_t_8 = 0; + __pyx_t_9 = 0; + __pyx_t_10 = 0; + __pyx_t_11 = 0; + __pyx_t_12 = 0; + __pyx_t_13 = 0; + __pyx_t_14 = 0; + __pyx_t_15 = 0; + __pyx_t_16 = 0; + __pyx_t_17 = 0; + __pyx_t_18 = 0; + __pyx_t_19 = 0; + __pyx_t_20 = 0; + __pyx_t_21 = 0; + __pyx_t_22 = 0; + __pyx_t_23 = 0; + __pyx_t_24 = 0; + __pyx_t_25 = 0; + __pyx_t_26 = 0; + __pyx_t_27 = 0; + __pyx_t_28 = 0; + __pyx_t_29 = 0; + __pyx_t_30 = 0; + __pyx_t_31 = 0; + __pyx_t_32 = 0; + __pyx_t_33 = 0; + __pyx_t_34 = 0; + __pyx_t_35 = 0; + __pyx_t_36 = 0; + __pyx_t_37 = 0; + __pyx_t_38 = 0; + __pyx_t_39 = 0; + __pyx_t_40 = 0; + __pyx_t_41 = 0; + __pyx_t_42 = 0; + __pyx_t_43 = 0; + __pyx_t_44 = 0; + __pyx_t_45 = 0; + __pyx_t_46 = 0; + __pyx_t_47 = 0; + __pyx_t_48 = 0; + __pyx_t_49 = 0; + __pyx_t_50 = 0; + __pyx_t_51 = 0; + __pyx_t_52 = 0; + __pyx_t_53 = 0; + __pyx_t_54 = 0; + __pyx_t_55 = 0; + __pyx_t_56 = 0; + __pyx_t_57 = 0; + __pyx_t_58 = 0; + __pyx_t_59 = 0; + __pyx_t_60 = 0; + __pyx_t_61 = 0; + __pyx_t_62 = 0; + __pyx_t_63 = 0; + __pyx_t_64 = 0; + __pyx_t_65 = 0; + __pyx_t_66 = 0; + __pyx_t_67 = 0; + __pyx_t_68 = 0; + __pyx_t_69 = 0; + __pyx_t_70 = 0; + __pyx_t_71 = 0; + __pyx_t_72 = 0; + __pyx_t_73 = 0; + __pyx_t_74 = 0; + __pyx_t_75 = 0; + __pyx_t_76 = 0; + __pyx_t_77 = 0; + __pyx_t_78 = 0; + __pyx_t_79 = 0; + __Pyx_XGOTREF(__pyx_v_7aiohttp_12_http_parser_headers); + __Pyx_DECREF_SET(__pyx_v_7aiohttp_12_http_parser_headers, ((PyObject*)__pyx_t_1)); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":40 + * char* PyByteArray_AsString(object) + * + * __all__ = ('HttpRequestParser', 'HttpResponseParser', # <<<<<<<<<<<<<< + * 'RawRequestMessage', 'RawResponseMessage') + * + */ + if (PyDict_SetItem(__pyx_d, __pyx_n_s_all, __pyx_tuple__12) < 0) __PYX_ERR(0, 40, __pyx_L1_error) + + /* "aiohttp/_http_parser.pyx":43 + * 'RawRequestMessage', 'RawResponseMessage') + * + * cdef object URL = _URL # <<<<<<<<<<<<<< + * cdef object URL_build = URL.build + * cdef object CIMultiDict = _CIMultiDict + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_URL_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_v_7aiohttp_12_http_parser_URL); + __Pyx_DECREF_SET(__pyx_v_7aiohttp_12_http_parser_URL, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":44 + * + * cdef object URL = _URL + * cdef object URL_build = URL.build # <<<<<<<<<<<<<< + * cdef object CIMultiDict = _CIMultiDict + * cdef object CIMultiDictProxy = _CIMultiDictProxy + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_7aiohttp_12_http_parser_URL, __pyx_n_s_build); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_v_7aiohttp_12_http_parser_URL_build); + __Pyx_DECREF_SET(__pyx_v_7aiohttp_12_http_parser_URL_build, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":45 + * cdef object URL = _URL + * cdef object URL_build = URL.build + * cdef object CIMultiDict = _CIMultiDict # <<<<<<<<<<<<<< + * cdef object CIMultiDictProxy = _CIMultiDictProxy + * cdef object HttpVersion = _HttpVersion + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CIMultiDict_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_v_7aiohttp_12_http_parser_CIMultiDict); + __Pyx_DECREF_SET(__pyx_v_7aiohttp_12_http_parser_CIMultiDict, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":46 + * cdef object URL_build = URL.build + * cdef object CIMultiDict = _CIMultiDict + * cdef object CIMultiDictProxy = _CIMultiDictProxy # <<<<<<<<<<<<<< + * cdef object HttpVersion = _HttpVersion + * cdef object HttpVersion10 = _HttpVersion10 + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CIMultiDictProxy_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_v_7aiohttp_12_http_parser_CIMultiDictProxy); + __Pyx_DECREF_SET(__pyx_v_7aiohttp_12_http_parser_CIMultiDictProxy, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":47 + * cdef object CIMultiDict = _CIMultiDict + * cdef object CIMultiDictProxy = _CIMultiDictProxy + * cdef object HttpVersion = _HttpVersion # <<<<<<<<<<<<<< + * cdef object HttpVersion10 = _HttpVersion10 + * cdef object HttpVersion11 = _HttpVersion11 + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_HttpVersion_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_v_7aiohttp_12_http_parser_HttpVersion); + __Pyx_DECREF_SET(__pyx_v_7aiohttp_12_http_parser_HttpVersion, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":48 + * cdef object CIMultiDictProxy = _CIMultiDictProxy + * cdef object HttpVersion = _HttpVersion + * cdef object HttpVersion10 = _HttpVersion10 # <<<<<<<<<<<<<< + * cdef object HttpVersion11 = _HttpVersion11 + * cdef object SEC_WEBSOCKET_KEY1 = hdrs.SEC_WEBSOCKET_KEY1 + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_HttpVersion10_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_v_7aiohttp_12_http_parser_HttpVersion10); + __Pyx_DECREF_SET(__pyx_v_7aiohttp_12_http_parser_HttpVersion10, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":49 + * cdef object HttpVersion = _HttpVersion + * cdef object HttpVersion10 = _HttpVersion10 + * cdef object HttpVersion11 = _HttpVersion11 # <<<<<<<<<<<<<< + * cdef object SEC_WEBSOCKET_KEY1 = hdrs.SEC_WEBSOCKET_KEY1 + * cdef object CONTENT_ENCODING = hdrs.CONTENT_ENCODING + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_HttpVersion11_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 49, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_v_7aiohttp_12_http_parser_HttpVersion11); + __Pyx_DECREF_SET(__pyx_v_7aiohttp_12_http_parser_HttpVersion11, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":50 + * cdef object HttpVersion10 = _HttpVersion10 + * cdef object HttpVersion11 = _HttpVersion11 + * cdef object SEC_WEBSOCKET_KEY1 = hdrs.SEC_WEBSOCKET_KEY1 # <<<<<<<<<<<<<< + * cdef object CONTENT_ENCODING = hdrs.CONTENT_ENCODING + * cdef object EMPTY_PAYLOAD = _EMPTY_PAYLOAD + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_79 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_SEC_WEBSOCKET_KEY1); if (unlikely(!__pyx_t_79)) __PYX_ERR(0, 50, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_79); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XGOTREF(__pyx_v_7aiohttp_12_http_parser_SEC_WEBSOCKET_KEY1); + __Pyx_DECREF_SET(__pyx_v_7aiohttp_12_http_parser_SEC_WEBSOCKET_KEY1, __pyx_t_79); + __Pyx_GIVEREF(__pyx_t_79); + __pyx_t_79 = 0; + + /* "aiohttp/_http_parser.pyx":51 + * cdef object HttpVersion11 = _HttpVersion11 + * cdef object SEC_WEBSOCKET_KEY1 = hdrs.SEC_WEBSOCKET_KEY1 + * cdef object CONTENT_ENCODING = hdrs.CONTENT_ENCODING # <<<<<<<<<<<<<< + * cdef object EMPTY_PAYLOAD = _EMPTY_PAYLOAD + * cdef object StreamReader = _StreamReader + */ + __Pyx_GetModuleGlobalName(__pyx_t_79, __pyx_n_s_hdrs); if (unlikely(!__pyx_t_79)) __PYX_ERR(0, 51, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_79); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_79, __pyx_n_s_CONTENT_ENCODING); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 51, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_79); __pyx_t_79 = 0; + __Pyx_XGOTREF(__pyx_v_7aiohttp_12_http_parser_CONTENT_ENCODING); + __Pyx_DECREF_SET(__pyx_v_7aiohttp_12_http_parser_CONTENT_ENCODING, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":52 + * cdef object SEC_WEBSOCKET_KEY1 = hdrs.SEC_WEBSOCKET_KEY1 + * cdef object CONTENT_ENCODING = hdrs.CONTENT_ENCODING + * cdef object EMPTY_PAYLOAD = _EMPTY_PAYLOAD # <<<<<<<<<<<<<< + * cdef object StreamReader = _StreamReader + * cdef object DeflateBuffer = _DeflateBuffer + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_EMPTY_PAYLOAD_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_v_7aiohttp_12_http_parser_EMPTY_PAYLOAD); + __Pyx_DECREF_SET(__pyx_v_7aiohttp_12_http_parser_EMPTY_PAYLOAD, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":53 + * cdef object CONTENT_ENCODING = hdrs.CONTENT_ENCODING + * cdef object EMPTY_PAYLOAD = _EMPTY_PAYLOAD + * cdef object StreamReader = _StreamReader # <<<<<<<<<<<<<< + * cdef object DeflateBuffer = _DeflateBuffer + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_StreamReader_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_v_7aiohttp_12_http_parser_StreamReader); + __Pyx_DECREF_SET(__pyx_v_7aiohttp_12_http_parser_StreamReader, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":54 + * cdef object EMPTY_PAYLOAD = _EMPTY_PAYLOAD + * cdef object StreamReader = _StreamReader + * cdef object DeflateBuffer = _DeflateBuffer # <<<<<<<<<<<<<< + * + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_DeflateBuffer_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_v_7aiohttp_12_http_parser_DeflateBuffer); + __Pyx_DECREF_SET(__pyx_v_7aiohttp_12_http_parser_DeflateBuffer, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":68 + * DEF METHODS_COUNT = 34; + * + * cdef list _http_method = [] # <<<<<<<<<<<<<< + * + * for i in range(METHODS_COUNT): + */ + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_v_7aiohttp_12_http_parser__http_method); + __Pyx_DECREF_SET(__pyx_v_7aiohttp_12_http_parser__http_method, ((PyObject*)__pyx_t_1)); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":70 + * cdef list _http_method = [] + * + * for i in range(METHODS_COUNT): # <<<<<<<<<<<<<< + * _http_method.append( + * cparser.http_method_str(<cparser.http_method> i).decode('ascii')) + */ + for (__pyx_t_80 = 0; __pyx_t_80 < 34; __pyx_t_80+=1) { + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_t_80); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 70, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_i, __pyx_t_1) < 0) __PYX_ERR(0, 70, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":71 + * + * for i in range(METHODS_COUNT): + * _http_method.append( # <<<<<<<<<<<<<< + * cparser.http_method_str(<cparser.http_method> i).decode('ascii')) + * + */ + if (unlikely(__pyx_v_7aiohttp_12_http_parser__http_method == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); + __PYX_ERR(0, 71, __pyx_L1_error) + } + + /* "aiohttp/_http_parser.pyx":72 + * for i in range(METHODS_COUNT): + * _http_method.append( + * cparser.http_method_str(<cparser.http_method> i).decode('ascii')) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_81 = ((enum http_method)__Pyx_PyInt_As_enum__http_method(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 72, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_82 = http_method_str(((enum http_method)__pyx_t_81)); + __pyx_t_1 = __Pyx_decode_c_string(__pyx_t_82, 0, strlen(__pyx_t_82), NULL, NULL, PyUnicode_DecodeASCII); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + + /* "aiohttp/_http_parser.pyx":71 + * + * for i in range(METHODS_COUNT): + * _http_method.append( # <<<<<<<<<<<<<< + * cparser.http_method_str(<cparser.http_method> i).decode('ascii')) + * + */ + __pyx_t_83 = __Pyx_PyList_Append(__pyx_v_7aiohttp_12_http_parser__http_method, __pyx_t_1); if (unlikely(__pyx_t_83 == ((int)-1))) __PYX_ERR(0, 71, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + + /* "aiohttp/_http_parser.pyx":755 + * + * + * def parse_url(url): # <<<<<<<<<<<<<< + * cdef: + * Py_buffer py_buf + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7aiohttp_12_http_parser_1parse_url, NULL, __pyx_n_s_aiohttp__http_parser); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 755, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_parse_url, __pyx_t_1) < 0) __PYX_ERR(0, 755, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_RawRequestMessage(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7aiohttp_12_http_parser_3__pyx_unpickle_RawRequestMessage, NULL, __pyx_n_s_aiohttp__http_parser); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_RawRequestMessage, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":11 + * __pyx_unpickle_RawRequestMessage__set_state(<RawRequestMessage> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_RawRequestMessage__set_state(RawRequestMessage __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.chunked = __pyx_state[0]; __pyx_result.compression = __pyx_state[1]; __pyx_result.headers = __pyx_state[2]; __pyx_result.method = __pyx_state[3]; __pyx_result.path = __pyx_state[4]; __pyx_result.raw_headers = __pyx_state[5]; __pyx_result.should_close = __pyx_state[6]; __pyx_result.upgrade = __pyx_state[7]; __pyx_result.url = __pyx_state[8]; __pyx_result.version = __pyx_state[9] + * if len(__pyx_state) > 10 and hasattr(__pyx_result, '__dict__'): + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7aiohttp_12_http_parser_5__pyx_unpickle_RawResponseMessage, NULL, __pyx_n_s_aiohttp__http_parser); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_RawResponseMessag, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_parser.pyx":1 + * #cython: language_level=3 # <<<<<<<<<<<<<< + * # + * # Based on https://github.com/MagicStack/httptools + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_19); + __Pyx_XDECREF(__pyx_t_20); + __Pyx_XDECREF(__pyx_t_21); + __Pyx_XDECREF(__pyx_t_22); + __Pyx_XDECREF(__pyx_t_23); + __Pyx_XDECREF(__pyx_t_24); + __Pyx_XDECREF(__pyx_t_25); + __Pyx_XDECREF(__pyx_t_26); + __Pyx_XDECREF(__pyx_t_27); + __Pyx_XDECREF(__pyx_t_28); + __Pyx_XDECREF(__pyx_t_29); + __Pyx_XDECREF(__pyx_t_30); + __Pyx_XDECREF(__pyx_t_31); + __Pyx_XDECREF(__pyx_t_32); + __Pyx_XDECREF(__pyx_t_33); + __Pyx_XDECREF(__pyx_t_34); + __Pyx_XDECREF(__pyx_t_35); + __Pyx_XDECREF(__pyx_t_36); + __Pyx_XDECREF(__pyx_t_37); + __Pyx_XDECREF(__pyx_t_38); + __Pyx_XDECREF(__pyx_t_39); + __Pyx_XDECREF(__pyx_t_40); + __Pyx_XDECREF(__pyx_t_41); + __Pyx_XDECREF(__pyx_t_42); + __Pyx_XDECREF(__pyx_t_43); + __Pyx_XDECREF(__pyx_t_44); + __Pyx_XDECREF(__pyx_t_45); + __Pyx_XDECREF(__pyx_t_46); + __Pyx_XDECREF(__pyx_t_47); + __Pyx_XDECREF(__pyx_t_48); + __Pyx_XDECREF(__pyx_t_49); + __Pyx_XDECREF(__pyx_t_50); + __Pyx_XDECREF(__pyx_t_51); + __Pyx_XDECREF(__pyx_t_52); + __Pyx_XDECREF(__pyx_t_53); + __Pyx_XDECREF(__pyx_t_54); + __Pyx_XDECREF(__pyx_t_55); + __Pyx_XDECREF(__pyx_t_56); + __Pyx_XDECREF(__pyx_t_57); + __Pyx_XDECREF(__pyx_t_58); + __Pyx_XDECREF(__pyx_t_59); + __Pyx_XDECREF(__pyx_t_60); + __Pyx_XDECREF(__pyx_t_61); + __Pyx_XDECREF(__pyx_t_62); + __Pyx_XDECREF(__pyx_t_63); + __Pyx_XDECREF(__pyx_t_64); + __Pyx_XDECREF(__pyx_t_65); + __Pyx_XDECREF(__pyx_t_66); + __Pyx_XDECREF(__pyx_t_67); + __Pyx_XDECREF(__pyx_t_68); + __Pyx_XDECREF(__pyx_t_69); + __Pyx_XDECREF(__pyx_t_70); + __Pyx_XDECREF(__pyx_t_71); + __Pyx_XDECREF(__pyx_t_72); + __Pyx_XDECREF(__pyx_t_73); + __Pyx_XDECREF(__pyx_t_74); + __Pyx_XDECREF(__pyx_t_75); + __Pyx_XDECREF(__pyx_t_76); + __Pyx_XDECREF(__pyx_t_77); + __Pyx_XDECREF(__pyx_t_78); + __Pyx_XDECREF(__pyx_t_79); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init aiohttp._http_parser", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init aiohttp._http_parser"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* GetItemInt */ +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyList_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyTuple_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return NULL; + PyErr_Clear(); + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +} + +/* decode_c_bytes */ +static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes( + const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop, + const char* encoding, const char* errors, + PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) { + if (unlikely((start < 0) | (stop < 0))) { + if (start < 0) { + start += length; + if (start < 0) + start = 0; + } + if (stop < 0) + stop += length; + } + if (stop > length) + stop = length; + length = stop - start; + if (unlikely(length <= 0)) + return PyUnicode_FromUnicode(NULL, 0); + cstring += start; + if (decode_func) { + return decode_func(cstring, length, errors); + } else { + return PyUnicode_Decode(cstring, length, encoding, errors); + } +} + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* None */ +static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) { + PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname); +} + +/* RaiseTooManyValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { + PyErr_Format(PyExc_ValueError, + "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); +} + +/* RaiseNeedMoreValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { + PyErr_Format(PyExc_ValueError, + "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", + index, (index == 1) ? "" : "s"); +} + +/* IterFinish */ +static CYTHON_INLINE int __Pyx_IterFinish(void) { +#if CYTHON_FAST_THREAD_STATE + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* exc_type = tstate->curexc_type; + if (unlikely(exc_type)) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) { + PyObject *exc_value, *exc_tb; + exc_value = tstate->curexc_value; + exc_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; + Py_DECREF(exc_type); + Py_XDECREF(exc_value); + Py_XDECREF(exc_tb); + return 0; + } else { + return -1; + } + } + return 0; +#else + if (unlikely(PyErr_Occurred())) { + if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) { + PyErr_Clear(); + return 0; + } else { + return -1; + } + } + return 0; +#endif +} + +/* UnpackItemEndCheck */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { + if (unlikely(retval)) { + Py_DECREF(retval); + __Pyx_RaiseTooManyValuesError(expected); + return -1; + } else { + return __Pyx_IterFinish(); + } + return 0; +} + +/* KeywordStringCheck */ +static int __Pyx_CheckKeywordStrings( + PyObject *kwdict, + const char* function_name, + int kw_allowed) +{ + PyObject* key = 0; + Py_ssize_t pos = 0; +#if CYTHON_COMPILING_IN_PYPY + if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0)) + goto invalid_keyword; + return 1; +#else + while (PyDict_Next(kwdict, &pos, &key, 0)) { + #if PY_MAJOR_VERSION < 3 + if (unlikely(!PyString_Check(key))) + #endif + if (unlikely(!PyUnicode_Check(key))) + goto invalid_keyword_type; + } + if ((!kw_allowed) && unlikely(key)) + goto invalid_keyword; + return 1; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + return 0; +#endif +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif + return 0; +} + +/* ExtTypeTest */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + if (likely(__Pyx_TypeCheck(obj, type))) + return 1; + PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", + Py_TYPE(obj)->tp_name, type->tp_name); + return 0; +} + +/* DictGetItem */ +#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY +static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { + PyObject *value; + value = PyDict_GetItemWithError(d, key); + if (unlikely(!value)) { + if (!PyErr_Occurred()) { + if (unlikely(PyTuple_Check(key))) { + PyObject* args = PyTuple_Pack(1, key); + if (likely(args)) { + PyErr_SetObject(PyExc_KeyError, args); + Py_DECREF(args); + } + } else { + PyErr_SetObject(PyExc_KeyError, key); + } + } + return NULL; + } + Py_INCREF(value); + return value; +} +#endif + +/* PyErrExceptionMatches */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i<n; i++) { + if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1; + } +#endif + for (i=0; i<n; i++) { + if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1; + } + return 0; +} +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) { + PyObject *exc_type = tstate->curexc_type; + if (exc_type == err) return 1; + if (unlikely(!exc_type)) return 0; + if (unlikely(PyTuple_Check(err))) + return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); + return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); +} +#endif + +/* PyErrFetchRestore */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* GetAttr */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) { +#if CYTHON_USE_TYPE_SLOTS +#if PY_MAJOR_VERSION >= 3 + if (likely(PyUnicode_Check(n))) +#else + if (likely(PyString_Check(n))) +#endif + return __Pyx_PyObject_GetAttrStr(o, n); +#endif + return PyObject_GetAttr(o, n); +} + +/* GetAttr3 */ +static PyObject *__Pyx_GetAttr3Default(PyObject *d) { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) + return NULL; + __Pyx_PyErr_Clear(); + Py_INCREF(d); + return d; +} +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) { + PyObject *r = __Pyx_GetAttr(o, n); + return (likely(r)) ? r : __Pyx_GetAttr3Default(d); +} + +/* GetModuleGlobalName */ +#if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* PyFunctionFastCall */ +#if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCall */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = func->ob_type->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallMethO */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallNoArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, NULL, 0); + } +#endif +#ifdef __Pyx_CyFunction_USED + if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) +#else + if (likely(PyCFunction_Check(func))) +#endif + { + if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { + return __Pyx_PyObject_CallMethO(func, NULL); + } + } + return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); +} +#endif + +/* PyCFunctionFastCall */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyObjectCallOneArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* PyObjectCall2Args */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { + PyObject *args, *result = NULL; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyFunction_FastCall(function, args, 2); + } + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyCFunction_FastCall(function, args, 2); + } + #endif + args = PyTuple_New(2); + if (unlikely(!args)) goto done; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + Py_INCREF(function); + result = __Pyx_PyObject_Call(function, args, NULL); + Py_DECREF(args); + Py_DECREF(function); +done: + return result; +} + +/* RaiseException */ +#if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* BytesEquals */ +static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { +#if CYTHON_COMPILING_IN_PYPY + return PyObject_RichCompareBool(s1, s2, equals); +#else + if (s1 == s2) { + return (equals == Py_EQ); + } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { + const char *ps1, *ps2; + Py_ssize_t length = PyBytes_GET_SIZE(s1); + if (length != PyBytes_GET_SIZE(s2)) + return (equals == Py_NE); + ps1 = PyBytes_AS_STRING(s1); + ps2 = PyBytes_AS_STRING(s2); + if (ps1[0] != ps2[0]) { + return (equals == Py_NE); + } else if (length == 1) { + return (equals == Py_EQ); + } else { + int result; +#if CYTHON_USE_UNICODE_INTERNALS + Py_hash_t hash1, hash2; + hash1 = ((PyBytesObject*)s1)->ob_shash; + hash2 = ((PyBytesObject*)s2)->ob_shash; + if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { + return (equals == Py_NE); + } +#endif + result = memcmp(ps1, ps2, (size_t)length); + return (equals == Py_EQ) ? (result == 0) : (result != 0); + } + } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { + return (equals == Py_NE); + } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { + return (equals == Py_NE); + } else { + int result; + PyObject* py_result = PyObject_RichCompare(s1, s2, equals); + if (!py_result) + return -1; + result = __Pyx_PyObject_IsTrue(py_result); + Py_DECREF(py_result); + return result; + } +#endif +} + +/* UnicodeEquals */ +static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { +#if CYTHON_COMPILING_IN_PYPY + return PyObject_RichCompareBool(s1, s2, equals); +#else +#if PY_MAJOR_VERSION < 3 + PyObject* owned_ref = NULL; +#endif + int s1_is_unicode, s2_is_unicode; + if (s1 == s2) { + goto return_eq; + } + s1_is_unicode = PyUnicode_CheckExact(s1); + s2_is_unicode = PyUnicode_CheckExact(s2); +#if PY_MAJOR_VERSION < 3 + if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { + owned_ref = PyUnicode_FromObject(s2); + if (unlikely(!owned_ref)) + return -1; + s2 = owned_ref; + s2_is_unicode = 1; + } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { + owned_ref = PyUnicode_FromObject(s1); + if (unlikely(!owned_ref)) + return -1; + s1 = owned_ref; + s1_is_unicode = 1; + } else if (((!s2_is_unicode) & (!s1_is_unicode))) { + return __Pyx_PyBytes_Equals(s1, s2, equals); + } +#endif + if (s1_is_unicode & s2_is_unicode) { + Py_ssize_t length; + int kind; + void *data1, *data2; + if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) + return -1; + length = __Pyx_PyUnicode_GET_LENGTH(s1); + if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { + goto return_ne; + } +#if CYTHON_USE_UNICODE_INTERNALS + { + Py_hash_t hash1, hash2; + #if CYTHON_PEP393_ENABLED + hash1 = ((PyASCIIObject*)s1)->hash; + hash2 = ((PyASCIIObject*)s2)->hash; + #else + hash1 = ((PyUnicodeObject*)s1)->hash; + hash2 = ((PyUnicodeObject*)s2)->hash; + #endif + if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { + goto return_ne; + } + } +#endif + kind = __Pyx_PyUnicode_KIND(s1); + if (kind != __Pyx_PyUnicode_KIND(s2)) { + goto return_ne; + } + data1 = __Pyx_PyUnicode_DATA(s1); + data2 = __Pyx_PyUnicode_DATA(s2); + if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { + goto return_ne; + } else if (length == 1) { + goto return_eq; + } else { + int result = memcmp(data1, data2, (size_t)(length * kind)); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_EQ) ? (result == 0) : (result != 0); + } + } else if ((s1 == Py_None) & s2_is_unicode) { + goto return_ne; + } else if ((s2 == Py_None) & s1_is_unicode) { + goto return_ne; + } else { + int result; + PyObject* py_result = PyObject_RichCompare(s1, s2, equals); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + if (!py_result) + return -1; + result = __Pyx_PyObject_IsTrue(py_result); + Py_DECREF(py_result); + return result; + } +return_eq: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_EQ); +return_ne: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_NE); +#endif +} + +/* SliceObject */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, + Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, + int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { +#if CYTHON_USE_TYPE_SLOTS + PyMappingMethods* mp; +#if PY_MAJOR_VERSION < 3 + PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; + if (likely(ms && ms->sq_slice)) { + if (!has_cstart) { + if (_py_start && (*_py_start != Py_None)) { + cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); + if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstart = 0; + } + if (!has_cstop) { + if (_py_stop && (*_py_stop != Py_None)) { + cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); + if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstop = PY_SSIZE_T_MAX; + } + if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { + Py_ssize_t l = ms->sq_length(obj); + if (likely(l >= 0)) { + if (cstop < 0) { + cstop += l; + if (cstop < 0) cstop = 0; + } + if (cstart < 0) { + cstart += l; + if (cstart < 0) cstart = 0; + } + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + goto bad; + PyErr_Clear(); + } + } + return ms->sq_slice(obj, cstart, cstop); + } +#endif + mp = Py_TYPE(obj)->tp_as_mapping; + if (likely(mp && mp->mp_subscript)) +#endif + { + PyObject* result; + PyObject *py_slice, *py_start, *py_stop; + if (_py_slice) { + py_slice = *_py_slice; + } else { + PyObject* owned_start = NULL; + PyObject* owned_stop = NULL; + if (_py_start) { + py_start = *_py_start; + } else { + if (has_cstart) { + owned_start = py_start = PyInt_FromSsize_t(cstart); + if (unlikely(!py_start)) goto bad; + } else + py_start = Py_None; + } + if (_py_stop) { + py_stop = *_py_stop; + } else { + if (has_cstop) { + owned_stop = py_stop = PyInt_FromSsize_t(cstop); + if (unlikely(!py_stop)) { + Py_XDECREF(owned_start); + goto bad; + } + } else + py_stop = Py_None; + } + py_slice = PySlice_New(py_start, py_stop, Py_None); + Py_XDECREF(owned_start); + Py_XDECREF(owned_stop); + if (unlikely(!py_slice)) goto bad; + } +#if CYTHON_USE_TYPE_SLOTS + result = mp->mp_subscript(obj, py_slice); +#else + result = PyObject_GetItem(obj, py_slice); +#endif + if (!_py_slice) { + Py_DECREF(py_slice); + } + return result; + } + PyErr_Format(PyExc_TypeError, + "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name); +bad: + return NULL; +} + +/* GetException */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif + return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; +} + +/* SwapException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = *type; + exc_info->exc_value = *value; + exc_info->exc_traceback = *tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = *type; + tstate->exc_value = *value; + tstate->exc_traceback = *tb; + #endif + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); + PyErr_SetExcInfo(*type, *value, *tb); + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#endif + +/* GetTopmostException */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) +{ + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* SaveResetException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* decode_c_string */ +static CYTHON_INLINE PyObject* __Pyx_decode_c_string( + const char* cstring, Py_ssize_t start, Py_ssize_t stop, + const char* encoding, const char* errors, + PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) { + Py_ssize_t length; + if (unlikely((start < 0) | (stop < 0))) { + size_t slen = strlen(cstring); + if (unlikely(slen > (size_t) PY_SSIZE_T_MAX)) { + PyErr_SetString(PyExc_OverflowError, + "c-string too long to convert to Python"); + return NULL; + } + length = (Py_ssize_t) slen; + if (start < 0) { + start += length; + if (start < 0) + start = 0; + } + if (stop < 0) + stop += length; + } + length = stop - start; + if (unlikely(length <= 0)) + return PyUnicode_FromUnicode(NULL, 0); + cstring += start; + if (decode_func) { + return decode_func(cstring, length, errors); + } else { + return PyUnicode_Decode(cstring, length, encoding, errors); + } +} + +/* UnpackUnboundCMethod */ +static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) { + PyObject *method; + method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name); + if (unlikely(!method)) + return -1; + target->method = method; +#if CYTHON_COMPILING_IN_CPYTHON + #if PY_MAJOR_VERSION >= 3 + if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type))) + #endif + { + PyMethodDescrObject *descr = (PyMethodDescrObject*) method; + target->func = descr->d_method->ml_meth; + target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS); + } +#endif + return 0; +} + +/* CallUnboundCMethod1 */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg) { + if (likely(cfunc->func)) { + int flag = cfunc->flag; + if (flag == METH_O) { + return (*(cfunc->func))(self, arg); + } else if (PY_VERSION_HEX >= 0x030600B1 && flag == METH_FASTCALL) { + if (PY_VERSION_HEX >= 0x030700A0) { + return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, &arg, 1); + } else { + return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL); + } + } else if (PY_VERSION_HEX >= 0x030700A0 && flag == (METH_FASTCALL | METH_KEYWORDS)) { + return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL); + } + } + return __Pyx__CallUnboundCMethod1(cfunc, self, arg); +} +#endif +static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg){ + PyObject *args, *result = NULL; + if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; +#if CYTHON_COMPILING_IN_CPYTHON + if (cfunc->func && (cfunc->flag & METH_VARARGS)) { + args = PyTuple_New(1); + if (unlikely(!args)) goto bad; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + if (cfunc->flag & METH_KEYWORDS) + result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL); + else + result = (*cfunc->func)(self, args); + } else { + args = PyTuple_New(2); + if (unlikely(!args)) goto bad; + Py_INCREF(self); + PyTuple_SET_ITEM(args, 0, self); + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 1, arg); + result = __Pyx_PyObject_Call(cfunc->method, args, NULL); + } +#else + args = PyTuple_Pack(2, self, arg); + if (unlikely(!args)) goto bad; + result = __Pyx_PyObject_Call(cfunc->method, args, NULL); +#endif +bad: + Py_XDECREF(args); + return result; +} + +/* Import */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if (strchr(__Pyx_MODULE_NAME, '.')) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* ImportFrom */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { + PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); + if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Format(PyExc_ImportError, + #if PY_MAJOR_VERSION < 3 + "cannot import name %.230s", PyString_AS_STRING(name)); + #else + "cannot import name %S", name); + #endif + } + return value; +} + +/* HasAttr */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) { + PyObject *r; + if (unlikely(!__Pyx_PyBaseString_Check(n))) { + PyErr_SetString(PyExc_TypeError, + "hasattr(): attribute name must be string"); + return -1; + } + r = __Pyx_GetAttr(o, n); + if (unlikely(!r)) { + PyErr_Clear(); + return 0; + } else { + Py_DECREF(r); + return 1; + } +} + +/* PyObject_GenericGetAttrNoDict */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, attr_name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(attr_name)); +#endif + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { + PyObject *descr; + PyTypeObject *tp = Py_TYPE(obj); + if (unlikely(!PyString_Check(attr_name))) { + return PyObject_GenericGetAttr(obj, attr_name); + } + assert(!tp->tp_dictoffset); + descr = _PyType_Lookup(tp, attr_name); + if (unlikely(!descr)) { + return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); + } + Py_INCREF(descr); + #if PY_MAJOR_VERSION < 3 + if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) + #endif + { + descrgetfunc f = Py_TYPE(descr)->tp_descr_get; + if (unlikely(f)) { + PyObject *res = f(descr, obj, (PyObject *)tp); + Py_DECREF(descr); + return res; + } + } + return descr; +} +#endif + +/* PyObject_GenericGetAttr */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) { + if (unlikely(Py_TYPE(obj)->tp_dictoffset)) { + return PyObject_GenericGetAttr(obj, attr_name); + } + return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name); +} +#endif + +/* SetupReduce */ +static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) { + int ret; + PyObject *name_attr; + name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name); + if (likely(name_attr)) { + ret = PyObject_RichCompareBool(name_attr, name, Py_EQ); + } else { + ret = -1; + } + if (unlikely(ret < 0)) { + PyErr_Clear(); + ret = 0; + } + Py_XDECREF(name_attr); + return ret; +} +static int __Pyx_setup_reduce(PyObject* type_obj) { + int ret = 0; + PyObject *object_reduce = NULL; + PyObject *object_reduce_ex = NULL; + PyObject *reduce = NULL; + PyObject *reduce_ex = NULL; + PyObject *reduce_cython = NULL; + PyObject *setstate = NULL; + PyObject *setstate_cython = NULL; +#if CYTHON_USE_PYTYPE_LOOKUP + if (_PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate)) goto GOOD; +#else + if (PyObject_HasAttr(type_obj, __pyx_n_s_getstate)) goto GOOD; +#endif +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD; +#else + object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD; +#endif + reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto BAD; + if (reduce_ex == object_reduce_ex) { +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD; +#else + object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD; +#endif + reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto BAD; + if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) { + reduce_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_cython); if (unlikely(!reduce_cython)) goto BAD; + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto BAD; + setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate); + if (!setstate) PyErr_Clear(); + if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) { + setstate_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate_cython); if (unlikely(!setstate_cython)) goto BAD; + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto BAD; + } + PyType_Modified((PyTypeObject*)type_obj); + } + } + goto GOOD; +BAD: + if (!PyErr_Occurred()) + PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name); + ret = -1; +GOOD: +#if !CYTHON_USE_PYTYPE_LOOKUP + Py_XDECREF(object_reduce); + Py_XDECREF(object_reduce_ex); +#endif + Py_XDECREF(reduce); + Py_XDECREF(reduce_ex); + Py_XDECREF(reduce_cython); + Py_XDECREF(setstate); + Py_XDECREF(setstate_cython); + return ret; +} + +/* SetVTable */ +static int __Pyx_SetVtable(PyObject *dict, void *vtable) { +#if PY_VERSION_HEX >= 0x02070000 + PyObject *ob = PyCapsule_New(vtable, 0, 0); +#else + PyObject *ob = PyCObject_FromVoidPtr(vtable, 0); +#endif + if (!ob) + goto bad; + if (PyDict_SetItem(dict, __pyx_n_s_pyx_vtable, ob) < 0) + goto bad; + Py_DECREF(ob); + return 0; +bad: + Py_XDECREF(ob); + return -1; +} + +/* TypeImport */ +#ifndef __PYX_HAVE_RT_ImportType +#define __PYX_HAVE_RT_ImportType +static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, + size_t size, enum __Pyx_ImportType_CheckSize check_size) +{ + PyObject *result = 0; + char warning[200]; + Py_ssize_t basicsize; +#ifdef Py_LIMITED_API + PyObject *py_basicsize; +#endif + result = PyObject_GetAttrString(module, class_name); + if (!result) + goto bad; + if (!PyType_Check(result)) { + PyErr_Format(PyExc_TypeError, + "%.200s.%.200s is not a type object", + module_name, class_name); + goto bad; + } +#ifndef Py_LIMITED_API + basicsize = ((PyTypeObject *)result)->tp_basicsize; +#else + py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); + if (!py_basicsize) + goto bad; + basicsize = PyLong_AsSsize_t(py_basicsize); + Py_DECREF(py_basicsize); + py_basicsize = 0; + if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; +#endif + if ((size_t)basicsize < size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; + } + return (PyTypeObject *)result; +bad: + Py_XDECREF(result); + return NULL; +} +#endif + +/* CLineInTraceback */ +#ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#endif + +/* CodeObjectCache */ +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ +#include "compile.h" +#include "frameobject.h" +#include "traceback.h" +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyObject *py_srcfile = 0; + PyObject *py_funcname = 0; + #if PY_MAJOR_VERSION < 3 + py_srcfile = PyString_FromString(filename); + #else + py_srcfile = PyUnicode_FromString(filename); + #endif + if (!py_srcfile) goto bad; + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + #else + py_funcname = PyUnicode_FromString(funcname); + #endif + } + if (!py_funcname) goto bad; + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + Py_DECREF(py_funcname); + return py_code; +bad: + Py_XDECREF(py_srcfile); + Py_XDECREF(py_funcname); + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + py_code = __pyx_find_code_object(c_line ? -c_line : py_line); + if (!py_code) { + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) goto bad; + __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); + } + py_frame = PyFrame_New( + tstate, /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { + const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(int) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(int) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(int) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(int), + little, !is_unsigned); + } +} + +/* CIntFromPyVerify */ +#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value) { + const unsigned int neg_one = (unsigned int) ((unsigned int) 0 - (unsigned int) 1), const_zero = (unsigned int) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(unsigned int) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(unsigned int) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(unsigned int) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(unsigned int), + little, !is_unsigned); + } +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_short(unsigned short value) { + const unsigned short neg_one = (unsigned short) ((unsigned short) 0 - (unsigned short) 1), const_zero = (unsigned short) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(unsigned short) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(unsigned short) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(unsigned short) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(unsigned short) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(unsigned short) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(unsigned short), + little, !is_unsigned); + } +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint16_t(uint16_t value) { + const uint16_t neg_one = (uint16_t) ((uint16_t) 0 - (uint16_t) 1), const_zero = (uint16_t) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(uint16_t) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(uint16_t) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint16_t) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(uint16_t) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint16_t) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(uint16_t), + little, !is_unsigned); + } +} + +/* CIntFromPy */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { + const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE enum http_method __Pyx_PyInt_As_enum__http_method(PyObject *x) { + const enum http_method neg_one = (enum http_method) ((enum http_method) 0 - (enum http_method) 1), const_zero = (enum http_method) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(enum http_method) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(enum http_method, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (enum http_method) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (enum http_method) 0; + case 1: __PYX_VERIFY_RETURN_INT(enum http_method, digit, digits[0]) + case 2: + if (8 * sizeof(enum http_method) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(enum http_method, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(enum http_method) >= 2 * PyLong_SHIFT) { + return (enum http_method) (((((enum http_method)digits[1]) << PyLong_SHIFT) | (enum http_method)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(enum http_method) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(enum http_method, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(enum http_method) >= 3 * PyLong_SHIFT) { + return (enum http_method) (((((((enum http_method)digits[2]) << PyLong_SHIFT) | (enum http_method)digits[1]) << PyLong_SHIFT) | (enum http_method)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(enum http_method) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(enum http_method, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(enum http_method) >= 4 * PyLong_SHIFT) { + return (enum http_method) (((((((((enum http_method)digits[3]) << PyLong_SHIFT) | (enum http_method)digits[2]) << PyLong_SHIFT) | (enum http_method)digits[1]) << PyLong_SHIFT) | (enum http_method)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (enum http_method) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(enum http_method) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(enum http_method, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(enum http_method) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(enum http_method, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (enum http_method) 0; + case -1: __PYX_VERIFY_RETURN_INT(enum http_method, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(enum http_method, digit, +digits[0]) + case -2: + if (8 * sizeof(enum http_method) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(enum http_method, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(enum http_method) - 1 > 2 * PyLong_SHIFT) { + return (enum http_method) (((enum http_method)-1)*(((((enum http_method)digits[1]) << PyLong_SHIFT) | (enum http_method)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(enum http_method) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(enum http_method, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(enum http_method) - 1 > 2 * PyLong_SHIFT) { + return (enum http_method) ((((((enum http_method)digits[1]) << PyLong_SHIFT) | (enum http_method)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(enum http_method) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(enum http_method, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(enum http_method) - 1 > 3 * PyLong_SHIFT) { + return (enum http_method) (((enum http_method)-1)*(((((((enum http_method)digits[2]) << PyLong_SHIFT) | (enum http_method)digits[1]) << PyLong_SHIFT) | (enum http_method)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(enum http_method) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(enum http_method, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(enum http_method) - 1 > 3 * PyLong_SHIFT) { + return (enum http_method) ((((((((enum http_method)digits[2]) << PyLong_SHIFT) | (enum http_method)digits[1]) << PyLong_SHIFT) | (enum http_method)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(enum http_method) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(enum http_method, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(enum http_method) - 1 > 4 * PyLong_SHIFT) { + return (enum http_method) (((enum http_method)-1)*(((((((((enum http_method)digits[3]) << PyLong_SHIFT) | (enum http_method)digits[2]) << PyLong_SHIFT) | (enum http_method)digits[1]) << PyLong_SHIFT) | (enum http_method)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(enum http_method) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(enum http_method, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(enum http_method) - 1 > 4 * PyLong_SHIFT) { + return (enum http_method) ((((((((((enum http_method)digits[3]) << PyLong_SHIFT) | (enum http_method)digits[2]) << PyLong_SHIFT) | (enum http_method)digits[1]) << PyLong_SHIFT) | (enum http_method)digits[0]))); + } + } + break; + } +#endif + if (sizeof(enum http_method) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(enum http_method, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(enum http_method) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(enum http_method, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + enum http_method val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (enum http_method) -1; + } + } else { + enum http_method val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (enum http_method) -1; + val = __Pyx_PyInt_As_enum__http_method(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to enum http_method"); + return (enum http_method) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to enum http_method"); + return (enum http_method) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) { + const size_t neg_one = (size_t) ((size_t) 0 - (size_t) 1), const_zero = (size_t) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(size_t) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(size_t, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (size_t) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (size_t) 0; + case 1: __PYX_VERIFY_RETURN_INT(size_t, digit, digits[0]) + case 2: + if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) >= 2 * PyLong_SHIFT) { + return (size_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) >= 3 * PyLong_SHIFT) { + return (size_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) >= 4 * PyLong_SHIFT) { + return (size_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (size_t) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(size_t) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (size_t) 0; + case -1: __PYX_VERIFY_RETURN_INT(size_t, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(size_t, digit, +digits[0]) + case -2: + if (8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { + return (size_t) (((size_t)-1)*(((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { + return (size_t) ((((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { + return (size_t) (((size_t)-1)*(((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { + return (size_t) ((((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) { + return (size_t) (((size_t)-1)*(((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) { + return (size_t) ((((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + } +#endif + if (sizeof(size_t) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(size_t, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(size_t) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(size_t, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + size_t val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (size_t) -1; + } + } else { + size_t val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (size_t) -1; + val = __Pyx_PyInt_As_size_t(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to size_t"); + return (size_t) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to size_t"); + return (size_t) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* FastTypeChecks */ +#if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i<n; i++) { + if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1; + } +#endif + for (i=0; i<n; i++) { + PyObject *t = PyTuple_GET_ITEM(tuple, i); + #if PY_MAJOR_VERSION < 3 + if (likely(exc_type == t)) return 1; + #endif + if (likely(PyExceptionClass_Check(t))) { + if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1; + } else { + } + } + return 0; +} +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) { + if (likely(err == exc_type)) return 1; + if (likely(PyExceptionClass_Check(err))) { + if (likely(PyExceptionClass_Check(exc_type))) { + return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type); + } else if (likely(PyTuple_Check(exc_type))) { + return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type); + } else { + } + } + return PyErr_GivenExceptionMatches(err, exc_type); +} +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) { + assert(PyExceptionClass_Check(exc_type1)); + assert(PyExceptionClass_Check(exc_type2)); + if (likely(err == exc_type1 || err == exc_type2)) return 1; + if (likely(PyExceptionClass_Check(err))) { + return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2); + } + return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2)); +} +#endif + +/* FetchCommonType */ +static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { + PyObject* fake_module; + PyTypeObject* cached_type = NULL; + fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI); + if (!fake_module) return NULL; + Py_INCREF(fake_module); + cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name); + if (cached_type) { + if (!PyType_Check((PyObject*)cached_type)) { + PyErr_Format(PyExc_TypeError, + "Shared Cython type %.200s is not a type object", + type->tp_name); + goto bad; + } + if (cached_type->tp_basicsize != type->tp_basicsize) { + PyErr_Format(PyExc_TypeError, + "Shared Cython type %.200s has the wrong size, try recompiling", + type->tp_name); + goto bad; + } + } else { + if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; + PyErr_Clear(); + if (PyType_Ready(type) < 0) goto bad; + if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0) + goto bad; + Py_INCREF(type); + cached_type = type; + } +done: + Py_DECREF(fake_module); + return cached_type; +bad: + Py_XDECREF(cached_type); + cached_type = NULL; + goto done; +} + +/* PyObjectGetMethod */ +static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { + PyObject *attr; +#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP + PyTypeObject *tp = Py_TYPE(obj); + PyObject *descr; + descrgetfunc f = NULL; + PyObject **dictptr, *dict; + int meth_found = 0; + assert (*method == NULL); + if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { + attr = __Pyx_PyObject_GetAttrStr(obj, name); + goto try_unpack; + } + if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { + return 0; + } + descr = _PyType_Lookup(tp, name); + if (likely(descr != NULL)) { + Py_INCREF(descr); +#if PY_MAJOR_VERSION >= 3 + #ifdef __Pyx_CyFunction_USED + if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) + #else + if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type))) + #endif +#else + #ifdef __Pyx_CyFunction_USED + if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) + #else + if (likely(PyFunction_Check(descr))) + #endif +#endif + { + meth_found = 1; + } else { + f = Py_TYPE(descr)->tp_descr_get; + if (f != NULL && PyDescr_IsData(descr)) { + attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); + Py_DECREF(descr); + goto try_unpack; + } + } + } + dictptr = _PyObject_GetDictPtr(obj); + if (dictptr != NULL && (dict = *dictptr) != NULL) { + Py_INCREF(dict); + attr = __Pyx_PyDict_GetItemStr(dict, name); + if (attr != NULL) { + Py_INCREF(attr); + Py_DECREF(dict); + Py_XDECREF(descr); + goto try_unpack; + } + Py_DECREF(dict); + } + if (meth_found) { + *method = descr; + return 1; + } + if (f != NULL) { + attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); + Py_DECREF(descr); + goto try_unpack; + } + if (descr != NULL) { + *method = descr; + return 0; + } + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(name)); +#endif + return 0; +#else + attr = __Pyx_PyObject_GetAttrStr(obj, name); + goto try_unpack; +#endif +try_unpack: +#if CYTHON_UNPACK_METHODS + if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { + PyObject *function = PyMethod_GET_FUNCTION(attr); + Py_INCREF(function); + Py_DECREF(attr); + *method = function; + return 1; + } +#endif + *method = attr; + return 0; +} + +/* PyObjectCallMethod1 */ +static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) { + PyObject *result = __Pyx_PyObject_CallOneArg(method, arg); + Py_DECREF(method); + return result; +} +static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { + PyObject *method = NULL, *result; + int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); + if (likely(is_method)) { + result = __Pyx_PyObject_Call2Args(method, obj, arg); + Py_DECREF(method); + return result; + } + if (unlikely(!method)) return NULL; + return __Pyx__PyObject_CallMethod1(method, arg); +} + +/* CoroutineBase */ +#include <structmember.h> +#include <frameobject.h> +#define __Pyx_Coroutine_Undelegate(gen) Py_CLEAR((gen)->yieldfrom) +static int __Pyx_PyGen__FetchStopIterationValue(CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject **pvalue) { + PyObject *et, *ev, *tb; + PyObject *value = NULL; + __Pyx_ErrFetch(&et, &ev, &tb); + if (!et) { + Py_XDECREF(tb); + Py_XDECREF(ev); + Py_INCREF(Py_None); + *pvalue = Py_None; + return 0; + } + if (likely(et == PyExc_StopIteration)) { + if (!ev) { + Py_INCREF(Py_None); + value = Py_None; + } +#if PY_VERSION_HEX >= 0x030300A0 + else if (Py_TYPE(ev) == (PyTypeObject*)PyExc_StopIteration) { + value = ((PyStopIterationObject *)ev)->value; + Py_INCREF(value); + Py_DECREF(ev); + } +#endif + else if (unlikely(PyTuple_Check(ev))) { + if (PyTuple_GET_SIZE(ev) >= 1) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + value = PyTuple_GET_ITEM(ev, 0); + Py_INCREF(value); +#else + value = PySequence_ITEM(ev, 0); +#endif + } else { + Py_INCREF(Py_None); + value = Py_None; + } + Py_DECREF(ev); + } + else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) { + value = ev; + } + if (likely(value)) { + Py_XDECREF(tb); + Py_DECREF(et); + *pvalue = value; + return 0; + } + } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) { + __Pyx_ErrRestore(et, ev, tb); + return -1; + } + PyErr_NormalizeException(&et, &ev, &tb); + if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) { + __Pyx_ErrRestore(et, ev, tb); + return -1; + } + Py_XDECREF(tb); + Py_DECREF(et); +#if PY_VERSION_HEX >= 0x030300A0 + value = ((PyStopIterationObject *)ev)->value; + Py_INCREF(value); + Py_DECREF(ev); +#else + { + PyObject* args = __Pyx_PyObject_GetAttrStr(ev, __pyx_n_s_args); + Py_DECREF(ev); + if (likely(args)) { + value = PySequence_GetItem(args, 0); + Py_DECREF(args); + } + if (unlikely(!value)) { + __Pyx_ErrRestore(NULL, NULL, NULL); + Py_INCREF(Py_None); + value = Py_None; + } + } +#endif + *pvalue = value; + return 0; +} +static CYTHON_INLINE +void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) { + PyObject *t, *v, *tb; + t = exc_state->exc_type; + v = exc_state->exc_value; + tb = exc_state->exc_traceback; + exc_state->exc_type = NULL; + exc_state->exc_value = NULL; + exc_state->exc_traceback = NULL; + Py_XDECREF(t); + Py_XDECREF(v); + Py_XDECREF(tb); +} +#define __Pyx_Coroutine_AlreadyRunningError(gen) (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL) +static void __Pyx__Coroutine_AlreadyRunningError(CYTHON_UNUSED __pyx_CoroutineObject *gen) { + const char *msg; + if ((0)) { + #ifdef __Pyx_Coroutine_USED + } else if (__Pyx_Coroutine_Check((PyObject*)gen)) { + msg = "coroutine already executing"; + #endif + #ifdef __Pyx_AsyncGen_USED + } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) { + msg = "async generator already executing"; + #endif + } else { + msg = "generator already executing"; + } + PyErr_SetString(PyExc_ValueError, msg); +} +#define __Pyx_Coroutine_NotStartedError(gen) (__Pyx__Coroutine_NotStartedError(gen), (PyObject*)NULL) +static void __Pyx__Coroutine_NotStartedError(CYTHON_UNUSED PyObject *gen) { + const char *msg; + if ((0)) { + #ifdef __Pyx_Coroutine_USED + } else if (__Pyx_Coroutine_Check(gen)) { + msg = "can't send non-None value to a just-started coroutine"; + #endif + #ifdef __Pyx_AsyncGen_USED + } else if (__Pyx_AsyncGen_CheckExact(gen)) { + msg = "can't send non-None value to a just-started async generator"; + #endif + } else { + msg = "can't send non-None value to a just-started generator"; + } + PyErr_SetString(PyExc_TypeError, msg); +} +#define __Pyx_Coroutine_AlreadyTerminatedError(gen, value, closing) (__Pyx__Coroutine_AlreadyTerminatedError(gen, value, closing), (PyObject*)NULL) +static void __Pyx__Coroutine_AlreadyTerminatedError(CYTHON_UNUSED PyObject *gen, PyObject *value, CYTHON_UNUSED int closing) { + #ifdef __Pyx_Coroutine_USED + if (!closing && __Pyx_Coroutine_Check(gen)) { + PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine"); + } else + #endif + if (value) { + #ifdef __Pyx_AsyncGen_USED + if (__Pyx_AsyncGen_CheckExact(gen)) + PyErr_SetNone(__Pyx_PyExc_StopAsyncIteration); + else + #endif + PyErr_SetNone(PyExc_StopIteration); + } +} +static +PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, int closing) { + __Pyx_PyThreadState_declare + PyThreadState *tstate; + __Pyx_ExcInfoStruct *exc_state; + PyObject *retval; + assert(!self->is_running); + if (unlikely(self->resume_label == 0)) { + if (unlikely(value && value != Py_None)) { + return __Pyx_Coroutine_NotStartedError((PyObject*)self); + } + } + if (unlikely(self->resume_label == -1)) { + return __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing); + } +#if CYTHON_FAST_THREAD_STATE + __Pyx_PyThreadState_assign + tstate = __pyx_tstate; +#else + tstate = __Pyx_PyThreadState_Current; +#endif + exc_state = &self->gi_exc_state; + if (exc_state->exc_type) { + #if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON + #else + if (exc_state->exc_traceback) { + PyTracebackObject *tb = (PyTracebackObject *) exc_state->exc_traceback; + PyFrameObject *f = tb->tb_frame; + Py_XINCREF(tstate->frame); + assert(f->f_back == NULL); + f->f_back = tstate->frame; + } + #endif + } +#if CYTHON_USE_EXC_INFO_STACK + exc_state->previous_item = tstate->exc_info; + tstate->exc_info = exc_state; +#else + if (exc_state->exc_type) { + __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); + } else { + __Pyx_Coroutine_ExceptionClear(exc_state); + __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); + } +#endif + self->is_running = 1; + retval = self->body((PyObject *) self, tstate, value); + self->is_running = 0; +#if CYTHON_USE_EXC_INFO_STACK + exc_state = &self->gi_exc_state; + tstate->exc_info = exc_state->previous_item; + exc_state->previous_item = NULL; + __Pyx_Coroutine_ResetFrameBackpointer(exc_state); +#endif + return retval; +} +static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) { + PyObject *exc_tb = exc_state->exc_traceback; + if (likely(exc_tb)) { +#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON +#else + PyTracebackObject *tb = (PyTracebackObject *) exc_tb; + PyFrameObject *f = tb->tb_frame; + Py_CLEAR(f->f_back); +#endif + } +} +static CYTHON_INLINE +PyObject *__Pyx_Coroutine_MethodReturn(CYTHON_UNUSED PyObject* gen, PyObject *retval) { + if (unlikely(!retval)) { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + if (!__Pyx_PyErr_Occurred()) { + PyObject *exc = PyExc_StopIteration; + #ifdef __Pyx_AsyncGen_USED + if (__Pyx_AsyncGen_CheckExact(gen)) + exc = __Pyx_PyExc_StopAsyncIteration; + #endif + __Pyx_PyErr_SetNone(exc); + } + } + return retval; +} +static CYTHON_INLINE +PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) { + PyObject *ret; + PyObject *val = NULL; + __Pyx_Coroutine_Undelegate(gen); + __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val); + ret = __Pyx_Coroutine_SendEx(gen, val, 0); + Py_XDECREF(val); + return ret; +} +static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) { + PyObject *retval; + __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; + PyObject *yf = gen->yieldfrom; + if (unlikely(gen->is_running)) + return __Pyx_Coroutine_AlreadyRunningError(gen); + if (yf) { + PyObject *ret; + gen->is_running = 1; + #ifdef __Pyx_Generator_USED + if (__Pyx_Generator_CheckExact(yf)) { + ret = __Pyx_Coroutine_Send(yf, value); + } else + #endif + #ifdef __Pyx_Coroutine_USED + if (__Pyx_Coroutine_Check(yf)) { + ret = __Pyx_Coroutine_Send(yf, value); + } else + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_PyAsyncGenASend_CheckExact(yf)) { + ret = __Pyx_async_gen_asend_send(yf, value); + } else + #endif + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) + if (PyGen_CheckExact(yf)) { + ret = _PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); + } else + #endif + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03050000 && defined(PyCoro_CheckExact) && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) + if (PyCoro_CheckExact(yf)) { + ret = _PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); + } else + #endif + { + if (value == Py_None) + ret = Py_TYPE(yf)->tp_iternext(yf); + else + ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value); + } + gen->is_running = 0; + if (likely(ret)) { + return ret; + } + retval = __Pyx_Coroutine_FinishDelegation(gen); + } else { + retval = __Pyx_Coroutine_SendEx(gen, value, 0); + } + return __Pyx_Coroutine_MethodReturn(self, retval); +} +static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) { + PyObject *retval = NULL; + int err = 0; + #ifdef __Pyx_Generator_USED + if (__Pyx_Generator_CheckExact(yf)) { + retval = __Pyx_Coroutine_Close(yf); + if (!retval) + return -1; + } else + #endif + #ifdef __Pyx_Coroutine_USED + if (__Pyx_Coroutine_Check(yf)) { + retval = __Pyx_Coroutine_Close(yf); + if (!retval) + return -1; + } else + if (__Pyx_CoroutineAwait_CheckExact(yf)) { + retval = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf, NULL); + if (!retval) + return -1; + } else + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_PyAsyncGenASend_CheckExact(yf)) { + retval = __Pyx_async_gen_asend_close(yf, NULL); + } else + if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) { + retval = __Pyx_async_gen_athrow_close(yf, NULL); + } else + #endif + { + PyObject *meth; + gen->is_running = 1; + meth = __Pyx_PyObject_GetAttrStr(yf, __pyx_n_s_close); + if (unlikely(!meth)) { + if (!PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_WriteUnraisable(yf); + } + PyErr_Clear(); + } else { + retval = PyObject_CallFunction(meth, NULL); + Py_DECREF(meth); + if (!retval) + err = -1; + } + gen->is_running = 0; + } + Py_XDECREF(retval); + return err; +} +static PyObject *__Pyx_Generator_Next(PyObject *self) { + __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; + PyObject *yf = gen->yieldfrom; + if (unlikely(gen->is_running)) + return __Pyx_Coroutine_AlreadyRunningError(gen); + if (yf) { + PyObject *ret; + gen->is_running = 1; + #ifdef __Pyx_Generator_USED + if (__Pyx_Generator_CheckExact(yf)) { + ret = __Pyx_Generator_Next(yf); + } else + #endif + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) + if (PyGen_CheckExact(yf)) { + ret = _PyGen_Send((PyGenObject*)yf, NULL); + } else + #endif + #ifdef __Pyx_Coroutine_USED + if (__Pyx_Coroutine_Check(yf)) { + ret = __Pyx_Coroutine_Send(yf, Py_None); + } else + #endif + ret = Py_TYPE(yf)->tp_iternext(yf); + gen->is_running = 0; + if (likely(ret)) { + return ret; + } + return __Pyx_Coroutine_FinishDelegation(gen); + } + return __Pyx_Coroutine_SendEx(gen, Py_None, 0); +} +static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, CYTHON_UNUSED PyObject *arg) { + return __Pyx_Coroutine_Close(self); +} +static PyObject *__Pyx_Coroutine_Close(PyObject *self) { + __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; + PyObject *retval, *raised_exception; + PyObject *yf = gen->yieldfrom; + int err = 0; + if (unlikely(gen->is_running)) + return __Pyx_Coroutine_AlreadyRunningError(gen); + if (yf) { + Py_INCREF(yf); + err = __Pyx_Coroutine_CloseIter(gen, yf); + __Pyx_Coroutine_Undelegate(gen); + Py_DECREF(yf); + } + if (err == 0) + PyErr_SetNone(PyExc_GeneratorExit); + retval = __Pyx_Coroutine_SendEx(gen, NULL, 1); + if (unlikely(retval)) { + const char *msg; + Py_DECREF(retval); + if ((0)) { + #ifdef __Pyx_Coroutine_USED + } else if (__Pyx_Coroutine_Check(self)) { + msg = "coroutine ignored GeneratorExit"; + #endif + #ifdef __Pyx_AsyncGen_USED + } else if (__Pyx_AsyncGen_CheckExact(self)) { +#if PY_VERSION_HEX < 0x03060000 + msg = "async generator ignored GeneratorExit - might require Python 3.6+ finalisation (PEP 525)"; +#else + msg = "async generator ignored GeneratorExit"; +#endif + #endif + } else { + msg = "generator ignored GeneratorExit"; + } + PyErr_SetString(PyExc_RuntimeError, msg); + return NULL; + } + raised_exception = PyErr_Occurred(); + if (likely(!raised_exception || __Pyx_PyErr_GivenExceptionMatches2(raised_exception, PyExc_GeneratorExit, PyExc_StopIteration))) { + if (raised_exception) PyErr_Clear(); + Py_INCREF(Py_None); + return Py_None; + } + return NULL; +} +static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb, + PyObject *args, int close_on_genexit) { + __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; + PyObject *yf = gen->yieldfrom; + if (unlikely(gen->is_running)) + return __Pyx_Coroutine_AlreadyRunningError(gen); + if (yf) { + PyObject *ret; + Py_INCREF(yf); + if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) { + int err = __Pyx_Coroutine_CloseIter(gen, yf); + Py_DECREF(yf); + __Pyx_Coroutine_Undelegate(gen); + if (err < 0) + return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); + goto throw_here; + } + gen->is_running = 1; + if (0 + #ifdef __Pyx_Generator_USED + || __Pyx_Generator_CheckExact(yf) + #endif + #ifdef __Pyx_Coroutine_USED + || __Pyx_Coroutine_Check(yf) + #endif + ) { + ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit); + #ifdef __Pyx_Coroutine_USED + } else if (__Pyx_CoroutineAwait_CheckExact(yf)) { + ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit); + #endif + } else { + PyObject *meth = __Pyx_PyObject_GetAttrStr(yf, __pyx_n_s_throw); + if (unlikely(!meth)) { + Py_DECREF(yf); + if (!PyErr_ExceptionMatches(PyExc_AttributeError)) { + gen->is_running = 0; + return NULL; + } + PyErr_Clear(); + __Pyx_Coroutine_Undelegate(gen); + gen->is_running = 0; + goto throw_here; + } + if (likely(args)) { + ret = PyObject_CallObject(meth, args); + } else { + ret = PyObject_CallFunctionObjArgs(meth, typ, val, tb, NULL); + } + Py_DECREF(meth); + } + gen->is_running = 0; + Py_DECREF(yf); + if (!ret) { + ret = __Pyx_Coroutine_FinishDelegation(gen); + } + return __Pyx_Coroutine_MethodReturn(self, ret); + } +throw_here: + __Pyx_Raise(typ, val, tb, NULL); + return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); +} +static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) { + PyObject *typ; + PyObject *val = NULL; + PyObject *tb = NULL; + if (!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb)) + return NULL; + return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1); +} +static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) { + Py_VISIT(exc_state->exc_type); + Py_VISIT(exc_state->exc_value); + Py_VISIT(exc_state->exc_traceback); + return 0; +} +static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) { + Py_VISIT(gen->closure); + Py_VISIT(gen->classobj); + Py_VISIT(gen->yieldfrom); + return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg); +} +static int __Pyx_Coroutine_clear(PyObject *self) { + __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; + Py_CLEAR(gen->closure); + Py_CLEAR(gen->classobj); + Py_CLEAR(gen->yieldfrom); + __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state); +#ifdef __Pyx_AsyncGen_USED + if (__Pyx_AsyncGen_CheckExact(self)) { + Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer); + } +#endif + Py_CLEAR(gen->gi_code); + Py_CLEAR(gen->gi_name); + Py_CLEAR(gen->gi_qualname); + Py_CLEAR(gen->gi_modulename); + return 0; +} +static void __Pyx_Coroutine_dealloc(PyObject *self) { + __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; + PyObject_GC_UnTrack(gen); + if (gen->gi_weakreflist != NULL) + PyObject_ClearWeakRefs(self); + if (gen->resume_label >= 0) { + PyObject_GC_Track(self); +#if PY_VERSION_HEX >= 0x030400a1 && CYTHON_USE_TP_FINALIZE + if (PyObject_CallFinalizerFromDealloc(self)) +#else + Py_TYPE(gen)->tp_del(self); + if (self->ob_refcnt > 0) +#endif + { + return; + } + PyObject_GC_UnTrack(self); + } +#ifdef __Pyx_AsyncGen_USED + if (__Pyx_AsyncGen_CheckExact(self)) { + /* We have to handle this case for asynchronous generators + right here, because this code has to be between UNTRACK + and GC_Del. */ + Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer); + } +#endif + __Pyx_Coroutine_clear(self); + PyObject_GC_Del(gen); +} +static void __Pyx_Coroutine_del(PyObject *self) { + PyObject *error_type, *error_value, *error_traceback; + __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; + __Pyx_PyThreadState_declare + if (gen->resume_label < 0) { + return; + } +#if !CYTHON_USE_TP_FINALIZE + assert(self->ob_refcnt == 0); + self->ob_refcnt = 1; +#endif + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&error_type, &error_value, &error_traceback); +#ifdef __Pyx_AsyncGen_USED + if (__Pyx_AsyncGen_CheckExact(self)) { + __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self; + PyObject *finalizer = agen->ag_finalizer; + if (finalizer && !agen->ag_closed) { + PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self); + if (unlikely(!res)) { + PyErr_WriteUnraisable(self); + } else { + Py_DECREF(res); + } + __Pyx_ErrRestore(error_type, error_value, error_traceback); + return; + } + } +#endif + if (unlikely(gen->resume_label == 0 && !error_value)) { +#ifdef __Pyx_Coroutine_USED +#ifdef __Pyx_Generator_USED + if (!__Pyx_Generator_CheckExact(self)) +#endif + { + PyObject_GC_UnTrack(self); +#if PY_MAJOR_VERSION >= 3 || defined(PyErr_WarnFormat) + if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0)) + PyErr_WriteUnraisable(self); +#else + {PyObject *msg; + char *cmsg; + #if CYTHON_COMPILING_IN_PYPY + msg = NULL; + cmsg = (char*) "coroutine was never awaited"; + #else + char *cname; + PyObject *qualname; + qualname = gen->gi_qualname; + cname = PyString_AS_STRING(qualname); + msg = PyString_FromFormat("coroutine '%.50s' was never awaited", cname); + if (unlikely(!msg)) { + PyErr_Clear(); + cmsg = (char*) "coroutine was never awaited"; + } else { + cmsg = PyString_AS_STRING(msg); + } + #endif + if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, cmsg, 1) < 0)) + PyErr_WriteUnraisable(self); + Py_XDECREF(msg);} +#endif + PyObject_GC_Track(self); + } +#endif + } else { + PyObject *res = __Pyx_Coroutine_Close(self); + if (unlikely(!res)) { + if (PyErr_Occurred()) + PyErr_WriteUnraisable(self); + } else { + Py_DECREF(res); + } + } + __Pyx_ErrRestore(error_type, error_value, error_traceback); +#if !CYTHON_USE_TP_FINALIZE + assert(self->ob_refcnt > 0); + if (--self->ob_refcnt == 0) { + return; + } + { + Py_ssize_t refcnt = self->ob_refcnt; + _Py_NewReference(self); + self->ob_refcnt = refcnt; + } +#if CYTHON_COMPILING_IN_CPYTHON + assert(PyType_IS_GC(self->ob_type) && + _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED); + _Py_DEC_REFTOTAL; +#endif +#ifdef COUNT_ALLOCS + --Py_TYPE(self)->tp_frees; + --Py_TYPE(self)->tp_allocs; +#endif +#endif +} +static PyObject * +__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context) +{ + PyObject *name = self->gi_name; + if (unlikely(!name)) name = Py_None; + Py_INCREF(name); + return name; +} +static int +__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp; +#if PY_MAJOR_VERSION >= 3 + if (unlikely(value == NULL || !PyUnicode_Check(value))) +#else + if (unlikely(value == NULL || !PyString_Check(value))) +#endif + { + PyErr_SetString(PyExc_TypeError, + "__name__ must be set to a string object"); + return -1; + } + tmp = self->gi_name; + Py_INCREF(value); + self->gi_name = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context) +{ + PyObject *name = self->gi_qualname; + if (unlikely(!name)) name = Py_None; + Py_INCREF(name); + return name; +} +static int +__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp; +#if PY_MAJOR_VERSION >= 3 + if (unlikely(value == NULL || !PyUnicode_Check(value))) +#else + if (unlikely(value == NULL || !PyString_Check(value))) +#endif + { + PyErr_SetString(PyExc_TypeError, + "__qualname__ must be set to a string object"); + return -1; + } + tmp = self->gi_qualname; + Py_INCREF(value); + self->gi_qualname = value; + Py_XDECREF(tmp); + return 0; +} +static __pyx_CoroutineObject *__Pyx__Coroutine_New( + PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, + PyObject *name, PyObject *qualname, PyObject *module_name) { + __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type); + if (unlikely(!gen)) + return NULL; + return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name); +} +static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( + __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, + PyObject *name, PyObject *qualname, PyObject *module_name) { + gen->body = body; + gen->closure = closure; + Py_XINCREF(closure); + gen->is_running = 0; + gen->resume_label = 0; + gen->classobj = NULL; + gen->yieldfrom = NULL; + gen->gi_exc_state.exc_type = NULL; + gen->gi_exc_state.exc_value = NULL; + gen->gi_exc_state.exc_traceback = NULL; +#if CYTHON_USE_EXC_INFO_STACK + gen->gi_exc_state.previous_item = NULL; +#endif + gen->gi_weakreflist = NULL; + Py_XINCREF(qualname); + gen->gi_qualname = qualname; + Py_XINCREF(name); + gen->gi_name = name; + Py_XINCREF(module_name); + gen->gi_modulename = module_name; + Py_XINCREF(code); + gen->gi_code = code; + PyObject_GC_Track(gen); + return gen; +} + +/* PatchModuleWithCoroutine */ +static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) { +#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + int result; + PyObject *globals, *result_obj; + globals = PyDict_New(); if (unlikely(!globals)) goto ignore; + result = PyDict_SetItemString(globals, "_cython_coroutine_type", + #ifdef __Pyx_Coroutine_USED + (PyObject*)__pyx_CoroutineType); + #else + Py_None); + #endif + if (unlikely(result < 0)) goto ignore; + result = PyDict_SetItemString(globals, "_cython_generator_type", + #ifdef __Pyx_Generator_USED + (PyObject*)__pyx_GeneratorType); + #else + Py_None); + #endif + if (unlikely(result < 0)) goto ignore; + if (unlikely(PyDict_SetItemString(globals, "_module", module) < 0)) goto ignore; + if (unlikely(PyDict_SetItemString(globals, "__builtins__", __pyx_b) < 0)) goto ignore; + result_obj = PyRun_String(py_code, Py_file_input, globals, globals); + if (unlikely(!result_obj)) goto ignore; + Py_DECREF(result_obj); + Py_DECREF(globals); + return module; +ignore: + Py_XDECREF(globals); + PyErr_WriteUnraisable(module); + if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch module with custom type", 1) < 0)) { + Py_DECREF(module); + module = NULL; + } +#else + py_code++; +#endif + return module; +} + +/* PatchGeneratorABC */ +#ifndef CYTHON_REGISTER_ABCS +#define CYTHON_REGISTER_ABCS 1 +#endif +#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) +static PyObject* __Pyx_patch_abc_module(PyObject *module); +static PyObject* __Pyx_patch_abc_module(PyObject *module) { + module = __Pyx_Coroutine_patch_module( + module, "" +"if _cython_generator_type is not None:\n" +" try: Generator = _module.Generator\n" +" except AttributeError: pass\n" +" else: Generator.register(_cython_generator_type)\n" +"if _cython_coroutine_type is not None:\n" +" try: Coroutine = _module.Coroutine\n" +" except AttributeError: pass\n" +" else: Coroutine.register(_cython_coroutine_type)\n" + ); + return module; +} +#endif +static int __Pyx_patch_abc(void) { +#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + static int abc_patched = 0; + if (CYTHON_REGISTER_ABCS && !abc_patched) { + PyObject *module; + module = PyImport_ImportModule((PY_MAJOR_VERSION >= 3) ? "collections.abc" : "collections"); + if (!module) { + PyErr_WriteUnraisable(NULL); + if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, + ((PY_MAJOR_VERSION >= 3) ? + "Cython module failed to register with collections.abc module" : + "Cython module failed to register with collections module"), 1) < 0)) { + return -1; + } + } else { + module = __Pyx_patch_abc_module(module); + abc_patched = 1; + if (unlikely(!module)) + return -1; + Py_DECREF(module); + } + module = PyImport_ImportModule("backports_abc"); + if (module) { + module = __Pyx_patch_abc_module(module); + Py_XDECREF(module); + } + if (!module) { + PyErr_Clear(); + } + } +#else + if ((0)) __Pyx_Coroutine_patch_module(NULL, NULL); +#endif + return 0; +} + +/* Generator */ +static PyMethodDef __pyx_Generator_methods[] = { + {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O, + (char*) PyDoc_STR("send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration.")}, + {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS, + (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in generator,\nreturn next yielded value or raise StopIteration.")}, + {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS, + (char*) PyDoc_STR("close() -> raise GeneratorExit inside generator.")}, + {0, 0, 0, 0} +}; +static PyMemberDef __pyx_Generator_memberlist[] = { + {(char *) "gi_running", T_BOOL, offsetof(__pyx_CoroutineObject, is_running), READONLY, NULL}, + {(char*) "gi_yieldfrom", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY, + (char*) PyDoc_STR("object being iterated by 'yield from', or None")}, + {(char*) "gi_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL}, + {0, 0, 0, 0, 0} +}; +static PyGetSetDef __pyx_Generator_getsets[] = { + {(char *) "__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name, + (char*) PyDoc_STR("name of the generator"), 0}, + {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname, + (char*) PyDoc_STR("qualified name of the generator"), 0}, + {0, 0, 0, 0, 0} +}; +static PyTypeObject __pyx_GeneratorType_type = { + PyVarObject_HEAD_INIT(0, 0) + "generator", + sizeof(__pyx_CoroutineObject), + 0, + (destructor) __Pyx_Coroutine_dealloc, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, + 0, + (traverseproc) __Pyx_Coroutine_traverse, + 0, + 0, + offsetof(__pyx_CoroutineObject, gi_weakreflist), + 0, + (iternextfunc) __Pyx_Generator_Next, + __pyx_Generator_methods, + __pyx_Generator_memberlist, + __pyx_Generator_getsets, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, +#if CYTHON_USE_TP_FINALIZE + 0, +#else + __Pyx_Coroutine_del, +#endif + 0, +#if CYTHON_USE_TP_FINALIZE + __Pyx_Coroutine_del, +#elif PY_VERSION_HEX >= 0x030400a1 + 0, +#endif +}; +static int __pyx_Generator_init(void) { + __pyx_GeneratorType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; + __pyx_GeneratorType_type.tp_iter = PyObject_SelfIter; + __pyx_GeneratorType = __Pyx_FetchCommonType(&__pyx_GeneratorType_type); + if (unlikely(!__pyx_GeneratorType)) { + return -1; + } + return 0; +} + +/* CheckBinaryVersion */ +static int __Pyx_check_binary_version(void) { + char ctversion[4], rtversion[4]; + PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); + PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); + if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { + char message[200]; + PyOS_snprintf(message, sizeof(message), + "compiletime version %s of module '%.100s' " + "does not match runtime version %s", + ctversion, __Pyx_MODULE_NAME, rtversion); + return PyErr_WarnEx(NULL, message, 1); + } + return 0; +} + +/* InitStrings */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + if (PyObject_Hash(*t->p) == -1) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +} +#else +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(PyUnicode_IS_ASCII(o))) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +} +#endif +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS + PyNumberMethods *m; +#endif + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(PyLong_Check(x))) +#endif + return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS + m = Py_TYPE(x)->tp_as_number; + #if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(b); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/venv/lib/python3.6/site-packages/aiohttp/_http_parser.cpython-36m-x86_64-linux-gnu.so b/venv/lib/python3.6/site-packages/aiohttp/_http_parser.cpython-36m-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..7712cfa2473517badfaa2a6610130bdae2ec6a45 GIT binary patch literal 1583046 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%0A4`Djd@^UuCh>+`X^Wj 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%0DCRV0<)S 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 T$#Z<Z{*L=!f&8+ZNf-YGxh}M> literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/aiohttp/_http_parser.pyx b/venv/lib/python3.6/site-packages/aiohttp/_http_parser.pyx new file mode 100644 index 0000000..817b482 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_http_parser.pyx @@ -0,0 +1,845 @@ +#cython: language_level=3 +# +# Based on https://github.com/MagicStack/httptools +# +from __future__ import absolute_import, print_function +from cpython.mem cimport PyMem_Malloc, PyMem_Free +from libc.string cimport memcpy +from cpython cimport (PyObject_GetBuffer, PyBuffer_Release, PyBUF_SIMPLE, + Py_buffer, PyBytes_AsString, PyBytes_AsStringAndSize) + +from multidict import (CIMultiDict as _CIMultiDict, + CIMultiDictProxy as _CIMultiDictProxy) +from yarl import URL as _URL + +from aiohttp import hdrs +from .http_exceptions import ( + BadHttpMessage, BadStatusLine, InvalidHeader, LineTooLong, InvalidURLError, + PayloadEncodingError, ContentLengthError, TransferEncodingError) +from .http_writer import (HttpVersion as _HttpVersion, + HttpVersion10 as _HttpVersion10, + HttpVersion11 as _HttpVersion11) +from .http_parser import DeflateBuffer as _DeflateBuffer +from .streams import (EMPTY_PAYLOAD as _EMPTY_PAYLOAD, + StreamReader as _StreamReader) + +cimport cython +from aiohttp cimport _cparser as cparser + +include "_headers.pxi" + +from aiohttp cimport _find_header + +DEF DEFAULT_FREELIST_SIZE = 250 + +cdef extern from "Python.h": + int PyByteArray_Resize(object, Py_ssize_t) except -1 + Py_ssize_t PyByteArray_Size(object) except -1 + char* PyByteArray_AsString(object) + +__all__ = ('HttpRequestParser', 'HttpResponseParser', + 'RawRequestMessage', 'RawResponseMessage') + +cdef object URL = _URL +cdef object URL_build = URL.build +cdef object CIMultiDict = _CIMultiDict +cdef object CIMultiDictProxy = _CIMultiDictProxy +cdef object HttpVersion = _HttpVersion +cdef object HttpVersion10 = _HttpVersion10 +cdef object HttpVersion11 = _HttpVersion11 +cdef object SEC_WEBSOCKET_KEY1 = hdrs.SEC_WEBSOCKET_KEY1 +cdef object CONTENT_ENCODING = hdrs.CONTENT_ENCODING +cdef object EMPTY_PAYLOAD = _EMPTY_PAYLOAD +cdef object StreamReader = _StreamReader +cdef object DeflateBuffer = _DeflateBuffer + + +cdef inline object extend(object buf, const char* at, size_t length): + cdef Py_ssize_t s + cdef char* ptr + s = PyByteArray_Size(buf) + PyByteArray_Resize(buf, s + length) + ptr = PyByteArray_AsString(buf) + memcpy(ptr + s, at, length) + + +DEF METHODS_COUNT = 34; + +cdef list _http_method = [] + +for i in range(METHODS_COUNT): + _http_method.append( + cparser.http_method_str(<cparser.http_method> i).decode('ascii')) + + +cdef inline str http_method_str(int i): + if i < METHODS_COUNT: + return <str>_http_method[i] + else: + return "<unknown>" + +cdef inline object find_header(bytes raw_header): + cdef Py_ssize_t size + cdef char *buf + cdef int idx + PyBytes_AsStringAndSize(raw_header, &buf, &size) + idx = _find_header.find_header(buf, size) + if idx == -1: + return raw_header.decode('utf-8', 'surrogateescape') + return headers[idx] + + +@cython.freelist(DEFAULT_FREELIST_SIZE) +cdef class RawRequestMessage: + cdef readonly str method + cdef readonly str path + cdef readonly object version # HttpVersion + cdef readonly object headers # CIMultiDict + cdef readonly object raw_headers # tuple + cdef readonly object should_close + cdef readonly object compression + cdef readonly object upgrade + cdef readonly object chunked + cdef readonly object url # yarl.URL + + def __init__(self, method, path, version, headers, raw_headers, + should_close, compression, upgrade, chunked, url): + self.method = method + self.path = path + self.version = version + self.headers = headers + self.raw_headers = raw_headers + self.should_close = should_close + self.compression = compression + self.upgrade = upgrade + self.chunked = chunked + self.url = url + + def __repr__(self): + info = [] + info.append(("method", self.method)) + info.append(("path", self.path)) + info.append(("version", self.version)) + info.append(("headers", self.headers)) + info.append(("raw_headers", self.raw_headers)) + info.append(("should_close", self.should_close)) + info.append(("compression", self.compression)) + info.append(("upgrade", self.upgrade)) + info.append(("chunked", self.chunked)) + info.append(("url", self.url)) + sinfo = ', '.join(name + '=' + repr(val) for name, val in info) + return '<RawRequestMessage(' + sinfo + ')>' + + def _replace(self, **dct): + cdef RawRequestMessage ret + ret = _new_request_message(self.method, + self.path, + self.version, + self.headers, + self.raw_headers, + self.should_close, + self.compression, + self.upgrade, + self.chunked, + self.url) + if "method" in dct: + ret.method = dct["method"] + if "path" in dct: + ret.path = dct["path"] + if "version" in dct: + ret.version = dct["version"] + if "headers" in dct: + ret.headers = dct["headers"] + if "raw_headers" in dct: + ret.raw_headers = dct["raw_headers"] + if "should_close" in dct: + ret.should_close = dct["should_close"] + if "compression" in dct: + ret.compression = dct["compression"] + if "upgrade" in dct: + ret.upgrade = dct["upgrade"] + if "chunked" in dct: + ret.chunked = dct["chunked"] + if "url" in dct: + ret.url = dct["url"] + return ret + +cdef _new_request_message(str method, + str path, + object version, + object headers, + object raw_headers, + bint should_close, + object compression, + bint upgrade, + bint chunked, + object url): + cdef RawRequestMessage ret + ret = RawRequestMessage.__new__(RawRequestMessage) + ret.method = method + ret.path = path + ret.version = version + ret.headers = headers + ret.raw_headers = raw_headers + ret.should_close = should_close + ret.compression = compression + ret.upgrade = upgrade + ret.chunked = chunked + ret.url = url + return ret + + +@cython.freelist(DEFAULT_FREELIST_SIZE) +cdef class RawResponseMessage: + cdef readonly object version # HttpVersion + cdef readonly int code + cdef readonly str reason + cdef readonly object headers # CIMultiDict + cdef readonly object raw_headers # tuple + cdef readonly object should_close + cdef readonly object compression + cdef readonly object upgrade + cdef readonly object chunked + + def __init__(self, version, code, reason, headers, raw_headers, + should_close, compression, upgrade, chunked): + self.version = version + self.code = code + self.reason = reason + self.headers = headers + self.raw_headers = raw_headers + self.should_close = should_close + self.compression = compression + self.upgrade = upgrade + self.chunked = chunked + + def __repr__(self): + info = [] + info.append(("version", self.version)) + info.append(("code", self.code)) + info.append(("reason", self.reason)) + info.append(("headers", self.headers)) + info.append(("raw_headers", self.raw_headers)) + info.append(("should_close", self.should_close)) + info.append(("compression", self.compression)) + info.append(("upgrade", self.upgrade)) + info.append(("chunked", self.chunked)) + sinfo = ', '.join(name + '=' + repr(val) for name, val in info) + return '<RawResponseMessage(' + sinfo + ')>' + + +cdef _new_response_message(object version, + int code, + str reason, + object headers, + object raw_headers, + bint should_close, + object compression, + bint upgrade, + bint chunked): + cdef RawResponseMessage ret + ret = RawResponseMessage.__new__(RawResponseMessage) + ret.version = version + ret.code = code + ret.reason = reason + ret.headers = headers + ret.raw_headers = raw_headers + ret.should_close = should_close + ret.compression = compression + ret.upgrade = upgrade + ret.chunked = chunked + return ret + + +@cython.internal +cdef class HttpParser: + + cdef: + cparser.http_parser* _cparser + cparser.http_parser_settings* _csettings + + bytearray _raw_name + bytearray _raw_value + bint _has_value + + object _protocol + object _loop + object _timer + + size_t _max_line_size + size_t _max_field_size + size_t _max_headers + bint _response_with_body + + bint _started + object _url + bytearray _buf + str _path + str _reason + object _headers + list _raw_headers + bint _upgraded + list _messages + object _payload + bint _payload_error + object _payload_exception + object _last_error + bint _auto_decompress + + str _content_encoding + + Py_buffer py_buf + + def __cinit__(self): + self._cparser = <cparser.http_parser*> \ + PyMem_Malloc(sizeof(cparser.http_parser)) + if self._cparser is NULL: + raise MemoryError() + + self._csettings = <cparser.http_parser_settings*> \ + PyMem_Malloc(sizeof(cparser.http_parser_settings)) + if self._csettings is NULL: + raise MemoryError() + + def __dealloc__(self): + PyMem_Free(self._cparser) + PyMem_Free(self._csettings) + + cdef _init(self, cparser.http_parser_type mode, + object protocol, object loop, object timer=None, + size_t max_line_size=8190, size_t max_headers=32768, + size_t max_field_size=8190, payload_exception=None, + bint response_with_body=True, bint auto_decompress=True): + cparser.http_parser_init(self._cparser, mode) + self._cparser.data = <void*>self + self._cparser.content_length = 0 + + cparser.http_parser_settings_init(self._csettings) + + self._protocol = protocol + self._loop = loop + self._timer = timer + + self._buf = bytearray() + self._payload = None + self._payload_error = 0 + self._payload_exception = payload_exception + self._messages = [] + + self._raw_name = bytearray() + self._raw_value = bytearray() + self._has_value = False + + self._max_line_size = max_line_size + self._max_headers = max_headers + self._max_field_size = max_field_size + self._response_with_body = response_with_body + self._upgraded = False + self._auto_decompress = auto_decompress + self._content_encoding = None + + self._csettings.on_url = cb_on_url + self._csettings.on_status = cb_on_status + self._csettings.on_header_field = cb_on_header_field + self._csettings.on_header_value = cb_on_header_value + self._csettings.on_headers_complete = cb_on_headers_complete + self._csettings.on_body = cb_on_body + self._csettings.on_message_begin = cb_on_message_begin + self._csettings.on_message_complete = cb_on_message_complete + self._csettings.on_chunk_header = cb_on_chunk_header + self._csettings.on_chunk_complete = cb_on_chunk_complete + + self._last_error = None + + cdef _process_header(self): + if self._raw_name: + raw_name = bytes(self._raw_name) + raw_value = bytes(self._raw_value) + + name = find_header(raw_name) + value = raw_value.decode('utf-8', 'surrogateescape') + + self._headers.add(name, value) + + if name is CONTENT_ENCODING: + self._content_encoding = value + + PyByteArray_Resize(self._raw_name, 0) + PyByteArray_Resize(self._raw_value, 0) + self._has_value = False + self._raw_headers.append((raw_name, raw_value)) + + cdef _on_header_field(self, char* at, size_t length): + cdef Py_ssize_t size + cdef char *buf + if self._has_value: + self._process_header() + + size = PyByteArray_Size(self._raw_name) + PyByteArray_Resize(self._raw_name, size + length) + buf = PyByteArray_AsString(self._raw_name) + memcpy(buf + size, at, length) + + cdef _on_header_value(self, char* at, size_t length): + cdef Py_ssize_t size + cdef char *buf + + size = PyByteArray_Size(self._raw_value) + PyByteArray_Resize(self._raw_value, size + length) + buf = PyByteArray_AsString(self._raw_value) + memcpy(buf + size, at, length) + self._has_value = True + + cdef _on_headers_complete(self): + self._process_header() + + method = http_method_str(self._cparser.method) + should_close = not cparser.http_should_keep_alive(self._cparser) + upgrade = self._cparser.upgrade + chunked = self._cparser.flags & cparser.F_CHUNKED + + raw_headers = tuple(self._raw_headers) + headers = CIMultiDictProxy(self._headers) + + if upgrade or self._cparser.method == 5: # cparser.CONNECT: + self._upgraded = True + + # do not support old websocket spec + if SEC_WEBSOCKET_KEY1 in headers: + raise InvalidHeader(SEC_WEBSOCKET_KEY1) + + encoding = None + enc = self._content_encoding + if enc is not None: + self._content_encoding = None + enc = enc.lower() + if enc in ('gzip', 'deflate', 'br'): + encoding = enc + + if self._cparser.type == cparser.HTTP_REQUEST: + msg = _new_request_message( + method, self._path, + self.http_version(), headers, raw_headers, + should_close, encoding, upgrade, chunked, self._url) + else: + msg = _new_response_message( + self.http_version(), self._cparser.status_code, self._reason, + headers, raw_headers, should_close, encoding, + upgrade, chunked) + + if (self._cparser.content_length > 0 or chunked or + self._cparser.method == 5): # CONNECT: 5 + payload = StreamReader( + self._protocol, timer=self._timer, loop=self._loop) + else: + payload = EMPTY_PAYLOAD + + self._payload = payload + if encoding is not None and self._auto_decompress: + self._payload = DeflateBuffer(payload, encoding) + + if not self._response_with_body: + payload = EMPTY_PAYLOAD + + self._messages.append((msg, payload)) + + cdef _on_message_complete(self): + self._payload.feed_eof() + self._payload = None + + cdef _on_chunk_header(self): + self._payload.begin_http_chunk_receiving() + + cdef _on_chunk_complete(self): + self._payload.end_http_chunk_receiving() + + cdef object _on_status_complete(self): + pass + + cdef inline http_version(self): + cdef cparser.http_parser* parser = self._cparser + + if parser.http_major == 1: + if parser.http_minor == 0: + return HttpVersion10 + elif parser.http_minor == 1: + return HttpVersion11 + + return HttpVersion(parser.http_major, parser.http_minor) + + ### Public API ### + + def feed_eof(self): + cdef bytes desc + + if self._payload is not None: + if self._cparser.flags & cparser.F_CHUNKED: + raise TransferEncodingError( + "Not enough data for satisfy transfer length header.") + elif self._cparser.flags & cparser.F_CONTENTLENGTH: + raise ContentLengthError( + "Not enough data for satisfy content length header.") + elif self._cparser.http_errno != cparser.HPE_OK: + desc = cparser.http_errno_description( + <cparser.http_errno> self._cparser.http_errno) + raise PayloadEncodingError(desc.decode('latin-1')) + else: + self._payload.feed_eof() + elif self._started: + self._on_headers_complete() + if self._messages: + return self._messages[-1][0] + + def feed_data(self, data): + cdef: + size_t data_len + size_t nb + + PyObject_GetBuffer(data, &self.py_buf, PyBUF_SIMPLE) + data_len = <size_t>self.py_buf.len + + nb = cparser.http_parser_execute( + self._cparser, + self._csettings, + <char*>self.py_buf.buf, + data_len) + + PyBuffer_Release(&self.py_buf) + + # i am not sure about cparser.HPE_INVALID_METHOD, + # seems get err for valid request + # test_client_functional.py::test_post_data_with_bytesio_file + if (self._cparser.http_errno != cparser.HPE_OK and + (self._cparser.http_errno != cparser.HPE_INVALID_METHOD or + self._cparser.method == 0)): + if self._payload_error == 0: + if self._last_error is not None: + ex = self._last_error + self._last_error = None + else: + ex = parser_error_from_errno( + <cparser.http_errno> self._cparser.http_errno) + self._payload = None + raise ex + + if self._messages: + messages = self._messages + self._messages = [] + else: + messages = () + + if self._upgraded: + return messages, True, data[nb:] + else: + return messages, False, b'' + + +cdef class HttpRequestParser(HttpParser): + + def __init__(self, protocol, loop, timer=None, + size_t max_line_size=8190, size_t max_headers=32768, + size_t max_field_size=8190, payload_exception=None, + bint response_with_body=True, bint read_until_eof=False): + self._init(cparser.HTTP_REQUEST, protocol, loop, timer, + max_line_size, max_headers, max_field_size, + payload_exception, response_with_body) + + cdef object _on_status_complete(self): + cdef Py_buffer py_buf + if not self._buf: + return + self._path = self._buf.decode('utf-8', 'surrogateescape') + if self._cparser.method == 5: # CONNECT + self._url = URL(self._path) + else: + PyObject_GetBuffer(self._buf, &py_buf, PyBUF_SIMPLE) + try: + self._url = _parse_url(<char*>py_buf.buf, + py_buf.len) + finally: + PyBuffer_Release(&py_buf) + PyByteArray_Resize(self._buf, 0) + + +cdef class HttpResponseParser(HttpParser): + + def __init__(self, protocol, loop, timer=None, + size_t max_line_size=8190, size_t max_headers=32768, + size_t max_field_size=8190, payload_exception=None, + bint response_with_body=True, bint read_until_eof=False, + bint auto_decompress=True): + self._init(cparser.HTTP_RESPONSE, protocol, loop, timer, + max_line_size, max_headers, max_field_size, + payload_exception, response_with_body, auto_decompress) + + cdef object _on_status_complete(self): + if self._buf: + self._reason = self._buf.decode('utf-8', 'surrogateescape') + PyByteArray_Resize(self._buf, 0) + + +cdef int cb_on_message_begin(cparser.http_parser* parser) except -1: + cdef HttpParser pyparser = <HttpParser>parser.data + + pyparser._started = True + pyparser._headers = CIMultiDict() + pyparser._raw_headers = [] + PyByteArray_Resize(pyparser._buf, 0) + pyparser._path = None + pyparser._reason = None + return 0 + + +cdef int cb_on_url(cparser.http_parser* parser, + const char *at, size_t length) except -1: + cdef HttpParser pyparser = <HttpParser>parser.data + try: + if length > pyparser._max_line_size: + raise LineTooLong( + 'Status line is too long', pyparser._max_line_size, length) + extend(pyparser._buf, at, length) + except BaseException as ex: + pyparser._last_error = ex + return -1 + else: + return 0 + + +cdef int cb_on_status(cparser.http_parser* parser, + const char *at, size_t length) except -1: + cdef HttpParser pyparser = <HttpParser>parser.data + cdef str reason + try: + if length > pyparser._max_line_size: + raise LineTooLong( + 'Status line is too long', pyparser._max_line_size, length) + extend(pyparser._buf, at, length) + except BaseException as ex: + pyparser._last_error = ex + return -1 + else: + return 0 + + +cdef int cb_on_header_field(cparser.http_parser* parser, + const char *at, size_t length) except -1: + cdef HttpParser pyparser = <HttpParser>parser.data + cdef Py_ssize_t size + try: + pyparser._on_status_complete() + size = len(pyparser._raw_name) + length + if size > pyparser._max_field_size: + raise LineTooLong( + 'Header name is too long', pyparser._max_field_size, size) + pyparser._on_header_field(at, length) + except BaseException as ex: + pyparser._last_error = ex + return -1 + else: + return 0 + + +cdef int cb_on_header_value(cparser.http_parser* parser, + const char *at, size_t length) except -1: + cdef HttpParser pyparser = <HttpParser>parser.data + cdef Py_ssize_t size + try: + size = len(pyparser._raw_value) + length + if size > pyparser._max_field_size: + raise LineTooLong( + 'Header value is too long', pyparser._max_field_size, size) + pyparser._on_header_value(at, length) + except BaseException as ex: + pyparser._last_error = ex + return -1 + else: + return 0 + + +cdef int cb_on_headers_complete(cparser.http_parser* parser) except -1: + cdef HttpParser pyparser = <HttpParser>parser.data + try: + pyparser._on_status_complete() + pyparser._on_headers_complete() + except BaseException as exc: + pyparser._last_error = exc + return -1 + else: + if pyparser._cparser.upgrade or pyparser._cparser.method == 5: # CONNECT + return 2 + else: + return 0 + + +cdef int cb_on_body(cparser.http_parser* parser, + const char *at, size_t length) except -1: + cdef HttpParser pyparser = <HttpParser>parser.data + cdef bytes body = at[:length] + try: + pyparser._payload.feed_data(body, length) + except BaseException as exc: + if pyparser._payload_exception is not None: + pyparser._payload.set_exception(pyparser._payload_exception(str(exc))) + else: + pyparser._payload.set_exception(exc) + pyparser._payload_error = 1 + return -1 + else: + return 0 + + +cdef int cb_on_message_complete(cparser.http_parser* parser) except -1: + cdef HttpParser pyparser = <HttpParser>parser.data + try: + pyparser._started = False + pyparser._on_message_complete() + except BaseException as exc: + pyparser._last_error = exc + return -1 + else: + return 0 + + +cdef int cb_on_chunk_header(cparser.http_parser* parser) except -1: + cdef HttpParser pyparser = <HttpParser>parser.data + try: + pyparser._on_chunk_header() + except BaseException as exc: + pyparser._last_error = exc + return -1 + else: + return 0 + + +cdef int cb_on_chunk_complete(cparser.http_parser* parser) except -1: + cdef HttpParser pyparser = <HttpParser>parser.data + try: + pyparser._on_chunk_complete() + except BaseException as exc: + pyparser._last_error = exc + return -1 + else: + return 0 + + +cdef parser_error_from_errno(cparser.http_errno errno): + cdef bytes desc = cparser.http_errno_description(errno) + + if errno in (cparser.HPE_CB_message_begin, + cparser.HPE_CB_url, + cparser.HPE_CB_header_field, + cparser.HPE_CB_header_value, + cparser.HPE_CB_headers_complete, + cparser.HPE_CB_body, + cparser.HPE_CB_message_complete, + cparser.HPE_CB_status, + cparser.HPE_CB_chunk_header, + cparser.HPE_CB_chunk_complete): + cls = BadHttpMessage + + elif errno == cparser.HPE_INVALID_STATUS: + cls = BadStatusLine + + elif errno == cparser.HPE_INVALID_METHOD: + cls = BadStatusLine + + elif errno == cparser.HPE_INVALID_URL: + cls = InvalidURLError + + else: + cls = BadHttpMessage + + return cls(desc.decode('latin-1')) + + +def parse_url(url): + cdef: + Py_buffer py_buf + char* buf_data + + PyObject_GetBuffer(url, &py_buf, PyBUF_SIMPLE) + try: + buf_data = <char*>py_buf.buf + return _parse_url(buf_data, py_buf.len) + finally: + PyBuffer_Release(&py_buf) + + +cdef _parse_url(char* buf_data, size_t length): + cdef: + cparser.http_parser_url* parsed + int res + str schema = None + str host = None + object port = None + str path = None + str query = None + str fragment = None + str user = None + str password = None + str userinfo = None + object result = None + int off + int ln + + parsed = <cparser.http_parser_url*> \ + PyMem_Malloc(sizeof(cparser.http_parser_url)) + if parsed is NULL: + raise MemoryError() + cparser.http_parser_url_init(parsed) + try: + res = cparser.http_parser_parse_url(buf_data, length, 0, parsed) + + if res == 0: + if parsed.field_set & (1 << cparser.UF_SCHEMA): + off = parsed.field_data[<int>cparser.UF_SCHEMA].off + ln = parsed.field_data[<int>cparser.UF_SCHEMA].len + schema = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + else: + schema = '' + + if parsed.field_set & (1 << cparser.UF_HOST): + off = parsed.field_data[<int>cparser.UF_HOST].off + ln = parsed.field_data[<int>cparser.UF_HOST].len + host = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + else: + host = '' + + if parsed.field_set & (1 << cparser.UF_PORT): + port = parsed.port + + if parsed.field_set & (1 << cparser.UF_PATH): + off = parsed.field_data[<int>cparser.UF_PATH].off + ln = parsed.field_data[<int>cparser.UF_PATH].len + path = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + else: + path = '' + + if parsed.field_set & (1 << cparser.UF_QUERY): + off = parsed.field_data[<int>cparser.UF_QUERY].off + ln = parsed.field_data[<int>cparser.UF_QUERY].len + query = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + else: + query = '' + + if parsed.field_set & (1 << cparser.UF_FRAGMENT): + off = parsed.field_data[<int>cparser.UF_FRAGMENT].off + ln = parsed.field_data[<int>cparser.UF_FRAGMENT].len + fragment = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + else: + fragment = '' + + if parsed.field_set & (1 << cparser.UF_USERINFO): + off = parsed.field_data[<int>cparser.UF_USERINFO].off + ln = parsed.field_data[<int>cparser.UF_USERINFO].len + userinfo = buf_data[off:off+ln].decode('utf-8', 'surrogateescape') + + user, sep, password = userinfo.partition(':') + + return URL_build(scheme=schema, + user=user, password=password, host=host, port=port, + path=path, query=query, fragment=fragment) + else: + raise InvalidURLError("invalid url {!r}".format(buf_data)) + finally: + PyMem_Free(parsed) diff --git a/venv/lib/python3.6/site-packages/aiohttp/_http_writer.c b/venv/lib/python3.6/site-packages/aiohttp/_http_writer.c new file mode 100644 index 0000000..f407c35 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_http_writer.c @@ -0,0 +1,5616 @@ +/* Generated by Cython 0.29.2 */ + +/* BEGIN: Cython Metadata +{ + "distutils": { + "depends": [], + "name": "aiohttp._http_writer", + "sources": [ + "aiohttp/_http_writer.pyx" + ] + }, + "module_name": "aiohttp._http_writer" +} +END: Cython Metadata */ + +#define PY_SSIZE_T_CLEAN +#include "Python.h" +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) + #error Cython requires Python 2.6+ or Python 3.3+. +#else +#define CYTHON_ABI "0_29_2" +#define CYTHON_HEX_VERSION 0x001D02F0 +#define CYTHON_FUTURE_DIVISION 0 +#include <stddef.h> +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x02070000 + #define HAVE_LONG_LONG + #endif +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #ifndef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 1 + #endif + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #ifndef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #endif +#endif +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #include "longintrepr.h" + #undef SHIFT + #undef BASE + #undef MASK + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include <stdint.h> +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#ifndef CYTHON_INLINE + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #elif defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_INLINE inline + #else + #define CYTHON_INLINE + #endif +#endif + +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#ifndef METH_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif +#if CYTHON_USE_DICT_VERSIONS +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ + } +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(p) +#endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; // PyThread_create_key reports success always +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif // TSS (Thread Specific Storage) API +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) +#else + #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) + #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact + #define PyObject_Unicode PyObject_Str +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t PyInt_AsLong +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : (Py_INCREF(func), func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(WIN32) || defined(MS_WINDOWS) + #define _USE_MATH_DEFINES +#endif +#include <math.h> +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif +#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) +#define __Pyx_truncl trunc +#else +#define __Pyx_truncl truncl +#endif + + +#define __PYX_ERR(f_index, lineno, Ln_error) \ +{ \ + __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \ +} + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__aiohttp___http_writer +#define __PYX_HAVE_API__aiohttp___http_writer +/* Early includes */ +#include <stdint.h> +#include <string.h> +#include <stdio.h> +#ifdef _OPENMP +#include <omp.h> +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0 +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include <cstdlib> + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +#if CYTHON_ASSUME_SAFE_MACROS +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ +static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + + +static const char *__pyx_f[] = { + "aiohttp/_http_writer.pyx", + "type.pxd", +}; + +/*--- Type declarations ---*/ +struct __pyx_t_7aiohttp_12_http_writer_Writer; + +/* "aiohttp/_http_writer.pyx":19 + * # ----------------- writer --------------------------- + * + * cdef struct Writer: # <<<<<<<<<<<<<< + * char *buf + * Py_ssize_t size + */ +struct __pyx_t_7aiohttp_12_http_writer_Writer { + char *buf; + Py_ssize_t size; + Py_ssize_t pos; +}; + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* WriteUnraisableException.proto */ +static void __Pyx_WriteUnraisable(const char *name, int clineno, + int lineno, const char *filename, + int full_traceback, int nogil); + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* PyObjectCall2Args.proto */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* ArgTypeTest.proto */ +#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ + ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\ + __Pyx__ArgTypeTest(obj, type, name, exact)) +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); + +/* GetTopmostException.proto */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); +#endif + +/* ReRaiseException.proto */ +static CYTHON_INLINE void __Pyx_ReraiseException(void); + +/* PyObjectCallNoArg.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); +#else +#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) +#endif + +/* RaiseTooManyValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); + +/* RaiseNeedMoreValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); + +/* IterFinish.proto */ +static CYTHON_INLINE int __Pyx_IterFinish(void); + +/* UnpackItemEndCheck.proto */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); + +/* GetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* SwapException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* SaveResetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +#else +#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) +#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) +#endif + +/* TypeImport.proto */ +#ifndef __PYX_HAVE_RT_ImportType_proto +#define __PYX_HAVE_RT_ImportType_proto +enum __Pyx_ImportType_CheckSize { + __Pyx_ImportType_CheckSize_Error = 0, + __Pyx_ImportType_CheckSize_Warn = 1, + __Pyx_ImportType_CheckSize_Ignore = 2 +}; +static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); +#endif + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* ImportFrom.proto */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +#define __Pyx_GetModuleGlobalNameUncached(var, name) {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* UnicodeAsUCS4.proto */ +static CYTHON_INLINE Py_UCS4 __Pyx_PyUnicode_AsPy_UCS4(PyObject*); + +/* ObjectAsUCS4.proto */ +#define __Pyx_PyObject_AsPy_UCS4(x)\ + (likely(PyUnicode_Check(x)) ? __Pyx_PyUnicode_AsPy_UCS4(x) : __Pyx__PyObject_AsPy_UCS4(x)) +static Py_UCS4 __Pyx__PyObject_AsPy_UCS4(PyObject*); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + + +/* Module declarations from 'libc.stdint' */ + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'libc.stdio' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.type' */ +static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; + +/* Module declarations from 'cpython' */ + +/* Module declarations from 'cpython.object' */ + +/* Module declarations from 'cpython.exc' */ + +/* Module declarations from 'cpython.mem' */ + +/* Module declarations from 'cpython.bytes' */ + +/* Module declarations from 'aiohttp._http_writer' */ +static char __pyx_v_7aiohttp_12_http_writer_BUFFER[0x4000]; +static PyObject *__pyx_v_7aiohttp_12_http_writer__istr = 0; +static CYTHON_INLINE void __pyx_f_7aiohttp_12_http_writer__init_writer(struct __pyx_t_7aiohttp_12_http_writer_Writer *); /*proto*/ +static CYTHON_INLINE void __pyx_f_7aiohttp_12_http_writer__release_writer(struct __pyx_t_7aiohttp_12_http_writer_Writer *); /*proto*/ +static CYTHON_INLINE int __pyx_f_7aiohttp_12_http_writer__write_byte(struct __pyx_t_7aiohttp_12_http_writer_Writer *, uint8_t); /*proto*/ +static CYTHON_INLINE int __pyx_f_7aiohttp_12_http_writer__write_utf8(struct __pyx_t_7aiohttp_12_http_writer_Writer *, Py_UCS4); /*proto*/ +static CYTHON_INLINE int __pyx_f_7aiohttp_12_http_writer__write_str(struct __pyx_t_7aiohttp_12_http_writer_Writer *, PyObject *); /*proto*/ +static PyObject *__pyx_f_7aiohttp_12_http_writer_to_str(PyObject *); /*proto*/ +#define __Pyx_MODULE_NAME "aiohttp._http_writer" +extern int __pyx_module_is_main_aiohttp___http_writer; +int __pyx_module_is_main_aiohttp___http_writer = 0; + +/* Implementation of 'aiohttp._http_writer' */ +static PyObject *__pyx_builtin_TypeError; +static const char __pyx_k_key[] = "key"; +static const char __pyx_k_ret[] = "ret"; +static const char __pyx_k_val[] = "val"; +static const char __pyx_k_istr[] = "istr"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_items[] = "items"; +static const char __pyx_k_format[] = "format"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_writer[] = "writer"; +static const char __pyx_k_headers[] = "headers"; +static const char __pyx_k_TypeError[] = "TypeError"; +static const char __pyx_k_multidict[] = "multidict"; +static const char __pyx_k_status_line[] = "status_line"; +static const char __pyx_k_serialize_headers[] = "_serialize_headers"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_aiohttp__http_writer[] = "aiohttp._http_writer"; +static const char __pyx_k_aiohttp__http_writer_pyx[] = "aiohttp/_http_writer.pyx"; +static const char __pyx_k_Cannot_serialize_non_str_key_r[] = "Cannot serialize non-str key {!r}"; +static PyObject *__pyx_kp_s_Cannot_serialize_non_str_key_r; +static PyObject *__pyx_n_s_TypeError; +static PyObject *__pyx_n_s_aiohttp__http_writer; +static PyObject *__pyx_kp_s_aiohttp__http_writer_pyx; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_format; +static PyObject *__pyx_n_s_headers; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_n_s_istr; +static PyObject *__pyx_n_s_items; +static PyObject *__pyx_n_s_key; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_multidict; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_n_s_ret; +static PyObject *__pyx_n_s_serialize_headers; +static PyObject *__pyx_n_s_status_line; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_val; +static PyObject *__pyx_n_s_writer; +static PyObject *__pyx_pf_7aiohttp_12_http_writer__serialize_headers(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_status_line, PyObject *__pyx_v_headers); /* proto */ +static PyObject *__pyx_tuple_; +static PyObject *__pyx_codeobj__2; +/* Late includes */ + +/* "aiohttp/_http_writer.pyx":25 + * + * + * cdef inline void _init_writer(Writer* writer): # <<<<<<<<<<<<<< + * writer.buf = &BUFFER[0] + * writer.size = BUF_SIZE + */ + +static CYTHON_INLINE void __pyx_f_7aiohttp_12_http_writer__init_writer(struct __pyx_t_7aiohttp_12_http_writer_Writer *__pyx_v_writer) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("_init_writer", 0); + + /* "aiohttp/_http_writer.pyx":26 + * + * cdef inline void _init_writer(Writer* writer): + * writer.buf = &BUFFER[0] # <<<<<<<<<<<<<< + * writer.size = BUF_SIZE + * writer.pos = 0 + */ + __pyx_v_writer->buf = (&(__pyx_v_7aiohttp_12_http_writer_BUFFER[0])); + + /* "aiohttp/_http_writer.pyx":27 + * cdef inline void _init_writer(Writer* writer): + * writer.buf = &BUFFER[0] + * writer.size = BUF_SIZE # <<<<<<<<<<<<<< + * writer.pos = 0 + * + */ + __pyx_v_writer->size = 0x4000; + + /* "aiohttp/_http_writer.pyx":28 + * writer.buf = &BUFFER[0] + * writer.size = BUF_SIZE + * writer.pos = 0 # <<<<<<<<<<<<<< + * + * + */ + __pyx_v_writer->pos = 0; + + /* "aiohttp/_http_writer.pyx":25 + * + * + * cdef inline void _init_writer(Writer* writer): # <<<<<<<<<<<<<< + * writer.buf = &BUFFER[0] + * writer.size = BUF_SIZE + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +/* "aiohttp/_http_writer.pyx":31 + * + * + * cdef inline void _release_writer(Writer* writer): # <<<<<<<<<<<<<< + * if writer.buf != BUFFER: + * PyMem_Free(writer.buf) + */ + +static CYTHON_INLINE void __pyx_f_7aiohttp_12_http_writer__release_writer(struct __pyx_t_7aiohttp_12_http_writer_Writer *__pyx_v_writer) { + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("_release_writer", 0); + + /* "aiohttp/_http_writer.pyx":32 + * + * cdef inline void _release_writer(Writer* writer): + * if writer.buf != BUFFER: # <<<<<<<<<<<<<< + * PyMem_Free(writer.buf) + * + */ + __pyx_t_1 = ((__pyx_v_writer->buf != __pyx_v_7aiohttp_12_http_writer_BUFFER) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_writer.pyx":33 + * cdef inline void _release_writer(Writer* writer): + * if writer.buf != BUFFER: + * PyMem_Free(writer.buf) # <<<<<<<<<<<<<< + * + * + */ + PyMem_Free(__pyx_v_writer->buf); + + /* "aiohttp/_http_writer.pyx":32 + * + * cdef inline void _release_writer(Writer* writer): + * if writer.buf != BUFFER: # <<<<<<<<<<<<<< + * PyMem_Free(writer.buf) + * + */ + } + + /* "aiohttp/_http_writer.pyx":31 + * + * + * cdef inline void _release_writer(Writer* writer): # <<<<<<<<<<<<<< + * if writer.buf != BUFFER: + * PyMem_Free(writer.buf) + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +/* "aiohttp/_http_writer.pyx":36 + * + * + * cdef inline int _write_byte(Writer* writer, uint8_t ch): # <<<<<<<<<<<<<< + * cdef char * buf + * cdef Py_ssize_t size + */ + +static CYTHON_INLINE int __pyx_f_7aiohttp_12_http_writer__write_byte(struct __pyx_t_7aiohttp_12_http_writer_Writer *__pyx_v_writer, uint8_t __pyx_v_ch) { + char *__pyx_v_buf; + Py_ssize_t __pyx_v_size; + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2; + __Pyx_RefNannySetupContext("_write_byte", 0); + + /* "aiohttp/_http_writer.pyx":40 + * cdef Py_ssize_t size + * + * if writer.pos == writer.size: # <<<<<<<<<<<<<< + * # reallocate + * size = writer.size + BUF_SIZE + */ + __pyx_t_1 = ((__pyx_v_writer->pos == __pyx_v_writer->size) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_writer.pyx":42 + * if writer.pos == writer.size: + * # reallocate + * size = writer.size + BUF_SIZE # <<<<<<<<<<<<<< + * if writer.buf == BUFFER: + * buf = <char*>PyMem_Malloc(size) + */ + __pyx_v_size = (__pyx_v_writer->size + 0x4000); + + /* "aiohttp/_http_writer.pyx":43 + * # reallocate + * size = writer.size + BUF_SIZE + * if writer.buf == BUFFER: # <<<<<<<<<<<<<< + * buf = <char*>PyMem_Malloc(size) + * if buf == NULL: + */ + __pyx_t_1 = ((__pyx_v_writer->buf == __pyx_v_7aiohttp_12_http_writer_BUFFER) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_writer.pyx":44 + * size = writer.size + BUF_SIZE + * if writer.buf == BUFFER: + * buf = <char*>PyMem_Malloc(size) # <<<<<<<<<<<<<< + * if buf == NULL: + * PyErr_NoMemory() + */ + __pyx_v_buf = ((char *)PyMem_Malloc(__pyx_v_size)); + + /* "aiohttp/_http_writer.pyx":45 + * if writer.buf == BUFFER: + * buf = <char*>PyMem_Malloc(size) + * if buf == NULL: # <<<<<<<<<<<<<< + * PyErr_NoMemory() + * return -1 + */ + __pyx_t_1 = ((__pyx_v_buf == NULL) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_writer.pyx":46 + * buf = <char*>PyMem_Malloc(size) + * if buf == NULL: + * PyErr_NoMemory() # <<<<<<<<<<<<<< + * return -1 + * memcpy(buf, writer.buf, writer.size) + */ + __pyx_t_2 = PyErr_NoMemory(); if (unlikely(__pyx_t_2 == ((PyObject *)NULL))) __PYX_ERR(0, 46, __pyx_L1_error) + + /* "aiohttp/_http_writer.pyx":47 + * if buf == NULL: + * PyErr_NoMemory() + * return -1 # <<<<<<<<<<<<<< + * memcpy(buf, writer.buf, writer.size) + * else: + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":45 + * if writer.buf == BUFFER: + * buf = <char*>PyMem_Malloc(size) + * if buf == NULL: # <<<<<<<<<<<<<< + * PyErr_NoMemory() + * return -1 + */ + } + + /* "aiohttp/_http_writer.pyx":48 + * PyErr_NoMemory() + * return -1 + * memcpy(buf, writer.buf, writer.size) # <<<<<<<<<<<<<< + * else: + * buf = <char*>PyMem_Realloc(writer.buf, size) + */ + (void)(memcpy(__pyx_v_buf, __pyx_v_writer->buf, __pyx_v_writer->size)); + + /* "aiohttp/_http_writer.pyx":43 + * # reallocate + * size = writer.size + BUF_SIZE + * if writer.buf == BUFFER: # <<<<<<<<<<<<<< + * buf = <char*>PyMem_Malloc(size) + * if buf == NULL: + */ + goto __pyx_L4; + } + + /* "aiohttp/_http_writer.pyx":50 + * memcpy(buf, writer.buf, writer.size) + * else: + * buf = <char*>PyMem_Realloc(writer.buf, size) # <<<<<<<<<<<<<< + * if buf == NULL: + * PyErr_NoMemory() + */ + /*else*/ { + __pyx_v_buf = ((char *)PyMem_Realloc(__pyx_v_writer->buf, __pyx_v_size)); + + /* "aiohttp/_http_writer.pyx":51 + * else: + * buf = <char*>PyMem_Realloc(writer.buf, size) + * if buf == NULL: # <<<<<<<<<<<<<< + * PyErr_NoMemory() + * return -1 + */ + __pyx_t_1 = ((__pyx_v_buf == NULL) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_writer.pyx":52 + * buf = <char*>PyMem_Realloc(writer.buf, size) + * if buf == NULL: + * PyErr_NoMemory() # <<<<<<<<<<<<<< + * return -1 + * writer.buf = buf + */ + __pyx_t_2 = PyErr_NoMemory(); if (unlikely(__pyx_t_2 == ((PyObject *)NULL))) __PYX_ERR(0, 52, __pyx_L1_error) + + /* "aiohttp/_http_writer.pyx":53 + * if buf == NULL: + * PyErr_NoMemory() + * return -1 # <<<<<<<<<<<<<< + * writer.buf = buf + * writer.size = size + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":51 + * else: + * buf = <char*>PyMem_Realloc(writer.buf, size) + * if buf == NULL: # <<<<<<<<<<<<<< + * PyErr_NoMemory() + * return -1 + */ + } + } + __pyx_L4:; + + /* "aiohttp/_http_writer.pyx":54 + * PyErr_NoMemory() + * return -1 + * writer.buf = buf # <<<<<<<<<<<<<< + * writer.size = size + * writer.buf[writer.pos] = <char>ch + */ + __pyx_v_writer->buf = __pyx_v_buf; + + /* "aiohttp/_http_writer.pyx":55 + * return -1 + * writer.buf = buf + * writer.size = size # <<<<<<<<<<<<<< + * writer.buf[writer.pos] = <char>ch + * writer.pos += 1 + */ + __pyx_v_writer->size = __pyx_v_size; + + /* "aiohttp/_http_writer.pyx":40 + * cdef Py_ssize_t size + * + * if writer.pos == writer.size: # <<<<<<<<<<<<<< + * # reallocate + * size = writer.size + BUF_SIZE + */ + } + + /* "aiohttp/_http_writer.pyx":56 + * writer.buf = buf + * writer.size = size + * writer.buf[writer.pos] = <char>ch # <<<<<<<<<<<<<< + * writer.pos += 1 + * return 0 + */ + (__pyx_v_writer->buf[__pyx_v_writer->pos]) = ((char)__pyx_v_ch); + + /* "aiohttp/_http_writer.pyx":57 + * writer.size = size + * writer.buf[writer.pos] = <char>ch + * writer.pos += 1 # <<<<<<<<<<<<<< + * return 0 + * + */ + __pyx_v_writer->pos = (__pyx_v_writer->pos + 1); + + /* "aiohttp/_http_writer.pyx":58 + * writer.buf[writer.pos] = <char>ch + * writer.pos += 1 + * return 0 # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = 0; + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":36 + * + * + * cdef inline int _write_byte(Writer* writer, uint8_t ch): # <<<<<<<<<<<<<< + * cdef char * buf + * cdef Py_ssize_t size + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_WriteUnraisable("aiohttp._http_writer._write_byte", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); + __pyx_r = 0; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_writer.pyx":61 + * + * + * cdef inline int _write_utf8(Writer* writer, Py_UCS4 symbol): # <<<<<<<<<<<<<< + * cdef uint64_t utf = <uint64_t> symbol + * + */ + +static CYTHON_INLINE int __pyx_f_7aiohttp_12_http_writer__write_utf8(struct __pyx_t_7aiohttp_12_http_writer_Writer *__pyx_v_writer, Py_UCS4 __pyx_v_symbol) { + uint64_t __pyx_v_utf; + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + __Pyx_RefNannySetupContext("_write_utf8", 0); + + /* "aiohttp/_http_writer.pyx":62 + * + * cdef inline int _write_utf8(Writer* writer, Py_UCS4 symbol): + * cdef uint64_t utf = <uint64_t> symbol # <<<<<<<<<<<<<< + * + * if utf < 0x80: + */ + __pyx_v_utf = ((uint64_t)__pyx_v_symbol); + + /* "aiohttp/_http_writer.pyx":64 + * cdef uint64_t utf = <uint64_t> symbol + * + * if utf < 0x80: # <<<<<<<<<<<<<< + * return _write_byte(writer, <uint8_t>utf) + * elif utf < 0x800: + */ + __pyx_t_1 = ((__pyx_v_utf < 0x80) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_writer.pyx":65 + * + * if utf < 0x80: + * return _write_byte(writer, <uint8_t>utf) # <<<<<<<<<<<<<< + * elif utf < 0x800: + * if _write_byte(writer, <uint8_t>(0xc0 | (utf >> 6))) < 0: + */ + __pyx_r = __pyx_f_7aiohttp_12_http_writer__write_byte(__pyx_v_writer, ((uint8_t)__pyx_v_utf)); + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":64 + * cdef uint64_t utf = <uint64_t> symbol + * + * if utf < 0x80: # <<<<<<<<<<<<<< + * return _write_byte(writer, <uint8_t>utf) + * elif utf < 0x800: + */ + } + + /* "aiohttp/_http_writer.pyx":66 + * if utf < 0x80: + * return _write_byte(writer, <uint8_t>utf) + * elif utf < 0x800: # <<<<<<<<<<<<<< + * if _write_byte(writer, <uint8_t>(0xc0 | (utf >> 6))) < 0: + * return -1 + */ + __pyx_t_1 = ((__pyx_v_utf < 0x800) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_writer.pyx":67 + * return _write_byte(writer, <uint8_t>utf) + * elif utf < 0x800: + * if _write_byte(writer, <uint8_t>(0xc0 | (utf >> 6))) < 0: # <<<<<<<<<<<<<< + * return -1 + * return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) + */ + __pyx_t_1 = ((__pyx_f_7aiohttp_12_http_writer__write_byte(__pyx_v_writer, ((uint8_t)(0xc0 | (__pyx_v_utf >> 6)))) < 0) != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_writer.pyx":68 + * elif utf < 0x800: + * if _write_byte(writer, <uint8_t>(0xc0 | (utf >> 6))) < 0: + * return -1 # <<<<<<<<<<<<<< + * return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) + * elif 0xD800 <= utf <= 0xDFFF: + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":67 + * return _write_byte(writer, <uint8_t>utf) + * elif utf < 0x800: + * if _write_byte(writer, <uint8_t>(0xc0 | (utf >> 6))) < 0: # <<<<<<<<<<<<<< + * return -1 + * return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) + */ + } + + /* "aiohttp/_http_writer.pyx":69 + * if _write_byte(writer, <uint8_t>(0xc0 | (utf >> 6))) < 0: + * return -1 + * return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) # <<<<<<<<<<<<<< + * elif 0xD800 <= utf <= 0xDFFF: + * # surogate pair, ignored + */ + __pyx_r = __pyx_f_7aiohttp_12_http_writer__write_byte(__pyx_v_writer, ((uint8_t)(0x80 | (__pyx_v_utf & 0x3f)))); + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":66 + * if utf < 0x80: + * return _write_byte(writer, <uint8_t>utf) + * elif utf < 0x800: # <<<<<<<<<<<<<< + * if _write_byte(writer, <uint8_t>(0xc0 | (utf >> 6))) < 0: + * return -1 + */ + } + + /* "aiohttp/_http_writer.pyx":70 + * return -1 + * return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) + * elif 0xD800 <= utf <= 0xDFFF: # <<<<<<<<<<<<<< + * # surogate pair, ignored + * return 0 + */ + __pyx_t_1 = (0xD800 <= __pyx_v_utf); + if (__pyx_t_1) { + __pyx_t_1 = (__pyx_v_utf <= 0xDFFF); + } + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "aiohttp/_http_writer.pyx":72 + * elif 0xD800 <= utf <= 0xDFFF: + * # surogate pair, ignored + * return 0 # <<<<<<<<<<<<<< + * elif utf < 0x10000: + * if _write_byte(writer, <uint8_t>(0xe0 | (utf >> 12))) < 0: + */ + __pyx_r = 0; + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":70 + * return -1 + * return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) + * elif 0xD800 <= utf <= 0xDFFF: # <<<<<<<<<<<<<< + * # surogate pair, ignored + * return 0 + */ + } + + /* "aiohttp/_http_writer.pyx":73 + * # surogate pair, ignored + * return 0 + * elif utf < 0x10000: # <<<<<<<<<<<<<< + * if _write_byte(writer, <uint8_t>(0xe0 | (utf >> 12))) < 0: + * return -1 + */ + __pyx_t_2 = ((__pyx_v_utf < 0x10000) != 0); + if (__pyx_t_2) { + + /* "aiohttp/_http_writer.pyx":74 + * return 0 + * elif utf < 0x10000: + * if _write_byte(writer, <uint8_t>(0xe0 | (utf >> 12))) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_byte(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f))) < 0: + */ + __pyx_t_2 = ((__pyx_f_7aiohttp_12_http_writer__write_byte(__pyx_v_writer, ((uint8_t)(0xe0 | (__pyx_v_utf >> 12)))) < 0) != 0); + if (__pyx_t_2) { + + /* "aiohttp/_http_writer.pyx":75 + * elif utf < 0x10000: + * if _write_byte(writer, <uint8_t>(0xe0 | (utf >> 12))) < 0: + * return -1 # <<<<<<<<<<<<<< + * if _write_byte(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f))) < 0: + * return -1 + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":74 + * return 0 + * elif utf < 0x10000: + * if _write_byte(writer, <uint8_t>(0xe0 | (utf >> 12))) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_byte(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f))) < 0: + */ + } + + /* "aiohttp/_http_writer.pyx":76 + * if _write_byte(writer, <uint8_t>(0xe0 | (utf >> 12))) < 0: + * return -1 + * if _write_byte(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f))) < 0: # <<<<<<<<<<<<<< + * return -1 + * return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) + */ + __pyx_t_2 = ((__pyx_f_7aiohttp_12_http_writer__write_byte(__pyx_v_writer, ((uint8_t)(0x80 | ((__pyx_v_utf >> 6) & 0x3f)))) < 0) != 0); + if (__pyx_t_2) { + + /* "aiohttp/_http_writer.pyx":77 + * return -1 + * if _write_byte(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f))) < 0: + * return -1 # <<<<<<<<<<<<<< + * return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) + * elif utf > 0x10FFFF: + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":76 + * if _write_byte(writer, <uint8_t>(0xe0 | (utf >> 12))) < 0: + * return -1 + * if _write_byte(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f))) < 0: # <<<<<<<<<<<<<< + * return -1 + * return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) + */ + } + + /* "aiohttp/_http_writer.pyx":78 + * if _write_byte(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f))) < 0: + * return -1 + * return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) # <<<<<<<<<<<<<< + * elif utf > 0x10FFFF: + * # symbol is too large + */ + __pyx_r = __pyx_f_7aiohttp_12_http_writer__write_byte(__pyx_v_writer, ((uint8_t)(0x80 | (__pyx_v_utf & 0x3f)))); + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":73 + * # surogate pair, ignored + * return 0 + * elif utf < 0x10000: # <<<<<<<<<<<<<< + * if _write_byte(writer, <uint8_t>(0xe0 | (utf >> 12))) < 0: + * return -1 + */ + } + + /* "aiohttp/_http_writer.pyx":79 + * return -1 + * return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) + * elif utf > 0x10FFFF: # <<<<<<<<<<<<<< + * # symbol is too large + * return 0 + */ + __pyx_t_2 = ((__pyx_v_utf > 0x10FFFF) != 0); + if (__pyx_t_2) { + + /* "aiohttp/_http_writer.pyx":81 + * elif utf > 0x10FFFF: + * # symbol is too large + * return 0 # <<<<<<<<<<<<<< + * else: + * if _write_byte(writer, <uint8_t>(0xf0 | (utf >> 18))) < 0: + */ + __pyx_r = 0; + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":79 + * return -1 + * return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) + * elif utf > 0x10FFFF: # <<<<<<<<<<<<<< + * # symbol is too large + * return 0 + */ + } + + /* "aiohttp/_http_writer.pyx":83 + * return 0 + * else: + * if _write_byte(writer, <uint8_t>(0xf0 | (utf >> 18))) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_byte(writer, + */ + /*else*/ { + __pyx_t_2 = ((__pyx_f_7aiohttp_12_http_writer__write_byte(__pyx_v_writer, ((uint8_t)(0xf0 | (__pyx_v_utf >> 18)))) < 0) != 0); + if (__pyx_t_2) { + + /* "aiohttp/_http_writer.pyx":84 + * else: + * if _write_byte(writer, <uint8_t>(0xf0 | (utf >> 18))) < 0: + * return -1 # <<<<<<<<<<<<<< + * if _write_byte(writer, + * <uint8_t>(0x80 | ((utf >> 12) & 0x3f))) < 0: + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":83 + * return 0 + * else: + * if _write_byte(writer, <uint8_t>(0xf0 | (utf >> 18))) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_byte(writer, + */ + } + + /* "aiohttp/_http_writer.pyx":86 + * return -1 + * if _write_byte(writer, + * <uint8_t>(0x80 | ((utf >> 12) & 0x3f))) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_byte(writer, + */ + __pyx_t_2 = ((__pyx_f_7aiohttp_12_http_writer__write_byte(__pyx_v_writer, ((uint8_t)(0x80 | ((__pyx_v_utf >> 12) & 0x3f)))) < 0) != 0); + + /* "aiohttp/_http_writer.pyx":85 + * if _write_byte(writer, <uint8_t>(0xf0 | (utf >> 18))) < 0: + * return -1 + * if _write_byte(writer, # <<<<<<<<<<<<<< + * <uint8_t>(0x80 | ((utf >> 12) & 0x3f))) < 0: + * return -1 + */ + if (__pyx_t_2) { + + /* "aiohttp/_http_writer.pyx":87 + * if _write_byte(writer, + * <uint8_t>(0x80 | ((utf >> 12) & 0x3f))) < 0: + * return -1 # <<<<<<<<<<<<<< + * if _write_byte(writer, + * <uint8_t>(0x80 | ((utf >> 6) & 0x3f))) < 0: + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":85 + * if _write_byte(writer, <uint8_t>(0xf0 | (utf >> 18))) < 0: + * return -1 + * if _write_byte(writer, # <<<<<<<<<<<<<< + * <uint8_t>(0x80 | ((utf >> 12) & 0x3f))) < 0: + * return -1 + */ + } + + /* "aiohttp/_http_writer.pyx":89 + * return -1 + * if _write_byte(writer, + * <uint8_t>(0x80 | ((utf >> 6) & 0x3f))) < 0: # <<<<<<<<<<<<<< + * return -1 + * return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) + */ + __pyx_t_2 = ((__pyx_f_7aiohttp_12_http_writer__write_byte(__pyx_v_writer, ((uint8_t)(0x80 | ((__pyx_v_utf >> 6) & 0x3f)))) < 0) != 0); + + /* "aiohttp/_http_writer.pyx":88 + * <uint8_t>(0x80 | ((utf >> 12) & 0x3f))) < 0: + * return -1 + * if _write_byte(writer, # <<<<<<<<<<<<<< + * <uint8_t>(0x80 | ((utf >> 6) & 0x3f))) < 0: + * return -1 + */ + if (__pyx_t_2) { + + /* "aiohttp/_http_writer.pyx":90 + * if _write_byte(writer, + * <uint8_t>(0x80 | ((utf >> 6) & 0x3f))) < 0: + * return -1 # <<<<<<<<<<<<<< + * return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) + * + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":88 + * <uint8_t>(0x80 | ((utf >> 12) & 0x3f))) < 0: + * return -1 + * if _write_byte(writer, # <<<<<<<<<<<<<< + * <uint8_t>(0x80 | ((utf >> 6) & 0x3f))) < 0: + * return -1 + */ + } + + /* "aiohttp/_http_writer.pyx":91 + * <uint8_t>(0x80 | ((utf >> 6) & 0x3f))) < 0: + * return -1 + * return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = __pyx_f_7aiohttp_12_http_writer__write_byte(__pyx_v_writer, ((uint8_t)(0x80 | (__pyx_v_utf & 0x3f)))); + goto __pyx_L0; + } + + /* "aiohttp/_http_writer.pyx":61 + * + * + * cdef inline int _write_utf8(Writer* writer, Py_UCS4 symbol): # <<<<<<<<<<<<<< + * cdef uint64_t utf = <uint64_t> symbol + * + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_writer.pyx":94 + * + * + * cdef inline int _write_str(Writer* writer, str s): # <<<<<<<<<<<<<< + * cdef Py_UCS4 ch + * for ch in s: + */ + +static CYTHON_INLINE int __pyx_f_7aiohttp_12_http_writer__write_str(struct __pyx_t_7aiohttp_12_http_writer_Writer *__pyx_v_writer, PyObject *__pyx_v_s) { + Py_UCS4 __pyx_v_ch; + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *(*__pyx_t_2)(PyObject *); + PyObject *__pyx_t_3 = NULL; + Py_UCS4 __pyx_t_4; + int __pyx_t_5; + __Pyx_RefNannySetupContext("_write_str", 0); + + /* "aiohttp/_http_writer.pyx":96 + * cdef inline int _write_str(Writer* writer, str s): + * cdef Py_UCS4 ch + * for ch in s: # <<<<<<<<<<<<<< + * if _write_utf8(writer, ch) < 0: + * return -1 + */ + __pyx_t_1 = PyObject_GetIter(__pyx_v_s); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error) + for (;;) { + { + __pyx_t_3 = __pyx_t_2(__pyx_t_1); + if (unlikely(!__pyx_t_3)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 96, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_3); + } + __pyx_t_4 = __Pyx_PyObject_AsPy_UCS4(__pyx_t_3); if (unlikely((__pyx_t_4 == (Py_UCS4)-1) && PyErr_Occurred())) __PYX_ERR(0, 96, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_ch = __pyx_t_4; + + /* "aiohttp/_http_writer.pyx":97 + * cdef Py_UCS4 ch + * for ch in s: + * if _write_utf8(writer, ch) < 0: # <<<<<<<<<<<<<< + * return -1 + * + */ + __pyx_t_5 = ((__pyx_f_7aiohttp_12_http_writer__write_utf8(__pyx_v_writer, __pyx_v_ch) < 0) != 0); + if (__pyx_t_5) { + + /* "aiohttp/_http_writer.pyx":98 + * for ch in s: + * if _write_utf8(writer, ch) < 0: + * return -1 # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = -1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":97 + * cdef Py_UCS4 ch + * for ch in s: + * if _write_utf8(writer, ch) < 0: # <<<<<<<<<<<<<< + * return -1 + * + */ + } + + /* "aiohttp/_http_writer.pyx":96 + * cdef inline int _write_str(Writer* writer, str s): + * cdef Py_UCS4 ch + * for ch in s: # <<<<<<<<<<<<<< + * if _write_utf8(writer, ch) < 0: + * return -1 + */ + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_http_writer.pyx":94 + * + * + * cdef inline int _write_str(Writer* writer, str s): # <<<<<<<<<<<<<< + * cdef Py_UCS4 ch + * for ch in s: + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_WriteUnraisable("aiohttp._http_writer._write_str", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); + __pyx_r = 0; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_writer.pyx":103 + * # --------------- _serialize_headers ---------------------- + * + * cdef str to_str(object s): # <<<<<<<<<<<<<< + * typ = type(s) + * if typ is str: + */ + +static PyObject *__pyx_f_7aiohttp_12_http_writer_to_str(PyObject *__pyx_v_s) { + PyTypeObject *__pyx_v_typ = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + __Pyx_RefNannySetupContext("to_str", 0); + + /* "aiohttp/_http_writer.pyx":104 + * + * cdef str to_str(object s): + * typ = type(s) # <<<<<<<<<<<<<< + * if typ is str: + * return <str>s + */ + __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_s))); + __pyx_v_typ = ((PyTypeObject*)((PyObject *)Py_TYPE(__pyx_v_s))); + + /* "aiohttp/_http_writer.pyx":105 + * cdef str to_str(object s): + * typ = type(s) + * if typ is str: # <<<<<<<<<<<<<< + * return <str>s + * elif typ is _istr: + */ + __pyx_t_1 = (__pyx_v_typ == (&PyString_Type)); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "aiohttp/_http_writer.pyx":106 + * typ = type(s) + * if typ is str: + * return <str>s # <<<<<<<<<<<<<< + * elif typ is _istr: + * return PyObject_Str(s) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject*)__pyx_v_s)); + __pyx_r = ((PyObject*)__pyx_v_s); + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":105 + * cdef str to_str(object s): + * typ = type(s) + * if typ is str: # <<<<<<<<<<<<<< + * return <str>s + * elif typ is _istr: + */ + } + + /* "aiohttp/_http_writer.pyx":107 + * if typ is str: + * return <str>s + * elif typ is _istr: # <<<<<<<<<<<<<< + * return PyObject_Str(s) + * elif not isinstance(s, str): + */ + __pyx_t_2 = (__pyx_v_typ == ((PyTypeObject*)__pyx_v_7aiohttp_12_http_writer__istr)); + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "aiohttp/_http_writer.pyx":108 + * return <str>s + * elif typ is _istr: + * return PyObject_Str(s) # <<<<<<<<<<<<<< + * elif not isinstance(s, str): + * raise TypeError("Cannot serialize non-str key {!r}".format(s)) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = PyObject_Str(__pyx_v_s); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 108, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(0, 108, __pyx_L1_error) + __pyx_r = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "aiohttp/_http_writer.pyx":107 + * if typ is str: + * return <str>s + * elif typ is _istr: # <<<<<<<<<<<<<< + * return PyObject_Str(s) + * elif not isinstance(s, str): + */ + } + + /* "aiohttp/_http_writer.pyx":109 + * elif typ is _istr: + * return PyObject_Str(s) + * elif not isinstance(s, str): # <<<<<<<<<<<<<< + * raise TypeError("Cannot serialize non-str key {!r}".format(s)) + * else: + */ + __pyx_t_1 = PyString_Check(__pyx_v_s); + __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); + if (unlikely(__pyx_t_2)) { + + /* "aiohttp/_http_writer.pyx":110 + * return PyObject_Str(s) + * elif not isinstance(s, str): + * raise TypeError("Cannot serialize non-str key {!r}".format(s)) # <<<<<<<<<<<<<< + * else: + * return str(s) + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Cannot_serialize_non_str_key_r, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 110, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_s) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_s); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 110, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 110, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 110, __pyx_L1_error) + + /* "aiohttp/_http_writer.pyx":109 + * elif typ is _istr: + * return PyObject_Str(s) + * elif not isinstance(s, str): # <<<<<<<<<<<<<< + * raise TypeError("Cannot serialize non-str key {!r}".format(s)) + * else: + */ + } + + /* "aiohttp/_http_writer.pyx":112 + * raise TypeError("Cannot serialize non-str key {!r}".format(s)) + * else: + * return str(s) # <<<<<<<<<<<<<< + * + * + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_s); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 112, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (!(likely(PyString_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(0, 112, __pyx_L1_error) + __pyx_r = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; + goto __pyx_L0; + } + + /* "aiohttp/_http_writer.pyx":103 + * # --------------- _serialize_headers ---------------------- + * + * cdef str to_str(object s): # <<<<<<<<<<<<<< + * typ = type(s) + * if typ is str: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("aiohttp._http_writer.to_str", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_typ); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "aiohttp/_http_writer.pyx":115 + * + * + * def _serialize_headers(str status_line, headers): # <<<<<<<<<<<<<< + * cdef Writer writer + * cdef object key + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_12_http_writer_1_serialize_headers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_7aiohttp_12_http_writer_1_serialize_headers = {"_serialize_headers", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_7aiohttp_12_http_writer_1_serialize_headers, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_7aiohttp_12_http_writer_1_serialize_headers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_status_line = 0; + PyObject *__pyx_v_headers = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("_serialize_headers (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_status_line,&__pyx_n_s_headers,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_status_line)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_headers)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("_serialize_headers", 1, 2, 2, 1); __PYX_ERR(0, 115, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_serialize_headers") < 0)) __PYX_ERR(0, 115, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_status_line = ((PyObject*)values[0]); + __pyx_v_headers = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("_serialize_headers", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 115, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("aiohttp._http_writer._serialize_headers", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_status_line), (&PyString_Type), 1, "status_line", 1))) __PYX_ERR(0, 115, __pyx_L1_error) + __pyx_r = __pyx_pf_7aiohttp_12_http_writer__serialize_headers(__pyx_self, __pyx_v_status_line, __pyx_v_headers); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_12_http_writer__serialize_headers(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_status_line, PyObject *__pyx_v_headers) { + struct __pyx_t_7aiohttp_12_http_writer_Writer __pyx_v_writer; + PyObject *__pyx_v_key = 0; + PyObject *__pyx_v_val = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + Py_ssize_t __pyx_t_5; + PyObject *(*__pyx_t_6)(PyObject *); + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *(*__pyx_t_9)(PyObject *); + int __pyx_t_10; + int __pyx_t_11; + char const *__pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + __Pyx_RefNannySetupContext("_serialize_headers", 0); + + /* "aiohttp/_http_writer.pyx":121 + * cdef bytes ret + * + * _init_writer(&writer) # <<<<<<<<<<<<<< + * + * try: + */ + __pyx_f_7aiohttp_12_http_writer__init_writer((&__pyx_v_writer)); + + /* "aiohttp/_http_writer.pyx":123 + * _init_writer(&writer) + * + * try: # <<<<<<<<<<<<<< + * if _write_str(&writer, status_line) < 0: + * raise + */ + /*try:*/ { + + /* "aiohttp/_http_writer.pyx":124 + * + * try: + * if _write_str(&writer, status_line) < 0: # <<<<<<<<<<<<<< + * raise + * if _write_byte(&writer, '\r') < 0: + */ + __pyx_t_1 = ((__pyx_f_7aiohttp_12_http_writer__write_str((&__pyx_v_writer), __pyx_v_status_line) < 0) != 0); + if (unlikely(__pyx_t_1)) { + + /* "aiohttp/_http_writer.pyx":125 + * try: + * if _write_str(&writer, status_line) < 0: + * raise # <<<<<<<<<<<<<< + * if _write_byte(&writer, '\r') < 0: + * raise + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 125, __pyx_L4_error) + + /* "aiohttp/_http_writer.pyx":124 + * + * try: + * if _write_str(&writer, status_line) < 0: # <<<<<<<<<<<<<< + * raise + * if _write_byte(&writer, '\r') < 0: + */ + } + + /* "aiohttp/_http_writer.pyx":126 + * if _write_str(&writer, status_line) < 0: + * raise + * if _write_byte(&writer, '\r') < 0: # <<<<<<<<<<<<<< + * raise + * if _write_byte(&writer, '\n') < 0: + */ + __pyx_t_1 = ((__pyx_f_7aiohttp_12_http_writer__write_byte((&__pyx_v_writer), '\r') < 0) != 0); + if (unlikely(__pyx_t_1)) { + + /* "aiohttp/_http_writer.pyx":127 + * raise + * if _write_byte(&writer, '\r') < 0: + * raise # <<<<<<<<<<<<<< + * if _write_byte(&writer, '\n') < 0: + * raise + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 127, __pyx_L4_error) + + /* "aiohttp/_http_writer.pyx":126 + * if _write_str(&writer, status_line) < 0: + * raise + * if _write_byte(&writer, '\r') < 0: # <<<<<<<<<<<<<< + * raise + * if _write_byte(&writer, '\n') < 0: + */ + } + + /* "aiohttp/_http_writer.pyx":128 + * if _write_byte(&writer, '\r') < 0: + * raise + * if _write_byte(&writer, '\n') < 0: # <<<<<<<<<<<<<< + * raise + * + */ + __pyx_t_1 = ((__pyx_f_7aiohttp_12_http_writer__write_byte((&__pyx_v_writer), '\n') < 0) != 0); + if (unlikely(__pyx_t_1)) { + + /* "aiohttp/_http_writer.pyx":129 + * raise + * if _write_byte(&writer, '\n') < 0: + * raise # <<<<<<<<<<<<<< + * + * for key, val in headers.items(): + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 129, __pyx_L4_error) + + /* "aiohttp/_http_writer.pyx":128 + * if _write_byte(&writer, '\r') < 0: + * raise + * if _write_byte(&writer, '\n') < 0: # <<<<<<<<<<<<<< + * raise + * + */ + } + + /* "aiohttp/_http_writer.pyx":131 + * raise + * + * for key, val in headers.items(): # <<<<<<<<<<<<<< + * if _write_str(&writer, to_str(key)) < 0: + * raise + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_headers, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 131, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 131, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { + __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0; + __pyx_t_6 = NULL; + } else { + __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 131, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 131, __pyx_L4_error) + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + for (;;) { + if (likely(!__pyx_t_6)) { + if (likely(PyList_CheckExact(__pyx_t_3))) { + if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 131, __pyx_L4_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 131, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } else { + if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 131, __pyx_L4_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 131, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } + } else { + __pyx_t_2 = __pyx_t_6(__pyx_t_3); + if (unlikely(!__pyx_t_2)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 131, __pyx_L4_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_2); + } + if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { + PyObject* sequence = __pyx_t_2; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 131, __pyx_L4_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_4 = PyList_GET_ITEM(sequence, 0); + __pyx_t_7 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_7); + #else + __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 131, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 131, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + #endif + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 131, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext; + index = 0; __pyx_t_4 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_4)) goto __pyx_L11_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L11_unpacking_failed; + __Pyx_GOTREF(__pyx_t_7); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) __PYX_ERR(0, 131, __pyx_L4_error) + __pyx_t_9 = NULL; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_unpacking_done; + __pyx_L11_unpacking_failed:; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_9 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 131, __pyx_L4_error) + __pyx_L12_unpacking_done:; + } + __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_4); + __pyx_t_4 = 0; + __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_7); + __pyx_t_7 = 0; + + /* "aiohttp/_http_writer.pyx":132 + * + * for key, val in headers.items(): + * if _write_str(&writer, to_str(key)) < 0: # <<<<<<<<<<<<<< + * raise + * if _write_byte(&writer, ':') < 0: + */ + __pyx_t_2 = __pyx_f_7aiohttp_12_http_writer_to_str(__pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 132, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = ((__pyx_f_7aiohttp_12_http_writer__write_str((&__pyx_v_writer), ((PyObject*)__pyx_t_2)) < 0) != 0); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(__pyx_t_1)) { + + /* "aiohttp/_http_writer.pyx":133 + * for key, val in headers.items(): + * if _write_str(&writer, to_str(key)) < 0: + * raise # <<<<<<<<<<<<<< + * if _write_byte(&writer, ':') < 0: + * raise + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 133, __pyx_L4_error) + + /* "aiohttp/_http_writer.pyx":132 + * + * for key, val in headers.items(): + * if _write_str(&writer, to_str(key)) < 0: # <<<<<<<<<<<<<< + * raise + * if _write_byte(&writer, ':') < 0: + */ + } + + /* "aiohttp/_http_writer.pyx":134 + * if _write_str(&writer, to_str(key)) < 0: + * raise + * if _write_byte(&writer, ':') < 0: # <<<<<<<<<<<<<< + * raise + * if _write_byte(&writer, ' ') < 0: + */ + __pyx_t_1 = ((__pyx_f_7aiohttp_12_http_writer__write_byte((&__pyx_v_writer), ':') < 0) != 0); + if (unlikely(__pyx_t_1)) { + + /* "aiohttp/_http_writer.pyx":135 + * raise + * if _write_byte(&writer, ':') < 0: + * raise # <<<<<<<<<<<<<< + * if _write_byte(&writer, ' ') < 0: + * raise + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 135, __pyx_L4_error) + + /* "aiohttp/_http_writer.pyx":134 + * if _write_str(&writer, to_str(key)) < 0: + * raise + * if _write_byte(&writer, ':') < 0: # <<<<<<<<<<<<<< + * raise + * if _write_byte(&writer, ' ') < 0: + */ + } + + /* "aiohttp/_http_writer.pyx":136 + * if _write_byte(&writer, ':') < 0: + * raise + * if _write_byte(&writer, ' ') < 0: # <<<<<<<<<<<<<< + * raise + * if _write_str(&writer, to_str(val)) < 0: + */ + __pyx_t_1 = ((__pyx_f_7aiohttp_12_http_writer__write_byte((&__pyx_v_writer), ' ') < 0) != 0); + if (unlikely(__pyx_t_1)) { + + /* "aiohttp/_http_writer.pyx":137 + * raise + * if _write_byte(&writer, ' ') < 0: + * raise # <<<<<<<<<<<<<< + * if _write_str(&writer, to_str(val)) < 0: + * raise + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 137, __pyx_L4_error) + + /* "aiohttp/_http_writer.pyx":136 + * if _write_byte(&writer, ':') < 0: + * raise + * if _write_byte(&writer, ' ') < 0: # <<<<<<<<<<<<<< + * raise + * if _write_str(&writer, to_str(val)) < 0: + */ + } + + /* "aiohttp/_http_writer.pyx":138 + * if _write_byte(&writer, ' ') < 0: + * raise + * if _write_str(&writer, to_str(val)) < 0: # <<<<<<<<<<<<<< + * raise + * if _write_byte(&writer, '\r') < 0: + */ + __pyx_t_2 = __pyx_f_7aiohttp_12_http_writer_to_str(__pyx_v_val); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 138, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = ((__pyx_f_7aiohttp_12_http_writer__write_str((&__pyx_v_writer), ((PyObject*)__pyx_t_2)) < 0) != 0); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(__pyx_t_1)) { + + /* "aiohttp/_http_writer.pyx":139 + * raise + * if _write_str(&writer, to_str(val)) < 0: + * raise # <<<<<<<<<<<<<< + * if _write_byte(&writer, '\r') < 0: + * raise + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 139, __pyx_L4_error) + + /* "aiohttp/_http_writer.pyx":138 + * if _write_byte(&writer, ' ') < 0: + * raise + * if _write_str(&writer, to_str(val)) < 0: # <<<<<<<<<<<<<< + * raise + * if _write_byte(&writer, '\r') < 0: + */ + } + + /* "aiohttp/_http_writer.pyx":140 + * if _write_str(&writer, to_str(val)) < 0: + * raise + * if _write_byte(&writer, '\r') < 0: # <<<<<<<<<<<<<< + * raise + * if _write_byte(&writer, '\n') < 0: + */ + __pyx_t_1 = ((__pyx_f_7aiohttp_12_http_writer__write_byte((&__pyx_v_writer), '\r') < 0) != 0); + if (unlikely(__pyx_t_1)) { + + /* "aiohttp/_http_writer.pyx":141 + * raise + * if _write_byte(&writer, '\r') < 0: + * raise # <<<<<<<<<<<<<< + * if _write_byte(&writer, '\n') < 0: + * raise + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 141, __pyx_L4_error) + + /* "aiohttp/_http_writer.pyx":140 + * if _write_str(&writer, to_str(val)) < 0: + * raise + * if _write_byte(&writer, '\r') < 0: # <<<<<<<<<<<<<< + * raise + * if _write_byte(&writer, '\n') < 0: + */ + } + + /* "aiohttp/_http_writer.pyx":142 + * if _write_byte(&writer, '\r') < 0: + * raise + * if _write_byte(&writer, '\n') < 0: # <<<<<<<<<<<<<< + * raise + * + */ + __pyx_t_1 = ((__pyx_f_7aiohttp_12_http_writer__write_byte((&__pyx_v_writer), '\n') < 0) != 0); + if (unlikely(__pyx_t_1)) { + + /* "aiohttp/_http_writer.pyx":143 + * raise + * if _write_byte(&writer, '\n') < 0: + * raise # <<<<<<<<<<<<<< + * + * if _write_byte(&writer, '\r') < 0: + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 143, __pyx_L4_error) + + /* "aiohttp/_http_writer.pyx":142 + * if _write_byte(&writer, '\r') < 0: + * raise + * if _write_byte(&writer, '\n') < 0: # <<<<<<<<<<<<<< + * raise + * + */ + } + + /* "aiohttp/_http_writer.pyx":131 + * raise + * + * for key, val in headers.items(): # <<<<<<<<<<<<<< + * if _write_str(&writer, to_str(key)) < 0: + * raise + */ + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "aiohttp/_http_writer.pyx":145 + * raise + * + * if _write_byte(&writer, '\r') < 0: # <<<<<<<<<<<<<< + * raise + * if _write_byte(&writer, '\n') < 0: + */ + __pyx_t_1 = ((__pyx_f_7aiohttp_12_http_writer__write_byte((&__pyx_v_writer), '\r') < 0) != 0); + if (unlikely(__pyx_t_1)) { + + /* "aiohttp/_http_writer.pyx":146 + * + * if _write_byte(&writer, '\r') < 0: + * raise # <<<<<<<<<<<<<< + * if _write_byte(&writer, '\n') < 0: + * raise + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 146, __pyx_L4_error) + + /* "aiohttp/_http_writer.pyx":145 + * raise + * + * if _write_byte(&writer, '\r') < 0: # <<<<<<<<<<<<<< + * raise + * if _write_byte(&writer, '\n') < 0: + */ + } + + /* "aiohttp/_http_writer.pyx":147 + * if _write_byte(&writer, '\r') < 0: + * raise + * if _write_byte(&writer, '\n') < 0: # <<<<<<<<<<<<<< + * raise + * + */ + __pyx_t_1 = ((__pyx_f_7aiohttp_12_http_writer__write_byte((&__pyx_v_writer), '\n') < 0) != 0); + if (unlikely(__pyx_t_1)) { + + /* "aiohttp/_http_writer.pyx":148 + * raise + * if _write_byte(&writer, '\n') < 0: + * raise # <<<<<<<<<<<<<< + * + * return PyBytes_FromStringAndSize(writer.buf, writer.pos) + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 148, __pyx_L4_error) + + /* "aiohttp/_http_writer.pyx":147 + * if _write_byte(&writer, '\r') < 0: + * raise + * if _write_byte(&writer, '\n') < 0: # <<<<<<<<<<<<<< + * raise + * + */ + } + + /* "aiohttp/_http_writer.pyx":150 + * raise + * + * return PyBytes_FromStringAndSize(writer.buf, writer.pos) # <<<<<<<<<<<<<< + * finally: + * _release_writer(&writer) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = PyBytes_FromStringAndSize(__pyx_v_writer.buf, __pyx_v_writer.pos); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 150, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L3_return; + } + + /* "aiohttp/_http_writer.pyx":152 + * return PyBytes_FromStringAndSize(writer.buf, writer.pos) + * finally: + * _release_writer(&writer) # <<<<<<<<<<<<<< + */ + /*finally:*/ { + __pyx_L4_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15) < 0)) __Pyx_ErrFetch(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_18); + __pyx_t_10 = __pyx_lineno; __pyx_t_11 = __pyx_clineno; __pyx_t_12 = __pyx_filename; + { + __pyx_f_7aiohttp_12_http_writer__release_writer((&__pyx_v_writer)); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); + } + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ErrRestore(__pyx_t_13, __pyx_t_14, __pyx_t_15); + __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; + __pyx_lineno = __pyx_t_10; __pyx_clineno = __pyx_t_11; __pyx_filename = __pyx_t_12; + goto __pyx_L1_error; + } + __pyx_L3_return: { + __pyx_t_18 = __pyx_r; + __pyx_r = 0; + __pyx_f_7aiohttp_12_http_writer__release_writer((&__pyx_v_writer)); + __pyx_r = __pyx_t_18; + __pyx_t_18 = 0; + goto __pyx_L0; + } + } + + /* "aiohttp/_http_writer.pyx":115 + * + * + * def _serialize_headers(str status_line, headers): # <<<<<<<<<<<<<< + * cdef Writer writer + * cdef object key + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("aiohttp._http_writer._serialize_headers", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_key); + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec__http_writer(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec__http_writer}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "_http_writer", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_kp_s_Cannot_serialize_non_str_key_r, __pyx_k_Cannot_serialize_non_str_key_r, sizeof(__pyx_k_Cannot_serialize_non_str_key_r), 0, 0, 1, 0}, + {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, + {&__pyx_n_s_aiohttp__http_writer, __pyx_k_aiohttp__http_writer, sizeof(__pyx_k_aiohttp__http_writer), 0, 0, 1, 1}, + {&__pyx_kp_s_aiohttp__http_writer_pyx, __pyx_k_aiohttp__http_writer_pyx, sizeof(__pyx_k_aiohttp__http_writer_pyx), 0, 0, 1, 0}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, + {&__pyx_n_s_headers, __pyx_k_headers, sizeof(__pyx_k_headers), 0, 0, 1, 1}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_istr, __pyx_k_istr, sizeof(__pyx_k_istr), 0, 0, 1, 1}, + {&__pyx_n_s_items, __pyx_k_items, sizeof(__pyx_k_items), 0, 0, 1, 1}, + {&__pyx_n_s_key, __pyx_k_key, sizeof(__pyx_k_key), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_multidict, __pyx_k_multidict, sizeof(__pyx_k_multidict), 0, 0, 1, 1}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_n_s_ret, __pyx_k_ret, sizeof(__pyx_k_ret), 0, 0, 1, 1}, + {&__pyx_n_s_serialize_headers, __pyx_k_serialize_headers, sizeof(__pyx_k_serialize_headers), 0, 0, 1, 1}, + {&__pyx_n_s_status_line, __pyx_k_status_line, sizeof(__pyx_k_status_line), 0, 0, 1, 1}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_val, __pyx_k_val, sizeof(__pyx_k_val), 0, 0, 1, 1}, + {&__pyx_n_s_writer, __pyx_k_writer, sizeof(__pyx_k_writer), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(0, 110, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "aiohttp/_http_writer.pyx":115 + * + * + * def _serialize_headers(str status_line, headers): # <<<<<<<<<<<<<< + * cdef Writer writer + * cdef object key + */ + __pyx_tuple_ = PyTuple_Pack(6, __pyx_n_s_status_line, __pyx_n_s_headers, __pyx_n_s_writer, __pyx_n_s_key, __pyx_n_s_val, __pyx_n_s_ret); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 115, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple_); + __Pyx_GIVEREF(__pyx_tuple_); + __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple_, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_aiohttp__http_writer_pyx, __pyx_n_s_serialize_headers, 115, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 115, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __pyx_v_7aiohttp_12_http_writer__istr = Py_None; Py_INCREF(Py_None); + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", + #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 + sizeof(PyTypeObject), + #else + sizeof(PyHeapTypeObject), + #endif + __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(1, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#if PY_MAJOR_VERSION < 3 +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC void +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#else +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC init_http_writer(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC init_http_writer(void) +#else +__Pyx_PyMODINIT_FUNC PyInit__http_writer(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit__http_writer(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec__http_writer(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module '_http_writer' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #if CYTHON_REFNANNY +__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); +if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); +} +#endif + __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit__http_writer(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + #ifdef WITH_THREAD /* Python build with threading support? */ + PyEval_InitThreads(); + #endif + #endif + /*--- Module creation code ---*/ + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("_http_writer", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + #if CYTHON_COMPILING_IN_PYPY + Py_INCREF(__pyx_b); + #endif + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main_aiohttp___http_writer) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "aiohttp._http_writer")) { + if (unlikely(PyDict_SetItemString(modules, "aiohttp._http_writer", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Global type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + (void)__Pyx_modinit_type_init_code(); + if (unlikely(__Pyx_modinit_type_import_code() != 0)) goto __pyx_L1_error; + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_function_import_code(); + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + + /* "aiohttp/_http_writer.pyx":9 + * from cpython.object cimport PyObject_Str + * + * from multidict import istr # <<<<<<<<<<<<<< + * + * DEF BUF_SIZE = 16 * 1024 # 16KiB + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_istr); + __Pyx_GIVEREF(__pyx_n_s_istr); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_istr); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_multidict, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_istr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_istr, __pyx_t_1) < 0) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_http_writer.pyx":14 + * cdef char BUFFER[BUF_SIZE] + * + * cdef object _istr = istr # <<<<<<<<<<<<<< + * + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_istr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_v_7aiohttp_12_http_writer__istr); + __Pyx_DECREF_SET(__pyx_v_7aiohttp_12_http_writer__istr, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + + /* "aiohttp/_http_writer.pyx":115 + * + * + * def _serialize_headers(str status_line, headers): # <<<<<<<<<<<<<< + * cdef Writer writer + * cdef object key + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7aiohttp_12_http_writer_1_serialize_headers, NULL, __pyx_n_s_aiohttp__http_writer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 115, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_serialize_headers, __pyx_t_2) < 0) __PYX_ERR(0, 115, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "aiohttp/_http_writer.pyx":1 + * from libc.stdint cimport uint8_t, uint64_t # <<<<<<<<<<<<<< + * from libc.string cimport memcpy + * from cpython.exc cimport PyErr_NoMemory + */ + __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init aiohttp._http_writer", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init aiohttp._http_writer"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* PyErrFetchRestore */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* WriteUnraisableException */ +static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno, + CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename, + int full_traceback, CYTHON_UNUSED int nogil) { + PyObject *old_exc, *old_val, *old_tb; + PyObject *ctx; + __Pyx_PyThreadState_declare +#ifdef WITH_THREAD + PyGILState_STATE state; + if (nogil) + state = PyGILState_Ensure(); +#ifdef _MSC_VER + else state = (PyGILState_STATE)-1; +#endif +#endif + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&old_exc, &old_val, &old_tb); + if (full_traceback) { + Py_XINCREF(old_exc); + Py_XINCREF(old_val); + Py_XINCREF(old_tb); + __Pyx_ErrRestore(old_exc, old_val, old_tb); + PyErr_PrintEx(1); + } + #if PY_MAJOR_VERSION < 3 + ctx = PyString_FromString(name); + #else + ctx = PyUnicode_FromString(name); + #endif + __Pyx_ErrRestore(old_exc, old_val, old_tb); + if (!ctx) { + PyErr_WriteUnraisable(Py_None); + } else { + PyErr_WriteUnraisable(ctx); + Py_DECREF(ctx); + } +#ifdef WITH_THREAD + if (nogil) + PyGILState_Release(state); +#endif +} + +/* PyCFunctionFastCall */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyFunctionFastCall */ +#if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCall */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = func->ob_type->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCall2Args */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { + PyObject *args, *result = NULL; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyFunction_FastCall(function, args, 2); + } + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyCFunction_FastCall(function, args, 2); + } + #endif + args = PyTuple_New(2); + if (unlikely(!args)) goto done; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + Py_INCREF(function); + result = __Pyx_PyObject_Call(function, args, NULL); + Py_DECREF(args); + Py_DECREF(function); +done: + return result; +} + +/* PyObjectCallMethO */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallOneArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* RaiseException */ +#if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* ArgTypeTest */ +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact) +{ + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + else if (exact) { + #if PY_MAJOR_VERSION == 2 + if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; + #endif + } + else { + if (likely(__Pyx_TypeCheck(obj, type))) return 1; + } + PyErr_Format(PyExc_TypeError, + "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)", + name, type->tp_name, Py_TYPE(obj)->tp_name); + return 0; +} + +/* GetTopmostException */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) +{ + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* ReRaiseException */ +static CYTHON_INLINE void __Pyx_ReraiseException(void) { + PyObject *type = NULL, *value = NULL, *tb = NULL; +#if CYTHON_FAST_THREAD_STATE + PyThreadState *tstate = PyThreadState_GET(); + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + type = exc_info->exc_type; + value = exc_info->exc_value; + tb = exc_info->exc_traceback; + #else + type = tstate->exc_type; + value = tstate->exc_value; + tb = tstate->exc_traceback; + #endif +#else + PyErr_GetExcInfo(&type, &value, &tb); +#endif + if (!type || type == Py_None) { +#if !CYTHON_FAST_THREAD_STATE + Py_XDECREF(type); + Py_XDECREF(value); + Py_XDECREF(tb); +#endif + PyErr_SetString(PyExc_RuntimeError, + "No active exception to reraise"); + } else { +#if CYTHON_FAST_THREAD_STATE + Py_INCREF(type); + Py_XINCREF(value); + Py_XINCREF(tb); +#endif + PyErr_Restore(type, value, tb); + } +} + +/* PyObjectCallNoArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, NULL, 0); + } +#endif +#ifdef __Pyx_CyFunction_USED + if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) +#else + if (likely(PyCFunction_Check(func))) +#endif + { + if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { + return __Pyx_PyObject_CallMethO(func, NULL); + } + } + return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); +} +#endif + +/* RaiseTooManyValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { + PyErr_Format(PyExc_ValueError, + "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); +} + +/* RaiseNeedMoreValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { + PyErr_Format(PyExc_ValueError, + "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", + index, (index == 1) ? "" : "s"); +} + +/* IterFinish */ +static CYTHON_INLINE int __Pyx_IterFinish(void) { +#if CYTHON_FAST_THREAD_STATE + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* exc_type = tstate->curexc_type; + if (unlikely(exc_type)) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) { + PyObject *exc_value, *exc_tb; + exc_value = tstate->curexc_value; + exc_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; + Py_DECREF(exc_type); + Py_XDECREF(exc_value); + Py_XDECREF(exc_tb); + return 0; + } else { + return -1; + } + } + return 0; +#else + if (unlikely(PyErr_Occurred())) { + if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) { + PyErr_Clear(); + return 0; + } else { + return -1; + } + } + return 0; +#endif +} + +/* UnpackItemEndCheck */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { + if (unlikely(retval)) { + Py_DECREF(retval); + __Pyx_RaiseTooManyValuesError(expected); + return -1; + } else { + return __Pyx_IterFinish(); + } + return 0; +} + +/* GetException */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif + return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; +} + +/* SwapException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = *type; + exc_info->exc_value = *value; + exc_info->exc_traceback = *tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = *type; + tstate->exc_value = *value; + tstate->exc_traceback = *tb; + #endif + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); + PyErr_SetExcInfo(*type, *value, *tb); + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#endif + +/* SaveResetException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* TypeImport */ +#ifndef __PYX_HAVE_RT_ImportType +#define __PYX_HAVE_RT_ImportType +static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, + size_t size, enum __Pyx_ImportType_CheckSize check_size) +{ + PyObject *result = 0; + char warning[200]; + Py_ssize_t basicsize; +#ifdef Py_LIMITED_API + PyObject *py_basicsize; +#endif + result = PyObject_GetAttrString(module, class_name); + if (!result) + goto bad; + if (!PyType_Check(result)) { + PyErr_Format(PyExc_TypeError, + "%.200s.%.200s is not a type object", + module_name, class_name); + goto bad; + } +#ifndef Py_LIMITED_API + basicsize = ((PyTypeObject *)result)->tp_basicsize; +#else + py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); + if (!py_basicsize) + goto bad; + basicsize = PyLong_AsSsize_t(py_basicsize); + Py_DECREF(py_basicsize); + py_basicsize = 0; + if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; +#endif + if ((size_t)basicsize < size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; + } + return (PyTypeObject *)result; +bad: + Py_XDECREF(result); + return NULL; +} +#endif + +/* Import */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if (strchr(__Pyx_MODULE_NAME, '.')) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* ImportFrom */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { + PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); + if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Format(PyExc_ImportError, + #if PY_MAJOR_VERSION < 3 + "cannot import name %.230s", PyString_AS_STRING(name)); + #else + "cannot import name %S", name); + #endif + } + return value; +} + +/* GetModuleGlobalName */ +#if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* CLineInTraceback */ +#ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#endif + +/* CodeObjectCache */ +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ +#include "compile.h" +#include "frameobject.h" +#include "traceback.h" +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyObject *py_srcfile = 0; + PyObject *py_funcname = 0; + #if PY_MAJOR_VERSION < 3 + py_srcfile = PyString_FromString(filename); + #else + py_srcfile = PyUnicode_FromString(filename); + #endif + if (!py_srcfile) goto bad; + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + #else + py_funcname = PyUnicode_FromString(funcname); + #endif + } + if (!py_funcname) goto bad; + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + Py_DECREF(py_funcname); + return py_code; +bad: + Py_XDECREF(py_srcfile); + Py_XDECREF(py_funcname); + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + py_code = __pyx_find_code_object(c_line ? -c_line : py_line); + if (!py_code) { + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) goto bad; + __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); + } + py_frame = PyFrame_New( + tstate, /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +/* UnicodeAsUCS4 */ +static CYTHON_INLINE Py_UCS4 __Pyx_PyUnicode_AsPy_UCS4(PyObject* x) { + Py_ssize_t length; + #if CYTHON_PEP393_ENABLED + length = PyUnicode_GET_LENGTH(x); + if (likely(length == 1)) { + return PyUnicode_READ_CHAR(x, 0); + } + #else + length = PyUnicode_GET_SIZE(x); + if (likely(length == 1)) { + return PyUnicode_AS_UNICODE(x)[0]; + } + #if Py_UNICODE_SIZE == 2 + else if (PyUnicode_GET_SIZE(x) == 2) { + Py_UCS4 high_val = PyUnicode_AS_UNICODE(x)[0]; + if (high_val >= 0xD800 && high_val <= 0xDBFF) { + Py_UCS4 low_val = PyUnicode_AS_UNICODE(x)[1]; + if (low_val >= 0xDC00 && low_val <= 0xDFFF) { + return 0x10000 + (((high_val & ((1<<10)-1)) << 10) | (low_val & ((1<<10)-1))); + } + } + } + #endif + #endif + PyErr_Format(PyExc_ValueError, + "only single character unicode strings can be converted to Py_UCS4, " + "got length %" CYTHON_FORMAT_SSIZE_T "d", length); + return (Py_UCS4)-1; +} + +/* ObjectAsUCS4 */ +static Py_UCS4 __Pyx__PyObject_AsPy_UCS4_raise_error(long ival) { + if (ival < 0) { + if (!PyErr_Occurred()) + PyErr_SetString(PyExc_OverflowError, + "cannot convert negative value to Py_UCS4"); + } else { + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to Py_UCS4"); + } + return (Py_UCS4)-1; +} +static Py_UCS4 __Pyx__PyObject_AsPy_UCS4(PyObject* x) { + long ival; + ival = __Pyx_PyInt_As_long(x); + if (unlikely(!__Pyx_is_valid_index(ival, 1114111 + 1))) { + return __Pyx__PyObject_AsPy_UCS4_raise_error(ival); + } + return (Py_UCS4)ival; +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* CIntFromPyVerify */ +#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* CIntFromPy */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { + const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* FastTypeChecks */ +#if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i<n; i++) { + if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1; + } +#endif + for (i=0; i<n; i++) { + PyObject *t = PyTuple_GET_ITEM(tuple, i); + #if PY_MAJOR_VERSION < 3 + if (likely(exc_type == t)) return 1; + #endif + if (likely(PyExceptionClass_Check(t))) { + if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1; + } else { + } + } + return 0; +} +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) { + if (likely(err == exc_type)) return 1; + if (likely(PyExceptionClass_Check(err))) { + if (likely(PyExceptionClass_Check(exc_type))) { + return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type); + } else if (likely(PyTuple_Check(exc_type))) { + return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type); + } else { + } + } + return PyErr_GivenExceptionMatches(err, exc_type); +} +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) { + assert(PyExceptionClass_Check(exc_type1)); + assert(PyExceptionClass_Check(exc_type2)); + if (likely(err == exc_type1 || err == exc_type2)) return 1; + if (likely(PyExceptionClass_Check(err))) { + return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2); + } + return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2)); +} +#endif + +/* CheckBinaryVersion */ +static int __Pyx_check_binary_version(void) { + char ctversion[4], rtversion[4]; + PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); + PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); + if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { + char message[200]; + PyOS_snprintf(message, sizeof(message), + "compiletime version %s of module '%.100s' " + "does not match runtime version %s", + ctversion, __Pyx_MODULE_NAME, rtversion); + return PyErr_WarnEx(NULL, message, 1); + } + return 0; +} + +/* InitStrings */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + if (PyObject_Hash(*t->p) == -1) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +} +#else +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(PyUnicode_IS_ASCII(o))) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +} +#endif +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS + PyNumberMethods *m; +#endif + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(PyLong_Check(x))) +#endif + return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS + m = Py_TYPE(x)->tp_as_number; + #if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(b); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/venv/lib/python3.6/site-packages/aiohttp/_http_writer.cpython-36m-x86_64-linux-gnu.so b/venv/lib/python3.6/site-packages/aiohttp/_http_writer.cpython-36m-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..cb6a3b59d086b93179ca085c2af897361f258fdb GIT binary patch literal 199248 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/aiohttp/_http_writer.pyx b/venv/lib/python3.6/site-packages/aiohttp/_http_writer.pyx new file mode 100644 index 0000000..8af3776 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_http_writer.pyx @@ -0,0 +1,152 @@ +from libc.stdint cimport uint8_t, uint64_t +from libc.string cimport memcpy +from cpython.exc cimport PyErr_NoMemory +from cpython.mem cimport PyMem_Malloc, PyMem_Realloc, PyMem_Free + +from cpython.bytes cimport PyBytes_FromStringAndSize +from cpython.object cimport PyObject_Str + +from multidict import istr + +DEF BUF_SIZE = 16 * 1024 # 16KiB +cdef char BUFFER[BUF_SIZE] + +cdef object _istr = istr + + +# ----------------- writer --------------------------- + +cdef struct Writer: + char *buf + Py_ssize_t size + Py_ssize_t pos + + +cdef inline void _init_writer(Writer* writer): + writer.buf = &BUFFER[0] + writer.size = BUF_SIZE + writer.pos = 0 + + +cdef inline void _release_writer(Writer* writer): + if writer.buf != BUFFER: + PyMem_Free(writer.buf) + + +cdef inline int _write_byte(Writer* writer, uint8_t ch): + cdef char * buf + cdef Py_ssize_t size + + if writer.pos == writer.size: + # reallocate + size = writer.size + BUF_SIZE + if writer.buf == BUFFER: + buf = <char*>PyMem_Malloc(size) + if buf == NULL: + PyErr_NoMemory() + return -1 + memcpy(buf, writer.buf, writer.size) + else: + buf = <char*>PyMem_Realloc(writer.buf, size) + if buf == NULL: + PyErr_NoMemory() + return -1 + writer.buf = buf + writer.size = size + writer.buf[writer.pos] = <char>ch + writer.pos += 1 + return 0 + + +cdef inline int _write_utf8(Writer* writer, Py_UCS4 symbol): + cdef uint64_t utf = <uint64_t> symbol + + if utf < 0x80: + return _write_byte(writer, <uint8_t>utf) + elif utf < 0x800: + if _write_byte(writer, <uint8_t>(0xc0 | (utf >> 6))) < 0: + return -1 + return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) + elif 0xD800 <= utf <= 0xDFFF: + # surogate pair, ignored + return 0 + elif utf < 0x10000: + if _write_byte(writer, <uint8_t>(0xe0 | (utf >> 12))) < 0: + return -1 + if _write_byte(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f))) < 0: + return -1 + return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) + elif utf > 0x10FFFF: + # symbol is too large + return 0 + else: + if _write_byte(writer, <uint8_t>(0xf0 | (utf >> 18))) < 0: + return -1 + if _write_byte(writer, + <uint8_t>(0x80 | ((utf >> 12) & 0x3f))) < 0: + return -1 + if _write_byte(writer, + <uint8_t>(0x80 | ((utf >> 6) & 0x3f))) < 0: + return -1 + return _write_byte(writer, <uint8_t>(0x80 | (utf & 0x3f))) + + +cdef inline int _write_str(Writer* writer, str s): + cdef Py_UCS4 ch + for ch in s: + if _write_utf8(writer, ch) < 0: + return -1 + + +# --------------- _serialize_headers ---------------------- + +cdef str to_str(object s): + typ = type(s) + if typ is str: + return <str>s + elif typ is _istr: + return PyObject_Str(s) + elif not isinstance(s, str): + raise TypeError("Cannot serialize non-str key {!r}".format(s)) + else: + return str(s) + + +def _serialize_headers(str status_line, headers): + cdef Writer writer + cdef object key + cdef object val + cdef bytes ret + + _init_writer(&writer) + + try: + if _write_str(&writer, status_line) < 0: + raise + if _write_byte(&writer, '\r') < 0: + raise + if _write_byte(&writer, '\n') < 0: + raise + + for key, val in headers.items(): + if _write_str(&writer, to_str(key)) < 0: + raise + if _write_byte(&writer, ':') < 0: + raise + if _write_byte(&writer, ' ') < 0: + raise + if _write_str(&writer, to_str(val)) < 0: + raise + if _write_byte(&writer, '\r') < 0: + raise + if _write_byte(&writer, '\n') < 0: + raise + + if _write_byte(&writer, '\r') < 0: + raise + if _write_byte(&writer, '\n') < 0: + raise + + return PyBytes_FromStringAndSize(writer.buf, writer.pos) + finally: + _release_writer(&writer) diff --git a/venv/lib/python3.6/site-packages/aiohttp/_websocket.c b/venv/lib/python3.6/site-packages/aiohttp/_websocket.c new file mode 100644 index 0000000..99bc0ea --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_websocket.c @@ -0,0 +1,3538 @@ +/* Generated by Cython 0.29.2 */ + +/* BEGIN: Cython Metadata +{ + "distutils": { + "depends": [], + "name": "aiohttp._websocket", + "sources": [ + "aiohttp/_websocket.pyx" + ] + }, + "module_name": "aiohttp._websocket" +} +END: Cython Metadata */ + +#define PY_SSIZE_T_CLEAN +#include "Python.h" +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) + #error Cython requires Python 2.6+ or Python 3.3+. +#else +#define CYTHON_ABI "0_29_2" +#define CYTHON_HEX_VERSION 0x001D02F0 +#define CYTHON_FUTURE_DIVISION 0 +#include <stddef.h> +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x02070000 + #define HAVE_LONG_LONG + #endif +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #ifndef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 1 + #endif + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #ifndef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #endif +#endif +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #include "longintrepr.h" + #undef SHIFT + #undef BASE + #undef MASK + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include <stdint.h> +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#ifndef CYTHON_INLINE + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #elif defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_INLINE inline + #else + #define CYTHON_INLINE + #endif +#endif + +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#ifndef METH_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif +#if CYTHON_USE_DICT_VERSIONS +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ + } +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(p) +#endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; // PyThread_create_key reports success always +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif // TSS (Thread Specific Storage) API +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) +#else + #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) + #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact + #define PyObject_Unicode PyObject_Str +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t PyInt_AsLong +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : (Py_INCREF(func), func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(WIN32) || defined(MS_WINDOWS) + #define _USE_MATH_DEFINES +#endif +#include <math.h> +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif +#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) +#define __Pyx_truncl trunc +#else +#define __Pyx_truncl truncl +#endif + + +#define __PYX_ERR(f_index, lineno, Ln_error) \ +{ \ + __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \ +} + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__aiohttp___websocket +#define __PYX_HAVE_API__aiohttp___websocket +/* Early includes */ +#include <string.h> +#include <stdio.h> +#include "pythread.h" +#include <stdint.h> +#ifdef _OPENMP +#include <omp.h> +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0 +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include <cstdlib> + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +#if CYTHON_ASSUME_SAFE_MACROS +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ +static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + + +static const char *__pyx_f[] = { + "aiohttp/_websocket.pyx", + "type.pxd", + "bool.pxd", + "complex.pxd", +}; + +/*--- Type declarations ---*/ + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* TypeImport.proto */ +#ifndef __PYX_HAVE_RT_ImportType_proto +#define __PYX_HAVE_RT_ImportType_proto +enum __Pyx_ImportType_CheckSize { + __Pyx_ImportType_CheckSize_Error = 0, + __Pyx_ImportType_CheckSize_Warn = 1, + __Pyx_ImportType_CheckSize_Ignore = 2 +}; +static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); +#endif + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + + +/* Module declarations from 'cpython.version' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.type' */ +static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'libc.stdio' */ + +/* Module declarations from 'cpython.object' */ + +/* Module declarations from 'cpython.ref' */ + +/* Module declarations from 'cpython.exc' */ + +/* Module declarations from 'cpython.module' */ + +/* Module declarations from 'cpython.mem' */ + +/* Module declarations from 'cpython.tuple' */ + +/* Module declarations from 'cpython.list' */ + +/* Module declarations from 'cpython.sequence' */ + +/* Module declarations from 'cpython.mapping' */ + +/* Module declarations from 'cpython.iterator' */ + +/* Module declarations from 'cpython.number' */ + +/* Module declarations from 'cpython.int' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.bool' */ +static PyTypeObject *__pyx_ptype_7cpython_4bool_bool = 0; + +/* Module declarations from 'cpython.long' */ + +/* Module declarations from 'cpython.float' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.complex' */ +static PyTypeObject *__pyx_ptype_7cpython_7complex_complex = 0; + +/* Module declarations from 'cpython.string' */ + +/* Module declarations from 'cpython.unicode' */ + +/* Module declarations from 'cpython.dict' */ + +/* Module declarations from 'cpython.instance' */ + +/* Module declarations from 'cpython.function' */ + +/* Module declarations from 'cpython.method' */ + +/* Module declarations from 'cpython.weakref' */ + +/* Module declarations from 'cpython.getargs' */ + +/* Module declarations from 'cpython.pythread' */ + +/* Module declarations from 'cpython.pystate' */ + +/* Module declarations from 'cpython.cobject' */ + +/* Module declarations from 'cpython.oldbuffer' */ + +/* Module declarations from 'cpython.set' */ + +/* Module declarations from 'cpython.buffer' */ + +/* Module declarations from 'cpython.bytes' */ + +/* Module declarations from 'cpython.pycapsule' */ + +/* Module declarations from 'cpython' */ + +/* Module declarations from 'libc.stdint' */ + +/* Module declarations from 'aiohttp._websocket' */ +#define __Pyx_MODULE_NAME "aiohttp._websocket" +extern int __pyx_module_is_main_aiohttp___websocket; +int __pyx_module_is_main_aiohttp___websocket = 0; + +/* Implementation of 'aiohttp._websocket' */ +static PyObject *__pyx_builtin_range; +static const char __pyx_k_i[] = "i"; +static const char __pyx_k_data[] = "data"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_mask[] = "mask"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_range[] = "range"; +static const char __pyx_k_in_buf[] = "in_buf"; +static const char __pyx_k_data_len[] = "data_len"; +static const char __pyx_k_mask_buf[] = "mask_buf"; +static const char __pyx_k_uint32_msk[] = "uint32_msk"; +static const char __pyx_k_uint64_msk[] = "uint64_msk"; +static const char __pyx_k_aiohttp__websocket[] = "aiohttp._websocket"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_websocket_mask_cython[] = "_websocket_mask_cython"; +static const char __pyx_k_aiohttp__websocket_pyx[] = "aiohttp/_websocket.pyx"; +static PyObject *__pyx_n_s_aiohttp__websocket; +static PyObject *__pyx_kp_s_aiohttp__websocket_pyx; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_data; +static PyObject *__pyx_n_s_data_len; +static PyObject *__pyx_n_s_i; +static PyObject *__pyx_n_s_in_buf; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_mask; +static PyObject *__pyx_n_s_mask_buf; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_n_s_range; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_uint32_msk; +static PyObject *__pyx_n_s_uint64_msk; +static PyObject *__pyx_n_s_websocket_mask_cython; +static PyObject *__pyx_pf_7aiohttp_10_websocket__websocket_mask_cython(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mask, PyObject *__pyx_v_data); /* proto */ +static PyObject *__pyx_tuple_; +static PyObject *__pyx_codeobj__2; +/* Late includes */ + +/* "aiohttp/_websocket.pyx":9 + * from libc.stdint cimport uint32_t, uint64_t, uintmax_t + * + * def _websocket_mask_cython(object mask, object data): # <<<<<<<<<<<<<< + * """Note, this function mutates its `data` argument + * """ + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7aiohttp_10_websocket_1_websocket_mask_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_7aiohttp_10_websocket__websocket_mask_cython[] = "Note, this function mutates its `data` argument\n "; +static PyMethodDef __pyx_mdef_7aiohttp_10_websocket_1_websocket_mask_cython = {"_websocket_mask_cython", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_7aiohttp_10_websocket_1_websocket_mask_cython, METH_VARARGS|METH_KEYWORDS, __pyx_doc_7aiohttp_10_websocket__websocket_mask_cython}; +static PyObject *__pyx_pw_7aiohttp_10_websocket_1_websocket_mask_cython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_mask = 0; + PyObject *__pyx_v_data = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("_websocket_mask_cython (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_mask,&__pyx_n_s_data,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_mask)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_data)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("_websocket_mask_cython", 1, 2, 2, 1); __PYX_ERR(0, 9, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_websocket_mask_cython") < 0)) __PYX_ERR(0, 9, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_mask = values[0]; + __pyx_v_data = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("_websocket_mask_cython", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 9, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("aiohttp._websocket._websocket_mask_cython", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_7aiohttp_10_websocket__websocket_mask_cython(__pyx_self, __pyx_v_mask, __pyx_v_data); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7aiohttp_10_websocket__websocket_mask_cython(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mask, PyObject *__pyx_v_data) { + Py_ssize_t __pyx_v_data_len; + Py_ssize_t __pyx_v_i; + unsigned char *__pyx_v_in_buf; + unsigned char const *__pyx_v_mask_buf; + uint32_t __pyx_v_uint32_msk; + uint64_t __pyx_v_uint64_msk; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + Py_ssize_t __pyx_t_1; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + char *__pyx_t_5; + uint64_t *__pyx_t_6; + long __pyx_t_7; + uint32_t *__pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + Py_ssize_t __pyx_t_11; + __Pyx_RefNannySetupContext("_websocket_mask_cython", 0); + __Pyx_INCREF(__pyx_v_mask); + __Pyx_INCREF(__pyx_v_data); + + /* "aiohttp/_websocket.pyx":20 + * uint64_t uint64_msk + * + * assert len(mask) == 4 # <<<<<<<<<<<<<< + * + * if not isinstance(mask, bytes): + */ + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = PyObject_Length(__pyx_v_mask); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 20, __pyx_L1_error) + if (unlikely(!((__pyx_t_1 == 4) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 20, __pyx_L1_error) + } + } + #endif + + /* "aiohttp/_websocket.pyx":22 + * assert len(mask) == 4 + * + * if not isinstance(mask, bytes): # <<<<<<<<<<<<<< + * mask = bytes(mask) + * + */ + __pyx_t_2 = PyBytes_Check(__pyx_v_mask); + __pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0); + if (__pyx_t_3) { + + /* "aiohttp/_websocket.pyx":23 + * + * if not isinstance(mask, bytes): + * mask = bytes(mask) # <<<<<<<<<<<<<< + * + * if isinstance(data, bytearray): + */ + __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyBytes_Type)), __pyx_v_mask); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF_SET(__pyx_v_mask, __pyx_t_4); + __pyx_t_4 = 0; + + /* "aiohttp/_websocket.pyx":22 + * assert len(mask) == 4 + * + * if not isinstance(mask, bytes): # <<<<<<<<<<<<<< + * mask = bytes(mask) + * + */ + } + + /* "aiohttp/_websocket.pyx":25 + * mask = bytes(mask) + * + * if isinstance(data, bytearray): # <<<<<<<<<<<<<< + * data = <bytearray>data + * else: + */ + __pyx_t_3 = PyByteArray_Check(__pyx_v_data); + __pyx_t_2 = (__pyx_t_3 != 0); + if (__pyx_t_2) { + + /* "aiohttp/_websocket.pyx":26 + * + * if isinstance(data, bytearray): + * data = <bytearray>data # <<<<<<<<<<<<<< + * else: + * data = bytearray(data) + */ + __pyx_t_4 = __pyx_v_data; + __Pyx_INCREF(__pyx_t_4); + __Pyx_DECREF_SET(__pyx_v_data, __pyx_t_4); + __pyx_t_4 = 0; + + /* "aiohttp/_websocket.pyx":25 + * mask = bytes(mask) + * + * if isinstance(data, bytearray): # <<<<<<<<<<<<<< + * data = <bytearray>data + * else: + */ + goto __pyx_L4; + } + + /* "aiohttp/_websocket.pyx":28 + * data = <bytearray>data + * else: + * data = bytearray(data) # <<<<<<<<<<<<<< + * + * data_len = len(data) + */ + /*else*/ { + __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_v_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF_SET(__pyx_v_data, __pyx_t_4); + __pyx_t_4 = 0; + } + __pyx_L4:; + + /* "aiohttp/_websocket.pyx":30 + * data = bytearray(data) + * + * data_len = len(data) # <<<<<<<<<<<<<< + * in_buf = <unsigned char*>PyByteArray_AsString(data) + * mask_buf = <const unsigned char*>PyBytes_AsString(mask) + */ + __pyx_t_1 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 30, __pyx_L1_error) + __pyx_v_data_len = __pyx_t_1; + + /* "aiohttp/_websocket.pyx":31 + * + * data_len = len(data) + * in_buf = <unsigned char*>PyByteArray_AsString(data) # <<<<<<<<<<<<<< + * mask_buf = <const unsigned char*>PyBytes_AsString(mask) + * uint32_msk = (<uint32_t*>mask_buf)[0] + */ + if (!(likely(PyByteArray_CheckExact(__pyx_v_data))||((__pyx_v_data) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytearray", Py_TYPE(__pyx_v_data)->tp_name), 0))) __PYX_ERR(0, 31, __pyx_L1_error) + __pyx_t_5 = PyByteArray_AsString(((PyObject*)__pyx_v_data)); if (unlikely(__pyx_t_5 == ((char *)NULL))) __PYX_ERR(0, 31, __pyx_L1_error) + __pyx_v_in_buf = ((unsigned char *)__pyx_t_5); + + /* "aiohttp/_websocket.pyx":32 + * data_len = len(data) + * in_buf = <unsigned char*>PyByteArray_AsString(data) + * mask_buf = <const unsigned char*>PyBytes_AsString(mask) # <<<<<<<<<<<<<< + * uint32_msk = (<uint32_t*>mask_buf)[0] + * + */ + __pyx_t_5 = PyBytes_AsString(__pyx_v_mask); if (unlikely(__pyx_t_5 == ((char *)NULL))) __PYX_ERR(0, 32, __pyx_L1_error) + __pyx_v_mask_buf = ((unsigned char const *)__pyx_t_5); + + /* "aiohttp/_websocket.pyx":33 + * in_buf = <unsigned char*>PyByteArray_AsString(data) + * mask_buf = <const unsigned char*>PyBytes_AsString(mask) + * uint32_msk = (<uint32_t*>mask_buf)[0] # <<<<<<<<<<<<<< + * + * # TODO: align in_data ptr to achieve even faster speeds + */ + __pyx_v_uint32_msk = (((uint32_t *)__pyx_v_mask_buf)[0]); + + /* "aiohttp/_websocket.pyx":38 + * # does it need in python ?! malloc() always aligns to sizeof(long) bytes + * + * if sizeof(size_t) >= 8: # <<<<<<<<<<<<<< + * uint64_msk = uint32_msk + * uint64_msk = (uint64_msk << 32) | uint32_msk + */ + __pyx_t_2 = (((sizeof(size_t)) >= 8) != 0); + if (__pyx_t_2) { + + /* "aiohttp/_websocket.pyx":39 + * + * if sizeof(size_t) >= 8: + * uint64_msk = uint32_msk # <<<<<<<<<<<<<< + * uint64_msk = (uint64_msk << 32) | uint32_msk + * + */ + __pyx_v_uint64_msk = __pyx_v_uint32_msk; + + /* "aiohttp/_websocket.pyx":40 + * if sizeof(size_t) >= 8: + * uint64_msk = uint32_msk + * uint64_msk = (uint64_msk << 32) | uint32_msk # <<<<<<<<<<<<<< + * + * while data_len >= 8: + */ + __pyx_v_uint64_msk = ((__pyx_v_uint64_msk << 32) | __pyx_v_uint32_msk); + + /* "aiohttp/_websocket.pyx":42 + * uint64_msk = (uint64_msk << 32) | uint32_msk + * + * while data_len >= 8: # <<<<<<<<<<<<<< + * (<uint64_t*>in_buf)[0] ^= uint64_msk + * in_buf += 8 + */ + while (1) { + __pyx_t_2 = ((__pyx_v_data_len >= 8) != 0); + if (!__pyx_t_2) break; + + /* "aiohttp/_websocket.pyx":43 + * + * while data_len >= 8: + * (<uint64_t*>in_buf)[0] ^= uint64_msk # <<<<<<<<<<<<<< + * in_buf += 8 + * data_len -= 8 + */ + __pyx_t_6 = ((uint64_t *)__pyx_v_in_buf); + __pyx_t_7 = 0; + (__pyx_t_6[__pyx_t_7]) = ((__pyx_t_6[__pyx_t_7]) ^ __pyx_v_uint64_msk); + + /* "aiohttp/_websocket.pyx":44 + * while data_len >= 8: + * (<uint64_t*>in_buf)[0] ^= uint64_msk + * in_buf += 8 # <<<<<<<<<<<<<< + * data_len -= 8 + * + */ + __pyx_v_in_buf = (__pyx_v_in_buf + 8); + + /* "aiohttp/_websocket.pyx":45 + * (<uint64_t*>in_buf)[0] ^= uint64_msk + * in_buf += 8 + * data_len -= 8 # <<<<<<<<<<<<<< + * + * + */ + __pyx_v_data_len = (__pyx_v_data_len - 8); + } + + /* "aiohttp/_websocket.pyx":38 + * # does it need in python ?! malloc() always aligns to sizeof(long) bytes + * + * if sizeof(size_t) >= 8: # <<<<<<<<<<<<<< + * uint64_msk = uint32_msk + * uint64_msk = (uint64_msk << 32) | uint32_msk + */ + } + + /* "aiohttp/_websocket.pyx":48 + * + * + * while data_len >= 4: # <<<<<<<<<<<<<< + * (<uint32_t*>in_buf)[0] ^= uint32_msk + * in_buf += 4 + */ + while (1) { + __pyx_t_2 = ((__pyx_v_data_len >= 4) != 0); + if (!__pyx_t_2) break; + + /* "aiohttp/_websocket.pyx":49 + * + * while data_len >= 4: + * (<uint32_t*>in_buf)[0] ^= uint32_msk # <<<<<<<<<<<<<< + * in_buf += 4 + * data_len -= 4 + */ + __pyx_t_8 = ((uint32_t *)__pyx_v_in_buf); + __pyx_t_7 = 0; + (__pyx_t_8[__pyx_t_7]) = ((__pyx_t_8[__pyx_t_7]) ^ __pyx_v_uint32_msk); + + /* "aiohttp/_websocket.pyx":50 + * while data_len >= 4: + * (<uint32_t*>in_buf)[0] ^= uint32_msk + * in_buf += 4 # <<<<<<<<<<<<<< + * data_len -= 4 + * + */ + __pyx_v_in_buf = (__pyx_v_in_buf + 4); + + /* "aiohttp/_websocket.pyx":51 + * (<uint32_t*>in_buf)[0] ^= uint32_msk + * in_buf += 4 + * data_len -= 4 # <<<<<<<<<<<<<< + * + * for i in range(0, data_len): + */ + __pyx_v_data_len = (__pyx_v_data_len - 4); + } + + /* "aiohttp/_websocket.pyx":53 + * data_len -= 4 + * + * for i in range(0, data_len): # <<<<<<<<<<<<<< + * in_buf[i] ^= mask_buf[i] + */ + __pyx_t_1 = __pyx_v_data_len; + __pyx_t_9 = __pyx_t_1; + for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) { + __pyx_v_i = __pyx_t_10; + + /* "aiohttp/_websocket.pyx":54 + * + * for i in range(0, data_len): + * in_buf[i] ^= mask_buf[i] # <<<<<<<<<<<<<< + */ + __pyx_t_11 = __pyx_v_i; + (__pyx_v_in_buf[__pyx_t_11]) = ((__pyx_v_in_buf[__pyx_t_11]) ^ (__pyx_v_mask_buf[__pyx_v_i])); + } + + /* "aiohttp/_websocket.pyx":9 + * from libc.stdint cimport uint32_t, uint64_t, uintmax_t + * + * def _websocket_mask_cython(object mask, object data): # <<<<<<<<<<<<<< + * """Note, this function mutates its `data` argument + * """ + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("aiohttp._websocket._websocket_mask_cython", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_mask); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec__websocket(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec__websocket}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "_websocket", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_n_s_aiohttp__websocket, __pyx_k_aiohttp__websocket, sizeof(__pyx_k_aiohttp__websocket), 0, 0, 1, 1}, + {&__pyx_kp_s_aiohttp__websocket_pyx, __pyx_k_aiohttp__websocket_pyx, sizeof(__pyx_k_aiohttp__websocket_pyx), 0, 0, 1, 0}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, + {&__pyx_n_s_data_len, __pyx_k_data_len, sizeof(__pyx_k_data_len), 0, 0, 1, 1}, + {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, + {&__pyx_n_s_in_buf, __pyx_k_in_buf, sizeof(__pyx_k_in_buf), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_mask, __pyx_k_mask, sizeof(__pyx_k_mask), 0, 0, 1, 1}, + {&__pyx_n_s_mask_buf, __pyx_k_mask_buf, sizeof(__pyx_k_mask_buf), 0, 0, 1, 1}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_uint32_msk, __pyx_k_uint32_msk, sizeof(__pyx_k_uint32_msk), 0, 0, 1, 1}, + {&__pyx_n_s_uint64_msk, __pyx_k_uint64_msk, sizeof(__pyx_k_uint64_msk), 0, 0, 1, 1}, + {&__pyx_n_s_websocket_mask_cython, __pyx_k_websocket_mask_cython, sizeof(__pyx_k_websocket_mask_cython), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 53, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "aiohttp/_websocket.pyx":9 + * from libc.stdint cimport uint32_t, uint64_t, uintmax_t + * + * def _websocket_mask_cython(object mask, object data): # <<<<<<<<<<<<<< + * """Note, this function mutates its `data` argument + * """ + */ + __pyx_tuple_ = PyTuple_Pack(8, __pyx_n_s_mask, __pyx_n_s_data, __pyx_n_s_data_len, __pyx_n_s_i, __pyx_n_s_in_buf, __pyx_n_s_mask_buf, __pyx_n_s_uint32_msk, __pyx_n_s_uint64_msk); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple_); + __Pyx_GIVEREF(__pyx_tuple_); + __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple_, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_aiohttp__websocket_pyx, __pyx_n_s_websocket_mask_cython, 9, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", + #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 + sizeof(PyTypeObject), + #else + sizeof(PyHeapTypeObject), + #endif + __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(1, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_4bool_bool = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "bool", sizeof(PyBoolObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_4bool_bool) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_7complex_complex = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "complex", sizeof(PyComplexObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_7complex_complex) __PYX_ERR(3, 15, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#if PY_MAJOR_VERSION < 3 +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC void +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#else +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC init_websocket(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC init_websocket(void) +#else +__Pyx_PyMODINIT_FUNC PyInit__websocket(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit__websocket(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec__websocket(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module '_websocket' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #if CYTHON_REFNANNY +__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); +if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); +} +#endif + __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit__websocket(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + #ifdef WITH_THREAD /* Python build with threading support? */ + PyEval_InitThreads(); + #endif + #endif + /*--- Module creation code ---*/ + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("_websocket", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + #if CYTHON_COMPILING_IN_PYPY + Py_INCREF(__pyx_b); + #endif + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main_aiohttp___websocket) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "aiohttp._websocket")) { + if (unlikely(PyDict_SetItemString(modules, "aiohttp._websocket", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Global type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + (void)__Pyx_modinit_type_init_code(); + if (unlikely(__Pyx_modinit_type_import_code() != 0)) goto __pyx_L1_error; + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_function_import_code(); + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + + /* "aiohttp/_websocket.pyx":9 + * from libc.stdint cimport uint32_t, uint64_t, uintmax_t + * + * def _websocket_mask_cython(object mask, object data): # <<<<<<<<<<<<<< + * """Note, this function mutates its `data` argument + * """ + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7aiohttp_10_websocket_1_websocket_mask_cython, NULL, __pyx_n_s_aiohttp__websocket); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_websocket_mask_cython, __pyx_t_1) < 0) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "aiohttp/_websocket.pyx":1 + * from cpython cimport PyBytes_AsString # <<<<<<<<<<<<<< + * + * #from cpython cimport PyByteArray_AsString # cython still not exports that + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init aiohttp._websocket", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init aiohttp._websocket"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* PyCFunctionFastCall */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyFunctionFastCall */ +#if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCall */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = func->ob_type->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallMethO */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallOneArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* TypeImport */ +#ifndef __PYX_HAVE_RT_ImportType +#define __PYX_HAVE_RT_ImportType +static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, + size_t size, enum __Pyx_ImportType_CheckSize check_size) +{ + PyObject *result = 0; + char warning[200]; + Py_ssize_t basicsize; +#ifdef Py_LIMITED_API + PyObject *py_basicsize; +#endif + result = PyObject_GetAttrString(module, class_name); + if (!result) + goto bad; + if (!PyType_Check(result)) { + PyErr_Format(PyExc_TypeError, + "%.200s.%.200s is not a type object", + module_name, class_name); + goto bad; + } +#ifndef Py_LIMITED_API + basicsize = ((PyTypeObject *)result)->tp_basicsize; +#else + py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); + if (!py_basicsize) + goto bad; + basicsize = PyLong_AsSsize_t(py_basicsize); + Py_DECREF(py_basicsize); + py_basicsize = 0; + if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; +#endif + if ((size_t)basicsize < size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; + } + return (PyTypeObject *)result; +bad: + Py_XDECREF(result); + return NULL; +} +#endif + +/* PyErrFetchRestore */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* CLineInTraceback */ +#ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#endif + +/* CodeObjectCache */ +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ +#include "compile.h" +#include "frameobject.h" +#include "traceback.h" +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyObject *py_srcfile = 0; + PyObject *py_funcname = 0; + #if PY_MAJOR_VERSION < 3 + py_srcfile = PyString_FromString(filename); + #else + py_srcfile = PyUnicode_FromString(filename); + #endif + if (!py_srcfile) goto bad; + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + #else + py_funcname = PyUnicode_FromString(funcname); + #endif + } + if (!py_funcname) goto bad; + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + Py_DECREF(py_funcname); + return py_code; +bad: + Py_XDECREF(py_srcfile); + Py_XDECREF(py_funcname); + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + py_code = __pyx_find_code_object(c_line ? -c_line : py_line); + if (!py_code) { + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) goto bad; + __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); + } + py_frame = PyFrame_New( + tstate, /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* CIntFromPyVerify */ +#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* CIntFromPy */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { + const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* FastTypeChecks */ +#if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i<n; i++) { + if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1; + } +#endif + for (i=0; i<n; i++) { + PyObject *t = PyTuple_GET_ITEM(tuple, i); + #if PY_MAJOR_VERSION < 3 + if (likely(exc_type == t)) return 1; + #endif + if (likely(PyExceptionClass_Check(t))) { + if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1; + } else { + } + } + return 0; +} +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) { + if (likely(err == exc_type)) return 1; + if (likely(PyExceptionClass_Check(err))) { + if (likely(PyExceptionClass_Check(exc_type))) { + return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type); + } else if (likely(PyTuple_Check(exc_type))) { + return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type); + } else { + } + } + return PyErr_GivenExceptionMatches(err, exc_type); +} +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) { + assert(PyExceptionClass_Check(exc_type1)); + assert(PyExceptionClass_Check(exc_type2)); + if (likely(err == exc_type1 || err == exc_type2)) return 1; + if (likely(PyExceptionClass_Check(err))) { + return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2); + } + return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2)); +} +#endif + +/* CheckBinaryVersion */ +static int __Pyx_check_binary_version(void) { + char ctversion[4], rtversion[4]; + PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); + PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); + if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { + char message[200]; + PyOS_snprintf(message, sizeof(message), + "compiletime version %s of module '%.100s' " + "does not match runtime version %s", + ctversion, __Pyx_MODULE_NAME, rtversion); + return PyErr_WarnEx(NULL, message, 1); + } + return 0; +} + +/* InitStrings */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + if (PyObject_Hash(*t->p) == -1) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +} +#else +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(PyUnicode_IS_ASCII(o))) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +} +#endif +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS + PyNumberMethods *m; +#endif + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(PyLong_Check(x))) +#endif + return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS + m = Py_TYPE(x)->tp_as_number; + #if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(b); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/venv/lib/python3.6/site-packages/aiohttp/_websocket.cpython-36m-x86_64-linux-gnu.so b/venv/lib/python3.6/site-packages/aiohttp/_websocket.cpython-36m-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..80d66776aeb7ca4aaa46f4ee6f2feec7454fb41f GIT binary patch literal 102618 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 T^46a761`)5Awrja!}Navp6NbX literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/aiohttp/_websocket.pyx b/venv/lib/python3.6/site-packages/aiohttp/_websocket.pyx new file mode 100644 index 0000000..e4d992a --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/_websocket.pyx @@ -0,0 +1,54 @@ +from cpython cimport PyBytes_AsString + +#from cpython cimport PyByteArray_AsString # cython still not exports that +cdef extern from "Python.h": + char* PyByteArray_AsString(bytearray ba) except NULL + +from libc.stdint cimport uint32_t, uint64_t, uintmax_t + +def _websocket_mask_cython(object mask, object data): + """Note, this function mutates its `data` argument + """ + cdef: + Py_ssize_t data_len, i + # bit operations on signed integers are implementation-specific + unsigned char * in_buf + const unsigned char * mask_buf + uint32_t uint32_msk + uint64_t uint64_msk + + assert len(mask) == 4 + + if not isinstance(mask, bytes): + mask = bytes(mask) + + if isinstance(data, bytearray): + data = <bytearray>data + else: + data = bytearray(data) + + data_len = len(data) + in_buf = <unsigned char*>PyByteArray_AsString(data) + mask_buf = <const unsigned char*>PyBytes_AsString(mask) + uint32_msk = (<uint32_t*>mask_buf)[0] + + # TODO: align in_data ptr to achieve even faster speeds + # does it need in python ?! malloc() always aligns to sizeof(long) bytes + + if sizeof(size_t) >= 8: + uint64_msk = uint32_msk + uint64_msk = (uint64_msk << 32) | uint32_msk + + while data_len >= 8: + (<uint64_t*>in_buf)[0] ^= uint64_msk + in_buf += 8 + data_len -= 8 + + + while data_len >= 4: + (<uint32_t*>in_buf)[0] ^= uint32_msk + in_buf += 4 + data_len -= 4 + + for i in range(0, data_len): + in_buf[i] ^= mask_buf[i] diff --git a/venv/lib/python3.6/site-packages/aiohttp/abc.py b/venv/lib/python3.6/site-packages/aiohttp/abc.py new file mode 100644 index 0000000..58817c0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/abc.py @@ -0,0 +1,208 @@ +import asyncio +import logging +from abc import ABC, abstractmethod +from collections.abc import Sized +from http.cookies import BaseCookie, Morsel # noqa +from typing import ( + TYPE_CHECKING, + Any, + Awaitable, + Callable, + Dict, + Generator, + Iterable, + List, + Optional, + Tuple, +) + +from multidict import CIMultiDict # noqa +from yarl import URL + +from .helpers import get_running_loop +from .typedefs import LooseCookies + +if TYPE_CHECKING: # pragma: no cover + from .web_request import BaseRequest, Request + from .web_response import StreamResponse + from .web_app import Application + from .web_exceptions import HTTPException +else: + BaseRequest = Request = Application = StreamResponse = None + HTTPException = None + + +class AbstractRouter(ABC): + + def __init__(self) -> None: + self._frozen = False + + def post_init(self, app: Application) -> None: + """Post init stage. + + Not an abstract method for sake of backward compatibility, + but if the router wants to be aware of the application + it can override this. + """ + + @property + def frozen(self) -> bool: + return self._frozen + + def freeze(self) -> None: + """Freeze router.""" + self._frozen = True + + @abstractmethod + async def resolve(self, request: Request) -> 'AbstractMatchInfo': + """Return MATCH_INFO for given request""" + + +class AbstractMatchInfo(ABC): + + @property # pragma: no branch + @abstractmethod + def handler(self) -> Callable[[Request], Awaitable[StreamResponse]]: + """Execute matched request handler""" + + @property + @abstractmethod + def expect_handler(self) -> Callable[[Request], Awaitable[None]]: + """Expect handler for 100-continue processing""" + + @property # pragma: no branch + @abstractmethod + def http_exception(self) -> Optional[HTTPException]: + """HTTPException instance raised on router's resolving, or None""" + + @abstractmethod # pragma: no branch + def get_info(self) -> Dict[str, Any]: + """Return a dict with additional info useful for introspection""" + + @property # pragma: no branch + @abstractmethod + def apps(self) -> Tuple[Application, ...]: + """Stack of nested applications. + + Top level application is left-most element. + + """ + + @abstractmethod + def add_app(self, app: Application) -> None: + """Add application to the nested apps stack.""" + + @abstractmethod + def freeze(self) -> None: + """Freeze the match info. + + The method is called after route resolution. + + After the call .add_app() is forbidden. + + """ + + +class AbstractView(ABC): + """Abstract class based view.""" + + def __init__(self, request: Request) -> None: + self._request = request + + @property + def request(self) -> Request: + """Request instance.""" + return self._request + + @abstractmethod + def __await__(self) -> Generator[Any, None, StreamResponse]: + """Execute the view handler.""" + + +class AbstractResolver(ABC): + """Abstract DNS resolver.""" + + @abstractmethod + async def resolve(self, host: str, + port: int, family: int) -> List[Dict[str, Any]]: + """Return IP address for given hostname""" + + @abstractmethod + async def close(self) -> None: + """Release resolver""" + + +if TYPE_CHECKING: # pragma: no cover + IterableBase = Iterable[Morsel[str]] +else: + IterableBase = Iterable + + +class AbstractCookieJar(Sized, IterableBase): + """Abstract Cookie Jar.""" + + def __init__(self, *, + loop: Optional[asyncio.AbstractEventLoop]=None) -> None: + self._loop = get_running_loop(loop) + + @abstractmethod + def clear(self) -> None: + """Clear all cookies.""" + + @abstractmethod + def update_cookies(self, + cookies: LooseCookies, + response_url: URL=URL()) -> None: + """Update cookies.""" + + @abstractmethod + def filter_cookies(self, request_url: URL) -> 'BaseCookie[str]': + """Return the jar's cookies filtered by their attributes.""" + + +class AbstractStreamWriter(ABC): + """Abstract stream writer.""" + + buffer_size = 0 + output_size = 0 + length = 0 # type: Optional[int] + + @abstractmethod + async def write(self, chunk: bytes) -> None: + """Write chunk into stream.""" + + @abstractmethod + async def write_eof(self, chunk: bytes=b'') -> None: + """Write last chunk.""" + + @abstractmethod + async def drain(self) -> None: + """Flush the write buffer.""" + + @abstractmethod + def enable_compression(self, encoding: str='deflate') -> None: + """Enable HTTP body compression""" + + @abstractmethod + def enable_chunking(self) -> None: + """Enable HTTP chunked mode""" + + @abstractmethod + async def write_headers(self, status_line: str, + headers: 'CIMultiDict[str]') -> None: + """Write HTTP headers""" + + +class AbstractAccessLogger(ABC): + """Abstract writer to access log.""" + + def __init__(self, logger: logging.Logger, log_format: str) -> None: + self.logger = logger + self.log_format = log_format + + @abstractmethod + def log(self, + request: BaseRequest, + response: StreamResponse, + time: float) -> None: + """Emit log to logger.""" diff --git a/venv/lib/python3.6/site-packages/aiohttp/base_protocol.py b/venv/lib/python3.6/site-packages/aiohttp/base_protocol.py new file mode 100644 index 0000000..cf4f9da --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/base_protocol.py @@ -0,0 +1,81 @@ +import asyncio +from typing import Optional, cast + +from .tcp_helpers import tcp_nodelay + + +class BaseProtocol(asyncio.Protocol): + __slots__ = ('_loop', '_paused', '_drain_waiter', + '_connection_lost', 'transport') + + def __init__(self, loop: asyncio.AbstractEventLoop) -> None: + self._loop = loop # type: asyncio.AbstractEventLoop + self._paused = False + self._drain_waiter = None # type: Optional[asyncio.Future[None]] + self._connection_lost = False + self._reading_paused = False + + self.transport = None # type: Optional[asyncio.Transport] + + def pause_writing(self) -> None: + assert not self._paused + self._paused = True + + def resume_writing(self) -> None: + assert self._paused + self._paused = False + + waiter = self._drain_waiter + if waiter is not None: + self._drain_waiter = None + if not waiter.done(): + waiter.set_result(None) + + def pause_reading(self) -> None: + if not self._reading_paused and self.transport is not None: + try: + self.transport.pause_reading() + except (AttributeError, NotImplementedError, RuntimeError): + pass + self._reading_paused = True + + def resume_reading(self) -> None: + if self._reading_paused and self.transport is not None: + try: + self.transport.resume_reading() + except (AttributeError, NotImplementedError, RuntimeError): + pass + self._reading_paused = False + + def connection_made(self, transport: asyncio.BaseTransport) -> None: + tr = cast(asyncio.Transport, transport) + tcp_nodelay(tr, True) + self.transport = tr + + def connection_lost(self, exc: Optional[BaseException]) -> None: + self._connection_lost = True + # Wake up the writer if currently paused. + self.transport = None + if not self._paused: + return + waiter = self._drain_waiter + if waiter is None: + return + self._drain_waiter = None + if waiter.done(): + return + if exc is None: + waiter.set_result(None) + else: + waiter.set_exception(exc) + + async def _drain_helper(self) -> None: + if self._connection_lost: + raise ConnectionResetError('Connection lost') + if not self._paused: + return + waiter = self._drain_waiter + assert waiter is None or waiter.cancelled() + waiter = self._loop.create_future() + self._drain_waiter = waiter + await waiter diff --git a/venv/lib/python3.6/site-packages/aiohttp/client.py b/venv/lib/python3.6/site-packages/aiohttp/client.py new file mode 100644 index 0000000..c79823e --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/client.py @@ -0,0 +1,1139 @@ +"""HTTP Client for asyncio.""" + +import asyncio +import base64 +import hashlib +import json +import os +import sys +import traceback +import warnings +from types import SimpleNamespace, TracebackType +from typing import ( # noqa + Any, + Coroutine, + Generator, + Generic, + Iterable, + List, + Mapping, + Optional, + Set, + Tuple, + Type, + TypeVar, + Union, +) + +import attr +from multidict import CIMultiDict, MultiDict, MultiDictProxy, istr +from yarl import URL + +from . import hdrs, http, payload +from .abc import AbstractCookieJar +from .client_exceptions import ( + ClientConnectionError, + ClientConnectorCertificateError, + ClientConnectorError, + ClientConnectorSSLError, + ClientError, + ClientHttpProxyError, + ClientOSError, + ClientPayloadError, + ClientProxyConnectionError, + ClientResponseError, + ClientSSLError, + ContentTypeError, + InvalidURL, + ServerConnectionError, + ServerDisconnectedError, + ServerFingerprintMismatch, + ServerTimeoutError, + TooManyRedirects, + WSServerHandshakeError, +) +from .client_reqrep import ( + ClientRequest, + ClientResponse, + Fingerprint, + RequestInfo, + _merge_ssl_params, +) +from .client_ws import ClientWebSocketResponse +from .connector import BaseConnector, TCPConnector, UnixConnector +from .cookiejar import CookieJar +from .helpers import ( + DEBUG, + PY_36, + BasicAuth, + CeilTimeout, + TimeoutHandle, + get_running_loop, + proxies_from_env, + sentinel, + strip_auth_from_url, +) +from .http import WS_KEY, HttpVersion, WebSocketReader, WebSocketWriter +from .http_websocket import ( # noqa + WSHandshakeError, + WSMessage, + ws_ext_gen, + ws_ext_parse, +) +from .streams import FlowControlDataQueue +from .tracing import Trace, TraceConfig +from .typedefs import JSONEncoder, LooseCookies, LooseHeaders, StrOrURL + +__all__ = ( + # client_exceptions + 'ClientConnectionError', + 'ClientConnectorCertificateError', + 'ClientConnectorError', + 'ClientConnectorSSLError', + 'ClientError', + 'ClientHttpProxyError', + 'ClientOSError', + 'ClientPayloadError', + 'ClientProxyConnectionError', + 'ClientResponseError', + 'ClientSSLError', + 'ContentTypeError', + 'InvalidURL', + 'ServerConnectionError', + 'ServerDisconnectedError', + 'ServerFingerprintMismatch', + 'ServerTimeoutError', + 'TooManyRedirects', + 'WSServerHandshakeError', + # client_reqrep + 'ClientRequest', + 'ClientResponse', + 'Fingerprint', + 'RequestInfo', + # connector + 'BaseConnector', + 'TCPConnector', + 'UnixConnector', + # client_ws + 'ClientWebSocketResponse', + # client + 'ClientSession', + 'ClientTimeout', + 'request') + + +try: + from ssl import SSLContext +except ImportError: # pragma: no cover + SSLContext = object # type: ignore + + +@attr.s(frozen=True, slots=True) +class ClientTimeout: + total = attr.ib(type=Optional[float], default=None) + connect = attr.ib(type=Optional[float], default=None) + sock_read = attr.ib(type=Optional[float], default=None) + sock_connect = attr.ib(type=Optional[float], default=None) + + # pool_queue_timeout = attr.ib(type=float, default=None) + # dns_resolution_timeout = attr.ib(type=float, default=None) + # socket_connect_timeout = attr.ib(type=float, default=None) + # connection_acquiring_timeout = attr.ib(type=float, default=None) + # new_connection_timeout = attr.ib(type=float, default=None) + # http_header_timeout = attr.ib(type=float, default=None) + # response_body_timeout = attr.ib(type=float, default=None) + + # to create a timeout specific for a single request, either + # - create a completely new one to overwrite the default + # - or use http://www.attrs.org/en/stable/api.html#attr.evolve + # to overwrite the defaults + + +# 5 Minute default read timeout +DEFAULT_TIMEOUT = ClientTimeout(total=5*60) + +_RetType = TypeVar('_RetType') + + +class ClientSession: + """First-class interface for making HTTP requests.""" + + ATTRS = frozenset([ + '_source_traceback', '_connector', + 'requote_redirect_url', '_loop', '_cookie_jar', + '_connector_owner', '_default_auth', + '_version', '_json_serialize', + '_requote_redirect_url', + '_timeout', '_raise_for_status', '_auto_decompress', + '_trust_env', '_default_headers', '_skip_auto_headers', + '_request_class', '_response_class', + '_ws_response_class', '_trace_configs']) + + _source_traceback = None + _connector = None + + def __init__(self, *, connector: Optional[BaseConnector]=None, + loop: Optional[asyncio.AbstractEventLoop]=None, + cookies: Optional[LooseCookies]=None, + headers: Optional[LooseHeaders]=None, + skip_auto_headers: Optional[Iterable[str]]=None, + auth: Optional[BasicAuth]=None, + json_serialize: JSONEncoder=json.dumps, + request_class: Type[ClientRequest]=ClientRequest, + response_class: Type[ClientResponse]=ClientResponse, + ws_response_class: Type[ClientWebSocketResponse]=ClientWebSocketResponse, # noqa + version: HttpVersion=http.HttpVersion11, + cookie_jar: Optional[AbstractCookieJar]=None, + connector_owner: bool=True, + raise_for_status: bool=False, + read_timeout: Union[float, object]=sentinel, + conn_timeout: Optional[float]=None, + timeout: Union[object, ClientTimeout]=sentinel, + auto_decompress: bool=True, + trust_env: bool=False, + requote_redirect_url: bool=True, + trace_configs: Optional[List[TraceConfig]]=None) -> None: + + if loop is None: + if connector is not None: + loop = connector._loop + + loop = get_running_loop(loop) + + if connector is None: + connector = TCPConnector(loop=loop) + + if connector._loop is not loop: + raise RuntimeError( + "Session and connector has to use same event loop") + + self._loop = loop + + if loop.get_debug(): + self._source_traceback = traceback.extract_stack(sys._getframe(1)) + + if cookie_jar is None: + cookie_jar = CookieJar(loop=loop) + self._cookie_jar = cookie_jar + + if cookies is not None: + self._cookie_jar.update_cookies(cookies) + + self._connector = connector # type: BaseConnector + self._connector_owner = connector_owner + self._default_auth = auth + self._version = version + self._json_serialize = json_serialize + if timeout is sentinel: + self._timeout = DEFAULT_TIMEOUT + if read_timeout is not sentinel: + warnings.warn("read_timeout is deprecated, " + "use timeout argument instead", + DeprecationWarning, + stacklevel=2) + self._timeout = attr.evolve(self._timeout, total=read_timeout) + if conn_timeout is not None: + self._timeout = attr.evolve(self._timeout, + connect=conn_timeout) + warnings.warn("conn_timeout is deprecated, " + "use timeout argument instead", + DeprecationWarning, + stacklevel=2) + else: + self._timeout = timeout # type: ignore + if read_timeout is not sentinel: + raise ValueError("read_timeout and timeout parameters " + "conflict, please setup " + "timeout.read") + if conn_timeout is not None: + raise ValueError("conn_timeout and timeout parameters " + "conflict, please setup " + "timeout.connect") + self._raise_for_status = raise_for_status + self._auto_decompress = auto_decompress + self._trust_env = trust_env + self._requote_redirect_url = requote_redirect_url + + # Convert to list of tuples + if headers: + headers = CIMultiDict(headers) + else: + headers = CIMultiDict() + self._default_headers = headers + if skip_auto_headers is not None: + self._skip_auto_headers = frozenset([istr(i) + for i in skip_auto_headers]) + else: + self._skip_auto_headers = frozenset() + + self._request_class = request_class + self._response_class = response_class + self._ws_response_class = ws_response_class + + self._trace_configs = trace_configs or [] + for trace_config in self._trace_configs: + trace_config.freeze() + + def __init_subclass__(cls: Type['ClientSession']) -> None: + warnings.warn("Inheritance class {} from ClientSession " + "is discouraged".format(cls.__name__), + DeprecationWarning, + stacklevel=2) + + if DEBUG: + def __setattr__(self, name: str, val: Any) -> None: + if name not in self.ATTRS: + warnings.warn("Setting custom ClientSession.{} attribute " + "is discouraged".format(name), + DeprecationWarning, + stacklevel=2) + super().__setattr__(name, val) + + def __del__(self, _warnings: Any=warnings) -> None: + if not self.closed: + if PY_36: + kwargs = {'source': self} + else: + kwargs = {} + _warnings.warn("Unclosed client session {!r}".format(self), + ResourceWarning, + **kwargs) + context = {'client_session': self, + 'message': 'Unclosed client session'} + if self._source_traceback is not None: + context['source_traceback'] = self._source_traceback + self._loop.call_exception_handler(context) + + def request(self, + method: str, + url: StrOrURL, + **kwargs: Any) -> '_RequestContextManager': + """Perform HTTP request.""" + return _RequestContextManager(self._request(method, url, **kwargs)) + + async def _request( + self, + method: str, + str_or_url: StrOrURL, *, + params: Optional[Mapping[str, str]]=None, + data: Any=None, + json: Any=None, + cookies: Optional[LooseCookies]=None, + headers: LooseHeaders=None, + skip_auto_headers: Optional[Iterable[str]]=None, + auth: Optional[BasicAuth]=None, + allow_redirects: bool=True, + max_redirects: int=10, + compress: Optional[str]=None, + chunked: Optional[bool]=None, + expect100: bool=False, + raise_for_status: Optional[bool]=None, + read_until_eof: bool=True, + proxy: Optional[StrOrURL]=None, + proxy_auth: Optional[BasicAuth]=None, + timeout: Union[ClientTimeout, object]=sentinel, + verify_ssl: Optional[bool]=None, + fingerprint: Optional[bytes]=None, + ssl_context: Optional[SSLContext]=None, + ssl: Optional[Union[SSLContext, bool, Fingerprint]]=None, + proxy_headers: Optional[LooseHeaders]=None, + trace_request_ctx: Optional[SimpleNamespace]=None + ) -> ClientResponse: + + # NOTE: timeout clamps existing connect and read timeouts. We cannot + # set the default to None because we need to detect if the user wants + # to use the existing timeouts by setting timeout to None. + + if self.closed: + raise RuntimeError('Session is closed') + + ssl = _merge_ssl_params(ssl, verify_ssl, ssl_context, fingerprint) + + if data is not None and json is not None: + raise ValueError( + 'data and json parameters can not be used at the same time') + elif json is not None: + data = payload.JsonPayload(json, dumps=self._json_serialize) + + if not isinstance(chunked, bool) and chunked is not None: + warnings.warn( + 'Chunk size is deprecated #1615', DeprecationWarning) + + redirects = 0 + history = [] + version = self._version + + # Merge with default headers and transform to CIMultiDict + headers = self._prepare_headers(headers) + proxy_headers = self._prepare_headers(proxy_headers) + + try: + url = URL(str_or_url) + except ValueError: + raise InvalidURL(str_or_url) + + skip_headers = set(self._skip_auto_headers) + if skip_auto_headers is not None: + for i in skip_auto_headers: + skip_headers.add(istr(i)) + + if proxy is not None: + try: + proxy = URL(proxy) + except ValueError: + raise InvalidURL(proxy) + + if timeout is sentinel: + real_timeout = self._timeout # type: ClientTimeout + else: + if not isinstance(timeout, ClientTimeout): + real_timeout = ClientTimeout(total=timeout) # type: ignore + else: + real_timeout = timeout + # timeout is cumulative for all request operations + # (request, redirects, responses, data consuming) + tm = TimeoutHandle(self._loop, real_timeout.total) + handle = tm.start() + + traces = [ + Trace( + self, + trace_config, + trace_config.trace_config_ctx( + trace_request_ctx=trace_request_ctx) + ) + for trace_config in self._trace_configs + ] + + for trace in traces: + await trace.send_request_start( + method, + url, + headers + ) + + timer = tm.timer() + try: + with timer: + while True: + url, auth_from_url = strip_auth_from_url(url) + if auth and auth_from_url: + raise ValueError("Cannot combine AUTH argument with " + "credentials encoded in URL") + + if auth is None: + auth = auth_from_url + if auth is None: + auth = self._default_auth + # It would be confusing if we support explicit + # Authorization header with auth argument + if (headers is not None and + auth is not None and + hdrs.AUTHORIZATION in headers): + raise ValueError("Cannot combine AUTHORIZATION header " + "with AUTH argument or credentials " + "encoded in URL") + + session_cookies = self._cookie_jar.filter_cookies(url) + + if cookies is not None: + tmp_cookie_jar = CookieJar() + tmp_cookie_jar.update_cookies(cookies) + req_cookies = tmp_cookie_jar.filter_cookies(url) + if req_cookies: + session_cookies.load(req_cookies) + + cookies = session_cookies + + if proxy is not None: + proxy = URL(proxy) + elif self._trust_env: + for scheme, proxy_info in proxies_from_env().items(): + if scheme == url.scheme: + proxy = proxy_info.proxy + proxy_auth = proxy_info.proxy_auth + break + + req = self._request_class( + method, url, params=params, headers=headers, + skip_auto_headers=skip_headers, data=data, + cookies=cookies, auth=auth, version=version, + compress=compress, chunked=chunked, + expect100=expect100, loop=self._loop, + response_class=self._response_class, + proxy=proxy, proxy_auth=proxy_auth, timer=timer, + session=self, + ssl=ssl, proxy_headers=proxy_headers, traces=traces) + + # connection timeout + try: + with CeilTimeout(real_timeout.connect, + loop=self._loop): + assert self._connector is not None + conn = await self._connector.connect( + req, + traces=traces, + timeout=real_timeout + ) + except asyncio.TimeoutError as exc: + raise ServerTimeoutError( + 'Connection timeout ' + 'to host {0}'.format(url)) from exc + + assert conn.transport is not None + + assert conn.protocol is not None + conn.protocol.set_response_params( + timer=timer, + skip_payload=method.upper() == 'HEAD', + read_until_eof=read_until_eof, + auto_decompress=self._auto_decompress, + read_timeout=real_timeout.sock_read) + + try: + try: + resp = await req.send(conn) + try: + await resp.start(conn) + except BaseException: + resp.close() + raise + except BaseException: + conn.close() + raise + except ClientError: + raise + except OSError as exc: + raise ClientOSError(*exc.args) from exc + + self._cookie_jar.update_cookies(resp.cookies, resp.url) + + # redirects + if resp.status in ( + 301, 302, 303, 307, 308) and allow_redirects: + + for trace in traces: + await trace.send_request_redirect( + method, + url, + headers, + resp + ) + + redirects += 1 + history.append(resp) + if max_redirects and redirects >= max_redirects: + resp.close() + raise TooManyRedirects( + history[0].request_info, tuple(history)) + + # For 301 and 302, mimic IE, now changed in RFC + # https://github.com/kennethreitz/requests/pull/269 + if (resp.status == 303 and + resp.method != hdrs.METH_HEAD) \ + or (resp.status in (301, 302) and + resp.method == hdrs.METH_POST): + method = hdrs.METH_GET + data = None + if headers.get(hdrs.CONTENT_LENGTH): + headers.pop(hdrs.CONTENT_LENGTH) + + r_url = (resp.headers.get(hdrs.LOCATION) or + resp.headers.get(hdrs.URI)) + if r_url is None: + # see github.com/aio-libs/aiohttp/issues/2022 + break + else: + # reading from correct redirection + # response is forbidden + resp.release() + + try: + r_url = URL( + r_url, encoded=not self._requote_redirect_url) + + except ValueError: + raise InvalidURL(r_url) + + scheme = r_url.scheme + if scheme not in ('http', 'https', ''): + resp.close() + raise ValueError( + 'Can redirect only to http or https') + elif not scheme: + r_url = url.join(r_url) + + if url.origin() != r_url.origin(): + auth = None + headers.pop(hdrs.AUTHORIZATION, None) + + url = r_url + params = None + resp.release() + continue + + break + + # check response status + if raise_for_status is None: + raise_for_status = self._raise_for_status + if raise_for_status: + resp.raise_for_status() + + # register connection + if handle is not None: + if resp.connection is not None: + resp.connection.add_callback(handle.cancel) + else: + handle.cancel() + + resp._history = tuple(history) + + for trace in traces: + await trace.send_request_end( + method, + url, + headers, + resp + ) + return resp + + except BaseException as e: + # cleanup timer + tm.close() + if handle: + handle.cancel() + handle = None + + for trace in traces: + await trace.send_request_exception( + method, + url, + headers, + e + ) + raise + + def ws_connect( + self, + url: StrOrURL, *, + method: str=hdrs.METH_GET, + protocols: Iterable[str]=(), + timeout: float=10.0, + receive_timeout: Optional[float]=None, + autoclose: bool=True, + autoping: bool=True, + heartbeat: Optional[float]=None, + auth: Optional[BasicAuth]=None, + origin: Optional[str]=None, + headers: Optional[LooseHeaders]=None, + proxy: Optional[StrOrURL]=None, + proxy_auth: Optional[BasicAuth]=None, + ssl: Union[SSLContext, bool, None, Fingerprint]=None, + verify_ssl: Optional[bool]=None, + fingerprint: Optional[bytes]=None, + ssl_context: Optional[SSLContext]=None, + proxy_headers: Optional[LooseHeaders]=None, + compress: int=0, + max_msg_size: int=4*1024*1024) -> '_WSRequestContextManager': + """Initiate websocket connection.""" + return _WSRequestContextManager( + self._ws_connect(url, + method=method, + protocols=protocols, + timeout=timeout, + receive_timeout=receive_timeout, + autoclose=autoclose, + autoping=autoping, + heartbeat=heartbeat, + auth=auth, + origin=origin, + headers=headers, + proxy=proxy, + proxy_auth=proxy_auth, + ssl=ssl, + verify_ssl=verify_ssl, + fingerprint=fingerprint, + ssl_context=ssl_context, + proxy_headers=proxy_headers, + compress=compress, + max_msg_size=max_msg_size)) + + async def _ws_connect( + self, + url: StrOrURL, *, + method: str=hdrs.METH_GET, + protocols: Iterable[str]=(), + timeout: float=10.0, + receive_timeout: Optional[float]=None, + autoclose: bool=True, + autoping: bool=True, + heartbeat: Optional[float]=None, + auth: Optional[BasicAuth]=None, + origin: Optional[str]=None, + headers: Optional[LooseHeaders]=None, + proxy: Optional[StrOrURL]=None, + proxy_auth: Optional[BasicAuth]=None, + ssl: Union[SSLContext, bool, None, Fingerprint]=None, + verify_ssl: Optional[bool]=None, + fingerprint: Optional[bytes]=None, + ssl_context: Optional[SSLContext]=None, + proxy_headers: Optional[LooseHeaders]=None, + compress: int=0, + max_msg_size: int=4*1024*1024 + ) -> ClientWebSocketResponse: + + if headers is None: + real_headers = CIMultiDict() # type: CIMultiDict[str] + else: + real_headers = CIMultiDict(headers) + + default_headers = { + hdrs.UPGRADE: hdrs.WEBSOCKET, + hdrs.CONNECTION: hdrs.UPGRADE, + hdrs.SEC_WEBSOCKET_VERSION: '13', + } + + for key, value in default_headers.items(): + real_headers.setdefault(key, value) + + sec_key = base64.b64encode(os.urandom(16)) + real_headers[hdrs.SEC_WEBSOCKET_KEY] = sec_key.decode() + + if protocols: + real_headers[hdrs.SEC_WEBSOCKET_PROTOCOL] = ','.join(protocols) + if origin is not None: + real_headers[hdrs.ORIGIN] = origin + if compress: + extstr = ws_ext_gen(compress=compress) + real_headers[hdrs.SEC_WEBSOCKET_EXTENSIONS] = extstr + + ssl = _merge_ssl_params(ssl, verify_ssl, ssl_context, fingerprint) + + # send request + resp = await self.request(method, url, + headers=real_headers, + read_until_eof=False, + auth=auth, + proxy=proxy, + proxy_auth=proxy_auth, + ssl=ssl, + proxy_headers=proxy_headers) + + try: + # check handshake + if resp.status != 101: + raise WSServerHandshakeError( + resp.request_info, + resp.history, + message='Invalid response status', + status=resp.status, + headers=resp.headers) + + if resp.headers.get(hdrs.UPGRADE, '').lower() != 'websocket': + raise WSServerHandshakeError( + resp.request_info, + resp.history, + message='Invalid upgrade header', + status=resp.status, + headers=resp.headers) + + if resp.headers.get(hdrs.CONNECTION, '').lower() != 'upgrade': + raise WSServerHandshakeError( + resp.request_info, + resp.history, + message='Invalid connection header', + status=resp.status, + headers=resp.headers) + + # key calculation + key = resp.headers.get(hdrs.SEC_WEBSOCKET_ACCEPT, '') + match = base64.b64encode( + hashlib.sha1(sec_key + WS_KEY).digest()).decode() + if key != match: + raise WSServerHandshakeError( + resp.request_info, + resp.history, + message='Invalid challenge response', + status=resp.status, + headers=resp.headers) + + # websocket protocol + protocol = None + if protocols and hdrs.SEC_WEBSOCKET_PROTOCOL in resp.headers: + resp_protocols = [ + proto.strip() for proto in + resp.headers[hdrs.SEC_WEBSOCKET_PROTOCOL].split(',')] + + for proto in resp_protocols: + if proto in protocols: + protocol = proto + break + + # websocket compress + notakeover = False + if compress: + compress_hdrs = resp.headers.get(hdrs.SEC_WEBSOCKET_EXTENSIONS) + if compress_hdrs: + try: + compress, notakeover = ws_ext_parse(compress_hdrs) + except WSHandshakeError as exc: + raise WSServerHandshakeError( + resp.request_info, + resp.history, + message=exc.args[0], + status=resp.status, + headers=resp.headers) + else: + compress = 0 + notakeover = False + + conn = resp.connection + assert conn is not None + proto = conn.protocol + assert proto is not None + transport = conn.transport + assert transport is not None + reader = FlowControlDataQueue( + proto, limit=2 ** 16, loop=self._loop) # type: FlowControlDataQueue[WSMessage] # noqa + proto.set_parser(WebSocketReader(reader, max_msg_size), reader) + writer = WebSocketWriter( + proto, transport, use_mask=True, + compress=compress, notakeover=notakeover) + except BaseException: + resp.close() + raise + else: + return self._ws_response_class(reader, + writer, + protocol, + resp, + timeout, + autoclose, + autoping, + self._loop, + receive_timeout=receive_timeout, + heartbeat=heartbeat, + compress=compress, + client_notakeover=notakeover) + + def _prepare_headers( + self, + headers: Optional[LooseHeaders]) -> 'CIMultiDict[str]': + """ Add default headers and transform it to CIMultiDict + """ + # Convert headers to MultiDict + result = CIMultiDict(self._default_headers) + if headers: + if not isinstance(headers, (MultiDictProxy, MultiDict)): + headers = CIMultiDict(headers) + added_names = set() # type: Set[str] + for key, value in headers.items(): + if key in added_names: + result.add(key, value) + else: + result[key] = value + added_names.add(key) + return result + + def get(self, url: StrOrURL, *, allow_redirects: bool=True, + **kwargs: Any) -> '_RequestContextManager': + """Perform HTTP GET request.""" + return _RequestContextManager( + self._request(hdrs.METH_GET, url, + allow_redirects=allow_redirects, + **kwargs)) + + def options(self, url: StrOrURL, *, allow_redirects: bool=True, + **kwargs: Any) -> '_RequestContextManager': + """Perform HTTP OPTIONS request.""" + return _RequestContextManager( + self._request(hdrs.METH_OPTIONS, url, + allow_redirects=allow_redirects, + **kwargs)) + + def head(self, url: StrOrURL, *, allow_redirects: bool=False, + **kwargs: Any) -> '_RequestContextManager': + """Perform HTTP HEAD request.""" + return _RequestContextManager( + self._request(hdrs.METH_HEAD, url, + allow_redirects=allow_redirects, + **kwargs)) + + def post(self, url: StrOrURL, + *, data: Any=None, **kwargs: Any) -> '_RequestContextManager': + """Perform HTTP POST request.""" + return _RequestContextManager( + self._request(hdrs.METH_POST, url, + data=data, + **kwargs)) + + def put(self, url: StrOrURL, + *, data: Any=None, **kwargs: Any) -> '_RequestContextManager': + """Perform HTTP PUT request.""" + return _RequestContextManager( + self._request(hdrs.METH_PUT, url, + data=data, + **kwargs)) + + def patch(self, url: StrOrURL, + *, data: Any=None, **kwargs: Any) -> '_RequestContextManager': + """Perform HTTP PATCH request.""" + return _RequestContextManager( + self._request(hdrs.METH_PATCH, url, + data=data, + **kwargs)) + + def delete(self, url: StrOrURL, **kwargs: Any) -> '_RequestContextManager': + """Perform HTTP DELETE request.""" + return _RequestContextManager( + self._request(hdrs.METH_DELETE, url, + **kwargs)) + + async def close(self) -> None: + """Close underlying connector. + + Release all acquired resources. + """ + if not self.closed: + if self._connector is not None and self._connector_owner: + await self._connector.close() + self._connector = None + + @property + def closed(self) -> bool: + """Is client session closed. + + A readonly property. + """ + return self._connector is None or self._connector.closed + + @property + def connector(self) -> Optional[BaseConnector]: + """Connector instance used for the session.""" + return self._connector + + @property + def cookie_jar(self) -> AbstractCookieJar: + """The session cookies.""" + return self._cookie_jar + + @property + def version(self) -> Tuple[int, int]: + """The session HTTP protocol version.""" + return self._version + + @property + def requote_redirect_url(self) -> bool: + """Do URL requoting on redirection handling.""" + return self._requote_redirect_url + + @requote_redirect_url.setter + def requote_redirect_url(self, val: bool) -> None: + """Do URL requoting on redirection handling.""" + warnings.warn("session.requote_redirect_url modification " + "is deprecated #2778", + DeprecationWarning, + stacklevel=2) + self._requote_redirect_url = val + + @property + def loop(self) -> asyncio.AbstractEventLoop: + """Session's loop.""" + warnings.warn("client.loop property is deprecated", + DeprecationWarning, + stacklevel=2) + return self._loop + + def detach(self) -> None: + """Detach connector from session without closing the former. + + Session is switched to closed state anyway. + """ + self._connector = None + + def __enter__(self) -> None: + raise TypeError("Use async with instead") + + def __exit__(self, + exc_type: Optional[Type[BaseException]], + exc_val: Optional[BaseException], + exc_tb: Optional[TracebackType]) -> None: + # __exit__ should exist in pair with __enter__ but never executed + pass # pragma: no cover + + async def __aenter__(self) -> 'ClientSession': + return self + + async def __aexit__(self, + exc_type: Optional[Type[BaseException]], + exc_val: Optional[BaseException], + exc_tb: Optional[TracebackType]) -> None: + await self.close() + + +class _BaseRequestContextManager(Coroutine[Any, + Any, + _RetType], + Generic[_RetType]): + + __slots__ = ('_coro', '_resp') + + def __init__( + self, + coro: Coroutine['asyncio.Future[Any]', None, _RetType] + ) -> None: + self._coro = coro + + def send(self, arg: None) -> 'asyncio.Future[Any]': + return self._coro.send(arg) + + def throw(self, arg: BaseException) -> None: # type: ignore + self._coro.throw(arg) # type: ignore + + def close(self) -> None: + return self._coro.close() + + def __await__(self) -> Generator[Any, None, _RetType]: + ret = self._coro.__await__() + return ret + + def __iter__(self) -> Generator[Any, None, _RetType]: + return self.__await__() + + async def __aenter__(self) -> _RetType: + self._resp = await self._coro + return self._resp + + +class _RequestContextManager(_BaseRequestContextManager[ClientResponse]): + async def __aexit__(self, + exc_type: Optional[Type[BaseException]], + exc: Optional[BaseException], + tb: Optional[TracebackType]) -> None: + # We're basing behavior on the exception as it can be caused by + # user code unrelated to the status of the connection. If you + # would like to close a connection you must do that + # explicitly. Otherwise connection error handling should kick in + # and close/recycle the connection as required. + self._resp.release() + + +class _WSRequestContextManager(_BaseRequestContextManager[ + ClientWebSocketResponse]): + async def __aexit__(self, + exc_type: Optional[Type[BaseException]], + exc: Optional[BaseException], + tb: Optional[TracebackType]) -> None: + await self._resp.close() + + +class _SessionRequestContextManager: + + __slots__ = ('_coro', '_resp', '_session') + + def __init__(self, + coro: Coroutine['asyncio.Future[Any]', None, ClientResponse], + session: ClientSession) -> None: + self._coro = coro + self._resp = None # type: Optional[ClientResponse] + self._session = session + + async def __aenter__(self) -> ClientResponse: + self._resp = await self._coro + return self._resp + + async def __aexit__(self, + exc_type: Optional[Type[BaseException]], + exc: Optional[BaseException], + tb: Optional[TracebackType]) -> None: + assert self._resp is not None + self._resp.close() + await self._session.close() + + +def request( + method: str, + url: StrOrURL, *, + params: Optional[Mapping[str, str]]=None, + data: Any=None, + json: Any=None, + headers: LooseHeaders=None, + skip_auto_headers: Optional[Iterable[str]]=None, + auth: Optional[BasicAuth]=None, + allow_redirects: bool=True, + max_redirects: int=10, + compress: Optional[str]=None, + chunked: Optional[bool]=None, + expect100: bool=False, + raise_for_status: Optional[bool]=None, + read_until_eof: bool=True, + proxy: Optional[StrOrURL]=None, + proxy_auth: Optional[BasicAuth]=None, + timeout: Union[ClientTimeout, object]=sentinel, + cookies: Optional[LooseCookies]=None, + version: HttpVersion=http.HttpVersion11, + connector: Optional[BaseConnector]=None, + loop: Optional[asyncio.AbstractEventLoop]=None +) -> _SessionRequestContextManager: + """Constructs and sends a request. Returns response object. + method - HTTP method + url - request url + params - (optional) Dictionary or bytes to be sent in the query + string of the new request + data - (optional) Dictionary, bytes, or file-like object to + send in the body of the request + json - (optional) Any json compatible python object + headers - (optional) Dictionary of HTTP Headers to send with + the request + cookies - (optional) Dict object to send with the request + auth - (optional) BasicAuth named tuple represent HTTP Basic Auth + auth - aiohttp.helpers.BasicAuth + allow_redirects - (optional) If set to False, do not follow + redirects + version - Request HTTP version. + compress - Set to True if request has to be compressed + with deflate encoding. + chunked - Set to chunk size for chunked transfer encoding. + expect100 - Expect 100-continue response from server. + connector - BaseConnector sub-class instance to support + connection pooling. + read_until_eof - Read response until eof if response + does not have Content-Length header. + loop - Optional event loop. + timeout - Optional ClientTimeout settings structure, 5min + total timeout by default. + Usage:: + >>> import aiohttp + >>> resp = await aiohttp.request('GET', 'http://python.org/') + >>> resp + <ClientResponse(python.org/) [200]> + >>> data = await resp.read() + """ + connector_owner = False + if connector is None: + connector_owner = True + connector = TCPConnector(loop=loop, force_close=True) + + session = ClientSession( + loop=loop, cookies=cookies, version=version, timeout=timeout, + connector=connector, connector_owner=connector_owner) + + return _SessionRequestContextManager( + session._request(method, url, + params=params, + data=data, + json=json, + headers=headers, + skip_auto_headers=skip_auto_headers, + auth=auth, + allow_redirects=allow_redirects, + max_redirects=max_redirects, + compress=compress, + chunked=chunked, + expect100=expect100, + raise_for_status=raise_for_status, + read_until_eof=read_until_eof, + proxy=proxy, + proxy_auth=proxy_auth,), + session) diff --git a/venv/lib/python3.6/site-packages/aiohttp/client_exceptions.py b/venv/lib/python3.6/site-packages/aiohttp/client_exceptions.py new file mode 100644 index 0000000..e06077a --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/client_exceptions.py @@ -0,0 +1,268 @@ +"""HTTP related errors.""" + +import asyncio +import warnings +from typing import TYPE_CHECKING, Any, Optional, Tuple, Union + +from .typedefs import _CIMultiDict + +try: + import ssl + SSLContext = ssl.SSLContext +except ImportError: # pragma: no cover + ssl = SSLContext = None # type: ignore + + +if TYPE_CHECKING: # pragma: no cover + from .client_reqrep import (RequestInfo, ClientResponse, ConnectionKey, # noqa + Fingerprint) +else: + RequestInfo = ClientResponse = ConnectionKey = None + + +__all__ = ( + 'ClientError', + + 'ClientConnectionError', + 'ClientOSError', 'ClientConnectorError', 'ClientProxyConnectionError', + + 'ClientSSLError', + 'ClientConnectorSSLError', 'ClientConnectorCertificateError', + + 'ServerConnectionError', 'ServerTimeoutError', 'ServerDisconnectedError', + 'ServerFingerprintMismatch', + + 'ClientResponseError', 'ClientHttpProxyError', + 'WSServerHandshakeError', 'ContentTypeError', + + 'ClientPayloadError', 'InvalidURL') + + +class ClientError(Exception): + """Base class for client connection errors.""" + + +class ClientResponseError(ClientError): + """Connection error during reading response. + + request_info: instance of RequestInfo + """ + + def __init__(self, request_info: RequestInfo, + history: Tuple[ClientResponse, ...], *, + code: Optional[int]=None, + status: Optional[int]=None, + message: str='', + headers: Optional[_CIMultiDict]=None) -> None: + self.request_info = request_info + if code is not None: + if status is not None: + raise ValueError( + "Both code and status arguments are provided; " + "code is deprecated, use status instead") + warnings.warn("code argument is deprecated, use status instead", + DeprecationWarning, + stacklevel=2) + if status is not None: + self.status = status + elif code is not None: + self.status = code + else: + self.status = 0 + self.message = message + self.headers = headers + self.history = history + + super().__init__("%s, message='%s'" % (self.status, message)) + + @property + def code(self) -> int: + warnings.warn("code property is deprecated, use status instead", + DeprecationWarning, + stacklevel=2) + return self.status + + @code.setter + def code(self, value: int) -> None: + warnings.warn("code property is deprecated, use status instead", + DeprecationWarning, + stacklevel=2) + self.status = value + + +class ContentTypeError(ClientResponseError): + """ContentType found is not valid.""" + + +class WSServerHandshakeError(ClientResponseError): + """websocket server handshake error.""" + + +class ClientHttpProxyError(ClientResponseError): + """HTTP proxy error. + + Raised in :class:`aiohttp.connector.TCPConnector` if + proxy responds with status other than ``200 OK`` + on ``CONNECT`` request. + """ + + +class TooManyRedirects(ClientResponseError): + """Client was redirected too many times.""" + + +class ClientConnectionError(ClientError): + """Base class for client socket errors.""" + + +class ClientOSError(ClientConnectionError, OSError): + """OSError error.""" + + +class ClientConnectorError(ClientOSError): + """Client connector error. + + Raised in :class:`aiohttp.connector.TCPConnector` if + connection to proxy can not be established. + """ + def __init__(self, connection_key: ConnectionKey, + os_error: OSError) -> None: + self._conn_key = connection_key + self._os_error = os_error + super().__init__(os_error.errno, os_error.strerror) + + @property + def os_error(self) -> OSError: + return self._os_error + + @property + def host(self) -> str: + return self._conn_key.host + + @property + def port(self) -> Optional[int]: + return self._conn_key.port + + @property + def ssl(self) -> Union[SSLContext, None, bool, 'Fingerprint']: + return self._conn_key.ssl + + def __str__(self) -> str: + return ('Cannot connect to host {0.host}:{0.port} ssl:{0.ssl} [{1}]' + .format(self, self.strerror)) + + +class ClientProxyConnectionError(ClientConnectorError): + """Proxy connection error. + + Raised in :class:`aiohttp.connector.TCPConnector` if + connection to proxy can not be established. + """ + + +class ServerConnectionError(ClientConnectionError): + """Server connection errors.""" + + +class ServerDisconnectedError(ServerConnectionError): + """Server disconnected.""" + + def __init__(self, message: Optional[str]=None) -> None: + self.message = message + + +class ServerTimeoutError(ServerConnectionError, asyncio.TimeoutError): + """Server timeout error.""" + + +class ServerFingerprintMismatch(ServerConnectionError): + """SSL certificate does not match expected fingerprint.""" + + def __init__(self, expected: bytes, got: bytes, + host: str, port: int) -> None: + self.expected = expected + self.got = got + self.host = host + self.port = port + + def __repr__(self) -> str: + return '<{} expected={} got={} host={} port={}>'.format( + self.__class__.__name__, self.expected, self.got, + self.host, self.port) + + +class ClientPayloadError(ClientError): + """Response payload error.""" + + +class InvalidURL(ClientError, ValueError): + """Invalid URL. + + URL used for fetching is malformed, e.g. it doesn't contains host + part.""" + + # Derive from ValueError for backward compatibility + + def __init__(self, url: Any) -> None: + # The type of url is not yarl.URL because the exception can be raised + # on URL(url) call + super().__init__(url) + + @property + def url(self) -> Any: + return self.args[0] + + def __repr__(self) -> str: + return '<{} {}>'.format(self.__class__.__name__, self.url) + + +class ClientSSLError(ClientConnectorError): + """Base error for ssl.*Errors.""" + + +if ssl is not None: + cert_errors = (ssl.CertificateError,) + cert_errors_bases = (ClientSSLError, ssl.CertificateError,) + + ssl_errors = (ssl.SSLError,) + ssl_error_bases = (ClientSSLError, ssl.SSLError) +else: # pragma: no cover + cert_errors = tuple() + cert_errors_bases = (ClientSSLError, ValueError,) + + ssl_errors = tuple() + ssl_error_bases = (ClientSSLError,) + + +class ClientConnectorSSLError(*ssl_error_bases): # type: ignore + """Response ssl error.""" + + +class ClientConnectorCertificateError(*cert_errors_bases): # type: ignore + """Response certificate error.""" + + def __init__(self, connection_key: + ConnectionKey, certificate_error: Exception) -> None: + self._conn_key = connection_key + self._certificate_error = certificate_error + + @property + def certificate_error(self) -> Exception: + return self._certificate_error + + @property + def host(self) -> str: + return self._conn_key.host + + @property + def port(self) -> Optional[int]: + return self._conn_key.port + + @property + def ssl(self) -> bool: + return self._conn_key.is_ssl + + def __str__(self) -> str: + return ('Cannot connect to host {0.host}:{0.port} ssl:{0.ssl} ' + '[{0.certificate_error.__class__.__name__}: ' + '{0.certificate_error.args}]'.format(self)) diff --git a/venv/lib/python3.6/site-packages/aiohttp/client_proto.py b/venv/lib/python3.6/site-packages/aiohttp/client_proto.py new file mode 100644 index 0000000..87db71a --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/client_proto.py @@ -0,0 +1,237 @@ +import asyncio +from contextlib import suppress +from typing import Any, Optional, Tuple + +from .base_protocol import BaseProtocol +from .client_exceptions import ( + ClientOSError, + ClientPayloadError, + ServerDisconnectedError, + ServerTimeoutError, +) +from .helpers import BaseTimerContext +from .http import HttpResponseParser, RawResponseMessage +from .streams import EMPTY_PAYLOAD, DataQueue, StreamReader + + +class ResponseHandler(BaseProtocol, + DataQueue[Tuple[RawResponseMessage, StreamReader]]): + """Helper class to adapt between Protocol and StreamReader.""" + + def __init__(self, + loop: asyncio.AbstractEventLoop) -> None: + BaseProtocol.__init__(self, loop=loop) + DataQueue.__init__(self, loop) + + self._should_close = False + + self._payload = None + self._skip_payload = False + self._payload_parser = None + + self._timer = None + + self._tail = b'' + self._upgraded = False + self._parser = None # type: Optional[HttpResponseParser] + + self._read_timeout = None # type: Optional[float] + self._read_timeout_handle = None # type: Optional[asyncio.TimerHandle] + + @property + def upgraded(self) -> bool: + return self._upgraded + + @property + def should_close(self) -> bool: + if (self._payload is not None and + not self._payload.is_eof() or self._upgraded): + return True + + return (self._should_close or self._upgraded or + self.exception() is not None or + self._payload_parser is not None or + len(self) > 0 or bool(self._tail)) + + def force_close(self) -> None: + self._should_close = True + + def close(self) -> None: + transport = self.transport + if transport is not None: + transport.close() + self.transport = None + self._payload = None + self._drop_timeout() + + def is_connected(self) -> bool: + return self.transport is not None + + def connection_lost(self, exc: Optional[BaseException]) -> None: + self._drop_timeout() + + if self._payload_parser is not None: + with suppress(Exception): + self._payload_parser.feed_eof() + + uncompleted = None + if self._parser is not None: + try: + uncompleted = self._parser.feed_eof() + except Exception: + if self._payload is not None: + self._payload.set_exception( + ClientPayloadError( + 'Response payload is not completed')) + + if not self.is_eof(): + if isinstance(exc, OSError): + exc = ClientOSError(*exc.args) + if exc is None: + exc = ServerDisconnectedError(uncompleted) + # assigns self._should_close to True as side effect, + # we do it anyway below + self.set_exception(exc) + + self._should_close = True + self._parser = None + self._payload = None + self._payload_parser = None + self._reading_paused = False + + super().connection_lost(exc) + + def eof_received(self) -> None: + # should call parser.feed_eof() most likely + self._drop_timeout() + + def pause_reading(self) -> None: + super().pause_reading() + self._drop_timeout() + + def resume_reading(self) -> None: + super().resume_reading() + self._reschedule_timeout() + + def set_exception(self, exc: BaseException) -> None: + self._should_close = True + self._drop_timeout() + super().set_exception(exc) + + def set_parser(self, parser: Any, payload: Any) -> None: + # TODO: actual types are: + # parser: WebSocketReader + # payload: FlowControlDataQueue + # but they are not generi enough + # Need an ABC for both types + self._payload = payload + self._payload_parser = parser + + self._drop_timeout() + + if self._tail: + data, self._tail = self._tail, b'' + self.data_received(data) + + def set_response_params(self, *, timer: BaseTimerContext=None, + skip_payload: bool=False, + read_until_eof: bool=False, + auto_decompress: bool=True, + read_timeout: Optional[float]=None) -> None: + self._skip_payload = skip_payload + + self._read_timeout = read_timeout + self._reschedule_timeout() + + self._parser = HttpResponseParser( + self, self._loop, timer=timer, + payload_exception=ClientPayloadError, + read_until_eof=read_until_eof, + auto_decompress=auto_decompress) + + if self._tail: + data, self._tail = self._tail, b'' + self.data_received(data) + + def _drop_timeout(self) -> None: + if self._read_timeout_handle is not None: + self._read_timeout_handle.cancel() + self._read_timeout_handle = None + + def _reschedule_timeout(self) -> None: + timeout = self._read_timeout + if self._read_timeout_handle is not None: + self._read_timeout_handle.cancel() + + if timeout: + self._read_timeout_handle = self._loop.call_later( + timeout, self._on_read_timeout) + else: + self._read_timeout_handle = None + + def _on_read_timeout(self) -> None: + exc = ServerTimeoutError("Timeout on reading data from socket") + self.set_exception(exc) + if self._payload is not None: + self._payload.set_exception(exc) + + def data_received(self, data: bytes) -> None: + if not data: + return + + # custom payload parser + if self._payload_parser is not None: + eof, tail = self._payload_parser.feed_data(data) + if eof: + self._payload = None + self._payload_parser = None + + if tail: + self.data_received(tail) + return + else: + if self._upgraded or self._parser is None: + # i.e. websocket connection, websocket parser is not set yet + self._tail += data + else: + # parse http messages + try: + messages, upgraded, tail = self._parser.feed_data(data) + except BaseException as exc: + if self.transport is not None: + # connection.release() could be called BEFORE + # data_received(), the transport is already + # closed in this case + self.transport.close() + # should_close is True after the call + self.set_exception(exc) + return + + self._upgraded = upgraded + + payload = None + for message, payload in messages: + if message.should_close: + self._should_close = True + + self._payload = payload + + if self._skip_payload or message.code in (204, 304): + self.feed_data((message, EMPTY_PAYLOAD), 0) # type: ignore # noqa + else: + self.feed_data((message, payload), 0) + if payload is not None: + # new message(s) was processed + # register timeout handler unsubscribing + # either on end-of-stream or immediately for + # EMPTY_PAYLOAD + if payload is not EMPTY_PAYLOAD: + payload.on_eof(self._drop_timeout) + else: + self._drop_timeout() + + if tail: + if upgraded: + self.data_received(tail) + else: + self._tail = tail diff --git a/venv/lib/python3.6/site-packages/aiohttp/client_reqrep.py b/venv/lib/python3.6/site-packages/aiohttp/client_reqrep.py new file mode 100644 index 0000000..27b7256 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/client_reqrep.py @@ -0,0 +1,1048 @@ +import asyncio +import codecs +import io +import re +import sys +import traceback +import warnings +from hashlib import md5, sha1, sha256 +from http.cookies import CookieError, Morsel, SimpleCookie +from types import MappingProxyType, TracebackType +from typing import ( # noqa + TYPE_CHECKING, + Any, + Dict, + Iterable, + List, + Mapping, + Optional, + Tuple, + Type, + Union, + cast, +) + +import attr +from multidict import CIMultiDict, CIMultiDictProxy, MultiDict, MultiDictProxy +from yarl import URL + +from . import hdrs, helpers, http, multipart, payload +from .abc import AbstractStreamWriter +from .client_exceptions import ( + ClientConnectionError, + ClientOSError, + ClientResponseError, + ContentTypeError, + InvalidURL, + ServerFingerprintMismatch, +) +from .formdata import FormData +from .helpers import ( # noqa + PY_36, + BaseTimerContext, + BasicAuth, + HeadersMixin, + TimerNoop, + noop, + reify, + set_result, +) +from .http import SERVER_SOFTWARE, HttpVersion10, HttpVersion11, StreamWriter +from .log import client_logger +from .streams import StreamReader # noqa +from .typedefs import ( + DEFAULT_JSON_DECODER, + JSONDecoder, + LooseCookies, + LooseHeaders, + RawHeaders, +) + +try: + import ssl + from ssl import SSLContext +except ImportError: # pragma: no cover + ssl = None # type: ignore + SSLContext = object # type: ignore + +try: + import cchardet as chardet +except ImportError: # pragma: no cover + import chardet + + +__all__ = ('ClientRequest', 'ClientResponse', 'RequestInfo', 'Fingerprint') + + +if TYPE_CHECKING: # pragma: no cover + from .client import ClientSession # noqa + from .connector import Connection # noqa + from .tracing import Trace # noqa + + +json_re = re.compile(r'^application/(?:[\w.+-]+?\+)?json') + + +@attr.s(frozen=True, slots=True) +class ContentDisposition: + type = attr.ib(type=str) # type: Optional[str] + parameters = attr.ib(type=MappingProxyType) # type: MappingProxyType[str, str] # noqa + filename = attr.ib(type=str) # type: Optional[str] + + +@attr.s(frozen=True, slots=True) +class RequestInfo: + url = attr.ib(type=URL) + method = attr.ib(type=str) + headers = attr.ib(type=CIMultiDictProxy) # type: CIMultiDictProxy[str] + real_url = attr.ib(type=URL) + + @real_url.default + def real_url_default(self) -> URL: + return self.url + + +class Fingerprint: + HASHFUNC_BY_DIGESTLEN = { + 16: md5, + 20: sha1, + 32: sha256, + } + + def __init__(self, fingerprint: bytes) -> None: + digestlen = len(fingerprint) + hashfunc = self.HASHFUNC_BY_DIGESTLEN.get(digestlen) + if not hashfunc: + raise ValueError('fingerprint has invalid length') + elif hashfunc is md5 or hashfunc is sha1: + raise ValueError('md5 and sha1 are insecure and ' + 'not supported. Use sha256.') + self._hashfunc = hashfunc + self._fingerprint = fingerprint + + @property + def fingerprint(self) -> bytes: + return self._fingerprint + + def check(self, transport: asyncio.Transport) -> None: + if not transport.get_extra_info('sslcontext'): + return + sslobj = transport.get_extra_info('ssl_object') + cert = sslobj.getpeercert(binary_form=True) + got = self._hashfunc(cert).digest() + if got != self._fingerprint: + host, port, *_ = transport.get_extra_info('peername') + raise ServerFingerprintMismatch(self._fingerprint, + got, host, port) + + +if ssl is not None: + SSL_ALLOWED_TYPES = (ssl.SSLContext, bool, Fingerprint, type(None)) +else: # pragma: no cover + SSL_ALLOWED_TYPES = type(None) + + +def _merge_ssl_params( + ssl: Union['SSLContext', bool, Fingerprint, None], + verify_ssl: Optional[bool], + ssl_context: Optional['SSLContext'], + fingerprint: Optional[bytes] +) -> Union['SSLContext', bool, Fingerprint, None]: + if verify_ssl is not None and not verify_ssl: + warnings.warn("verify_ssl is deprecated, use ssl=False instead", + DeprecationWarning, + stacklevel=3) + if ssl is not None: + raise ValueError("verify_ssl, ssl_context, fingerprint and ssl " + "parameters are mutually exclusive") + else: + ssl = False + if ssl_context is not None: + warnings.warn("ssl_context is deprecated, use ssl=context instead", + DeprecationWarning, + stacklevel=3) + if ssl is not None: + raise ValueError("verify_ssl, ssl_context, fingerprint and ssl " + "parameters are mutually exclusive") + else: + ssl = ssl_context + if fingerprint is not None: + warnings.warn("fingerprint is deprecated, " + "use ssl=Fingerprint(fingerprint) instead", + DeprecationWarning, + stacklevel=3) + if ssl is not None: + raise ValueError("verify_ssl, ssl_context, fingerprint and ssl " + "parameters are mutually exclusive") + else: + ssl = Fingerprint(fingerprint) + if not isinstance(ssl, SSL_ALLOWED_TYPES): + raise TypeError("ssl should be SSLContext, bool, Fingerprint or None, " + "got {!r} instead.".format(ssl)) + return ssl + + +@attr.s(slots=True, frozen=True) +class ConnectionKey: + # the key should contain an information about used proxy / TLS + # to prevent reusing wrong connections from a pool + host = attr.ib(type=str) + port = attr.ib(type=int) # type: Optional[int] + is_ssl = attr.ib(type=bool) + ssl = attr.ib() # type: Union[SSLContext, None, bool, Fingerprint] + proxy = attr.ib() # type: Optional[URL] + proxy_auth = attr.ib() # type: Optional[BasicAuth] + proxy_headers_hash = attr.ib(type=int) # type: Optional[int] # noqa # hash(CIMultiDict) + + +def _is_expected_content_type(response_content_type: str, + expected_content_type: str) -> bool: + if expected_content_type == 'application/json': + return json_re.match(response_content_type) is not None + return expected_content_type in response_content_type + + +class ClientRequest: + GET_METHODS = { + hdrs.METH_GET, + hdrs.METH_HEAD, + hdrs.METH_OPTIONS, + hdrs.METH_TRACE, + } + POST_METHODS = {hdrs.METH_PATCH, hdrs.METH_POST, hdrs.METH_PUT} + ALL_METHODS = GET_METHODS.union(POST_METHODS).union({hdrs.METH_DELETE}) + + DEFAULT_HEADERS = { + hdrs.ACCEPT: '*/*', + hdrs.ACCEPT_ENCODING: 'gzip, deflate', + } + + body = b'' + auth = None + response = None + response_class = None + + _writer = None # async task for streaming data + _continue = None # waiter future for '100 Continue' response + + # N.B. + # Adding __del__ method with self._writer closing doesn't make sense + # because _writer is instance method, thus it keeps a reference to self. + # Until writer has finished finalizer will not be called. + + def __init__(self, method: str, url: URL, *, + params: Optional[Mapping[str, str]]=None, + headers: Optional[LooseHeaders]=None, + skip_auto_headers: Iterable[str]=frozenset(), + data: Any=None, + cookies: Optional[LooseCookies]=None, + auth: Optional[BasicAuth]=None, + version: http.HttpVersion=http.HttpVersion11, + compress: Optional[str]=None, + chunked: Optional[bool]=None, + expect100: bool=False, + loop: Optional[asyncio.AbstractEventLoop]=None, + response_class: Optional[Type['ClientResponse']]=None, + proxy: Optional[URL]=None, + proxy_auth: Optional[BasicAuth]=None, + timer: Optional[BaseTimerContext]=None, + session: Optional['ClientSession']=None, + ssl: Union[SSLContext, bool, Fingerprint, None]=None, + proxy_headers: Optional[LooseHeaders]=None, + traces: Optional[List['Trace']]=None): + + if loop is None: + loop = asyncio.get_event_loop() + + assert isinstance(url, URL), url + assert isinstance(proxy, (URL, type(None))), proxy + # FIXME: session is None in tests only, need to fix tests + # assert session is not None + self._session = cast('ClientSession', session) + if params: + q = MultiDict(url.query) + url2 = url.with_query(params) + q.extend(url2.query) + url = url.with_query(q) + self.original_url = url + self.url = url.with_fragment(None) + self.method = method.upper() + self.chunked = chunked + self.compress = compress + self.loop = loop + self.length = None + if response_class is None: + real_response_class = ClientResponse + else: + real_response_class = response_class + self.response_class = real_response_class # type: Type[ClientResponse] + self._timer = timer if timer is not None else TimerNoop() + self._ssl = ssl + + if loop.get_debug(): + self._source_traceback = traceback.extract_stack(sys._getframe(1)) + + self.update_version(version) + self.update_host(url) + self.update_headers(headers) + self.update_auto_headers(skip_auto_headers) + self.update_cookies(cookies) + self.update_content_encoding(data) + self.update_auth(auth) + self.update_proxy(proxy, proxy_auth, proxy_headers) + + self.update_body_from_data(data) + if data or self.method not in self.GET_METHODS: + self.update_transfer_encoding() + self.update_expect_continue(expect100) + if traces is None: + traces = [] + self._traces = traces + + def is_ssl(self) -> bool: + return self.url.scheme in ('https', 'wss') + + @property + def ssl(self) -> Union['SSLContext', None, bool, Fingerprint]: + return self._ssl + + @property + def connection_key(self) -> ConnectionKey: + proxy_headers = self.proxy_headers + if proxy_headers: + h = hash(tuple((k, v) for k, v in proxy_headers.items())) # type: Optional[int] # noqa + else: + h = None + return ConnectionKey(self.host, self.port, self.is_ssl(), + self.ssl, + self.proxy, self.proxy_auth, h) + + @property + def host(self) -> str: + ret = self.url.host + assert ret is not None + return ret + + @property + def port(self) -> Optional[int]: + return self.url.port + + @property + def request_info(self) -> RequestInfo: + headers = CIMultiDictProxy(self.headers) # type: CIMultiDictProxy[str] + return RequestInfo(self.url, self.method, + headers, self.original_url) + + def update_host(self, url: URL) -> None: + """Update destination host, port and connection type (ssl).""" + # get host/port + if not url.host: + raise InvalidURL(url) + + # basic auth info + username, password = url.user, url.password + if username: + self.auth = helpers.BasicAuth(username, password or '') + + def update_version(self, version: Union[http.HttpVersion, str]) -> None: + """Convert request version to two elements tuple. + + parser HTTP version '1.1' => (1, 1) + """ + if isinstance(version, str): + v = [l.strip() for l in version.split('.', 1)] + try: + version = http.HttpVersion(int(v[0]), int(v[1])) + except ValueError: + raise ValueError( + 'Can not parse http version number: {}' + .format(version)) from None + self.version = version + + def update_headers(self, headers: Optional[LooseHeaders]) -> None: + """Update request headers.""" + self.headers = CIMultiDict() # type: CIMultiDict[str] + + # add host + netloc = cast(str, self.url.raw_host) + if helpers.is_ipv6_address(netloc): + netloc = '[{}]'.format(netloc) + if not self.url.is_default_port(): + netloc += ':' + str(self.url.port) + self.headers[hdrs.HOST] = netloc + + if headers: + if isinstance(headers, (dict, MultiDictProxy, MultiDict)): + headers = headers.items() # type: ignore + + for key, value in headers: + # A special case for Host header + if key.lower() == 'host': + self.headers[key] = value + else: + self.headers.add(key, value) + + def update_auto_headers(self, skip_auto_headers: Iterable[str]) -> None: + self.skip_auto_headers = CIMultiDict( + (hdr, None) for hdr in sorted(skip_auto_headers)) + used_headers = self.headers.copy() + used_headers.extend(self.skip_auto_headers) # type: ignore + + for hdr, val in self.DEFAULT_HEADERS.items(): + if hdr not in used_headers: + self.headers.add(hdr, val) + + if hdrs.USER_AGENT not in used_headers: + self.headers[hdrs.USER_AGENT] = SERVER_SOFTWARE + + def update_cookies(self, cookies: Optional[LooseCookies]) -> None: + """Update request cookies header.""" + if not cookies: + return + + c = SimpleCookie() + if hdrs.COOKIE in self.headers: + c.load(self.headers.get(hdrs.COOKIE, '')) + del self.headers[hdrs.COOKIE] + + if isinstance(cookies, Mapping): + iter_cookies = cookies.items() + else: + iter_cookies = cookies # type: ignore + for name, value in iter_cookies: + if isinstance(value, Morsel): + # Preserve coded_value + mrsl_val = value.get(value.key, Morsel()) + mrsl_val.set(value.key, value.value, value.coded_value) # type: ignore # noqa + c[name] = mrsl_val + else: + c[name] = value # type: ignore + + self.headers[hdrs.COOKIE] = c.output(header='', sep=';').strip() + + def update_content_encoding(self, data: Any) -> None: + """Set request content encoding.""" + if not data: + return + + enc = self.headers.get(hdrs.CONTENT_ENCODING, '').lower() + if enc: + if self.compress: + raise ValueError( + 'compress can not be set ' + 'if Content-Encoding header is set') + elif self.compress: + if not isinstance(self.compress, str): + self.compress = 'deflate' + self.headers[hdrs.CONTENT_ENCODING] = self.compress + self.chunked = True # enable chunked, no need to deal with length + + def update_transfer_encoding(self) -> None: + """Analyze transfer-encoding header.""" + te = self.headers.get(hdrs.TRANSFER_ENCODING, '').lower() + + if 'chunked' in te: + if self.chunked: + raise ValueError( + 'chunked can not be set ' + 'if "Transfer-Encoding: chunked" header is set') + + elif self.chunked: + if hdrs.CONTENT_LENGTH in self.headers: + raise ValueError( + 'chunked can not be set ' + 'if Content-Length header is set') + + self.headers[hdrs.TRANSFER_ENCODING] = 'chunked' + else: + if hdrs.CONTENT_LENGTH not in self.headers: + self.headers[hdrs.CONTENT_LENGTH] = str(len(self.body)) + + def update_auth(self, auth: Optional[BasicAuth]) -> None: + """Set basic auth.""" + if auth is None: + auth = self.auth + if auth is None: + return + + if not isinstance(auth, helpers.BasicAuth): + raise TypeError('BasicAuth() tuple is required instead') + + self.headers[hdrs.AUTHORIZATION] = auth.encode() + + def update_body_from_data(self, body: Any) -> None: + if not body: + return + + # FormData + if isinstance(body, FormData): + body = body() + + try: + body = payload.PAYLOAD_REGISTRY.get(body, disposition=None) + except payload.LookupError: + body = FormData(body)() + + self.body = body + + # enable chunked encoding if needed + if not self.chunked: + if hdrs.CONTENT_LENGTH not in self.headers: + size = body.size + if size is None: + self.chunked = True + else: + if hdrs.CONTENT_LENGTH not in self.headers: + self.headers[hdrs.CONTENT_LENGTH] = str(size) + + # copy payload headers + assert body.headers + for (key, value) in body.headers.items(): + if key in self.headers: + continue + if key in self.skip_auto_headers: + continue + self.headers[key] = value + + def update_expect_continue(self, expect: bool=False) -> None: + if expect: + self.headers[hdrs.EXPECT] = '100-continue' + elif self.headers.get(hdrs.EXPECT, '').lower() == '100-continue': + expect = True + + if expect: + self._continue = self.loop.create_future() + + def update_proxy(self, proxy: Optional[URL], + proxy_auth: Optional[BasicAuth], + proxy_headers: Optional[LooseHeaders]) -> None: + if proxy and not proxy.scheme == 'http': + raise ValueError("Only http proxies are supported") + if proxy_auth and not isinstance(proxy_auth, helpers.BasicAuth): + raise ValueError("proxy_auth must be None or BasicAuth() tuple") + self.proxy = proxy + self.proxy_auth = proxy_auth + self.proxy_headers = proxy_headers + + def keep_alive(self) -> bool: + if self.version < HttpVersion10: + # keep alive not supported at all + return False + if self.version == HttpVersion10: + if self.headers.get(hdrs.CONNECTION) == 'keep-alive': + return True + else: # no headers means we close for Http 1.0 + return False + elif self.headers.get(hdrs.CONNECTION) == 'close': + return False + + return True + + async def write_bytes(self, writer: AbstractStreamWriter, + conn: 'Connection') -> None: + """Support coroutines that yields bytes objects.""" + # 100 response + if self._continue is not None: + await writer.drain() + await self._continue + + protocol = conn.protocol + assert protocol is not None + try: + if isinstance(self.body, payload.Payload): + await self.body.write(writer) + else: + if isinstance(self.body, (bytes, bytearray)): + self.body = (self.body,) # type: ignore + + for chunk in self.body: + await writer.write(chunk) # type: ignore + + await writer.write_eof() + except OSError as exc: + new_exc = ClientOSError( + exc.errno, + 'Can not write request body for %s' % self.url) + new_exc.__context__ = exc + new_exc.__cause__ = exc + protocol.set_exception(new_exc) + except asyncio.CancelledError as exc: + if not conn.closed: + protocol.set_exception(exc) + except Exception as exc: + protocol.set_exception(exc) + finally: + self._writer = None + + async def send(self, conn: 'Connection') -> 'ClientResponse': + # Specify request target: + # - CONNECT request must send authority form URI + # - not CONNECT proxy must send absolute form URI + # - most common is origin form URI + if self.method == hdrs.METH_CONNECT: + path = '{}:{}'.format(self.url.raw_host, self.url.port) + elif self.proxy and not self.is_ssl(): + path = str(self.url) + else: + path = self.url.raw_path + if self.url.raw_query_string: + path += '?' + self.url.raw_query_string + + protocol = conn.protocol + assert protocol is not None + writer = StreamWriter( + protocol, self.loop, + on_chunk_sent=self._on_chunk_request_sent + ) + + if self.compress: + writer.enable_compression(self.compress) + + if self.chunked is not None: + writer.enable_chunking() + + # set default content-type + if (self.method in self.POST_METHODS and + hdrs.CONTENT_TYPE not in self.skip_auto_headers and + hdrs.CONTENT_TYPE not in self.headers): + self.headers[hdrs.CONTENT_TYPE] = 'application/octet-stream' + + # set the connection header + connection = self.headers.get(hdrs.CONNECTION) + if not connection: + if self.keep_alive(): + if self.version == HttpVersion10: + connection = 'keep-alive' + else: + if self.version == HttpVersion11: + connection = 'close' + + if connection is not None: + self.headers[hdrs.CONNECTION] = connection + + # status + headers + status_line = '{0} {1} HTTP/{2[0]}.{2[1]}'.format( + self.method, path, self.version) + await writer.write_headers(status_line, self.headers) + + self._writer = self.loop.create_task(self.write_bytes(writer, conn)) + + response_class = self.response_class + assert response_class is not None + self.response = response_class( + self.method, self.original_url, + writer=self._writer, continue100=self._continue, timer=self._timer, + request_info=self.request_info, + traces=self._traces, + loop=self.loop, + session=self._session + ) + return self.response + + async def close(self) -> None: + if self._writer is not None: + try: + await self._writer + finally: + self._writer = None + + def terminate(self) -> None: + if self._writer is not None: + if not self.loop.is_closed(): + self._writer.cancel() + self._writer = None + + async def _on_chunk_request_sent(self, chunk: bytes) -> None: + for trace in self._traces: + await trace.send_request_chunk_sent(chunk) + + +class ClientResponse(HeadersMixin): + + # from the Status-Line of the response + version = None # HTTP-Version + status = None # type: int # Status-Code + reason = None # Reason-Phrase + + content = None # type: StreamReader # Payload stream + _headers = None # type: CIMultiDictProxy[str] # Response headers + _raw_headers = None # type: RawHeaders # Response raw headers + + _connection = None # current connection + _source_traceback = None + # setted up by ClientRequest after ClientResponse object creation + # post-init stage allows to not change ctor signature + _closed = True # to allow __del__ for non-initialized properly response + _released = False + + def __init__(self, method: str, url: URL, *, + writer: 'asyncio.Task[None]', + continue100: Optional['asyncio.Future[bool]'], + timer: BaseTimerContext, + request_info: RequestInfo, + traces: List['Trace'], + loop: asyncio.AbstractEventLoop, + session: 'ClientSession') -> None: + assert isinstance(url, URL) + + self.method = method + self.cookies = SimpleCookie() + + self._real_url = url + self._url = url.with_fragment(None) + self._body = None # type: Any + self._writer = writer # type: Optional[asyncio.Task[None]] + self._continue = continue100 # None by default + self._closed = True + self._history = () # type: Tuple[ClientResponse, ...] + self._request_info = request_info + self._timer = timer if timer is not None else TimerNoop() + self._cache = {} # type: Dict[str, Any] + self._traces = traces + self._loop = loop + # store a reference to session #1985 + self._session = session # type: Optional[ClientSession] + if loop.get_debug(): + self._source_traceback = traceback.extract_stack(sys._getframe(1)) + + @reify + def url(self) -> URL: + return self._url + + @reify + def url_obj(self) -> URL: + warnings.warn( + "Deprecated, use .url #1654", DeprecationWarning, stacklevel=2) + return self._url + + @reify + def real_url(self) -> URL: + return self._real_url + + @reify + def host(self) -> str: + assert self._url.host is not None + return self._url.host + + @reify + def headers(self) -> 'CIMultiDictProxy[str]': + return self._headers + + @reify + def raw_headers(self) -> RawHeaders: + return self._raw_headers + + @reify + def request_info(self) -> RequestInfo: + return self._request_info + + @reify + def content_disposition(self) -> Optional[ContentDisposition]: + raw = self._headers.get(hdrs.CONTENT_DISPOSITION) + if raw is None: + return None + disposition_type, params_dct = multipart.parse_content_disposition(raw) + params = MappingProxyType(params_dct) + filename = multipart.content_disposition_filename(params) + return ContentDisposition(disposition_type, params, filename) + + def __del__(self, _warnings: Any=warnings) -> None: + if self._closed: + return + + if self._connection is not None: + self._connection.release() + self._cleanup_writer() + + if self._loop.get_debug(): + if PY_36: + kwargs = {'source': self} + else: + kwargs = {} + _warnings.warn("Unclosed response {!r}".format(self), + ResourceWarning, + **kwargs) + context = {'client_response': self, + 'message': 'Unclosed response'} + if self._source_traceback: + context['source_traceback'] = self._source_traceback + self._loop.call_exception_handler(context) + + def __repr__(self) -> str: + out = io.StringIO() + ascii_encodable_url = str(self.url) + if self.reason: + ascii_encodable_reason = self.reason.encode('ascii', + 'backslashreplace') \ + .decode('ascii') + else: + ascii_encodable_reason = self.reason + print('<ClientResponse({}) [{} {}]>'.format( + ascii_encodable_url, self.status, ascii_encodable_reason), + file=out) + print(self.headers, file=out) + return out.getvalue() + + @property + def connection(self) -> Optional['Connection']: + return self._connection + + @reify + def history(self) -> Tuple['ClientResponse', ...]: + """A sequence of of responses, if redirects occurred.""" + return self._history + + @reify + def links(self) -> 'MultiDictProxy[MultiDictProxy[Union[str, URL]]]': + links_str = ", ".join(self.headers.getall("link", [])) + + if not links_str: + return MultiDictProxy(MultiDict()) + + links = MultiDict() # type: MultiDict[MultiDictProxy[Union[str, URL]]] + + for val in re.split(r",(?=\s*<)", links_str): + match = re.match(r"\s*<(.*)>(.*)", val) + if match is None: # pragma: no cover + # the check exists to suppress mypy error + continue + url, params_str = match.groups() + params = params_str.split(";")[1:] + + link = MultiDict() # type: MultiDict[Union[str, URL]] + + for param in params: + match = re.match( + r"^\s*(\S*)\s*=\s*(['\"]?)(.*?)(\2)\s*$", + param, re.M + ) + if match is None: # pragma: no cover + # the check exists to suppress mypy error + continue + key, _, value, _ = match.groups() + + link.add(key, value) + + key = link.get("rel", url) # type: ignore + + link.add("url", self.url.join(URL(url))) + + links.add(key, MultiDictProxy(link)) + + return MultiDictProxy(links) + + async def start(self, connection: 'Connection') -> 'ClientResponse': + """Start response processing.""" + self._closed = False + self._protocol = connection.protocol + self._connection = connection + + with self._timer: + while True: + # read response + try: + message, payload = await self._protocol.read() # type: ignore # noqa + except http.HttpProcessingError as exc: + raise ClientResponseError( + self.request_info, self.history, + status=exc.code, + message=exc.message, headers=exc.headers) from exc + + if (message.code < 100 or + message.code > 199 or message.code == 101): + break + + if self._continue is not None: + set_result(self._continue, True) + self._continue = None + + # payload eof handler + payload.on_eof(self._response_eof) + + # response status + self.version = message.version + self.status = message.code + self.reason = message.reason + + # headers + self._headers = message.headers # type is CIMultiDictProxy + self._raw_headers = message.raw_headers # type is Tuple[bytes, bytes] + + # payload + self.content = payload + + # cookies + for hdr in self.headers.getall(hdrs.SET_COOKIE, ()): + try: + self.cookies.load(hdr) + except CookieError as exc: + client_logger.warning( + 'Can not load response cookies: %s', exc) + return self + + def _response_eof(self) -> None: + if self._closed: + return + + if self._connection is not None: + # websocket, protocol could be None because + # connection could be detached + if (self._connection.protocol is not None and + self._connection.protocol.upgraded): + return + + self._connection.release() + self._connection = None + + self._closed = True + self._cleanup_writer() + + @property + def closed(self) -> bool: + return self._closed + + def close(self) -> None: + if not self._released: + self._notify_content() + if self._closed: + return + + self._closed = True + if self._loop is None or self._loop.is_closed(): + return + + if self._connection is not None: + self._connection.close() + self._connection = None + self._cleanup_writer() + + def release(self) -> Any: + if not self._released: + self._notify_content() + if self._closed: + return noop() + + self._closed = True + if self._connection is not None: + self._connection.release() + self._connection = None + + self._cleanup_writer() + return noop() + + def raise_for_status(self) -> None: + if 400 <= self.status: + assert self.reason # always not None for started response + self.release() + raise ClientResponseError( + self.request_info, + self.history, + status=self.status, + message=self.reason, + headers=self.headers) + + def _cleanup_writer(self) -> None: + if self._writer is not None: + self._writer.cancel() + self._writer = None + self._session = None + + def _notify_content(self) -> None: + content = self.content + if content and content.exception() is None: + content.set_exception( + ClientConnectionError('Connection closed')) + self._released = True + + async def wait_for_close(self) -> None: + if self._writer is not None: + try: + await self._writer + finally: + self._writer = None + self.release() + + async def read(self) -> bytes: + """Read response payload.""" + if self._body is None: + try: + self._body = await self.content.read() + for trace in self._traces: + await trace.send_response_chunk_received(self._body) + except BaseException: + self.close() + raise + elif self._released: + raise ClientConnectionError('Connection closed') + + return self._body + + def get_encoding(self) -> str: + ctype = self.headers.get(hdrs.CONTENT_TYPE, '').lower() + mimetype = helpers.parse_mimetype(ctype) + + encoding = mimetype.parameters.get('charset') + if encoding: + try: + codecs.lookup(encoding) + except LookupError: + encoding = None + if not encoding: + if mimetype.type == 'application' and mimetype.subtype == 'json': + # RFC 7159 states that the default encoding is UTF-8. + encoding = 'utf-8' + else: + encoding = chardet.detect(self._body)['encoding'] + if not encoding: + encoding = 'utf-8' + + return encoding + + async def text(self, + encoding: Optional[str]=None, errors: str='strict') -> str: + """Read response payload and decode.""" + if self._body is None: + await self.read() + + if encoding is None: + encoding = self.get_encoding() + + return self._body.decode(encoding, errors=errors) # type: ignore + + async def json(self, *, encoding: str=None, + loads: JSONDecoder=DEFAULT_JSON_DECODER, + content_type: Optional[str]='application/json') -> Any: + """Read and decodes JSON response.""" + if self._body is None: + await self.read() + + if content_type: + ctype = self.headers.get(hdrs.CONTENT_TYPE, '').lower() + if not _is_expected_content_type(ctype, content_type): + raise ContentTypeError( + self.request_info, + self.history, + message=('Attempt to decode JSON with ' + 'unexpected mimetype: %s' % ctype), + headers=self.headers) + + stripped = self._body.strip() # type: ignore + if not stripped: + return None + + if encoding is None: + encoding = self.get_encoding() + + return loads(stripped.decode(encoding)) + + async def __aenter__(self) -> 'ClientResponse': + return self + + async def __aexit__(self, + exc_type: Optional[Type[BaseException]], + exc_val: Optional[BaseException], + exc_tb: Optional[TracebackType]) -> None: + # similar to _RequestContextManager, we do not need to check + # for exceptions, response object can closes connection + # is state is broken + self.release() diff --git a/venv/lib/python3.6/site-packages/aiohttp/client_ws.py b/venv/lib/python3.6/site-packages/aiohttp/client_ws.py new file mode 100644 index 0000000..e5fd126 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/client_ws.py @@ -0,0 +1,301 @@ +"""WebSocket client for asyncio.""" + +import asyncio +from typing import Any, Optional + +import async_timeout + +from .client_exceptions import ClientError +from .client_reqrep import ClientResponse +from .helpers import call_later, set_result +from .http import ( + WS_CLOSED_MESSAGE, + WS_CLOSING_MESSAGE, + WebSocketError, + WSMessage, + WSMsgType, +) +from .http_websocket import WebSocketWriter # WSMessage +from .streams import EofStream, FlowControlDataQueue # noqa +from .typedefs import ( + DEFAULT_JSON_DECODER, + DEFAULT_JSON_ENCODER, + JSONDecoder, + JSONEncoder, +) + + +class ClientWebSocketResponse: + + def __init__(self, + reader: 'FlowControlDataQueue[WSMessage]', + writer: WebSocketWriter, + protocol: Optional[str], + response: ClientResponse, + timeout: float, + autoclose: bool, + autoping: bool, + loop: asyncio.AbstractEventLoop, + *, + receive_timeout: Optional[float]=None, + heartbeat: Optional[float]=None, + compress: int=0, + client_notakeover: bool=False) -> None: + self._response = response + self._conn = response.connection + + self._writer = writer + self._reader = reader + self._protocol = protocol + self._closed = False + self._closing = False + self._close_code = None # type: Optional[int] + self._timeout = timeout + self._receive_timeout = receive_timeout + self._autoclose = autoclose + self._autoping = autoping + self._heartbeat = heartbeat + self._heartbeat_cb = None + if heartbeat is not None: + self._pong_heartbeat = heartbeat / 2.0 + self._pong_response_cb = None + self._loop = loop + self._waiting = None # type: Optional[asyncio.Future[bool]] + self._exception = None # type: Optional[BaseException] + self._compress = compress + self._client_notakeover = client_notakeover + + self._reset_heartbeat() + + def _cancel_heartbeat(self) -> None: + if self._pong_response_cb is not None: + self._pong_response_cb.cancel() + self._pong_response_cb = None + + if self._heartbeat_cb is not None: + self._heartbeat_cb.cancel() + self._heartbeat_cb = None + + def _reset_heartbeat(self) -> None: + self._cancel_heartbeat() + + if self._heartbeat is not None: + self._heartbeat_cb = call_later( + self._send_heartbeat, self._heartbeat, self._loop) + + def _send_heartbeat(self) -> None: + if self._heartbeat is not None and not self._closed: + # fire-and-forget a task is not perfect but maybe ok for + # sending ping. Otherwise we need a long-living heartbeat + # task in the class. + self._loop.create_task(self._writer.ping()) + + if self._pong_response_cb is not None: + self._pong_response_cb.cancel() + self._pong_response_cb = call_later( + self._pong_not_received, self._pong_heartbeat, self._loop) + + def _pong_not_received(self) -> None: + if not self._closed: + self._closed = True + self._close_code = 1006 + self._exception = asyncio.TimeoutError() + self._response.close() + + @property + def closed(self) -> bool: + return self._closed + + @property + def close_code(self) -> Optional[int]: + return self._close_code + + @property + def protocol(self) -> Optional[str]: + return self._protocol + + @property + def compress(self) -> int: + return self._compress + + @property + def client_notakeover(self) -> bool: + return self._client_notakeover + + def get_extra_info(self, name: str, default: Any=None) -> Any: + """extra info from connection transport""" + conn = self._response.connection + if conn is None: + return default + transport = conn.transport + if transport is None: + return default + return transport.get_extra_info(name, default) + + def exception(self) -> Optional[BaseException]: + return self._exception + + async def ping(self, message: bytes=b'') -> None: + await self._writer.ping(message) + + async def pong(self, message: bytes=b'') -> None: + await self._writer.pong(message) + + async def send_str(self, data: str, + compress: Optional[int]=None) -> None: + if not isinstance(data, str): + raise TypeError('data argument must be str (%r)' % type(data)) + await self._writer.send(data, binary=False, compress=compress) + + async def send_bytes(self, data: bytes, + compress: Optional[int]=None) -> None: + if not isinstance(data, (bytes, bytearray, memoryview)): + raise TypeError('data argument must be byte-ish (%r)' % + type(data)) + await self._writer.send(data, binary=True, compress=compress) + + async def send_json(self, data: Any, + compress: Optional[int]=None, + *, dumps: JSONEncoder=DEFAULT_JSON_ENCODER) -> None: + await self.send_str(dumps(data), compress=compress) + + async def close(self, *, code: int=1000, message: bytes=b'') -> bool: + # we need to break `receive()` cycle first, + # `close()` may be called from different task + if self._waiting is not None and not self._closed: + self._reader.feed_data(WS_CLOSING_MESSAGE, 0) + await self._waiting + + if not self._closed: + self._cancel_heartbeat() + self._closed = True + try: + await self._writer.close(code, message) + except asyncio.CancelledError: + self._close_code = 1006 + self._response.close() + raise + except Exception as exc: + self._close_code = 1006 + self._exception = exc + self._response.close() + return True + + if self._closing: + self._response.close() + return True + + while True: + try: + with async_timeout.timeout(self._timeout, loop=self._loop): + msg = await self._reader.read() + except asyncio.CancelledError: + self._close_code = 1006 + self._response.close() + raise + except Exception as exc: + self._close_code = 1006 + self._exception = exc + self._response.close() + return True + + if msg.type == WSMsgType.CLOSE: + self._close_code = msg.data + self._response.close() + return True + else: + return False + + async def receive(self, timeout: Optional[float]=None) -> WSMessage: + while True: + if self._waiting is not None: + raise RuntimeError( + 'Concurrent call to receive() is not allowed') + + if self._closed: + return WS_CLOSED_MESSAGE + elif self._closing: + await self.close() + return WS_CLOSED_MESSAGE + + try: + self._waiting = self._loop.create_future() + try: + with async_timeout.timeout( + timeout or self._receive_timeout, + loop=self._loop): + msg = await self._reader.read() + self._reset_heartbeat() + finally: + waiter = self._waiting + self._waiting = None + set_result(waiter, True) + except (asyncio.CancelledError, asyncio.TimeoutError): + self._close_code = 1006 + raise + except EofStream: + self._close_code = 1000 + await self.close() + return WSMessage(WSMsgType.CLOSED, None, None) + except ClientError: + self._closed = True + self._close_code = 1006 + return WS_CLOSED_MESSAGE + except WebSocketError as exc: + self._close_code = exc.code + await self.close(code=exc.code) + return WSMessage(WSMsgType.ERROR, exc, None) + except Exception as exc: + self._exception = exc + self._closing = True + self._close_code = 1006 + await self.close() + return WSMessage(WSMsgType.ERROR, exc, None) + + if msg.type == WSMsgType.CLOSE: + self._closing = True + self._close_code = msg.data + if not self._closed and self._autoclose: + await self.close() + elif msg.type == WSMsgType.CLOSING: + self._closing = True + elif msg.type == WSMsgType.PING and self._autoping: + await self.pong(msg.data) + continue + elif msg.type == WSMsgType.PONG and self._autoping: + continue + + return msg + + async def receive_str(self, *, timeout: Optional[float]=None) -> str: + msg = await self.receive(timeout) + if msg.type != WSMsgType.TEXT: + raise TypeError( + "Received message {}:{!r} is not str".format(msg.type, + msg.data)) + return msg.data + + async def receive_bytes(self, *, timeout: Optional[float]=None) -> bytes: + msg = await self.receive(timeout) + if msg.type != WSMsgType.BINARY: + raise TypeError( + "Received message {}:{!r} is not bytes".format(msg.type, + msg.data)) + return msg.data + + async def receive_json(self, + *, loads: JSONDecoder=DEFAULT_JSON_DECODER, + timeout: Optional[float]=None) -> Any: + data = await self.receive_str(timeout=timeout) + return loads(data) + + def __aiter__(self) -> 'ClientWebSocketResponse': + return self + + async def __anext__(self) -> WSMessage: + msg = await self.receive() + if msg.type in (WSMsgType.CLOSE, + WSMsgType.CLOSING, + WSMsgType.CLOSED): + raise StopAsyncIteration # NOQA + return msg diff --git a/venv/lib/python3.6/site-packages/aiohttp/connector.py b/venv/lib/python3.6/site-packages/aiohttp/connector.py new file mode 100644 index 0000000..dc33879 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/connector.py @@ -0,0 +1,1128 @@ +import asyncio +import functools +import random +import sys +import traceback +import warnings +from collections import defaultdict, deque +from contextlib import suppress +from http.cookies import SimpleCookie +from itertools import cycle, islice +from time import monotonic +from types import TracebackType +from typing import ( # noqa + TYPE_CHECKING, + Any, + Awaitable, + Callable, + DefaultDict, + Dict, + Iterator, + List, + Optional, + Set, + Tuple, + Type, + Union, + cast, +) + +import attr + +from . import hdrs, helpers +from .abc import AbstractResolver +from .client_exceptions import ( + ClientConnectionError, + ClientConnectorCertificateError, + ClientConnectorError, + ClientConnectorSSLError, + ClientHttpProxyError, + ClientProxyConnectionError, + ServerFingerprintMismatch, + cert_errors, + ssl_errors, +) +from .client_proto import ResponseHandler +from .client_reqrep import ClientRequest, Fingerprint, _merge_ssl_params +from .helpers import ( + PY_36, + CeilTimeout, + get_running_loop, + is_ip_address, + noop2, + sentinel, +) +from .http import RESPONSES +from .locks import EventResultOrError +from .resolver import DefaultResolver + +try: + import ssl + SSLContext = ssl.SSLContext +except ImportError: # pragma: no cover + ssl = None # type: ignore + SSLContext = object # type: ignore + + +__all__ = ('BaseConnector', 'TCPConnector', 'UnixConnector') + + +if TYPE_CHECKING: # pragma: no cover + from .client import ClientTimeout # noqa + from .client_reqrep import ConnectionKey # noqa + from .tracing import Trace # noqa + + +class _DeprecationWaiter: + __slots__ = ('_awaitable', '_awaited') + + def __init__(self, awaitable: Awaitable[Any]) -> None: + self._awaitable = awaitable + self._awaited = False + + def __await__(self) -> Any: + self._awaited = True + return self._awaitable.__await__() + + def __del__(self) -> None: + if not self._awaited: + warnings.warn("Connector.close() is a coroutine, " + "please use await connector.close()", + DeprecationWarning) + + +class Connection: + + _source_traceback = None + _transport = None + + def __init__(self, connector: 'BaseConnector', + key: 'ConnectionKey', + protocol: ResponseHandler, + loop: asyncio.AbstractEventLoop) -> None: + self._key = key + self._connector = connector + self._loop = loop + self._protocol = protocol # type: Optional[ResponseHandler] + self._callbacks = [] # type: List[Callable[[], None]] + + if loop.get_debug(): + self._source_traceback = traceback.extract_stack(sys._getframe(1)) + + def __repr__(self) -> str: + return 'Connection<{}>'.format(self._key) + + def __del__(self, _warnings: Any=warnings) -> None: + if self._protocol is not None: + if PY_36: + kwargs = {'source': self} + else: + kwargs = {} + _warnings.warn('Unclosed connection {!r}'.format(self), + ResourceWarning, + **kwargs) + if self._loop.is_closed(): + return + + self._connector._release( + self._key, self._protocol, should_close=True) + + context = {'client_connection': self, + 'message': 'Unclosed connection'} + if self._source_traceback is not None: + context['source_traceback'] = self._source_traceback + self._loop.call_exception_handler(context) + + @property + def loop(self) -> asyncio.AbstractEventLoop: + warnings.warn("connector.loop property is deprecated", + DeprecationWarning, + stacklevel=2) + return self._loop + + @property + def transport(self) -> Optional[asyncio.Transport]: + if self._protocol is None: + return None + return self._protocol.transport + + @property + def protocol(self) -> Optional[ResponseHandler]: + return self._protocol + + def add_callback(self, callback: Callable[[], None]) -> None: + if callback is not None: + self._callbacks.append(callback) + + def _notify_release(self) -> None: + callbacks, self._callbacks = self._callbacks[:], [] + + for cb in callbacks: + with suppress(Exception): + cb() + + def close(self) -> None: + self._notify_release() + + if self._protocol is not None: + self._connector._release( + self._key, self._protocol, should_close=True) + self._protocol = None + + def release(self) -> None: + self._notify_release() + + if self._protocol is not None: + self._connector._release( + self._key, self._protocol, + should_close=self._protocol.should_close) + self._protocol = None + + @property + def closed(self) -> bool: + return self._protocol is None or not self._protocol.is_connected() + + +class _TransportPlaceholder: + """ placeholder for BaseConnector.connect function """ + + def close(self) -> None: + pass + + +class BaseConnector: + """Base connector class. + + keepalive_timeout - (optional) Keep-alive timeout. + force_close - Set to True to force close and do reconnect + after each request (and between redirects). + limit - The total number of simultaneous connections. + limit_per_host - Number of simultaneous connections to one host. + enable_cleanup_closed - Enables clean-up closed ssl transports. + Disabled by default. + loop - Optional event loop. + """ + + _closed = True # prevent AttributeError in __del__ if ctor was failed + _source_traceback = None + + # abort transport after 2 seconds (cleanup broken connections) + _cleanup_closed_period = 2.0 + + def __init__(self, *, + keepalive_timeout: Union[object, None, float]=sentinel, + force_close: bool=False, + limit: int=100, limit_per_host: int=0, + enable_cleanup_closed: bool=False, + loop: Optional[asyncio.AbstractEventLoop]=None) -> None: + + if force_close: + if keepalive_timeout is not None and \ + keepalive_timeout is not sentinel: + raise ValueError('keepalive_timeout cannot ' + 'be set if force_close is True') + else: + if keepalive_timeout is sentinel: + keepalive_timeout = 15.0 + + loop = get_running_loop(loop) + + self._closed = False + if loop.get_debug(): + self._source_traceback = traceback.extract_stack(sys._getframe(1)) + + self._conns = {} # type: Dict[ConnectionKey, List[Tuple[ResponseHandler, float]]] # noqa + self._limit = limit + self._limit_per_host = limit_per_host + self._acquired = set() # type: Set[ResponseHandler] + self._acquired_per_host = defaultdict(set) # type: DefaultDict[ConnectionKey, Set[ResponseHandler]] # noqa + self._keepalive_timeout = cast(float, keepalive_timeout) + self._force_close = force_close + + # {host_key: FIFO list of waiters} + self._waiters = defaultdict(deque) # type: ignore + + self._loop = loop + self._factory = functools.partial(ResponseHandler, loop=loop) + + self.cookies = SimpleCookie() + + # start keep-alive connection cleanup task + self._cleanup_handle = None + + # start cleanup closed transports task + self._cleanup_closed_handle = None + self._cleanup_closed_disabled = not enable_cleanup_closed + self._cleanup_closed_transports = [] # type: List[Optional[asyncio.Transport]] # noqa + self._cleanup_closed() + + def __del__(self, _warnings: Any=warnings) -> None: + if self._closed: + return + if not self._conns: + return + + conns = [repr(c) for c in self._conns.values()] + + self._close() + + if PY_36: + kwargs = {'source': self} + else: + kwargs = {} + _warnings.warn("Unclosed connector {!r}".format(self), + ResourceWarning, + **kwargs) + context = {'connector': self, + 'connections': conns, + 'message': 'Unclosed connector'} + if self._source_traceback is not None: + context['source_traceback'] = self._source_traceback + self._loop.call_exception_handler(context) + + def __enter__(self) -> 'BaseConnector': + warnings.warn('"witn Connector():" is deprecated, ' + 'use "async with Connector():" instead', + DeprecationWarning) + return self + + def __exit__(self, *exc: Any) -> None: + self.close() + + async def __aenter__(self) -> 'BaseConnector': + return self + + async def __aexit__(self, + exc_type: Optional[Type[BaseException]]=None, + exc_value: Optional[BaseException]=None, + exc_traceback: Optional[TracebackType]=None + ) -> None: + await self.close() + + @property + def force_close(self) -> bool: + """Ultimately close connection on releasing if True.""" + return self._force_close + + @property + def limit(self) -> int: + """The total number for simultaneous connections. + + If limit is 0 the connector has no limit. + The default limit size is 100. + """ + return self._limit + + @property + def limit_per_host(self) -> int: + """The limit_per_host for simultaneous connections + to the same endpoint. + + Endpoints are the same if they are have equal + (host, port, is_ssl) triple. + + """ + return self._limit_per_host + + def _cleanup(self) -> None: + """Cleanup unused transports.""" + if self._cleanup_handle: + self._cleanup_handle.cancel() + + now = self._loop.time() + timeout = self._keepalive_timeout + + if self._conns: + connections = {} + deadline = now - timeout + for key, conns in self._conns.items(): + alive = [] + for proto, use_time in conns: + if proto.is_connected(): + if use_time - deadline < 0: + transport = proto.transport + proto.close() + if (key.is_ssl and + not self._cleanup_closed_disabled): + self._cleanup_closed_transports.append( + transport) + else: + alive.append((proto, use_time)) + + if alive: + connections[key] = alive + + self._conns = connections + + if self._conns: + self._cleanup_handle = helpers.weakref_handle( + self, '_cleanup', timeout, self._loop) + + def _drop_acquired_per_host(self, key: 'ConnectionKey', + val: ResponseHandler) -> None: + acquired_per_host = self._acquired_per_host + if key not in acquired_per_host: + return + conns = acquired_per_host[key] + conns.remove(val) + if not conns: + del self._acquired_per_host[key] + + def _cleanup_closed(self) -> None: + """Double confirmation for transport close. + Some broken ssl servers may leave socket open without proper close. + """ + if self._cleanup_closed_handle: + self._cleanup_closed_handle.cancel() + + for transport in self._cleanup_closed_transports: + if transport is not None: + transport.abort() + + self._cleanup_closed_transports = [] + + if not self._cleanup_closed_disabled: + self._cleanup_closed_handle = helpers.weakref_handle( + self, '_cleanup_closed', + self._cleanup_closed_period, self._loop) + + def close(self) -> Awaitable[None]: + """Close all opened transports.""" + self._close() + return _DeprecationWaiter(noop2()) + + def _close(self) -> None: + if self._closed: + return + + self._closed = True + + try: + if self._loop.is_closed(): + return + + # cancel cleanup task + if self._cleanup_handle: + self._cleanup_handle.cancel() + + # cancel cleanup close task + if self._cleanup_closed_handle: + self._cleanup_closed_handle.cancel() + + for data in self._conns.values(): + for proto, t0 in data: + proto.close() + + for proto in self._acquired: + proto.close() + + for transport in self._cleanup_closed_transports: + if transport is not None: + transport.abort() + + finally: + self._conns.clear() + self._acquired.clear() + self._waiters.clear() + self._cleanup_handle = None + self._cleanup_closed_transports.clear() + self._cleanup_closed_handle = None + + @property + def closed(self) -> bool: + """Is connector closed. + + A readonly property. + """ + return self._closed + + def _available_connections(self, key: 'ConnectionKey') -> int: + """ + Return number of available connections taking into account + the limit, limit_per_host and the connection key. + + If it returns less than 1 means that there is no connections + availables. + """ + + if self._limit: + # total calc available connections + available = self._limit - len(self._acquired) + + # check limit per host + if (self._limit_per_host and available > 0 and + key in self._acquired_per_host): + acquired = self._acquired_per_host.get(key) + assert acquired is not None + available = self._limit_per_host - len(acquired) + + elif self._limit_per_host and key in self._acquired_per_host: + # check limit per host + acquired = self._acquired_per_host.get(key) + assert acquired is not None + available = self._limit_per_host - len(acquired) + else: + available = 1 + + return available + + async def connect(self, req: 'ClientRequest', + traces: List['Trace'], + timeout: 'ClientTimeout') -> Connection: + """Get from pool or create new connection.""" + key = req.connection_key + available = self._available_connections(key) + + # Wait if there are no available connections. + if available <= 0: + fut = self._loop.create_future() + + # This connection will now count towards the limit. + waiters = self._waiters[key] + waiters.append(fut) + + if traces: + for trace in traces: + await trace.send_connection_queued_start() + + try: + await fut + except BaseException as e: + # remove a waiter even if it was cancelled, normally it's + # removed when it's notified + try: + waiters.remove(fut) + except ValueError: # fut may no longer be in list + pass + + raise e + finally: + if not waiters: + try: + del self._waiters[key] + except KeyError: + # the key was evicted before. + pass + + if traces: + for trace in traces: + await trace.send_connection_queued_end() + + proto = self._get(key) + if proto is None: + placeholder = cast(ResponseHandler, _TransportPlaceholder()) + self._acquired.add(placeholder) + self._acquired_per_host[key].add(placeholder) + + if traces: + for trace in traces: + await trace.send_connection_create_start() + + try: + proto = await self._create_connection(req, traces, timeout) + if self._closed: + proto.close() + raise ClientConnectionError("Connector is closed.") + except BaseException: + if not self._closed: + self._acquired.remove(placeholder) + self._drop_acquired_per_host(key, placeholder) + self._release_waiter() + raise + else: + if not self._closed: + self._acquired.remove(placeholder) + self._drop_acquired_per_host(key, placeholder) + + if traces: + for trace in traces: + await trace.send_connection_create_end() + else: + if traces: + for trace in traces: + await trace.send_connection_reuseconn() + + self._acquired.add(proto) + self._acquired_per_host[key].add(proto) + return Connection(self, key, proto, self._loop) + + def _get(self, key: 'ConnectionKey') -> Optional[ResponseHandler]: + try: + conns = self._conns[key] + except KeyError: + return None + + t1 = self._loop.time() + while conns: + proto, t0 = conns.pop() + if proto.is_connected(): + if t1 - t0 > self._keepalive_timeout: + transport = proto.transport + proto.close() + # only for SSL transports + if key.is_ssl and not self._cleanup_closed_disabled: + self._cleanup_closed_transports.append(transport) + else: + if not conns: + # The very last connection was reclaimed: drop the key + del self._conns[key] + return proto + + # No more connections: drop the key + del self._conns[key] + return None + + def _release_waiter(self) -> None: + """ + Iterates over all waiters till found one that is not finsihed and + belongs to a host that has available connections. + """ + if not self._waiters: + return + + # Having the dict keys ordered this avoids to iterate + # at the same order at each call. + queues = list(self._waiters.keys()) + random.shuffle(queues) + + for key in queues: + if self._available_connections(key) < 1: + continue + + waiters = self._waiters[key] + while waiters: + waiter = waiters.popleft() + if not waiter.done(): + waiter.set_result(None) + return + + def _release_acquired(self, key: 'ConnectionKey', + proto: ResponseHandler) -> None: + if self._closed: + # acquired connection is already released on connector closing + return + + try: + self._acquired.remove(proto) + self._drop_acquired_per_host(key, proto) + except KeyError: # pragma: no cover + # this may be result of undetermenistic order of objects + # finalization due garbage collection. + pass + else: + self._release_waiter() + + def _release(self, key: 'ConnectionKey', protocol: ResponseHandler, + *, should_close: bool=False) -> None: + if self._closed: + # acquired connection is already released on connector closing + return + + self._release_acquired(key, protocol) + + if self._force_close: + should_close = True + + if should_close or protocol.should_close: + transport = protocol.transport + protocol.close() + + if key.is_ssl and not self._cleanup_closed_disabled: + self._cleanup_closed_transports.append(transport) + else: + conns = self._conns.get(key) + if conns is None: + conns = self._conns[key] = [] + conns.append((protocol, self._loop.time())) + + if self._cleanup_handle is None: + self._cleanup_handle = helpers.weakref_handle( + self, '_cleanup', self._keepalive_timeout, self._loop) + + async def _create_connection(self, req: 'ClientRequest', + traces: List['Trace'], + timeout: 'ClientTimeout') -> ResponseHandler: + raise NotImplementedError() + + +class _DNSCacheTable: + + def __init__(self, ttl: Optional[float]=None) -> None: + self._addrs_rr = {} # type: Dict[Tuple[str, int], Tuple[Iterator[Dict[str, Any]], int]] # noqa + self._timestamps = {} # type: Dict[Tuple[str, int], float] + self._ttl = ttl + + def __contains__(self, host: object) -> bool: + return host in self._addrs_rr + + def add(self, key: Tuple[str, int], addrs: List[Dict[str, Any]]) -> None: + self._addrs_rr[key] = (cycle(addrs), len(addrs)) + + if self._ttl: + self._timestamps[key] = monotonic() + + def remove(self, key: Tuple[str, int]) -> None: + self._addrs_rr.pop(key, None) + + if self._ttl: + self._timestamps.pop(key, None) + + def clear(self) -> None: + self._addrs_rr.clear() + self._timestamps.clear() + + def next_addrs(self, key: Tuple[str, int]) -> List[Dict[str, Any]]: + loop, length = self._addrs_rr[key] + addrs = list(islice(loop, length)) + # Consume one more element to shift internal state of `cycle` + next(loop) + return addrs + + def expired(self, key: Tuple[str, int]) -> bool: + if self._ttl is None: + return False + + return self._timestamps[key] + self._ttl < monotonic() + + +class TCPConnector(BaseConnector): + """TCP connector. + + verify_ssl - Set to True to check ssl certifications. + fingerprint - Pass the binary sha256 + digest of the expected certificate in DER format to verify + that the certificate the server presents matches. See also + https://en.wikipedia.org/wiki/Transport_Layer_Security#Certificate_pinning + resolver - Enable DNS lookups and use this + resolver + use_dns_cache - Use memory cache for DNS lookups. + ttl_dns_cache - Max seconds having cached a DNS entry, None forever. + family - socket address family + local_addr - local tuple of (host, port) to bind socket to + + keepalive_timeout - (optional) Keep-alive timeout. + force_close - Set to True to force close and do reconnect + after each request (and between redirects). + limit - The total number of simultaneous connections. + limit_per_host - Number of simultaneous connections to one host. + enable_cleanup_closed - Enables clean-up closed ssl transports. + Disabled by default. + loop - Optional event loop. + """ + + def __init__(self, *, verify_ssl: bool=True, + fingerprint: Optional[bytes]=None, + use_dns_cache: bool=True, ttl_dns_cache: int=10, + family: int=0, + ssl_context: Optional[SSLContext]=None, + ssl: Union[None, bool, Fingerprint, SSLContext]=None, + local_addr: Optional[str]=None, + resolver: Optional[AbstractResolver]=None, + keepalive_timeout: Union[None, float, object]=sentinel, + force_close: bool=False, + limit: int=100, limit_per_host: int=0, + enable_cleanup_closed: bool=False, + loop: Optional[asyncio.AbstractEventLoop]=None): + super().__init__(keepalive_timeout=keepalive_timeout, + force_close=force_close, + limit=limit, limit_per_host=limit_per_host, + enable_cleanup_closed=enable_cleanup_closed, + loop=loop) + + self._ssl = _merge_ssl_params(ssl, verify_ssl, ssl_context, + fingerprint) + if resolver is None: + resolver = DefaultResolver(loop=self._loop) + self._resolver = resolver + + self._use_dns_cache = use_dns_cache + self._cached_hosts = _DNSCacheTable(ttl=ttl_dns_cache) + self._throttle_dns_events = {} # type: Dict[Tuple[str, int], EventResultOrError] # noqa + self._family = family + self._local_addr = local_addr + + def close(self) -> Awaitable[None]: + """Close all ongoing DNS calls.""" + for ev in self._throttle_dns_events.values(): + ev.cancel() + + return super().close() + + @property + def family(self) -> int: + """Socket family like AF_INET.""" + return self._family + + @property + def use_dns_cache(self) -> bool: + """True if local DNS caching is enabled.""" + return self._use_dns_cache + + def clear_dns_cache(self, + host: Optional[str]=None, + port: Optional[int]=None) -> None: + """Remove specified host/port or clear all dns local cache.""" + if host is not None and port is not None: + self._cached_hosts.remove((host, port)) + elif host is not None or port is not None: + raise ValueError("either both host and port " + "or none of them are allowed") + else: + self._cached_hosts.clear() + + async def _resolve_host(self, + host: str, port: int, + traces: Optional[List['Trace']]=None + ) -> List[Dict[str, Any]]: + if is_ip_address(host): + return [{'hostname': host, 'host': host, 'port': port, + 'family': self._family, 'proto': 0, 'flags': 0}] + + if not self._use_dns_cache: + + if traces: + for trace in traces: + await trace.send_dns_resolvehost_start(host) + + res = (await self._resolver.resolve( + host, port, family=self._family)) + + if traces: + for trace in traces: + await trace.send_dns_resolvehost_end(host) + + return res + + key = (host, port) + + if (key in self._cached_hosts) and \ + (not self._cached_hosts.expired(key)): + + if traces: + for trace in traces: + await trace.send_dns_cache_hit(host) + + return self._cached_hosts.next_addrs(key) + + if key in self._throttle_dns_events: + if traces: + for trace in traces: + await trace.send_dns_cache_hit(host) + await self._throttle_dns_events[key].wait() + else: + if traces: + for trace in traces: + await trace.send_dns_cache_miss(host) + self._throttle_dns_events[key] = \ + EventResultOrError(self._loop) + try: + + if traces: + for trace in traces: + await trace.send_dns_resolvehost_start(host) + + addrs = await \ + self._resolver.resolve(host, port, family=self._family) + if traces: + for trace in traces: + await trace.send_dns_resolvehost_end(host) + + self._cached_hosts.add(key, addrs) + self._throttle_dns_events[key].set() + except BaseException as e: + # any DNS exception, independently of the implementation + # is set for the waiters to raise the same exception. + self._throttle_dns_events[key].set(exc=e) + raise + finally: + self._throttle_dns_events.pop(key) + + return self._cached_hosts.next_addrs(key) + + async def _create_connection(self, req: 'ClientRequest', + traces: List['Trace'], + timeout: 'ClientTimeout') -> ResponseHandler: + """Create connection. + + Has same keyword arguments as BaseEventLoop.create_connection. + """ + if req.proxy: + _, proto = await self._create_proxy_connection( + req, traces, timeout) + else: + _, proto = await self._create_direct_connection( + req, traces, timeout) + + return proto + + @staticmethod + @functools.lru_cache(None) + def _make_ssl_context(verified: bool) -> SSLContext: + if verified: + return ssl.create_default_context() + else: + sslcontext = ssl.SSLContext(ssl.PROTOCOL_SSLv23) + sslcontext.options |= ssl.OP_NO_SSLv2 + sslcontext.options |= ssl.OP_NO_SSLv3 + sslcontext.options |= ssl.OP_NO_COMPRESSION + sslcontext.set_default_verify_paths() + return sslcontext + + def _get_ssl_context(self, req: 'ClientRequest') -> Optional[SSLContext]: + """Logic to get the correct SSL context + + 0. if req.ssl is false, return None + + 1. if ssl_context is specified in req, use it + 2. if _ssl_context is specified in self, use it + 3. otherwise: + 1. if verify_ssl is not specified in req, use self.ssl_context + (will generate a default context according to self.verify_ssl) + 2. if verify_ssl is True in req, generate a default SSL context + 3. if verify_ssl is False in req, generate a SSL context that + won't verify + """ + if req.is_ssl(): + if ssl is None: # pragma: no cover + raise RuntimeError('SSL is not supported.') + sslcontext = req.ssl + if isinstance(sslcontext, ssl.SSLContext): + return sslcontext + if sslcontext is not None: + # not verified or fingerprinted + return self._make_ssl_context(False) + sslcontext = self._ssl + if isinstance(sslcontext, ssl.SSLContext): + return sslcontext + if sslcontext is not None: + # not verified or fingerprinted + return self._make_ssl_context(False) + return self._make_ssl_context(True) + else: + return None + + def _get_fingerprint(self, + req: 'ClientRequest') -> Optional['Fingerprint']: + ret = req.ssl + if isinstance(ret, Fingerprint): + return ret + ret = self._ssl + if isinstance(ret, Fingerprint): + return ret + return None + + async def _wrap_create_connection( + self, *args: Any, + req: 'ClientRequest', + timeout: 'ClientTimeout', + client_error: Type[Exception]=ClientConnectorError, + **kwargs: Any) -> Tuple[asyncio.Transport, ResponseHandler]: + try: + with CeilTimeout(timeout.sock_connect): + return cast( + Tuple[asyncio.Transport, ResponseHandler], + await self._loop.create_connection(*args, **kwargs)) + except cert_errors as exc: + raise ClientConnectorCertificateError( + req.connection_key, exc) from exc + except ssl_errors as exc: + raise ClientConnectorSSLError(req.connection_key, exc) from exc + except OSError as exc: + raise client_error(req.connection_key, exc) from exc + + async def _create_direct_connection( + self, + req: 'ClientRequest', + traces: List['Trace'], + timeout: 'ClientTimeout', + *, + client_error: Type[Exception]=ClientConnectorError + ) -> Tuple[asyncio.Transport, ResponseHandler]: + sslcontext = self._get_ssl_context(req) + fingerprint = self._get_fingerprint(req) + + try: + # Cancelling this lookup should not cancel the underlying lookup + # or else the cancel event will get broadcast to all the waiters + # across all connections. + host = req.url.raw_host + assert host is not None + port = req.port + assert port is not None + hosts = await asyncio.shield(self._resolve_host( + host, + port, + traces=traces), loop=self._loop) + except OSError as exc: + # in case of proxy it is not ClientProxyConnectionError + # it is problem of resolving proxy ip itself + raise ClientConnectorError(req.connection_key, exc) from exc + + last_exc = None # type: Optional[Exception] + + for hinfo in hosts: + host = hinfo['host'] + port = hinfo['port'] + + try: + transp, proto = await self._wrap_create_connection( + self._factory, host, port, timeout=timeout, + ssl=sslcontext, family=hinfo['family'], + proto=hinfo['proto'], flags=hinfo['flags'], + server_hostname=hinfo['hostname'] if sslcontext else None, + local_addr=self._local_addr, + req=req, client_error=client_error) + except ClientConnectorError as exc: + last_exc = exc + continue + + if req.is_ssl() and fingerprint: + try: + fingerprint.check(transp) + except ServerFingerprintMismatch as exc: + transp.close() + if not self._cleanup_closed_disabled: + self._cleanup_closed_transports.append(transp) + last_exc = exc + continue + + return transp, proto + else: + assert last_exc is not None + raise last_exc + + async def _create_proxy_connection( + self, + req: 'ClientRequest', + traces: List['Trace'], + timeout: 'ClientTimeout' + ) -> Tuple[asyncio.Transport, ResponseHandler]: + headers = {} # type: Dict[str, str] + if req.proxy_headers is not None: + headers = req.proxy_headers # type: ignore + headers[hdrs.HOST] = req.headers[hdrs.HOST] + + url = req.proxy + assert url is not None + proxy_req = ClientRequest( + hdrs.METH_GET, url, + headers=headers, + auth=req.proxy_auth, + loop=self._loop, + ssl=req.ssl) + + # create connection to proxy server + transport, proto = await self._create_direct_connection( + proxy_req, [], timeout, client_error=ClientProxyConnectionError) + + # Many HTTP proxies has buggy keepalive support. Let's not + # reuse connection but close it after processing every + # response. + proto.force_close() + + auth = proxy_req.headers.pop(hdrs.AUTHORIZATION, None) + if auth is not None: + if not req.is_ssl(): + req.headers[hdrs.PROXY_AUTHORIZATION] = auth + else: + proxy_req.headers[hdrs.PROXY_AUTHORIZATION] = auth + + if req.is_ssl(): + sslcontext = self._get_ssl_context(req) + # For HTTPS requests over HTTP proxy + # we must notify proxy to tunnel connection + # so we send CONNECT command: + # CONNECT www.python.org:443 HTTP/1.1 + # Host: www.python.org + # + # next we must do TLS handshake and so on + # to do this we must wrap raw socket into secure one + # asyncio handles this perfectly + proxy_req.method = hdrs.METH_CONNECT + proxy_req.url = req.url + key = attr.evolve(req.connection_key, + proxy=None, + proxy_auth=None, + proxy_headers_hash=None) + conn = Connection(self, key, proto, self._loop) + proxy_resp = await proxy_req.send(conn) + try: + protocol = conn._protocol + assert protocol is not None + protocol.set_response_params() + resp = await proxy_resp.start(conn) + except BaseException: + proxy_resp.close() + conn.close() + raise + else: + conn._protocol = None + conn._transport = None + try: + if resp.status != 200: + message = resp.reason + if message is None: + message = RESPONSES[resp.status][0] + raise ClientHttpProxyError( + proxy_resp.request_info, + resp.history, + status=resp.status, + message=message, + headers=resp.headers) + rawsock = transport.get_extra_info('socket', default=None) + if rawsock is None: + raise RuntimeError( + "Transport does not expose socket instance") + # Duplicate the socket, so now we can close proxy transport + rawsock = rawsock.dup() + finally: + transport.close() + + transport, proto = await self._wrap_create_connection( + self._factory, timeout=timeout, + ssl=sslcontext, sock=rawsock, + server_hostname=req.host, + req=req) + finally: + proxy_resp.close() + + return transport, proto + + +class UnixConnector(BaseConnector): + """Unix socket connector. + + path - Unix socket path. + keepalive_timeout - (optional) Keep-alive timeout. + force_close - Set to True to force close and do reconnect + after each request (and between redirects). + limit - The total number of simultaneous connections. + limit_per_host - Number of simultaneous connections to one host. + loop - Optional event loop. + """ + + def __init__(self, path: str, force_close: bool=False, + keepalive_timeout: Union[object, float, None]=sentinel, + limit: int=100, limit_per_host: int=0, + loop: Optional[asyncio.AbstractEventLoop]=None) -> None: + super().__init__(force_close=force_close, + keepalive_timeout=keepalive_timeout, + limit=limit, limit_per_host=limit_per_host, loop=loop) + self._path = path + + @property + def path(self) -> str: + """Path to unix socket.""" + return self._path + + async def _create_connection(self, req: 'ClientRequest', + traces: List['Trace'], + timeout: 'ClientTimeout') -> ResponseHandler: + try: + with CeilTimeout(timeout.sock_connect): + _, proto = await self._loop.create_unix_connection( + self._factory, self._path) + except OSError as exc: + raise ClientConnectorError(req.connection_key, exc) from exc + + return cast(ResponseHandler, proto) diff --git a/venv/lib/python3.6/site-packages/aiohttp/cookiejar.py b/venv/lib/python3.6/site-packages/aiohttp/cookiejar.py new file mode 100644 index 0000000..a78e88d --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/cookiejar.py @@ -0,0 +1,357 @@ +import asyncio +import datetime +import os # noqa +import pathlib +import pickle +import re +from collections import defaultdict +from http.cookies import BaseCookie, Morsel, SimpleCookie # noqa +from math import ceil +from typing import ( # noqa + DefaultDict, + Dict, + Iterable, + Iterator, + Mapping, + Optional, + Set, + Tuple, + Union, + cast, +) + +from yarl import URL + +from .abc import AbstractCookieJar +from .helpers import is_ip_address +from .typedefs import LooseCookies, PathLike + +__all__ = ('CookieJar', 'DummyCookieJar') + + +CookieItem = Union[str, 'Morsel[str]'] + + +class CookieJar(AbstractCookieJar): + """Implements cookie storage adhering to RFC 6265.""" + + DATE_TOKENS_RE = re.compile( + r"[\x09\x20-\x2F\x3B-\x40\x5B-\x60\x7B-\x7E]*" + r"(?P<token>[\x00-\x08\x0A-\x1F\d:a-zA-Z\x7F-\xFF]+)") + + DATE_HMS_TIME_RE = re.compile(r"(\d{1,2}):(\d{1,2}):(\d{1,2})") + + DATE_DAY_OF_MONTH_RE = re.compile(r"(\d{1,2})") + + DATE_MONTH_RE = re.compile("(jan)|(feb)|(mar)|(apr)|(may)|(jun)|(jul)|" + "(aug)|(sep)|(oct)|(nov)|(dec)", re.I) + + DATE_YEAR_RE = re.compile(r"(\d{2,4})") + + MAX_TIME = 2051215261.0 # so far in future (2035-01-01) + + def __init__(self, *, unsafe: bool=False, + loop: Optional[asyncio.AbstractEventLoop]=None) -> None: + super().__init__(loop=loop) + self._cookies = defaultdict(SimpleCookie) #type: DefaultDict[str, SimpleCookie] # noqa + self._host_only_cookies = set() # type: Set[Tuple[str, str]] + self._unsafe = unsafe + self._next_expiration = ceil(self._loop.time()) + self._expirations = {} # type: Dict[Tuple[str, str], int] + + def save(self, file_path: PathLike) -> None: + file_path = pathlib.Path(file_path) + with file_path.open(mode='wb') as f: + pickle.dump(self._cookies, f, pickle.HIGHEST_PROTOCOL) + + def load(self, file_path: PathLike) -> None: + file_path = pathlib.Path(file_path) + with file_path.open(mode='rb') as f: + self._cookies = pickle.load(f) + + def clear(self) -> None: + self._cookies.clear() + self._host_only_cookies.clear() + self._next_expiration = ceil(self._loop.time()) + self._expirations.clear() + + def __iter__(self) -> 'Iterator[Morsel[str]]': + self._do_expiration() + for val in self._cookies.values(): + yield from val.values() + + def __len__(self) -> int: + return sum(1 for i in self) + + def _do_expiration(self) -> None: + now = self._loop.time() + if self._next_expiration > now: + return + if not self._expirations: + return + next_expiration = self.MAX_TIME + to_del = [] + cookies = self._cookies + expirations = self._expirations + for (domain, name), when in expirations.items(): + if when <= now: + cookies[domain].pop(name, None) + to_del.append((domain, name)) + self._host_only_cookies.discard((domain, name)) + else: + next_expiration = min(next_expiration, when) + for key in to_del: + del expirations[key] + + self._next_expiration = ceil(next_expiration) + + def _expire_cookie(self, when: float, domain: str, name: str) -> None: + iwhen = int(when) + self._next_expiration = min(self._next_expiration, iwhen) + self._expirations[(domain, name)] = iwhen + + def update_cookies(self, + cookies: LooseCookies, + response_url: URL=URL()) -> None: + """Update cookies.""" + hostname = response_url.raw_host + + if not self._unsafe and is_ip_address(hostname): + # Don't accept cookies from IPs + return + + if isinstance(cookies, Mapping): + cookies = cookies.items() # type: ignore + + for name, cookie in cookies: + if not isinstance(cookie, Morsel): + tmp = SimpleCookie() + tmp[name] = cookie # type: ignore + cookie = tmp[name] + + domain = cookie["domain"] + + # ignore domains with trailing dots + if domain.endswith('.'): + domain = "" + del cookie["domain"] + + if not domain and hostname is not None: + # Set the cookie's domain to the response hostname + # and set its host-only-flag + self._host_only_cookies.add((hostname, name)) + domain = cookie["domain"] = hostname + + if domain.startswith("."): + # Remove leading dot + domain = domain[1:] + cookie["domain"] = domain + + if hostname and not self._is_domain_match(domain, hostname): + # Setting cookies for different domains is not allowed + continue + + path = cookie["path"] + if not path or not path.startswith("/"): + # Set the cookie's path to the response path + path = response_url.path + if not path.startswith("/"): + path = "/" + else: + # Cut everything from the last slash to the end + path = "/" + path[1:path.rfind("/")] + cookie["path"] = path + + max_age = cookie["max-age"] + if max_age: + try: + delta_seconds = int(max_age) + self._expire_cookie(self._loop.time() + delta_seconds, + domain, name) + except ValueError: + cookie["max-age"] = "" + + else: + expires = cookie["expires"] + if expires: + expire_time = self._parse_date(expires) + if expire_time: + self._expire_cookie(expire_time.timestamp(), + domain, name) + else: + cookie["expires"] = "" + + self._cookies[domain][name] = cookie + + self._do_expiration() + + def filter_cookies(self, request_url: URL=URL()) -> 'BaseCookie[str]': + """Returns this jar's cookies filtered by their attributes.""" + self._do_expiration() + request_url = URL(request_url) + filtered = SimpleCookie() + hostname = request_url.raw_host or "" + is_not_secure = request_url.scheme not in ("https", "wss") + + for cookie in self: + name = cookie.key + domain = cookie["domain"] + + # Send shared cookies + if not domain: + filtered[name] = cookie.value + continue + + if not self._unsafe and is_ip_address(hostname): + continue + + if (domain, name) in self._host_only_cookies: + if domain != hostname: + continue + elif not self._is_domain_match(domain, hostname): + continue + + if not self._is_path_match(request_url.path, cookie["path"]): + continue + + if is_not_secure and cookie["secure"]: + continue + + # It's critical we use the Morsel so the coded_value + # (based on cookie version) is preserved + mrsl_val = cast('Morsel[str]', cookie.get(cookie.key, Morsel())) + mrsl_val.set(cookie.key, cookie.value, cookie.coded_value) + filtered[name] = mrsl_val + + return filtered + + @staticmethod + def _is_domain_match(domain: str, hostname: str) -> bool: + """Implements domain matching adhering to RFC 6265.""" + if hostname == domain: + return True + + if not hostname.endswith(domain): + return False + + non_matching = hostname[:-len(domain)] + + if not non_matching.endswith("."): + return False + + return not is_ip_address(hostname) + + @staticmethod + def _is_path_match(req_path: str, cookie_path: str) -> bool: + """Implements path matching adhering to RFC 6265.""" + if not req_path.startswith("/"): + req_path = "/" + + if req_path == cookie_path: + return True + + if not req_path.startswith(cookie_path): + return False + + if cookie_path.endswith("/"): + return True + + non_matching = req_path[len(cookie_path):] + + return non_matching.startswith("/") + + @classmethod + def _parse_date(cls, date_str: str) -> Optional[datetime.datetime]: + """Implements date string parsing adhering to RFC 6265.""" + if not date_str: + return None + + found_time = False + found_day = False + found_month = False + found_year = False + + hour = minute = second = 0 + day = 0 + month = 0 + year = 0 + + for token_match in cls.DATE_TOKENS_RE.finditer(date_str): + + token = token_match.group("token") + + if not found_time: + time_match = cls.DATE_HMS_TIME_RE.match(token) + if time_match: + found_time = True + hour, minute, second = [ + int(s) for s in time_match.groups()] + continue + + if not found_day: + day_match = cls.DATE_DAY_OF_MONTH_RE.match(token) + if day_match: + found_day = True + day = int(day_match.group()) + continue + + if not found_month: + month_match = cls.DATE_MONTH_RE.match(token) + if month_match: + found_month = True + month = month_match.lastindex + continue + + if not found_year: + year_match = cls.DATE_YEAR_RE.match(token) + if year_match: + found_year = True + year = int(year_match.group()) + + if 70 <= year <= 99: + year += 1900 + elif 0 <= year <= 69: + year += 2000 + + if False in (found_day, found_month, found_year, found_time): + return None + + if not 1 <= day <= 31: + return None + + if year < 1601 or hour > 23 or minute > 59 or second > 59: + return None + + return datetime.datetime(year, month, day, + hour, minute, second, + tzinfo=datetime.timezone.utc) + + +class DummyCookieJar(AbstractCookieJar): + """Implements a dummy cookie storage. + + It can be used with the ClientSession when no cookie processing is needed. + + """ + + def __init__(self, *, + loop: Optional[asyncio.AbstractEventLoop]=None) -> None: + super().__init__(loop=loop) + + def __iter__(self) -> 'Iterator[Morsel[str]]': + while False: + yield None + + def __len__(self) -> int: + return 0 + + def clear(self) -> None: + pass + + def update_cookies(self, + cookies: LooseCookies, + response_url: URL=URL()) -> None: + pass + + def filter_cookies(self, request_url: URL) -> 'BaseCookie[str]': + return SimpleCookie() diff --git a/venv/lib/python3.6/site-packages/aiohttp/formdata.py b/venv/lib/python3.6/site-packages/aiohttp/formdata.py new file mode 100644 index 0000000..b4ffa04 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/formdata.py @@ -0,0 +1,150 @@ +import io +from typing import Any, Iterable, List, Optional # noqa +from urllib.parse import urlencode + +from multidict import MultiDict, MultiDictProxy + +from . import hdrs, multipart, payload +from .helpers import guess_filename +from .payload import Payload + +__all__ = ('FormData',) + + +class FormData: + """Helper class for multipart/form-data and + application/x-www-form-urlencoded body generation.""" + + def __init__(self, fields: + Iterable[Any]=(), + quote_fields: bool=True, + charset: Optional[str]=None) -> None: + self._writer = multipart.MultipartWriter('form-data') + self._fields = [] # type: List[Any] + self._is_multipart = False + self._quote_fields = quote_fields + self._charset = charset + + if isinstance(fields, dict): + fields = list(fields.items()) + elif not isinstance(fields, (list, tuple)): + fields = (fields,) + self.add_fields(*fields) + + @property + def is_multipart(self) -> bool: + return self._is_multipart + + def add_field(self, name: str, value: Any, *, + content_type: Optional[str]=None, + filename: Optional[str]=None, + content_transfer_encoding: Optional[str]=None) -> None: + + if isinstance(value, io.IOBase): + self._is_multipart = True + elif isinstance(value, (bytes, bytearray, memoryview)): + if filename is None and content_transfer_encoding is None: + filename = name + + type_options = MultiDict({'name': name}) + if filename is not None and not isinstance(filename, str): + raise TypeError('filename must be an instance of str. ' + 'Got: %s' % filename) + if filename is None and isinstance(value, io.IOBase): + filename = guess_filename(value, name) + if filename is not None: + type_options['filename'] = filename + self._is_multipart = True + + headers = {} + if content_type is not None: + if not isinstance(content_type, str): + raise TypeError('content_type must be an instance of str. ' + 'Got: %s' % content_type) + headers[hdrs.CONTENT_TYPE] = content_type + self._is_multipart = True + if content_transfer_encoding is not None: + if not isinstance(content_transfer_encoding, str): + raise TypeError('content_transfer_encoding must be an instance' + ' of str. Got: %s' % content_transfer_encoding) + headers[hdrs.CONTENT_TRANSFER_ENCODING] = content_transfer_encoding + self._is_multipart = True + + self._fields.append((type_options, headers, value)) + + def add_fields(self, *fields: Any) -> None: + to_add = list(fields) + + while to_add: + rec = to_add.pop(0) + + if isinstance(rec, io.IOBase): + k = guess_filename(rec, 'unknown') + self.add_field(k, rec) # type: ignore + + elif isinstance(rec, (MultiDictProxy, MultiDict)): + to_add.extend(rec.items()) + + elif isinstance(rec, (list, tuple)) and len(rec) == 2: + k, fp = rec + self.add_field(k, fp) # type: ignore + + else: + raise TypeError('Only io.IOBase, multidict and (name, file) ' + 'pairs allowed, use .add_field() for passing ' + 'more complex parameters, got {!r}' + .format(rec)) + + def _gen_form_urlencoded(self) -> payload.BytesPayload: + # form data (x-www-form-urlencoded) + data = [] + for type_options, _, value in self._fields: + data.append((type_options['name'], value)) + + charset = self._charset if self._charset is not None else 'utf-8' + + if charset == 'utf-8': + content_type = 'application/x-www-form-urlencoded' + else: + content_type = ('application/x-www-form-urlencoded; ' + 'charset=%s' % charset) + + return payload.BytesPayload( + urlencode(data, doseq=True, encoding=charset).encode(), + content_type=content_type) + + def _gen_form_data(self) -> multipart.MultipartWriter: + """Encode a list of fields using the multipart/form-data MIME format""" + for dispparams, headers, value in self._fields: + try: + if hdrs.CONTENT_TYPE in headers: + part = payload.get_payload( + value, content_type=headers[hdrs.CONTENT_TYPE], + headers=headers, encoding=self._charset) + else: + part = payload.get_payload( + value, headers=headers, encoding=self._charset) + except Exception as exc: + raise TypeError( + 'Can not serialize value type: %r\n ' + 'headers: %r\n value: %r' % ( + type(value), headers, value)) from exc + + if dispparams: + part.set_content_disposition( + 'form-data', quote_fields=self._quote_fields, **dispparams + ) + # FIXME cgi.FieldStorage doesn't likes body parts with + # Content-Length which were sent via chunked transfer encoding + assert part.headers is not None + part.headers.popall(hdrs.CONTENT_LENGTH, None) + + self._writer.append_payload(part) + + return self._writer + + def __call__(self) -> Payload: + if self._is_multipart: + return self._gen_form_data() + else: + return self._gen_form_urlencoded() diff --git a/venv/lib/python3.6/site-packages/aiohttp/frozenlist.py b/venv/lib/python3.6/site-packages/aiohttp/frozenlist.py new file mode 100644 index 0000000..2aaea64 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/frozenlist.py @@ -0,0 +1,72 @@ +from collections.abc import MutableSequence +from functools import total_ordering + +from .helpers import NO_EXTENSIONS + + +@total_ordering +class FrozenList(MutableSequence): + + __slots__ = ('_frozen', '_items') + + def __init__(self, items=None): + self._frozen = False + if items is not None: + items = list(items) + else: + items = [] + self._items = items + + @property + def frozen(self): + return self._frozen + + def freeze(self): + self._frozen = True + + def __getitem__(self, index): + return self._items[index] + + def __setitem__(self, index, value): + if self._frozen: + raise RuntimeError("Cannot modify frozen list.") + self._items[index] = value + + def __delitem__(self, index): + if self._frozen: + raise RuntimeError("Cannot modify frozen list.") + del self._items[index] + + def __len__(self): + return self._items.__len__() + + def __iter__(self): + return self._items.__iter__() + + def __reversed__(self): + return self._items.__reversed__() + + def __eq__(self, other): + return list(self) == other + + def __le__(self, other): + return list(self) <= other + + def insert(self, pos, item): + if self._frozen: + raise RuntimeError("Cannot modify frozen list.") + self._items.insert(pos, item) + + def __repr__(self): + return '<FrozenList(frozen={}, {!r})>'.format(self._frozen, + self._items) + + +PyFrozenList = FrozenList + +try: + from aiohttp._frozenlist import FrozenList as CFrozenList # type: ignore + if not NO_EXTENSIONS: + FrozenList = CFrozenList # type: ignore +except ImportError: # pragma: no cover + pass diff --git a/venv/lib/python3.6/site-packages/aiohttp/frozenlist.pyi b/venv/lib/python3.6/site-packages/aiohttp/frozenlist.pyi new file mode 100644 index 0000000..61a0478 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/frozenlist.pyi @@ -0,0 +1,54 @@ +from typing import (Generic, Iterable, Iterator, List, MutableSequence, + Optional, TypeVar, Union, overload) + +_T = TypeVar('_T') +_Arg = Union[List[_T], Iterable[_T]] + + +class FrozenList(MutableSequence[_T], Generic[_T]): + + def __init__(self, items: Optional[_Arg[_T]]=None) -> None: ... + + @property + def frozen(self) -> bool: ... + + def freeze(self) -> None: ... + + @overload + def __getitem__(self, i: int) -> _T: ... + + @overload + def __getitem__(self, s: slice) -> FrozenList[_T]: ... + + @overload + def __setitem__(self, i: int, o: _T) -> None: ... + + @overload + def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ... + + @overload + def __delitem__(self, i: int) -> None: ... + + @overload + def __delitem__(self, i: slice) -> None: ... + + def __len__(self) -> int: ... + + def __iter__(self) -> Iterator[_T]: ... + + def __reversed__(self) -> Iterator[_T]: ... + + def __eq__(self, other: object) -> bool: ... + def __le__(self, other: FrozenList[_T]) -> bool: ... + def __ne__(self, other: object) -> bool: ... + def __lt__(self, other: FrozenList[_T]) -> bool: ... + def __ge__(self, other: FrozenList[_T]) -> bool: ... + def __gt__(self, other: FrozenList[_T]) -> bool: ... + + def insert(self, pos: int, item: _T) -> None: ... + + def __repr__(self) -> str: ... + + +# types for C accelerators are the same +CFrozenList = PyFrozenList = FrozenList diff --git a/venv/lib/python3.6/site-packages/aiohttp/hdrs.py b/venv/lib/python3.6/site-packages/aiohttp/hdrs.py new file mode 100644 index 0000000..c11a9d3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/hdrs.py @@ -0,0 +1,100 @@ +"""HTTP Headers constants.""" + +# After changing the file content call ./tools/gen.py +# to regenerate the headers parser + +from multidict import istr + +METH_ANY = '*' +METH_CONNECT = 'CONNECT' +METH_HEAD = 'HEAD' +METH_GET = 'GET' +METH_DELETE = 'DELETE' +METH_OPTIONS = 'OPTIONS' +METH_PATCH = 'PATCH' +METH_POST = 'POST' +METH_PUT = 'PUT' +METH_TRACE = 'TRACE' + +METH_ALL = {METH_CONNECT, METH_HEAD, METH_GET, METH_DELETE, + METH_OPTIONS, METH_PATCH, METH_POST, METH_PUT, METH_TRACE} + + +ACCEPT = istr('Accept') +ACCEPT_CHARSET = istr('Accept-Charset') +ACCEPT_ENCODING = istr('Accept-Encoding') +ACCEPT_LANGUAGE = istr('Accept-Language') +ACCEPT_RANGES = istr('Accept-Ranges') +ACCESS_CONTROL_MAX_AGE = istr('Access-Control-Max-Age') +ACCESS_CONTROL_ALLOW_CREDENTIALS = istr('Access-Control-Allow-Credentials') +ACCESS_CONTROL_ALLOW_HEADERS = istr('Access-Control-Allow-Headers') +ACCESS_CONTROL_ALLOW_METHODS = istr('Access-Control-Allow-Methods') +ACCESS_CONTROL_ALLOW_ORIGIN = istr('Access-Control-Allow-Origin') +ACCESS_CONTROL_EXPOSE_HEADERS = istr('Access-Control-Expose-Headers') +ACCESS_CONTROL_REQUEST_HEADERS = istr('Access-Control-Request-Headers') +ACCESS_CONTROL_REQUEST_METHOD = istr('Access-Control-Request-Method') +AGE = istr('Age') +ALLOW = istr('Allow') +AUTHORIZATION = istr('Authorization') +CACHE_CONTROL = istr('Cache-Control') +CONNECTION = istr('Connection') +CONTENT_DISPOSITION = istr('Content-Disposition') +CONTENT_ENCODING = istr('Content-Encoding') +CONTENT_LANGUAGE = istr('Content-Language') +CONTENT_LENGTH = istr('Content-Length') +CONTENT_LOCATION = istr('Content-Location') +CONTENT_MD5 = istr('Content-MD5') +CONTENT_RANGE = istr('Content-Range') +CONTENT_TRANSFER_ENCODING = istr('Content-Transfer-Encoding') +CONTENT_TYPE = istr('Content-Type') +COOKIE = istr('Cookie') +DATE = istr('Date') +DESTINATION = istr('Destination') +DIGEST = istr('Digest') +ETAG = istr('Etag') +EXPECT = istr('Expect') +EXPIRES = istr('Expires') +FORWARDED = istr('Forwarded') +FROM = istr('From') +HOST = istr('Host') +IF_MATCH = istr('If-Match') +IF_MODIFIED_SINCE = istr('If-Modified-Since') +IF_NONE_MATCH = istr('If-None-Match') +IF_RANGE = istr('If-Range') +IF_UNMODIFIED_SINCE = istr('If-Unmodified-Since') +KEEP_ALIVE = istr('Keep-Alive') +LAST_EVENT_ID = istr('Last-Event-ID') +LAST_MODIFIED = istr('Last-Modified') +LINK = istr('Link') +LOCATION = istr('Location') +MAX_FORWARDS = istr('Max-Forwards') +ORIGIN = istr('Origin') +PRAGMA = istr('Pragma') +PROXY_AUTHENTICATE = istr('Proxy-Authenticate') +PROXY_AUTHORIZATION = istr('Proxy-Authorization') +RANGE = istr('Range') +REFERER = istr('Referer') +RETRY_AFTER = istr('Retry-After') +SEC_WEBSOCKET_ACCEPT = istr('Sec-WebSocket-Accept') +SEC_WEBSOCKET_VERSION = istr('Sec-WebSocket-Version') +SEC_WEBSOCKET_PROTOCOL = istr('Sec-WebSocket-Protocol') +SEC_WEBSOCKET_EXTENSIONS = istr('Sec-WebSocket-Extensions') +SEC_WEBSOCKET_KEY = istr('Sec-WebSocket-Key') +SEC_WEBSOCKET_KEY1 = istr('Sec-WebSocket-Key1') +SERVER = istr('Server') +SET_COOKIE = istr('Set-Cookie') +TE = istr('TE') +TRAILER = istr('Trailer') +TRANSFER_ENCODING = istr('Transfer-Encoding') +UPGRADE = istr('Upgrade') +WEBSOCKET = istr('WebSocket') +URI = istr('URI') +USER_AGENT = istr('User-Agent') +VARY = istr('Vary') +VIA = istr('Via') +WANT_DIGEST = istr('Want-Digest') +WARNING = istr('Warning') +WWW_AUTHENTICATE = istr('WWW-Authenticate') +X_FORWARDED_FOR = istr('X-Forwarded-For') +X_FORWARDED_HOST = istr('X-Forwarded-Host') +X_FORWARDED_PROTO = istr('X-Forwarded-Proto') diff --git a/venv/lib/python3.6/site-packages/aiohttp/helpers.py b/venv/lib/python3.6/site-packages/aiohttp/helpers.py new file mode 100644 index 0000000..cbfbb1e --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/helpers.py @@ -0,0 +1,704 @@ +"""Various helper functions""" + +import asyncio +import base64 +import binascii +import cgi +import functools +import inspect +import netrc +import os +import platform +import re +import sys +import time +import warnings +import weakref +from collections import namedtuple +from contextlib import suppress +from math import ceil +from pathlib import Path +from types import TracebackType +from typing import ( # noqa + Any, + Callable, + Dict, + Iterable, + Iterator, + List, + Mapping, + Optional, + Pattern, + Set, + Tuple, + Type, + TypeVar, + Union, + cast, +) +from urllib.parse import quote +from urllib.request import getproxies + +import async_timeout +import attr +from multidict import MultiDict, MultiDictProxy +from yarl import URL + +from . import hdrs +from .log import client_logger, internal_logger +from .typedefs import PathLike # noqa + +__all__ = ('BasicAuth', 'ChainMapProxy') + +PY_36 = sys.version_info >= (3, 6) +PY_37 = sys.version_info >= (3, 7) + +if not PY_37: + import idna_ssl + idna_ssl.patch_match_hostname() + +try: + from typing import ContextManager +except ImportError: + from typing_extensions import ContextManager + + +def all_tasks( + loop: Optional[asyncio.AbstractEventLoop] = None +) -> Set['asyncio.Task[Any]']: + tasks = list(asyncio.Task.all_tasks(loop)) # type: ignore + return {t for t in tasks if not t.done()} + + +if PY_37: + all_tasks = getattr(asyncio, 'all_tasks') # noqa + + +_T = TypeVar('_T') + + +sentinel = object() # type: Any +NO_EXTENSIONS = bool(os.environ.get('AIOHTTP_NO_EXTENSIONS')) # type: bool + +# N.B. sys.flags.dev_mode is available on Python 3.7+, use getattr +# for compatibility with older versions +DEBUG = (getattr(sys.flags, 'dev_mode', False) or + (not sys.flags.ignore_environment and + bool(os.environ.get('PYTHONASYNCIODEBUG')))) # type: bool + + +CHAR = set(chr(i) for i in range(0, 128)) +CTL = set(chr(i) for i in range(0, 32)) | {chr(127), } +SEPARATORS = {'(', ')', '<', '>', '@', ',', ';', ':', '\\', '"', '/', '[', ']', + '?', '=', '{', '}', ' ', chr(9)} +TOKEN = CHAR ^ CTL ^ SEPARATORS + + +coroutines = asyncio.coroutines +old_debug = coroutines._DEBUG # type: ignore + +# prevent "coroutine noop was never awaited" warning. +coroutines._DEBUG = False # type: ignore + + +@asyncio.coroutine +def noop(*args, **kwargs): # type: ignore + return # type: ignore + + +async def noop2(*args: Any, **kwargs: Any) -> None: + return + + +coroutines._DEBUG = old_debug # type: ignore + + +class BasicAuth(namedtuple('BasicAuth', ['login', 'password', 'encoding'])): + """Http basic authentication helper.""" + + def __new__(cls, login: str, + password: str='', + encoding: str='latin1') -> 'BasicAuth': + if login is None: + raise ValueError('None is not allowed as login value') + + if password is None: + raise ValueError('None is not allowed as password value') + + if ':' in login: + raise ValueError( + 'A ":" is not allowed in login (RFC 1945#section-11.1)') + + return super().__new__(cls, login, password, encoding) + + @classmethod + def decode(cls, auth_header: str, encoding: str='latin1') -> 'BasicAuth': + """Create a BasicAuth object from an Authorization HTTP header.""" + try: + auth_type, encoded_credentials = auth_header.split(' ', 1) + except ValueError: + raise ValueError('Could not parse authorization header.') + + if auth_type.lower() != 'basic': + raise ValueError('Unknown authorization method %s' % auth_type) + + try: + decoded = base64.b64decode( + encoded_credentials.encode('ascii'), validate=True + ).decode(encoding) + except binascii.Error: + raise ValueError('Invalid base64 encoding.') + + try: + # RFC 2617 HTTP Authentication + # https://www.ietf.org/rfc/rfc2617.txt + # the colon must be present, but the username and password may be + # otherwise blank. + username, password = decoded.split(':', 1) + except ValueError: + raise ValueError('Invalid credentials.') + + return cls(username, password, encoding=encoding) + + @classmethod + def from_url(cls, url: URL, + *, encoding: str='latin1') -> Optional['BasicAuth']: + """Create BasicAuth from url.""" + if not isinstance(url, URL): + raise TypeError("url should be yarl.URL instance") + if url.user is None: + return None + return cls(url.user, url.password or '', encoding=encoding) + + def encode(self) -> str: + """Encode credentials.""" + creds = ('%s:%s' % (self.login, self.password)).encode(self.encoding) + return 'Basic %s' % base64.b64encode(creds).decode(self.encoding) + + +def strip_auth_from_url(url: URL) -> Tuple[URL, Optional[BasicAuth]]: + auth = BasicAuth.from_url(url) + if auth is None: + return url, None + else: + return url.with_user(None), auth + + +def netrc_from_env() -> Optional[netrc.netrc]: + """Attempt to load the netrc file from the path specified by the env-var + NETRC or in the default location in the user's home directory. + + Returns None if it couldn't be found or fails to parse. + """ + netrc_env = os.environ.get('NETRC') + + if netrc_env is not None: + netrc_path = Path(netrc_env) + else: + try: + home_dir = Path.home() + except RuntimeError as e: # pragma: no cover + # if pathlib can't resolve home, it may raise a RuntimeError + client_logger.debug('Could not resolve home directory when ' + 'trying to look for .netrc file: %s', e) + return None + + netrc_path = home_dir / ( + '_netrc' if platform.system() == 'Windows' else '.netrc') + + try: + return netrc.netrc(str(netrc_path)) + except netrc.NetrcParseError as e: + client_logger.warning('Could not parse .netrc file: %s', e) + except OSError as e: + # we couldn't read the file (doesn't exist, permissions, etc.) + if netrc_env or netrc_path.is_file(): + # only warn if the environment wanted us to load it, + # or it appears like the default file does actually exist + client_logger.warning('Could not read .netrc file: %s', e) + + return None + + +@attr.s(frozen=True, slots=True) +class ProxyInfo: + proxy = attr.ib(type=URL) + proxy_auth = attr.ib(type=Optional[BasicAuth]) + + +def proxies_from_env() -> Dict[str, ProxyInfo]: + proxy_urls = {k: URL(v) for k, v in getproxies().items() + if k in ('http', 'https')} + netrc_obj = netrc_from_env() + stripped = {k: strip_auth_from_url(v) for k, v in proxy_urls.items()} + ret = {} + for proto, val in stripped.items(): + proxy, auth = val + if proxy.scheme == 'https': + client_logger.warning( + "HTTPS proxies %s are not supported, ignoring", proxy) + continue + if netrc_obj and auth is None: + auth_from_netrc = None + if proxy.host is not None: + auth_from_netrc = netrc_obj.authenticators(proxy.host) + if auth_from_netrc is not None: + # auth_from_netrc is a (`user`, `account`, `password`) tuple, + # `user` and `account` both can be username, + # if `user` is None, use `account` + *logins, password = auth_from_netrc + login = logins[0] if logins[0] else logins[-1] + auth = BasicAuth(cast(str, login), cast(str, password)) + ret[proto] = ProxyInfo(proxy, auth) + return ret + + +def current_task(loop: Optional[asyncio.AbstractEventLoop]=None) -> asyncio.Task: # type: ignore # noqa # Return type is intentionally Generic here + if PY_37: + return asyncio.current_task(loop=loop) # type: ignore + else: + return asyncio.Task.current_task(loop=loop) # type: ignore + + +def get_running_loop( + loop: Optional[asyncio.AbstractEventLoop]=None +) -> asyncio.AbstractEventLoop: + if loop is None: + loop = asyncio.get_event_loop() + if not loop.is_running(): + warnings.warn("The object should be created from async function", + DeprecationWarning, stacklevel=3) + if loop.get_debug(): + internal_logger.warning( + "The object should be created from async function", + stack_info=True) + return loop + + +def isasyncgenfunction(obj: Any) -> bool: + func = getattr(inspect, 'isasyncgenfunction', None) + if func is not None: + return func(obj) + else: + return False + + +@attr.s(frozen=True, slots=True) +class MimeType: + type = attr.ib(type=str) + subtype = attr.ib(type=str) + suffix = attr.ib(type=str) + parameters = attr.ib(type=MultiDictProxy) # type: MultiDictProxy[str] + + +@functools.lru_cache(maxsize=56) +def parse_mimetype(mimetype: str) -> MimeType: + """Parses a MIME type into its components. + + mimetype is a MIME type string. + + Returns a MimeType object. + + Example: + + >>> parse_mimetype('text/html; charset=utf-8') + MimeType(type='text', subtype='html', suffix='', + parameters={'charset': 'utf-8'}) + + """ + if not mimetype: + return MimeType(type='', subtype='', suffix='', + parameters=MultiDictProxy(MultiDict())) + + parts = mimetype.split(';') + params = MultiDict() # type: MultiDict[str] + for item in parts[1:]: + if not item: + continue + key, value = cast(Tuple[str, str], + item.split('=', 1) if '=' in item else (item, '')) + params.add(key.lower().strip(), value.strip(' "')) + + fulltype = parts[0].strip().lower() + if fulltype == '*': + fulltype = '*/*' + + mtype, stype = (cast(Tuple[str, str], fulltype.split('/', 1)) + if '/' in fulltype else (fulltype, '')) + stype, suffix = (cast(Tuple[str, str], stype.split('+', 1)) + if '+' in stype else (stype, '')) + + return MimeType(type=mtype, subtype=stype, suffix=suffix, + parameters=MultiDictProxy(params)) + + +def guess_filename(obj: Any, default: Optional[str]=None) -> Optional[str]: + name = getattr(obj, 'name', None) + if name and isinstance(name, str) and name[0] != '<' and name[-1] != '>': + return Path(name).name + return default + + +def content_disposition_header(disptype: str, + quote_fields: bool=True, + **params: str) -> str: + """Sets ``Content-Disposition`` header. + + disptype is a disposition type: inline, attachment, form-data. + Should be valid extension token (see RFC 2183) + + params is a dict with disposition params. + """ + if not disptype or not (TOKEN > set(disptype)): + raise ValueError('bad content disposition type {!r}' + ''.format(disptype)) + + value = disptype + if params: + lparams = [] + for key, val in params.items(): + if not key or not (TOKEN > set(key)): + raise ValueError('bad content disposition parameter' + ' {!r}={!r}'.format(key, val)) + qval = quote(val, '') if quote_fields else val + lparams.append((key, '"%s"' % qval)) + if key == 'filename': + lparams.append(('filename*', "utf-8''" + qval)) + sparams = '; '.join('='.join(pair) for pair in lparams) + value = '; '.join((value, sparams)) + return value + + +class reify: + """Use as a class method decorator. It operates almost exactly like + the Python `@property` decorator, but it puts the result of the + method it decorates into the instance dict after the first call, + effectively replacing the function it decorates with an instance + variable. It is, in Python parlance, a data descriptor. + + """ + + def __init__(self, wrapped: Callable[..., Any]) -> None: + self.wrapped = wrapped + self.__doc__ = wrapped.__doc__ + self.name = wrapped.__name__ + + def __get__(self, inst: Any, owner: Any) -> Any: + try: + try: + return inst._cache[self.name] + except KeyError: + val = self.wrapped(inst) + inst._cache[self.name] = val + return val + except AttributeError: + if inst is None: + return self + raise + + def __set__(self, inst: Any, value: Any) -> None: + raise AttributeError("reified property is read-only") + + +reify_py = reify + +try: + from ._helpers import reify as reify_c + if not NO_EXTENSIONS: + reify = reify_c # type: ignore +except ImportError: + pass + +_ipv4_pattern = (r'^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}' + r'(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$') +_ipv6_pattern = ( + r'^(?:(?:(?:[A-F0-9]{1,4}:){6}|(?=(?:[A-F0-9]{0,4}:){0,6}' + r'(?:[0-9]{1,3}\.){3}[0-9]{1,3}$)(([0-9A-F]{1,4}:){0,5}|:)' + r'((:[0-9A-F]{1,4}){1,5}:|:)|::(?:[A-F0-9]{1,4}:){5})' + r'(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}' + r'(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])|(?:[A-F0-9]{1,4}:){7}' + r'[A-F0-9]{1,4}|(?=(?:[A-F0-9]{0,4}:){0,7}[A-F0-9]{0,4}$)' + r'(([0-9A-F]{1,4}:){1,7}|:)((:[0-9A-F]{1,4}){1,7}|:)|(?:[A-F0-9]{1,4}:){7}' + r':|:(:[A-F0-9]{1,4}){7})$') +_ipv4_regex = re.compile(_ipv4_pattern) +_ipv6_regex = re.compile(_ipv6_pattern, flags=re.IGNORECASE) +_ipv4_regexb = re.compile(_ipv4_pattern.encode('ascii')) +_ipv6_regexb = re.compile(_ipv6_pattern.encode('ascii'), flags=re.IGNORECASE) + + +def _is_ip_address( + regex: Pattern[str], regexb: Pattern[bytes], + host: Optional[Union[str, bytes]])-> bool: + if host is None: + return False + if isinstance(host, str): + return bool(regex.match(host)) + elif isinstance(host, (bytes, bytearray, memoryview)): + return bool(regexb.match(host)) + else: + raise TypeError("{} [{}] is not a str or bytes" + .format(host, type(host))) + + +is_ipv4_address = functools.partial(_is_ip_address, _ipv4_regex, _ipv4_regexb) +is_ipv6_address = functools.partial(_is_ip_address, _ipv6_regex, _ipv6_regexb) + + +def is_ip_address( + host: Optional[Union[str, bytes, bytearray, memoryview]]) -> bool: + return is_ipv4_address(host) or is_ipv6_address(host) + + +_cached_current_datetime = None +_cached_formatted_datetime = None + + +def rfc822_formatted_time() -> str: + global _cached_current_datetime + global _cached_formatted_datetime + + now = int(time.time()) + if now != _cached_current_datetime: + # Weekday and month names for HTTP date/time formatting; + # always English! + # Tuples are constants stored in codeobject! + _weekdayname = ("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") + _monthname = ("", # Dummy so we can use 1-based month numbers + "Jan", "Feb", "Mar", "Apr", "May", "Jun", + "Jul", "Aug", "Sep", "Oct", "Nov", "Dec") + + year, month, day, hh, mm, ss, wd, y, z = time.gmtime(now) # type: ignore # noqa + _cached_formatted_datetime = "%s, %02d %3s %4d %02d:%02d:%02d GMT" % ( + _weekdayname[wd], day, _monthname[month], year, hh, mm, ss + ) + _cached_current_datetime = now + return _cached_formatted_datetime # type: ignore + + +def _weakref_handle(info): # type: ignore + ref, name = info + ob = ref() + if ob is not None: + with suppress(Exception): + getattr(ob, name)() + + +def weakref_handle(ob, name, timeout, loop, ceil_timeout=True): # type: ignore + if timeout is not None and timeout > 0: + when = loop.time() + timeout + if ceil_timeout: + when = ceil(when) + + return loop.call_at(when, _weakref_handle, (weakref.ref(ob), name)) + + +def call_later(cb, timeout, loop): # type: ignore + if timeout is not None and timeout > 0: + when = ceil(loop.time() + timeout) + return loop.call_at(when, cb) + + +class TimeoutHandle: + """ Timeout handle """ + + def __init__(self, + loop: asyncio.AbstractEventLoop, + timeout: Optional[float]) -> None: + self._timeout = timeout + self._loop = loop + self._callbacks = [] # type: List[Tuple[Callable[..., None], Tuple[Any, ...], Dict[str, Any]]] # noqa + + def register(self, callback: Callable[..., None], + *args: Any, **kwargs: Any) -> None: + self._callbacks.append((callback, args, kwargs)) + + def close(self) -> None: + self._callbacks.clear() + + def start(self) -> Optional[asyncio.Handle]: + if self._timeout is not None and self._timeout > 0: + at = ceil(self._loop.time() + self._timeout) + return self._loop.call_at(at, self.__call__) + else: + return None + + def timer(self) -> 'BaseTimerContext': + if self._timeout is not None and self._timeout > 0: + timer = TimerContext(self._loop) + self.register(timer.timeout) + return timer + else: + return TimerNoop() + + def __call__(self) -> None: + for cb, args, kwargs in self._callbacks: + with suppress(Exception): + cb(*args, **kwargs) + + self._callbacks.clear() + + +class BaseTimerContext(ContextManager['BaseTimerContext']): + pass + + +class TimerNoop(BaseTimerContext): + + def __enter__(self) -> BaseTimerContext: + return self + + def __exit__(self, exc_type: Optional[Type[BaseException]], + exc_val: Optional[BaseException], + exc_tb: Optional[TracebackType]) -> Optional[bool]: + return False + + +class TimerContext(BaseTimerContext): + """ Low resolution timeout context manager """ + + def __init__(self, loop: asyncio.AbstractEventLoop) -> None: + self._loop = loop + self._tasks = [] # type: List[asyncio.Task[Any]] + self._cancelled = False + + def __enter__(self) -> BaseTimerContext: + task = current_task(loop=self._loop) + + if task is None: + raise RuntimeError('Timeout context manager should be used ' + 'inside a task') + + if self._cancelled: + task.cancel() + raise asyncio.TimeoutError from None + + self._tasks.append(task) + return self + + def __exit__(self, exc_type: Optional[Type[BaseException]], + exc_val: Optional[BaseException], + exc_tb: Optional[TracebackType]) -> Optional[bool]: + if self._tasks: + self._tasks.pop() + + if exc_type is asyncio.CancelledError and self._cancelled: + raise asyncio.TimeoutError from None + return None + + def timeout(self) -> None: + if not self._cancelled: + for task in set(self._tasks): + task.cancel() + + self._cancelled = True + + +class CeilTimeout(async_timeout.timeout): + + def __enter__(self) -> async_timeout.timeout: + if self._timeout is not None: + self._task = current_task(loop=self._loop) + if self._task is None: + raise RuntimeError( + 'Timeout context manager should be used inside a task') + self._cancel_handler = self._loop.call_at( + ceil(self._loop.time() + self._timeout), self._cancel_task) + return self + + +class HeadersMixin: + + ATTRS = frozenset([ + '_content_type', '_content_dict', '_stored_content_type']) + + _content_type = None # type: Optional[str] + _content_dict = None # type: Optional[Dict[str, str]] + _stored_content_type = sentinel + + def _parse_content_type(self, raw: str) -> None: + self._stored_content_type = raw + if raw is None: + # default value according to RFC 2616 + self._content_type = 'application/octet-stream' + self._content_dict = {} + else: + self._content_type, self._content_dict = cgi.parse_header(raw) + + @property + def content_type(self) -> str: + """The value of content part for Content-Type HTTP header.""" + raw = self._headers.get(hdrs.CONTENT_TYPE) # type: ignore + if self._stored_content_type != raw: + self._parse_content_type(raw) + return self._content_type # type: ignore + + @property + def charset(self) -> Optional[str]: + """The value of charset part for Content-Type HTTP header.""" + raw = self._headers.get(hdrs.CONTENT_TYPE) # type: ignore + if self._stored_content_type != raw: + self._parse_content_type(raw) + return self._content_dict.get('charset') # type: ignore + + @property + def content_length(self) -> Optional[int]: + """The value of Content-Length HTTP header.""" + content_length = self._headers.get(hdrs.CONTENT_LENGTH) # type: ignore + + if content_length is not None: + return int(content_length) + else: + return None + + +def set_result(fut: 'asyncio.Future[_T]', result: _T) -> None: + if not fut.done(): + fut.set_result(result) + + +def set_exception(fut: 'asyncio.Future[_T]', exc: BaseException) -> None: + if not fut.done(): + fut.set_exception(exc) + + +class ChainMapProxy(Mapping[str, Any]): + __slots__ = ('_maps',) + + def __init__(self, maps: Iterable[Mapping[str, Any]]) -> None: + self._maps = tuple(maps) + + def __init_subclass__(cls) -> None: + raise TypeError("Inheritance class {} from ChainMapProxy " + "is forbidden".format(cls.__name__)) + + def __getitem__(self, key: str) -> Any: + for mapping in self._maps: + try: + return mapping[key] + except KeyError: + pass + raise KeyError(key) + + def get(self, key: str, default: Any=None) -> Any: + return self[key] if key in self else default + + def __len__(self) -> int: + # reuses stored hash values if possible + return len(set().union(*self._maps)) # type: ignore + + def __iter__(self) -> Iterator[str]: + d = {} # type: Dict[str, Any] + for mapping in reversed(self._maps): + # reuses stored hash values if possible + d.update(mapping) + return iter(d) + + def __contains__(self, key: object) -> bool: + return any(key in m for m in self._maps) + + def __bool__(self) -> bool: + return any(self._maps) + + def __repr__(self) -> str: + content = ", ".join(map(repr, self._maps)) + return 'ChainMapProxy({})'.format(content) diff --git a/venv/lib/python3.6/site-packages/aiohttp/http.py b/venv/lib/python3.6/site-packages/aiohttp/http.py new file mode 100644 index 0000000..7536216 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/http.py @@ -0,0 +1,56 @@ +import http.server +import sys +from typing import Mapping, Tuple # noqa + +from . import __version__ +from .http_exceptions import HttpProcessingError +from .http_parser import ( + HeadersParser, + HttpParser, + HttpRequestParser, + HttpResponseParser, + RawRequestMessage, + RawResponseMessage, +) +from .http_websocket import ( + WS_CLOSED_MESSAGE, + WS_CLOSING_MESSAGE, + WS_KEY, + WebSocketError, + WebSocketReader, + WebSocketWriter, + WSCloseCode, + WSMessage, + WSMsgType, + ws_ext_gen, + ws_ext_parse, +) +from .http_writer import ( + HttpVersion, + HttpVersion10, + HttpVersion11, + StreamWriter, +) + +__all__ = ( + 'HttpProcessingError', 'RESPONSES', 'SERVER_SOFTWARE', + + # .http_writer + 'StreamWriter', 'HttpVersion', 'HttpVersion10', 'HttpVersion11', + + # .http_parser + 'HeadersParser', 'HttpParser', + 'HttpRequestParser', 'HttpResponseParser', + 'RawRequestMessage', 'RawResponseMessage', + + # .http_websocket + 'WS_CLOSED_MESSAGE', 'WS_CLOSING_MESSAGE', 'WS_KEY', + 'WebSocketReader', 'WebSocketWriter', 'ws_ext_gen', 'ws_ext_parse', + 'WSMessage', 'WebSocketError', 'WSMsgType', 'WSCloseCode', +) + + +SERVER_SOFTWARE = 'Python/{0[0]}.{0[1]} aiohttp/{1}'.format( + sys.version_info, __version__) # type: str + +RESPONSES = http.server.BaseHTTPRequestHandler.responses # type: Mapping[int, Tuple[str, str]] # noqa diff --git a/venv/lib/python3.6/site-packages/aiohttp/http_exceptions.py b/venv/lib/python3.6/site-packages/aiohttp/http_exceptions.py new file mode 100644 index 0000000..d45bd77 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/http_exceptions.py @@ -0,0 +1,98 @@ +"""Low-level http related exceptions.""" + + +from typing import Optional, Union + +from .typedefs import _CIMultiDict + +__all__ = ('HttpProcessingError',) + + +class HttpProcessingError(Exception): + """HTTP error. + + Shortcut for raising HTTP errors with custom code, message and headers. + + code: HTTP Error code. + message: (optional) Error message. + headers: (optional) Headers to be sent in response, a list of pairs + """ + + code = 0 + message = '' + headers = None + + def __init__(self, *, + code: Optional[int]=None, + message: str='', + headers: Optional[_CIMultiDict]=None) -> None: + if code is not None: + self.code = code + self.headers = headers + self.message = message + + super().__init__("%s, message='%s'" % (self.code, message)) + + +class BadHttpMessage(HttpProcessingError): + + code = 400 + message = 'Bad Request' + + def __init__(self, message: str, *, + headers: Optional[_CIMultiDict]=None) -> None: + super().__init__(message=message, headers=headers) + + +class HttpBadRequest(BadHttpMessage): + + code = 400 + message = 'Bad Request' + + +class PayloadEncodingError(BadHttpMessage): + """Base class for payload errors""" + + +class ContentEncodingError(PayloadEncodingError): + """Content encoding error.""" + + +class TransferEncodingError(PayloadEncodingError): + """transfer encoding error.""" + + +class ContentLengthError(PayloadEncodingError): + """Not enough data for satisfy content length header.""" + + +class LineTooLong(BadHttpMessage): + + def __init__(self, line: str, + limit: str='Unknown', + actual_size: str='Unknown') -> None: + super().__init__( + "Got more than %s bytes (%s) when reading %s." % ( + limit, actual_size, line)) + + +class InvalidHeader(BadHttpMessage): + + def __init__(self, hdr: Union[bytes, str]) -> None: + if isinstance(hdr, bytes): + hdr = hdr.decode('utf-8', 'surrogateescape') + super().__init__('Invalid HTTP Header: {}'.format(hdr)) + self.hdr = hdr + + +class BadStatusLine(BadHttpMessage): + + def __init__(self, line: str='') -> None: + if not line: + line = repr(line) + self.args = line, + self.line = line + + +class InvalidURLError(BadHttpMessage): + pass diff --git a/venv/lib/python3.6/site-packages/aiohttp/http_parser.py b/venv/lib/python3.6/site-packages/aiohttp/http_parser.py new file mode 100644 index 0000000..9e22d10 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/http_parser.py @@ -0,0 +1,764 @@ +import abc +import asyncio +import collections +import re +import string +import zlib +from enum import IntEnum +from typing import Any, List, Optional, Tuple, Type, Union # noqa + +from multidict import CIMultiDict, CIMultiDictProxy, istr +from yarl import URL + +from . import hdrs +from .base_protocol import BaseProtocol +from .helpers import NO_EXTENSIONS, BaseTimerContext +from .http_exceptions import ( + BadStatusLine, + ContentEncodingError, + ContentLengthError, + InvalidHeader, + LineTooLong, + TransferEncodingError, +) +from .http_writer import HttpVersion, HttpVersion10 +from .log import internal_logger +from .streams import EMPTY_PAYLOAD, StreamReader +from .typedefs import RawHeaders + +try: + import brotli + HAS_BROTLI = True +except ImportError: # pragma: no cover + HAS_BROTLI = False + + +__all__ = ( + 'HeadersParser', 'HttpParser', 'HttpRequestParser', 'HttpResponseParser', + 'RawRequestMessage', 'RawResponseMessage') + +ASCIISET = set(string.printable) + +# See https://tools.ietf.org/html/rfc7230#section-3.1.1 +# and https://tools.ietf.org/html/rfc7230#appendix-B +# +# method = token +# tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." / +# "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA +# token = 1*tchar +METHRE = re.compile(r"[!#$%&'*+\-.^_`|~0-9A-Za-z]+") +VERSRE = re.compile(r'HTTP/(\d+).(\d+)') +HDRRE = re.compile(rb'[\x00-\x1F\x7F()<>@,;:\[\]={} \t\\\\\"]') + +RawRequestMessage = collections.namedtuple( + 'RawRequestMessage', + ['method', 'path', 'version', 'headers', 'raw_headers', + 'should_close', 'compression', 'upgrade', 'chunked', 'url']) + +RawResponseMessage = collections.namedtuple( + 'RawResponseMessage', + ['version', 'code', 'reason', 'headers', 'raw_headers', + 'should_close', 'compression', 'upgrade', 'chunked']) + + +class ParseState(IntEnum): + + PARSE_NONE = 0 + PARSE_LENGTH = 1 + PARSE_CHUNKED = 2 + PARSE_UNTIL_EOF = 3 + + +class ChunkState(IntEnum): + PARSE_CHUNKED_SIZE = 0 + PARSE_CHUNKED_CHUNK = 1 + PARSE_CHUNKED_CHUNK_EOF = 2 + PARSE_MAYBE_TRAILERS = 3 + PARSE_TRAILERS = 4 + + +class HeadersParser: + def __init__(self, + max_line_size: int=8190, + max_headers: int=32768, + max_field_size: int=8190) -> None: + self.max_line_size = max_line_size + self.max_headers = max_headers + self.max_field_size = max_field_size + + def parse_headers( + self, + lines: List[bytes] + ) -> Tuple['CIMultiDictProxy[str]', RawHeaders]: + headers = CIMultiDict() # type: CIMultiDict[str] + raw_headers = [] + + lines_idx = 1 + line = lines[1] + line_count = len(lines) + + while line: + # Parse initial header name : value pair. + try: + bname, bvalue = line.split(b':', 1) + except ValueError: + raise InvalidHeader(line) from None + + bname = bname.strip(b' \t') + bvalue = bvalue.lstrip() + if HDRRE.search(bname): + raise InvalidHeader(bname) + if len(bname) > self.max_field_size: + raise LineTooLong( + "request header name {}".format( + bname.decode("utf8", "xmlcharrefreplace")), + str(self.max_field_size), + str(len(bname))) + + header_length = len(bvalue) + + # next line + lines_idx += 1 + line = lines[lines_idx] + + # consume continuation lines + continuation = line and line[0] in (32, 9) # (' ', '\t') + + if continuation: + bvalue_lst = [bvalue] + while continuation: + header_length += len(line) + if header_length > self.max_field_size: + raise LineTooLong( + 'request header field {}'.format( + bname.decode("utf8", "xmlcharrefreplace")), + str(self.max_field_size), + str(header_length)) + bvalue_lst.append(line) + + # next line + lines_idx += 1 + if lines_idx < line_count: + line = lines[lines_idx] + if line: + continuation = line[0] in (32, 9) # (' ', '\t') + else: + line = b'' + break + bvalue = b''.join(bvalue_lst) + else: + if header_length > self.max_field_size: + raise LineTooLong( + 'request header field {}'.format( + bname.decode("utf8", "xmlcharrefreplace")), + str(self.max_field_size), + str(header_length)) + + bvalue = bvalue.strip() + name = bname.decode('utf-8', 'surrogateescape') + value = bvalue.decode('utf-8', 'surrogateescape') + + headers.add(name, value) + raw_headers.append((bname, bvalue)) + + return (CIMultiDictProxy(headers), tuple(raw_headers)) + + +class HttpParser(abc.ABC): + + def __init__(self, protocol: Optional[BaseProtocol]=None, + loop: Optional[asyncio.AbstractEventLoop]=None, + max_line_size: int=8190, + max_headers: int=32768, + max_field_size: int=8190, + timer: Optional[BaseTimerContext]=None, + code: Optional[int]=None, + method: Optional[str]=None, + readall: bool=False, + payload_exception: Optional[Type[BaseException]]=None, + response_with_body: bool=True, + read_until_eof: bool=False, + auto_decompress: bool=True) -> None: + self.protocol = protocol + self.loop = loop + self.max_line_size = max_line_size + self.max_headers = max_headers + self.max_field_size = max_field_size + self.timer = timer + self.code = code + self.method = method + self.readall = readall + self.payload_exception = payload_exception + self.response_with_body = response_with_body + self.read_until_eof = read_until_eof + + self._lines = [] # type: List[bytes] + self._tail = b'' + self._upgraded = False + self._payload = None + self._payload_parser = None # type: Optional[HttpPayloadParser] + self._auto_decompress = auto_decompress + self._headers_parser = HeadersParser(max_line_size, + max_headers, + max_field_size) + + @abc.abstractmethod + def parse_message(self, lines: List[bytes]) -> Any: + pass + + def feed_eof(self) -> Any: + if self._payload_parser is not None: + self._payload_parser.feed_eof() + self._payload_parser = None + else: + # try to extract partial message + if self._tail: + self._lines.append(self._tail) + + if self._lines: + if self._lines[-1] != '\r\n': + self._lines.append(b'') + try: + return self.parse_message(self._lines) + except Exception: + return None + + def feed_data( + self, + data: bytes, + SEP: bytes=b'\r\n', + EMPTY: bytes=b'', + CONTENT_LENGTH: istr=hdrs.CONTENT_LENGTH, + METH_CONNECT: str=hdrs.METH_CONNECT, + SEC_WEBSOCKET_KEY1: istr=hdrs.SEC_WEBSOCKET_KEY1 + ) -> Tuple[List[Any], bool, bytes]: + + messages = [] + + if self._tail: + data, self._tail = self._tail + data, b'' + + data_len = len(data) + start_pos = 0 + loop = self.loop + + while start_pos < data_len: + + # read HTTP message (request/response line + headers), \r\n\r\n + # and split by lines + if self._payload_parser is None and not self._upgraded: + pos = data.find(SEP, start_pos) + # consume \r\n + if pos == start_pos and not self._lines: + start_pos = pos + 2 + continue + + if pos >= start_pos: + # line found + self._lines.append(data[start_pos:pos]) + start_pos = pos + 2 + + # \r\n\r\n found + if self._lines[-1] == EMPTY: + try: + msg = self.parse_message(self._lines) + finally: + self._lines.clear() + + # payload length + length = msg.headers.get(CONTENT_LENGTH) + if length is not None: + try: + length = int(length) + except ValueError: + raise InvalidHeader(CONTENT_LENGTH) + if length < 0: + raise InvalidHeader(CONTENT_LENGTH) + + # do not support old websocket spec + if SEC_WEBSOCKET_KEY1 in msg.headers: + raise InvalidHeader(SEC_WEBSOCKET_KEY1) + + self._upgraded = msg.upgrade + + method = getattr(msg, 'method', self.method) + + assert self.protocol is not None + # calculate payload + if ((length is not None and length > 0) or + msg.chunked and not msg.upgrade): + payload = StreamReader( + self.protocol, timer=self.timer, loop=loop) + payload_parser = HttpPayloadParser( + payload, length=length, + chunked=msg.chunked, method=method, + compression=msg.compression, + code=self.code, readall=self.readall, + response_with_body=self.response_with_body, + auto_decompress=self._auto_decompress) + if not payload_parser.done: + self._payload_parser = payload_parser + elif method == METH_CONNECT: + payload = StreamReader( + self.protocol, timer=self.timer, loop=loop) + self._upgraded = True + self._payload_parser = HttpPayloadParser( + payload, method=msg.method, + compression=msg.compression, readall=True, + auto_decompress=self._auto_decompress) + else: + if (getattr(msg, 'code', 100) >= 199 and + length is None and self.read_until_eof): + payload = StreamReader( + self.protocol, timer=self.timer, loop=loop) + payload_parser = HttpPayloadParser( + payload, length=length, + chunked=msg.chunked, method=method, + compression=msg.compression, + code=self.code, readall=True, + response_with_body=self.response_with_body, + auto_decompress=self._auto_decompress) + if not payload_parser.done: + self._payload_parser = payload_parser + else: + payload = EMPTY_PAYLOAD # type: ignore + + messages.append((msg, payload)) + else: + self._tail = data[start_pos:] + data = EMPTY + break + + # no parser, just store + elif self._payload_parser is None and self._upgraded: + assert not self._lines + break + + # feed payload + elif data and start_pos < data_len: + assert not self._lines + assert self._payload_parser is not None + try: + eof, data = self._payload_parser.feed_data( + data[start_pos:]) + except BaseException as exc: + if self.payload_exception is not None: + self._payload_parser.payload.set_exception( + self.payload_exception(str(exc))) + else: + self._payload_parser.payload.set_exception(exc) + + eof = True + data = b'' + + if eof: + start_pos = 0 + data_len = len(data) + self._payload_parser = None + continue + else: + break + + if data and start_pos < data_len: + data = data[start_pos:] + else: + data = EMPTY + + return messages, self._upgraded, data + + def parse_headers( + self, + lines: List[bytes] + ) -> Tuple['CIMultiDictProxy[str]', + RawHeaders, + Optional[bool], + Optional[str], + bool, + bool]: + """Parses RFC 5322 headers from a stream. + + Line continuations are supported. Returns list of header name + and value pairs. Header name is in upper case. + """ + headers, raw_headers = self._headers_parser.parse_headers(lines) + close_conn = None + encoding = None + upgrade = False + chunked = False + + # keep-alive + conn = headers.get(hdrs.CONNECTION) + if conn: + v = conn.lower() + if v == 'close': + close_conn = True + elif v == 'keep-alive': + close_conn = False + elif v == 'upgrade': + upgrade = True + + # encoding + enc = headers.get(hdrs.CONTENT_ENCODING) + if enc: + enc = enc.lower() + if enc in ('gzip', 'deflate', 'br'): + encoding = enc + + # chunking + te = headers.get(hdrs.TRANSFER_ENCODING) + if te and 'chunked' in te.lower(): + chunked = True + + return (headers, raw_headers, close_conn, encoding, upgrade, chunked) + + +class HttpRequestParser(HttpParser): + """Read request status line. Exception .http_exceptions.BadStatusLine + could be raised in case of any errors in status line. + Returns RawRequestMessage. + """ + + def parse_message(self, lines: List[bytes]) -> Any: + # request line + line = lines[0].decode('utf-8', 'surrogateescape') + try: + method, path, version = line.split(None, 2) + except ValueError: + raise BadStatusLine(line) from None + + if len(path) > self.max_line_size: + raise LineTooLong( + 'Status line is too long', + str(self.max_line_size), + str(len(path))) + + # method + if not METHRE.match(method): + raise BadStatusLine(method) + + # version + try: + if version.startswith('HTTP/'): + n1, n2 = version[5:].split('.', 1) + version_o = HttpVersion(int(n1), int(n2)) + else: + raise BadStatusLine(version) + except Exception: + raise BadStatusLine(version) + + # read headers + (headers, raw_headers, + close, compression, upgrade, chunked) = self.parse_headers(lines) + + if close is None: # then the headers weren't set in the request + if version_o <= HttpVersion10: # HTTP 1.0 must asks to not close + close = True + else: # HTTP 1.1 must ask to close. + close = False + + return RawRequestMessage( + method, path, version_o, headers, raw_headers, + close, compression, upgrade, chunked, URL(path)) + + +class HttpResponseParser(HttpParser): + """Read response status line and headers. + + BadStatusLine could be raised in case of any errors in status line. + Returns RawResponseMessage""" + + def parse_message(self, lines: List[bytes]) -> Any: + line = lines[0].decode('utf-8', 'surrogateescape') + try: + version, status = line.split(None, 1) + except ValueError: + raise BadStatusLine(line) from None + + try: + status, reason = status.split(None, 1) + except ValueError: + reason = '' + + if len(reason) > self.max_line_size: + raise LineTooLong( + 'Status line is too long', + str(self.max_line_size), + str(len(reason))) + + # version + match = VERSRE.match(version) + if match is None: + raise BadStatusLine(line) + version_o = HttpVersion(int(match.group(1)), int(match.group(2))) + + # The status code is a three-digit number + try: + status_i = int(status) + except ValueError: + raise BadStatusLine(line) from None + + if status_i > 999: + raise BadStatusLine(line) + + # read headers + (headers, raw_headers, + close, compression, upgrade, chunked) = self.parse_headers(lines) + + if close is None: + close = version_o <= HttpVersion10 + + return RawResponseMessage( + version_o, status_i, reason.strip(), + headers, raw_headers, close, compression, upgrade, chunked) + + +class HttpPayloadParser: + + def __init__(self, payload: StreamReader, + length: Optional[int]=None, + chunked: bool=False, + compression: Optional[str]=None, + code: Optional[int]=None, + method: Optional[str]=None, + readall: bool=False, + response_with_body: bool=True, + auto_decompress: bool=True) -> None: + self._length = 0 + self._type = ParseState.PARSE_NONE + self._chunk = ChunkState.PARSE_CHUNKED_SIZE + self._chunk_size = 0 + self._chunk_tail = b'' + self._auto_decompress = auto_decompress + self.done = False + + # payload decompression wrapper + if response_with_body and compression and self._auto_decompress: + real_payload = DeflateBuffer(payload, compression) # type: Union[StreamReader, DeflateBuffer] # noqa + else: + real_payload = payload + + # payload parser + if not response_with_body: + # don't parse payload if it's not expected to be received + self._type = ParseState.PARSE_NONE + real_payload.feed_eof() + self.done = True + + elif chunked: + self._type = ParseState.PARSE_CHUNKED + elif length is not None: + self._type = ParseState.PARSE_LENGTH + self._length = length + if self._length == 0: + real_payload.feed_eof() + self.done = True + else: + if readall and code != 204: + self._type = ParseState.PARSE_UNTIL_EOF + elif method in ('PUT', 'POST'): + internal_logger.warning( # pragma: no cover + 'Content-Length or Transfer-Encoding header is required') + self._type = ParseState.PARSE_NONE + real_payload.feed_eof() + self.done = True + + self.payload = real_payload + + def feed_eof(self) -> None: + if self._type == ParseState.PARSE_UNTIL_EOF: + self.payload.feed_eof() + elif self._type == ParseState.PARSE_LENGTH: + raise ContentLengthError( + "Not enough data for satisfy content length header.") + elif self._type == ParseState.PARSE_CHUNKED: + raise TransferEncodingError( + "Not enough data for satisfy transfer length header.") + + def feed_data(self, + chunk: bytes, + SEP: bytes=b'\r\n', + CHUNK_EXT: bytes=b';') -> Tuple[bool, bytes]: + # Read specified amount of bytes + if self._type == ParseState.PARSE_LENGTH: + required = self._length + chunk_len = len(chunk) + + if required >= chunk_len: + self._length = required - chunk_len + self.payload.feed_data(chunk, chunk_len) + if self._length == 0: + self.payload.feed_eof() + return True, b'' + else: + self._length = 0 + self.payload.feed_data(chunk[:required], required) + self.payload.feed_eof() + return True, chunk[required:] + + # Chunked transfer encoding parser + elif self._type == ParseState.PARSE_CHUNKED: + if self._chunk_tail: + chunk = self._chunk_tail + chunk + self._chunk_tail = b'' + + while chunk: + + # read next chunk size + if self._chunk == ChunkState.PARSE_CHUNKED_SIZE: + pos = chunk.find(SEP) + if pos >= 0: + i = chunk.find(CHUNK_EXT, 0, pos) + if i >= 0: + size_b = chunk[:i] # strip chunk-extensions + else: + size_b = chunk[:pos] + + try: + size = int(bytes(size_b), 16) + except ValueError: + exc = TransferEncodingError( + chunk[:pos].decode('ascii', 'surrogateescape')) + self.payload.set_exception(exc) + raise exc from None + + chunk = chunk[pos+2:] + if size == 0: # eof marker + self._chunk = ChunkState.PARSE_MAYBE_TRAILERS + else: + self._chunk = ChunkState.PARSE_CHUNKED_CHUNK + self._chunk_size = size + self.payload.begin_http_chunk_receiving() + else: + self._chunk_tail = chunk + return False, b'' + + # read chunk and feed buffer + if self._chunk == ChunkState.PARSE_CHUNKED_CHUNK: + required = self._chunk_size + chunk_len = len(chunk) + + if required > chunk_len: + self._chunk_size = required - chunk_len + self.payload.feed_data(chunk, chunk_len) + return False, b'' + else: + self._chunk_size = 0 + self.payload.feed_data(chunk[:required], required) + chunk = chunk[required:] + self._chunk = ChunkState.PARSE_CHUNKED_CHUNK_EOF + self.payload.end_http_chunk_receiving() + + # toss the CRLF at the end of the chunk + if self._chunk == ChunkState.PARSE_CHUNKED_CHUNK_EOF: + if chunk[:2] == SEP: + chunk = chunk[2:] + self._chunk = ChunkState.PARSE_CHUNKED_SIZE + else: + self._chunk_tail = chunk + return False, b'' + + # if stream does not contain trailer, after 0\r\n + # we should get another \r\n otherwise + # trailers needs to be skiped until \r\n\r\n + if self._chunk == ChunkState.PARSE_MAYBE_TRAILERS: + if chunk[:2] == SEP: + # end of stream + self.payload.feed_eof() + return True, chunk[2:] + else: + self._chunk = ChunkState.PARSE_TRAILERS + + # read and discard trailer up to the CRLF terminator + if self._chunk == ChunkState.PARSE_TRAILERS: + pos = chunk.find(SEP) + if pos >= 0: + chunk = chunk[pos+2:] + self._chunk = ChunkState.PARSE_MAYBE_TRAILERS + else: + self._chunk_tail = chunk + return False, b'' + + # Read all bytes until eof + elif self._type == ParseState.PARSE_UNTIL_EOF: + self.payload.feed_data(chunk, len(chunk)) + + return False, b'' + + +class DeflateBuffer: + """DeflateStream decompress stream and feed data into specified stream.""" + + def __init__(self, out: StreamReader, encoding: Optional[str]) -> None: + self.out = out + self.size = 0 + self.encoding = encoding + self._started_decoding = False + + if encoding == 'br': + if not HAS_BROTLI: # pragma: no cover + raise ContentEncodingError( + 'Can not decode content-encoding: brotli (br). ' + 'Please install `brotlipy`') + self.decompressor = brotli.Decompressor() + else: + zlib_mode = (16 + zlib.MAX_WBITS + if encoding == 'gzip' else -zlib.MAX_WBITS) + self.decompressor = zlib.decompressobj(wbits=zlib_mode) + + def set_exception(self, exc: BaseException) -> None: + self.out.set_exception(exc) + + def feed_data(self, chunk: bytes, size: int) -> None: + self.size += size + try: + chunk = self.decompressor.decompress(chunk) + except Exception: + if not self._started_decoding and self.encoding == 'deflate': + self.decompressor = zlib.decompressobj() + try: + chunk = self.decompressor.decompress(chunk) + except Exception: + raise ContentEncodingError( + 'Can not decode content-encoding: %s' % self.encoding) + else: + raise ContentEncodingError( + 'Can not decode content-encoding: %s' % self.encoding) + + if chunk: + self._started_decoding = True + self.out.feed_data(chunk, len(chunk)) + + def feed_eof(self) -> None: + chunk = self.decompressor.flush() + + if chunk or self.size > 0: + self.out.feed_data(chunk, len(chunk)) + if self.encoding == 'deflate' and not self.decompressor.eof: + raise ContentEncodingError('deflate') + + self.out.feed_eof() + + def begin_http_chunk_receiving(self) -> None: + self.out.begin_http_chunk_receiving() + + def end_http_chunk_receiving(self) -> None: + self.out.end_http_chunk_receiving() + + +HttpRequestParserPy = HttpRequestParser +HttpResponseParserPy = HttpResponseParser +RawRequestMessagePy = RawRequestMessage +RawResponseMessagePy = RawResponseMessage + +try: + if not NO_EXTENSIONS: + from ._http_parser import (HttpRequestParser, # type: ignore # noqa + HttpResponseParser, + RawRequestMessage, + RawResponseMessage) + HttpRequestParserC = HttpRequestParser + HttpResponseParserC = HttpResponseParser + RawRequestMessageC = RawRequestMessage + RawResponseMessageC = RawResponseMessage +except ImportError: # pragma: no cover + pass diff --git a/venv/lib/python3.6/site-packages/aiohttp/http_websocket.py b/venv/lib/python3.6/site-packages/aiohttp/http_websocket.py new file mode 100644 index 0000000..d8fc10f --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/http_websocket.py @@ -0,0 +1,653 @@ +"""WebSocket protocol versions 13 and 8.""" + +import asyncio +import collections +import json +import random +import re +import sys +import zlib +from enum import IntEnum +from struct import Struct +from typing import Any, Callable, List, Optional, Tuple, Union + +from .base_protocol import BaseProtocol +from .helpers import NO_EXTENSIONS +from .log import ws_logger +from .streams import DataQueue + +__all__ = ('WS_CLOSED_MESSAGE', 'WS_CLOSING_MESSAGE', 'WS_KEY', + 'WebSocketReader', 'WebSocketWriter', 'WSMessage', + 'WebSocketError', 'WSMsgType', 'WSCloseCode') + + +class WSCloseCode(IntEnum): + OK = 1000 + GOING_AWAY = 1001 + PROTOCOL_ERROR = 1002 + UNSUPPORTED_DATA = 1003 + INVALID_TEXT = 1007 + POLICY_VIOLATION = 1008 + MESSAGE_TOO_BIG = 1009 + MANDATORY_EXTENSION = 1010 + INTERNAL_ERROR = 1011 + SERVICE_RESTART = 1012 + TRY_AGAIN_LATER = 1013 + + +ALLOWED_CLOSE_CODES = {int(i) for i in WSCloseCode} + + +class WSMsgType(IntEnum): + # websocket spec types + CONTINUATION = 0x0 + TEXT = 0x1 + BINARY = 0x2 + PING = 0x9 + PONG = 0xa + CLOSE = 0x8 + + # aiohttp specific types + CLOSING = 0x100 + CLOSED = 0x101 + ERROR = 0x102 + + text = TEXT + binary = BINARY + ping = PING + pong = PONG + close = CLOSE + closing = CLOSING + closed = CLOSED + error = ERROR + + +WS_KEY = b'258EAFA5-E914-47DA-95CA-C5AB0DC85B11' + + +UNPACK_LEN2 = Struct('!H').unpack_from +UNPACK_LEN3 = Struct('!Q').unpack_from +UNPACK_CLOSE_CODE = Struct('!H').unpack +PACK_LEN1 = Struct('!BB').pack +PACK_LEN2 = Struct('!BBH').pack +PACK_LEN3 = Struct('!BBQ').pack +PACK_CLOSE_CODE = Struct('!H').pack +MSG_SIZE = 2 ** 14 +DEFAULT_LIMIT = 2 ** 16 + + +_WSMessageBase = collections.namedtuple('_WSMessageBase', + ['type', 'data', 'extra']) + + +class WSMessage(_WSMessageBase): + + def json(self, *, # type: ignore + loads: Callable[[Any], Any]=json.loads) -> None: + """Return parsed JSON data. + + .. versionadded:: 0.22 + """ + return loads(self.data) + + +WS_CLOSED_MESSAGE = WSMessage(WSMsgType.CLOSED, None, None) +WS_CLOSING_MESSAGE = WSMessage(WSMsgType.CLOSING, None, None) + + +class WebSocketError(Exception): + """WebSocket protocol parser error.""" + + def __init__(self, code: int, message: str) -> None: + self.code = code + super().__init__(message) + + +class WSHandshakeError(Exception): + """WebSocket protocol handshake error.""" + + +native_byteorder = sys.byteorder + + +# Used by _websocket_mask_python +_XOR_TABLE = [bytes(a ^ b for a in range(256)) for b in range(256)] + + +def _websocket_mask_python(mask: bytes, data: bytearray) -> None: + """Websocket masking function. + + `mask` is a `bytes` object of length 4; `data` is a `bytearray` + object of any length. The contents of `data` are masked with `mask`, + as specified in section 5.3 of RFC 6455. + + Note that this function mutates the `data` argument. + + This pure-python implementation may be replaced by an optimized + version when available. + + """ + assert isinstance(data, bytearray), data + assert len(mask) == 4, mask + + if data: + a, b, c, d = (_XOR_TABLE[n] for n in mask) + data[::4] = data[::4].translate(a) + data[1::4] = data[1::4].translate(b) + data[2::4] = data[2::4].translate(c) + data[3::4] = data[3::4].translate(d) + + +if NO_EXTENSIONS: # pragma: no cover + _websocket_mask = _websocket_mask_python +else: + try: + from ._websocket import _websocket_mask_cython # type: ignore + _websocket_mask = _websocket_mask_cython + except ImportError: # pragma: no cover + _websocket_mask = _websocket_mask_python + +_WS_DEFLATE_TRAILING = bytes([0x00, 0x00, 0xff, 0xff]) + + +_WS_EXT_RE = re.compile(r'^(?:;\s*(?:' + r'(server_no_context_takeover)|' + r'(client_no_context_takeover)|' + r'(server_max_window_bits(?:=(\d+))?)|' + r'(client_max_window_bits(?:=(\d+))?)))*$') + +_WS_EXT_RE_SPLIT = re.compile(r'permessage-deflate([^,]+)?') + + +def ws_ext_parse(extstr: str, isserver: bool=False) -> Tuple[int, bool]: + if not extstr: + return 0, False + + compress = 0 + notakeover = False + for ext in _WS_EXT_RE_SPLIT.finditer(extstr): + defext = ext.group(1) + # Return compress = 15 when get `permessage-deflate` + if not defext: + compress = 15 + break + match = _WS_EXT_RE.match(defext) + if match: + compress = 15 + if isserver: + # Server never fail to detect compress handshake. + # Server does not need to send max wbit to client + if match.group(4): + compress = int(match.group(4)) + # Group3 must match if group4 matches + # Compress wbit 8 does not support in zlib + # If compress level not support, + # CONTINUE to next extension + if compress > 15 or compress < 9: + compress = 0 + continue + if match.group(1): + notakeover = True + # Ignore regex group 5 & 6 for client_max_window_bits + break + else: + if match.group(6): + compress = int(match.group(6)) + # Group5 must match if group6 matches + # Compress wbit 8 does not support in zlib + # If compress level not support, + # FAIL the parse progress + if compress > 15 or compress < 9: + raise WSHandshakeError('Invalid window size') + if match.group(2): + notakeover = True + # Ignore regex group 5 & 6 for client_max_window_bits + break + # Return Fail if client side and not match + elif not isserver: + raise WSHandshakeError('Extension for deflate not supported' + + ext.group(1)) + + return compress, notakeover + + +def ws_ext_gen(compress: int=15, isserver: bool=False, + server_notakeover: bool=False) -> str: + # client_notakeover=False not used for server + # compress wbit 8 does not support in zlib + if compress < 9 or compress > 15: + raise ValueError('Compress wbits must between 9 and 15, ' + 'zlib does not support wbits=8') + enabledext = ['permessage-deflate'] + if not isserver: + enabledext.append('client_max_window_bits') + + if compress < 15: + enabledext.append('server_max_window_bits=' + str(compress)) + if server_notakeover: + enabledext.append('server_no_context_takeover') + # if client_notakeover: + # enabledext.append('client_no_context_takeover') + return '; '.join(enabledext) + + +class WSParserState(IntEnum): + READ_HEADER = 1 + READ_PAYLOAD_LENGTH = 2 + READ_PAYLOAD_MASK = 3 + READ_PAYLOAD = 4 + + +class WebSocketReader: + + def __init__(self, queue: DataQueue[WSMessage], + max_msg_size: int, compress: bool=True) -> None: + self.queue = queue + self._max_msg_size = max_msg_size + + self._exc = None # type: Optional[BaseException] + self._partial = bytearray() + self._state = WSParserState.READ_HEADER + + self._opcode = None # type: Optional[int] + self._frame_fin = False + self._frame_opcode = None # type: Optional[int] + self._frame_payload = bytearray() + + self._tail = b'' + self._has_mask = False + self._frame_mask = None # type: Optional[bytes] + self._payload_length = 0 + self._payload_length_flag = 0 + self._compressed = None # type: Optional[bool] + self._decompressobj = None # type: Any # zlib.decompressobj actually + self._compress = compress + + def feed_eof(self) -> None: + self.queue.feed_eof() + + def feed_data(self, data: bytes) -> Tuple[bool, bytes]: + if self._exc: + return True, data + + try: + return self._feed_data(data) + except Exception as exc: + self._exc = exc + self.queue.set_exception(exc) + return True, b'' + + def _feed_data(self, data: bytes) -> Tuple[bool, bytes]: + for fin, opcode, payload, compressed in self.parse_frame(data): + if compressed and not self._decompressobj: + self._decompressobj = zlib.decompressobj(wbits=-zlib.MAX_WBITS) + if opcode == WSMsgType.CLOSE: + if len(payload) >= 2: + close_code = UNPACK_CLOSE_CODE(payload[:2])[0] + if (close_code < 3000 and + close_code not in ALLOWED_CLOSE_CODES): + raise WebSocketError( + WSCloseCode.PROTOCOL_ERROR, + 'Invalid close code: {}'.format(close_code)) + try: + close_message = payload[2:].decode('utf-8') + except UnicodeDecodeError as exc: + raise WebSocketError( + WSCloseCode.INVALID_TEXT, + 'Invalid UTF-8 text message') from exc + msg = WSMessage(WSMsgType.CLOSE, close_code, close_message) + elif payload: + raise WebSocketError( + WSCloseCode.PROTOCOL_ERROR, + 'Invalid close frame: {} {} {!r}'.format( + fin, opcode, payload)) + else: + msg = WSMessage(WSMsgType.CLOSE, 0, '') + + self.queue.feed_data(msg, 0) + + elif opcode == WSMsgType.PING: + self.queue.feed_data( + WSMessage(WSMsgType.PING, payload, ''), len(payload)) + + elif opcode == WSMsgType.PONG: + self.queue.feed_data( + WSMessage(WSMsgType.PONG, payload, ''), len(payload)) + + elif opcode not in ( + WSMsgType.TEXT, WSMsgType.BINARY) and self._opcode is None: + raise WebSocketError( + WSCloseCode.PROTOCOL_ERROR, + "Unexpected opcode={!r}".format(opcode)) + else: + # load text/binary + if not fin: + # got partial frame payload + if opcode != WSMsgType.CONTINUATION: + self._opcode = opcode + self._partial.extend(payload) + if (self._max_msg_size and + len(self._partial) >= self._max_msg_size): + raise WebSocketError( + WSCloseCode.MESSAGE_TOO_BIG, + "Message size {} exceeds limit {}".format( + len(self._partial), self._max_msg_size)) + else: + # previous frame was non finished + # we should get continuation opcode + if self._partial: + if opcode != WSMsgType.CONTINUATION: + raise WebSocketError( + WSCloseCode.PROTOCOL_ERROR, + 'The opcode in non-fin frame is expected ' + 'to be zero, got {!r}'.format(opcode)) + + if opcode == WSMsgType.CONTINUATION: + assert self._opcode is not None + opcode = self._opcode + self._opcode = None + + self._partial.extend(payload) + if (self._max_msg_size and + len(self._partial) >= self._max_msg_size): + raise WebSocketError( + WSCloseCode.MESSAGE_TOO_BIG, + "Message size {} exceeds limit {}".format( + len(self._partial), self._max_msg_size)) + + # Decompress process must to be done after all packets + # received. + if compressed: + self._partial.extend(_WS_DEFLATE_TRAILING) + payload_merged = self._decompressobj.decompress( + self._partial, self._max_msg_size) + if self._decompressobj.unconsumed_tail: + left = len(self._decompressobj.unconsumed_tail) + raise WebSocketError( + WSCloseCode.MESSAGE_TOO_BIG, + "Decompressed message size exceeds limit {}". + format(self._max_msg_size + left, + self._max_msg_size)) + else: + payload_merged = bytes(self._partial) + + self._partial.clear() + + if opcode == WSMsgType.TEXT: + try: + text = payload_merged.decode('utf-8') + self.queue.feed_data( + WSMessage(WSMsgType.TEXT, text, ''), len(text)) + except UnicodeDecodeError as exc: + raise WebSocketError( + WSCloseCode.INVALID_TEXT, + 'Invalid UTF-8 text message') from exc + else: + self.queue.feed_data( + WSMessage(WSMsgType.BINARY, payload_merged, ''), + len(payload_merged)) + + return False, b'' + + def parse_frame(self, buf: bytes) -> List[Tuple[bool, Optional[int], + bytearray, + Optional[bool]]]: + """Return the next frame from the socket.""" + frames = [] + if self._tail: + buf, self._tail = self._tail + buf, b'' + + start_pos = 0 + buf_length = len(buf) + + while True: + # read header + if self._state == WSParserState.READ_HEADER: + if buf_length - start_pos >= 2: + data = buf[start_pos:start_pos+2] + start_pos += 2 + first_byte, second_byte = data + + fin = (first_byte >> 7) & 1 + rsv1 = (first_byte >> 6) & 1 + rsv2 = (first_byte >> 5) & 1 + rsv3 = (first_byte >> 4) & 1 + opcode = first_byte & 0xf + + # frame-fin = %x0 ; more frames of this message follow + # / %x1 ; final frame of this message + # frame-rsv1 = %x0 ; + # 1 bit, MUST be 0 unless negotiated otherwise + # frame-rsv2 = %x0 ; + # 1 bit, MUST be 0 unless negotiated otherwise + # frame-rsv3 = %x0 ; + # 1 bit, MUST be 0 unless negotiated otherwise + # + # Remove rsv1 from this test for deflate development + if rsv2 or rsv3 or (rsv1 and not self._compress): + raise WebSocketError( + WSCloseCode.PROTOCOL_ERROR, + 'Received frame with non-zero reserved bits') + + if opcode > 0x7 and fin == 0: + raise WebSocketError( + WSCloseCode.PROTOCOL_ERROR, + 'Received fragmented control frame') + + has_mask = (second_byte >> 7) & 1 + length = second_byte & 0x7f + + # Control frames MUST have a payload + # length of 125 bytes or less + if opcode > 0x7 and length > 125: + raise WebSocketError( + WSCloseCode.PROTOCOL_ERROR, + 'Control frame payload cannot be ' + 'larger than 125 bytes') + + # Set compress status if last package is FIN + # OR set compress status if this is first fragment + # Raise error if not first fragment with rsv1 = 0x1 + if self._frame_fin or self._compressed is None: + self._compressed = True if rsv1 else False + elif rsv1: + raise WebSocketError( + WSCloseCode.PROTOCOL_ERROR, + 'Received frame with non-zero reserved bits') + + self._frame_fin = bool(fin) + self._frame_opcode = opcode + self._has_mask = bool(has_mask) + self._payload_length_flag = length + self._state = WSParserState.READ_PAYLOAD_LENGTH + else: + break + + # read payload length + if self._state == WSParserState.READ_PAYLOAD_LENGTH: + length = self._payload_length_flag + if length == 126: + if buf_length - start_pos >= 2: + data = buf[start_pos:start_pos+2] + start_pos += 2 + length = UNPACK_LEN2(data)[0] + self._payload_length = length + self._state = ( + WSParserState.READ_PAYLOAD_MASK + if self._has_mask + else WSParserState.READ_PAYLOAD) + else: + break + elif length > 126: + if buf_length - start_pos >= 8: + data = buf[start_pos:start_pos+8] + start_pos += 8 + length = UNPACK_LEN3(data)[0] + self._payload_length = length + self._state = ( + WSParserState.READ_PAYLOAD_MASK + if self._has_mask + else WSParserState.READ_PAYLOAD) + else: + break + else: + self._payload_length = length + self._state = ( + WSParserState.READ_PAYLOAD_MASK + if self._has_mask + else WSParserState.READ_PAYLOAD) + + # read payload mask + if self._state == WSParserState.READ_PAYLOAD_MASK: + if buf_length - start_pos >= 4: + self._frame_mask = buf[start_pos:start_pos+4] + start_pos += 4 + self._state = WSParserState.READ_PAYLOAD + else: + break + + if self._state == WSParserState.READ_PAYLOAD: + length = self._payload_length + payload = self._frame_payload + + chunk_len = buf_length - start_pos + if length >= chunk_len: + self._payload_length = length - chunk_len + payload.extend(buf[start_pos:]) + start_pos = buf_length + else: + self._payload_length = 0 + payload.extend(buf[start_pos:start_pos+length]) + start_pos = start_pos + length + + if self._payload_length == 0: + if self._has_mask: + assert self._frame_mask is not None + _websocket_mask(self._frame_mask, payload) + + frames.append(( + self._frame_fin, + self._frame_opcode, + payload, + self._compressed)) + + self._frame_payload = bytearray() + self._state = WSParserState.READ_HEADER + else: + break + + self._tail = buf[start_pos:] + + return frames + + +class WebSocketWriter: + + def __init__(self, protocol: BaseProtocol, transport: asyncio.Transport, *, + use_mask: bool=False, limit: int=DEFAULT_LIMIT, + random: Any=random.Random(), + compress: int=0, notakeover: bool=False) -> None: + self.protocol = protocol + self.transport = transport + self.use_mask = use_mask + self.randrange = random.randrange + self.compress = compress + self.notakeover = notakeover + self._closing = False + self._limit = limit + self._output_size = 0 + self._compressobj = None # type: Any # actually compressobj + + async def _send_frame(self, message: bytes, opcode: int, + compress: Optional[int]=None) -> None: + """Send a frame over the websocket with message as its payload.""" + if self._closing: + ws_logger.warning('websocket connection is closing.') + + rsv = 0 + + # Only compress larger packets (disabled) + # Does small packet needs to be compressed? + # if self.compress and opcode < 8 and len(message) > 124: + if (compress or self.compress) and opcode < 8: + if compress: + # Do not set self._compress if compressing is for this frame + compressobj = zlib.compressobj(wbits=-compress) + else: # self.compress + if not self._compressobj: + self._compressobj = zlib.compressobj(wbits=-self.compress) + compressobj = self._compressobj + + message = compressobj.compress(message) + message = message + compressobj.flush( + zlib.Z_FULL_FLUSH if self.notakeover else zlib.Z_SYNC_FLUSH) + if message.endswith(_WS_DEFLATE_TRAILING): + message = message[:-4] + rsv = rsv | 0x40 + + msg_length = len(message) + + use_mask = self.use_mask + if use_mask: + mask_bit = 0x80 + else: + mask_bit = 0 + + if msg_length < 126: + header = PACK_LEN1(0x80 | rsv | opcode, msg_length | mask_bit) + elif msg_length < (1 << 16): + header = PACK_LEN2(0x80 | rsv | opcode, 126 | mask_bit, msg_length) + else: + header = PACK_LEN3(0x80 | rsv | opcode, 127 | mask_bit, msg_length) + if use_mask: + mask = self.randrange(0, 0xffffffff) + mask = mask.to_bytes(4, 'big') + message = bytearray(message) + _websocket_mask(mask, message) + self.transport.write(header + mask + message) + self._output_size += len(header) + len(mask) + len(message) + else: + if len(message) > MSG_SIZE: + self.transport.write(header) + self.transport.write(message) + else: + self.transport.write(header + message) + + self._output_size += len(header) + len(message) + + if self._output_size > self._limit: + self._output_size = 0 + await self.protocol._drain_helper() + + async def pong(self, message: bytes=b'') -> None: + """Send pong message.""" + if isinstance(message, str): + message = message.encode('utf-8') + await self._send_frame(message, WSMsgType.PONG) + + async def ping(self, message: bytes=b'') -> None: + """Send ping message.""" + if isinstance(message, str): + message = message.encode('utf-8') + await self._send_frame(message, WSMsgType.PING) + + async def send(self, message: Union[str, bytes], + binary: bool=False, + compress: Optional[int]=None) -> None: + """Send a frame over the websocket with message as its payload.""" + if isinstance(message, str): + message = message.encode('utf-8') + if binary: + await self._send_frame(message, WSMsgType.BINARY, compress) + else: + await self._send_frame(message, WSMsgType.TEXT, compress) + + async def close(self, code: int=1000, message: bytes=b'') -> None: + """Close the websocket, sending the specified code and message.""" + if isinstance(message, str): + message = message.encode('utf-8') + try: + await self._send_frame( + PACK_CLOSE_CODE(code) + message, opcode=WSMsgType.CLOSE) + finally: + self._closing = True diff --git a/venv/lib/python3.6/site-packages/aiohttp/http_writer.py b/venv/lib/python3.6/site-packages/aiohttp/http_writer.py new file mode 100644 index 0000000..7e27fbf --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/http_writer.py @@ -0,0 +1,172 @@ +"""Http related parsers and protocol.""" + +import asyncio +import collections +import zlib +from typing import Any, Awaitable, Callable, Optional, Union # noqa + +from multidict import CIMultiDict # noqa + +from .abc import AbstractStreamWriter +from .base_protocol import BaseProtocol +from .helpers import NO_EXTENSIONS + +__all__ = ('StreamWriter', 'HttpVersion', 'HttpVersion10', 'HttpVersion11') + +HttpVersion = collections.namedtuple('HttpVersion', ['major', 'minor']) +HttpVersion10 = HttpVersion(1, 0) +HttpVersion11 = HttpVersion(1, 1) + + +_T_OnChunkSent = Optional[Callable[[bytes], Awaitable[None]]] + + +class StreamWriter(AbstractStreamWriter): + + def __init__(self, + protocol: BaseProtocol, + loop: asyncio.AbstractEventLoop, + on_chunk_sent: _T_OnChunkSent = None) -> None: + self._protocol = protocol + self._transport = protocol.transport + + self.loop = loop + self.length = None + self.chunked = False + self.buffer_size = 0 + self.output_size = 0 + + self._eof = False + self._compress = None # type: Any + self._drain_waiter = None + + self._on_chunk_sent = on_chunk_sent # type: _T_OnChunkSent + + @property + def transport(self) -> Optional[asyncio.Transport]: + return self._transport + + @property + def protocol(self) -> BaseProtocol: + return self._protocol + + def enable_chunking(self) -> None: + self.chunked = True + + def enable_compression(self, encoding: str='deflate') -> None: + zlib_mode = (16 + zlib.MAX_WBITS + if encoding == 'gzip' else -zlib.MAX_WBITS) + self._compress = zlib.compressobj(wbits=zlib_mode) + + def _write(self, chunk: bytes) -> None: + size = len(chunk) + self.buffer_size += size + self.output_size += size + + if self._transport is None or self._transport.is_closing(): + raise ConnectionResetError('Cannot write to closing transport') + self._transport.write(chunk) + + async def write(self, chunk: bytes, + *, drain: bool=True, LIMIT: int=0x10000) -> None: + """Writes chunk of data to a stream. + + write_eof() indicates end of stream. + writer can't be used after write_eof() method being called. + write() return drain future. + """ + if self._on_chunk_sent is not None: + await self._on_chunk_sent(chunk) + + if self._compress is not None: + chunk = self._compress.compress(chunk) + if not chunk: + return + + if self.length is not None: + chunk_len = len(chunk) + if self.length >= chunk_len: + self.length = self.length - chunk_len + else: + chunk = chunk[:self.length] + self.length = 0 + if not chunk: + return + + if chunk: + if self.chunked: + chunk_len_pre = ('%x\r\n' % len(chunk)).encode('ascii') + chunk = chunk_len_pre + chunk + b'\r\n' + + self._write(chunk) + + if self.buffer_size > LIMIT and drain: + self.buffer_size = 0 + await self.drain() + + async def write_headers(self, status_line: str, + headers: 'CIMultiDict[str]') -> None: + """Write request/response status and headers.""" + # status + headers + buf = _serialize_headers(status_line, headers) + self._write(buf) + + async def write_eof(self, chunk: bytes=b'') -> None: + if self._eof: + return + + if chunk and self._on_chunk_sent is not None: + await self._on_chunk_sent(chunk) + + if self._compress: + if chunk: + chunk = self._compress.compress(chunk) + + chunk = chunk + self._compress.flush() + if chunk and self.chunked: + chunk_len = ('%x\r\n' % len(chunk)).encode('ascii') + chunk = chunk_len + chunk + b'\r\n0\r\n\r\n' + else: + if self.chunked: + if chunk: + chunk_len = ('%x\r\n' % len(chunk)).encode('ascii') + chunk = chunk_len + chunk + b'\r\n0\r\n\r\n' + else: + chunk = b'0\r\n\r\n' + + if chunk: + self._write(chunk) + + await self.drain() + + self._eof = True + self._transport = None + + async def drain(self) -> None: + """Flush the write buffer. + + The intended use is to write + + await w.write(data) + await w.drain() + """ + if self._protocol.transport is not None: + await self._protocol._drain_helper() + + +def _py_serialize_headers(status_line: str, + headers: 'CIMultiDict[str]') -> bytes: + line = status_line + '\r\n' + ''.join( + [k + ': ' + v + '\r\n' for k, v in headers.items()]) + return line.encode('utf-8') + b'\r\n' + + +_serialize_headers = _py_serialize_headers + +try: + import aiohttp._http_writer as _http_writer # type: ignore + _c_serialize_headers = _http_writer._serialize_headers + if not NO_EXTENSIONS: + _serialize_headers = _c_serialize_headers +except ImportError: + pass diff --git a/venv/lib/python3.6/site-packages/aiohttp/locks.py b/venv/lib/python3.6/site-packages/aiohttp/locks.py new file mode 100644 index 0000000..ed41f97 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/locks.py @@ -0,0 +1,44 @@ +import asyncio +import collections +from typing import Any, Optional + +try: + from typing import Deque +except ImportError: + from typing_extensions import Deque # noqa + + +class EventResultOrError: + """ + This class wrappers the Event asyncio lock allowing either awake the + locked Tasks without any error or raising an exception. + + thanks to @vorpalsmith for the simple design. + """ + def __init__(self, loop: asyncio.AbstractEventLoop) -> None: + self._loop = loop + self._exc = None # type: Optional[BaseException] + self._event = asyncio.Event(loop=loop) + self._waiters = collections.deque() # type: Deque[asyncio.Future[Any]] + + def set(self, exc: Optional[BaseException]=None) -> None: + self._exc = exc + self._event.set() + + async def wait(self) -> Any: + waiter = self._loop.create_task(self._event.wait()) + self._waiters.append(waiter) + try: + val = await waiter + finally: + self._waiters.remove(waiter) + + if self._exc is not None: + raise self._exc + + return val + + def cancel(self) -> None: + """ Cancel all waiters """ + for waiter in self._waiters: + waiter.cancel() diff --git a/venv/lib/python3.6/site-packages/aiohttp/log.py b/venv/lib/python3.6/site-packages/aiohttp/log.py new file mode 100644 index 0000000..cfda0e5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/log.py @@ -0,0 +1,8 @@ +import logging + +access_logger = logging.getLogger('aiohttp.access') +client_logger = logging.getLogger('aiohttp.client') +internal_logger = logging.getLogger('aiohttp.internal') +server_logger = logging.getLogger('aiohttp.server') +web_logger = logging.getLogger('aiohttp.web') +ws_logger = logging.getLogger('aiohttp.websocket') diff --git a/venv/lib/python3.6/site-packages/aiohttp/multipart.py b/venv/lib/python3.6/site-packages/aiohttp/multipart.py new file mode 100644 index 0000000..b16598e --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/multipart.py @@ -0,0 +1,937 @@ +import base64 +import binascii +import json +import re +import uuid +import warnings +import zlib +from collections import deque +from types import TracebackType +from typing import ( # noqa + TYPE_CHECKING, + Any, + Dict, + Iterator, + List, + Mapping, + Optional, + Sequence, + Tuple, + Type, + Union, + cast, +) +from urllib.parse import parse_qsl, unquote, urlencode + +from multidict import CIMultiDict, CIMultiDictProxy, MultiMapping # noqa + +from .hdrs import ( + CONTENT_DISPOSITION, + CONTENT_ENCODING, + CONTENT_LENGTH, + CONTENT_TRANSFER_ENCODING, + CONTENT_TYPE, +) +from .helpers import CHAR, TOKEN, parse_mimetype, reify +from .http import HeadersParser +from .payload import ( + JsonPayload, + LookupError, + Order, + Payload, + StringPayload, + get_payload, + payload_type, +) +from .streams import StreamReader + +__all__ = ('MultipartReader', 'MultipartWriter', 'BodyPartReader', + 'BadContentDispositionHeader', 'BadContentDispositionParam', + 'parse_content_disposition', 'content_disposition_filename') + + +if TYPE_CHECKING: # pragma: no cover + from .client_reqrep import ClientResponse # noqa + + +class BadContentDispositionHeader(RuntimeWarning): + pass + + +class BadContentDispositionParam(RuntimeWarning): + pass + + +def parse_content_disposition(header: Optional[str]) -> Tuple[Optional[str], + Dict[str, str]]: + + def is_token(string: str) -> bool: + return bool(string) and TOKEN >= set(string) + + def is_quoted(string: str) -> bool: + return string[0] == string[-1] == '"' + + def is_rfc5987(string: str) -> bool: + return is_token(string) and string.count("'") == 2 + + def is_extended_param(string: str) -> bool: + return string.endswith('*') + + def is_continuous_param(string: str) -> bool: + pos = string.find('*') + 1 + if not pos: + return False + substring = string[pos:-1] if string.endswith('*') else string[pos:] + return substring.isdigit() + + def unescape(text: str, *, + chars: str=''.join(map(re.escape, CHAR))) -> str: + return re.sub('\\\\([{}])'.format(chars), '\\1', text) + + if not header: + return None, {} + + disptype, *parts = header.split(';') + if not is_token(disptype): + warnings.warn(BadContentDispositionHeader(header)) + return None, {} + + params = {} # type: Dict[str, str] + while parts: + item = parts.pop(0) + + if '=' not in item: + warnings.warn(BadContentDispositionHeader(header)) + return None, {} + + key, value = item.split('=', 1) + key = key.lower().strip() + value = value.lstrip() + + if key in params: + warnings.warn(BadContentDispositionHeader(header)) + return None, {} + + if not is_token(key): + warnings.warn(BadContentDispositionParam(item)) + continue + + elif is_continuous_param(key): + if is_quoted(value): + value = unescape(value[1:-1]) + elif not is_token(value): + warnings.warn(BadContentDispositionParam(item)) + continue + + elif is_extended_param(key): + if is_rfc5987(value): + encoding, _, value = value.split("'", 2) + encoding = encoding or 'utf-8' + else: + warnings.warn(BadContentDispositionParam(item)) + continue + + try: + value = unquote(value, encoding, 'strict') + except UnicodeDecodeError: # pragma: nocover + warnings.warn(BadContentDispositionParam(item)) + continue + + else: + failed = True + if is_quoted(value): + failed = False + value = unescape(value[1:-1].lstrip('\\/')) + elif is_token(value): + failed = False + elif parts: + # maybe just ; in filename, in any case this is just + # one case fix, for proper fix we need to redesign parser + _value = '%s;%s' % (value, parts[0]) + if is_quoted(_value): + parts.pop(0) + value = unescape(_value[1:-1].lstrip('\\/')) + failed = False + + if failed: + warnings.warn(BadContentDispositionHeader(header)) + return None, {} + + params[key] = value + + return disptype.lower(), params + + +def content_disposition_filename(params: Mapping[str, str], + name: str='filename') -> Optional[str]: + name_suf = '%s*' % name + if not params: + return None + elif name_suf in params: + return params[name_suf] + elif name in params: + return params[name] + else: + parts = [] + fnparams = sorted((key, value) + for key, value in params.items() + if key.startswith(name_suf)) + for num, (key, value) in enumerate(fnparams): + _, tail = key.split('*', 1) + if tail.endswith('*'): + tail = tail[:-1] + if tail == str(num): + parts.append(value) + else: + break + if not parts: + return None + value = ''.join(parts) + if "'" in value: + encoding, _, value = value.split("'", 2) + encoding = encoding or 'utf-8' + return unquote(value, encoding, 'strict') + return value + + +class MultipartResponseWrapper: + """Wrapper around the MultipartBodyReader. + + It takes care about + underlying connection and close it when it needs in. + """ + + def __init__(self, resp: 'ClientResponse', stream: Any) -> None: + # TODO: add strong annotation to stream + self.resp = resp + self.stream = stream + + def __aiter__(self) -> 'MultipartResponseWrapper': + return self + + async def __anext__(self) -> Any: + part = await self.next() + if part is None: + raise StopAsyncIteration # NOQA + return part + + def at_eof(self) -> bool: + """Returns True when all response data had been read.""" + return self.resp.content.at_eof() + + async def next(self) -> Any: + """Emits next multipart reader object.""" + item = await self.stream.next() + if self.stream.at_eof(): + await self.release() + return item + + async def release(self) -> None: + """Releases the connection gracefully, reading all the content + to the void.""" + await self.resp.release() + + +class BodyPartReader: + """Multipart reader for single body part.""" + + chunk_size = 8192 + + def __init__(self, boundary: bytes, + headers: Mapping[str, Optional[str]], + content: StreamReader) -> None: + self.headers = headers + self._boundary = boundary + self._content = content + self._at_eof = False + length = self.headers.get(CONTENT_LENGTH, None) + self._length = int(length) if length is not None else None + self._read_bytes = 0 + # TODO: typeing.Deque is not supported by Python 3.5 + self._unread = deque() # type: Any + self._prev_chunk = None # type: Optional[bytes] + self._content_eof = 0 + self._cache = {} # type: Dict[str, Any] + + def __aiter__(self) -> 'BodyPartReader': + return self + + async def __anext__(self) -> Any: + part = await self.next() + if part is None: + raise StopAsyncIteration # NOQA + return part + + async def next(self) -> Any: + item = await self.read() + if not item: + return None + return item + + async def read(self, *, decode: bool=False) -> Any: + """Reads body part data. + + decode: Decodes data following by encoding + method from Content-Encoding header. If it missed + data remains untouched + """ + if self._at_eof: + return b'' + data = bytearray() + while not self._at_eof: + data.extend((await self.read_chunk(self.chunk_size))) + if decode: + return self.decode(data) + return data + + async def read_chunk(self, size: int=chunk_size) -> bytes: + """Reads body part content chunk of the specified size. + + size: chunk size + """ + if self._at_eof: + return b'' + if self._length: + chunk = await self._read_chunk_from_length(size) + else: + chunk = await self._read_chunk_from_stream(size) + + self._read_bytes += len(chunk) + if self._read_bytes == self._length: + self._at_eof = True + if self._at_eof: + clrf = await self._content.readline() + assert b'\r\n' == clrf, \ + 'reader did not read all the data or it is malformed' + return chunk + + async def _read_chunk_from_length(self, size: int) -> bytes: + # Reads body part content chunk of the specified size. + # The body part must has Content-Length header with proper value. + assert self._length is not None, \ + 'Content-Length required for chunked read' + chunk_size = min(size, self._length - self._read_bytes) + chunk = await self._content.read(chunk_size) + return chunk + + async def _read_chunk_from_stream(self, size: int) -> bytes: + # Reads content chunk of body part with unknown length. + # The Content-Length header for body part is not necessary. + assert size >= len(self._boundary) + 2, \ + 'Chunk size must be greater or equal than boundary length + 2' + first_chunk = self._prev_chunk is None + if first_chunk: + self._prev_chunk = await self._content.read(size) + + chunk = await self._content.read(size) + self._content_eof += int(self._content.at_eof()) + assert self._content_eof < 3, "Reading after EOF" + assert self._prev_chunk is not None + window = self._prev_chunk + chunk + sub = b'\r\n' + self._boundary + if first_chunk: + idx = window.find(sub) + else: + idx = window.find(sub, max(0, len(self._prev_chunk) - len(sub))) + if idx >= 0: + # pushing boundary back to content + with warnings.catch_warnings(): + warnings.filterwarnings("ignore", + category=DeprecationWarning) + self._content.unread_data(window[idx:]) + if size > idx: + self._prev_chunk = self._prev_chunk[:idx] + chunk = window[len(self._prev_chunk):idx] + if not chunk: + self._at_eof = True + result = self._prev_chunk + self._prev_chunk = chunk + return result + + async def readline(self) -> bytes: + """Reads body part by line by line.""" + if self._at_eof: + return b'' + + if self._unread: + line = self._unread.popleft() + else: + line = await self._content.readline() + + if line.startswith(self._boundary): + # the very last boundary may not come with \r\n, + # so set single rules for everyone + sline = line.rstrip(b'\r\n') + boundary = self._boundary + last_boundary = self._boundary + b'--' + # ensure that we read exactly the boundary, not something alike + if sline == boundary or sline == last_boundary: + self._at_eof = True + self._unread.append(line) + return b'' + else: + next_line = await self._content.readline() + if next_line.startswith(self._boundary): + line = line[:-2] # strip CRLF but only once + self._unread.append(next_line) + + return line + + async def release(self) -> None: + """Like read(), but reads all the data to the void.""" + if self._at_eof: + return + while not self._at_eof: + await self.read_chunk(self.chunk_size) + + async def text(self, *, encoding: Optional[str]=None) -> str: + """Like read(), but assumes that body part contains text data.""" + data = await self.read(decode=True) + # see https://www.w3.org/TR/html5/forms.html#multipart/form-data-encoding-algorithm # NOQA + # and https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#dom-xmlhttprequest-send # NOQA + encoding = encoding or self.get_charset(default='utf-8') + return data.decode(encoding) + + async def json(self, *, encoding: Optional[str]=None) -> Any: + """Like read(), but assumes that body parts contains JSON data.""" + data = await self.read(decode=True) + if not data: + return None + encoding = encoding or self.get_charset(default='utf-8') + return json.loads(data.decode(encoding)) + + async def form(self, *, + encoding: Optional[str]=None) -> List[Tuple[str, str]]: + """Like read(), but assumes that body parts contains form + urlencoded data. + """ + data = await self.read(decode=True) + if not data: + return [] + if encoding is not None: + real_encoding = encoding + else: + real_encoding = self.get_charset(default='utf-8') + return parse_qsl(data.rstrip().decode(real_encoding), + keep_blank_values=True, + encoding=real_encoding) + + def at_eof(self) -> bool: + """Returns True if the boundary was reached or False otherwise.""" + return self._at_eof + + def decode(self, data: bytes) -> bytes: + """Decodes data according the specified Content-Encoding + or Content-Transfer-Encoding headers value. + """ + if CONTENT_TRANSFER_ENCODING in self.headers: + data = self._decode_content_transfer(data) + if CONTENT_ENCODING in self.headers: + return self._decode_content(data) + return data + + def _decode_content(self, data: bytes) -> bytes: + encoding = cast(str, self.headers[CONTENT_ENCODING]).lower() + + if encoding == 'deflate': + return zlib.decompress(data, -zlib.MAX_WBITS) + elif encoding == 'gzip': + return zlib.decompress(data, 16 + zlib.MAX_WBITS) + elif encoding == 'identity': + return data + else: + raise RuntimeError('unknown content encoding: {}'.format(encoding)) + + def _decode_content_transfer(self, data: bytes) -> bytes: + encoding = cast(str, self.headers[CONTENT_TRANSFER_ENCODING]).lower() + + if encoding == 'base64': + return base64.b64decode(data) + elif encoding == 'quoted-printable': + return binascii.a2b_qp(data) + elif encoding in ('binary', '8bit', '7bit'): + return data + else: + raise RuntimeError('unknown content transfer encoding: {}' + ''.format(encoding)) + + def get_charset(self, default: str) -> str: + """Returns charset parameter from Content-Type header or default.""" + ctype = self.headers.get(CONTENT_TYPE, '') + mimetype = parse_mimetype(ctype) + return mimetype.parameters.get('charset', default) + + @reify + def name(self) -> Optional[str]: + """Returns name specified in Content-Disposition header or None + if missed or header is malformed. + """ + + _, params = parse_content_disposition( + self.headers.get(CONTENT_DISPOSITION)) + return content_disposition_filename(params, 'name') + + @reify + def filename(self) -> Optional[str]: + """Returns filename specified in Content-Disposition header or None + if missed or header is malformed. + """ + _, params = parse_content_disposition( + self.headers.get(CONTENT_DISPOSITION)) + return content_disposition_filename(params, 'filename') + + +@payload_type(BodyPartReader, order=Order.try_first) +class BodyPartReaderPayload(Payload): + + def __init__(self, value: BodyPartReader, + *args: Any, **kwargs: Any) -> None: + super().__init__(value, *args, **kwargs) + + params = {} # type: Dict[str, str] + if value.name is not None: + params['name'] = value.name + if value.filename is not None: + params['filename'] = value.filename + + if params: + self.set_content_disposition('attachment', True, **params) + + async def write(self, writer: Any) -> None: + field = self._value + chunk = await field.read_chunk(size=2**16) + while chunk: + await writer.write(field.decode(chunk)) + chunk = await field.read_chunk(size=2**16) + + +class MultipartReader: + """Multipart body reader.""" + + #: Response wrapper, used when multipart readers constructs from response. + response_wrapper_cls = MultipartResponseWrapper + #: Multipart reader class, used to handle multipart/* body parts. + #: None points to type(self) + multipart_reader_cls = None + #: Body part reader class for non multipart/* content types. + part_reader_cls = BodyPartReader + + def __init__(self, headers: Mapping[str, str], + content: StreamReader) -> None: + self.headers = headers + self._boundary = ('--' + self._get_boundary()).encode() + self._content = content + self._last_part = None + self._at_eof = False + self._at_bof = True + self._unread = [] # type: List[bytes] + + def __aiter__(self) -> 'MultipartReader': + return self + + async def __anext__(self) -> Any: + part = await self.next() + if part is None: + raise StopAsyncIteration # NOQA + return part + + @classmethod + def from_response(cls, response: 'ClientResponse') -> Any: + """Constructs reader instance from HTTP response. + + :param response: :class:`~aiohttp.client.ClientResponse` instance + """ + obj = cls.response_wrapper_cls(response, cls(response.headers, + response.content)) + return obj + + def at_eof(self) -> bool: + """Returns True if the final boundary was reached or + False otherwise. + """ + return self._at_eof + + async def next(self) -> Any: + """Emits the next multipart body part.""" + # So, if we're at BOF, we need to skip till the boundary. + if self._at_eof: + return + await self._maybe_release_last_part() + if self._at_bof: + await self._read_until_first_boundary() + self._at_bof = False + else: + await self._read_boundary() + if self._at_eof: # we just read the last boundary, nothing to do there + return + self._last_part = await self.fetch_next_part() + return self._last_part + + async def release(self) -> None: + """Reads all the body parts to the void till the final boundary.""" + while not self._at_eof: + item = await self.next() + if item is None: + break + await item.release() + + async def fetch_next_part(self) -> Any: + """Returns the next body part reader.""" + headers = await self._read_headers() + return self._get_part_reader(headers) + + def _get_part_reader(self, headers: 'CIMultiDictProxy[str]') -> Any: + """Dispatches the response by the `Content-Type` header, returning + suitable reader instance. + + :param dict headers: Response headers + """ + ctype = headers.get(CONTENT_TYPE, '') + mimetype = parse_mimetype(ctype) + + if mimetype.type == 'multipart': + if self.multipart_reader_cls is None: + return type(self)(headers, self._content) + return self.multipart_reader_cls(headers, self._content) + else: + return self.part_reader_cls(self._boundary, headers, self._content) + + def _get_boundary(self) -> str: + mimetype = parse_mimetype(self.headers[CONTENT_TYPE]) + + assert mimetype.type == 'multipart', ( + 'multipart/* content type expected' + ) + + if 'boundary' not in mimetype.parameters: + raise ValueError('boundary missed for Content-Type: %s' + % self.headers[CONTENT_TYPE]) + + boundary = mimetype.parameters['boundary'] + if len(boundary) > 70: + raise ValueError('boundary %r is too long (70 chars max)' + % boundary) + + return boundary + + async def _readline(self) -> bytes: + if self._unread: + return self._unread.pop() + return await self._content.readline() + + async def _read_until_first_boundary(self) -> None: + while True: + chunk = await self._readline() + if chunk == b'': + raise ValueError("Could not find starting boundary %r" + % (self._boundary)) + chunk = chunk.rstrip() + if chunk == self._boundary: + return + elif chunk == self._boundary + b'--': + self._at_eof = True + return + + async def _read_boundary(self) -> None: + chunk = (await self._readline()).rstrip() + if chunk == self._boundary: + pass + elif chunk == self._boundary + b'--': + self._at_eof = True + epilogue = await self._readline() + next_line = await self._readline() + + # the epilogue is expected and then either the end of input or the + # parent multipart boundary, if the parent boundary is found then + # it should be marked as unread and handed to the parent for + # processing + if next_line[:2] == b'--': + self._unread.append(next_line) + # otherwise the request is likely missing an epilogue and both + # lines should be passed to the parent for processing + # (this handles the old behavior gracefully) + else: + self._unread.extend([next_line, epilogue]) + else: + raise ValueError('Invalid boundary %r, expected %r' + % (chunk, self._boundary)) + + async def _read_headers(self) -> 'CIMultiDictProxy[str]': + lines = [b''] + while True: + chunk = await self._content.readline() + chunk = chunk.strip() + lines.append(chunk) + if not chunk: + break + parser = HeadersParser() + headers, raw_headers = parser.parse_headers(lines) + return headers + + async def _maybe_release_last_part(self) -> None: + """Ensures that the last read body part is read completely.""" + if self._last_part is not None: + if not self._last_part.at_eof(): + await self._last_part.release() + self._unread.extend(self._last_part._unread) + self._last_part = None + + +_Part = Tuple[Payload, str, str] + + +class MultipartWriter(Payload): + """Multipart body writer.""" + + def __init__(self, subtype: str='mixed', + boundary: Optional[str]=None) -> None: + boundary = boundary if boundary is not None else uuid.uuid4().hex + # The underlying Payload API demands a str (utf-8), not bytes, + # so we need to ensure we don't lose anything during conversion. + # As a result, require the boundary to be ASCII only. + # In both situations. + + try: + self._boundary = boundary.encode('ascii') + except UnicodeEncodeError: + raise ValueError('boundary should contain ASCII only chars') \ + from None + ctype = ('multipart/{}; boundary={}' + .format(subtype, self._boundary_value)) + + super().__init__(None, content_type=ctype) + + self._parts = [] # type: List[_Part] # noqa + + def __enter__(self) -> 'MultipartWriter': + return self + + def __exit__(self, + exc_type: Optional[Type[BaseException]], + exc_val: Optional[BaseException], + exc_tb: Optional[TracebackType]) -> None: + pass + + def __iter__(self) -> Iterator[_Part]: + return iter(self._parts) + + def __len__(self) -> int: + return len(self._parts) + + _valid_tchar_regex = re.compile(br"\A[!#$%&'*+\-.^_`|~\w]+\Z") + _invalid_qdtext_char_regex = re.compile(br"[\x00-\x08\x0A-\x1F\x7F]") + + @property + def _boundary_value(self) -> str: + """Wrap boundary parameter value in quotes, if necessary. + + Reads self.boundary and returns a unicode sting. + """ + # Refer to RFCs 7231, 7230, 5234. + # + # parameter = token "=" ( token / quoted-string ) + # token = 1*tchar + # quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE + # qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text + # obs-text = %x80-FF + # quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text ) + # tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" + # / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~" + # / DIGIT / ALPHA + # ; any VCHAR, except delimiters + # VCHAR = %x21-7E + value = self._boundary + if re.match(self._valid_tchar_regex, value): + return value.decode('ascii') # cannot fail + + if re.search(self._invalid_qdtext_char_regex, value): + raise ValueError("boundary value contains invalid characters") + + # escape %x5C and %x22 + quoted_value_content = value.replace(b'\\', b'\\\\') + quoted_value_content = quoted_value_content.replace(b'"', b'\\"') + + return '"' + quoted_value_content.decode('ascii') + '"' + + @property + def boundary(self) -> str: + return self._boundary.decode('ascii') + + def append( + self, + obj: Any, + headers: Optional['MultiMapping[str]']=None + ) -> Payload: + if headers is None: + headers = CIMultiDict() + + if isinstance(obj, Payload): + obj.headers.update(headers) + return self.append_payload(obj) + else: + try: + payload = get_payload(obj, headers=headers) + except LookupError: + raise TypeError('Cannot create payload from %r' % obj) + else: + return self.append_payload(payload) + + def append_payload(self, payload: Payload) -> Payload: + """Adds a new body part to multipart writer.""" + # compression + encoding = payload.headers.get(CONTENT_ENCODING, '').lower() # type: Optional[str] # noqa + if encoding and encoding not in ('deflate', 'gzip', 'identity'): + raise RuntimeError('unknown content encoding: {}'.format(encoding)) + if encoding == 'identity': + encoding = None + + # te encoding + te_encoding = payload.headers.get( + CONTENT_TRANSFER_ENCODING, '').lower() # type: Optional[str] # noqa + if te_encoding not in ('', 'base64', 'quoted-printable', 'binary'): + raise RuntimeError('unknown content transfer encoding: {}' + ''.format(te_encoding)) + if te_encoding == 'binary': + te_encoding = None + + # size + size = payload.size + if size is not None and not (encoding or te_encoding): + payload.headers[CONTENT_LENGTH] = str(size) + + self._parts.append((payload, encoding, te_encoding)) # type: ignore + return payload + + def append_json( + self, + obj: Any, + headers: Optional['MultiMapping[str]']=None + ) -> Payload: + """Helper to append JSON part.""" + if headers is None: + headers = CIMultiDict() + + return self.append_payload(JsonPayload(obj, headers=headers)) + + def append_form( + self, + obj: Union[Sequence[Tuple[str, str]], + Mapping[str, str]], + headers: Optional['MultiMapping[str]']=None + ) -> Payload: + """Helper to append form urlencoded part.""" + assert isinstance(obj, (Sequence, Mapping)) + + if headers is None: + headers = CIMultiDict() + + if isinstance(obj, Mapping): + obj = list(obj.items()) + data = urlencode(obj, doseq=True) + + return self.append_payload( + StringPayload(data, headers=headers, + content_type='application/x-www-form-urlencoded')) + + @property + def size(self) -> Optional[int]: + """Size of the payload.""" + if not self._parts: + return 0 + + total = 0 + for part, encoding, te_encoding in self._parts: + if encoding or te_encoding or part.size is None: + return None + + total += int( + 2 + len(self._boundary) + 2 + # b'--'+self._boundary+b'\r\n' + part.size + len(part._binary_headers) + + 2 # b'\r\n' + ) + + total += 2 + len(self._boundary) + 4 # b'--'+self._boundary+b'--\r\n' + return total + + async def write(self, writer: Any, + close_boundary: bool=True) -> None: + """Write body.""" + if not self._parts: + return + + for part, encoding, te_encoding in self._parts: + await writer.write(b'--' + self._boundary + b'\r\n') + await writer.write(part._binary_headers) + + if encoding or te_encoding: + w = MultipartPayloadWriter(writer) + if encoding: + w.enable_compression(encoding) + if te_encoding: + w.enable_encoding(te_encoding) + await part.write(w) # type: ignore + await w.write_eof() + else: + await part.write(writer) + + await writer.write(b'\r\n') + + if close_boundary: + await writer.write(b'--' + self._boundary + b'--\r\n') + + +class MultipartPayloadWriter: + + def __init__(self, writer: Any) -> None: + self._writer = writer + self._encoding = None # type: Optional[str] + self._compress = None # type: Any + self._encoding_buffer = None # type: Optional[bytearray] + + def enable_encoding(self, encoding: str) -> None: + if encoding == 'base64': + self._encoding = encoding + self._encoding_buffer = bytearray() + elif encoding == 'quoted-printable': + self._encoding = 'quoted-printable' + + def enable_compression(self, encoding: str='deflate') -> None: + zlib_mode = (16 + zlib.MAX_WBITS + if encoding == 'gzip' else -zlib.MAX_WBITS) + self._compress = zlib.compressobj(wbits=zlib_mode) + + async def write_eof(self) -> None: + if self._compress is not None: + chunk = self._compress.flush() + if chunk: + self._compress = None + await self.write(chunk) + + if self._encoding == 'base64': + if self._encoding_buffer: + await self._writer.write(base64.b64encode( + self._encoding_buffer)) + + async def write(self, chunk: bytes) -> None: + if self._compress is not None: + if chunk: + chunk = self._compress.compress(chunk) + if not chunk: + return + + if self._encoding == 'base64': + buf = self._encoding_buffer + assert buf is not None + buf.extend(chunk) + + if buf: + div, mod = divmod(len(buf), 3) + enc_chunk, self._encoding_buffer = ( + buf[:div * 3], buf[div * 3:]) + if enc_chunk: + b64chunk = base64.b64encode(enc_chunk) + await self._writer.write(b64chunk) + elif self._encoding == 'quoted-printable': + await self._writer.write(binascii.b2a_qp(chunk)) + else: + await self._writer.write(chunk) diff --git a/venv/lib/python3.6/site-packages/aiohttp/payload.py b/venv/lib/python3.6/site-packages/aiohttp/payload.py new file mode 100644 index 0000000..5b110ba --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/payload.py @@ -0,0 +1,456 @@ +import asyncio +import enum +import io +import json +import mimetypes +import os +import warnings +from abc import ABC, abstractmethod +from itertools import chain +from typing import ( + IO, + TYPE_CHECKING, + Any, + ByteString, + Dict, + Iterable, + Optional, + Text, + TextIO, + Tuple, + Type, + Union, +) + +from multidict import CIMultiDict + +from . import hdrs +from .abc import AbstractStreamWriter +from .helpers import ( + PY_36, + content_disposition_header, + guess_filename, + parse_mimetype, + sentinel, +) +from .streams import DEFAULT_LIMIT, StreamReader +from .typedefs import JSONEncoder, _CIMultiDict + +__all__ = ('PAYLOAD_REGISTRY', 'get_payload', 'payload_type', 'Payload', + 'BytesPayload', 'StringPayload', + 'IOBasePayload', 'BytesIOPayload', 'BufferedReaderPayload', + 'TextIOPayload', 'StringIOPayload', 'JsonPayload', + 'AsyncIterablePayload') + +TOO_LARGE_BYTES_BODY = 2 ** 20 # 1 MB + + +if TYPE_CHECKING: # pragma: no cover + from typing import List # noqa + + +class LookupError(Exception): + pass + + +class Order(str, enum.Enum): + normal = 'normal' + try_first = 'try_first' + try_last = 'try_last' + + +def get_payload(data: Any, *args: Any, **kwargs: Any) -> 'Payload': + return PAYLOAD_REGISTRY.get(data, *args, **kwargs) + + +def register_payload(factory: Type['Payload'], + type: Any, + *, + order: Order=Order.normal) -> None: + PAYLOAD_REGISTRY.register(factory, type, order=order) + + +class payload_type: + + def __init__(self, type: Any, *, order: Order=Order.normal) -> None: + self.type = type + self.order = order + + def __call__(self, factory: Type['Payload']) -> Type['Payload']: + register_payload(factory, self.type, order=self.order) + return factory + + +class PayloadRegistry: + """Payload registry. + + note: we need zope.interface for more efficient adapter search + """ + + def __init__(self) -> None: + self._first = [] # type: List[Tuple[Type[Payload], Any]] + self._normal = [] # type: List[Tuple[Type[Payload], Any]] + self._last = [] # type: List[Tuple[Type[Payload], Any]] + + def get(self, + data: Any, + *args: Any, + _CHAIN: Any=chain, + **kwargs: Any) -> 'Payload': + if isinstance(data, Payload): + return data + for factory, type in _CHAIN(self._first, self._normal, self._last): + if isinstance(data, type): + return factory(data, *args, **kwargs) + + raise LookupError() + + def register(self, + factory: Type['Payload'], + type: Any, + *, + order: Order=Order.normal) -> None: + if order is Order.try_first: + self._first.append((factory, type)) + elif order is Order.normal: + self._normal.append((factory, type)) + elif order is Order.try_last: + self._last.append((factory, type)) + else: + raise ValueError("Unsupported order {!r}".format(order)) + + +class Payload(ABC): + + _default_content_type = 'application/octet-stream' # type: str + _size = None # type: Optional[int] + + def __init__(self, + value: Any, + headers: Optional[ + Union[ + _CIMultiDict, + Dict[str, str], + Iterable[Tuple[str, str]] + ] + ] = None, + content_type: Optional[str]=sentinel, + filename: Optional[str]=None, + encoding: Optional[str]=None, + **kwargs: Any) -> None: + self._encoding = encoding + self._filename = filename + self._headers = CIMultiDict() # type: _CIMultiDict + self._value = value + if content_type is not sentinel and content_type is not None: + self._headers[hdrs.CONTENT_TYPE] = content_type + elif self._filename is not None: + content_type = mimetypes.guess_type(self._filename)[0] + if content_type is None: + content_type = self._default_content_type + self._headers[hdrs.CONTENT_TYPE] = content_type + else: + self._headers[hdrs.CONTENT_TYPE] = self._default_content_type + self._headers.update(headers or {}) + + @property + def size(self) -> Optional[int]: + """Size of the payload.""" + return self._size + + @property + def filename(self) -> Optional[str]: + """Filename of the payload.""" + return self._filename + + @property + def headers(self) -> _CIMultiDict: + """Custom item headers""" + return self._headers + + @property + def _binary_headers(self) -> bytes: + return ''.join( + [k + ': ' + v + '\r\n' for k, v in self.headers.items()] + ).encode('utf-8') + b'\r\n' + + @property + def encoding(self) -> Optional[str]: + """Payload encoding""" + return self._encoding + + @property + def content_type(self) -> str: + """Content type""" + return self._headers[hdrs.CONTENT_TYPE] + + def set_content_disposition(self, + disptype: str, + quote_fields: bool=True, + **params: Any) -> None: + """Sets ``Content-Disposition`` header.""" + self._headers[hdrs.CONTENT_DISPOSITION] = content_disposition_header( + disptype, quote_fields=quote_fields, **params) + + @abstractmethod + async def write(self, writer: AbstractStreamWriter) -> None: + """Write payload. + + writer is an AbstractStreamWriter instance: + """ + + +class BytesPayload(Payload): + + def __init__(self, + value: ByteString, + *args: Any, + **kwargs: Any) -> None: + if not isinstance(value, (bytes, bytearray, memoryview)): + raise TypeError("value argument must be byte-ish, not (!r)" + .format(type(value))) + + if 'content_type' not in kwargs: + kwargs['content_type'] = 'application/octet-stream' + + super().__init__(value, *args, **kwargs) + + self._size = len(value) + + if self._size > TOO_LARGE_BYTES_BODY: + if PY_36: + kwargs = {'source': self} + else: + kwargs = {} + warnings.warn("Sending a large body directly with raw bytes might" + " lock the event loop. You should probably pass an " + "io.BytesIO object instead", ResourceWarning, + **kwargs) + + async def write(self, writer: AbstractStreamWriter) -> None: + await writer.write(self._value) + + +class StringPayload(BytesPayload): + + def __init__(self, + value: Text, + *args: Any, + encoding: Optional[str]=None, + content_type: Optional[str]=None, + **kwargs: Any) -> None: + + if encoding is None: + if content_type is None: + real_encoding = 'utf-8' + content_type = 'text/plain; charset=utf-8' + else: + mimetype = parse_mimetype(content_type) + real_encoding = mimetype.parameters.get('charset', 'utf-8') + else: + if content_type is None: + content_type = 'text/plain; charset=%s' % encoding + real_encoding = encoding + + super().__init__( + value.encode(real_encoding), + encoding=real_encoding, + content_type=content_type, + *args, + **kwargs, + ) + + +class StringIOPayload(StringPayload): + + def __init__(self, + value: IO[str], + *args: Any, + **kwargs: Any) -> None: + super().__init__(value.read(), *args, **kwargs) + + +class IOBasePayload(Payload): + + def __init__(self, + value: IO[Any], + disposition: str='attachment', + *args: Any, + **kwargs: Any) -> None: + if 'filename' not in kwargs: + kwargs['filename'] = guess_filename(value) + + super().__init__(value, *args, **kwargs) + + if self._filename is not None and disposition is not None: + if hdrs.CONTENT_DISPOSITION not in self.headers: + self.set_content_disposition( + disposition, filename=self._filename + ) + + async def write(self, writer: AbstractStreamWriter) -> None: + loop = asyncio.get_event_loop() + try: + chunk = await loop.run_in_executor( + None, self._value.read, DEFAULT_LIMIT + ) + while chunk: + await writer.write(chunk) + chunk = await loop.run_in_executor( + None, self._value.read, DEFAULT_LIMIT + ) + finally: + await loop.run_in_executor(None, self._value.close) + + +class TextIOPayload(IOBasePayload): + + def __init__(self, + value: TextIO, + *args: Any, + encoding: Optional[str]=None, + content_type: Optional[str]=None, + **kwargs: Any) -> None: + + if encoding is None: + if content_type is None: + encoding = 'utf-8' + content_type = 'text/plain; charset=utf-8' + else: + mimetype = parse_mimetype(content_type) + encoding = mimetype.parameters.get('charset', 'utf-8') + else: + if content_type is None: + content_type = 'text/plain; charset=%s' % encoding + + super().__init__( + value, + content_type=content_type, + encoding=encoding, + *args, + **kwargs, + ) + + @property + def size(self) -> Optional[int]: + try: + return os.fstat(self._value.fileno()).st_size - self._value.tell() + except OSError: + return None + + async def write(self, writer: AbstractStreamWriter) -> None: + loop = asyncio.get_event_loop() + try: + chunk = await loop.run_in_executor( + None, self._value.read, DEFAULT_LIMIT + ) + while chunk: + await writer.write(chunk.encode(self._encoding)) + chunk = await loop.run_in_executor( + None, self._value.read, DEFAULT_LIMIT + ) + finally: + await loop.run_in_executor(None, self._value.close) + + +class BytesIOPayload(IOBasePayload): + + @property + def size(self) -> int: + position = self._value.tell() + end = self._value.seek(0, os.SEEK_END) + self._value.seek(position) + return end - position + + +class BufferedReaderPayload(IOBasePayload): + + @property + def size(self) -> Optional[int]: + try: + return os.fstat(self._value.fileno()).st_size - self._value.tell() + except OSError: + # data.fileno() is not supported, e.g. + # io.BufferedReader(io.BytesIO(b'data')) + return None + + +class JsonPayload(BytesPayload): + + def __init__(self, + value: Any, + encoding: str='utf-8', + content_type: str='application/json', + dumps: JSONEncoder=json.dumps, + *args: Any, + **kwargs: Any) -> None: + + super().__init__( + dumps(value).encode(encoding), + content_type=content_type, encoding=encoding, *args, **kwargs) + + +if TYPE_CHECKING: # pragma: no cover + from typing import AsyncIterator, AsyncIterable + + _AsyncIterator = AsyncIterator[bytes] + _AsyncIterable = AsyncIterable[bytes] +else: + from collections.abc import AsyncIterable, AsyncIterator + + _AsyncIterator = AsyncIterator + _AsyncIterable = AsyncIterable + + +class AsyncIterablePayload(Payload): + + _iter = None # type: Optional[_AsyncIterator] + + def __init__(self, + value: _AsyncIterable, + *args: Any, + **kwargs: Any) -> None: + if not isinstance(value, AsyncIterable): + raise TypeError("value argument must support " + "collections.abc.AsyncIterablebe interface, " + "got {!r}".format(type(value))) + + if 'content_type' not in kwargs: + kwargs['content_type'] = 'application/octet-stream' + + super().__init__(value, *args, **kwargs) + + self._iter = value.__aiter__() + + async def write(self, writer: AbstractStreamWriter) -> None: + if self._iter: + try: + # iter is not None check prevents rare cases + # when the case iterable is used twice + while True: + chunk = await self._iter.__anext__() + await writer.write(chunk) + except StopAsyncIteration: + self._iter = None + + +class StreamReaderPayload(AsyncIterablePayload): + + def __init__(self, value: StreamReader, *args: Any, **kwargs: Any) -> None: + super().__init__(value.iter_any(), *args, **kwargs) + + +PAYLOAD_REGISTRY = PayloadRegistry() +PAYLOAD_REGISTRY.register(BytesPayload, (bytes, bytearray, memoryview)) +PAYLOAD_REGISTRY.register(StringPayload, str) +PAYLOAD_REGISTRY.register(StringIOPayload, io.StringIO) +PAYLOAD_REGISTRY.register(TextIOPayload, io.TextIOBase) +PAYLOAD_REGISTRY.register(BytesIOPayload, io.BytesIO) +PAYLOAD_REGISTRY.register( + BufferedReaderPayload, (io.BufferedReader, io.BufferedRandom)) +PAYLOAD_REGISTRY.register(IOBasePayload, io.IOBase) +PAYLOAD_REGISTRY.register(StreamReaderPayload, StreamReader) +# try_last for giving a chance to more specialized async interables like +# multidict.BodyPartReaderPayload override the default +PAYLOAD_REGISTRY.register(AsyncIterablePayload, AsyncIterable, + order=Order.try_last) diff --git a/venv/lib/python3.6/site-packages/aiohttp/payload_streamer.py b/venv/lib/python3.6/site-packages/aiohttp/payload_streamer.py new file mode 100644 index 0000000..e76bf43 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/payload_streamer.py @@ -0,0 +1,74 @@ +""" Payload implemenation for coroutines as data provider. + +As a simple case, you can upload data from file:: + + @aiohttp.streamer + async def file_sender(writer, file_name=None): + with open(file_name, 'rb') as f: + chunk = f.read(2**16) + while chunk: + await writer.write(chunk) + + chunk = f.read(2**16) + +Then you can use `file_sender` like this: + + async with session.post('http://httpbin.org/post', + data=file_sender(file_name='huge_file')) as resp: + print(await resp.text()) + +..note:: Coroutine must accept `writer` as first argument + +""" + +import asyncio +import warnings +from typing import Any, Awaitable, Callable, Dict, Tuple + +from .abc import AbstractStreamWriter +from .payload import Payload, payload_type + +__all__ = ('streamer',) + + +class _stream_wrapper: + + def __init__(self, + coro: Callable[..., Awaitable[None]], + args: Tuple[Any, ...], + kwargs: Dict[str, Any]) -> None: + self.coro = asyncio.coroutine(coro) + self.args = args + self.kwargs = kwargs + + async def __call__(self, writer: AbstractStreamWriter) -> None: + await self.coro(writer, *self.args, **self.kwargs) + + +class streamer: + + def __init__(self, coro: Callable[..., Awaitable[None]]) -> None: + warnings.warn("@streamer is deprecated, use async generators instead", + DeprecationWarning, + stacklevel=2) + self.coro = coro + + def __call__(self, *args: Any, **kwargs: Any) -> _stream_wrapper: + return _stream_wrapper(self.coro, args, kwargs) + + +@payload_type(_stream_wrapper) +class StreamWrapperPayload(Payload): + + async def write(self, writer: AbstractStreamWriter) -> None: + await self._value(writer) + + +@payload_type(streamer) +class StreamPayload(StreamWrapperPayload): + + def __init__(self, value: Any, *args: Any, **kwargs: Any) -> None: + super().__init__(value(), *args, **kwargs) + + async def write(self, writer: AbstractStreamWriter) -> None: + await self._value(writer) diff --git a/venv/lib/python3.6/site-packages/aiohttp/py.typed b/venv/lib/python3.6/site-packages/aiohttp/py.typed new file mode 100644 index 0000000..20a7439 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/py.typed @@ -0,0 +1 @@ +Marker \ No newline at end of file diff --git a/venv/lib/python3.6/site-packages/aiohttp/pytest_plugin.py b/venv/lib/python3.6/site-packages/aiohttp/pytest_plugin.py new file mode 100644 index 0000000..4658da6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/pytest_plugin.py @@ -0,0 +1,337 @@ +import asyncio +import contextlib +import warnings +from collections.abc import Callable + +import pytest + +from aiohttp.helpers import isasyncgenfunction +from aiohttp.web import Application + +from .test_utils import ( + BaseTestServer, + RawTestServer, + TestClient, + TestServer, + loop_context, + setup_test_loop, + teardown_test_loop, +) +from .test_utils import unused_port as _unused_port + +try: + import uvloop +except ImportError: # pragma: no cover + uvloop = None + +try: + import tokio +except ImportError: # pragma: no cover + tokio = None + + +def pytest_addoption(parser): # type: ignore + parser.addoption( + '--aiohttp-fast', action='store_true', default=False, + help='run tests faster by disabling extra checks') + parser.addoption( + '--aiohttp-loop', action='store', default='pyloop', + help='run tests with specific loop: pyloop, uvloop, tokio or all') + parser.addoption( + '--aiohttp-enable-loop-debug', action='store_true', default=False, + help='enable event loop debug mode') + + +def pytest_fixture_setup(fixturedef): # type: ignore + """ + Allow fixtures to be coroutines. Run coroutine fixtures in an event loop. + """ + func = fixturedef.func + + if isasyncgenfunction(func): + # async generator fixture + is_async_gen = True + elif asyncio.iscoroutinefunction(func): + # regular async fixture + is_async_gen = False + else: + # not an async fixture, nothing to do + return + + strip_request = False + if 'request' not in fixturedef.argnames: + fixturedef.argnames += ('request',) + strip_request = True + + def wrapper(*args, **kwargs): # type: ignore + request = kwargs['request'] + if strip_request: + del kwargs['request'] + + # if neither the fixture nor the test use the 'loop' fixture, + # 'getfixturevalue' will fail because the test is not parameterized + # (this can be removed someday if 'loop' is no longer parameterized) + if 'loop' not in request.fixturenames: + raise Exception( + "Asynchronous fixtures must depend on the 'loop' fixture or " + "be used in tests depending from it." + ) + + _loop = request.getfixturevalue('loop') + + if is_async_gen: + # for async generators, we need to advance the generator once, + # then advance it again in a finalizer + gen = func(*args, **kwargs) + + def finalizer(): # type: ignore + try: + return _loop.run_until_complete(gen.__anext__()) + except StopAsyncIteration: # NOQA + pass + + request.addfinalizer(finalizer) + return _loop.run_until_complete(gen.__anext__()) + else: + return _loop.run_until_complete(func(*args, **kwargs)) + + fixturedef.func = wrapper + + +@pytest.fixture +def fast(request): # type: ignore + """--fast config option""" + return request.config.getoption('--aiohttp-fast') + + +@pytest.fixture +def loop_debug(request): # type: ignore + """--enable-loop-debug config option""" + return request.config.getoption('--aiohttp-enable-loop-debug') + + +@contextlib.contextmanager +def _runtime_warning_context(): # type: ignore + """ + Context manager which checks for RuntimeWarnings, specifically to + avoid "coroutine 'X' was never awaited" warnings being missed. + + If RuntimeWarnings occur in the context a RuntimeError is raised. + """ + with warnings.catch_warnings(record=True) as _warnings: + yield + rw = ['{w.filename}:{w.lineno}:{w.message}'.format(w=w) + for w in _warnings # type: ignore + if w.category == RuntimeWarning] + if rw: + raise RuntimeError('{} Runtime Warning{},\n{}'.format( + len(rw), + '' if len(rw) == 1 else 's', + '\n'.join(rw) + )) + + +@contextlib.contextmanager +def _passthrough_loop_context(loop, fast=False): # type: ignore + """ + setups and tears down a loop unless one is passed in via the loop + argument when it's passed straight through. + """ + if loop: + # loop already exists, pass it straight through + yield loop + else: + # this shadows loop_context's standard behavior + loop = setup_test_loop() + yield loop + teardown_test_loop(loop, fast=fast) + + +def pytest_pycollect_makeitem(collector, name, obj): # type: ignore + """ + Fix pytest collecting for coroutines. + """ + if collector.funcnamefilter(name) and asyncio.iscoroutinefunction(obj): + return list(collector._genfunctions(name, obj)) + + +def pytest_pyfunc_call(pyfuncitem): # type: ignore + """ + Run coroutines in an event loop instead of a normal function call. + """ + fast = pyfuncitem.config.getoption("--aiohttp-fast") + if asyncio.iscoroutinefunction(pyfuncitem.function): + existing_loop = pyfuncitem.funcargs.get('loop', None) + with _runtime_warning_context(): + with _passthrough_loop_context(existing_loop, fast=fast) as _loop: + testargs = {arg: pyfuncitem.funcargs[arg] + for arg in pyfuncitem._fixtureinfo.argnames} + _loop.run_until_complete(pyfuncitem.obj(**testargs)) + + return True + + +def pytest_generate_tests(metafunc): # type: ignore + if 'loop_factory' not in metafunc.fixturenames: + return + + loops = metafunc.config.option.aiohttp_loop + avail_factories = {'pyloop': asyncio.DefaultEventLoopPolicy} + + if uvloop is not None: # pragma: no cover + avail_factories['uvloop'] = uvloop.EventLoopPolicy + + if tokio is not None: # pragma: no cover + avail_factories['tokio'] = tokio.EventLoopPolicy + + if loops == 'all': + loops = 'pyloop,uvloop?,tokio?' + + factories = {} # type: ignore + for name in loops.split(','): + required = not name.endswith('?') + name = name.strip(' ?') + if name not in avail_factories: # pragma: no cover + if required: + raise ValueError( + "Unknown loop '%s', available loops: %s" % ( + name, list(factories.keys()))) + else: + continue + factories[name] = avail_factories[name] + metafunc.parametrize("loop_factory", + list(factories.values()), + ids=list(factories.keys())) + + +@pytest.fixture +def loop(loop_factory, fast, loop_debug): # type: ignore + """Return an instance of the event loop.""" + policy = loop_factory() + asyncio.set_event_loop_policy(policy) + with loop_context(fast=fast) as _loop: + if loop_debug: + _loop.set_debug(True) # pragma: no cover + asyncio.set_event_loop(_loop) + yield _loop + + +@pytest.fixture +def unused_port(aiohttp_unused_port): # type: ignore # pragma: no cover + warnings.warn("Deprecated, use aiohttp_unused_port fixture instead", + DeprecationWarning) + return aiohttp_unused_port + + +@pytest.fixture +def aiohttp_unused_port(): # type: ignore + """Return a port that is unused on the current host.""" + return _unused_port + + +@pytest.fixture +def aiohttp_server(loop): # type: ignore + """Factory to create a TestServer instance, given an app. + + aiohttp_server(app, **kwargs) + """ + servers = [] + + async def go(app, *, port=None, **kwargs): # type: ignore + server = TestServer(app, port=port) + await server.start_server(loop=loop, **kwargs) + servers.append(server) + return server + + yield go + + async def finalize(): # type: ignore + while servers: + await servers.pop().close() + + loop.run_until_complete(finalize()) + + +@pytest.fixture +def test_server(aiohttp_server): # type: ignore # pragma: no cover + warnings.warn("Deprecated, use aiohttp_server fixture instead", + DeprecationWarning) + return aiohttp_server + + +@pytest.fixture +def aiohttp_raw_server(loop): # type: ignore + """Factory to create a RawTestServer instance, given a web handler. + + aiohttp_raw_server(handler, **kwargs) + """ + servers = [] + + async def go(handler, *, port=None, **kwargs): # type: ignore + server = RawTestServer(handler, port=port) + await server.start_server(loop=loop, **kwargs) + servers.append(server) + return server + + yield go + + async def finalize(): # type: ignore + while servers: + await servers.pop().close() + + loop.run_until_complete(finalize()) + + +@pytest.fixture +def raw_test_server(aiohttp_raw_server): # type: ignore # pragma: no cover + warnings.warn("Deprecated, use aiohttp_raw_server fixture instead", + DeprecationWarning) + return aiohttp_raw_server + + +@pytest.fixture +def aiohttp_client(loop): # type: ignore + """Factory to create a TestClient instance. + + aiohttp_client(app, **kwargs) + aiohttp_client(server, **kwargs) + aiohttp_client(raw_server, **kwargs) + """ + clients = [] + + async def go(__param, *args, server_kwargs=None, **kwargs): # type: ignore + + if (isinstance(__param, Callable) and # type: ignore + not isinstance(__param, (Application, BaseTestServer))): + __param = __param(loop, *args, **kwargs) + kwargs = {} + else: + assert not args, "args should be empty" + + if isinstance(__param, Application): + server_kwargs = server_kwargs or {} + server = TestServer(__param, loop=loop, **server_kwargs) + client = TestClient(server, loop=loop, **kwargs) + elif isinstance(__param, BaseTestServer): + client = TestClient(__param, loop=loop, **kwargs) + else: + raise ValueError("Unknown argument type: %r" % type(__param)) + + await client.start_server() + clients.append(client) + return client + + yield go + + async def finalize(): # type: ignore + while clients: + await clients.pop().close() + + loop.run_until_complete(finalize()) + + +@pytest.fixture +def test_client(aiohttp_client): # type: ignore # pragma: no cover + warnings.warn("Deprecated, use aiohttp_client fixture instead", + DeprecationWarning) + return aiohttp_client diff --git a/venv/lib/python3.6/site-packages/aiohttp/resolver.py b/venv/lib/python3.6/site-packages/aiohttp/resolver.py new file mode 100644 index 0000000..e0b6e13 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/resolver.py @@ -0,0 +1,112 @@ +import asyncio +import socket +from typing import Any, Dict, List, Optional + +from .abc import AbstractResolver +from .helpers import get_running_loop + +__all__ = ('ThreadedResolver', 'AsyncResolver', 'DefaultResolver') + +try: + import aiodns + # aiodns_default = hasattr(aiodns.DNSResolver, 'gethostbyname') +except ImportError: # pragma: no cover + aiodns = None + +aiodns_default = False + + +class ThreadedResolver(AbstractResolver): + """Use Executor for synchronous getaddrinfo() calls, which defaults to + concurrent.futures.ThreadPoolExecutor. + """ + + def __init__(self, loop: Optional[asyncio.AbstractEventLoop]=None) -> None: + self._loop = get_running_loop(loop) + + async def resolve(self, host: str, port: int=0, + family: int=socket.AF_INET) -> List[Dict[str, Any]]: + infos = await self._loop.getaddrinfo( + host, port, type=socket.SOCK_STREAM, family=family) + + hosts = [] + for family, _, proto, _, address in infos: + hosts.append( + {'hostname': host, + 'host': address[0], 'port': address[1], + 'family': family, 'proto': proto, + 'flags': socket.AI_NUMERICHOST}) + + return hosts + + async def close(self) -> None: + pass + + +class AsyncResolver(AbstractResolver): + """Use the `aiodns` package to make asynchronous DNS lookups""" + + def __init__(self, loop: Optional[asyncio.AbstractEventLoop]=None, + *args: Any, **kwargs: Any) -> None: + if aiodns is None: + raise RuntimeError("Resolver requires aiodns library") + + self._loop = get_running_loop(loop) + self._resolver = aiodns.DNSResolver(*args, loop=loop, **kwargs) + + if not hasattr(self._resolver, 'gethostbyname'): + # aiodns 1.1 is not available, fallback to DNSResolver.query + self.resolve = self._resolve_with_query # type: ignore + + async def resolve(self, host: str, port: int=0, + family: int=socket.AF_INET) -> List[Dict[str, Any]]: + try: + resp = await self._resolver.gethostbyname(host, family) + except aiodns.error.DNSError as exc: + msg = exc.args[1] if len(exc.args) >= 1 else "DNS lookup failed" + raise OSError(msg) from exc + hosts = [] + for address in resp.addresses: + hosts.append( + {'hostname': host, + 'host': address, 'port': port, + 'family': family, 'proto': 0, + 'flags': socket.AI_NUMERICHOST}) + + if not hosts: + raise OSError("DNS lookup failed") + + return hosts + + async def _resolve_with_query( + self, host: str, port: int=0, + family: int=socket.AF_INET) -> List[Dict[str, Any]]: + if family == socket.AF_INET6: + qtype = 'AAAA' + else: + qtype = 'A' + + try: + resp = await self._resolver.query(host, qtype) + except aiodns.error.DNSError as exc: + msg = exc.args[1] if len(exc.args) >= 1 else "DNS lookup failed" + raise OSError(msg) from exc + + hosts = [] + for rr in resp: + hosts.append( + {'hostname': host, + 'host': rr.host, 'port': port, + 'family': family, 'proto': 0, + 'flags': socket.AI_NUMERICHOST}) + + if not hosts: + raise OSError("DNS lookup failed") + + return hosts + + async def close(self) -> None: + return self._resolver.cancel() + + +DefaultResolver = AsyncResolver if aiodns_default else ThreadedResolver diff --git a/venv/lib/python3.6/site-packages/aiohttp/signals.py b/venv/lib/python3.6/site-packages/aiohttp/signals.py new file mode 100644 index 0000000..dda0dab --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/signals.py @@ -0,0 +1,34 @@ +from aiohttp.frozenlist import FrozenList + +__all__ = ('Signal',) + + +class Signal(FrozenList): + """Coroutine-based signal implementation. + + To connect a callback to a signal, use any list method. + + Signals are fired using the send() coroutine, which takes named + arguments. + """ + + __slots__ = ('_owner',) + + def __init__(self, owner): + super().__init__() + self._owner = owner + + def __repr__(self): + return '<Signal owner={}, frozen={}, {!r}>'.format(self._owner, + self.frozen, + list(self)) + + async def send(self, *args, **kwargs): + """ + Sends data to all registered receivers. + """ + if not self.frozen: + raise RuntimeError("Cannot send non-frozen signal.") + + for receiver in self: + await receiver(*args, **kwargs) # type: ignore diff --git a/venv/lib/python3.6/site-packages/aiohttp/signals.pyi b/venv/lib/python3.6/site-packages/aiohttp/signals.pyi new file mode 100644 index 0000000..d9778e7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/signals.pyi @@ -0,0 +1,18 @@ +from typing import Any, Generic, TypeVar + +from aiohttp.frozenlist import FrozenList + + +__all__ = ('Signal',) + + +_T = TypeVar('_T') + + +class Signal(FrozenList[_T], Generic[_T]): + + def __init__(self, owner: Any) -> None: ... + + def __repr__(self) -> str: ... + + async def send(self, *args: Any, **kwargs: Any) -> None: ... diff --git a/venv/lib/python3.6/site-packages/aiohttp/streams.py b/venv/lib/python3.6/site-packages/aiohttp/streams.py new file mode 100644 index 0000000..412e200 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/streams.py @@ -0,0 +1,631 @@ +import asyncio +import collections +import warnings +from typing import List # noqa +from typing import Awaitable, Callable, Generic, Optional, Tuple, TypeVar + +from .base_protocol import BaseProtocol +from .helpers import BaseTimerContext, set_exception, set_result +from .log import internal_logger + +try: # pragma: no cover + from typing import Deque # noqa +except ImportError: + from typing_extensions import Deque # noqa + + +__all__ = ( + 'EMPTY_PAYLOAD', 'EofStream', 'StreamReader', 'DataQueue', + 'FlowControlDataQueue') + +DEFAULT_LIMIT = 2 ** 16 + +_T = TypeVar('_T') + + +class EofStream(Exception): + """eof stream indication.""" + + +class AsyncStreamIterator(Generic[_T]): + + def __init__(self, read_func: Callable[[], Awaitable[_T]]) -> None: + self.read_func = read_func + + def __aiter__(self) -> 'AsyncStreamIterator[_T]': + return self + + async def __anext__(self) -> _T: + try: + rv = await self.read_func() + except EofStream: + raise StopAsyncIteration # NOQA + if rv == b'': + raise StopAsyncIteration # NOQA + return rv + + +class ChunkTupleAsyncStreamIterator: + + def __init__(self, stream: 'StreamReader') -> None: + self._stream = stream + + def __aiter__(self) -> 'ChunkTupleAsyncStreamIterator': + return self + + async def __anext__(self) -> Tuple[bytes, bool]: + rv = await self._stream.readchunk() + if rv == (b'', False): + raise StopAsyncIteration # NOQA + return rv + + +class AsyncStreamReaderMixin: + + def __aiter__(self) -> AsyncStreamIterator[bytes]: + return AsyncStreamIterator(self.readline) # type: ignore + + def iter_chunked(self, n: int) -> AsyncStreamIterator[bytes]: + """Returns an asynchronous iterator that yields chunks of size n. + + Python-3.5 available for Python 3.5+ only + """ + return AsyncStreamIterator(lambda: self.read(n)) # type: ignore + + def iter_any(self) -> AsyncStreamIterator[bytes]: + """Returns an asynchronous iterator that yields all the available + data as soon as it is received + + Python-3.5 available for Python 3.5+ only + """ + return AsyncStreamIterator(self.readany) # type: ignore + + def iter_chunks(self) -> ChunkTupleAsyncStreamIterator: + """Returns an asynchronous iterator that yields chunks of data + as they are received by the server. The yielded objects are tuples + of (bytes, bool) as returned by the StreamReader.readchunk method. + + Python-3.5 available for Python 3.5+ only + """ + return ChunkTupleAsyncStreamIterator(self) # type: ignore + + +class StreamReader(AsyncStreamReaderMixin): + """An enhancement of asyncio.StreamReader. + + Supports asynchronous iteration by line, chunk or as available:: + + async for line in reader: + ... + async for chunk in reader.iter_chunked(1024): + ... + async for slice in reader.iter_any(): + ... + + """ + + total_bytes = 0 + + def __init__(self, protocol: BaseProtocol, + *, limit: int=DEFAULT_LIMIT, + timer: Optional[BaseTimerContext]=None, + loop: Optional[asyncio.AbstractEventLoop]=None) -> None: + self._protocol = protocol + self._low_water = limit + self._high_water = limit * 2 + if loop is None: + loop = asyncio.get_event_loop() + self._loop = loop + self._size = 0 + self._cursor = 0 + self._http_chunk_splits = None # type: Optional[List[int]] + self._buffer = collections.deque() # type: Deque[bytes] + self._buffer_offset = 0 + self._eof = False + self._waiter = None # type: Optional[asyncio.Future[bool]] + self._eof_waiter = None # type: Optional[asyncio.Future[bool]] + self._exception = None # type: Optional[BaseException] + self._timer = timer + self._eof_callbacks = [] # type: List[Callable[[], None]] + + def __repr__(self) -> str: + info = [self.__class__.__name__] + if self._size: + info.append('%d bytes' % self._size) + if self._eof: + info.append('eof') + if self._low_water != DEFAULT_LIMIT: + info.append('low=%d high=%d' % (self._low_water, self._high_water)) + if self._waiter: + info.append('w=%r' % self._waiter) + if self._exception: + info.append('e=%r' % self._exception) + return '<%s>' % ' '.join(info) + + def exception(self) -> Optional[BaseException]: + return self._exception + + def set_exception(self, exc: BaseException) -> None: + self._exception = exc + self._eof_callbacks.clear() + + waiter = self._waiter + if waiter is not None: + self._waiter = None + set_exception(waiter, exc) + + waiter = self._eof_waiter + if waiter is not None: + set_exception(waiter, exc) + self._eof_waiter = None + + def on_eof(self, callback: Callable[[], None]) -> None: + if self._eof: + try: + callback() + except Exception: + internal_logger.exception('Exception in eof callback') + else: + self._eof_callbacks.append(callback) + + def feed_eof(self) -> None: + self._eof = True + + waiter = self._waiter + if waiter is not None: + self._waiter = None + set_result(waiter, True) + + waiter = self._eof_waiter + if waiter is not None: + self._eof_waiter = None + set_result(waiter, True) + + for cb in self._eof_callbacks: + try: + cb() + except Exception: + internal_logger.exception('Exception in eof callback') + + self._eof_callbacks.clear() + + def is_eof(self) -> bool: + """Return True if 'feed_eof' was called.""" + return self._eof + + def at_eof(self) -> bool: + """Return True if the buffer is empty and 'feed_eof' was called.""" + return self._eof and not self._buffer + + async def wait_eof(self) -> None: + if self._eof: + return + + assert self._eof_waiter is None + self._eof_waiter = self._loop.create_future() + try: + await self._eof_waiter + finally: + self._eof_waiter = None + + def unread_data(self, data: bytes) -> None: + """ rollback reading some data from stream, inserting it to buffer head. + """ + warnings.warn("unread_data() is deprecated " + "and will be removed in future releases (#3260)", + DeprecationWarning, + stacklevel=2) + if not data: + return + + if self._buffer_offset: + self._buffer[0] = self._buffer[0][self._buffer_offset:] + self._buffer_offset = 0 + self._size += len(data) + self._cursor -= len(data) + self._buffer.appendleft(data) + self._eof_counter = 0 + + # TODO: size is ignored, remove the param later + def feed_data(self, data: bytes, size: int=0) -> None: + assert not self._eof, 'feed_data after feed_eof' + + if not data: + return + + self._size += len(data) + self._buffer.append(data) + self.total_bytes += len(data) + + waiter = self._waiter + if waiter is not None: + self._waiter = None + set_result(waiter, False) + + if (self._size > self._high_water and + not self._protocol._reading_paused): + self._protocol.pause_reading() + + def begin_http_chunk_receiving(self) -> None: + if self._http_chunk_splits is None: + if self.total_bytes: + raise RuntimeError("Called begin_http_chunk_receiving when" + "some data was already fed") + self._http_chunk_splits = [] + + def end_http_chunk_receiving(self) -> None: + if self._http_chunk_splits is None: + raise RuntimeError("Called end_chunk_receiving without calling " + "begin_chunk_receiving first") + + # self._http_chunk_splits contains logical byte offsets from start of + # the body transfer. Each offset is the offset of the end of a chunk. + # "Logical" means bytes, accessible for a user. + # If no chunks containig logical data were received, current position + # is difinitely zero. + pos = self._http_chunk_splits[-1] if self._http_chunk_splits else 0 + + if self.total_bytes == pos: + # We should not add empty chunks here. So we check for that. + # Note, when chunked + gzip is used, we can receive a chunk + # of compressed data, but that data may not be enough for gzip FSM + # to yield any uncompressed data. That's why current position may + # not change after receiving a chunk. + return + + self._http_chunk_splits.append(self.total_bytes) + + # wake up readchunk when end of http chunk received + waiter = self._waiter + if waiter is not None: + self._waiter = None + set_result(waiter, False) + + async def _wait(self, func_name: str) -> None: + # StreamReader uses a future to link the protocol feed_data() method + # to a read coroutine. Running two read coroutines at the same time + # would have an unexpected behaviour. It would not possible to know + # which coroutine would get the next data. + if self._waiter is not None: + raise RuntimeError('%s() called while another coroutine is ' + 'already waiting for incoming data' % func_name) + + waiter = self._waiter = self._loop.create_future() + try: + if self._timer: + with self._timer: + await waiter + else: + await waiter + finally: + self._waiter = None + + async def readline(self) -> bytes: + if self._exception is not None: + raise self._exception + + line = [] + line_size = 0 + not_enough = True + + while not_enough: + while self._buffer and not_enough: + offset = self._buffer_offset + ichar = self._buffer[0].find(b'\n', offset) + 1 + # Read from current offset to found b'\n' or to the end. + data = self._read_nowait_chunk(ichar - offset if ichar else -1) + line.append(data) + line_size += len(data) + if ichar: + not_enough = False + + if line_size > self._high_water: + raise ValueError('Line is too long') + + if self._eof: + break + + if not_enough: + await self._wait('readline') + + return b''.join(line) + + async def read(self, n: int=-1) -> bytes: + if self._exception is not None: + raise self._exception + + # migration problem; with DataQueue you have to catch + # EofStream exception, so common way is to run payload.read() inside + # infinite loop. what can cause real infinite loop with StreamReader + # lets keep this code one major release. + if __debug__: + if self._eof and not self._buffer: + self._eof_counter = getattr(self, '_eof_counter', 0) + 1 + if self._eof_counter > 5: + internal_logger.warning( + 'Multiple access to StreamReader in eof state, ' + 'might be infinite loop.', stack_info=True) + + if not n: + return b'' + + if n < 0: + # This used to just loop creating a new waiter hoping to + # collect everything in self._buffer, but that would + # deadlock if the subprocess sends more than self.limit + # bytes. So just call self.readany() until EOF. + blocks = [] + while True: + block = await self.readany() + if not block: + break + blocks.append(block) + return b''.join(blocks) + + # TODO: should be `if` instead of `while` + # because waiter maybe triggered on chunk end, + # without feeding any data + while not self._buffer and not self._eof: + await self._wait('read') + + return self._read_nowait(n) + + async def readany(self) -> bytes: + if self._exception is not None: + raise self._exception + + # TODO: should be `if` instead of `while` + # because waiter maybe triggered on chunk end, + # without feeding any data + while not self._buffer and not self._eof: + await self._wait('readany') + + return self._read_nowait(-1) + + async def readchunk(self) -> Tuple[bytes, bool]: + """Returns a tuple of (data, end_of_http_chunk). When chunked transfer + encoding is used, end_of_http_chunk is a boolean indicating if the end + of the data corresponds to the end of a HTTP chunk , otherwise it is + always False. + """ + if self._exception is not None: + raise self._exception + + if not self._buffer and not self._eof: + if (self._http_chunk_splits and + self._cursor == self._http_chunk_splits[0]): + # end of http chunk without available data + self._http_chunk_splits = self._http_chunk_splits[1:] + return (b"", True) + await self._wait('readchunk') + + if not self._buffer and not self._http_chunk_splits: + # end of file + return (b"", False) + elif self._http_chunk_splits is not None: + while self._http_chunk_splits: + pos = self._http_chunk_splits[0] + self._http_chunk_splits = self._http_chunk_splits[1:] + if pos == self._cursor: + return (b"", True) + if pos > self._cursor: + return (self._read_nowait(pos-self._cursor), True) + return (self._read_nowait(-1), False) + else: + return (self._read_nowait_chunk(-1), False) + + async def readexactly(self, n: int) -> bytes: + if self._exception is not None: + raise self._exception + + blocks = [] # type: List[bytes] + while n > 0: + block = await self.read(n) + if not block: + partial = b''.join(blocks) + raise asyncio.streams.IncompleteReadError( + partial, len(partial) + n) + blocks.append(block) + n -= len(block) + + return b''.join(blocks) + + def read_nowait(self, n: int=-1) -> bytes: + # default was changed to be consistent with .read(-1) + # + # I believe the most users don't know about the method and + # they are not affected. + if self._exception is not None: + raise self._exception + + if self._waiter and not self._waiter.done(): + raise RuntimeError( + 'Called while some coroutine is waiting for incoming data.') + + return self._read_nowait(n) + + def _read_nowait_chunk(self, n: int) -> bytes: + first_buffer = self._buffer[0] + offset = self._buffer_offset + if n != -1 and len(first_buffer) - offset > n: + data = first_buffer[offset:offset + n] + self._buffer_offset += n + + elif offset: + self._buffer.popleft() + data = first_buffer[offset:] + self._buffer_offset = 0 + + else: + data = self._buffer.popleft() + + self._size -= len(data) + self._cursor += len(data) + + if self._size < self._low_water and self._protocol._reading_paused: + self._protocol.resume_reading() + return data + + def _read_nowait(self, n: int) -> bytes: + chunks = [] + + while self._buffer: + chunk = self._read_nowait_chunk(n) + chunks.append(chunk) + if n != -1: + n -= len(chunk) + if n == 0: + break + + return b''.join(chunks) if chunks else b'' + + +class EmptyStreamReader(AsyncStreamReaderMixin): + + def exception(self) -> Optional[BaseException]: + return None + + def set_exception(self, exc: BaseException) -> None: + pass + + def on_eof(self, callback: Callable[[], None]) -> None: + try: + callback() + except Exception: + internal_logger.exception('Exception in eof callback') + + def feed_eof(self) -> None: + pass + + def is_eof(self) -> bool: + return True + + def at_eof(self) -> bool: + return True + + async def wait_eof(self) -> None: + return + + def feed_data(self, data: bytes, n: int=0) -> None: + pass + + async def readline(self) -> bytes: + return b'' + + async def read(self, n: int=-1) -> bytes: + return b'' + + async def readany(self) -> bytes: + return b'' + + async def readchunk(self) -> Tuple[bytes, bool]: + return (b'', True) + + async def readexactly(self, n: int) -> bytes: + raise asyncio.streams.IncompleteReadError(b'', n) + + def read_nowait(self) -> bytes: + return b'' + + +EMPTY_PAYLOAD = EmptyStreamReader() + + +class DataQueue(Generic[_T]): + """DataQueue is a general-purpose blocking queue with one reader.""" + + def __init__(self, loop: asyncio.AbstractEventLoop) -> None: + self._loop = loop + self._eof = False + self._waiter = None # type: Optional[asyncio.Future[bool]] + self._exception = None # type: Optional[BaseException] + self._size = 0 + self._buffer = collections.deque() # type: Deque[Tuple[_T, int]] + + def __len__(self) -> int: + return len(self._buffer) + + def is_eof(self) -> bool: + return self._eof + + def at_eof(self) -> bool: + return self._eof and not self._buffer + + def exception(self) -> Optional[BaseException]: + return self._exception + + def set_exception(self, exc: BaseException) -> None: + self._eof = True + self._exception = exc + + waiter = self._waiter + if waiter is not None: + set_exception(waiter, exc) + self._waiter = None + + def feed_data(self, data: _T, size: int=0) -> None: + self._size += size + self._buffer.append((data, size)) + + waiter = self._waiter + if waiter is not None: + self._waiter = None + set_result(waiter, True) + + def feed_eof(self) -> None: + self._eof = True + + waiter = self._waiter + if waiter is not None: + self._waiter = None + set_result(waiter, False) + + async def read(self) -> _T: + if not self._buffer and not self._eof: + assert not self._waiter + self._waiter = self._loop.create_future() + try: + await self._waiter + except (asyncio.CancelledError, asyncio.TimeoutError): + self._waiter = None + raise + + if self._buffer: + data, size = self._buffer.popleft() + self._size -= size + return data + else: + if self._exception is not None: + raise self._exception + else: + raise EofStream + + def __aiter__(self) -> AsyncStreamIterator[_T]: + return AsyncStreamIterator(self.read) + + +class FlowControlDataQueue(DataQueue[_T]): + """FlowControlDataQueue resumes and pauses an underlying stream. + + It is a destination for parsed data.""" + + def __init__(self, protocol: BaseProtocol, *, + limit: int=DEFAULT_LIMIT, + loop: asyncio.AbstractEventLoop) -> None: + super().__init__(loop=loop) + + self._protocol = protocol + self._limit = limit * 2 + + def feed_data(self, data: _T, size: int=0) -> None: + super().feed_data(data, size) + + if self._size > self._limit and not self._protocol._reading_paused: + self._protocol.pause_reading() + + async def read(self) -> _T: + try: + return await super().read() + finally: + if self._size < self._limit and self._protocol._reading_paused: + self._protocol.resume_reading() diff --git a/venv/lib/python3.6/site-packages/aiohttp/tcp_helpers.py b/venv/lib/python3.6/site-packages/aiohttp/tcp_helpers.py new file mode 100644 index 0000000..440c116 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/tcp_helpers.py @@ -0,0 +1,63 @@ +"""Helper methods to tune a TCP connection""" + +import asyncio +import socket +from contextlib import suppress +from typing import Optional # noqa + +__all__ = ('tcp_keepalive', 'tcp_nodelay', 'tcp_cork') + + +if hasattr(socket, 'TCP_CORK'): # pragma: no cover + CORK = socket.TCP_CORK # type: Optional[int] +elif hasattr(socket, 'TCP_NOPUSH'): # pragma: no cover + CORK = socket.TCP_NOPUSH # type: ignore +else: # pragma: no cover + CORK = None + + +if hasattr(socket, 'SO_KEEPALIVE'): + def tcp_keepalive(transport: asyncio.Transport) -> None: + sock = transport.get_extra_info('socket') + if sock is not None: + sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) +else: + def tcp_keepalive( + transport: asyncio.Transport) -> None: # pragma: no cover + pass + + +def tcp_nodelay(transport: asyncio.Transport, value: bool) -> None: + sock = transport.get_extra_info('socket') + + if sock is None: + return + + if sock.family not in (socket.AF_INET, socket.AF_INET6): + return + + value = bool(value) + + # socket may be closed already, on windows OSError get raised + with suppress(OSError): + sock.setsockopt( + socket.IPPROTO_TCP, socket.TCP_NODELAY, value) + + +def tcp_cork(transport: asyncio.Transport, value: bool) -> None: + sock = transport.get_extra_info('socket') + + if CORK is None: + return + + if sock is None: + return + + if sock.family not in (socket.AF_INET, socket.AF_INET6): + return + + value = bool(value) + + with suppress(OSError): + sock.setsockopt( + socket.IPPROTO_TCP, CORK, value) diff --git a/venv/lib/python3.6/site-packages/aiohttp/test_utils.py b/venv/lib/python3.6/site-packages/aiohttp/test_utils.py new file mode 100644 index 0000000..d1db1a7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/test_utils.py @@ -0,0 +1,659 @@ +"""Utilities shared by tests.""" + +import asyncio +import contextlib +import functools +import gc +import socket +import sys +import unittest +from abc import ABC, abstractmethod +from types import TracebackType +from typing import ( # noqa + TYPE_CHECKING, + Any, + Callable, + Iterator, + List, + Optional, + Type, + Union, +) +from unittest import mock + +from multidict import CIMultiDict, CIMultiDictProxy +from yarl import URL + +import aiohttp +from aiohttp.client import ( + ClientResponse, + _RequestContextManager, + _WSRequestContextManager, +) + +from . import ClientSession, hdrs +from .abc import AbstractCookieJar +from .client_reqrep import ClientResponse # noqa +from .client_ws import ClientWebSocketResponse # noqa +from .helpers import sentinel +from .http import HttpVersion, RawRequestMessage +from .signals import Signal +from .web import ( + Application, + AppRunner, + BaseRunner, + Request, + Server, + ServerRunner, + SockSite, + UrlMappingMatchInfo, +) +from .web_protocol import _RequestHandler + +if TYPE_CHECKING: # pragma: no cover + from ssl import SSLContext +else: + SSLContext = None + + +def get_unused_port_socket(host: str) -> socket.socket: + return get_port_socket(host, 0) + + +def get_port_socket(host: str, port: int) -> socket.socket: + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + s.bind((host, port)) + return s + + +def unused_port() -> int: + """Return a port that is unused on the current host.""" + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + s.bind(('127.0.0.1', 0)) + return s.getsockname()[1] + + +class BaseTestServer(ABC): + def __init__(self, + *, + scheme: Union[str, object]=sentinel, + loop: Optional[asyncio.AbstractEventLoop]=None, + host: str='127.0.0.1', + port: Optional[int]=None, + skip_url_asserts: bool=False, + **kwargs: Any) -> None: + self._loop = loop + self.runner = None # type: Optional[BaseRunner] + self._root = None # type: Optional[URL] + self.host = host + self.port = port + self._closed = False + self.scheme = scheme + self.skip_url_asserts = skip_url_asserts + + async def start_server(self, + loop: Optional[asyncio.AbstractEventLoop]=None, + **kwargs: Any) -> None: + if self.runner: + return + self._loop = loop + self._ssl = kwargs.pop('ssl', None) + self.runner = await self._make_runner(**kwargs) + await self.runner.setup() + if not self.port: + self.port = 0 + _sock = get_port_socket(self.host, self.port) + self.host, self.port = _sock.getsockname()[:2] + site = SockSite(self.runner, sock=_sock, ssl_context=self._ssl) + await site.start() + server = site._server + assert server is not None + sockets = server.sockets + assert sockets is not None + self.port = sockets[0].getsockname()[1] + if self.scheme is sentinel: + if self._ssl: + scheme = 'https' + else: + scheme = 'http' + self.scheme = scheme + self._root = URL('{}://{}:{}'.format(self.scheme, + self.host, + self.port)) + + @abstractmethod # pragma: no cover + async def _make_runner(self, **kwargs: Any) -> BaseRunner: + pass + + def make_url(self, path: str) -> URL: + assert self._root is not None + url = URL(path) + if not self.skip_url_asserts: + assert not url.is_absolute() + return self._root.join(url) + else: + return URL(str(self._root) + path) + + @property + def started(self) -> bool: + return self.runner is not None + + @property + def closed(self) -> bool: + return self._closed + + @property + def handler(self) -> Server: + # for backward compatibility + # web.Server instance + runner = self.runner + assert runner is not None + assert runner.server is not None + return runner.server + + async def close(self) -> None: + """Close all fixtures created by the test client. + + After that point, the TestClient is no longer usable. + + This is an idempotent function: running close multiple times + will not have any additional effects. + + close is also run when the object is garbage collected, and on + exit when used as a context manager. + + """ + if self.started and not self.closed: + assert self.runner is not None + await self.runner.cleanup() + self._root = None + self.port = None + self._closed = True + + def __enter__(self) -> None: + raise TypeError("Use async with instead") + + def __exit__(self, + exc_type: Optional[Type[BaseException]], + exc_value: Optional[BaseException], + traceback: Optional[TracebackType]) -> None: + # __exit__ should exist in pair with __enter__ but never executed + pass # pragma: no cover + + async def __aenter__(self) -> 'BaseTestServer': + await self.start_server(loop=self._loop) + return self + + async def __aexit__(self, + exc_type: Optional[Type[BaseException]], + exc_value: Optional[BaseException], + traceback: Optional[TracebackType]) -> None: + await self.close() + + +class TestServer(BaseTestServer): + + def __init__(self, app: Application, *, + scheme: Union[str, object]=sentinel, + host: str='127.0.0.1', + port: Optional[int]=None, + **kwargs: Any): + self.app = app + super().__init__(scheme=scheme, host=host, port=port, **kwargs) + + async def _make_runner(self, **kwargs: Any) -> BaseRunner: + return AppRunner(self.app, **kwargs) + + +class RawTestServer(BaseTestServer): + + def __init__(self, handler: _RequestHandler, *, + scheme: Union[str, object]=sentinel, + host: str='127.0.0.1', + port: Optional[int]=None, + **kwargs: Any) -> None: + self._handler = handler + super().__init__(scheme=scheme, host=host, port=port, **kwargs) + + async def _make_runner(self, + debug: bool=True, + **kwargs: Any) -> ServerRunner: + srv = Server( + self._handler, loop=self._loop, debug=debug, **kwargs) + return ServerRunner(srv, debug=debug, **kwargs) + + +class TestClient: + """ + A test client implementation. + + To write functional tests for aiohttp based servers. + + """ + + def __init__(self, server: BaseTestServer, *, + cookie_jar: Optional[AbstractCookieJar]=None, + loop: Optional[asyncio.AbstractEventLoop]=None, + **kwargs: Any) -> None: + if not isinstance(server, BaseTestServer): + raise TypeError("server must be TestServer " + "instance, found type: %r" % type(server)) + self._server = server + self._loop = loop + if cookie_jar is None: + cookie_jar = aiohttp.CookieJar(unsafe=True, loop=loop) + self._session = ClientSession(loop=loop, + cookie_jar=cookie_jar, + **kwargs) + self._closed = False + self._responses = [] # type: List[ClientResponse] + self._websockets = [] # type: List[ClientWebSocketResponse] + + async def start_server(self) -> None: + await self._server.start_server(loop=self._loop) + + @property + def host(self) -> str: + return self._server.host + + @property + def port(self) -> Optional[int]: + return self._server.port + + @property + def server(self) -> BaseTestServer: + return self._server + + @property + def app(self) -> Application: + return getattr(self._server, "app", None) + + @property + def session(self) -> ClientSession: + """An internal aiohttp.ClientSession. + + Unlike the methods on the TestClient, client session requests + do not automatically include the host in the url queried, and + will require an absolute path to the resource. + + """ + return self._session + + def make_url(self, path: str) -> URL: + return self._server.make_url(path) + + async def request(self, method: str, path: str, + **kwargs: Any) -> ClientResponse: + """Routes a request to tested http server. + + The interface is identical to aiohttp.ClientSession.request, + except the loop kwarg is overridden by the instance used by the + test server. + + """ + resp = await self._session.request( + method, self.make_url(path), **kwargs + ) + # save it to close later + self._responses.append(resp) + return resp + + def get(self, path: str, **kwargs: Any) -> _RequestContextManager: + """Perform an HTTP GET request.""" + return _RequestContextManager( + self.request(hdrs.METH_GET, path, **kwargs) + ) + + def post(self, path: str, **kwargs: Any) -> _RequestContextManager: + """Perform an HTTP POST request.""" + return _RequestContextManager( + self.request(hdrs.METH_POST, path, **kwargs) + ) + + def options(self, path: str, **kwargs: Any) -> _RequestContextManager: + """Perform an HTTP OPTIONS request.""" + return _RequestContextManager( + self.request(hdrs.METH_OPTIONS, path, **kwargs) + ) + + def head(self, path: str, **kwargs: Any) -> _RequestContextManager: + """Perform an HTTP HEAD request.""" + return _RequestContextManager( + self.request(hdrs.METH_HEAD, path, **kwargs) + ) + + def put(self, path: str, **kwargs: Any) -> _RequestContextManager: + """Perform an HTTP PUT request.""" + return _RequestContextManager( + self.request(hdrs.METH_PUT, path, **kwargs) + ) + + def patch(self, path: str, **kwargs: Any) -> _RequestContextManager: + """Perform an HTTP PATCH request.""" + return _RequestContextManager( + self.request(hdrs.METH_PATCH, path, **kwargs) + ) + + def delete(self, path: str, **kwargs: Any) -> _RequestContextManager: + """Perform an HTTP PATCH request.""" + return _RequestContextManager( + self.request(hdrs.METH_DELETE, path, **kwargs) + ) + + def ws_connect(self, path: str, **kwargs: Any) -> _WSRequestContextManager: + """Initiate websocket connection. + + The api corresponds to aiohttp.ClientSession.ws_connect. + + """ + return _WSRequestContextManager( + self._ws_connect(path, **kwargs) + ) + + async def _ws_connect(self, path: str, + **kwargs: Any) -> ClientWebSocketResponse: + ws = await self._session.ws_connect( + self.make_url(path), **kwargs) + self._websockets.append(ws) + return ws + + async def close(self) -> None: + """Close all fixtures created by the test client. + + After that point, the TestClient is no longer usable. + + This is an idempotent function: running close multiple times + will not have any additional effects. + + close is also run on exit when used as a(n) (asynchronous) + context manager. + + """ + if not self._closed: + for resp in self._responses: + resp.close() + for ws in self._websockets: + await ws.close() + await self._session.close() + await self._server.close() + self._closed = True + + def __enter__(self) -> None: + raise TypeError("Use async with instead") + + def __exit__(self, + exc_type: Optional[Type[BaseException]], + exc: Optional[BaseException], + tb: Optional[TracebackType]) -> None: + # __exit__ should exist in pair with __enter__ but never executed + pass # pragma: no cover + + async def __aenter__(self) -> 'TestClient': + await self.start_server() + return self + + async def __aexit__(self, + exc_type: Optional[Type[BaseException]], + exc: Optional[BaseException], + tb: Optional[TracebackType]) -> None: + await self.close() + + +class AioHTTPTestCase(unittest.TestCase): + """A base class to allow for unittest web applications using + aiohttp. + + Provides the following: + + * self.client (aiohttp.test_utils.TestClient): an aiohttp test client. + * self.loop (asyncio.BaseEventLoop): the event loop in which the + application and server are running. + * self.app (aiohttp.web.Application): the application returned by + self.get_application() + + Note that the TestClient's methods are asynchronous: you have to + execute function on the test client using asynchronous methods. + """ + + async def get_application(self) -> Application: + """ + This method should be overridden + to return the aiohttp.web.Application + object to test. + + """ + return self.get_app() + + def get_app(self) -> Application: + """Obsolete method used to constructing web application. + + Use .get_application() coroutine instead + + """ + raise RuntimeError("Did you forget to define get_application()?") + + def setUp(self) -> None: + self.loop = setup_test_loop() + + self.app = self.loop.run_until_complete(self.get_application()) + self.server = self.loop.run_until_complete(self.get_server(self.app)) + self.client = self.loop.run_until_complete( + self.get_client(self.server)) + + self.loop.run_until_complete(self.client.start_server()) + + self.loop.run_until_complete(self.setUpAsync()) + + async def setUpAsync(self) -> None: + pass + + def tearDown(self) -> None: + self.loop.run_until_complete(self.tearDownAsync()) + self.loop.run_until_complete(self.client.close()) + teardown_test_loop(self.loop) + + async def tearDownAsync(self) -> None: + pass + + async def get_server(self, app: Application) -> TestServer: + """Return a TestServer instance.""" + return TestServer(app, loop=self.loop) + + async def get_client(self, server: TestServer) -> TestClient: + """Return a TestClient instance.""" + return TestClient(server, loop=self.loop) + + +def unittest_run_loop(func: Any, *args: Any, **kwargs: Any) -> Any: + """A decorator dedicated to use with asynchronous methods of an + AioHTTPTestCase. + + Handles executing an asynchronous function, using + the self.loop of the AioHTTPTestCase. + """ + + @functools.wraps(func, *args, **kwargs) + def new_func(self: Any, *inner_args: Any, **inner_kwargs: Any) -> Any: + return self.loop.run_until_complete( + func(self, *inner_args, **inner_kwargs)) + + return new_func + + +_LOOP_FACTORY = Callable[[], asyncio.AbstractEventLoop] + + +@contextlib.contextmanager +def loop_context(loop_factory: _LOOP_FACTORY=asyncio.new_event_loop, + fast: bool=False) -> Iterator[asyncio.AbstractEventLoop]: + """A contextmanager that creates an event_loop, for test purposes. + + Handles the creation and cleanup of a test loop. + """ + loop = setup_test_loop(loop_factory) + yield loop + teardown_test_loop(loop, fast=fast) + + +def setup_test_loop( + loop_factory: _LOOP_FACTORY=asyncio.new_event_loop +) -> asyncio.AbstractEventLoop: + """Create and return an asyncio.BaseEventLoop + instance. + + The caller should also call teardown_test_loop, + once they are done with the loop. + """ + loop = loop_factory() + try: + module = loop.__class__.__module__ + skip_watcher = 'uvloop' in module + except AttributeError: # pragma: no cover + # Just in case + skip_watcher = True + asyncio.set_event_loop(loop) + if sys.platform != "win32" and not skip_watcher: + policy = asyncio.get_event_loop_policy() + watcher = asyncio.SafeChildWatcher() # type: ignore + watcher.attach_loop(loop) + with contextlib.suppress(NotImplementedError): + policy.set_child_watcher(watcher) + return loop + + +def teardown_test_loop(loop: asyncio.AbstractEventLoop, + fast: bool=False) -> None: + """Teardown and cleanup an event_loop created + by setup_test_loop. + + """ + closed = loop.is_closed() + if not closed: + loop.call_soon(loop.stop) + loop.run_forever() + loop.close() + + if not fast: + gc.collect() + + asyncio.set_event_loop(None) + + +def _create_app_mock() -> mock.MagicMock: + def get_dict(app: Any, key: str) -> Any: + return app.__app_dict[key] + + def set_dict(app: Any, key: str, value: Any) -> None: + app.__app_dict[key] = value + + app = mock.MagicMock() + app.__app_dict = {} + app.__getitem__ = get_dict + app.__setitem__ = set_dict + + app._debug = False + app.on_response_prepare = Signal(app) + app.on_response_prepare.freeze() + return app + + +def _create_transport(sslcontext: Optional[SSLContext]=None) -> mock.Mock: + transport = mock.Mock() + + def get_extra_info(key: str) -> Optional[SSLContext]: + if key == 'sslcontext': + return sslcontext + else: + return None + + transport.get_extra_info.side_effect = get_extra_info + return transport + + +def make_mocked_request(method: str, path: str, + headers: Any=None, *, + match_info: Any=sentinel, + version: HttpVersion=HttpVersion(1, 1), + closing: bool=False, + app: Any=None, + writer: Any=sentinel, + protocol: Any=sentinel, + transport: Any=sentinel, + payload: Any=sentinel, + sslcontext: Optional[SSLContext]=None, + client_max_size: int=1024**2, + loop: Any=...) -> Any: + """Creates mocked web.Request testing purposes. + + Useful in unit tests, when spinning full web server is overkill or + specific conditions and errors are hard to trigger. + + """ + + task = mock.Mock() + if loop is ...: + loop = mock.Mock() + loop.create_future.return_value = () + + if version < HttpVersion(1, 1): + closing = True + + if headers: + headers = CIMultiDictProxy(CIMultiDict(headers)) + raw_hdrs = tuple( + (k.encode('utf-8'), v.encode('utf-8')) for k, v in headers.items()) + else: + headers = CIMultiDictProxy(CIMultiDict()) + raw_hdrs = () + + chunked = 'chunked' in headers.get(hdrs.TRANSFER_ENCODING, '').lower() + + message = RawRequestMessage( + method, path, version, headers, + raw_hdrs, closing, False, False, chunked, URL(path)) + if app is None: + app = _create_app_mock() + + if transport is sentinel: + transport = _create_transport(sslcontext) + + if protocol is sentinel: + protocol = mock.Mock() + protocol.transport = transport + + if writer is sentinel: + writer = mock.Mock() + writer.write_headers = make_mocked_coro(None) + writer.write = make_mocked_coro(None) + writer.write_eof = make_mocked_coro(None) + writer.drain = make_mocked_coro(None) + writer.transport = transport + + protocol.transport = transport + protocol.writer = writer + + if payload is sentinel: + payload = mock.Mock() + + req = Request(message, payload, + protocol, writer, task, loop, + client_max_size=client_max_size) + + match_info = UrlMappingMatchInfo( + {} if match_info is sentinel else match_info, mock.Mock()) + match_info.add_app(app) + req._match_info = match_info + + return req + + +def make_mocked_coro(return_value: Any=sentinel, + raise_exception: Any=sentinel) -> Any: + """Creates a coroutine mock.""" + @asyncio.coroutine + def mock_coro(*args: Any, **kwargs: Any) -> Any: + if raise_exception is not sentinel: + raise raise_exception + return return_value + + return mock.Mock(wraps=mock_coro) diff --git a/venv/lib/python3.6/site-packages/aiohttp/tracing.py b/venv/lib/python3.6/site-packages/aiohttp/tracing.py new file mode 100644 index 0000000..84c10ed --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/tracing.py @@ -0,0 +1,369 @@ +from types import SimpleNamespace +from typing import TYPE_CHECKING, Awaitable, Callable, Type + +import attr +from multidict import CIMultiDict # noqa +from yarl import URL + +from .client_reqrep import ClientResponse +from .signals import Signal + +if TYPE_CHECKING: # pragma: no cover + from .client import ClientSession # noqa + + _Signal = Signal[Callable[['TraceConfig'], Awaitable[None]]] +else: + _Signal = Signal + + +__all__ = ( + 'TraceConfig', 'TraceRequestStartParams', 'TraceRequestEndParams', + 'TraceRequestExceptionParams', 'TraceConnectionQueuedStartParams', + 'TraceConnectionQueuedEndParams', 'TraceConnectionCreateStartParams', + 'TraceConnectionCreateEndParams', 'TraceConnectionReuseconnParams', + 'TraceDnsResolveHostStartParams', 'TraceDnsResolveHostEndParams', + 'TraceDnsCacheHitParams', 'TraceDnsCacheMissParams', + 'TraceRequestRedirectParams', + 'TraceRequestChunkSentParams', 'TraceResponseChunkReceivedParams', +) + + +class TraceConfig: + """First-class used to trace requests launched via ClientSession + objects.""" + + def __init__( + self, + trace_config_ctx_factory: Type[SimpleNamespace]=SimpleNamespace + ) -> None: + self._on_request_start = Signal(self) # type: _Signal + self._on_request_chunk_sent = Signal(self) # type: _Signal + self._on_response_chunk_received = Signal(self) # type: _Signal + self._on_request_end = Signal(self) # type: _Signal + self._on_request_exception = Signal(self) # type: _Signal + self._on_request_redirect = Signal(self) # type: _Signal + self._on_connection_queued_start = Signal(self) # type: _Signal + self._on_connection_queued_end = Signal(self) # type: _Signal + self._on_connection_create_start = Signal(self) # type: _Signal + self._on_connection_create_end = Signal(self) # type: _Signal + self._on_connection_reuseconn = Signal(self) # type: _Signal + self._on_dns_resolvehost_start = Signal(self) # type: _Signal + self._on_dns_resolvehost_end = Signal(self) # type: _Signal + self._on_dns_cache_hit = Signal(self) # type: _Signal + self._on_dns_cache_miss = Signal(self) # type: _Signal + + self._trace_config_ctx_factory = trace_config_ctx_factory # type: Type[SimpleNamespace] # noqa + + def trace_config_ctx( + self, + trace_request_ctx: SimpleNamespace=None + ) -> SimpleNamespace: # noqa + """ Return a new trace_config_ctx instance """ + return self._trace_config_ctx_factory( + trace_request_ctx=trace_request_ctx) + + def freeze(self) -> None: + self._on_request_start.freeze() + self._on_request_chunk_sent.freeze() + self._on_response_chunk_received.freeze() + self._on_request_end.freeze() + self._on_request_exception.freeze() + self._on_request_redirect.freeze() + self._on_connection_queued_start.freeze() + self._on_connection_queued_end.freeze() + self._on_connection_create_start.freeze() + self._on_connection_create_end.freeze() + self._on_connection_reuseconn.freeze() + self._on_dns_resolvehost_start.freeze() + self._on_dns_resolvehost_end.freeze() + self._on_dns_cache_hit.freeze() + self._on_dns_cache_miss.freeze() + + @property + def on_request_start(self) -> _Signal: + return self._on_request_start + + @property + def on_request_chunk_sent(self) -> _Signal: + return self._on_request_chunk_sent + + @property + def on_response_chunk_received(self) -> _Signal: + return self._on_response_chunk_received + + @property + def on_request_end(self) -> _Signal: + return self._on_request_end + + @property + def on_request_exception(self) -> _Signal: + return self._on_request_exception + + @property + def on_request_redirect(self) -> _Signal: + return self._on_request_redirect + + @property + def on_connection_queued_start(self) -> _Signal: + return self._on_connection_queued_start + + @property + def on_connection_queued_end(self) -> _Signal: + return self._on_connection_queued_end + + @property + def on_connection_create_start(self) -> _Signal: + return self._on_connection_create_start + + @property + def on_connection_create_end(self) -> _Signal: + return self._on_connection_create_end + + @property + def on_connection_reuseconn(self) -> _Signal: + return self._on_connection_reuseconn + + @property + def on_dns_resolvehost_start(self) -> _Signal: + return self._on_dns_resolvehost_start + + @property + def on_dns_resolvehost_end(self) -> _Signal: + return self._on_dns_resolvehost_end + + @property + def on_dns_cache_hit(self) -> _Signal: + return self._on_dns_cache_hit + + @property + def on_dns_cache_miss(self) -> _Signal: + return self._on_dns_cache_miss + + +@attr.s(frozen=True, slots=True) +class TraceRequestStartParams: + """ Parameters sent by the `on_request_start` signal""" + method = attr.ib(type=str) + url = attr.ib(type=URL) + headers = attr.ib(type='CIMultiDict[str]') + + +@attr.s(frozen=True, slots=True) +class TraceRequestChunkSentParams: + """ Parameters sent by the `on_request_chunk_sent` signal""" + chunk = attr.ib(type=bytes) + + +@attr.s(frozen=True, slots=True) +class TraceResponseChunkReceivedParams: + """ Parameters sent by the `on_response_chunk_received` signal""" + chunk = attr.ib(type=bytes) + + +@attr.s(frozen=True, slots=True) +class TraceRequestEndParams: + """ Parameters sent by the `on_request_end` signal""" + method = attr.ib(type=str) + url = attr.ib(type=URL) + headers = attr.ib(type='CIMultiDict[str]') + response = attr.ib(type=ClientResponse) + + +@attr.s(frozen=True, slots=True) +class TraceRequestExceptionParams: + """ Parameters sent by the `on_request_exception` signal""" + method = attr.ib(type=str) + url = attr.ib(type=URL) + headers = attr.ib(type='CIMultiDict[str]') + exception = attr.ib(type=BaseException) + + +@attr.s(frozen=True, slots=True) +class TraceRequestRedirectParams: + """ Parameters sent by the `on_request_redirect` signal""" + method = attr.ib(type=str) + url = attr.ib(type=URL) + headers = attr.ib(type='CIMultiDict[str]') + response = attr.ib(type=ClientResponse) + + +@attr.s(frozen=True, slots=True) +class TraceConnectionQueuedStartParams: + """ Parameters sent by the `on_connection_queued_start` signal""" + + +@attr.s(frozen=True, slots=True) +class TraceConnectionQueuedEndParams: + """ Parameters sent by the `on_connection_queued_end` signal""" + + +@attr.s(frozen=True, slots=True) +class TraceConnectionCreateStartParams: + """ Parameters sent by the `on_connection_create_start` signal""" + + +@attr.s(frozen=True, slots=True) +class TraceConnectionCreateEndParams: + """ Parameters sent by the `on_connection_create_end` signal""" + + +@attr.s(frozen=True, slots=True) +class TraceConnectionReuseconnParams: + """ Parameters sent by the `on_connection_reuseconn` signal""" + + +@attr.s(frozen=True, slots=True) +class TraceDnsResolveHostStartParams: + """ Parameters sent by the `on_dns_resolvehost_start` signal""" + host = attr.ib(type=str) + + +@attr.s(frozen=True, slots=True) +class TraceDnsResolveHostEndParams: + """ Parameters sent by the `on_dns_resolvehost_end` signal""" + host = attr.ib(type=str) + + +@attr.s(frozen=True, slots=True) +class TraceDnsCacheHitParams: + """ Parameters sent by the `on_dns_cache_hit` signal""" + host = attr.ib(type=str) + + +@attr.s(frozen=True, slots=True) +class TraceDnsCacheMissParams: + """ Parameters sent by the `on_dns_cache_miss` signal""" + host = attr.ib(type=str) + + +class Trace: + """ Internal class used to keep together the main dependencies used + at the moment of send a signal.""" + + def __init__(self, + session: 'ClientSession', + trace_config: TraceConfig, + trace_config_ctx: SimpleNamespace) -> None: + self._trace_config = trace_config + self._trace_config_ctx = trace_config_ctx + self._session = session + + async def send_request_start(self, + method: str, + url: URL, + headers: 'CIMultiDict[str]') -> None: + return await self._trace_config.on_request_start.send( + self._session, + self._trace_config_ctx, + TraceRequestStartParams(method, url, headers) + ) + + async def send_request_chunk_sent(self, chunk: bytes) -> None: + return await self._trace_config.on_request_chunk_sent.send( + self._session, + self._trace_config_ctx, + TraceRequestChunkSentParams(chunk) + ) + + async def send_response_chunk_received(self, chunk: bytes) -> None: + return await self._trace_config.on_response_chunk_received.send( + self._session, + self._trace_config_ctx, + TraceResponseChunkReceivedParams(chunk) + ) + + async def send_request_end(self, + method: str, + url: URL, + headers: 'CIMultiDict[str]', + response: ClientResponse) -> None: + return await self._trace_config.on_request_end.send( + self._session, + self._trace_config_ctx, + TraceRequestEndParams(method, url, headers, response) + ) + + async def send_request_exception(self, + method: str, + url: URL, + headers: 'CIMultiDict[str]', + exception: BaseException) -> None: + return await self._trace_config.on_request_exception.send( + self._session, + self._trace_config_ctx, + TraceRequestExceptionParams(method, url, headers, exception) + ) + + async def send_request_redirect(self, + method: str, + url: URL, + headers: 'CIMultiDict[str]', + response: ClientResponse) -> None: + return await self._trace_config._on_request_redirect.send( + self._session, + self._trace_config_ctx, + TraceRequestRedirectParams(method, url, headers, response) + ) + + async def send_connection_queued_start(self) -> None: + return await self._trace_config.on_connection_queued_start.send( + self._session, + self._trace_config_ctx, + TraceConnectionQueuedStartParams() + ) + + async def send_connection_queued_end(self) -> None: + return await self._trace_config.on_connection_queued_end.send( + self._session, + self._trace_config_ctx, + TraceConnectionQueuedEndParams() + ) + + async def send_connection_create_start(self) -> None: + return await self._trace_config.on_connection_create_start.send( + self._session, + self._trace_config_ctx, + TraceConnectionCreateStartParams() + ) + + async def send_connection_create_end(self) -> None: + return await self._trace_config.on_connection_create_end.send( + self._session, + self._trace_config_ctx, + TraceConnectionCreateEndParams() + ) + + async def send_connection_reuseconn(self) -> None: + return await self._trace_config.on_connection_reuseconn.send( + self._session, + self._trace_config_ctx, + TraceConnectionReuseconnParams() + ) + + async def send_dns_resolvehost_start(self, host: str) -> None: + return await self._trace_config.on_dns_resolvehost_start.send( + self._session, + self._trace_config_ctx, + TraceDnsResolveHostStartParams(host) + ) + + async def send_dns_resolvehost_end(self, host: str) -> None: + return await self._trace_config.on_dns_resolvehost_end.send( + self._session, + self._trace_config_ctx, + TraceDnsResolveHostEndParams(host) + ) + + async def send_dns_cache_hit(self, host: str) -> None: + return await self._trace_config.on_dns_cache_hit.send( + self._session, + self._trace_config_ctx, + TraceDnsCacheHitParams(host) + ) + + async def send_dns_cache_miss(self, host: str) -> None: + return await self._trace_config.on_dns_cache_miss.send( + self._session, + self._trace_config_ctx, + TraceDnsCacheMissParams(host) + ) diff --git a/venv/lib/python3.6/site-packages/aiohttp/typedefs.py b/venv/lib/python3.6/site-packages/aiohttp/typedefs.py new file mode 100644 index 0000000..d7c97a4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/typedefs.py @@ -0,0 +1,46 @@ +import json +import os # noqa +import pathlib # noqa +import sys +from typing import ( + TYPE_CHECKING, + Any, + Callable, + Iterable, + Mapping, + Tuple, + Union, +) + +from multidict import CIMultiDict, CIMultiDictProxy, MultiDict, MultiDictProxy +from yarl import URL + +DEFAULT_JSON_ENCODER = json.dumps +DEFAULT_JSON_DECODER = json.loads + +if TYPE_CHECKING: # pragma: no cover + _CIMultiDict = CIMultiDict[str] + _CIMultiDictProxy = CIMultiDictProxy[str] + _MultiDict = MultiDict[str] + _MultiDictProxy = MultiDictProxy[str] + from http.cookies import BaseCookie # noqa +else: + _CIMultiDict = CIMultiDict + _CIMultiDictProxy = CIMultiDictProxy + _MultiDict = MultiDict + _MultiDictProxy = MultiDictProxy + +Byteish = Union[bytes, bytearray, memoryview] +JSONEncoder = Callable[[Any], str] +JSONDecoder = Callable[[str], Any] +LooseHeaders = Union[Mapping[str, str], _CIMultiDict, _CIMultiDictProxy] +RawHeaders = Tuple[Tuple[bytes, bytes], ...] +StrOrURL = Union[str, URL] +LooseCookies = Union[Iterable[Tuple[str, 'BaseCookie[str]']], + Mapping[str, 'BaseCookie[str]'], 'BaseCookie[str]'] + + +if sys.version_info >= (3, 6): + PathLike = Union[str, 'os.PathLike[str]'] +else: + PathLike = Union[str, pathlib.PurePath] diff --git a/venv/lib/python3.6/site-packages/aiohttp/web.py b/venv/lib/python3.6/site-packages/aiohttp/web.py new file mode 100644 index 0000000..fa66658 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/web.py @@ -0,0 +1,484 @@ +import asyncio +import logging +import socket +import sys +from argparse import ArgumentParser +from collections.abc import Iterable +from importlib import import_module +from typing import Any, Awaitable, Callable, List, Optional, Type, Union, cast + +from .abc import AbstractAccessLogger +from .helpers import all_tasks +from .log import access_logger +from .web_app import Application, CleanupError +from .web_exceptions import ( + HTTPAccepted, + HTTPBadGateway, + HTTPBadRequest, + HTTPClientError, + HTTPConflict, + HTTPCreated, + HTTPError, + HTTPException, + HTTPExpectationFailed, + HTTPFailedDependency, + HTTPForbidden, + HTTPFound, + HTTPGatewayTimeout, + HTTPGone, + HTTPInsufficientStorage, + HTTPInternalServerError, + HTTPLengthRequired, + HTTPMethodNotAllowed, + HTTPMisdirectedRequest, + HTTPMovedPermanently, + HTTPMultipleChoices, + HTTPNetworkAuthenticationRequired, + HTTPNoContent, + HTTPNonAuthoritativeInformation, + HTTPNotAcceptable, + HTTPNotExtended, + HTTPNotFound, + HTTPNotImplemented, + HTTPNotModified, + HTTPOk, + HTTPPartialContent, + HTTPPaymentRequired, + HTTPPermanentRedirect, + HTTPPreconditionFailed, + HTTPPreconditionRequired, + HTTPProxyAuthenticationRequired, + HTTPRedirection, + HTTPRequestEntityTooLarge, + HTTPRequestHeaderFieldsTooLarge, + HTTPRequestRangeNotSatisfiable, + HTTPRequestTimeout, + HTTPRequestURITooLong, + HTTPResetContent, + HTTPSeeOther, + HTTPServerError, + HTTPServiceUnavailable, + HTTPSuccessful, + HTTPTemporaryRedirect, + HTTPTooManyRequests, + HTTPUnauthorized, + HTTPUnavailableForLegalReasons, + HTTPUnprocessableEntity, + HTTPUnsupportedMediaType, + HTTPUpgradeRequired, + HTTPUseProxy, + HTTPVariantAlsoNegotiates, + HTTPVersionNotSupported, +) +from .web_fileresponse import FileResponse +from .web_log import AccessLogger +from .web_middlewares import middleware, normalize_path_middleware +from .web_protocol import ( + PayloadAccessError, + RequestHandler, + RequestPayloadError, +) +from .web_request import BaseRequest, FileField, Request +from .web_response import ( + ContentCoding, + Response, + StreamResponse, + json_response, +) +from .web_routedef import ( + AbstractRouteDef, + RouteDef, + RouteTableDef, + StaticDef, + delete, + get, + head, + options, + patch, + post, + put, + route, + static, + view, +) +from .web_runner import ( + AppRunner, + BaseRunner, + BaseSite, + GracefulExit, + ServerRunner, + SockSite, + TCPSite, + UnixSite, +) +from .web_server import Server +from .web_urldispatcher import ( + AbstractResource, + AbstractRoute, + DynamicResource, + PlainResource, + Resource, + ResourceRoute, + StaticResource, + UrlDispatcher, + UrlMappingMatchInfo, + View, +) +from .web_ws import WebSocketReady, WebSocketResponse, WSMsgType + +__all__ = ( + # web_app + 'Application', + 'CleanupError', + # web_exceptions + 'HTTPAccepted', + 'HTTPBadGateway', + 'HTTPBadRequest', + 'HTTPClientError', + 'HTTPConflict', + 'HTTPCreated', + 'HTTPError', + 'HTTPException', + 'HTTPExpectationFailed', + 'HTTPFailedDependency', + 'HTTPForbidden', + 'HTTPFound', + 'HTTPGatewayTimeout', + 'HTTPGone', + 'HTTPInsufficientStorage', + 'HTTPInternalServerError', + 'HTTPLengthRequired', + 'HTTPMethodNotAllowed', + 'HTTPMisdirectedRequest', + 'HTTPMovedPermanently', + 'HTTPMultipleChoices', + 'HTTPNetworkAuthenticationRequired', + 'HTTPNoContent', + 'HTTPNonAuthoritativeInformation', + 'HTTPNotAcceptable', + 'HTTPNotExtended', + 'HTTPNotFound', + 'HTTPNotImplemented', + 'HTTPNotModified', + 'HTTPOk', + 'HTTPPartialContent', + 'HTTPPaymentRequired', + 'HTTPPermanentRedirect', + 'HTTPPreconditionFailed', + 'HTTPPreconditionRequired', + 'HTTPProxyAuthenticationRequired', + 'HTTPRedirection', + 'HTTPRequestEntityTooLarge', + 'HTTPRequestHeaderFieldsTooLarge', + 'HTTPRequestRangeNotSatisfiable', + 'HTTPRequestTimeout', + 'HTTPRequestURITooLong', + 'HTTPResetContent', + 'HTTPSeeOther', + 'HTTPServerError', + 'HTTPServiceUnavailable', + 'HTTPSuccessful', + 'HTTPTemporaryRedirect', + 'HTTPTooManyRequests', + 'HTTPUnauthorized', + 'HTTPUnavailableForLegalReasons', + 'HTTPUnprocessableEntity', + 'HTTPUnsupportedMediaType', + 'HTTPUpgradeRequired', + 'HTTPUseProxy', + 'HTTPVariantAlsoNegotiates', + 'HTTPVersionNotSupported', + # web_fileresponse + 'FileResponse', + # web_middlewares + 'middleware', + 'normalize_path_middleware', + # web_protocol + 'PayloadAccessError', + 'RequestHandler', + 'RequestPayloadError', + # web_request + 'BaseRequest', + 'FileField', + 'Request', + # web_response + 'ContentCoding', + 'Response', + 'StreamResponse', + 'json_response', + # web_routedef + 'AbstractRouteDef', + 'RouteDef', + 'RouteTableDef', + 'StaticDef', + 'delete', + 'get', + 'head', + 'options', + 'patch', + 'post', + 'put', + 'route', + 'static', + 'view', + # web_runner + 'AppRunner', + 'BaseRunner', + 'BaseSite', + 'GracefulExit', + 'ServerRunner', + 'SockSite', + 'TCPSite', + 'UnixSite', + # web_server + 'Server', + # web_urldispatcher + 'AbstractResource', + 'AbstractRoute', + 'DynamicResource', + 'PlainResource', + 'Resource', + 'ResourceRoute', + 'StaticResource', + 'UrlDispatcher', + 'UrlMappingMatchInfo', + 'View', + # web_ws + 'WebSocketReady', + 'WebSocketResponse', + 'WSMsgType', + # web + 'run_app', +) + + +try: + from ssl import SSLContext +except ImportError: # pragma: no cover + SSLContext = Any # type: ignore + + +async def _run_app(app: Union[Application, Awaitable[Application]], *, + host: Optional[str]=None, + port: Optional[int]=None, + path: Optional[str]=None, + sock: Optional[socket.socket]=None, + shutdown_timeout: float=60.0, + ssl_context: Optional[SSLContext]=None, + print: Callable[..., None]=print, + backlog: int=128, + access_log_class: Type[AbstractAccessLogger]=AccessLogger, + access_log_format: str=AccessLogger.LOG_FORMAT, + access_log: Optional[logging.Logger]=access_logger, + handle_signals: bool=True, + reuse_address: Optional[bool]=None, + reuse_port: Optional[bool]=None) -> None: + # A internal functio to actually do all dirty job for application running + if asyncio.iscoroutine(app): + app = await app # type: ignore + + app = cast(Application, app) + + runner = AppRunner(app, handle_signals=handle_signals, + access_log_class=access_log_class, + access_log_format=access_log_format, + access_log=access_log) + + await runner.setup() + + sites = [] # type: List[BaseSite] + + try: + if host is not None: + if isinstance(host, (str, bytes, bytearray, memoryview)): + sites.append(TCPSite(runner, host, port, + shutdown_timeout=shutdown_timeout, + ssl_context=ssl_context, + backlog=backlog, + reuse_address=reuse_address, + reuse_port=reuse_port)) + else: + for h in host: + sites.append(TCPSite(runner, h, port, + shutdown_timeout=shutdown_timeout, + ssl_context=ssl_context, + backlog=backlog, + reuse_address=reuse_address, + reuse_port=reuse_port)) + elif path is None and sock is None or port is not None: + sites.append(TCPSite(runner, port=port, + shutdown_timeout=shutdown_timeout, + ssl_context=ssl_context, backlog=backlog, + reuse_address=reuse_address, + reuse_port=reuse_port)) + + if path is not None: + if isinstance(path, (str, bytes, bytearray, memoryview)): + sites.append(UnixSite(runner, path, + shutdown_timeout=shutdown_timeout, + ssl_context=ssl_context, + backlog=backlog)) + else: + for p in path: + sites.append(UnixSite(runner, p, + shutdown_timeout=shutdown_timeout, + ssl_context=ssl_context, + backlog=backlog)) + + if sock is not None: + if not isinstance(sock, Iterable): + sites.append(SockSite(runner, sock, + shutdown_timeout=shutdown_timeout, + ssl_context=ssl_context, + backlog=backlog)) + else: + for s in sock: + sites.append(SockSite(runner, s, + shutdown_timeout=shutdown_timeout, + ssl_context=ssl_context, + backlog=backlog)) + for site in sites: + await site.start() + + if print: # pragma: no branch + names = sorted(str(s.name) for s in runner.sites) + print("======== Running on {} ========\n" + "(Press CTRL+C to quit)".format(', '.join(names))) + while True: + await asyncio.sleep(3600) # sleep forever by 1 hour intervals + finally: + await runner.cleanup() + + +def _cancel_all_tasks(loop: asyncio.AbstractEventLoop) -> None: + to_cancel = all_tasks(loop) + if not to_cancel: + return + + for task in to_cancel: + task.cancel() + + loop.run_until_complete( + asyncio.gather(*to_cancel, loop=loop, return_exceptions=True)) + + for task in to_cancel: + if task.cancelled(): + continue + if task.exception() is not None: + loop.call_exception_handler({ + 'message': 'unhandled exception during asyncio.run() shutdown', + 'exception': task.exception(), + 'task': task, + }) + + +def run_app(app: Union[Application, Awaitable[Application]], *, + host: Optional[str]=None, + port: Optional[int]=None, + path: Optional[str]=None, + sock: Optional[socket.socket]=None, + shutdown_timeout: float=60.0, + ssl_context: Optional[SSLContext]=None, + print: Callable[..., None]=print, + backlog: int=128, + access_log_class: Type[AbstractAccessLogger]=AccessLogger, + access_log_format: str=AccessLogger.LOG_FORMAT, + access_log: Optional[logging.Logger]=access_logger, + handle_signals: bool=True, + reuse_address: Optional[bool]=None, + reuse_port: Optional[bool]=None) -> None: + """Run an app locally""" + loop = asyncio.get_event_loop() + + # Configure if and only if in debugging mode and using the default logger + if loop.get_debug() and access_log and access_log.name == 'aiohttp.access': + if access_log.level == logging.NOTSET: + access_log.setLevel(logging.DEBUG) + if not access_log.hasHandlers(): + access_log.addHandler(logging.StreamHandler()) + + try: + loop.run_until_complete(_run_app(app, + host=host, + port=port, + path=path, + sock=sock, + shutdown_timeout=shutdown_timeout, + ssl_context=ssl_context, + print=print, + backlog=backlog, + access_log_class=access_log_class, + access_log_format=access_log_format, + access_log=access_log, + handle_signals=handle_signals, + reuse_address=reuse_address, + reuse_port=reuse_port)) + except (GracefulExit, KeyboardInterrupt): # pragma: no cover + pass + finally: + _cancel_all_tasks(loop) + if sys.version_info >= (3, 6): # don't use PY_36 to pass mypy + loop.run_until_complete(loop.shutdown_asyncgens()) + loop.close() + + +def main(argv: List[str]) -> None: + arg_parser = ArgumentParser( + description="aiohttp.web Application server", + prog="aiohttp.web" + ) + arg_parser.add_argument( + "entry_func", + help=("Callable returning the `aiohttp.web.Application` instance to " + "run. Should be specified in the 'module:function' syntax."), + metavar="entry-func" + ) + arg_parser.add_argument( + "-H", "--hostname", + help="TCP/IP hostname to serve on (default: %(default)r)", + default="localhost" + ) + arg_parser.add_argument( + "-P", "--port", + help="TCP/IP port to serve on (default: %(default)r)", + type=int, + default="8080" + ) + arg_parser.add_argument( + "-U", "--path", + help="Unix file system path to serve on. Specifying a path will cause " + "hostname and port arguments to be ignored.", + ) + args, extra_argv = arg_parser.parse_known_args(argv) + + # Import logic + mod_str, _, func_str = args.entry_func.partition(":") + if not func_str or not mod_str: + arg_parser.error( + "'entry-func' not in 'module:function' syntax" + ) + if mod_str.startswith("."): + arg_parser.error("relative module names not supported") + try: + module = import_module(mod_str) + except ImportError as ex: + arg_parser.error("unable to import %s: %s" % (mod_str, ex)) + try: + func = getattr(module, func_str) + except AttributeError: + arg_parser.error("module %r has no attribute %r" % (mod_str, func_str)) + + # Compatibility logic + if args.path is not None and not hasattr(socket, 'AF_UNIX'): + arg_parser.error("file system paths not supported by your operating" + " environment") + + logging.basicConfig(level=logging.DEBUG) + + app = func(extra_argv) + run_app(app, host=args.hostname, port=args.port, path=args.path) + arg_parser.exit(message="Stopped\n") + + +if __name__ == "__main__": # pragma: no branch + main(sys.argv[1:]) # pragma: no cover diff --git a/venv/lib/python3.6/site-packages/aiohttp/web_app.py b/venv/lib/python3.6/site-packages/aiohttp/web_app.py new file mode 100644 index 0000000..afe53f5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/web_app.py @@ -0,0 +1,511 @@ +import asyncio +import logging +import warnings +from functools import partial +from typing import ( # noqa + TYPE_CHECKING, + Any, + AsyncIterator, + Awaitable, + Callable, + Dict, + Iterable, + Iterator, + List, + Mapping, + MutableMapping, + Optional, + Sequence, + Tuple, + Type, + Union, + cast, +) + +from . import hdrs +from .abc import ( + AbstractAccessLogger, + AbstractMatchInfo, + AbstractRouter, + AbstractStreamWriter, +) +from .frozenlist import FrozenList +from .helpers import DEBUG +from .http_parser import RawRequestMessage +from .log import web_logger +from .signals import Signal +from .streams import StreamReader +from .web_log import AccessLogger +from .web_middlewares import _fix_request_current_app +from .web_protocol import RequestHandler +from .web_request import Request +from .web_response import StreamResponse +from .web_routedef import AbstractRouteDef +from .web_server import Server +from .web_urldispatcher import ( + AbstractResource, + Domain, + MaskDomain, + MatchedSubAppResource, + PrefixedSubAppResource, + UrlDispatcher, +) + +__all__ = ('Application', 'CleanupError') + + +if TYPE_CHECKING: # pragma: no cover + _AppSignal = Signal[Callable[['Application'], Awaitable[None]]] + _RespPrepareSignal = Signal[Callable[[Request, StreamResponse], + Awaitable[None]]] + _Handler = Callable[[Request], Awaitable[StreamResponse]] + _Middleware = Union[Callable[[Request, _Handler], + Awaitable[StreamResponse]], + Callable[['Application', _Handler], # old-style + Awaitable[_Handler]]] + _Middlewares = FrozenList[_Middleware] + _MiddlewaresHandlers = Optional[Sequence[Tuple[_Middleware, bool]]] + _Subapps = List['Application'] +else: + # No type checker mode, skip types + _AppSignal = Signal + _RespPrepareSignal = Signal + _Handler = Callable + _Middleware = Callable + _Middlewares = FrozenList + _MiddlewaresHandlers = Optional[Sequence] + _Subapps = List + + +class Application(MutableMapping[str, Any]): + ATTRS = frozenset([ + 'logger', '_debug', '_router', '_loop', '_handler_args', + '_middlewares', '_middlewares_handlers', '_run_middlewares', + '_state', '_frozen', '_pre_frozen', '_subapps', + '_on_response_prepare', '_on_startup', '_on_shutdown', + '_on_cleanup', '_client_max_size', '_cleanup_ctx']) + + def __init__(self, *, + logger: logging.Logger=web_logger, + router: Optional[UrlDispatcher]=None, + middlewares: Sequence[_Middleware]=(), + handler_args: Mapping[str, Any]=None, + client_max_size: int=1024**2, + loop: Optional[asyncio.AbstractEventLoop]=None, + debug: Any=... # mypy doesn't support ellipsis + ) -> None: + if router is None: + router = UrlDispatcher() + else: + warnings.warn("router argument is deprecated", DeprecationWarning, + stacklevel=2) + assert isinstance(router, AbstractRouter), router + + if loop is not None: + warnings.warn("loop argument is deprecated", DeprecationWarning, + stacklevel=2) + + if debug is not ...: + warnings.warn("debug argument is deprecated", + DeprecationWarning, + stacklevel=2) + self._debug = debug + self._router = router # type: UrlDispatcher + self._loop = loop + self._handler_args = handler_args + self.logger = logger + + self._middlewares = FrozenList(middlewares) # type: _Middlewares + + # initialized on freezing + self._middlewares_handlers = None # type: _MiddlewaresHandlers + # initialized on freezing + self._run_middlewares = None # type: Optional[bool] + + self._state = {} # type: Dict[str, Any] + self._frozen = False + self._pre_frozen = False + self._subapps = [] # type: _Subapps + + self._on_response_prepare = Signal(self) # type: _RespPrepareSignal + self._on_startup = Signal(self) # type: _AppSignal + self._on_shutdown = Signal(self) # type: _AppSignal + self._on_cleanup = Signal(self) # type: _AppSignal + self._cleanup_ctx = CleanupContext() + self._on_startup.append(self._cleanup_ctx._on_startup) + self._on_cleanup.append(self._cleanup_ctx._on_cleanup) + self._client_max_size = client_max_size + + def __init_subclass__(cls: Type['Application']) -> None: + warnings.warn("Inheritance class {} from web.Application " + "is discouraged".format(cls.__name__), + DeprecationWarning, + stacklevel=2) + + if DEBUG: # pragma: no cover + def __setattr__(self, name: str, val: Any) -> None: + if name not in self.ATTRS: + warnings.warn("Setting custom web.Application.{} attribute " + "is discouraged".format(name), + DeprecationWarning, + stacklevel=2) + super().__setattr__(name, val) + + # MutableMapping API + + def __eq__(self, other: object) -> bool: + return self is other + + def __getitem__(self, key: str) -> Any: + return self._state[key] + + def _check_frozen(self) -> None: + if self._frozen: + warnings.warn("Changing state of started or joined " + "application is deprecated", + DeprecationWarning, + stacklevel=3) + + def __setitem__(self, key: str, value: Any) -> None: + self._check_frozen() + self._state[key] = value + + def __delitem__(self, key: str) -> None: + self._check_frozen() + del self._state[key] + + def __len__(self) -> int: + return len(self._state) + + def __iter__(self) -> Iterator[str]: + return iter(self._state) + + ######## + @property + def loop(self) -> asyncio.AbstractEventLoop: + # Technically the loop can be None + # but we mask it by explicit type cast + # to provide more convinient type annotation + warnings.warn("loop property is deprecated", + DeprecationWarning, + stacklevel=2) + return cast(asyncio.AbstractEventLoop, self._loop) + + def _set_loop(self, loop: Optional[asyncio.AbstractEventLoop]) -> None: + if loop is None: + loop = asyncio.get_event_loop() + if self._loop is not None and self._loop is not loop: + raise RuntimeError( + "web.Application instance initialized with different loop") + + self._loop = loop + + # set loop debug + if self._debug is ...: + self._debug = loop.get_debug() + + # set loop to sub applications + for subapp in self._subapps: + subapp._set_loop(loop) + + @property + def pre_frozen(self) -> bool: + return self._pre_frozen + + def pre_freeze(self) -> None: + if self._pre_frozen: + return + + self._pre_frozen = True + self._middlewares.freeze() + self._router.freeze() + self._on_response_prepare.freeze() + self._cleanup_ctx.freeze() + self._on_startup.freeze() + self._on_shutdown.freeze() + self._on_cleanup.freeze() + self._middlewares_handlers = tuple(self._prepare_middleware()) + + # If current app and any subapp do not have middlewares avoid run all + # of the code footprint that it implies, which have a middleware + # hardcoded per app that sets up the current_app attribute. If no + # middlewares are configured the handler will receive the proper + # current_app without needing all of this code. + self._run_middlewares = True if self.middlewares else False + + for subapp in self._subapps: + subapp.pre_freeze() + self._run_middlewares = (self._run_middlewares or + subapp._run_middlewares) + + @property + def frozen(self) -> bool: + return self._frozen + + def freeze(self) -> None: + if self._frozen: + return + + self.pre_freeze() + self._frozen = True + for subapp in self._subapps: + subapp.freeze() + + @property + def debug(self) -> bool: + warnings.warn("debug property is deprecated", + DeprecationWarning, + stacklevel=2) + return self._debug + + def _reg_subapp_signals(self, subapp: 'Application') -> None: + + def reg_handler(signame: str) -> None: + subsig = getattr(subapp, signame) + + async def handler(app: 'Application') -> None: + await subsig.send(subapp) + appsig = getattr(self, signame) + appsig.append(handler) + + reg_handler('on_startup') + reg_handler('on_shutdown') + reg_handler('on_cleanup') + + def add_subapp(self, prefix: str, + subapp: 'Application') -> AbstractResource: + if not isinstance(prefix, str): + raise TypeError("Prefix must be str") + prefix = prefix.rstrip('/') + if not prefix: + raise ValueError("Prefix cannot be empty") + factory = partial(PrefixedSubAppResource, prefix, subapp) + return self._add_subapp(factory, subapp) + + def _add_subapp(self, + resource_factory: Callable[[], AbstractResource], + subapp: 'Application') -> AbstractResource: + if self.frozen: + raise RuntimeError( + "Cannot add sub application to frozen application") + if subapp.frozen: + raise RuntimeError("Cannot add frozen application") + resource = resource_factory() + self.router.register_resource(resource) + self._reg_subapp_signals(subapp) + self._subapps.append(subapp) + subapp.pre_freeze() + if self._loop is not None: + subapp._set_loop(self._loop) + return resource + + def add_domain(self, domain: str, + subapp: 'Application') -> AbstractResource: + if not isinstance(domain, str): + raise TypeError("Domain must be str") + elif '*' in domain: + rule = MaskDomain(domain) # type: Domain + else: + rule = Domain(domain) + factory = partial(MatchedSubAppResource, rule, subapp) + return self._add_subapp(factory, subapp) + + def add_routes(self, routes: Iterable[AbstractRouteDef]) -> None: + self.router.add_routes(routes) + + @property + def on_response_prepare(self) -> _RespPrepareSignal: + return self._on_response_prepare + + @property + def on_startup(self) -> _AppSignal: + return self._on_startup + + @property + def on_shutdown(self) -> _AppSignal: + return self._on_shutdown + + @property + def on_cleanup(self) -> _AppSignal: + return self._on_cleanup + + @property + def cleanup_ctx(self) -> 'CleanupContext': + return self._cleanup_ctx + + @property + def router(self) -> UrlDispatcher: + return self._router + + @property + def middlewares(self) -> _Middlewares: + return self._middlewares + + def _make_handler(self, *, + loop: Optional[asyncio.AbstractEventLoop]=None, + access_log_class: Type[ + AbstractAccessLogger]=AccessLogger, + **kwargs: Any) -> Server: + + if not issubclass(access_log_class, AbstractAccessLogger): + raise TypeError( + 'access_log_class must be subclass of ' + 'aiohttp.abc.AbstractAccessLogger, got {}'.format( + access_log_class)) + + self._set_loop(loop) + self.freeze() + + kwargs['debug'] = self._debug + kwargs['access_log_class'] = access_log_class + if self._handler_args: + for k, v in self._handler_args.items(): + kwargs[k] = v + + return Server(self._handle, # type: ignore + request_factory=self._make_request, + loop=self._loop, **kwargs) + + def make_handler(self, *, + loop: Optional[asyncio.AbstractEventLoop]=None, + access_log_class: Type[ + AbstractAccessLogger]=AccessLogger, + **kwargs: Any) -> Server: + + warnings.warn("Application.make_handler(...) is deprecated, " + "use AppRunner API instead", + DeprecationWarning, + stacklevel=2) + + return self._make_handler(loop=loop, + access_log_class=access_log_class, + **kwargs) + + async def startup(self) -> None: + """Causes on_startup signal + + Should be called in the event loop along with the request handler. + """ + await self.on_startup.send(self) + + async def shutdown(self) -> None: + """Causes on_shutdown signal + + Should be called before cleanup() + """ + await self.on_shutdown.send(self) + + async def cleanup(self) -> None: + """Causes on_cleanup signal + + Should be called after shutdown() + """ + await self.on_cleanup.send(self) + + def _make_request(self, message: RawRequestMessage, + payload: StreamReader, + protocol: RequestHandler, + writer: AbstractStreamWriter, + task: 'asyncio.Task[None]', + _cls: Type[Request]=Request) -> Request: + return _cls( + message, payload, protocol, writer, task, + self._loop, + client_max_size=self._client_max_size) + + def _prepare_middleware(self) -> Iterator[Tuple[_Middleware, bool]]: + for m in reversed(self._middlewares): + if getattr(m, '__middleware_version__', None) == 1: + yield m, True + else: + warnings.warn('old-style middleware "{!r}" deprecated, ' + 'see #2252'.format(m), + DeprecationWarning, stacklevel=2) + yield m, False + + yield _fix_request_current_app(self), True + + async def _handle(self, request: Request) -> StreamResponse: + loop = asyncio.get_event_loop() + debug = loop.get_debug() + match_info = await self._router.resolve(request) + if debug: # pragma: no cover + if not isinstance(match_info, AbstractMatchInfo): + raise TypeError("match_info should be AbstractMatchInfo " + "instance, not {!r}".format(match_info)) + match_info.add_app(self) + + match_info.freeze() + + resp = None + request._match_info = match_info # type: ignore + expect = request.headers.get(hdrs.EXPECT) + if expect: + resp = await match_info.expect_handler(request) + await request.writer.drain() + + if resp is None: + handler = match_info.handler + + if self._run_middlewares: + for app in match_info.apps[::-1]: + for m, new_style in app._middlewares_handlers: # type: ignore # noqa + if new_style: + handler = partial(m, handler=handler) + else: + handler = await m(app, handler) # type: ignore + + resp = await handler(request) + + return resp + + def __call__(self) -> 'Application': + """gunicorn compatibility""" + return self + + def __repr__(self) -> str: + return "<Application 0x{:x}>".format(id(self)) + + +class CleanupError(RuntimeError): + @property + def exceptions(self) -> List[BaseException]: + return self.args[1] + + +if TYPE_CHECKING: # pragma: no cover + _CleanupContextBase = FrozenList[Callable[[Application], + AsyncIterator[None]]] +else: + _CleanupContextBase = FrozenList + + +class CleanupContext(_CleanupContextBase): + + def __init__(self) -> None: + super().__init__() + self._exits = [] # type: List[AsyncIterator[None]] + + async def _on_startup(self, app: Application) -> None: + for cb in self: + it = cb(app).__aiter__() + await it.__anext__() + self._exits.append(it) + + async def _on_cleanup(self, app: Application) -> None: + errors = [] + for it in reversed(self._exits): + try: + await it.__anext__() + except StopAsyncIteration: + pass + except Exception as exc: + errors.append(exc) + else: + errors.append(RuntimeError("{!r} has more than one 'yield'" + .format(it))) + if errors: + if len(errors) == 1: + raise errors[0] + else: + raise CleanupError("Multiple errors on cleanup stage", errors) diff --git a/venv/lib/python3.6/site-packages/aiohttp/web_exceptions.py b/venv/lib/python3.6/site-packages/aiohttp/web_exceptions.py new file mode 100644 index 0000000..9768c4f --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/web_exceptions.py @@ -0,0 +1,411 @@ +import warnings +from typing import Any, Dict, Iterable, List, Optional, Set # noqa + +from .typedefs import LooseHeaders, StrOrURL +from .web_response import Response + +__all__ = ( + 'HTTPException', + 'HTTPError', + 'HTTPRedirection', + 'HTTPSuccessful', + 'HTTPOk', + 'HTTPCreated', + 'HTTPAccepted', + 'HTTPNonAuthoritativeInformation', + 'HTTPNoContent', + 'HTTPResetContent', + 'HTTPPartialContent', + 'HTTPMultipleChoices', + 'HTTPMovedPermanently', + 'HTTPFound', + 'HTTPSeeOther', + 'HTTPNotModified', + 'HTTPUseProxy', + 'HTTPTemporaryRedirect', + 'HTTPPermanentRedirect', + 'HTTPClientError', + 'HTTPBadRequest', + 'HTTPUnauthorized', + 'HTTPPaymentRequired', + 'HTTPForbidden', + 'HTTPNotFound', + 'HTTPMethodNotAllowed', + 'HTTPNotAcceptable', + 'HTTPProxyAuthenticationRequired', + 'HTTPRequestTimeout', + 'HTTPConflict', + 'HTTPGone', + 'HTTPLengthRequired', + 'HTTPPreconditionFailed', + 'HTTPRequestEntityTooLarge', + 'HTTPRequestURITooLong', + 'HTTPUnsupportedMediaType', + 'HTTPRequestRangeNotSatisfiable', + 'HTTPExpectationFailed', + 'HTTPMisdirectedRequest', + 'HTTPUnprocessableEntity', + 'HTTPFailedDependency', + 'HTTPUpgradeRequired', + 'HTTPPreconditionRequired', + 'HTTPTooManyRequests', + 'HTTPRequestHeaderFieldsTooLarge', + 'HTTPUnavailableForLegalReasons', + 'HTTPServerError', + 'HTTPInternalServerError', + 'HTTPNotImplemented', + 'HTTPBadGateway', + 'HTTPServiceUnavailable', + 'HTTPGatewayTimeout', + 'HTTPVersionNotSupported', + 'HTTPVariantAlsoNegotiates', + 'HTTPInsufficientStorage', + 'HTTPNotExtended', + 'HTTPNetworkAuthenticationRequired', +) + + +############################################################ +# HTTP Exceptions +############################################################ + +class HTTPException(Response, Exception): + + # You should set in subclasses: + # status = 200 + + status_code = -1 + empty_body = False + + __http_exception__ = True + + def __init__(self, *, + headers: Optional[LooseHeaders]=None, + reason: Optional[str]=None, + body: Any=None, + text: Optional[str]=None, + content_type: Optional[str]=None) -> None: + if body is not None: + warnings.warn( + "body argument is deprecated for http web exceptions", + DeprecationWarning) + Response.__init__(self, status=self.status_code, + headers=headers, reason=reason, + body=body, text=text, content_type=content_type) + Exception.__init__(self, self.reason) + if self.body is None and not self.empty_body: + self.text = "{}: {}".format(self.status, self.reason) + + def __bool__(self) -> bool: + return True + + +class HTTPError(HTTPException): + """Base class for exceptions with status codes in the 400s and 500s.""" + + +class HTTPRedirection(HTTPException): + """Base class for exceptions with status codes in the 300s.""" + + +class HTTPSuccessful(HTTPException): + """Base class for exceptions with status codes in the 200s.""" + + +class HTTPOk(HTTPSuccessful): + status_code = 200 + + +class HTTPCreated(HTTPSuccessful): + status_code = 201 + + +class HTTPAccepted(HTTPSuccessful): + status_code = 202 + + +class HTTPNonAuthoritativeInformation(HTTPSuccessful): + status_code = 203 + + +class HTTPNoContent(HTTPSuccessful): + status_code = 204 + empty_body = True + + +class HTTPResetContent(HTTPSuccessful): + status_code = 205 + empty_body = True + + +class HTTPPartialContent(HTTPSuccessful): + status_code = 206 + + +############################################################ +# 3xx redirection +############################################################ + + +class _HTTPMove(HTTPRedirection): + + def __init__(self, + location: StrOrURL, + *, + headers: Optional[LooseHeaders]=None, + reason: Optional[str]=None, + body: Any=None, + text: Optional[str]=None, + content_type: Optional[str]=None) -> None: + if not location: + raise ValueError("HTTP redirects need a location to redirect to.") + super().__init__(headers=headers, reason=reason, + body=body, text=text, content_type=content_type) + self.headers['Location'] = str(location) + self.location = location + + +class HTTPMultipleChoices(_HTTPMove): + status_code = 300 + + +class HTTPMovedPermanently(_HTTPMove): + status_code = 301 + + +class HTTPFound(_HTTPMove): + status_code = 302 + + +# This one is safe after a POST (the redirected location will be +# retrieved with GET): +class HTTPSeeOther(_HTTPMove): + status_code = 303 + + +class HTTPNotModified(HTTPRedirection): + # FIXME: this should include a date or etag header + status_code = 304 + empty_body = True + + +class HTTPUseProxy(_HTTPMove): + # Not a move, but looks a little like one + status_code = 305 + + +class HTTPTemporaryRedirect(_HTTPMove): + status_code = 307 + + +class HTTPPermanentRedirect(_HTTPMove): + status_code = 308 + + +############################################################ +# 4xx client error +############################################################ + + +class HTTPClientError(HTTPError): + pass + + +class HTTPBadRequest(HTTPClientError): + status_code = 400 + + +class HTTPUnauthorized(HTTPClientError): + status_code = 401 + + +class HTTPPaymentRequired(HTTPClientError): + status_code = 402 + + +class HTTPForbidden(HTTPClientError): + status_code = 403 + + +class HTTPNotFound(HTTPClientError): + status_code = 404 + + +class HTTPMethodNotAllowed(HTTPClientError): + status_code = 405 + + def __init__(self, + method: str, + allowed_methods: Iterable[str], + *, + headers: Optional[LooseHeaders]=None, + reason: Optional[str]=None, + body: Any=None, + text: Optional[str]=None, + content_type: Optional[str]=None) -> None: + allow = ','.join(sorted(allowed_methods)) + super().__init__(headers=headers, reason=reason, + body=body, text=text, content_type=content_type) + self.headers['Allow'] = allow + self.allowed_methods = set(allowed_methods) # type: Set[str] + self.method = method.upper() + + +class HTTPNotAcceptable(HTTPClientError): + status_code = 406 + + +class HTTPProxyAuthenticationRequired(HTTPClientError): + status_code = 407 + + +class HTTPRequestTimeout(HTTPClientError): + status_code = 408 + + +class HTTPConflict(HTTPClientError): + status_code = 409 + + +class HTTPGone(HTTPClientError): + status_code = 410 + + +class HTTPLengthRequired(HTTPClientError): + status_code = 411 + + +class HTTPPreconditionFailed(HTTPClientError): + status_code = 412 + + +class HTTPRequestEntityTooLarge(HTTPClientError): + status_code = 413 + + def __init__(self, + max_size: float, + actual_size: float, + **kwargs: Any) -> None: + kwargs.setdefault( + 'text', + 'Maximum request body size {} exceeded, ' + 'actual body size {}'.format(max_size, actual_size) + ) + super().__init__(**kwargs) + + +class HTTPRequestURITooLong(HTTPClientError): + status_code = 414 + + +class HTTPUnsupportedMediaType(HTTPClientError): + status_code = 415 + + +class HTTPRequestRangeNotSatisfiable(HTTPClientError): + status_code = 416 + + +class HTTPExpectationFailed(HTTPClientError): + status_code = 417 + + +class HTTPMisdirectedRequest(HTTPClientError): + status_code = 421 + + +class HTTPUnprocessableEntity(HTTPClientError): + status_code = 422 + + +class HTTPFailedDependency(HTTPClientError): + status_code = 424 + + +class HTTPUpgradeRequired(HTTPClientError): + status_code = 426 + + +class HTTPPreconditionRequired(HTTPClientError): + status_code = 428 + + +class HTTPTooManyRequests(HTTPClientError): + status_code = 429 + + +class HTTPRequestHeaderFieldsTooLarge(HTTPClientError): + status_code = 431 + + +class HTTPUnavailableForLegalReasons(HTTPClientError): + status_code = 451 + + def __init__(self, + link: str, + *, + headers: Optional[LooseHeaders]=None, + reason: Optional[str]=None, + body: Any=None, + text: Optional[str]=None, + content_type: Optional[str]=None) -> None: + super().__init__(headers=headers, reason=reason, + body=body, text=text, content_type=content_type) + self.headers['Link'] = '<%s>; rel="blocked-by"' % link + self.link = link + + +############################################################ +# 5xx Server Error +############################################################ +# Response status codes beginning with the digit "5" indicate cases in +# which the server is aware that it has erred or is incapable of +# performing the request. Except when responding to a HEAD request, the +# server SHOULD include an entity containing an explanation of the error +# situation, and whether it is a temporary or permanent condition. User +# agents SHOULD display any included entity to the user. These response +# codes are applicable to any request method. + + +class HTTPServerError(HTTPError): + pass + + +class HTTPInternalServerError(HTTPServerError): + status_code = 500 + + +class HTTPNotImplemented(HTTPServerError): + status_code = 501 + + +class HTTPBadGateway(HTTPServerError): + status_code = 502 + + +class HTTPServiceUnavailable(HTTPServerError): + status_code = 503 + + +class HTTPGatewayTimeout(HTTPServerError): + status_code = 504 + + +class HTTPVersionNotSupported(HTTPServerError): + status_code = 505 + + +class HTTPVariantAlsoNegotiates(HTTPServerError): + status_code = 506 + + +class HTTPInsufficientStorage(HTTPServerError): + status_code = 507 + + +class HTTPNotExtended(HTTPServerError): + status_code = 510 + + +class HTTPNetworkAuthenticationRequired(HTTPServerError): + status_code = 511 diff --git a/venv/lib/python3.6/site-packages/aiohttp/web_fileresponse.py b/venv/lib/python3.6/site-packages/aiohttp/web_fileresponse.py new file mode 100644 index 0000000..97c4205 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/web_fileresponse.py @@ -0,0 +1,344 @@ +import asyncio +import mimetypes +import os +import pathlib +from functools import partial +from typing import ( # noqa + IO, + TYPE_CHECKING, + Any, + Awaitable, + Callable, + List, + Optional, + Union, + cast, +) + +from . import hdrs +from .abc import AbstractStreamWriter +from .base_protocol import BaseProtocol +from .helpers import set_exception, set_result +from .http_writer import StreamWriter +from .log import server_logger +from .typedefs import LooseHeaders +from .web_exceptions import ( + HTTPNotModified, + HTTPOk, + HTTPPartialContent, + HTTPPreconditionFailed, + HTTPRequestRangeNotSatisfiable, +) +from .web_response import StreamResponse + +__all__ = ('FileResponse',) + +if TYPE_CHECKING: # pragma: no cover + from .web_request import BaseRequest # noqa + + +_T_OnChunkSent = Optional[Callable[[bytes], Awaitable[None]]] + + +NOSENDFILE = bool(os.environ.get("AIOHTTP_NOSENDFILE")) + + +class SendfileStreamWriter(StreamWriter): + + def __init__(self, + protocol: BaseProtocol, + loop: asyncio.AbstractEventLoop, + fobj: IO[Any], + count: int, + on_chunk_sent: _T_OnChunkSent=None) -> None: + super().__init__(protocol, loop, on_chunk_sent) + self._sendfile_buffer = [] # type: List[bytes] + self._fobj = fobj + self._count = count + self._offset = fobj.tell() + self._in_fd = fobj.fileno() + + def _write(self, chunk: bytes) -> None: + # we overwrite StreamWriter._write, so nothing can be appended to + # _buffer, and nothing is written to the transport directly by the + # parent class + self.output_size += len(chunk) + self._sendfile_buffer.append(chunk) + + def _sendfile_cb(self, fut: 'asyncio.Future[None]', out_fd: int) -> None: + if fut.cancelled(): + return + try: + if self._do_sendfile(out_fd): + set_result(fut, None) + except Exception as exc: + set_exception(fut, exc) + + def _do_sendfile(self, out_fd: int) -> bool: + try: + n = os.sendfile(out_fd, + self._in_fd, + self._offset, + self._count) + if n == 0: # in_fd EOF reached + n = self._count + except (BlockingIOError, InterruptedError): + n = 0 + self.output_size += n + self._offset += n + self._count -= n + assert self._count >= 0 + return self._count == 0 + + def _done_fut(self, out_fd: int, fut: 'asyncio.Future[None]') -> None: + self.loop.remove_writer(out_fd) + + async def sendfile(self) -> None: + assert self.transport is not None + out_socket = self.transport.get_extra_info('socket').dup() + out_socket.setblocking(False) + out_fd = out_socket.fileno() + + loop = self.loop + data = b''.join(self._sendfile_buffer) + try: + await loop.sock_sendall(out_socket, data) + if not self._do_sendfile(out_fd): + fut = loop.create_future() + fut.add_done_callback(partial(self._done_fut, out_fd)) + loop.add_writer(out_fd, self._sendfile_cb, fut, out_fd) + await fut + except asyncio.CancelledError: + raise + except Exception: + server_logger.debug('Socket error') + self.transport.close() + finally: + out_socket.close() + + await super().write_eof() + + async def write_eof(self, chunk: bytes=b'') -> None: + pass + + +class FileResponse(StreamResponse): + """A response object can be used to send files.""" + + def __init__(self, path: Union[str, pathlib.Path], + chunk_size: int=256*1024, + status: int=200, + reason: Optional[str]=None, + headers: Optional[LooseHeaders]=None) -> None: + super().__init__(status=status, reason=reason, headers=headers) + + if isinstance(path, str): + path = pathlib.Path(path) + + self._path = path + self._chunk_size = chunk_size + + async def _sendfile_system(self, request: 'BaseRequest', + fobj: IO[Any], + count: int) -> AbstractStreamWriter: + # Write count bytes of fobj to resp using + # the os.sendfile system call. + # + # For details check + # https://github.com/KeepSafe/aiohttp/issues/1177 + # See https://github.com/KeepSafe/aiohttp/issues/958 for details + # + # request should be an aiohttp.web.Request instance. + # fobj should be an open file object. + # count should be an integer > 0. + + transport = request.transport + assert transport is not None + if (transport.get_extra_info("sslcontext") or + transport.get_extra_info("socket") is None or + self.compression): + writer = await self._sendfile_fallback(request, fobj, count) + else: + writer = SendfileStreamWriter( + request.protocol, + request._loop, + fobj, + count + ) + request._payload_writer = writer + + await super().prepare(request) + await writer.sendfile() + + return writer + + async def _sendfile_fallback(self, request: 'BaseRequest', + fobj: IO[Any], + count: int) -> AbstractStreamWriter: + # Mimic the _sendfile_system() method, but without using the + # os.sendfile() system call. This should be used on systems + # that don't support the os.sendfile(). + + # To keep memory usage low,fobj is transferred in chunks + # controlled by the constructor's chunk_size argument. + + writer = await super().prepare(request) + assert writer is not None + + chunk_size = self._chunk_size + loop = asyncio.get_event_loop() + + chunk = await loop.run_in_executor(None, fobj.read, chunk_size) + while chunk: + await writer.write(chunk) + count = count - chunk_size + if count <= 0: + break + chunk = await loop.run_in_executor( + None, fobj.read, min(chunk_size, count) + ) + + await writer.drain() + return writer + + if hasattr(os, "sendfile") and not NOSENDFILE: # pragma: no cover + _sendfile = _sendfile_system + else: # pragma: no cover + _sendfile = _sendfile_fallback + + async def prepare( + self, + request: 'BaseRequest' + ) -> Optional[AbstractStreamWriter]: + filepath = self._path + + gzip = False + if 'gzip' in request.headers.get(hdrs.ACCEPT_ENCODING, ''): + gzip_path = filepath.with_name(filepath.name + '.gz') + + if gzip_path.is_file(): + filepath = gzip_path + gzip = True + + loop = asyncio.get_event_loop() + st = await loop.run_in_executor(None, filepath.stat) + + modsince = request.if_modified_since + if modsince is not None and st.st_mtime <= modsince.timestamp(): + self.set_status(HTTPNotModified.status_code) + self._length_check = False + # Delete any Content-Length headers provided by user. HTTP 304 + # should always have empty response body + return await super().prepare(request) + + unmodsince = request.if_unmodified_since + if unmodsince is not None and st.st_mtime > unmodsince.timestamp(): + self.set_status(HTTPPreconditionFailed.status_code) + return await super().prepare(request) + + if hdrs.CONTENT_TYPE not in self.headers: + ct, encoding = mimetypes.guess_type(str(filepath)) + if not ct: + ct = 'application/octet-stream' + should_set_ct = True + else: + encoding = 'gzip' if gzip else None + should_set_ct = False + + status = HTTPOk.status_code + file_size = st.st_size + count = file_size + + start = None + + ifrange = request.if_range + if ifrange is None or st.st_mtime <= ifrange.timestamp(): + # If-Range header check: + # condition = cached date >= last modification date + # return 206 if True else 200. + # if False: + # Range header would not be processed, return 200 + # if True but Range header missing + # return 200 + try: + rng = request.http_range + start = rng.start + end = rng.stop + except ValueError: + # https://tools.ietf.org/html/rfc7233: + # A server generating a 416 (Range Not Satisfiable) response to + # a byte-range request SHOULD send a Content-Range header field + # with an unsatisfied-range value. + # The complete-length in a 416 response indicates the current + # length of the selected representation. + # + # Will do the same below. Many servers ignore this and do not + # send a Content-Range header with HTTP 416 + self.headers[hdrs.CONTENT_RANGE] = 'bytes */{0}'.format( + file_size) + self.set_status(HTTPRequestRangeNotSatisfiable.status_code) + return await super().prepare(request) + + # If a range request has been made, convert start, end slice + # notation into file pointer offset and count + if start is not None or end is not None: + if start < 0 and end is None: # return tail of file + start += file_size + if start < 0: + # if Range:bytes=-1000 in request header but file size + # is only 200, there would be trouble without this + start = 0 + count = file_size - start + else: + # rfc7233:If the last-byte-pos value is + # absent, or if the value is greater than or equal to + # the current length of the representation data, + # the byte range is interpreted as the remainder + # of the representation (i.e., the server replaces the + # value of last-byte-pos with a value that is one less than + # the current length of the selected representation). + count = min(end if end is not None else file_size, + file_size) - start + + if start >= file_size: + # HTTP 416 should be returned in this case. + # + # According to https://tools.ietf.org/html/rfc7233: + # If a valid byte-range-set includes at least one + # byte-range-spec with a first-byte-pos that is less than + # the current length of the representation, or at least one + # suffix-byte-range-spec with a non-zero suffix-length, + # then the byte-range-set is satisfiable. Otherwise, the + # byte-range-set is unsatisfiable. + self.headers[hdrs.CONTENT_RANGE] = 'bytes */{0}'.format( + file_size) + self.set_status(HTTPRequestRangeNotSatisfiable.status_code) + return await super().prepare(request) + + status = HTTPPartialContent.status_code + # Even though you are sending the whole file, you should still + # return a HTTP 206 for a Range request. + + self.set_status(status) + if should_set_ct: + self.content_type = ct # type: ignore + if encoding: + self.headers[hdrs.CONTENT_ENCODING] = encoding + if gzip: + self.headers[hdrs.VARY] = hdrs.ACCEPT_ENCODING + self.last_modified = st.st_mtime # type: ignore + self.content_length = count + + self.headers[hdrs.ACCEPT_RANGES] = 'bytes' + + real_start = cast(int, start) + + if status == HTTPPartialContent.status_code: + self.headers[hdrs.CONTENT_RANGE] = 'bytes {0}-{1}/{2}'.format( + real_start, real_start + count - 1, file_size) + + with (await loop.run_in_executor(None, filepath.open, 'rb')) as fobj: + if start: # be aware that start could be None or int=0 here. + await loop.run_in_executor(None, fobj.seek, start) + + return await self._sendfile(request, fobj, count) diff --git a/venv/lib/python3.6/site-packages/aiohttp/web_log.py b/venv/lib/python3.6/site-packages/aiohttp/web_log.py new file mode 100644 index 0000000..a1a4576 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/web_log.py @@ -0,0 +1,235 @@ +import datetime +import functools +import logging +import os +import re +from collections import namedtuple +from typing import Callable, Dict, Iterable, List, Tuple # noqa + +from .abc import AbstractAccessLogger +from .web_request import BaseRequest +from .web_response import StreamResponse + +KeyMethod = namedtuple('KeyMethod', 'key method') + + +class AccessLogger(AbstractAccessLogger): + """Helper object to log access. + + Usage: + log = logging.getLogger("spam") + log_format = "%a %{User-Agent}i" + access_logger = AccessLogger(log, log_format) + access_logger.log(request, response, time) + + Format: + %% The percent sign + %a Remote IP-address (IP-address of proxy if using reverse proxy) + %t Time when the request was started to process + %P The process ID of the child that serviced the request + %r First line of request + %s Response status code + %b Size of response in bytes, including HTTP headers + %T Time taken to serve the request, in seconds + %Tf Time taken to serve the request, in seconds with floating fraction + in .06f format + %D Time taken to serve the request, in microseconds + %{FOO}i request.headers['FOO'] + %{FOO}o response.headers['FOO'] + %{FOO}e os.environ['FOO'] + + """ + LOG_FORMAT_MAP = { + 'a': 'remote_address', + 't': 'request_start_time', + 'P': 'process_id', + 'r': 'first_request_line', + 's': 'response_status', + 'b': 'response_size', + 'T': 'request_time', + 'Tf': 'request_time_frac', + 'D': 'request_time_micro', + 'i': 'request_header', + 'o': 'response_header', + } + + LOG_FORMAT = '%a %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"' + FORMAT_RE = re.compile(r'%(\{([A-Za-z0-9\-_]+)\}([ioe])|[atPrsbOD]|Tf?)') + CLEANUP_RE = re.compile(r'(%[^s])') + _FORMAT_CACHE = {} # type: Dict[str, Tuple[str, List[KeyMethod]]] + + def __init__(self, logger: logging.Logger, + log_format: str=LOG_FORMAT) -> None: + """Initialise the logger. + + logger is a logger object to be used for logging. + log_format is a string with apache compatible log format description. + + """ + super().__init__(logger, log_format=log_format) + + _compiled_format = AccessLogger._FORMAT_CACHE.get(log_format) + if not _compiled_format: + _compiled_format = self.compile_format(log_format) + AccessLogger._FORMAT_CACHE[log_format] = _compiled_format + + self._log_format, self._methods = _compiled_format + + def compile_format(self, log_format: str) -> Tuple[str, List[KeyMethod]]: + """Translate log_format into form usable by modulo formatting + + All known atoms will be replaced with %s + Also methods for formatting of those atoms will be added to + _methods in appropriate order + + For example we have log_format = "%a %t" + This format will be translated to "%s %s" + Also contents of _methods will be + [self._format_a, self._format_t] + These method will be called and results will be passed + to translated string format. + + Each _format_* method receive 'args' which is list of arguments + given to self.log + + Exceptions are _format_e, _format_i and _format_o methods which + also receive key name (by functools.partial) + + """ + # list of (key, method) tuples, we don't use an OrderedDict as users + # can repeat the same key more than once + methods = list() + + for atom in self.FORMAT_RE.findall(log_format): + if atom[1] == '': + format_key1 = self.LOG_FORMAT_MAP[atom[0]] + m = getattr(AccessLogger, '_format_%s' % atom[0]) + key_method = KeyMethod(format_key1, m) + else: + format_key2 = (self.LOG_FORMAT_MAP[atom[2]], atom[1]) + m = getattr(AccessLogger, '_format_%s' % atom[2]) + key_method = KeyMethod(format_key2, + functools.partial(m, atom[1])) + + methods.append(key_method) + + log_format = self.FORMAT_RE.sub(r'%s', log_format) + log_format = self.CLEANUP_RE.sub(r'%\1', log_format) + return log_format, methods + + @staticmethod + def _format_i(key: str, + request: BaseRequest, + response: StreamResponse, + time: float) -> str: + if request is None: + return '(no headers)' + + # suboptimal, make istr(key) once + return request.headers.get(key, '-') + + @staticmethod + def _format_o(key: str, + request: BaseRequest, + response: StreamResponse, + time: float) -> str: + # suboptimal, make istr(key) once + return response.headers.get(key, '-') + + @staticmethod + def _format_a(request: BaseRequest, + response: StreamResponse, + time: float) -> str: + if request is None: + return '-' + ip = request.remote + return ip if ip is not None else '-' + + @staticmethod + def _format_t(request: BaseRequest, + response: StreamResponse, + time: float) -> str: + now = datetime.datetime.utcnow() + start_time = now - datetime.timedelta(seconds=time) + return start_time.strftime('[%d/%b/%Y:%H:%M:%S +0000]') + + @staticmethod + def _format_P(request: BaseRequest, + response: StreamResponse, + time: float) -> str: + return "<%s>" % os.getpid() + + @staticmethod + def _format_r(request: BaseRequest, + response: StreamResponse, + time: float) -> str: + if request is None: + return '-' + return '%s %s HTTP/%s.%s' % (request.method, request.path_qs, + request.version.major, + request.version.minor) + + @staticmethod + def _format_s(request: BaseRequest, + response: StreamResponse, + time: float) -> int: + return response.status + + @staticmethod + def _format_b(request: BaseRequest, + response: StreamResponse, + time: float) -> int: + return response.body_length + + @staticmethod + def _format_T(request: BaseRequest, + response: StreamResponse, + time: float) -> str: + return str(round(time)) + + @staticmethod + def _format_Tf(request: BaseRequest, + response: StreamResponse, + time: float) -> str: + return '%06f' % time + + @staticmethod + def _format_D(request: BaseRequest, + response: StreamResponse, + time: float) -> str: + return str(round(time * 1000000)) + + def _format_line(self, + request: BaseRequest, + response: StreamResponse, + time: float) -> Iterable[Tuple[str, + Callable[[BaseRequest, + StreamResponse, + float], + str]]]: + return [(key, method(request, response, time)) + for key, method in self._methods] + + def log(self, + request: BaseRequest, + response: StreamResponse, + time: float) -> None: + try: + fmt_info = self._format_line(request, response, time) + + values = list() + extra = dict() + for key, value in fmt_info: + values.append(value) + + if key.__class__ is str: + extra[key] = value + else: + k1, k2 = key + dct = extra.get(k1, {}) + dct[k2] = value # type: ignore + extra[k1] = dct # type: ignore + + self.logger.info(self._log_format % tuple(values), extra=extra) + except Exception: + self.logger.exception("Error in logging") diff --git a/venv/lib/python3.6/site-packages/aiohttp/web_middlewares.py b/venv/lib/python3.6/site-packages/aiohttp/web_middlewares.py new file mode 100644 index 0000000..7c2e7a4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/web_middlewares.py @@ -0,0 +1,120 @@ +import re +from typing import TYPE_CHECKING, Awaitable, Callable, Tuple, Type, TypeVar + +from .web_exceptions import HTTPMovedPermanently, _HTTPMove +from .web_request import Request +from .web_response import StreamResponse +from .web_urldispatcher import SystemRoute + +__all__ = ( + 'middleware', + 'normalize_path_middleware', +) + +if TYPE_CHECKING: # pragma: no cover + from .web_app import Application # noqa + +_Func = TypeVar('_Func') + + +async def _check_request_resolves(request: Request, + path: str) -> Tuple[bool, Request]: + alt_request = request.clone(rel_url=path) + + match_info = await request.app.router.resolve(alt_request) + alt_request._match_info = match_info # type: ignore + + if match_info.http_exception is None: + return True, alt_request + + return False, request + + +def middleware(f: _Func) -> _Func: + f.__middleware_version__ = 1 # type: ignore + return f + + +_Handler = Callable[[Request], Awaitable[StreamResponse]] +_Middleware = Callable[[Request, _Handler], Awaitable[StreamResponse]] + + +def normalize_path_middleware( + *, append_slash: bool=True, remove_slash: bool=False, + merge_slashes: bool=True, + redirect_class: Type[_HTTPMove]=HTTPMovedPermanently) -> _Middleware: + """ + Middleware factory which produces a middleware that normalizes + the path of a request. By normalizing it means: + + - Add or remove a trailing slash to the path. + - Double slashes are replaced by one. + + The middleware returns as soon as it finds a path that resolves + correctly. The order if both merge and append/remove are enabled is + 1) merge slashes + 2) append/remove slash + 3) both merge slashes and append/remove slash. + If the path resolves with at least one of those conditions, it will + redirect to the new path. + + Only one of `append_slash` and `remove_slash` can be enabled. If both + are `True` the factory will raise an assertion error + + If `append_slash` is `True` the middleware will append a slash when + needed. If a resource is defined with trailing slash and the request + comes without it, it will append it automatically. + + If `remove_slash` is `True`, `append_slash` must be `False`. When enabled + the middleware will remove trailing slashes and redirect if the resource + is defined + + If merge_slashes is True, merge multiple consecutive slashes in the + path into one. + """ + + correct_configuration = not (append_slash and remove_slash) + assert correct_configuration, "Cannot both remove and append slash" + + @middleware + async def impl(request: Request, handler: _Handler) -> StreamResponse: + if isinstance(request.match_info.route, SystemRoute): + paths_to_check = [] + if '?' in request.raw_path: + path, query = request.raw_path.split('?', 1) + query = '?' + query + else: + query = '' + path = request.raw_path + + if merge_slashes: + paths_to_check.append(re.sub('//+', '/', path)) + if append_slash and not request.path.endswith('/'): + paths_to_check.append(path + '/') + if remove_slash and request.path.endswith('/'): + paths_to_check.append(path[:-1]) + if merge_slashes and append_slash: + paths_to_check.append( + re.sub('//+', '/', path + '/')) + if merge_slashes and remove_slash: + merged_slashes = re.sub('//+', '/', path) + paths_to_check.append(merged_slashes[:-1]) + + for path in paths_to_check: + resolves, request = await _check_request_resolves( + request, path) + if resolves: + raise redirect_class(request.raw_path + query) + + return await handler(request) + + return impl + + +def _fix_request_current_app(app: 'Application') -> _Middleware: + + @middleware + async def impl(request: Request, handler: _Handler) -> StreamResponse: + with request.match_info.set_current_app(app): + return await handler(request) + return impl diff --git a/venv/lib/python3.6/site-packages/aiohttp/web_protocol.py b/venv/lib/python3.6/site-packages/aiohttp/web_protocol.py new file mode 100644 index 0000000..c736a78 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/web_protocol.py @@ -0,0 +1,582 @@ +import asyncio +import asyncio.streams +import traceback +import warnings +from collections import deque +from contextlib import suppress +from html import escape as html_escape +from http import HTTPStatus +from logging import Logger +from typing import ( + TYPE_CHECKING, + Any, + Awaitable, + Callable, + Optional, + Type, + cast, +) + +import yarl + +from .abc import AbstractAccessLogger, AbstractStreamWriter +from .base_protocol import BaseProtocol +from .helpers import CeilTimeout, current_task +from .http import ( + HttpProcessingError, + HttpRequestParser, + HttpVersion10, + RawRequestMessage, + StreamWriter, +) +from .log import access_logger, server_logger +from .streams import EMPTY_PAYLOAD, StreamReader +from .tcp_helpers import tcp_keepalive +from .web_exceptions import HTTPException +from .web_log import AccessLogger +from .web_request import BaseRequest +from .web_response import Response, StreamResponse + +__all__ = ('RequestHandler', 'RequestPayloadError', 'PayloadAccessError') + +if TYPE_CHECKING: # pragma: no cover + from .web_server import Server # noqa + + +_RequestFactory = Callable[[RawRequestMessage, + StreamReader, + 'RequestHandler', + AbstractStreamWriter, + 'asyncio.Task[None]'], + BaseRequest] + +_RequestHandler = Callable[[BaseRequest], Awaitable[StreamResponse]] + + +ERROR = RawRequestMessage( + 'UNKNOWN', '/', HttpVersion10, {}, + {}, True, False, False, False, yarl.URL('/')) + + +class RequestPayloadError(Exception): + """Payload parsing error.""" + + +class PayloadAccessError(Exception): + """Payload was accessed after response was sent.""" + + +class RequestHandler(BaseProtocol): + """HTTP protocol implementation. + + RequestHandler handles incoming HTTP request. It reads request line, + request headers and request payload and calls handle_request() method. + By default it always returns with 404 response. + + RequestHandler handles errors in incoming request, like bad + status line, bad headers or incomplete payload. If any error occurs, + connection gets closed. + + :param keepalive_timeout: number of seconds before closing + keep-alive connection + :type keepalive_timeout: int or None + + :param bool tcp_keepalive: TCP keep-alive is on, default is on + + :param bool debug: enable debug mode + + :param logger: custom logger object + :type logger: aiohttp.log.server_logger + + :param access_log_class: custom class for access_logger + :type access_log_class: aiohttp.abc.AbstractAccessLogger + + :param access_log: custom logging object + :type access_log: aiohttp.log.server_logger + + :param str access_log_format: access log format string + + :param loop: Optional event loop + + :param int max_line_size: Optional maximum header line size + + :param int max_field_size: Optional maximum header field size + + :param int max_headers: Optional maximum header size + + """ + KEEPALIVE_RESCHEDULE_DELAY = 1 + + __slots__ = ('_request_count', '_keep_alive', '_manager', + '_request_handler', '_request_factory', '_tcp_keepalive', + '_keepalive_time', '_keepalive_handle', '_keepalive_timeout', + '_lingering_time', '_messages', '_message_tail', + '_waiter', '_error_handler', '_task_handler', + '_upgrade', '_payload_parser', '_request_parser', + '_reading_paused', 'logger', 'debug', 'access_log', + 'access_logger', '_close', '_force_close') + + def __init__(self, manager: 'Server', *, + loop: asyncio.AbstractEventLoop, + keepalive_timeout: float=75., # NGINX default is 75 secs + tcp_keepalive: bool=True, + logger: Logger=server_logger, + access_log_class: Type[AbstractAccessLogger]=AccessLogger, + access_log: Logger=access_logger, + access_log_format: str=AccessLogger.LOG_FORMAT, + debug: bool=False, + max_line_size: int=8190, + max_headers: int=32768, + max_field_size: int=8190, + lingering_time: float=10.0): + + super().__init__(loop) + + self._request_count = 0 + self._keepalive = False + self._manager = manager # type: Optional[Server] + self._request_handler = manager.request_handler # type: Optional[_RequestHandler] # noqa + self._request_factory = manager.request_factory # type: Optional[_RequestFactory] # noqa + + self._tcp_keepalive = tcp_keepalive + # placeholder to be replaced on keepalive timeout setup + self._keepalive_time = 0.0 + self._keepalive_handle = None # type: Optional[asyncio.Handle] + self._keepalive_timeout = keepalive_timeout + self._lingering_time = float(lingering_time) + + self._messages = deque() # type: Any # Python 3.5 has no typing.Deque + self._message_tail = b'' + + self._waiter = None # type: Optional[asyncio.Future[None]] + self._error_handler = None # type: Optional[asyncio.Task[None]] + self._task_handler = None # type: Optional[asyncio.Task[None]] + + self._upgrade = False + self._payload_parser = None # type: Any + self._request_parser = HttpRequestParser( + self, loop, + max_line_size=max_line_size, + max_field_size=max_field_size, + max_headers=max_headers, + payload_exception=RequestPayloadError) # type: Optional[HttpRequestParser] # noqa + + self.logger = logger + self.debug = debug + self.access_log = access_log + if access_log: + self.access_logger = access_log_class( + access_log, access_log_format) # type: Optional[AbstractAccessLogger] # noqa + else: + self.access_logger = None + + self._close = False + self._force_close = False + + def __repr__(self) -> str: + return "<{} {}>".format( + self.__class__.__name__, + 'connected' if self.transport is not None else 'disconnected') + + @property + def keepalive_timeout(self) -> float: + return self._keepalive_timeout + + async def shutdown(self, timeout: Optional[float]=15.0) -> None: + """Worker process is about to exit, we need cleanup everything and + stop accepting requests. It is especially important for keep-alive + connections.""" + self._force_close = True + + if self._keepalive_handle is not None: + self._keepalive_handle.cancel() + + if self._waiter: + self._waiter.cancel() + + # wait for handlers + with suppress(asyncio.CancelledError, asyncio.TimeoutError): + with CeilTimeout(timeout, loop=self._loop): + if (self._error_handler is not None and + not self._error_handler.done()): + await self._error_handler + + if (self._task_handler is not None and + not self._task_handler.done()): + await self._task_handler + + # force-close non-idle handler + if self._task_handler is not None: + self._task_handler.cancel() + + if self.transport is not None: + self.transport.close() + self.transport = None + + def connection_made(self, transport: asyncio.BaseTransport) -> None: + super().connection_made(transport) + + real_transport = cast(asyncio.Transport, transport) + if self._tcp_keepalive: + tcp_keepalive(real_transport) + + self._task_handler = self._loop.create_task(self.start()) + assert self._manager is not None + self._manager.connection_made(self, real_transport) + + def connection_lost(self, exc: Optional[BaseException]) -> None: + if self._manager is None: + return + self._manager.connection_lost(self, exc) + + super().connection_lost(exc) + + self._manager = None + self._force_close = True + self._request_factory = None + self._request_handler = None + self._request_parser = None + + if self._keepalive_handle is not None: + self._keepalive_handle.cancel() + + if self._task_handler is not None: + self._task_handler.cancel() + + if self._error_handler is not None: + self._error_handler.cancel() + + self._task_handler = None + + if self._payload_parser is not None: + self._payload_parser.feed_eof() + self._payload_parser = None + + def set_parser(self, parser: Any) -> None: + # Actual type is WebReader + assert self._payload_parser is None + + self._payload_parser = parser + + if self._message_tail: + self._payload_parser.feed_data(self._message_tail) + self._message_tail = b'' + + def eof_received(self) -> None: + pass + + def data_received(self, data: bytes) -> None: + if self._force_close or self._close: + return + # parse http messages + if self._payload_parser is None and not self._upgrade: + assert self._request_parser is not None + try: + messages, upgraded, tail = self._request_parser.feed_data(data) + except HttpProcessingError as exc: + # something happened during parsing + self._error_handler = self._loop.create_task( + self.handle_parse_error( + StreamWriter(self, self._loop), + 400, exc, exc.message)) + self.close() + except Exception as exc: + # 500: internal error + self._error_handler = self._loop.create_task( + self.handle_parse_error( + StreamWriter(self, self._loop), + 500, exc)) + self.close() + else: + if messages: + # sometimes the parser returns no messages + for (msg, payload) in messages: + self._request_count += 1 + self._messages.append((msg, payload)) + + waiter = self._waiter + if waiter is not None: + if not waiter.done(): + # don't set result twice + waiter.set_result(None) + + self._upgrade = upgraded + if upgraded and tail: + self._message_tail = tail + + # no parser, just store + elif self._payload_parser is None and self._upgrade and data: + self._message_tail += data + + # feed payload + elif data: + eof, tail = self._payload_parser.feed_data(data) + if eof: + self.close() + + def keep_alive(self, val: bool) -> None: + """Set keep-alive connection mode. + + :param bool val: new state. + """ + self._keepalive = val + if self._keepalive_handle: + self._keepalive_handle.cancel() + self._keepalive_handle = None + + def close(self) -> None: + """Stop accepting new pipelinig messages and close + connection when handlers done processing messages""" + self._close = True + if self._waiter: + self._waiter.cancel() + + def force_close(self) -> None: + """Force close connection""" + self._force_close = True + if self._waiter: + self._waiter.cancel() + if self.transport is not None: + self.transport.close() + self.transport = None + + def log_access(self, + request: BaseRequest, + response: StreamResponse, + time: float) -> None: + if self.access_logger is not None: + self.access_logger.log(request, response, time) + + def log_debug(self, *args: Any, **kw: Any) -> None: + if self.debug: + self.logger.debug(*args, **kw) + + def log_exception(self, *args: Any, **kw: Any) -> None: + self.logger.exception(*args, **kw) + + def _process_keepalive(self) -> None: + if self._force_close or not self._keepalive: + return + + next = self._keepalive_time + self._keepalive_timeout + + # handler in idle state + if self._waiter: + if self._loop.time() > next: + self.force_close() + return + + # not all request handlers are done, + # reschedule itself to next second + self._keepalive_handle = self._loop.call_later( + self.KEEPALIVE_RESCHEDULE_DELAY, self._process_keepalive) + + async def start(self) -> None: + """Process incoming request. + + It reads request line, request headers and request payload, then + calls handle_request() method. Subclass has to override + handle_request(). start() handles various exceptions in request + or response handling. Connection is being closed always unless + keep_alive(True) specified. + """ + loop = self._loop + handler = self._task_handler + assert handler is not None + manager = self._manager + assert manager is not None + keepalive_timeout = self._keepalive_timeout + resp = None + assert self._request_factory is not None + assert self._request_handler is not None + + while not self._force_close: + if not self._messages: + try: + # wait for next request + self._waiter = loop.create_future() + await self._waiter + except asyncio.CancelledError: + break + finally: + self._waiter = None + + message, payload = self._messages.popleft() + + if self.access_log: + now = loop.time() + + manager.requests_count += 1 + writer = StreamWriter(self, loop) + request = self._request_factory( + message, payload, self, writer, handler) + try: + try: + # a new task is used for copy context vars (#3406) + task = self._loop.create_task( + self._request_handler(request)) + resp = await task + except HTTPException as exc: + resp = exc + except asyncio.CancelledError: + self.log_debug('Ignored premature client disconnection') + break + except asyncio.TimeoutError as exc: + self.log_debug('Request handler timed out.', exc_info=exc) + resp = self.handle_error(request, 504) + except Exception as exc: + resp = self.handle_error(request, 500, exc) + else: + # Deprecation warning (See #2415) + if getattr(resp, '__http_exception__', False): + warnings.warn( + "returning HTTPException object is deprecated " + "(#2415) and will be removed, " + "please raise the exception instead", + DeprecationWarning) + + if self.debug: + if not isinstance(resp, StreamResponse): + if resp is None: + raise RuntimeError("Missing return " + "statement on request handler") + else: + raise RuntimeError("Web-handler should return " + "a response instance, " + "got {!r}".format(resp)) + await resp.prepare(request) + await resp.write_eof() + + # notify server about keep-alive + self._keepalive = bool(resp.keep_alive) + + # log access + if self.access_log: + self.log_access(request, resp, loop.time() - now) + + # check payload + if not payload.is_eof(): + lingering_time = self._lingering_time + if not self._force_close and lingering_time: + self.log_debug( + 'Start lingering close timer for %s sec.', + lingering_time) + + now = loop.time() + end_t = now + lingering_time + + with suppress( + asyncio.TimeoutError, asyncio.CancelledError): + while not payload.is_eof() and now < end_t: + with CeilTimeout(end_t - now, loop=loop): + # read and ignore + await payload.readany() + now = loop.time() + + # if payload still uncompleted + if not payload.is_eof() and not self._force_close: + self.log_debug('Uncompleted request.') + self.close() + + payload.set_exception(PayloadAccessError()) + + except asyncio.CancelledError: + self.log_debug('Ignored premature client disconnection ') + break + except RuntimeError as exc: + if self.debug: + self.log_exception( + 'Unhandled runtime exception', exc_info=exc) + self.force_close() + except Exception as exc: + self.log_exception('Unhandled exception', exc_info=exc) + self.force_close() + finally: + if self.transport is None and resp is not None: + self.log_debug('Ignored premature client disconnection.') + elif not self._force_close: + if self._keepalive and not self._close: + # start keep-alive timer + if keepalive_timeout is not None: + now = self._loop.time() + self._keepalive_time = now + if self._keepalive_handle is None: + self._keepalive_handle = loop.call_at( + now + keepalive_timeout, + self._process_keepalive) + else: + break + + # remove handler, close transport if no handlers left + if not self._force_close: + self._task_handler = None + if self.transport is not None and self._error_handler is None: + self.transport.close() + + def handle_error(self, + request: BaseRequest, + status: int=500, + exc: Optional[BaseException]=None, + message: Optional[str]=None) -> StreamResponse: + """Handle errors. + + Returns HTTP response with specific status code. Logs additional + information. It always closes current connection.""" + self.log_exception("Error handling request", exc_info=exc) + + ct = 'text/plain' + if status == HTTPStatus.INTERNAL_SERVER_ERROR: + title = '{0.value} {0.phrase}'.format( + HTTPStatus.INTERNAL_SERVER_ERROR + ) + msg = HTTPStatus.INTERNAL_SERVER_ERROR.description + tb = None + if self.debug: + with suppress(Exception): + tb = traceback.format_exc() + + if 'text/html' in request.headers.get('Accept', ''): + if tb: + tb = html_escape(tb) + msg = '<h2>Traceback:</h2>\n<pre>{}</pre>'.format(tb) + message = ( + "<html><head>" + "<title>{title}</title>" + "</head><body>\n<h1>{title}</h1>" + "\n{msg}\n</body></html>\n" + ).format(title=title, msg=msg) + ct = 'text/html' + else: + if tb: + msg = tb + message = title + '\n\n' + msg + + resp = Response(status=status, text=message, content_type=ct) + resp.force_close() + + # some data already got sent, connection is broken + if request.writer.output_size > 0 or self.transport is None: + self.force_close() + + return resp + + async def handle_parse_error(self, + writer: AbstractStreamWriter, + status: int, + exc: Optional[BaseException]=None, + message: Optional[str]=None) -> None: + request = BaseRequest( # type: ignore + ERROR, + EMPTY_PAYLOAD, + self, writer, + current_task(), + self._loop) + + resp = self.handle_error(request, status, exc, message) + await resp.prepare(request) + await resp.write_eof() + + if self.transport is not None: + self.transport.close() + + self._error_handler = None diff --git a/venv/lib/python3.6/site-packages/aiohttp/web_request.py b/venv/lib/python3.6/site-packages/aiohttp/web_request.py new file mode 100644 index 0000000..0534f7e --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/web_request.py @@ -0,0 +1,743 @@ +import asyncio +import datetime +import io +import re +import socket +import string +import tempfile +import types +import warnings +from email.utils import parsedate +from http.cookies import SimpleCookie +from types import MappingProxyType +from typing import ( # noqa + TYPE_CHECKING, + Any, + Dict, + Iterator, + Mapping, + MutableMapping, + Optional, + Tuple, + Union, + cast, +) +from urllib.parse import parse_qsl + +import attr +from multidict import CIMultiDict, CIMultiDictProxy, MultiDict, MultiDictProxy +from yarl import URL + +from . import hdrs +from .abc import AbstractStreamWriter +from .helpers import DEBUG, ChainMapProxy, HeadersMixin, reify, sentinel +from .http_parser import RawRequestMessage +from .multipart import MultipartReader +from .streams import EmptyStreamReader, StreamReader +from .typedefs import ( + DEFAULT_JSON_DECODER, + JSONDecoder, + LooseHeaders, + RawHeaders, + StrOrURL, +) +from .web_exceptions import HTTPRequestEntityTooLarge +from .web_response import StreamResponse + +__all__ = ('BaseRequest', 'FileField', 'Request') + + +if TYPE_CHECKING: # pragma: no cover + from .web_app import Application # noqa + from .web_urldispatcher import UrlMappingMatchInfo # noqa + from .web_protocol import RequestHandler # noqa + + +@attr.s(frozen=True, slots=True) +class FileField: + name = attr.ib(type=str) + filename = attr.ib(type=str) + file = attr.ib(type=io.BufferedReader) + content_type = attr.ib(type=str) + headers = attr.ib(type=CIMultiDictProxy) # type: CIMultiDictProxy[str] + + +_TCHAR = string.digits + string.ascii_letters + r"!#$%&'*+.^_`|~-" +# '-' at the end to prevent interpretation as range in a char class + +_TOKEN = r'[{tchar}]+'.format(tchar=_TCHAR) + +_QDTEXT = r'[{}]'.format( + r''.join(chr(c) for c in (0x09, 0x20, 0x21) + tuple(range(0x23, 0x7F)))) +# qdtext includes 0x5C to escape 0x5D ('\]') +# qdtext excludes obs-text (because obsoleted, and encoding not specified) + +_QUOTED_PAIR = r'\\[\t !-~]' + +_QUOTED_STRING = r'"(?:{quoted_pair}|{qdtext})*"'.format( + qdtext=_QDTEXT, quoted_pair=_QUOTED_PAIR) + +_FORWARDED_PAIR = ( + r'({token})=({token}|{quoted_string})(:\d{{1,4}})?'.format( + token=_TOKEN, + quoted_string=_QUOTED_STRING)) + +_QUOTED_PAIR_REPLACE_RE = re.compile(r'\\([\t !-~])') +# same pattern as _QUOTED_PAIR but contains a capture group + +_FORWARDED_PAIR_RE = re.compile(_FORWARDED_PAIR) + +############################################################ +# HTTP Request +############################################################ + + +class BaseRequest(MutableMapping[str, Any], HeadersMixin): + + POST_METHODS = {hdrs.METH_PATCH, hdrs.METH_POST, hdrs.METH_PUT, + hdrs.METH_TRACE, hdrs.METH_DELETE} + + ATTRS = HeadersMixin.ATTRS | frozenset([ + '_message', '_protocol', '_payload_writer', '_payload', '_headers', + '_method', '_version', '_rel_url', '_post', '_read_bytes', + '_state', '_cache', '_task', '_client_max_size', '_loop', + '_transport_sslcontext', '_transport_peername']) + + def __init__(self, message: RawRequestMessage, + payload: StreamReader, protocol: 'RequestHandler', + payload_writer: AbstractStreamWriter, + task: 'asyncio.Task[None]', + loop: asyncio.AbstractEventLoop, + *, client_max_size: int=1024**2, + state: Optional[Dict[str, Any]]=None, + scheme: Optional[str]=None, + host: Optional[str]=None, + remote: Optional[str]=None) -> None: + if state is None: + state = {} + self._message = message + self._protocol = protocol + self._payload_writer = payload_writer + + self._payload = payload + self._headers = message.headers + self._method = message.method + self._version = message.version + self._rel_url = message.url + self._post = None # type: Optional[MultiDictProxy[Union[str, bytes, FileField]]] # noqa + self._read_bytes = None # type: Optional[bytes] + + self._state = state + self._cache = {} # type: Dict[str, Any] + self._task = task + self._client_max_size = client_max_size + self._loop = loop + + transport = self._protocol.transport + assert transport is not None + self._transport_sslcontext = transport.get_extra_info('sslcontext') + self._transport_peername = transport.get_extra_info('peername') + + if scheme is not None: + self._cache['scheme'] = scheme + if host is not None: + self._cache['host'] = host + if remote is not None: + self._cache['remote'] = remote + + def clone(self, *, method: str=sentinel, rel_url: StrOrURL=sentinel, + headers: LooseHeaders=sentinel, scheme: str=sentinel, + host: str=sentinel, + remote: str=sentinel) -> 'BaseRequest': + """Clone itself with replacement some attributes. + + Creates and returns a new instance of Request object. If no parameters + are given, an exact copy is returned. If a parameter is not passed, it + will reuse the one from the current request object. + + """ + + if self._read_bytes: + raise RuntimeError("Cannot clone request " + "after reading its content") + + dct = {} # type: Dict[str, Any] + if method is not sentinel: + dct['method'] = method + if rel_url is not sentinel: + new_url = URL(rel_url) + dct['url'] = new_url + dct['path'] = str(new_url) + if headers is not sentinel: + # a copy semantic + dct['headers'] = CIMultiDictProxy(CIMultiDict(headers)) + dct['raw_headers'] = tuple((k.encode('utf-8'), v.encode('utf-8')) + for k, v in headers.items()) + + message = self._message._replace(**dct) + + kwargs = {} + if scheme is not sentinel: + kwargs['scheme'] = scheme + if host is not sentinel: + kwargs['host'] = host + if remote is not sentinel: + kwargs['remote'] = remote + + return self.__class__( + message, + self._payload, + self._protocol, + self._payload_writer, + self._task, + self._loop, + client_max_size=self._client_max_size, + state=self._state.copy(), + **kwargs) + + @property + def task(self) -> 'asyncio.Task[None]': + return self._task + + @property + def protocol(self) -> 'RequestHandler': + return self._protocol + + @property + def transport(self) -> Optional[asyncio.Transport]: + if self._protocol is None: + return None + return self._protocol.transport + + @property + def writer(self) -> AbstractStreamWriter: + return self._payload_writer + + @reify + def message(self) -> RawRequestMessage: + warnings.warn("Request.message is deprecated", + DeprecationWarning, + stacklevel=3) + return self._message + + @reify + def rel_url(self) -> URL: + return self._rel_url + + @reify + def loop(self) -> asyncio.AbstractEventLoop: + warnings.warn("request.loop property is deprecated", + DeprecationWarning, + stacklevel=2) + return self._loop + + # MutableMapping API + + def __getitem__(self, key: str) -> Any: + return self._state[key] + + def __setitem__(self, key: str, value: Any) -> None: + self._state[key] = value + + def __delitem__(self, key: str) -> None: + del self._state[key] + + def __len__(self) -> int: + return len(self._state) + + def __iter__(self) -> Iterator[str]: + return iter(self._state) + + ######## + + @reify + def secure(self) -> bool: + """A bool indicating if the request is handled with SSL.""" + return self.scheme == 'https' + + @reify + def forwarded(self) -> Tuple[Mapping[str, str], ...]: + """A tuple containing all parsed Forwarded header(s). + + Makes an effort to parse Forwarded headers as specified by RFC 7239: + + - It adds one (immutable) dictionary per Forwarded 'field-value', ie + per proxy. The element corresponds to the data in the Forwarded + field-value added by the first proxy encountered by the client. Each + subsequent item corresponds to those added by later proxies. + - It checks that every value has valid syntax in general as specified + in section 4: either a 'token' or a 'quoted-string'. + - It un-escapes found escape sequences. + - It does NOT validate 'by' and 'for' contents as specified in section + 6. + - It does NOT validate 'host' contents (Host ABNF). + - It does NOT validate 'proto' contents for valid URI scheme names. + + Returns a tuple containing one or more immutable dicts + """ + elems = [] + for field_value in self._message.headers.getall(hdrs.FORWARDED, ()): + length = len(field_value) + pos = 0 + need_separator = False + elem = {} # type: Dict[str, str] + elems.append(types.MappingProxyType(elem)) + while 0 <= pos < length: + match = _FORWARDED_PAIR_RE.match(field_value, pos) + if match is not None: # got a valid forwarded-pair + if need_separator: + # bad syntax here, skip to next comma + pos = field_value.find(',', pos) + else: + name, value, port = match.groups() + if value[0] == '"': + # quoted string: remove quotes and unescape + value = _QUOTED_PAIR_REPLACE_RE.sub(r'\1', + value[1:-1]) + if port: + value += port + elem[name.lower()] = value + pos += len(match.group(0)) + need_separator = True + elif field_value[pos] == ',': # next forwarded-element + need_separator = False + elem = {} + elems.append(types.MappingProxyType(elem)) + pos += 1 + elif field_value[pos] == ';': # next forwarded-pair + need_separator = False + pos += 1 + elif field_value[pos] in ' \t': + # Allow whitespace even between forwarded-pairs, though + # RFC 7239 doesn't. This simplifies code and is in line + # with Postel's law. + pos += 1 + else: + # bad syntax here, skip to next comma + pos = field_value.find(',', pos) + return tuple(elems) + + @reify + def scheme(self) -> str: + """A string representing the scheme of the request. + + Hostname is resolved in this order: + + - overridden value by .clone(scheme=new_scheme) call. + - type of connection to peer: HTTPS if socket is SSL, HTTP otherwise. + + 'http' or 'https'. + """ + if self._transport_sslcontext: + return 'https' + else: + return 'http' + + @reify + def method(self) -> str: + """Read only property for getting HTTP method. + + The value is upper-cased str like 'GET', 'POST', 'PUT' etc. + """ + return self._method + + @reify + def version(self) -> Tuple[int, int]: + """Read only property for getting HTTP version of request. + + Returns aiohttp.protocol.HttpVersion instance. + """ + return self._version + + @reify + def host(self) -> str: + """Hostname of the request. + + Hostname is resolved in this order: + + - overridden value by .clone(host=new_host) call. + - HOST HTTP header + - socket.getfqdn() value + """ + host = self._message.headers.get(hdrs.HOST) + if host is not None: + return host + else: + return socket.getfqdn() + + @reify + def remote(self) -> Optional[str]: + """Remote IP of client initiated HTTP request. + + The IP is resolved in this order: + + - overridden value by .clone(remote=new_remote) call. + - peername of opened socket + """ + if isinstance(self._transport_peername, (list, tuple)): + return self._transport_peername[0] + else: + return self._transport_peername + + @reify + def url(self) -> URL: + url = URL.build(scheme=self.scheme, host=self.host) + return url.join(self._rel_url) + + @reify + def path(self) -> str: + """The URL including *PATH INFO* without the host or scheme. + + E.g., ``/app/blog`` + """ + return self._rel_url.path + + @reify + def path_qs(self) -> str: + """The URL including PATH_INFO and the query string. + + E.g, /app/blog?id=10 + """ + return str(self._rel_url) + + @reify + def raw_path(self) -> str: + """ The URL including raw *PATH INFO* without the host or scheme. + Warning, the path is unquoted and may contains non valid URL characters + + E.g., ``/my%2Fpath%7Cwith%21some%25strange%24characters`` + """ + return self._message.path + + @reify + def query(self) -> 'MultiDictProxy[str]': + """A multidict with all the variables in the query string.""" + return self._rel_url.query + + @reify + def query_string(self) -> str: + """The query string in the URL. + + E.g., id=10 + """ + return self._rel_url.query_string + + @reify + def headers(self) -> 'CIMultiDictProxy[str]': + """A case-insensitive multidict proxy with all headers.""" + return self._headers + + @reify + def raw_headers(self) -> RawHeaders: + """A sequence of pairs for all headers.""" + return self._message.raw_headers + + @staticmethod + def _http_date(_date_str: str) -> Optional[datetime.datetime]: + """Process a date string, return a datetime object + """ + if _date_str is not None: + timetuple = parsedate(_date_str) + if timetuple is not None: + return datetime.datetime(*timetuple[:6], + tzinfo=datetime.timezone.utc) + return None + + @reify + def if_modified_since(self) -> Optional[datetime.datetime]: + """The value of If-Modified-Since HTTP header, or None. + + This header is represented as a `datetime` object. + """ + return self._http_date(self.headers.get(hdrs.IF_MODIFIED_SINCE)) + + @reify + def if_unmodified_since(self) -> Optional[datetime.datetime]: + """The value of If-Unmodified-Since HTTP header, or None. + + This header is represented as a `datetime` object. + """ + return self._http_date(self.headers.get(hdrs.IF_UNMODIFIED_SINCE)) + + @reify + def if_range(self) -> Optional[datetime.datetime]: + """The value of If-Range HTTP header, or None. + + This header is represented as a `datetime` object. + """ + return self._http_date(self.headers.get(hdrs.IF_RANGE)) + + @reify + def keep_alive(self) -> bool: + """Is keepalive enabled by client?""" + return not self._message.should_close + + @reify + def cookies(self) -> Mapping[str, str]: + """Return request cookies. + + A read-only dictionary-like object. + """ + raw = self.headers.get(hdrs.COOKIE, '') + parsed = SimpleCookie(raw) + return MappingProxyType( + {key: val.value for key, val in parsed.items()}) + + @reify + def http_range(self) -> slice: + """The content of Range HTTP header. + + Return a slice instance. + + """ + rng = self._headers.get(hdrs.RANGE) + start, end = None, None + if rng is not None: + try: + pattern = r'^bytes=(\d*)-(\d*)$' + start, end = re.findall(pattern, rng)[0] + except IndexError: # pattern was not found in header + raise ValueError("range not in acceptable format") + + end = int(end) if end else None + start = int(start) if start else None + + if start is None and end is not None: + # end with no start is to return tail of content + start = -end + end = None + + if start is not None and end is not None: + # end is inclusive in range header, exclusive for slice + end += 1 + + if start >= end: + raise ValueError('start cannot be after end') + + if start is end is None: # No valid range supplied + raise ValueError('No start or end of range specified') + + return slice(start, end, 1) + + @reify + def content(self) -> StreamReader: + """Return raw payload stream.""" + return self._payload + + @property + def has_body(self) -> bool: + """Return True if request's HTTP BODY can be read, False otherwise.""" + warnings.warn( + "Deprecated, use .can_read_body #2005", + DeprecationWarning, stacklevel=2) + return not self._payload.at_eof() + + @property + def can_read_body(self) -> bool: + """Return True if request's HTTP BODY can be read, False otherwise.""" + return not self._payload.at_eof() + + @reify + def body_exists(self) -> bool: + """Return True if request has HTTP BODY, False otherwise.""" + return type(self._payload) is not EmptyStreamReader + + async def release(self) -> None: + """Release request. + + Eat unread part of HTTP BODY if present. + """ + while not self._payload.at_eof(): + await self._payload.readany() + + async def read(self) -> bytes: + """Read request body if present. + + Returns bytes object with full request content. + """ + if self._read_bytes is None: + body = bytearray() + while True: + chunk = await self._payload.readany() + body.extend(chunk) + if self._client_max_size: + body_size = len(body) + if body_size >= self._client_max_size: + raise HTTPRequestEntityTooLarge( + max_size=self._client_max_size, + actual_size=body_size + ) + if not chunk: + break + self._read_bytes = bytes(body) + return self._read_bytes + + async def text(self) -> str: + """Return BODY as text using encoding from .charset.""" + bytes_body = await self.read() + encoding = self.charset or 'utf-8' + return bytes_body.decode(encoding) + + async def json(self, *, loads: JSONDecoder=DEFAULT_JSON_DECODER) -> Any: + """Return BODY as JSON.""" + body = await self.text() + return loads(body) + + async def multipart(self) -> MultipartReader: + """Return async iterator to process BODY as multipart.""" + return MultipartReader(self._headers, self._payload) + + async def post(self) -> 'MultiDictProxy[Union[str, bytes, FileField]]': + """Return POST parameters.""" + if self._post is not None: + return self._post + if self._method not in self.POST_METHODS: + self._post = MultiDictProxy(MultiDict()) + return self._post + + content_type = self.content_type + if (content_type not in ('', + 'application/x-www-form-urlencoded', + 'multipart/form-data')): + self._post = MultiDictProxy(MultiDict()) + return self._post + + out = MultiDict() # type: MultiDict[Union[str, bytes, FileField]] + + if content_type == 'multipart/form-data': + multipart = await self.multipart() + max_size = self._client_max_size + + field = await multipart.next() + while field is not None: + size = 0 + content_type = field.headers.get(hdrs.CONTENT_TYPE) + + if field.filename: + # store file in temp file + tmp = tempfile.TemporaryFile() + chunk = await field.read_chunk(size=2**16) + while chunk: + chunk = field.decode(chunk) + tmp.write(chunk) + size += len(chunk) + if 0 < max_size < size: + raise HTTPRequestEntityTooLarge( + max_size=max_size, + actual_size=size + ) + chunk = await field.read_chunk(size=2**16) + tmp.seek(0) + + ff = FileField(field.name, field.filename, + cast(io.BufferedReader, tmp), + content_type, field.headers) + out.add(field.name, ff) + else: + value = await field.read(decode=True) + if content_type is None or \ + content_type.startswith('text/'): + charset = field.get_charset(default='utf-8') + value = value.decode(charset) + out.add(field.name, value) + size += len(value) + if 0 < max_size < size: + raise HTTPRequestEntityTooLarge( + max_size=max_size, + actual_size=size + ) + + field = await multipart.next() + else: + data = await self.read() + if data: + charset = self.charset or 'utf-8' + out.extend( + parse_qsl( + data.rstrip().decode(charset), + keep_blank_values=True, + encoding=charset)) + + self._post = MultiDictProxy(out) + return self._post + + def __repr__(self) -> str: + ascii_encodable_path = self.path.encode('ascii', 'backslashreplace') \ + .decode('ascii') + return "<{} {} {} >".format(self.__class__.__name__, + self._method, ascii_encodable_path) + + def __eq__(self, other: object) -> bool: + return id(self) == id(other) + + async def _prepare_hook(self, response: StreamResponse) -> None: + return + + +class Request(BaseRequest): + + ATTRS = BaseRequest.ATTRS | frozenset(['_match_info']) + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + # matchdict, route_name, handler + # or information about traversal lookup + + # initialized after route resolving + self._match_info = None # type: Optional[UrlMappingMatchInfo] + + if DEBUG: + def __setattr__(self, name: str, val: Any) -> None: + if name not in self.ATTRS: + warnings.warn("Setting custom {}.{} attribute " + "is discouraged".format(self.__class__.__name__, + name), + DeprecationWarning, + stacklevel=2) + super().__setattr__(name, val) + + def clone(self, *, method: str=sentinel, rel_url: + StrOrURL=sentinel, headers: LooseHeaders=sentinel, + scheme: str=sentinel, host: str=sentinel, remote: + str=sentinel) -> 'Request': + ret = super().clone(method=method, + rel_url=rel_url, + headers=headers, + scheme=scheme, + host=host, + remote=remote) + new_ret = cast(Request, ret) + new_ret._match_info = self._match_info + return new_ret + + @reify + def match_info(self) -> 'UrlMappingMatchInfo': + """Result of route resolving.""" + match_info = self._match_info + assert match_info is not None + return match_info + + @property + def app(self) -> 'Application': + """Application instance.""" + match_info = self._match_info + assert match_info is not None + return match_info.current_app + + @property + def config_dict(self) -> ChainMapProxy: + match_info = self._match_info + assert match_info is not None + lst = match_info.apps + app = self.app + idx = lst.index(app) + sublist = list(reversed(lst[:idx + 1])) + return ChainMapProxy(sublist) + + async def _prepare_hook(self, response: StreamResponse) -> None: + match_info = self._match_info + if match_info is None: + return + for app in match_info._apps: + await app.on_response_prepare.send(self, response) diff --git a/venv/lib/python3.6/site-packages/aiohttp/web_response.py b/venv/lib/python3.6/site-packages/aiohttp/web_response.py new file mode 100644 index 0000000..750e040 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/web_response.py @@ -0,0 +1,717 @@ +import asyncio # noqa +import collections.abc # noqa +import datetime +import enum +import json +import math +import time +import warnings +import zlib +from concurrent.futures import Executor +from email.utils import parsedate +from http.cookies import SimpleCookie +from typing import ( # noqa + TYPE_CHECKING, + Any, + Dict, + Iterator, + Mapping, + MutableMapping, + Optional, + Tuple, + Union, + cast, +) + +from multidict import CIMultiDict, istr + +from . import hdrs, payload +from .abc import AbstractStreamWriter +from .helpers import HeadersMixin, rfc822_formatted_time, sentinel +from .http import RESPONSES, SERVER_SOFTWARE, HttpVersion10, HttpVersion11 +from .payload import Payload +from .typedefs import JSONEncoder, LooseHeaders + +__all__ = ('ContentCoding', 'StreamResponse', 'Response', 'json_response') + + +if TYPE_CHECKING: # pragma: no cover + from .web_request import BaseRequest # noqa + BaseClass = MutableMapping[str, Any] +else: + BaseClass = collections.abc.MutableMapping + + +class ContentCoding(enum.Enum): + # The content codings that we have support for. + # + # Additional registered codings are listed at: + # https://www.iana.org/assignments/http-parameters/http-parameters.xhtml#content-coding + deflate = 'deflate' + gzip = 'gzip' + identity = 'identity' + + +############################################################ +# HTTP Response classes +############################################################ + + +class StreamResponse(BaseClass, HeadersMixin): + + _length_check = True + + def __init__(self, *, + status: int=200, + reason: Optional[str]=None, + headers: Optional[LooseHeaders]=None) -> None: + self._body = None + self._keep_alive = None # type: Optional[bool] + self._chunked = False + self._compression = False + self._compression_force = None # type: Optional[ContentCoding] + self._cookies = SimpleCookie() + + self._req = None # type: Optional[BaseRequest] + self._payload_writer = None # type: Optional[AbstractStreamWriter] + self._eof_sent = False + self._body_length = 0 + self._state = {} # type: Dict[str, Any] + + if headers is not None: + self._headers = CIMultiDict(headers) # type: CIMultiDict[str] + else: + self._headers = CIMultiDict() # type: CIMultiDict[str] + + self.set_status(status, reason) + + @property + def prepared(self) -> bool: + return self._payload_writer is not None + + @property + def task(self) -> 'asyncio.Task[None]': + return getattr(self._req, 'task', None) + + @property + def status(self) -> int: + return self._status + + @property + def chunked(self) -> bool: + return self._chunked + + @property + def compression(self) -> bool: + return self._compression + + @property + def reason(self) -> str: + return self._reason + + def set_status(self, status: int, + reason: Optional[str]=None, + _RESPONSES: Mapping[int, + Tuple[str, str]]=RESPONSES) -> None: + assert not self.prepared, \ + 'Cannot change the response status code after ' \ + 'the headers have been sent' + self._status = int(status) + if reason is None: + try: + reason = _RESPONSES[self._status][0] + except Exception: + reason = '' + self._reason = reason + + @property + def keep_alive(self) -> Optional[bool]: + return self._keep_alive + + def force_close(self) -> None: + self._keep_alive = False + + @property + def body_length(self) -> int: + return self._body_length + + @property + def output_length(self) -> int: + warnings.warn('output_length is deprecated', DeprecationWarning) + assert self._payload_writer + return self._payload_writer.buffer_size + + def enable_chunked_encoding(self, chunk_size: Optional[int]=None) -> None: + """Enables automatic chunked transfer encoding.""" + self._chunked = True + + if hdrs.CONTENT_LENGTH in self._headers: + raise RuntimeError("You can't enable chunked encoding when " + "a content length is set") + if chunk_size is not None: + warnings.warn('Chunk size is deprecated #1615', DeprecationWarning) + + def enable_compression(self, + force: Optional[Union[bool, ContentCoding]]=None + ) -> None: + """Enables response compression encoding.""" + # Backwards compatibility for when force was a bool <0.17. + if type(force) == bool: + force = ContentCoding.deflate if force else ContentCoding.identity + warnings.warn("Using boolean for force is deprecated #3318", + DeprecationWarning) + elif force is not None: + assert isinstance(force, ContentCoding), ("force should one of " + "None, bool or " + "ContentEncoding") + + self._compression = True + self._compression_force = force + + @property + def headers(self) -> 'CIMultiDict[str]': + return self._headers + + @property + def cookies(self) -> SimpleCookie: + return self._cookies + + def set_cookie(self, name: str, value: str, *, + expires: Optional[str]=None, + domain: Optional[str]=None, + max_age: Optional[Union[int, str]]=None, + path: str='/', + secure: Optional[str]=None, + httponly: Optional[str]=None, + version: Optional[str]=None) -> None: + """Set or update response cookie. + + Sets new cookie or updates existent with new value. + Also updates only those params which are not None. + """ + + old = self._cookies.get(name) + if old is not None and old.coded_value == '': + # deleted cookie + self._cookies.pop(name, None) + + self._cookies[name] = value + c = self._cookies[name] + + if expires is not None: + c['expires'] = expires + elif c.get('expires') == 'Thu, 01 Jan 1970 00:00:00 GMT': + del c['expires'] + + if domain is not None: + c['domain'] = domain + + if max_age is not None: + c['max-age'] = str(max_age) + elif 'max-age' in c: + del c['max-age'] + + c['path'] = path + + if secure is not None: + c['secure'] = secure + if httponly is not None: + c['httponly'] = httponly + if version is not None: + c['version'] = version + + def del_cookie(self, name: str, *, + domain: Optional[str]=None, + path: str='/') -> None: + """Delete cookie. + + Creates new empty expired cookie. + """ + # TODO: do we need domain/path here? + self._cookies.pop(name, None) + self.set_cookie(name, '', max_age=0, + expires="Thu, 01 Jan 1970 00:00:00 GMT", + domain=domain, path=path) + + @property + def content_length(self) -> Optional[int]: + # Just a placeholder for adding setter + return super().content_length + + @content_length.setter + def content_length(self, value: Optional[int]) -> None: + if value is not None: + value = int(value) + if self._chunked: + raise RuntimeError("You can't set content length when " + "chunked encoding is enable") + self._headers[hdrs.CONTENT_LENGTH] = str(value) + else: + self._headers.pop(hdrs.CONTENT_LENGTH, None) + + @property + def content_type(self) -> str: + # Just a placeholder for adding setter + return super().content_type + + @content_type.setter + def content_type(self, value: str) -> None: + self.content_type # read header values if needed + self._content_type = str(value) + self._generate_content_type_header() + + @property + def charset(self) -> Optional[str]: + # Just a placeholder for adding setter + return super().charset + + @charset.setter + def charset(self, value: Optional[str]) -> None: + ctype = self.content_type # read header values if needed + if ctype == 'application/octet-stream': + raise RuntimeError("Setting charset for application/octet-stream " + "doesn't make sense, setup content_type first") + assert self._content_dict is not None + if value is None: + self._content_dict.pop('charset', None) + else: + self._content_dict['charset'] = str(value).lower() + self._generate_content_type_header() + + @property + def last_modified(self) -> Optional[datetime.datetime]: + """The value of Last-Modified HTTP header, or None. + + This header is represented as a `datetime` object. + """ + httpdate = self._headers.get(hdrs.LAST_MODIFIED) + if httpdate is not None: + timetuple = parsedate(httpdate) + if timetuple is not None: + return datetime.datetime(*timetuple[:6], + tzinfo=datetime.timezone.utc) + return None + + @last_modified.setter + def last_modified(self, + value: Optional[ + Union[int, float, datetime.datetime, str]]) -> None: + if value is None: + self._headers.pop(hdrs.LAST_MODIFIED, None) + elif isinstance(value, (int, float)): + self._headers[hdrs.LAST_MODIFIED] = time.strftime( + "%a, %d %b %Y %H:%M:%S GMT", time.gmtime(math.ceil(value))) + elif isinstance(value, datetime.datetime): + self._headers[hdrs.LAST_MODIFIED] = time.strftime( + "%a, %d %b %Y %H:%M:%S GMT", value.utctimetuple()) + elif isinstance(value, str): + self._headers[hdrs.LAST_MODIFIED] = value + + def _generate_content_type_header( + self, + CONTENT_TYPE: istr=hdrs.CONTENT_TYPE) -> None: + assert self._content_dict is not None + assert self._content_type is not None + params = '; '.join("{}={}".format(k, v) + for k, v in self._content_dict.items()) + if params: + ctype = self._content_type + '; ' + params + else: + ctype = self._content_type + self._headers[CONTENT_TYPE] = ctype + + async def _do_start_compression(self, coding: ContentCoding) -> None: + if coding != ContentCoding.identity: + assert self._payload_writer is not None + self._headers[hdrs.CONTENT_ENCODING] = coding.value + self._payload_writer.enable_compression(coding.value) + # Compressed payload may have different content length, + # remove the header + self._headers.popall(hdrs.CONTENT_LENGTH, None) + + async def _start_compression(self, request: 'BaseRequest') -> None: + if self._compression_force: + await self._do_start_compression(self._compression_force) + else: + accept_encoding = request.headers.get( + hdrs.ACCEPT_ENCODING, '').lower() + for coding in ContentCoding: + if coding.value in accept_encoding: + await self._do_start_compression(coding) + return + + async def prepare( + self, + request: 'BaseRequest' + ) -> Optional[AbstractStreamWriter]: + if self._eof_sent: + return None + if self._payload_writer is not None: + return self._payload_writer + + await request._prepare_hook(self) + return await self._start(request) + + async def _start(self, request: 'BaseRequest') -> AbstractStreamWriter: + self._req = request + + keep_alive = self._keep_alive + if keep_alive is None: + keep_alive = request.keep_alive + self._keep_alive = keep_alive + + version = request.version + writer = self._payload_writer = request._payload_writer + + headers = self._headers + for cookie in self._cookies.values(): + value = cookie.output(header='')[1:] + headers.add(hdrs.SET_COOKIE, value) + + if self._compression: + await self._start_compression(request) + + if self._chunked: + if version != HttpVersion11: + raise RuntimeError( + "Using chunked encoding is forbidden " + "for HTTP/{0.major}.{0.minor}".format(request.version)) + writer.enable_chunking() + headers[hdrs.TRANSFER_ENCODING] = 'chunked' + if hdrs.CONTENT_LENGTH in headers: + del headers[hdrs.CONTENT_LENGTH] + elif self._length_check: + writer.length = self.content_length + if writer.length is None: + if version >= HttpVersion11: + writer.enable_chunking() + headers[hdrs.TRANSFER_ENCODING] = 'chunked' + if hdrs.CONTENT_LENGTH in headers: + del headers[hdrs.CONTENT_LENGTH] + else: + keep_alive = False + + headers.setdefault(hdrs.CONTENT_TYPE, 'application/octet-stream') + headers.setdefault(hdrs.DATE, rfc822_formatted_time()) + headers.setdefault(hdrs.SERVER, SERVER_SOFTWARE) + + # connection header + if hdrs.CONNECTION not in headers: + if keep_alive: + if version == HttpVersion10: + headers[hdrs.CONNECTION] = 'keep-alive' + else: + if version == HttpVersion11: + headers[hdrs.CONNECTION] = 'close' + + # status line + status_line = 'HTTP/{}.{} {} {}'.format( + version[0], version[1], self._status, self._reason) + await writer.write_headers(status_line, headers) + + return writer + + async def write(self, data: bytes) -> None: + assert isinstance(data, (bytes, bytearray, memoryview)), \ + "data argument must be byte-ish (%r)" % type(data) + + if self._eof_sent: + raise RuntimeError("Cannot call write() after write_eof()") + if self._payload_writer is None: + raise RuntimeError("Cannot call write() before prepare()") + + await self._payload_writer.write(data) + + async def drain(self) -> None: + assert not self._eof_sent, "EOF has already been sent" + assert self._payload_writer is not None, \ + "Response has not been started" + warnings.warn("drain method is deprecated, use await resp.write()", + DeprecationWarning, + stacklevel=2) + await self._payload_writer.drain() + + async def write_eof(self, data: bytes=b'') -> None: + assert isinstance(data, (bytes, bytearray, memoryview)), \ + "data argument must be byte-ish (%r)" % type(data) + + if self._eof_sent: + return + + assert self._payload_writer is not None, \ + "Response has not been started" + + await self._payload_writer.write_eof(data) + self._eof_sent = True + self._req = None + self._body_length = self._payload_writer.output_size + self._payload_writer = None + + def __repr__(self) -> str: + if self._eof_sent: + info = "eof" + elif self.prepared: + assert self._req is not None + info = "{} {} ".format(self._req.method, self._req.path) + else: + info = "not prepared" + return "<{} {} {}>".format(self.__class__.__name__, + self.reason, info) + + def __getitem__(self, key: str) -> Any: + return self._state[key] + + def __setitem__(self, key: str, value: Any) -> None: + self._state[key] = value + + def __delitem__(self, key: str) -> None: + del self._state[key] + + def __len__(self) -> int: + return len(self._state) + + def __iter__(self) -> Iterator[str]: + return iter(self._state) + + def __hash__(self) -> int: + return hash(id(self)) + + def __eq__(self, other: object) -> bool: + return self is other + + +class Response(StreamResponse): + + def __init__(self, *, + body: Any=None, + status: int=200, + reason: Optional[str]=None, + text: Optional[str]=None, + headers: Optional[LooseHeaders]=None, + content_type: Optional[str]=None, + charset: Optional[str]=None, + zlib_executor_size: Optional[int]=None, + zlib_executor: Executor=None) -> None: + if body is not None and text is not None: + raise ValueError("body and text are not allowed together") + + if headers is None: + real_headers = CIMultiDict() # type: CIMultiDict[str] + elif not isinstance(headers, CIMultiDict): + real_headers = CIMultiDict(headers) + else: + real_headers = headers # = cast('CIMultiDict[str]', headers) + + if content_type is not None and "charset" in content_type: + raise ValueError("charset must not be in content_type " + "argument") + + if text is not None: + if hdrs.CONTENT_TYPE in real_headers: + if content_type or charset: + raise ValueError("passing both Content-Type header and " + "content_type or charset params " + "is forbidden") + else: + # fast path for filling headers + if not isinstance(text, str): + raise TypeError("text argument must be str (%r)" % + type(text)) + if content_type is None: + content_type = 'text/plain' + if charset is None: + charset = 'utf-8' + real_headers[hdrs.CONTENT_TYPE] = ( + content_type + '; charset=' + charset) + body = text.encode(charset) + text = None + else: + if hdrs.CONTENT_TYPE in real_headers: + if content_type is not None or charset is not None: + raise ValueError("passing both Content-Type header and " + "content_type or charset params " + "is forbidden") + else: + if content_type is not None: + if charset is not None: + content_type += '; charset=' + charset + real_headers[hdrs.CONTENT_TYPE] = content_type + + super().__init__(status=status, reason=reason, headers=real_headers) + + if text is not None: + self.text = text + else: + self.body = body + + self._compressed_body = None # type: Optional[bytes] + self._zlib_executor_size = zlib_executor_size + self._zlib_executor = zlib_executor + + @property + def body(self) -> Optional[Union[bytes, Payload]]: + return self._body + + @body.setter + def body(self, body: bytes, + CONTENT_TYPE: istr=hdrs.CONTENT_TYPE, + CONTENT_LENGTH: istr=hdrs.CONTENT_LENGTH) -> None: + if body is None: + self._body = None # type: Optional[bytes] + self._body_payload = False # type: bool + elif isinstance(body, (bytes, bytearray)): + self._body = body + self._body_payload = False + else: + try: + self._body = body = payload.PAYLOAD_REGISTRY.get(body) + except payload.LookupError: + raise ValueError('Unsupported body type %r' % type(body)) + + self._body_payload = True + + headers = self._headers + + # set content-length header if needed + if not self._chunked and CONTENT_LENGTH not in headers: + size = body.size + if size is not None: + headers[CONTENT_LENGTH] = str(size) + + # set content-type + if CONTENT_TYPE not in headers: + headers[CONTENT_TYPE] = body.content_type + + # copy payload headers + if body.headers: + for (key, value) in body.headers.items(): + if key not in headers: + headers[key] = value + + self._compressed_body = None + + @property + def text(self) -> Optional[str]: + if self._body is None: + return None + return self._body.decode(self.charset or 'utf-8') + + @text.setter + def text(self, text: str) -> None: + assert text is None or isinstance(text, str), \ + "text argument must be str (%r)" % type(text) + + if self.content_type == 'application/octet-stream': + self.content_type = 'text/plain' + if self.charset is None: + self.charset = 'utf-8' + + self._body = text.encode(self.charset) + self._body_payload = False + self._compressed_body = None + + @property + def content_length(self) -> Optional[int]: + if self._chunked: + return None + + if hdrs.CONTENT_LENGTH in self._headers: + return super().content_length + + if self._compressed_body is not None: + # Return length of the compressed body + return len(self._compressed_body) + elif self._body_payload: + # A payload without content length, or a compressed payload + return None + elif self._body is not None: + return len(self._body) + else: + return 0 + + @content_length.setter + def content_length(self, value: Optional[int]) -> None: + raise RuntimeError("Content length is set automatically") + + async def write_eof(self, data: bytes=b'') -> None: + if self._eof_sent: + return + if self._compressed_body is None: + body = self._body # type: Optional[Union[bytes, Payload]] + else: + body = self._compressed_body + assert not data, "data arg is not supported, got {!r}".format(data) + assert self._req is not None + assert self._payload_writer is not None + if body is not None: + if (self._req._method == hdrs.METH_HEAD or + self._status in [204, 304]): + await super().write_eof() + elif self._body_payload: + payload = cast(Payload, body) + await payload.write(self._payload_writer) + await super().write_eof() + else: + await super().write_eof(cast(bytes, body)) + else: + await super().write_eof() + + async def _start(self, request: 'BaseRequest') -> AbstractStreamWriter: + if not self._chunked and hdrs.CONTENT_LENGTH not in self._headers: + if not self._body_payload: + if self._body is not None: + self._headers[hdrs.CONTENT_LENGTH] = str(len(self._body)) + else: + self._headers[hdrs.CONTENT_LENGTH] = '0' + + return await super()._start(request) + + def _compress_body(self, zlib_mode: int) -> None: + compressobj = zlib.compressobj(wbits=zlib_mode) + body_in = self._body + assert body_in is not None + self._compressed_body = \ + compressobj.compress(body_in) + compressobj.flush() + + async def _do_start_compression(self, coding: ContentCoding) -> None: + if self._body_payload or self._chunked: + return await super()._do_start_compression(coding) + + if coding != ContentCoding.identity: + # Instead of using _payload_writer.enable_compression, + # compress the whole body + zlib_mode = (16 + zlib.MAX_WBITS + if coding == ContentCoding.gzip else -zlib.MAX_WBITS) + body_in = self._body + assert body_in is not None + if self._zlib_executor_size is not None and \ + len(body_in) > self._zlib_executor_size: + await asyncio.get_event_loop().run_in_executor( + self._zlib_executor, self._compress_body, zlib_mode) + else: + self._compress_body(zlib_mode) + + body_out = self._compressed_body + assert body_out is not None + + self._headers[hdrs.CONTENT_ENCODING] = coding.value + self._headers[hdrs.CONTENT_LENGTH] = str(len(body_out)) + + +def json_response(data: Any=sentinel, *, + text: str=None, + body: bytes=None, + status: int=200, + reason: Optional[str]=None, + headers: LooseHeaders=None, + content_type: str='application/json', + dumps: JSONEncoder=json.dumps) -> Response: + if data is not sentinel: + if text or body: + raise ValueError( + "only one of data, text, or body should be specified" + ) + else: + text = dumps(data) + return Response(text=text, body=body, status=status, reason=reason, + headers=headers, content_type=content_type) diff --git a/venv/lib/python3.6/site-packages/aiohttp/web_routedef.py b/venv/lib/python3.6/site-packages/aiohttp/web_routedef.py new file mode 100644 index 0000000..ffa8f1b --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/web_routedef.py @@ -0,0 +1,193 @@ +import abc +import os # noqa +from typing import ( + TYPE_CHECKING, + Any, + Awaitable, + Callable, + Dict, + Iterator, + List, + Optional, + Sequence, + Union, + overload, +) + +import attr + +from . import hdrs +from .abc import AbstractView +from .typedefs import PathLike + +if TYPE_CHECKING: # pragma: no cover + from .web_urldispatcher import UrlDispatcher + from .web_request import Request + from .web_response import StreamResponse +else: + Request = StreamResponse = UrlDispatcher = None + + +__all__ = ('AbstractRouteDef', 'RouteDef', 'StaticDef', 'RouteTableDef', + 'head', 'options', 'get', 'post', 'patch', 'put', 'delete', + 'route', 'view', 'static') + + +class AbstractRouteDef(abc.ABC): + @abc.abstractmethod + def register(self, router: UrlDispatcher) -> None: + pass # pragma: no cover + + +_SimpleHandler = Callable[[Request], Awaitable[StreamResponse]] +_HandlerType = Union[AbstractView, _SimpleHandler] + + +@attr.s(frozen=True, repr=False, slots=True) +class RouteDef(AbstractRouteDef): + method = attr.ib(type=str) + path = attr.ib(type=str) + handler = attr.ib() # type: _HandlerType + kwargs = attr.ib(type=Dict[str, Any]) + + def __repr__(self) -> str: + info = [] + for name, value in sorted(self.kwargs.items()): + info.append(", {}={!r}".format(name, value)) + return ("<RouteDef {method} {path} -> {handler.__name__!r}" + "{info}>".format(method=self.method, path=self.path, + handler=self.handler, info=''.join(info))) + + def register(self, router: UrlDispatcher) -> None: + if self.method in hdrs.METH_ALL: + reg = getattr(router, 'add_'+self.method.lower()) + reg(self.path, self.handler, **self.kwargs) + else: + router.add_route(self.method, self.path, self.handler, + **self.kwargs) + + +@attr.s(frozen=True, repr=False, slots=True) +class StaticDef(AbstractRouteDef): + prefix = attr.ib(type=str) + path = attr.ib() # type: PathLike + kwargs = attr.ib(type=Dict[str, Any]) + + def __repr__(self) -> str: + info = [] + for name, value in sorted(self.kwargs.items()): + info.append(", {}={!r}".format(name, value)) + return ("<StaticDef {prefix} -> {path}" + "{info}>".format(prefix=self.prefix, path=self.path, + info=''.join(info))) + + def register(self, router: UrlDispatcher) -> None: + router.add_static(self.prefix, self.path, **self.kwargs) + + +def route(method: str, path: str, handler: _HandlerType, + **kwargs: Any) -> RouteDef: + return RouteDef(method, path, handler, kwargs) + + +def head(path: str, handler: _HandlerType, **kwargs: Any) -> RouteDef: + return route(hdrs.METH_HEAD, path, handler, **kwargs) + + +def options(path: str, handler: _HandlerType, **kwargs: Any) -> RouteDef: + return route(hdrs.METH_OPTIONS, path, handler, **kwargs) + + +def get(path: str, handler: _HandlerType, *, name: Optional[str]=None, + allow_head: bool=True, **kwargs: Any) -> RouteDef: + return route(hdrs.METH_GET, path, handler, name=name, + allow_head=allow_head, **kwargs) + + +def post(path: str, handler: _HandlerType, **kwargs: Any) -> RouteDef: + return route(hdrs.METH_POST, path, handler, **kwargs) + + +def put(path: str, handler: _HandlerType, **kwargs: Any) -> RouteDef: + return route(hdrs.METH_PUT, path, handler, **kwargs) + + +def patch(path: str, handler: _HandlerType, **kwargs: Any) -> RouteDef: + return route(hdrs.METH_PATCH, path, handler, **kwargs) + + +def delete(path: str, handler: _HandlerType, **kwargs: Any) -> RouteDef: + return route(hdrs.METH_DELETE, path, handler, **kwargs) + + +def view(path: str, handler: AbstractView, **kwargs: Any) -> RouteDef: + return route(hdrs.METH_ANY, path, handler, **kwargs) + + +def static(prefix: str, path: PathLike, + **kwargs: Any) -> StaticDef: + return StaticDef(prefix, path, kwargs) + + +_Deco = Callable[[_HandlerType], _HandlerType] + + +class RouteTableDef(Sequence[AbstractRouteDef]): + """Route definition table""" + def __init__(self) -> None: + self._items = [] # type: List[AbstractRouteDef] + + def __repr__(self) -> str: + return "<RouteTableDef count={}>".format(len(self._items)) + + @overload + def __getitem__(self, index: int) -> AbstractRouteDef: ... # noqa + + @overload # noqa + def __getitem__(self, index: slice) -> List[AbstractRouteDef]: ... # noqa + + def __getitem__(self, index): # type: ignore # noqa + return self._items[index] + + def __iter__(self) -> Iterator[AbstractRouteDef]: + return iter(self._items) + + def __len__(self) -> int: + return len(self._items) + + def __contains__(self, item: object) -> bool: + return item in self._items + + def route(self, + method: str, + path: str, + **kwargs: Any) -> _Deco: + def inner(handler: _HandlerType) -> _HandlerType: + self._items.append(RouteDef(method, path, handler, kwargs)) + return handler + return inner + + def head(self, path: str, **kwargs: Any) -> _Deco: + return self.route(hdrs.METH_HEAD, path, **kwargs) + + def get(self, path: str, **kwargs: Any) -> _Deco: + return self.route(hdrs.METH_GET, path, **kwargs) + + def post(self, path: str, **kwargs: Any) -> _Deco: + return self.route(hdrs.METH_POST, path, **kwargs) + + def put(self, path: str, **kwargs: Any) -> _Deco: + return self.route(hdrs.METH_PUT, path, **kwargs) + + def patch(self, path: str, **kwargs: Any) -> _Deco: + return self.route(hdrs.METH_PATCH, path, **kwargs) + + def delete(self, path: str, **kwargs: Any) -> _Deco: + return self.route(hdrs.METH_DELETE, path, **kwargs) + + def view(self, path: str, **kwargs: Any) -> _Deco: + return self.route(hdrs.METH_ANY, path, **kwargs) + + def static(self, prefix: str, path: PathLike, + **kwargs: Any) -> None: + self._items.append(StaticDef(prefix, path, kwargs)) diff --git a/venv/lib/python3.6/site-packages/aiohttp/web_runner.py b/venv/lib/python3.6/site-packages/aiohttp/web_runner.py new file mode 100644 index 0000000..391adb5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/web_runner.py @@ -0,0 +1,308 @@ +import asyncio +import signal +import socket +from abc import ABC, abstractmethod +from typing import Any, List, Optional, Set + +from yarl import URL + +from .web_app import Application +from .web_server import Server + +try: + from ssl import SSLContext +except ImportError: + SSLContext = object # type: ignore + + +__all__ = ('BaseSite', 'TCPSite', 'UnixSite', 'SockSite', 'BaseRunner', + 'AppRunner', 'ServerRunner', 'GracefulExit') + + +class GracefulExit(SystemExit): + code = 1 + + +def _raise_graceful_exit() -> None: + raise GracefulExit() + + +class BaseSite(ABC): + __slots__ = ('_runner', '_shutdown_timeout', '_ssl_context', '_backlog', + '_server') + + def __init__(self, runner: 'BaseRunner', *, + shutdown_timeout: float=60.0, + ssl_context: Optional[SSLContext]=None, + backlog: int=128) -> None: + if runner.server is None: + raise RuntimeError("Call runner.setup() before making a site") + self._runner = runner + self._shutdown_timeout = shutdown_timeout + self._ssl_context = ssl_context + self._backlog = backlog + self._server = None # type: Optional[asyncio.AbstractServer] + + @property + @abstractmethod + def name(self) -> str: + pass # pragma: no cover + + @abstractmethod + async def start(self) -> None: + self._runner._reg_site(self) + + async def stop(self) -> None: + self._runner._check_site(self) + if self._server is None: + self._runner._unreg_site(self) + return # not started yet + self._server.close() + await self._server.wait_closed() + await self._runner.shutdown() + assert self._runner.server + await self._runner.server.shutdown(self._shutdown_timeout) + self._runner._unreg_site(self) + + +class TCPSite(BaseSite): + __slots__ = ('_host', '_port', '_reuse_address', '_reuse_port') + + def __init__(self, runner: 'BaseRunner', + host: str=None, port: int=None, *, + shutdown_timeout: float=60.0, + ssl_context: Optional[SSLContext]=None, + backlog: int=128, reuse_address: Optional[bool]=None, + reuse_port: Optional[bool]=None) -> None: + super().__init__(runner, shutdown_timeout=shutdown_timeout, + ssl_context=ssl_context, backlog=backlog) + if host is None: + host = "0.0.0.0" + self._host = host + if port is None: + port = 8443 if self._ssl_context else 8080 + self._port = port + self._reuse_address = reuse_address + self._reuse_port = reuse_port + + @property + def name(self) -> str: + scheme = 'https' if self._ssl_context else 'http' + return str(URL.build(scheme=scheme, host=self._host, port=self._port)) + + async def start(self) -> None: + await super().start() + loop = asyncio.get_event_loop() + server = self._runner.server + assert server is not None + self._server = await loop.create_server( + server, self._host, self._port, + ssl=self._ssl_context, backlog=self._backlog, + reuse_address=self._reuse_address, + reuse_port=self._reuse_port) + + +class UnixSite(BaseSite): + __slots__ = ('_path', ) + + def __init__(self, runner: 'BaseRunner', path: str, *, + shutdown_timeout: float=60.0, + ssl_context: Optional[SSLContext]=None, + backlog: int=128) -> None: + super().__init__(runner, shutdown_timeout=shutdown_timeout, + ssl_context=ssl_context, backlog=backlog) + self._path = path + + @property + def name(self) -> str: + scheme = 'https' if self._ssl_context else 'http' + return '{}://unix:{}:'.format(scheme, self._path) + + async def start(self) -> None: + await super().start() + loop = asyncio.get_event_loop() + server = self._runner.server + assert server is not None + self._server = await loop.create_unix_server( + server, self._path, + ssl=self._ssl_context, backlog=self._backlog) + + +class SockSite(BaseSite): + __slots__ = ('_sock', '_name') + + def __init__(self, runner: 'BaseRunner', sock: socket.socket, *, + shutdown_timeout: float=60.0, + ssl_context: Optional[SSLContext]=None, + backlog: int=128) -> None: + super().__init__(runner, shutdown_timeout=shutdown_timeout, + ssl_context=ssl_context, backlog=backlog) + self._sock = sock + scheme = 'https' if self._ssl_context else 'http' + if hasattr(socket, 'AF_UNIX') and sock.family == socket.AF_UNIX: + name = '{}://unix:{}:'.format(scheme, sock.getsockname()) + else: + host, port = sock.getsockname()[:2] + name = str(URL.build(scheme=scheme, host=host, port=port)) + self._name = name + + @property + def name(self) -> str: + return self._name + + async def start(self) -> None: + await super().start() + loop = asyncio.get_event_loop() + server = self._runner.server + assert server is not None + self._server = await loop.create_server( + server, sock=self._sock, + ssl=self._ssl_context, backlog=self._backlog) + + +class BaseRunner(ABC): + __slots__ = ('_handle_signals', '_kwargs', '_server', '_sites') + + def __init__(self, *, handle_signals: bool=False, **kwargs: Any) -> None: + self._handle_signals = handle_signals + self._kwargs = kwargs + self._server = None # type: Optional[Server] + self._sites = [] # type: List[BaseSite] + + @property + def server(self) -> Optional[Server]: + return self._server + + @property + def addresses(self) -> List[str]: + ret = [] # type: List[str] + for site in self._sites: + server = site._server + if server is not None: + sockets = server.sockets + if sockets is not None: + for sock in sockets: + ret.append(sock.getsockname()) + return ret + + @property + def sites(self) -> Set[BaseSite]: + return set(self._sites) + + async def setup(self) -> None: + loop = asyncio.get_event_loop() + + if self._handle_signals: + try: + loop.add_signal_handler(signal.SIGINT, _raise_graceful_exit) + loop.add_signal_handler(signal.SIGTERM, _raise_graceful_exit) + except NotImplementedError: # pragma: no cover + # add_signal_handler is not implemented on Windows + pass + + self._server = await self._make_server() + + @abstractmethod + async def shutdown(self) -> None: + pass # pragma: no cover + + async def cleanup(self) -> None: + loop = asyncio.get_event_loop() + + if self._server is None: + # no started yet, do nothing + return + + # The loop over sites is intentional, an exception on gather() + # leaves self._sites in unpredictable state. + # The loop guaranties that a site is either deleted on success or + # still present on failure + for site in list(self._sites): + await site.stop() + await self._cleanup_server() + self._server = None + if self._handle_signals: + try: + loop.remove_signal_handler(signal.SIGINT) + loop.remove_signal_handler(signal.SIGTERM) + except NotImplementedError: # pragma: no cover + # remove_signal_handler is not implemented on Windows + pass + + @abstractmethod + async def _make_server(self) -> Server: + pass # pragma: no cover + + @abstractmethod + async def _cleanup_server(self) -> None: + pass # pragma: no cover + + def _reg_site(self, site: BaseSite) -> None: + if site in self._sites: + raise RuntimeError("Site {} is already registered in runner {}" + .format(site, self)) + self._sites.append(site) + + def _check_site(self, site: BaseSite) -> None: + if site not in self._sites: + raise RuntimeError("Site {} is not registered in runner {}" + .format(site, self)) + + def _unreg_site(self, site: BaseSite) -> None: + if site not in self._sites: + raise RuntimeError("Site {} is not registered in runner {}" + .format(site, self)) + self._sites.remove(site) + + +class ServerRunner(BaseRunner): + """Low-level web server runner""" + + __slots__ = ('_web_server',) + + def __init__(self, web_server: Server, *, + handle_signals: bool=False, **kwargs: Any) -> None: + super().__init__(handle_signals=handle_signals, **kwargs) + self._web_server = web_server + + async def shutdown(self) -> None: + pass + + async def _make_server(self) -> Server: + return self._web_server + + async def _cleanup_server(self) -> None: + pass + + +class AppRunner(BaseRunner): + """Web Application runner""" + + __slots__ = ('_app',) + + def __init__(self, app: Application, *, + handle_signals: bool=False, **kwargs: Any) -> None: + super().__init__(handle_signals=handle_signals, **kwargs) + if not isinstance(app, Application): + raise TypeError("The first argument should be web.Application " + "instance, got {!r}".format(app)) + self._app = app + + @property + def app(self) -> Application: + return self._app + + async def shutdown(self) -> None: + await self._app.shutdown() + + async def _make_server(self) -> Server: + loop = asyncio.get_event_loop() + self._app._set_loop(loop) + self._app.on_startup.freeze() + await self._app.startup() + self._app.freeze() + + return self._app._make_handler(loop=loop, **self._kwargs) + + async def _cleanup_server(self) -> None: + await self._app.cleanup() diff --git a/venv/lib/python3.6/site-packages/aiohttp/web_server.py b/venv/lib/python3.6/site-packages/aiohttp/web_server.py new file mode 100644 index 0000000..ad746ed --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/web_server.py @@ -0,0 +1,57 @@ +"""Low level HTTP server.""" +import asyncio +from typing import Any, Awaitable, Callable, Dict, List, Optional # noqa + +from .abc import AbstractStreamWriter +from .helpers import get_running_loop +from .http_parser import RawRequestMessage +from .streams import StreamReader +from .web_protocol import RequestHandler, _RequestFactory, _RequestHandler +from .web_request import BaseRequest + +__all__ = ('Server',) + + +class Server: + + def __init__(self, + handler: _RequestHandler, + *, + request_factory: Optional[_RequestFactory]=None, + loop: Optional[asyncio.AbstractEventLoop]=None, + **kwargs: Any) -> None: + self._loop = get_running_loop(loop) + self._connections = {} # type: Dict[RequestHandler, asyncio.Transport] + self._kwargs = kwargs + self.requests_count = 0 + self.request_handler = handler + self.request_factory = request_factory or self._make_request + + @property + def connections(self) -> List[RequestHandler]: + return list(self._connections.keys()) + + def connection_made(self, handler: RequestHandler, + transport: asyncio.Transport) -> None: + self._connections[handler] = transport + + def connection_lost(self, handler: RequestHandler, + exc: Optional[BaseException]=None) -> None: + if handler in self._connections: + del self._connections[handler] + + def _make_request(self, message: RawRequestMessage, + payload: StreamReader, + protocol: RequestHandler, + writer: AbstractStreamWriter, + task: 'asyncio.Task[None]') -> BaseRequest: + return BaseRequest( + message, payload, protocol, writer, task, self._loop) + + async def shutdown(self, timeout: Optional[float]=None) -> None: + coros = [conn.shutdown(timeout) for conn in self._connections] + await asyncio.gather(*coros, loop=self._loop) + self._connections.clear() + + def __call__(self) -> RequestHandler: + return RequestHandler(self, loop=self._loop, **self._kwargs) diff --git a/venv/lib/python3.6/site-packages/aiohttp/web_urldispatcher.py b/venv/lib/python3.6/site-packages/aiohttp/web_urldispatcher.py new file mode 100644 index 0000000..182c98e --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/web_urldispatcher.py @@ -0,0 +1,1133 @@ +import abc +import asyncio +import base64 +import hashlib +import inspect +import keyword +import os +import re +import warnings +from contextlib import contextmanager +from functools import wraps +from pathlib import Path +from types import MappingProxyType +from typing import ( # noqa + TYPE_CHECKING, + Any, + Awaitable, + Callable, + Container, + Dict, + Generator, + Iterable, + Iterator, + List, + Mapping, + Optional, + Set, + Sized, + Tuple, + Union, + cast, +) + +from yarl import URL + +from . import hdrs +from .abc import AbstractMatchInfo, AbstractRouter, AbstractView +from .helpers import DEBUG +from .http import HttpVersion11 +from .typedefs import PathLike +from .web_exceptions import ( + HTTPException, + HTTPExpectationFailed, + HTTPForbidden, + HTTPMethodNotAllowed, + HTTPNotFound, +) +from .web_fileresponse import FileResponse +from .web_request import Request +from .web_response import Response, StreamResponse +from .web_routedef import AbstractRouteDef + +__all__ = ('UrlDispatcher', 'UrlMappingMatchInfo', + 'AbstractResource', 'Resource', 'PlainResource', 'DynamicResource', + 'AbstractRoute', 'ResourceRoute', + 'StaticResource', 'View') + + +if TYPE_CHECKING: # pragma: no cover + from .web_app import Application # noqa + BaseDict = Dict[str, str] +else: + BaseDict = dict + +HTTP_METHOD_RE = re.compile(r"^[0-9A-Za-z!#\$%&'\*\+\-\.\^_`\|~]+$") +ROUTE_RE = re.compile(r'(\{[_a-zA-Z][^{}]*(?:\{[^{}]*\}[^{}]*)*\})') +PATH_SEP = re.escape('/') + + +_WebHandler = Callable[[Request], Awaitable[StreamResponse]] +_ExpectHandler = Callable[[Request], Awaitable[None]] +_Resolve = Tuple[Optional[AbstractMatchInfo], Set[str]] + + +class AbstractResource(Sized, Iterable['AbstractRoute']): + + def __init__(self, *, name: Optional[str]=None) -> None: + self._name = name + + @property + def name(self) -> Optional[str]: + return self._name + + @property + @abc.abstractmethod + def canonical(self) -> str: + """Exposes the resource's canonical path. + + For example '/foo/bar/{name}' + + """ + + @abc.abstractmethod # pragma: no branch + def url_for(self, **kwargs: str) -> URL: + """Construct url for resource with additional params.""" + + @abc.abstractmethod # pragma: no branch + async def resolve(self, request: Request) -> _Resolve: + """Resolve resource + + Return (UrlMappingMatchInfo, allowed_methods) pair.""" + + @abc.abstractmethod + def add_prefix(self, prefix: str) -> None: + """Add a prefix to processed URLs. + + Required for subapplications support. + + """ + + @abc.abstractmethod + def get_info(self) -> Dict[str, Any]: + """Return a dict with additional info useful for introspection""" + + def freeze(self) -> None: + pass + + @abc.abstractmethod + def raw_match(self, path: str) -> bool: + """Perform a raw match against path""" + + +class AbstractRoute(abc.ABC): + + def __init__(self, method: str, + handler: Union[_WebHandler, AbstractView], *, + expect_handler: _ExpectHandler=None, + resource: AbstractResource=None) -> None: + + if expect_handler is None: + expect_handler = _default_expect_handler + + assert asyncio.iscoroutinefunction(expect_handler), \ + 'Coroutine is expected, got {!r}'.format(expect_handler) + + method = method.upper() + if not HTTP_METHOD_RE.match(method): + raise ValueError("{} is not allowed HTTP method".format(method)) + + assert callable(handler), handler + if asyncio.iscoroutinefunction(handler): + pass + elif inspect.isgeneratorfunction(handler): + warnings.warn("Bare generators are deprecated, " + "use @coroutine wrapper", DeprecationWarning) + elif (isinstance(handler, type) and + issubclass(handler, AbstractView)): + pass + else: + warnings.warn("Bare functions are deprecated, " + "use async ones", DeprecationWarning) + + @wraps(handler) + async def handler_wrapper(request: Request) -> StreamResponse: + result = old_handler(request) + if asyncio.iscoroutine(result): + result = await result + return result + old_handler = handler + handler = handler_wrapper + + self._method = method + self._handler = handler + self._expect_handler = expect_handler + self._resource = resource + + @property + def method(self) -> str: + return self._method + + @property + def handler(self) -> _WebHandler: + return self._handler + + @property + @abc.abstractmethod + def name(self) -> Optional[str]: + """Optional route's name, always equals to resource's name.""" + + @property + def resource(self) -> Optional[AbstractResource]: + return self._resource + + @abc.abstractmethod + def get_info(self) -> Dict[str, Any]: + """Return a dict with additional info useful for introspection""" + + @abc.abstractmethod # pragma: no branch + def url_for(self, *args: str, **kwargs: str) -> URL: + """Construct url for route with additional params.""" + + async def handle_expect_header(self, request: Request) -> None: + await self._expect_handler(request) + + +class UrlMappingMatchInfo(BaseDict, AbstractMatchInfo): + + def __init__(self, match_dict: Dict[str, str], route: AbstractRoute): + super().__init__(match_dict) + self._route = route + self._apps = [] # type: List[Application] + self._current_app = None # type: Optional[Application] + self._frozen = False + + @property + def handler(self) -> _WebHandler: + return self._route.handler + + @property + def route(self) -> AbstractRoute: + return self._route + + @property + def expect_handler(self) -> _ExpectHandler: + return self._route.handle_expect_header + + @property + def http_exception(self) -> Optional[HTTPException]: + return None + + def get_info(self) -> Dict[str, str]: + return self._route.get_info() + + @property + def apps(self) -> Tuple['Application', ...]: + return tuple(self._apps) + + def add_app(self, app: 'Application') -> None: + if self._frozen: + raise RuntimeError("Cannot change apps stack after .freeze() call") + if self._current_app is None: + self._current_app = app + self._apps.insert(0, app) + + @property + def current_app(self) -> 'Application': + app = self._current_app + assert app is not None + return app + + @contextmanager + def set_current_app(self, + app: 'Application') -> Generator[None, None, None]: + if DEBUG: # pragma: no cover + if app not in self._apps: + raise RuntimeError( + "Expected one of the following apps {!r}, got {!r}" + .format(self._apps, app)) + prev = self._current_app + self._current_app = app + try: + yield + finally: + self._current_app = prev + + def freeze(self) -> None: + self._frozen = True + + def __repr__(self) -> str: + return "<MatchInfo {}: {}>".format(super().__repr__(), self._route) + + +class MatchInfoError(UrlMappingMatchInfo): + + def __init__(self, http_exception: HTTPException) -> None: + self._exception = http_exception + super().__init__({}, SystemRoute(self._exception)) + + @property + def http_exception(self) -> HTTPException: + return self._exception + + def __repr__(self) -> str: + return "<MatchInfoError {}: {}>".format(self._exception.status, + self._exception.reason) + + +async def _default_expect_handler(request: Request) -> None: + """Default handler for Expect header. + + Just send "100 Continue" to client. + raise HTTPExpectationFailed if value of header is not "100-continue" + """ + expect = request.headers.get(hdrs.EXPECT) + if request.version == HttpVersion11: + if expect.lower() == "100-continue": + await request.writer.write(b"HTTP/1.1 100 Continue\r\n\r\n") + else: + raise HTTPExpectationFailed(text="Unknown Expect: %s" % expect) + + +class Resource(AbstractResource): + + def __init__(self, *, name: Optional[str]=None) -> None: + super().__init__(name=name) + self._routes = [] # type: List[ResourceRoute] + + def add_route(self, method: str, + handler: Union[AbstractView, _WebHandler], *, + expect_handler: Optional[_ExpectHandler]=None + ) -> 'ResourceRoute': + + for route_obj in self._routes: + if route_obj.method == method or route_obj.method == hdrs.METH_ANY: + raise RuntimeError("Added route will never be executed, " + "method {route.method} is already " + "registered".format(route=route_obj)) + + route_obj = ResourceRoute(method, handler, self, + expect_handler=expect_handler) + self.register_route(route_obj) + return route_obj + + def register_route(self, route: 'ResourceRoute') -> None: + assert isinstance(route, ResourceRoute), \ + 'Instance of Route class is required, got {!r}'.format(route) + self._routes.append(route) + + async def resolve(self, request: Request) -> _Resolve: + allowed_methods = set() # type: Set[str] + + match_dict = self._match(request.rel_url.raw_path) + if match_dict is None: + return None, allowed_methods + + for route_obj in self._routes: + route_method = route_obj.method + allowed_methods.add(route_method) + + if (route_method == request.method or + route_method == hdrs.METH_ANY): + return (UrlMappingMatchInfo(match_dict, route_obj), + allowed_methods) + else: + return None, allowed_methods + + @abc.abstractmethod + def _match(self, path: str) -> Optional[Dict[str, str]]: + pass # pragma: no cover + + def __len__(self) -> int: + return len(self._routes) + + def __iter__(self) -> Iterator[AbstractRoute]: + return iter(self._routes) + + # TODO: implement all abstract methods + + +class PlainResource(Resource): + + def __init__(self, path: str, *, name: Optional[str]=None) -> None: + super().__init__(name=name) + assert not path or path.startswith('/') + self._path = path + + @property + def canonical(self) -> str: + return self._path + + def freeze(self) -> None: + if not self._path: + self._path = '/' + + def add_prefix(self, prefix: str) -> None: + assert prefix.startswith('/') + assert not prefix.endswith('/') + assert len(prefix) > 1 + self._path = prefix + self._path + + def _match(self, path: str) -> Optional[Dict[str, str]]: + # string comparison is about 10 times faster than regexp matching + if self._path == path: + return {} + else: + return None + + def raw_match(self, path: str) -> bool: + return self._path == path + + def get_info(self) -> Dict[str, Any]: + return {'path': self._path} + + def url_for(self) -> URL: # type: ignore + return URL.build(path=self._path, encoded=True) + + def __repr__(self) -> str: + name = "'" + self.name + "' " if self.name is not None else "" + return "<PlainResource {name} {path}>".format(name=name, + path=self._path) + + +class DynamicResource(Resource): + + DYN = re.compile(r'\{(?P<var>[_a-zA-Z][_a-zA-Z0-9]*)\}') + DYN_WITH_RE = re.compile( + r'\{(?P<var>[_a-zA-Z][_a-zA-Z0-9]*):(?P<re>.+)\}') + GOOD = r'[^{}/]+' + + def __init__(self, path: str, *, name: Optional[str]=None) -> None: + super().__init__(name=name) + pattern = '' + formatter = '' + for part in ROUTE_RE.split(path): + match = self.DYN.fullmatch(part) + if match: + pattern += '(?P<{}>{})'.format(match.group('var'), self.GOOD) + formatter += '{' + match.group('var') + '}' + continue + + match = self.DYN_WITH_RE.fullmatch(part) + if match: + pattern += '(?P<{var}>{re})'.format(**match.groupdict()) + formatter += '{' + match.group('var') + '}' + continue + + if '{' in part or '}' in part: + raise ValueError("Invalid path '{}'['{}']".format(path, part)) + + path = URL.build(path=part).raw_path + formatter += path + pattern += re.escape(path) + + try: + compiled = re.compile(pattern) + except re.error as exc: + raise ValueError( + "Bad pattern '{}': {}".format(pattern, exc)) from None + assert compiled.pattern.startswith(PATH_SEP) + assert formatter.startswith('/') + self._pattern = compiled + self._formatter = formatter + + @property + def canonical(self) -> str: + return self._formatter + + def add_prefix(self, prefix: str) -> None: + assert prefix.startswith('/') + assert not prefix.endswith('/') + assert len(prefix) > 1 + self._pattern = re.compile(re.escape(prefix)+self._pattern.pattern) + self._formatter = prefix + self._formatter + + def _match(self, path: str) -> Optional[Dict[str, str]]: + match = self._pattern.fullmatch(path) + if match is None: + return None + else: + return {key: URL.build(path=value, encoded=True).path + for key, value in match.groupdict().items()} + + def raw_match(self, path: str) -> bool: + return self._formatter == path + + def get_info(self) -> Dict[str, Any]: + return {'formatter': self._formatter, + 'pattern': self._pattern} + + def url_for(self, **parts: str) -> URL: + url = self._formatter.format_map({k: URL.build(path=v).raw_path + for k, v in parts.items()}) + return URL.build(path=url) + + def __repr__(self) -> str: + name = "'" + self.name + "' " if self.name is not None else "" + return ("<DynamicResource {name} {formatter}>" + .format(name=name, formatter=self._formatter)) + + +class PrefixResource(AbstractResource): + + def __init__(self, prefix: str, *, name: Optional[str]=None) -> None: + assert not prefix or prefix.startswith('/'), prefix + assert prefix in ('', '/') or not prefix.endswith('/'), prefix + super().__init__(name=name) + self._prefix = URL.build(path=prefix).raw_path + + @property + def canonical(self) -> str: + return self._prefix + + def add_prefix(self, prefix: str) -> None: + assert prefix.startswith('/') + assert not prefix.endswith('/') + assert len(prefix) > 1 + self._prefix = prefix + self._prefix + + def raw_match(self, prefix: str) -> bool: + return False + + # TODO: impl missing abstract methods + + +class StaticResource(PrefixResource): + VERSION_KEY = 'v' + + def __init__(self, prefix: str, directory: PathLike, + *, name: Optional[str]=None, + expect_handler: Optional[_ExpectHandler]=None, + chunk_size: int=256 * 1024, + show_index: bool=False, follow_symlinks: bool=False, + append_version: bool=False)-> None: + super().__init__(prefix, name=name) + try: + directory = Path(directory) + if str(directory).startswith('~'): + directory = Path(os.path.expanduser(str(directory))) + directory = directory.resolve() + if not directory.is_dir(): + raise ValueError('Not a directory') + except (FileNotFoundError, ValueError) as error: + raise ValueError( + "No directory exists at '{}'".format(directory)) from error + self._directory = directory + self._show_index = show_index + self._chunk_size = chunk_size + self._follow_symlinks = follow_symlinks + self._expect_handler = expect_handler + self._append_version = append_version + + self._routes = {'GET': ResourceRoute('GET', self._handle, self, + expect_handler=expect_handler), + + 'HEAD': ResourceRoute('HEAD', self._handle, self, + expect_handler=expect_handler)} + + def url_for(self, *, filename: Union[str, Path], # type: ignore + append_version: Optional[bool]=None) -> URL: + if append_version is None: + append_version = self._append_version + if isinstance(filename, Path): + filename = str(filename) + while filename.startswith('/'): + filename = filename[1:] + filename = '/' + filename + + # filename is not encoded + url = URL.build(path=self._prefix + filename) + + if append_version: + try: + if filename.startswith('/'): + filename = filename[1:] + filepath = self._directory.joinpath(filename).resolve() + if not self._follow_symlinks: + filepath.relative_to(self._directory) + except (ValueError, FileNotFoundError): + # ValueError for case when path point to symlink + # with follow_symlinks is False + return url # relatively safe + if filepath.is_file(): + # TODO cache file content + # with file watcher for cache invalidation + with open(str(filepath), mode='rb') as f: + file_bytes = f.read() + h = self._get_file_hash(file_bytes) + url = url.with_query({self.VERSION_KEY: h}) + return url + return url + + @staticmethod + def _get_file_hash(byte_array: bytes) -> str: + m = hashlib.sha256() # todo sha256 can be configurable param + m.update(byte_array) + b64 = base64.urlsafe_b64encode(m.digest()) + return b64.decode('ascii') + + def get_info(self) -> Dict[str, Any]: + return {'directory': self._directory, + 'prefix': self._prefix} + + def set_options_route(self, handler: _WebHandler) -> None: + if 'OPTIONS' in self._routes: + raise RuntimeError('OPTIONS route was set already') + self._routes['OPTIONS'] = ResourceRoute( + 'OPTIONS', handler, self, + expect_handler=self._expect_handler) + + async def resolve(self, request: Request) -> _Resolve: + path = request.rel_url.raw_path + method = request.method + allowed_methods = set(self._routes) + if not path.startswith(self._prefix): + return None, set() + + if method not in allowed_methods: + return None, allowed_methods + + match_dict = {'filename': URL.build(path=path[len(self._prefix)+1:], + encoded=True).path} + return (UrlMappingMatchInfo(match_dict, self._routes[method]), + allowed_methods) + + def __len__(self) -> int: + return len(self._routes) + + def __iter__(self) -> Iterator[AbstractRoute]: + return iter(self._routes.values()) + + async def _handle(self, request: Request) -> StreamResponse: + rel_url = request.match_info['filename'] + try: + filename = Path(rel_url) + if filename.anchor: + # rel_url is an absolute name like + # /static/\\machine_name\c$ or /static/D:\path + # where the static dir is totally different + raise HTTPForbidden() + filepath = self._directory.joinpath(filename).resolve() + if not self._follow_symlinks: + filepath.relative_to(self._directory) + except (ValueError, FileNotFoundError) as error: + # relatively safe + raise HTTPNotFound() from error + except HTTPForbidden: + raise + except Exception as error: + # perm error or other kind! + request.app.logger.exception(error) + raise HTTPNotFound() from error + + # on opening a dir, load its contents if allowed + if filepath.is_dir(): + if self._show_index: + try: + return Response(text=self._directory_as_html(filepath), + content_type="text/html") + except PermissionError: + raise HTTPForbidden() + else: + raise HTTPForbidden() + elif filepath.is_file(): + return FileResponse(filepath, chunk_size=self._chunk_size) + else: + raise HTTPNotFound + + def _directory_as_html(self, filepath: Path) -> str: + # returns directory's index as html + + # sanity check + assert filepath.is_dir() + + relative_path_to_dir = filepath.relative_to(self._directory).as_posix() + index_of = "Index of /{}".format(relative_path_to_dir) + h1 = "<h1>{}</h1>".format(index_of) + + index_list = [] + dir_index = filepath.iterdir() + for _file in sorted(dir_index): + # show file url as relative to static path + rel_path = _file.relative_to(self._directory).as_posix() + file_url = self._prefix + '/' + rel_path + + # if file is a directory, add '/' to the end of the name + if _file.is_dir(): + file_name = "{}/".format(_file.name) + else: + file_name = _file.name + + index_list.append( + '<li><a href="{url}">{name}</a></li>'.format(url=file_url, + name=file_name) + ) + ul = "<ul>\n{}\n</ul>".format('\n'.join(index_list)) + body = "<body>\n{}\n{}\n</body>".format(h1, ul) + + head_str = "<head>\n<title>{}</title>\n</head>".format(index_of) + html = "<html>\n{}\n{}\n</html>".format(head_str, body) + + return html + + def __repr__(self) -> str: + name = "'" + self.name + "'" if self.name is not None else "" + return "<StaticResource {name} {path} -> {directory!r}>".format( + name=name, path=self._prefix, directory=self._directory) + + +class PrefixedSubAppResource(PrefixResource): + + def __init__(self, prefix: str, app: 'Application') -> None: + super().__init__(prefix) + self._app = app + for resource in app.router.resources(): + resource.add_prefix(prefix) + + def add_prefix(self, prefix: str) -> None: + super().add_prefix(prefix) + for resource in self._app.router.resources(): + resource.add_prefix(prefix) + + def url_for(self, *args: str, **kwargs: str) -> URL: + raise RuntimeError(".url_for() is not supported " + "by sub-application root") + + def get_info(self) -> Dict[str, Any]: + return {'app': self._app, + 'prefix': self._prefix} + + async def resolve(self, request: Request) -> _Resolve: + if not request.url.raw_path.startswith(self._prefix): + return None, set() + match_info = await self._app.router.resolve(request) + match_info.add_app(self._app) + if isinstance(match_info.http_exception, HTTPMethodNotAllowed): + methods = match_info.http_exception.allowed_methods + else: + methods = set() + return match_info, methods + + def __len__(self) -> int: + return len(self._app.router.routes()) + + def __iter__(self) -> Iterator[AbstractRoute]: + return iter(self._app.router.routes()) + + def __repr__(self) -> str: + return "<PrefixedSubAppResource {prefix} -> {app!r}>".format( + prefix=self._prefix, app=self._app) + + +class AbstractRuleMatching(abc.ABC): + @abc.abstractmethod # pragma: no branch + async def match(self, request: Request) -> bool: + """Return bool if the request satisfies the criteria""" + + @abc.abstractmethod # pragma: no branch + def get_info(self) -> Dict[str, Any]: + """Return a dict with additional info useful for introspection""" + + @property + @abc.abstractmethod # pragma: no branch + def canonical(self) -> str: + """Return a str""" + + +class Domain(AbstractRuleMatching): + re_part = re.compile(r"(?!-)[a-z\d-]{1,63}(?<!-)") + + def __init__(self, domain: str) -> None: + super().__init__() + self._domain = self.validation(domain) + + @property + def canonical(self) -> str: + return self._domain + + def validation(self, domain: str) -> str: + if not isinstance(domain, str): + raise TypeError("Domain must be str") + domain = domain.rstrip('.').lower() + if not domain: + raise ValueError("Domain cannot be empty") + elif '://' in domain: + raise ValueError("Scheme not supported") + url = URL('http://' + domain) + if not all( + self.re_part.fullmatch(x) + for x in url.raw_host.split(".")): # type: ignore + raise ValueError("Domain not valid") + if url.port == 80: + return url.raw_host # type: ignore + return '{}:{}'.format(url.raw_host, url.port) + + async def match(self, request: Request) -> bool: + host = request.headers.get(hdrs.HOST) + return host and self.match_domain(host) + + def match_domain(self, host: str) -> bool: + return host.lower() == self._domain + + def get_info(self) -> Dict[str, Any]: + return {'domain': self._domain} + + +class MaskDomain(Domain): + re_part = re.compile(r"(?!-)[a-z\d\*-]{1,63}(?<!-)") + + def __init__(self, domain: str) -> None: + super().__init__(domain) + mask = self._domain.replace('.', r'\.').replace('*', '.*') + self._mask = re.compile(mask) + + @property + def canonical(self) -> str: + return self._mask.pattern + + def match_domain(self, host: str) -> bool: + return self._mask.fullmatch(host) is not None + + +class MatchedSubAppResource(PrefixedSubAppResource): + + def __init__(self, rule: AbstractRuleMatching, app: 'Application') -> None: + AbstractResource.__init__(self) + self._prefix = '' + self._app = app + self._rule = rule + + @property + def canonical(self) -> str: + return self._rule.canonical + + def get_info(self) -> Dict[str, Any]: + return {'app': self._app, + 'rule': self._rule} + + async def resolve(self, request: Request) -> _Resolve: + if not await self._rule.match(request): + return None, set() + match_info = await self._app.router.resolve(request) + match_info.add_app(self._app) + if isinstance(match_info.http_exception, HTTPMethodNotAllowed): + methods = match_info.http_exception.allowed_methods + else: + methods = set() + return match_info, methods + + def __repr__(self) -> str: + return "<MatchedSubAppResource -> {app!r}>" \ + "".format(app=self._app) + + +class ResourceRoute(AbstractRoute): + """A route with resource""" + + def __init__(self, method: str, + handler: Union[_WebHandler, AbstractView], + resource: AbstractResource, *, + expect_handler: Optional[_ExpectHandler]=None) -> None: + super().__init__(method, handler, expect_handler=expect_handler, + resource=resource) + + def __repr__(self) -> str: + return "<ResourceRoute [{method}] {resource} -> {handler!r}".format( + method=self.method, resource=self._resource, + handler=self.handler) + + @property + def name(self) -> Optional[str]: + return self._resource.name # type: ignore + + def url_for(self, *args: str, **kwargs: str) -> URL: + """Construct url for route with additional params.""" + return self._resource.url_for(*args, **kwargs) # type: ignore + + def get_info(self) -> Dict[str, Any]: + return self._resource.get_info() # type: ignore + + +class SystemRoute(AbstractRoute): + + def __init__(self, http_exception: HTTPException) -> None: + super().__init__(hdrs.METH_ANY, self._handle) + self._http_exception = http_exception + + def url_for(self, *args: str, **kwargs: str) -> URL: + raise RuntimeError(".url_for() is not allowed for SystemRoute") + + @property + def name(self) -> Optional[str]: + return None + + def get_info(self) -> Dict[str, Any]: + return {'http_exception': self._http_exception} + + async def _handle(self, request: Request) -> StreamResponse: + raise self._http_exception + + @property + def status(self) -> int: + return self._http_exception.status + + @property + def reason(self) -> str: + return self._http_exception.reason + + def __repr__(self) -> str: + return "<SystemRoute {self.status}: {self.reason}>".format(self=self) + + +class View(AbstractView): + + async def _iter(self) -> StreamResponse: + if self.request.method not in hdrs.METH_ALL: + self._raise_allowed_methods() + method = getattr(self, self.request.method.lower(), None) + if method is None: + self._raise_allowed_methods() + resp = await method() + return resp + + def __await__(self) -> Generator[Any, None, StreamResponse]: + return self._iter().__await__() + + def _raise_allowed_methods(self) -> None: + allowed_methods = { + m for m in hdrs.METH_ALL if hasattr(self, m.lower())} + raise HTTPMethodNotAllowed(self.request.method, allowed_methods) + + +class ResourcesView(Sized, + Iterable[AbstractResource], + Container[AbstractResource]): + + def __init__(self, resources: List[AbstractResource]) -> None: + self._resources = resources + + def __len__(self) -> int: + return len(self._resources) + + def __iter__(self) -> Iterator[AbstractResource]: + yield from self._resources + + def __contains__(self, resource: object) -> bool: + return resource in self._resources + + +class RoutesView(Sized, Iterable[AbstractRoute], Container[AbstractRoute]): + + def __init__(self, resources: List[AbstractResource]): + self._routes = [] # type: List[AbstractRoute] + for resource in resources: + for route in resource: + self._routes.append(route) + + def __len__(self) -> int: + return len(self._routes) + + def __iter__(self) -> Iterator[AbstractRoute]: + yield from self._routes + + def __contains__(self, route: object) -> bool: + return route in self._routes + + +class UrlDispatcher(AbstractRouter, Mapping[str, AbstractResource]): + + NAME_SPLIT_RE = re.compile(r'[.:-]') + + def __init__(self) -> None: + super().__init__() + self._resources = [] # type: List[AbstractResource] + self._named_resources = {} # type: Dict[str, AbstractResource] + + async def resolve(self, request: Request) -> AbstractMatchInfo: + method = request.method + allowed_methods = set() # type: Set[str] + + for resource in self._resources: + match_dict, allowed = await resource.resolve(request) + if match_dict is not None: + return match_dict + else: + allowed_methods |= allowed + else: + if allowed_methods: + return MatchInfoError(HTTPMethodNotAllowed(method, + allowed_methods)) + else: + return MatchInfoError(HTTPNotFound()) + + def __iter__(self) -> Iterator[str]: + return iter(self._named_resources) + + def __len__(self) -> int: + return len(self._named_resources) + + def __contains__(self, resource: object) -> bool: + return resource in self._named_resources + + def __getitem__(self, name: str) -> AbstractResource: + return self._named_resources[name] + + def resources(self) -> ResourcesView: + return ResourcesView(self._resources) + + def routes(self) -> RoutesView: + return RoutesView(self._resources) + + def named_resources(self) -> Mapping[str, AbstractResource]: + return MappingProxyType(self._named_resources) + + def register_resource(self, resource: AbstractResource) -> None: + assert isinstance(resource, AbstractResource), \ + 'Instance of AbstractResource class is required, got {!r}'.format( + resource) + if self.frozen: + raise RuntimeError( + "Cannot register a resource into frozen router.") + + name = resource.name + + if name is not None: + parts = self.NAME_SPLIT_RE.split(name) + for part in parts: + if not part.isidentifier() or keyword.iskeyword(part): + raise ValueError('Incorrect route name {!r}, ' + 'the name should be a sequence of ' + 'python identifiers separated ' + 'by dash, dot or column'.format(name)) + if name in self._named_resources: + raise ValueError('Duplicate {!r}, ' + 'already handled by {!r}' + .format(name, self._named_resources[name])) + self._named_resources[name] = resource + self._resources.append(resource) + + def add_resource(self, path: str, *, + name: Optional[str]=None) -> Resource: + if path and not path.startswith('/'): + raise ValueError("path should be started with / or be empty") + # Reuse last added resource if path and name are the same + if self._resources: + resource = self._resources[-1] + if resource.name == name and resource.raw_match(path): + return cast(Resource, resource) + if not ('{' in path or '}' in path or ROUTE_RE.search(path)): + url = URL.build(path=path) + resource = PlainResource(url.raw_path, name=name) + self.register_resource(resource) + return resource + resource = DynamicResource(path, name=name) + self.register_resource(resource) + return resource + + def add_route(self, method: str, path: str, + handler: Union[_WebHandler, AbstractView], + *, name: Optional[str]=None, + expect_handler: Optional[_ExpectHandler]=None + ) -> AbstractRoute: + resource = self.add_resource(path, name=name) + return resource.add_route(method, handler, + expect_handler=expect_handler) + + def add_static(self, prefix: str, path: PathLike, *, + name: Optional[str]=None, + expect_handler: Optional[_ExpectHandler]=None, + chunk_size: int=256 * 1024, + show_index: bool=False, follow_symlinks: bool=False, + append_version: bool=False) -> AbstractResource: + """Add static files view. + + prefix - url prefix + path - folder with files + + """ + assert prefix.startswith('/') + if prefix.endswith('/'): + prefix = prefix[:-1] + resource = StaticResource(prefix, path, + name=name, + expect_handler=expect_handler, + chunk_size=chunk_size, + show_index=show_index, + follow_symlinks=follow_symlinks, + append_version=append_version) + self.register_resource(resource) + return resource + + def add_head(self, path: str, handler: _WebHandler, + **kwargs: Any) -> AbstractRoute: + """ + Shortcut for add_route with method HEAD + """ + return self.add_route(hdrs.METH_HEAD, path, handler, **kwargs) + + def add_options(self, path: str, handler: _WebHandler, + **kwargs: Any) -> AbstractRoute: + """ + Shortcut for add_route with method OPTIONS + """ + return self.add_route(hdrs.METH_OPTIONS, path, handler, **kwargs) + + def add_get(self, path: str, handler: _WebHandler, *, + name: Optional[str]=None, allow_head: bool=True, + **kwargs: Any) -> AbstractRoute: + """ + Shortcut for add_route with method GET, if allow_head is true another + route is added allowing head requests to the same endpoint + """ + resource = self.add_resource(path, name=name) + if allow_head: + resource.add_route(hdrs.METH_HEAD, handler, **kwargs) + return resource.add_route(hdrs.METH_GET, handler, **kwargs) + + def add_post(self, path: str, handler: _WebHandler, + **kwargs: Any) -> AbstractRoute: + """ + Shortcut for add_route with method POST + """ + return self.add_route(hdrs.METH_POST, path, handler, **kwargs) + + def add_put(self, path: str, handler: _WebHandler, + **kwargs: Any) -> AbstractRoute: + """ + Shortcut for add_route with method PUT + """ + return self.add_route(hdrs.METH_PUT, path, handler, **kwargs) + + def add_patch(self, path: str, handler: _WebHandler, + **kwargs: Any) -> AbstractRoute: + """ + Shortcut for add_route with method PATCH + """ + return self.add_route(hdrs.METH_PATCH, path, handler, **kwargs) + + def add_delete(self, path: str, handler: _WebHandler, + **kwargs: Any) -> AbstractRoute: + """ + Shortcut for add_route with method DELETE + """ + return self.add_route(hdrs.METH_DELETE, path, handler, **kwargs) + + def add_view(self, path: str, handler: AbstractView, + **kwargs: Any) -> AbstractRoute: + """ + Shortcut for add_route with ANY methods for a class-based view + """ + return self.add_route(hdrs.METH_ANY, path, handler, **kwargs) + + def freeze(self) -> None: + super().freeze() + for resource in self._resources: + resource.freeze() + + def add_routes(self, routes: Iterable[AbstractRouteDef]) -> None: + """Append routes to route table. + + Parameter should be a sequence of RouteDef objects. + """ + for route_def in routes: + route_def.register(self) diff --git a/venv/lib/python3.6/site-packages/aiohttp/web_ws.py b/venv/lib/python3.6/site-packages/aiohttp/web_ws.py new file mode 100644 index 0000000..faa05ab --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/web_ws.py @@ -0,0 +1,458 @@ +import asyncio +import base64 +import binascii +import hashlib +import json +from typing import Any, Iterable, Optional, Tuple + +import async_timeout +import attr +from multidict import CIMultiDict + +from . import hdrs +from .abc import AbstractStreamWriter +from .helpers import call_later, set_result +from .http import ( + WS_CLOSED_MESSAGE, + WS_CLOSING_MESSAGE, + WS_KEY, + WebSocketError, + WebSocketReader, + WebSocketWriter, + WSMessage, + WSMsgType, + ws_ext_gen, + ws_ext_parse, +) +from .log import ws_logger +from .streams import EofStream, FlowControlDataQueue +from .typedefs import JSONDecoder, JSONEncoder +from .web_exceptions import HTTPBadRequest, HTTPException, HTTPMethodNotAllowed +from .web_request import BaseRequest +from .web_response import StreamResponse + +__all__ = ('WebSocketResponse', 'WebSocketReady', 'WSMsgType',) + +THRESHOLD_CONNLOST_ACCESS = 5 + + +@attr.s(frozen=True, slots=True) +class WebSocketReady: + ok = attr.ib(type=bool) + protocol = attr.ib(type=Optional[str]) + + def __bool__(self) -> bool: + return self.ok + + +class WebSocketResponse(StreamResponse): + + def __init__(self, *, + timeout: float=10.0, receive_timeout: Optional[float]=None, + autoclose: bool=True, autoping: bool=True, + heartbeat: Optional[float]=None, + protocols: Iterable[str]=(), + compress: bool=True, max_msg_size: int=4*1024*1024) -> None: + super().__init__(status=101) + self._protocols = protocols + self._ws_protocol = None # type: Optional[str] + self._writer = None # type: Optional[WebSocketWriter] + self._reader = None # type: Optional[FlowControlDataQueue[WSMessage]] + self._closed = False + self._closing = False + self._conn_lost = 0 + self._close_code = None # type: Optional[int] + self._loop = None # type: Optional[asyncio.AbstractEventLoop] + self._waiting = None # type: Optional[asyncio.Future[bool]] + self._exception = None # type: Optional[BaseException] + self._timeout = timeout + self._receive_timeout = receive_timeout + self._autoclose = autoclose + self._autoping = autoping + self._heartbeat = heartbeat + self._heartbeat_cb = None + if heartbeat is not None: + self._pong_heartbeat = heartbeat / 2.0 + self._pong_response_cb = None + self._compress = compress + self._max_msg_size = max_msg_size + + def _cancel_heartbeat(self) -> None: + if self._pong_response_cb is not None: + self._pong_response_cb.cancel() + self._pong_response_cb = None + + if self._heartbeat_cb is not None: + self._heartbeat_cb.cancel() + self._heartbeat_cb = None + + def _reset_heartbeat(self) -> None: + self._cancel_heartbeat() + + if self._heartbeat is not None: + self._heartbeat_cb = call_later( + self._send_heartbeat, self._heartbeat, self._loop) + + def _send_heartbeat(self) -> None: + if self._heartbeat is not None and not self._closed: + # fire-and-forget a task is not perfect but maybe ok for + # sending ping. Otherwise we need a long-living heartbeat + # task in the class. + self._loop.create_task(self._writer.ping()) # type: ignore + + if self._pong_response_cb is not None: + self._pong_response_cb.cancel() + self._pong_response_cb = call_later( + self._pong_not_received, self._pong_heartbeat, self._loop) + + def _pong_not_received(self) -> None: + if self._req is not None and self._req.transport is not None: + self._closed = True + self._close_code = 1006 + self._exception = asyncio.TimeoutError() + self._req.transport.close() + + async def prepare(self, request: BaseRequest) -> AbstractStreamWriter: + # make pre-check to don't hide it by do_handshake() exceptions + if self._payload_writer is not None: + return self._payload_writer + + protocol, writer = self._pre_start(request) + payload_writer = await super().prepare(request) + assert payload_writer is not None + self._post_start(request, protocol, writer) + await payload_writer.drain() + return payload_writer + + def _handshake(self, request: BaseRequest) -> Tuple['CIMultiDict[str]', + str, + bool, + bool]: + headers = request.headers + if request.method != hdrs.METH_GET: + raise HTTPMethodNotAllowed(request.method, [hdrs.METH_GET]) + if 'websocket' != headers.get(hdrs.UPGRADE, '').lower().strip(): + raise HTTPBadRequest( + text=('No WebSocket UPGRADE hdr: {}\n Can ' + '"Upgrade" only to "WebSocket".') + .format(headers.get(hdrs.UPGRADE))) + + if 'upgrade' not in headers.get(hdrs.CONNECTION, '').lower(): + raise HTTPBadRequest( + text='No CONNECTION upgrade hdr: {}'.format( + headers.get(hdrs.CONNECTION))) + + # find common sub-protocol between client and server + protocol = None + if hdrs.SEC_WEBSOCKET_PROTOCOL in headers: + req_protocols = [str(proto.strip()) for proto in + headers[hdrs.SEC_WEBSOCKET_PROTOCOL].split(',')] + + for proto in req_protocols: + if proto in self._protocols: + protocol = proto + break + else: + # No overlap found: Return no protocol as per spec + ws_logger.warning( + 'Client protocols %r don’t overlap server-known ones %r', + req_protocols, self._protocols) + + # check supported version + version = headers.get(hdrs.SEC_WEBSOCKET_VERSION, '') + if version not in ('13', '8', '7'): + raise HTTPBadRequest( + text='Unsupported version: {}'.format(version)) + + # check client handshake for validity + key = headers.get(hdrs.SEC_WEBSOCKET_KEY) + try: + if not key or len(base64.b64decode(key)) != 16: + raise HTTPBadRequest( + text='Handshake error: {!r}'.format(key)) + except binascii.Error: + raise HTTPBadRequest( + text='Handshake error: {!r}'.format(key)) from None + + accept_val = base64.b64encode( + hashlib.sha1(key.encode() + WS_KEY).digest()).decode() + response_headers = CIMultiDict( # type: ignore + {hdrs.UPGRADE: 'websocket', + hdrs.CONNECTION: 'upgrade', + hdrs.TRANSFER_ENCODING: 'chunked', + hdrs.SEC_WEBSOCKET_ACCEPT: accept_val}) + + notakeover = False + compress = 0 + if self._compress: + extensions = headers.get(hdrs.SEC_WEBSOCKET_EXTENSIONS) + # Server side always get return with no exception. + # If something happened, just drop compress extension + compress, notakeover = ws_ext_parse(extensions, isserver=True) + if compress: + enabledext = ws_ext_gen(compress=compress, isserver=True, + server_notakeover=notakeover) + response_headers[hdrs.SEC_WEBSOCKET_EXTENSIONS] = enabledext + + if protocol: + response_headers[hdrs.SEC_WEBSOCKET_PROTOCOL] = protocol + return (response_headers, # type: ignore + protocol, + compress, + notakeover) + + def _pre_start(self, request: BaseRequest) -> Tuple[str, WebSocketWriter]: + self._loop = request._loop + + headers, protocol, compress, notakeover = self._handshake( + request) + + self._reset_heartbeat() + + self.set_status(101) + self.headers.update(headers) + self.force_close() + self._compress = compress + transport = request._protocol.transport + assert transport is not None + writer = WebSocketWriter(request._protocol, + transport, + compress=compress, + notakeover=notakeover) + + return protocol, writer + + def _post_start(self, request: BaseRequest, + protocol: str, writer: WebSocketWriter) -> None: + self._ws_protocol = protocol + self._writer = writer + loop = self._loop + assert loop is not None + self._reader = FlowControlDataQueue( + request._protocol, limit=2 ** 16, loop=loop) + request.protocol.set_parser(WebSocketReader( + self._reader, self._max_msg_size, compress=self._compress)) + # disable HTTP keepalive for WebSocket + request.protocol.keep_alive(False) + + def can_prepare(self, request: BaseRequest) -> WebSocketReady: + if self._writer is not None: + raise RuntimeError('Already started') + try: + _, protocol, _, _ = self._handshake(request) + except HTTPException: + return WebSocketReady(False, None) + else: + return WebSocketReady(True, protocol) + + @property + def closed(self) -> bool: + return self._closed + + @property + def close_code(self) -> Optional[int]: + return self._close_code + + @property + def ws_protocol(self) -> Optional[str]: + return self._ws_protocol + + @property + def compress(self) -> bool: + return self._compress + + def exception(self) -> Optional[BaseException]: + return self._exception + + async def ping(self, message: bytes=b'') -> None: + if self._writer is None: + raise RuntimeError('Call .prepare() first') + await self._writer.ping(message) + + async def pong(self, message: bytes=b'') -> None: + # unsolicited pong + if self._writer is None: + raise RuntimeError('Call .prepare() first') + await self._writer.pong(message) + + async def send_str(self, data: str, compress: Optional[bool]=None) -> None: + if self._writer is None: + raise RuntimeError('Call .prepare() first') + if not isinstance(data, str): + raise TypeError('data argument must be str (%r)' % type(data)) + await self._writer.send(data, binary=False, compress=compress) + + async def send_bytes(self, data: bytes, + compress: Optional[bool]=None) -> None: + if self._writer is None: + raise RuntimeError('Call .prepare() first') + if not isinstance(data, (bytes, bytearray, memoryview)): + raise TypeError('data argument must be byte-ish (%r)' % + type(data)) + await self._writer.send(data, binary=True, compress=compress) + + async def send_json(self, data: Any, compress: Optional[bool]=None, *, + dumps: JSONEncoder=json.dumps) -> None: + await self.send_str(dumps(data), compress=compress) + + async def write_eof(self) -> None: # type: ignore + if self._eof_sent: + return + if self._payload_writer is None: + raise RuntimeError("Response has not been started") + + await self.close() + self._eof_sent = True + + async def close(self, *, code: int=1000, message: bytes=b'') -> bool: + if self._writer is None: + raise RuntimeError('Call .prepare() first') + + self._cancel_heartbeat() + reader = self._reader + assert reader is not None + + # we need to break `receive()` cycle first, + # `close()` may be called from different task + if self._waiting is not None and not self._closed: + reader.feed_data(WS_CLOSING_MESSAGE, 0) + await self._waiting + + if not self._closed: + self._closed = True + try: + await self._writer.close(code, message) + writer = self._payload_writer + assert writer is not None + await writer.drain() + except (asyncio.CancelledError, asyncio.TimeoutError): + self._close_code = 1006 + raise + except Exception as exc: + self._close_code = 1006 + self._exception = exc + return True + + if self._closing: + return True + + reader = self._reader + assert reader is not None + try: + with async_timeout.timeout(self._timeout, loop=self._loop): + msg = await reader.read() + except asyncio.CancelledError: + self._close_code = 1006 + raise + except Exception as exc: + self._close_code = 1006 + self._exception = exc + return True + + if msg.type == WSMsgType.CLOSE: + self._close_code = msg.data + return True + + self._close_code = 1006 + self._exception = asyncio.TimeoutError() + return True + else: + return False + + async def receive(self, timeout: Optional[float]=None) -> WSMessage: + if self._reader is None: + raise RuntimeError('Call .prepare() first') + + loop = self._loop + assert loop is not None + while True: + if self._waiting is not None: + raise RuntimeError( + 'Concurrent call to receive() is not allowed') + + if self._closed: + self._conn_lost += 1 + if self._conn_lost >= THRESHOLD_CONNLOST_ACCESS: + raise RuntimeError('WebSocket connection is closed.') + return WS_CLOSED_MESSAGE + elif self._closing: + return WS_CLOSING_MESSAGE + + try: + self._waiting = loop.create_future() + try: + with async_timeout.timeout( + timeout or self._receive_timeout, loop=self._loop): + msg = await self._reader.read() + self._reset_heartbeat() + finally: + waiter = self._waiting + set_result(waiter, True) + self._waiting = None + except (asyncio.CancelledError, asyncio.TimeoutError): + self._close_code = 1006 + raise + except EofStream: + self._close_code = 1000 + await self.close() + return WSMessage(WSMsgType.CLOSED, None, None) + except WebSocketError as exc: + self._close_code = exc.code + await self.close(code=exc.code) + return WSMessage(WSMsgType.ERROR, exc, None) + except Exception as exc: + self._exception = exc + self._closing = True + self._close_code = 1006 + await self.close() + return WSMessage(WSMsgType.ERROR, exc, None) + + if msg.type == WSMsgType.CLOSE: + self._closing = True + self._close_code = msg.data + if not self._closed and self._autoclose: + await self.close() + elif msg.type == WSMsgType.CLOSING: + self._closing = True + elif msg.type == WSMsgType.PING and self._autoping: + await self.pong(msg.data) + continue + elif msg.type == WSMsgType.PONG and self._autoping: + continue + + return msg + + async def receive_str(self, *, timeout: Optional[float]=None) -> str: + msg = await self.receive(timeout) + if msg.type != WSMsgType.TEXT: + raise TypeError( + "Received message {}:{!r} is not WSMsgType.TEXT".format( + msg.type, msg.data)) + return msg.data + + async def receive_bytes(self, *, timeout: Optional[float]=None) -> bytes: + msg = await self.receive(timeout) + if msg.type != WSMsgType.BINARY: + raise TypeError( + "Received message {}:{!r} is not bytes".format(msg.type, + msg.data)) + return msg.data + + async def receive_json(self, *, loads: JSONDecoder=json.loads, + timeout: Optional[float]=None) -> Any: + data = await self.receive_str(timeout=timeout) + return loads(data) + + async def write(self, data: bytes) -> None: + raise RuntimeError("Cannot call .write() for websocket") + + def __aiter__(self) -> 'WebSocketResponse': + return self + + async def __anext__(self) -> WSMessage: + msg = await self.receive() + if msg.type in (WSMsgType.CLOSE, + WSMsgType.CLOSING, + WSMsgType.CLOSED): + raise StopAsyncIteration # NOQA + return msg diff --git a/venv/lib/python3.6/site-packages/aiohttp/worker.py b/venv/lib/python3.6/site-packages/aiohttp/worker.py new file mode 100644 index 0000000..73ba6e3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/aiohttp/worker.py @@ -0,0 +1,242 @@ +"""Async gunicorn worker for aiohttp.web""" + +import asyncio +import os +import re +import signal +import sys +from types import FrameType +from typing import Any, Awaitable, Callable, Optional, Union # noqa + +from gunicorn.config import AccessLogFormat as GunicornAccessLogFormat +from gunicorn.workers import base + +from aiohttp import web + +from .helpers import set_result +from .web_app import Application +from .web_log import AccessLogger + +try: + import ssl + SSLContext = ssl.SSLContext # noqa +except ImportError: # pragma: no cover + ssl = None # type: ignore + SSLContext = object # type: ignore + + +__all__ = ('GunicornWebWorker', + 'GunicornUVLoopWebWorker', + 'GunicornTokioWebWorker') + + +class GunicornWebWorker(base.Worker): + + DEFAULT_AIOHTTP_LOG_FORMAT = AccessLogger.LOG_FORMAT + DEFAULT_GUNICORN_LOG_FORMAT = GunicornAccessLogFormat.default + + def __init__(self, *args: Any, **kw: Any) -> None: # pragma: no cover + super().__init__(*args, **kw) + + self._task = None # type: Optional[asyncio.Task[None]] + self.exit_code = 0 + self._notify_waiter = None # type: Optional[asyncio.Future[bool]] + + def init_process(self) -> None: + # create new event_loop after fork + asyncio.get_event_loop().close() + + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + + super().init_process() + + def run(self) -> None: + self._task = self.loop.create_task(self._run()) + + try: # ignore all finalization problems + self.loop.run_until_complete(self._task) + except Exception: + self.log.exception("Exception in gunicorn worker") + if sys.version_info >= (3, 6): + self.loop.run_until_complete(self.loop.shutdown_asyncgens()) + self.loop.close() + + sys.exit(self.exit_code) + + async def _run(self) -> None: + if isinstance(self.wsgi, Application): + app = self.wsgi + elif asyncio.iscoroutinefunction(self.wsgi): + app = await self.wsgi() + else: + raise RuntimeError("wsgi app should be either Application or " + "async function returning Application, got {}" + .format(self.wsgi)) + access_log = self.log.access_log if self.cfg.accesslog else None + runner = web.AppRunner(app, + logger=self.log, + keepalive_timeout=self.cfg.keepalive, + access_log=access_log, + access_log_format=self._get_valid_log_format( + self.cfg.access_log_format)) + await runner.setup() + + ctx = self._create_ssl_context(self.cfg) if self.cfg.is_ssl else None + + runner = runner + assert runner is not None + server = runner.server + assert server is not None + for sock in self.sockets: + site = web.SockSite( + runner, sock, ssl_context=ctx, + shutdown_timeout=self.cfg.graceful_timeout / 100 * 95) + await site.start() + + # If our parent changed then we shut down. + pid = os.getpid() + try: + while self.alive: # type: ignore + self.notify() + + cnt = server.requests_count + if self.cfg.max_requests and cnt > self.cfg.max_requests: + self.alive = False + self.log.info("Max requests, shutting down: %s", self) + + elif pid == os.getpid() and self.ppid != os.getppid(): + self.alive = False + self.log.info("Parent changed, shutting down: %s", self) + else: + await self._wait_next_notify() + except BaseException: + pass + + await runner.cleanup() + + def _wait_next_notify(self) -> 'asyncio.Future[bool]': + self._notify_waiter_done() + + loop = self.loop + assert loop is not None + self._notify_waiter = waiter = loop.create_future() + self.loop.call_later(1.0, self._notify_waiter_done, waiter) + + return waiter + + def _notify_waiter_done(self, waiter: 'asyncio.Future[bool]'=None) -> None: + if waiter is None: + waiter = self._notify_waiter + if waiter is not None: + set_result(waiter, True) + + if waiter is self._notify_waiter: + self._notify_waiter = None + + def init_signals(self) -> None: + # Set up signals through the event loop API. + + self.loop.add_signal_handler(signal.SIGQUIT, self.handle_quit, + signal.SIGQUIT, None) + + self.loop.add_signal_handler(signal.SIGTERM, self.handle_exit, + signal.SIGTERM, None) + + self.loop.add_signal_handler(signal.SIGINT, self.handle_quit, + signal.SIGINT, None) + + self.loop.add_signal_handler(signal.SIGWINCH, self.handle_winch, + signal.SIGWINCH, None) + + self.loop.add_signal_handler(signal.SIGUSR1, self.handle_usr1, + signal.SIGUSR1, None) + + self.loop.add_signal_handler(signal.SIGABRT, self.handle_abort, + signal.SIGABRT, None) + + # Don't let SIGTERM and SIGUSR1 disturb active requests + # by interrupting system calls + signal.siginterrupt(signal.SIGTERM, False) + signal.siginterrupt(signal.SIGUSR1, False) + + def handle_quit(self, sig: int, frame: FrameType) -> None: + self.alive = False + + # worker_int callback + self.cfg.worker_int(self) + + # wakeup closing process + self._notify_waiter_done() + + def handle_abort(self, sig: int, frame: FrameType) -> None: + self.alive = False + self.exit_code = 1 + self.cfg.worker_abort(self) + sys.exit(1) + + @staticmethod + def _create_ssl_context(cfg: Any) -> 'SSLContext': + """ Creates SSLContext instance for usage in asyncio.create_server. + + See ssl.SSLSocket.__init__ for more details. + """ + if ssl is None: # pragma: no cover + raise RuntimeError('SSL is not supported.') + + ctx = ssl.SSLContext(cfg.ssl_version) + ctx.load_cert_chain(cfg.certfile, cfg.keyfile) + ctx.verify_mode = cfg.cert_reqs + if cfg.ca_certs: + ctx.load_verify_locations(cfg.ca_certs) + if cfg.ciphers: + ctx.set_ciphers(cfg.ciphers) + return ctx + + def _get_valid_log_format(self, source_format: str) -> str: + if source_format == self.DEFAULT_GUNICORN_LOG_FORMAT: + return self.DEFAULT_AIOHTTP_LOG_FORMAT + elif re.search(r'%\([^\)]+\)', source_format): + raise ValueError( + "Gunicorn's style options in form of `%(name)s` are not " + "supported for the log formatting. Please use aiohttp's " + "format specification to configure access log formatting: " + "http://docs.aiohttp.org/en/stable/logging.html" + "#format-specification" + ) + else: + return source_format + + +class GunicornUVLoopWebWorker(GunicornWebWorker): + + def init_process(self) -> None: + import uvloop + + # Close any existing event loop before setting a + # new policy. + asyncio.get_event_loop().close() + + # Setup uvloop policy, so that every + # asyncio.get_event_loop() will create an instance + # of uvloop event loop. + asyncio.set_event_loop_policy(uvloop.EventLoopPolicy()) + + super().init_process() + + +class GunicornTokioWebWorker(GunicornWebWorker): + + def init_process(self) -> None: # pragma: no cover + import tokio + + # Close any existing event loop before setting a + # new policy. + asyncio.get_event_loop().close() + + # Setup tokio policy, so that every + # asyncio.get_event_loop() will create an instance + # of tokio event loop. + asyncio.set_event_loop_policy(tokio.EventLoopPolicy()) + + super().init_process() diff --git a/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/INSTALLER b/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/LICENSE b/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/LICENSE new file mode 100644 index 0000000..8dada3e --- /dev/null +++ b/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/LICENSE @@ -0,0 +1,201 @@ + 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/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/METADATA b/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/METADATA new file mode 100644 index 0000000..5ec05a2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/METADATA @@ -0,0 +1,165 @@ +Metadata-Version: 2.1 +Name: async-timeout +Version: 3.0.1 +Summary: Timeout context manager for asyncio programs +Home-page: https://github.com/aio-libs/async_timeout/ +Author: Andrew Svetlov +Author-email: andrew.svetlov@gmail.com +License: Apache 2 +Platform: UNKNOWN +Classifier: License :: OSI Approved :: Apache Software License +Classifier: Intended Audience :: Developers +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Topic :: Internet :: WWW/HTTP +Classifier: Framework :: AsyncIO +Requires-Python: >=3.5.3 + +async-timeout +============= +.. image:: https://travis-ci.org/aio-libs/async-timeout.svg?branch=master + :target: https://travis-ci.org/aio-libs/async-timeout +.. image:: https://codecov.io/gh/aio-libs/async-timeout/branch/master/graph/badge.svg + :target: https://codecov.io/gh/aio-libs/async-timeout +.. image:: https://img.shields.io/pypi/v/async-timeout.svg + :target: https://pypi.python.org/pypi/async-timeout +.. image:: https://badges.gitter.im/Join%20Chat.svg + :target: https://gitter.im/aio-libs/Lobby + :alt: Chat on Gitter + +asyncio-compatible timeout context manager. + + +Usage example +------------- + + +The context manager is useful in cases when you want to apply timeout +logic around block of code or in cases when ``asyncio.wait_for()`` is +not suitable. Also it's much faster than ``asyncio.wait_for()`` +because ``timeout`` doesn't create a new task. + +The ``timeout(timeout, *, loop=None)`` call returns a context manager +that cancels a block on *timeout* expiring:: + + async with timeout(1.5): + await inner() + +1. If ``inner()`` is executed faster than in ``1.5`` seconds nothing + happens. +2. Otherwise ``inner()`` is cancelled internally by sending + ``asyncio.CancelledError`` into but ``asyncio.TimeoutError`` is + raised outside of context manager scope. + +*timeout* parameter could be ``None`` for skipping timeout functionality. + + +Context manager has ``.expired`` property for check if timeout happens +exactly in context manager:: + + async with timeout(1.5) as cm: + await inner() + print(cm.expired) + +The property is ``True`` if ``inner()`` execution is cancelled by +timeout context manager. + +If ``inner()`` call explicitly raises ``TimeoutError`` ``cm.expired`` +is ``False``. + +Installation +------------ + +:: + + $ pip install async-timeout + +The library is Python 3 only! + + + +Authors and License +------------------- + +The module is written by Andrew Svetlov. + +It's *Apache 2* licensed and freely available. + + +CHANGES +======= + +3.0.1 (2018-10-09) +------------------ + +- More aggressive typing (#48) + +3.0.0 (2018-05-05) +------------------ + +- Drop Python 3.4, the minimal supported version is Python 3.5.3 + +- Provide type annotations + +2.0.1 (2018-03-13) +------------------ + +* Fix ``PendingDeprecationWarning`` on Python 3.7 (#33) + + +2.0.0 (2017-10-09) +------------------ + +* Changed `timeout <= 0` behaviour + + * Backward incompatibility change, prior this version `0` was + shortcut for `None` + * when timeout <= 0 `TimeoutError` raised faster + +1.4.0 (2017-09-09) +------------------ + +* Implement `remaining` property (#20) + + * If timeout is not started yet or started unconstrained: + `remaining` is `None` + * If timeout is expired: `remaining` is `0.0` + * All others: roughly amount of time before `TimeoutError` is triggered + +1.3.0 (2017-08-23) +------------------ + +* Don't suppress nested exception on timeout. Exception context points + on cancelled line with suspended `await` (#13) + +* Introduce `.timeout` property (#16) + +* Add methods for using as async context manager (#9) + +1.2.1 (2017-05-02) +------------------ + +* Support unpublished event loop's "current_task" api. + + +1.2.0 (2017-03-11) +------------------ + +* Extra check on context manager exit + +* 0 is no-op timeout + + +1.1.0 (2016-10-20) +------------------ + +* Rename to `async-timeout` + +1.0.0 (2016-09-09) +------------------ + +* The first release. + + diff --git a/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/RECORD b/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/RECORD new file mode 100644 index 0000000..fae4199 --- /dev/null +++ b/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/RECORD @@ -0,0 +1,9 @@ +async_timeout-3.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +async_timeout-3.0.1.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357 +async_timeout-3.0.1.dist-info/METADATA,sha256=_3ByJ8L0-cU5wWu75_Rl8n0ZkbSCgW15fMAu_DzwTm0,4013 +async_timeout-3.0.1.dist-info/RECORD,, +async_timeout-3.0.1.dist-info/WHEEL,sha256=-ZFxwj8mZJPIVcZGLrsQ8UGRcxVAOExzPLVBGR7u7bE,92 +async_timeout-3.0.1.dist-info/top_level.txt,sha256=9oM4e7Twq8iD_7_Q3Mz0E6GPIB6vJvRFo-UBwUQtBDU,14 +async_timeout/__init__.py,sha256=mGvWOoRqLtScEU3kmzqtTSH7EQsHvu8zhgHxOTXCn7c,3654 +async_timeout/__pycache__/__init__.cpython-36.pyc,, +async_timeout/py.typed,sha256=9LJP7QJ0oxYYrBtmXuFirzMbS3D9_3Tz-d3tyUtNp0U,11 diff --git a/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/WHEEL b/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/WHEEL new file mode 100644 index 0000000..f87af07 --- /dev/null +++ b/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.32.1) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/top_level.txt b/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/top_level.txt new file mode 100644 index 0000000..ad29955 --- /dev/null +++ b/venv/lib/python3.6/site-packages/async_timeout-3.0.1.dist-info/top_level.txt @@ -0,0 +1 @@ +async_timeout diff --git a/venv/lib/python3.6/site-packages/async_timeout/__init__.py b/venv/lib/python3.6/site-packages/async_timeout/__init__.py new file mode 100644 index 0000000..dcc55f0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/async_timeout/__init__.py @@ -0,0 +1,115 @@ +import asyncio +import sys + +from types import TracebackType +from typing import Optional, Type, Any # noqa + + +__version__ = '3.0.1' + +PY_37 = sys.version_info >= (3, 7) + + +class timeout: + """timeout context manager. + + Useful in cases when you want to apply timeout logic around block + of code or in cases when asyncio.wait_for is not suitable. For example: + + >>> with timeout(0.001): + ... async with aiohttp.get('https://github.com') as r: + ... await r.text() + + + timeout - value in seconds or None to disable timeout logic + loop - asyncio compatible event loop + """ + def __init__(self, timeout: Optional[float], + *, loop: Optional[asyncio.AbstractEventLoop] = None) -> None: + self._timeout = timeout + if loop is None: + loop = asyncio.get_event_loop() + self._loop = loop + self._task = None # type: Optional[asyncio.Task[Any]] + self._cancelled = False + self._cancel_handler = None # type: Optional[asyncio.Handle] + self._cancel_at = None # type: Optional[float] + + def __enter__(self) -> 'timeout': + return self._do_enter() + + def __exit__(self, + exc_type: Type[BaseException], + exc_val: BaseException, + exc_tb: TracebackType) -> Optional[bool]: + self._do_exit(exc_type) + return None + + async def __aenter__(self) -> 'timeout': + return self._do_enter() + + async def __aexit__(self, + exc_type: Type[BaseException], + exc_val: BaseException, + exc_tb: TracebackType) -> None: + self._do_exit(exc_type) + + @property + def expired(self) -> bool: + return self._cancelled + + @property + def remaining(self) -> Optional[float]: + if self._cancel_at is not None: + return max(self._cancel_at - self._loop.time(), 0.0) + else: + return None + + def _do_enter(self) -> 'timeout': + # Support Tornado 5- without timeout + # Details: https://github.com/python/asyncio/issues/392 + if self._timeout is None: + return self + + self._task = current_task(self._loop) + if self._task is None: + raise RuntimeError('Timeout context manager should be used ' + 'inside a task') + + if self._timeout <= 0: + self._loop.call_soon(self._cancel_task) + return self + + self._cancel_at = self._loop.time() + self._timeout + self._cancel_handler = self._loop.call_at( + self._cancel_at, self._cancel_task) + return self + + def _do_exit(self, exc_type: Type[BaseException]) -> None: + if exc_type is asyncio.CancelledError and self._cancelled: + self._cancel_handler = None + self._task = None + raise asyncio.TimeoutError + if self._timeout is not None and self._cancel_handler is not None: + self._cancel_handler.cancel() + self._cancel_handler = None + self._task = None + return None + + def _cancel_task(self) -> None: + if self._task is not None: + self._task.cancel() + self._cancelled = True + + +def current_task(loop: asyncio.AbstractEventLoop) -> 'asyncio.Task[Any]': + if PY_37: + task = asyncio.current_task(loop=loop) # type: ignore + else: + task = asyncio.Task.current_task(loop=loop) + if task is None: + # this should be removed, tokio must use register_task and family API + if hasattr(loop, 'current_task'): + task = loop.current_task() # type: ignore + + return task diff --git a/venv/lib/python3.6/site-packages/async_timeout/py.typed b/venv/lib/python3.6/site-packages/async_timeout/py.typed new file mode 100644 index 0000000..f6e0339 --- /dev/null +++ b/venv/lib/python3.6/site-packages/async_timeout/py.typed @@ -0,0 +1 @@ +Placeholder \ No newline at end of file diff --git a/venv/lib/python3.6/site-packages/attr/__init__.py b/venv/lib/python3.6/site-packages/attr/__init__.py new file mode 100644 index 0000000..0ebe519 --- /dev/null +++ b/venv/lib/python3.6/site-packages/attr/__init__.py @@ -0,0 +1,65 @@ +from __future__ import absolute_import, division, print_function + +from functools import partial + +from . import converters, exceptions, filters, validators +from ._config import get_run_validators, set_run_validators +from ._funcs import asdict, assoc, astuple, evolve, has +from ._make import ( + NOTHING, + Attribute, + Factory, + attrib, + attrs, + fields, + fields_dict, + make_class, + validate, +) + + +__version__ = "19.1.0" + +__title__ = "attrs" +__description__ = "Classes Without Boilerplate" +__url__ = "https://www.attrs.org/" +__uri__ = __url__ +__doc__ = __description__ + " <" + __uri__ + ">" + +__author__ = "Hynek Schlawack" +__email__ = "hs@ox.cx" + +__license__ = "MIT" +__copyright__ = "Copyright (c) 2015 Hynek Schlawack" + + +s = attributes = attrs +ib = attr = attrib +dataclass = partial(attrs, auto_attribs=True) # happy Easter ;) + +__all__ = [ + "Attribute", + "Factory", + "NOTHING", + "asdict", + "assoc", + "astuple", + "attr", + "attrib", + "attributes", + "attrs", + "converters", + "evolve", + "exceptions", + "fields", + "fields_dict", + "filters", + "get_run_validators", + "has", + "ib", + "make_class", + "s", + "set_run_validators", + "validate", + "validators", +] diff --git a/venv/lib/python3.6/site-packages/attr/__init__.pyi b/venv/lib/python3.6/site-packages/attr/__init__.pyi new file mode 100644 index 0000000..fcb93b1 --- /dev/null +++ b/venv/lib/python3.6/site-packages/attr/__init__.pyi @@ -0,0 +1,255 @@ +from typing import ( + Any, + Callable, + Dict, + Generic, + List, + Optional, + Sequence, + Mapping, + Tuple, + Type, + TypeVar, + Union, + overload, +) + +# `import X as X` is required to make these public +from . import exceptions as exceptions +from . import filters as filters +from . import converters as converters +from . import validators as validators + +_T = TypeVar("_T") +_C = TypeVar("_C", bound=type) + +_ValidatorType = Callable[[Any, Attribute[_T], _T], Any] +_ConverterType = Callable[[Any], _T] +_FilterType = Callable[[Attribute[_T], _T], bool] +# FIXME: in reality, if multiple validators are passed they must be in a list or tuple, +# but those are invariant and so would prevent subtypes of _ValidatorType from working +# when passed in a list or tuple. +_ValidatorArgType = Union[_ValidatorType[_T], Sequence[_ValidatorType[_T]]] + +# _make -- + +NOTHING: object + +# NOTE: Factory lies about its return type to make this possible: `x: List[int] = Factory(list)` +# Work around mypy issue #4554 in the common case by using an overload. +@overload +def Factory(factory: Callable[[], _T]) -> _T: ... +@overload +def Factory( + factory: Union[Callable[[Any], _T], Callable[[], _T]], + takes_self: bool = ..., +) -> _T: ... + +class Attribute(Generic[_T]): + name: str + default: Optional[_T] + validator: Optional[_ValidatorType[_T]] + repr: bool + cmp: bool + hash: Optional[bool] + init: bool + converter: Optional[_ConverterType[_T]] + metadata: Dict[Any, Any] + type: Optional[Type[_T]] + kw_only: bool + def __lt__(self, x: Attribute[_T]) -> bool: ... + def __le__(self, x: Attribute[_T]) -> bool: ... + def __gt__(self, x: Attribute[_T]) -> bool: ... + def __ge__(self, x: Attribute[_T]) -> bool: ... + +# NOTE: We had several choices for the annotation to use for type arg: +# 1) Type[_T] +# - Pros: Handles simple cases correctly +# - Cons: Might produce less informative errors in the case of conflicting TypeVars +# e.g. `attr.ib(default='bad', type=int)` +# 2) Callable[..., _T] +# - Pros: Better error messages than #1 for conflicting TypeVars +# - Cons: Terrible error messages for validator checks. +# e.g. attr.ib(type=int, validator=validate_str) +# -> error: Cannot infer function type argument +# 3) type (and do all of the work in the mypy plugin) +# - Pros: Simple here, and we could customize the plugin with our own errors. +# - Cons: Would need to write mypy plugin code to handle all the cases. +# We chose option #1. + +# `attr` lies about its return type to make the following possible: +# attr() -> Any +# attr(8) -> int +# attr(validator=<some callable>) -> Whatever the callable expects. +# This makes this type of assignments possible: +# x: int = attr(8) +# +# This form catches explicit None or no default but with no other arguments returns Any. +@overload +def attrib( + default: None = ..., + validator: None = ..., + repr: bool = ..., + cmp: bool = ..., + hash: Optional[bool] = ..., + init: bool = ..., + convert: None = ..., + metadata: Optional[Mapping[Any, Any]] = ..., + type: None = ..., + converter: None = ..., + factory: None = ..., + kw_only: bool = ..., +) -> Any: ... + +# This form catches an explicit None or no default and infers the type from the other arguments. +@overload +def attrib( + default: None = ..., + validator: Optional[_ValidatorArgType[_T]] = ..., + repr: bool = ..., + cmp: bool = ..., + hash: Optional[bool] = ..., + init: bool = ..., + convert: Optional[_ConverterType[_T]] = ..., + metadata: Optional[Mapping[Any, Any]] = ..., + type: Optional[Type[_T]] = ..., + converter: Optional[_ConverterType[_T]] = ..., + factory: Optional[Callable[[], _T]] = ..., + kw_only: bool = ..., +) -> _T: ... + +# This form catches an explicit default argument. +@overload +def attrib( + default: _T, + validator: Optional[_ValidatorArgType[_T]] = ..., + repr: bool = ..., + cmp: bool = ..., + hash: Optional[bool] = ..., + init: bool = ..., + convert: Optional[_ConverterType[_T]] = ..., + metadata: Optional[Mapping[Any, Any]] = ..., + type: Optional[Type[_T]] = ..., + converter: Optional[_ConverterType[_T]] = ..., + factory: Optional[Callable[[], _T]] = ..., + kw_only: bool = ..., +) -> _T: ... + +# This form covers type=non-Type: e.g. forward references (str), Any +@overload +def attrib( + default: Optional[_T] = ..., + validator: Optional[_ValidatorArgType[_T]] = ..., + repr: bool = ..., + cmp: bool = ..., + hash: Optional[bool] = ..., + init: bool = ..., + convert: Optional[_ConverterType[_T]] = ..., + metadata: Optional[Mapping[Any, Any]] = ..., + type: object = ..., + converter: Optional[_ConverterType[_T]] = ..., + factory: Optional[Callable[[], _T]] = ..., + kw_only: bool = ..., +) -> Any: ... +@overload +def attrs( + maybe_cls: _C, + these: Optional[Dict[str, Any]] = ..., + repr_ns: Optional[str] = ..., + repr: bool = ..., + cmp: bool = ..., + hash: Optional[bool] = ..., + init: bool = ..., + slots: bool = ..., + frozen: bool = ..., + weakref_slot: bool = ..., + str: bool = ..., + auto_attribs: bool = ..., + kw_only: bool = ..., + cache_hash: bool = ..., + auto_exc: bool = ..., +) -> _C: ... +@overload +def attrs( + maybe_cls: None = ..., + these: Optional[Dict[str, Any]] = ..., + repr_ns: Optional[str] = ..., + repr: bool = ..., + cmp: bool = ..., + hash: Optional[bool] = ..., + init: bool = ..., + slots: bool = ..., + frozen: bool = ..., + weakref_slot: bool = ..., + str: bool = ..., + auto_attribs: bool = ..., + kw_only: bool = ..., + cache_hash: bool = ..., + auto_exc: bool = ..., +) -> Callable[[_C], _C]: ... + +# TODO: add support for returning NamedTuple from the mypy plugin +class _Fields(Tuple[Attribute[Any], ...]): + def __getattr__(self, name: str) -> Attribute[Any]: ... + +def fields(cls: type) -> _Fields: ... +def fields_dict(cls: type) -> Dict[str, Attribute[Any]]: ... +def validate(inst: Any) -> None: ... + +# TODO: add support for returning a proper attrs class from the mypy plugin +# we use Any instead of _CountingAttr so that e.g. `make_class('Foo', [attr.ib()])` is valid +def make_class( + name: str, + attrs: Union[List[str], Tuple[str, ...], Dict[str, Any]], + bases: Tuple[type, ...] = ..., + repr_ns: Optional[str] = ..., + repr: bool = ..., + cmp: bool = ..., + hash: Optional[bool] = ..., + init: bool = ..., + slots: bool = ..., + frozen: bool = ..., + weakref_slot: bool = ..., + str: bool = ..., + auto_attribs: bool = ..., + kw_only: bool = ..., + cache_hash: bool = ..., + auto_exc: bool = ..., +) -> type: ... + +# _funcs -- + +# TODO: add support for returning TypedDict from the mypy plugin +# FIXME: asdict/astuple do not honor their factory args. waiting on one of these: +# https://github.com/python/mypy/issues/4236 +# https://github.com/python/typing/issues/253 +def asdict( + inst: Any, + recurse: bool = ..., + filter: Optional[_FilterType[Any]] = ..., + dict_factory: Type[Mapping[Any, Any]] = ..., + retain_collection_types: bool = ..., +) -> Dict[str, Any]: ... + +# TODO: add support for returning NamedTuple from the mypy plugin +def astuple( + inst: Any, + recurse: bool = ..., + filter: Optional[_FilterType[Any]] = ..., + tuple_factory: Type[Sequence[Any]] = ..., + retain_collection_types: bool = ..., +) -> Tuple[Any, ...]: ... +def has(cls: type) -> bool: ... +def assoc(inst: _T, **changes: Any) -> _T: ... +def evolve(inst: _T, **changes: Any) -> _T: ... + +# _config -- + +def set_run_validators(run: bool) -> None: ... +def get_run_validators() -> bool: ... + +# aliases -- + +s = attributes = attrs +ib = attr = attrib +dataclass = attrs # Technically, partial(attrs, auto_attribs=True) ;) diff --git a/venv/lib/python3.6/site-packages/attr/_compat.py b/venv/lib/python3.6/site-packages/attr/_compat.py new file mode 100644 index 0000000..9a99dcd --- /dev/null +++ b/venv/lib/python3.6/site-packages/attr/_compat.py @@ -0,0 +1,159 @@ +from __future__ import absolute_import, division, print_function + +import platform +import sys +import types +import warnings + + +PY2 = sys.version_info[0] == 2 +PYPY = platform.python_implementation() == "PyPy" + + +if PYPY or sys.version_info[:2] >= (3, 6): + ordered_dict = dict +else: + from collections import OrderedDict + + ordered_dict = OrderedDict + + +if PY2: + from UserDict import IterableUserDict + from collections import Mapping, Sequence # noqa + + # We 'bundle' isclass instead of using inspect as importing inspect is + # fairly expensive (order of 10-15 ms for a modern machine in 2016) + def isclass(klass): + return isinstance(klass, (type, types.ClassType)) + + # TYPE is used in exceptions, repr(int) is different on Python 2 and 3. + TYPE = "type" + + def iteritems(d): + return d.iteritems() + + # Python 2 is bereft of a read-only dict proxy, so we make one! + class ReadOnlyDict(IterableUserDict): + """ + Best-effort read-only dict wrapper. + """ + + def __setitem__(self, key, val): + # We gently pretend we're a Python 3 mappingproxy. + raise TypeError( + "'mappingproxy' object does not support item assignment" + ) + + def update(self, _): + # We gently pretend we're a Python 3 mappingproxy. + raise AttributeError( + "'mappingproxy' object has no attribute 'update'" + ) + + def __delitem__(self, _): + # We gently pretend we're a Python 3 mappingproxy. + raise TypeError( + "'mappingproxy' object does not support item deletion" + ) + + def clear(self): + # We gently pretend we're a Python 3 mappingproxy. + raise AttributeError( + "'mappingproxy' object has no attribute 'clear'" + ) + + def pop(self, key, default=None): + # We gently pretend we're a Python 3 mappingproxy. + raise AttributeError( + "'mappingproxy' object has no attribute 'pop'" + ) + + def popitem(self): + # We gently pretend we're a Python 3 mappingproxy. + raise AttributeError( + "'mappingproxy' object has no attribute 'popitem'" + ) + + def setdefault(self, key, default=None): + # We gently pretend we're a Python 3 mappingproxy. + raise AttributeError( + "'mappingproxy' object has no attribute 'setdefault'" + ) + + def __repr__(self): + # Override to be identical to the Python 3 version. + return "mappingproxy(" + repr(self.data) + ")" + + def metadata_proxy(d): + res = ReadOnlyDict() + res.data.update(d) # We blocked update, so we have to do it like this. + return res + + def just_warn(*args, **kw): # pragma: nocover + """ + We only warn on Python 3 because we are not aware of any concrete + consequences of not setting the cell on Python 2. + """ + + +else: # Python 3 and later. + from collections.abc import Mapping, Sequence # noqa + + def just_warn(*args, **kw): + """ + We only warn on Python 3 because we are not aware of any concrete + consequences of not setting the cell on Python 2. + """ + warnings.warn( + "Missing ctypes. Some features like bare super() or accessing " + "__class__ will not work with slotted classes.", + RuntimeWarning, + stacklevel=2, + ) + + def isclass(klass): + return isinstance(klass, type) + + TYPE = "class" + + def iteritems(d): + return d.items() + + def metadata_proxy(d): + return types.MappingProxyType(dict(d)) + + +def import_ctypes(): + """ + Moved into a function for testability. + """ + import ctypes + + return ctypes + + +def make_set_closure_cell(): + """ + Moved into a function for testability. + """ + if PYPY: # pragma: no cover + + def set_closure_cell(cell, value): + cell.__setstate__((value,)) + + else: + try: + ctypes = import_ctypes() + + set_closure_cell = ctypes.pythonapi.PyCell_Set + set_closure_cell.argtypes = (ctypes.py_object, ctypes.py_object) + set_closure_cell.restype = ctypes.c_int + except Exception: + # We try best effort to set the cell, but sometimes it's not + # possible. For example on Jython or on GAE. + set_closure_cell = just_warn + return set_closure_cell + + +set_closure_cell = make_set_closure_cell() diff --git a/venv/lib/python3.6/site-packages/attr/_config.py b/venv/lib/python3.6/site-packages/attr/_config.py new file mode 100644 index 0000000..8ec9209 --- /dev/null +++ b/venv/lib/python3.6/site-packages/attr/_config.py @@ -0,0 +1,23 @@ +from __future__ import absolute_import, division, print_function + + +__all__ = ["set_run_validators", "get_run_validators"] + +_run_validators = True + + +def set_run_validators(run): + """ + Set whether or not validators are run. By default, they are run. + """ + if not isinstance(run, bool): + raise TypeError("'run' must be bool.") + global _run_validators + _run_validators = run + + +def get_run_validators(): + """ + Return whether or not validators are run. + """ + return _run_validators diff --git a/venv/lib/python3.6/site-packages/attr/_funcs.py b/venv/lib/python3.6/site-packages/attr/_funcs.py new file mode 100644 index 0000000..b61d239 --- /dev/null +++ b/venv/lib/python3.6/site-packages/attr/_funcs.py @@ -0,0 +1,290 @@ +from __future__ import absolute_import, division, print_function + +import copy + +from ._compat import iteritems +from ._make import NOTHING, _obj_setattr, fields +from .exceptions import AttrsAttributeNotFoundError + + +def asdict( + inst, + recurse=True, + filter=None, + dict_factory=dict, + retain_collection_types=False, +): + """ + Return the ``attrs`` attribute values of *inst* as a dict. + + Optionally recurse into other ``attrs``-decorated classes. + + :param inst: Instance of an ``attrs``-decorated class. + :param bool recurse: Recurse into classes that are also + ``attrs``-decorated. + :param callable filter: A callable whose return code determines whether an + attribute or element is included (``True``) or dropped (``False``). Is + called with the :class:`attr.Attribute` as the first argument and the + value as the second argument. + :param callable dict_factory: A callable to produce dictionaries from. For + example, to produce ordered dictionaries instead of normal Python + dictionaries, pass in ``collections.OrderedDict``. + :param bool retain_collection_types: Do not convert to ``list`` when + encountering an attribute whose type is ``tuple`` or ``set``. Only + meaningful if ``recurse`` is ``True``. + + :rtype: return type of *dict_factory* + + :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs`` + class. + + .. versionadded:: 16.0.0 *dict_factory* + .. versionadded:: 16.1.0 *retain_collection_types* + """ + attrs = fields(inst.__class__) + rv = dict_factory() + for a in attrs: + v = getattr(inst, a.name) + if filter is not None and not filter(a, v): + continue + if recurse is True: + if has(v.__class__): + rv[a.name] = asdict( + v, True, filter, dict_factory, retain_collection_types + ) + elif isinstance(v, (tuple, list, set)): + cf = v.__class__ if retain_collection_types is True else list + rv[a.name] = cf( + [ + _asdict_anything( + i, filter, dict_factory, retain_collection_types + ) + for i in v + ] + ) + elif isinstance(v, dict): + df = dict_factory + rv[a.name] = df( + ( + _asdict_anything( + kk, filter, df, retain_collection_types + ), + _asdict_anything( + vv, filter, df, retain_collection_types + ), + ) + for kk, vv in iteritems(v) + ) + else: + rv[a.name] = v + else: + rv[a.name] = v + return rv + + +def _asdict_anything(val, filter, dict_factory, retain_collection_types): + """ + ``asdict`` only works on attrs instances, this works on anything. + """ + if getattr(val.__class__, "__attrs_attrs__", None) is not None: + # Attrs class. + rv = asdict(val, True, filter, dict_factory, retain_collection_types) + elif isinstance(val, (tuple, list, set)): + cf = val.__class__ if retain_collection_types is True else list + rv = cf( + [ + _asdict_anything( + i, filter, dict_factory, retain_collection_types + ) + for i in val + ] + ) + elif isinstance(val, dict): + df = dict_factory + rv = df( + ( + _asdict_anything(kk, filter, df, retain_collection_types), + _asdict_anything(vv, filter, df, retain_collection_types), + ) + for kk, vv in iteritems(val) + ) + else: + rv = val + return rv + + +def astuple( + inst, + recurse=True, + filter=None, + tuple_factory=tuple, + retain_collection_types=False, +): + """ + Return the ``attrs`` attribute values of *inst* as a tuple. + + Optionally recurse into other ``attrs``-decorated classes. + + :param inst: Instance of an ``attrs``-decorated class. + :param bool recurse: Recurse into classes that are also + ``attrs``-decorated. + :param callable filter: A callable whose return code determines whether an + attribute or element is included (``True``) or dropped (``False``). Is + called with the :class:`attr.Attribute` as the first argument and the + value as the second argument. + :param callable tuple_factory: A callable to produce tuples from. For + example, to produce lists instead of tuples. + :param bool retain_collection_types: Do not convert to ``list`` + or ``dict`` when encountering an attribute which type is + ``tuple``, ``dict`` or ``set``. Only meaningful if ``recurse`` is + ``True``. + + :rtype: return type of *tuple_factory* + + :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs`` + class. + + .. versionadded:: 16.2.0 + """ + attrs = fields(inst.__class__) + rv = [] + retain = retain_collection_types # Very long. :/ + for a in attrs: + v = getattr(inst, a.name) + if filter is not None and not filter(a, v): + continue + if recurse is True: + if has(v.__class__): + rv.append( + astuple( + v, + recurse=True, + filter=filter, + tuple_factory=tuple_factory, + retain_collection_types=retain, + ) + ) + elif isinstance(v, (tuple, list, set)): + cf = v.__class__ if retain is True else list + rv.append( + cf( + [ + astuple( + j, + recurse=True, + filter=filter, + tuple_factory=tuple_factory, + retain_collection_types=retain, + ) + if has(j.__class__) + else j + for j in v + ] + ) + ) + elif isinstance(v, dict): + df = v.__class__ if retain is True else dict + rv.append( + df( + ( + astuple( + kk, + tuple_factory=tuple_factory, + retain_collection_types=retain, + ) + if has(kk.__class__) + else kk, + astuple( + vv, + tuple_factory=tuple_factory, + retain_collection_types=retain, + ) + if has(vv.__class__) + else vv, + ) + for kk, vv in iteritems(v) + ) + ) + else: + rv.append(v) + else: + rv.append(v) + return rv if tuple_factory is list else tuple_factory(rv) + + +def has(cls): + """ + Check whether *cls* is a class with ``attrs`` attributes. + + :param type cls: Class to introspect. + :raise TypeError: If *cls* is not a class. + + :rtype: :class:`bool` + """ + return getattr(cls, "__attrs_attrs__", None) is not None + + +def assoc(inst, **changes): + """ + Copy *inst* and apply *changes*. + + :param inst: Instance of a class with ``attrs`` attributes. + :param changes: Keyword changes in the new copy. + + :return: A copy of inst with *changes* incorporated. + + :raise attr.exceptions.AttrsAttributeNotFoundError: If *attr_name* couldn't + be found on *cls*. + :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs`` + class. + + .. deprecated:: 17.1.0 + Use :func:`evolve` instead. + """ + import warnings + + warnings.warn( + "assoc is deprecated and will be removed after 2018/01.", + DeprecationWarning, + stacklevel=2, + ) + new = copy.copy(inst) + attrs = fields(inst.__class__) + for k, v in iteritems(changes): + a = getattr(attrs, k, NOTHING) + if a is NOTHING: + raise AttrsAttributeNotFoundError( + "{k} is not an attrs attribute on {cl}.".format( + k=k, cl=new.__class__ + ) + ) + _obj_setattr(new, k, v) + return new + + +def evolve(inst, **changes): + """ + Create a new instance, based on *inst* with *changes* applied. + + :param inst: Instance of a class with ``attrs`` attributes. + :param changes: Keyword changes in the new copy. + + :return: A copy of inst with *changes* incorporated. + + :raise TypeError: If *attr_name* couldn't be found in the class + ``__init__``. + :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs`` + class. + + .. versionadded:: 17.1.0 + """ + cls = inst.__class__ + attrs = fields(cls) + for a in attrs: + if not a.init: + continue + attr_name = a.name # To deal with private attributes. + init_name = attr_name if attr_name[0] != "_" else attr_name[1:] + if init_name not in changes: + changes[init_name] = getattr(inst, attr_name) + return cls(**changes) diff --git a/venv/lib/python3.6/site-packages/attr/_make.py b/venv/lib/python3.6/site-packages/attr/_make.py new file mode 100644 index 0000000..827175a --- /dev/null +++ b/venv/lib/python3.6/site-packages/attr/_make.py @@ -0,0 +1,2086 @@ +from __future__ import absolute_import, division, print_function + +import copy +import hashlib +import linecache +import sys +import threading +import warnings + +from operator import itemgetter + +from . import _config +from ._compat import ( + PY2, + isclass, + iteritems, + metadata_proxy, + ordered_dict, + set_closure_cell, +) +from .exceptions import ( + DefaultAlreadySetError, + FrozenInstanceError, + NotAnAttrsClassError, + PythonTooOldError, + UnannotatedAttributeError, +) + + +# This is used at least twice, so cache it here. +_obj_setattr = object.__setattr__ +_init_converter_pat = "__attr_converter_{}" +_init_factory_pat = "__attr_factory_{}" +_tuple_property_pat = ( + " {attr_name} = _attrs_property(_attrs_itemgetter({index}))" +) +_classvar_prefixes = ("typing.ClassVar", "t.ClassVar", "ClassVar") +# we don't use a double-underscore prefix because that triggers +# name mangling when trying to create a slot for the field +# (when slots=True) +_hash_cache_field = "_attrs_cached_hash" + +_empty_metadata_singleton = metadata_proxy({}) + + +class _Nothing(object): + """ + Sentinel class to indicate the lack of a value when ``None`` is ambiguous. + + ``_Nothing`` is a singleton. There is only ever one of it. + """ + + _singleton = None + + def __new__(cls): + if _Nothing._singleton is None: + _Nothing._singleton = super(_Nothing, cls).__new__(cls) + return _Nothing._singleton + + def __repr__(self): + return "NOTHING" + + +NOTHING = _Nothing() +""" +Sentinel to indicate the lack of a value when ``None`` is ambiguous. +""" + + +def attrib( + default=NOTHING, + validator=None, + repr=True, + cmp=True, + hash=None, + init=True, + convert=None, + metadata=None, + type=None, + converter=None, + factory=None, + kw_only=False, +): + """ + Create a new attribute on a class. + + .. warning:: + + Does *not* do anything unless the class is also decorated with + :func:`attr.s`! + + :param default: A value that is used if an ``attrs``-generated ``__init__`` + is used and no value is passed while instantiating or the attribute is + excluded using ``init=False``. + + If the value is an instance of :class:`Factory`, its callable will be + used to construct a new value (useful for mutable data types like lists + or dicts). + + If a default is not set (or set manually to ``attr.NOTHING``), a value + *must* be supplied when instantiating; otherwise a :exc:`TypeError` + will be raised. + + The default can also be set using decorator notation as shown below. + + :type default: Any value. + + :param callable factory: Syntactic sugar for + ``default=attr.Factory(callable)``. + + :param validator: :func:`callable` that is called by ``attrs``-generated + ``__init__`` methods after the instance has been initialized. They + receive the initialized instance, the :class:`Attribute`, and the + passed value. + + The return value is *not* inspected so the validator has to throw an + exception itself. + + If a ``list`` is passed, its items are treated as validators and must + all pass. + + Validators can be globally disabled and re-enabled using + :func:`get_run_validators`. + + The validator can also be set using decorator notation as shown below. + + :type validator: ``callable`` or a ``list`` of ``callable``\\ s. + + :param bool repr: Include this attribute in the generated ``__repr__`` + method. + :param bool cmp: Include this attribute in the generated comparison methods + (``__eq__`` et al). + :param hash: Include this attribute in the generated ``__hash__`` + method. If ``None`` (default), mirror *cmp*'s value. This is the + correct behavior according the Python spec. Setting this value to + anything else than ``None`` is *discouraged*. + :type hash: ``bool`` or ``None`` + :param bool init: Include this attribute in the generated ``__init__`` + method. It is possible to set this to ``False`` and set a default + value. In that case this attributed is unconditionally initialized + with the specified default value or factory. + :param callable converter: :func:`callable` that is called by + ``attrs``-generated ``__init__`` methods to converter attribute's value + to the desired format. It is given the passed-in value, and the + returned value will be used as the new value of the attribute. The + value is converted before being passed to the validator, if any. + :param metadata: An arbitrary mapping, to be used by third-party + components. See :ref:`extending_metadata`. + :param type: The type of the attribute. In Python 3.6 or greater, the + preferred method to specify the type is using a variable annotation + (see `PEP 526 <https://www.python.org/dev/peps/pep-0526/>`_). + This argument is provided for backward compatibility. + Regardless of the approach used, the type will be stored on + ``Attribute.type``. + + Please note that ``attrs`` doesn't do anything with this metadata by + itself. You can use it as part of your own code or for + :doc:`static type checking <types>`. + :param kw_only: Make this attribute keyword-only (Python 3+) + in the generated ``__init__`` (if ``init`` is ``False``, this + parameter is ignored). + + .. versionadded:: 15.2.0 *convert* + .. versionadded:: 16.3.0 *metadata* + .. versionchanged:: 17.1.0 *validator* can be a ``list`` now. + .. versionchanged:: 17.1.0 + *hash* is ``None`` and therefore mirrors *cmp* by default. + .. versionadded:: 17.3.0 *type* + .. deprecated:: 17.4.0 *convert* + .. versionadded:: 17.4.0 *converter* as a replacement for the deprecated + *convert* to achieve consistency with other noun-based arguments. + .. versionadded:: 18.1.0 + ``factory=f`` is syntactic sugar for ``default=attr.Factory(f)``. + .. versionadded:: 18.2.0 *kw_only* + """ + if hash is not None and hash is not True and hash is not False: + raise TypeError( + "Invalid value for hash. Must be True, False, or None." + ) + + if convert is not None: + if converter is not None: + raise RuntimeError( + "Can't pass both `convert` and `converter`. " + "Please use `converter` only." + ) + warnings.warn( + "The `convert` argument is deprecated in favor of `converter`. " + "It will be removed after 2019/01.", + DeprecationWarning, + stacklevel=2, + ) + converter = convert + + if factory is not None: + if default is not NOTHING: + raise ValueError( + "The `default` and `factory` arguments are mutually " + "exclusive." + ) + if not callable(factory): + raise ValueError("The `factory` argument must be a callable.") + default = Factory(factory) + + if metadata is None: + metadata = {} + + return _CountingAttr( + default=default, + validator=validator, + repr=repr, + cmp=cmp, + hash=hash, + init=init, + converter=converter, + metadata=metadata, + type=type, + kw_only=kw_only, + ) + + +def _make_attr_tuple_class(cls_name, attr_names): + """ + Create a tuple subclass to hold `Attribute`s for an `attrs` class. + + The subclass is a bare tuple with properties for names. + + class MyClassAttributes(tuple): + __slots__ = () + x = property(itemgetter(0)) + """ + attr_class_name = "{}Attributes".format(cls_name) + attr_class_template = [ + "class {}(tuple):".format(attr_class_name), + " __slots__ = ()", + ] + if attr_names: + for i, attr_name in enumerate(attr_names): + attr_class_template.append( + _tuple_property_pat.format(index=i, attr_name=attr_name) + ) + else: + attr_class_template.append(" pass") + globs = {"_attrs_itemgetter": itemgetter, "_attrs_property": property} + eval(compile("\n".join(attr_class_template), "", "exec"), globs) + + return globs[attr_class_name] + + +# Tuple class for extracted attributes from a class definition. +# `base_attrs` is a subset of `attrs`. +_Attributes = _make_attr_tuple_class( + "_Attributes", + [ + # all attributes to build dunder methods for + "attrs", + # attributes that have been inherited + "base_attrs", + # map inherited attributes to their originating classes + "base_attrs_map", + ], +) + + +def _is_class_var(annot): + """ + Check whether *annot* is a typing.ClassVar. + + The string comparison hack is used to avoid evaluating all string + annotations which would put attrs-based classes at a performance + disadvantage compared to plain old classes. + """ + return str(annot).startswith(_classvar_prefixes) + + +def _get_annotations(cls): + """ + Get annotations for *cls*. + """ + anns = getattr(cls, "__annotations__", None) + if anns is None: + return {} + + # Verify that the annotations aren't merely inherited. + for base_cls in cls.__mro__[1:]: + if anns is getattr(base_cls, "__annotations__", None): + return {} + + return anns + + +def _counter_getter(e): + """ + Key function for sorting to avoid re-creating a lambda for every class. + """ + return e[1].counter + + +def _transform_attrs(cls, these, auto_attribs, kw_only): + """ + Transform all `_CountingAttr`s on a class into `Attribute`s. + + If *these* is passed, use that and don't look for them on the class. + + Return an `_Attributes`. + """ + cd = cls.__dict__ + anns = _get_annotations(cls) + + if these is not None: + ca_list = [(name, ca) for name, ca in iteritems(these)] + + if not isinstance(these, ordered_dict): + ca_list.sort(key=_counter_getter) + elif auto_attribs is True: + ca_names = { + name + for name, attr in cd.items() + if isinstance(attr, _CountingAttr) + } + ca_list = [] + annot_names = set() + for attr_name, type in anns.items(): + if _is_class_var(type): + continue + annot_names.add(attr_name) + a = cd.get(attr_name, NOTHING) + if not isinstance(a, _CountingAttr): + if a is NOTHING: + a = attrib() + else: + a = attrib(default=a) + ca_list.append((attr_name, a)) + + unannotated = ca_names - annot_names + if len(unannotated) > 0: + raise UnannotatedAttributeError( + "The following `attr.ib`s lack a type annotation: " + + ", ".join( + sorted(unannotated, key=lambda n: cd.get(n).counter) + ) + + "." + ) + else: + ca_list = sorted( + ( + (name, attr) + for name, attr in cd.items() + if isinstance(attr, _CountingAttr) + ), + key=lambda e: e[1].counter, + ) + + own_attrs = [ + Attribute.from_counting_attr( + name=attr_name, ca=ca, type=anns.get(attr_name) + ) + for attr_name, ca in ca_list + ] + + base_attrs = [] + base_attr_map = {} # A dictionary of base attrs to their classes. + taken_attr_names = {a.name: a for a in own_attrs} + + # Traverse the MRO and collect attributes. + for base_cls in cls.__mro__[1:-1]: + sub_attrs = getattr(base_cls, "__attrs_attrs__", None) + if sub_attrs is not None: + for a in sub_attrs: + prev_a = taken_attr_names.get(a.name) + # Only add an attribute if it hasn't been defined before. This + # allows for overwriting attribute definitions by subclassing. + if prev_a is None: + base_attrs.append(a) + taken_attr_names[a.name] = a + base_attr_map[a.name] = base_cls + + attr_names = [a.name for a in base_attrs + own_attrs] + + AttrsClass = _make_attr_tuple_class(cls.__name__, attr_names) + + if kw_only: + own_attrs = [a._assoc(kw_only=True) for a in own_attrs] + base_attrs = [a._assoc(kw_only=True) for a in base_attrs] + + attrs = AttrsClass(base_attrs + own_attrs) + + had_default = False + was_kw_only = False + for a in attrs: + if ( + was_kw_only is False + and had_default is True + and a.default is NOTHING + and a.init is True + and a.kw_only is False + ): + raise ValueError( + "No mandatory attributes allowed after an attribute with a " + "default value or factory. Attribute in question: %r" % (a,) + ) + elif ( + had_default is False + and a.default is not NOTHING + and a.init is not False + and + # Keyword-only attributes without defaults can be specified + # after keyword-only attributes with defaults. + a.kw_only is False + ): + had_default = True + if was_kw_only is True and a.kw_only is False and a.init is True: + raise ValueError( + "Non keyword-only attributes are not allowed after a " + "keyword-only attribute (unless they are init=False). " + "Attribute in question: {a!r}".format(a=a) + ) + if was_kw_only is False and a.init is True and a.kw_only is True: + was_kw_only = True + + return _Attributes((attrs, base_attrs, base_attr_map)) + + +def _frozen_setattrs(self, name, value): + """ + Attached to frozen classes as __setattr__. + """ + raise FrozenInstanceError() + + +def _frozen_delattrs(self, name): + """ + Attached to frozen classes as __delattr__. + """ + raise FrozenInstanceError() + + +class _ClassBuilder(object): + """ + Iteratively build *one* class. + """ + + __slots__ = ( + "_cls", + "_cls_dict", + "_attrs", + "_base_names", + "_attr_names", + "_slots", + "_frozen", + "_weakref_slot", + "_cache_hash", + "_has_post_init", + "_delete_attribs", + "_base_attr_map", + "_is_exc", + ) + + def __init__( + self, + cls, + these, + slots, + frozen, + weakref_slot, + auto_attribs, + kw_only, + cache_hash, + is_exc, + ): + attrs, base_attrs, base_map = _transform_attrs( + cls, these, auto_attribs, kw_only + ) + + self._cls = cls + self._cls_dict = dict(cls.__dict__) if slots else {} + self._attrs = attrs + self._base_names = set(a.name for a in base_attrs) + self._base_attr_map = base_map + self._attr_names = tuple(a.name for a in attrs) + self._slots = slots + self._frozen = frozen or _has_frozen_base_class(cls) + self._weakref_slot = weakref_slot + self._cache_hash = cache_hash + self._has_post_init = bool(getattr(cls, "__attrs_post_init__", False)) + self._delete_attribs = not bool(these) + self._is_exc = is_exc + + self._cls_dict["__attrs_attrs__"] = self._attrs + + if frozen: + self._cls_dict["__setattr__"] = _frozen_setattrs + self._cls_dict["__delattr__"] = _frozen_delattrs + + def __repr__(self): + return "<_ClassBuilder(cls={cls})>".format(cls=self._cls.__name__) + + def build_class(self): + """ + Finalize class based on the accumulated configuration. + + Builder cannot be used after calling this method. + """ + if self._slots is True: + return self._create_slots_class() + else: + return self._patch_original_class() + + def _patch_original_class(self): + """ + Apply accumulated methods and return the class. + """ + cls = self._cls + base_names = self._base_names + + # Clean class of attribute definitions (`attr.ib()`s). + if self._delete_attribs: + for name in self._attr_names: + if ( + name not in base_names + and getattr(cls, name, None) is not None + ): + try: + delattr(cls, name) + except AttributeError: + # This can happen if a base class defines a class + # variable and we want to set an attribute with the + # same name by using only a type annotation. + pass + + # Attach our dunder methods. + for name, value in self._cls_dict.items(): + setattr(cls, name, value) + + # Attach __setstate__. This is necessary to clear the hash code + # cache on deserialization. See issue + # https://github.com/python-attrs/attrs/issues/482 . + # Note that this code only handles setstate for dict classes. + # For slotted classes, see similar code in _create_slots_class . + if self._cache_hash: + existing_set_state_method = getattr(cls, "__setstate__", None) + if existing_set_state_method: + raise NotImplementedError( + "Currently you cannot use hash caching if " + "you specify your own __setstate__ method." + "See https://github.com/python-attrs/attrs/issues/494 ." + ) + + def cache_hash_set_state(chss_self, _): + # clear hash code cache + setattr(chss_self, _hash_cache_field, None) + + setattr(cls, "__setstate__", cache_hash_set_state) + + return cls + + def _create_slots_class(self): + """ + Build and return a new class with a `__slots__` attribute. + """ + base_names = self._base_names + cd = { + k: v + for k, v in iteritems(self._cls_dict) + if k not in tuple(self._attr_names) + ("__dict__", "__weakref__") + } + + weakref_inherited = False + + # Traverse the MRO to check for an existing __weakref__. + for base_cls in self._cls.__mro__[1:-1]: + if "__weakref__" in getattr(base_cls, "__dict__", ()): + weakref_inherited = True + break + + names = self._attr_names + if ( + self._weakref_slot + and "__weakref__" not in getattr(self._cls, "__slots__", ()) + and "__weakref__" not in names + and not weakref_inherited + ): + names += ("__weakref__",) + + # We only add the names of attributes that aren't inherited. + # Settings __slots__ to inherited attributes wastes memory. + slot_names = [name for name in names if name not in base_names] + if self._cache_hash: + slot_names.append(_hash_cache_field) + cd["__slots__"] = tuple(slot_names) + + qualname = getattr(self._cls, "__qualname__", None) + if qualname is not None: + cd["__qualname__"] = qualname + + # __weakref__ is not writable. + state_attr_names = tuple( + an for an in self._attr_names if an != "__weakref__" + ) + + def slots_getstate(self): + """ + Automatically created by attrs. + """ + return tuple(getattr(self, name) for name in state_attr_names) + + hash_caching_enabled = self._cache_hash + + def slots_setstate(self, state): + """ + Automatically created by attrs. + """ + __bound_setattr = _obj_setattr.__get__(self, Attribute) + for name, value in zip(state_attr_names, state): + __bound_setattr(name, value) + # Clearing the hash code cache on deserialization is needed + # because hash codes can change from run to run. See issue + # https://github.com/python-attrs/attrs/issues/482 . + # Note that this code only handles setstate for slotted classes. + # For dict classes, see similar code in _patch_original_class . + if hash_caching_enabled: + __bound_setattr(_hash_cache_field, None) + + # slots and frozen require __getstate__/__setstate__ to work + cd["__getstate__"] = slots_getstate + cd["__setstate__"] = slots_setstate + + # Create new class based on old class and our methods. + cls = type(self._cls)(self._cls.__name__, self._cls.__bases__, cd) + + # The following is a fix for + # https://github.com/python-attrs/attrs/issues/102. On Python 3, + # if a method mentions `__class__` or uses the no-arg super(), the + # compiler will bake a reference to the class in the method itself + # as `method.__closure__`. Since we replace the class with a + # clone, we rewrite these references so it keeps working. + for item in cls.__dict__.values(): + if isinstance(item, (classmethod, staticmethod)): + # Class- and staticmethods hide their functions inside. + # These might need to be rewritten as well. + closure_cells = getattr(item.__func__, "__closure__", None) + else: + closure_cells = getattr(item, "__closure__", None) + + if not closure_cells: # Catch None or the empty list. + continue + for cell in closure_cells: + if cell.cell_contents is self._cls: + set_closure_cell(cell, cls) + + return cls + + def add_repr(self, ns): + self._cls_dict["__repr__"] = self._add_method_dunders( + _make_repr(self._attrs, ns=ns) + ) + return self + + def add_str(self): + repr = self._cls_dict.get("__repr__") + if repr is None: + raise ValueError( + "__str__ can only be generated if a __repr__ exists." + ) + + def __str__(self): + return self.__repr__() + + self._cls_dict["__str__"] = self._add_method_dunders(__str__) + return self + + def make_unhashable(self): + self._cls_dict["__hash__"] = None + return self + + def add_hash(self): + self._cls_dict["__hash__"] = self._add_method_dunders( + _make_hash( + self._attrs, frozen=self._frozen, cache_hash=self._cache_hash + ) + ) + + return self + + def add_init(self): + self._cls_dict["__init__"] = self._add_method_dunders( + _make_init( + self._attrs, + self._has_post_init, + self._frozen, + self._slots, + self._cache_hash, + self._base_attr_map, + self._is_exc, + ) + ) + + return self + + def add_cmp(self): + cd = self._cls_dict + + cd["__eq__"], cd["__ne__"], cd["__lt__"], cd["__le__"], cd[ + "__gt__" + ], cd["__ge__"] = ( + self._add_method_dunders(meth) for meth in _make_cmp(self._attrs) + ) + + return self + + def _add_method_dunders(self, method): + """ + Add __module__ and __qualname__ to a *method* if possible. + """ + try: + method.__module__ = self._cls.__module__ + except AttributeError: + pass + + try: + method.__qualname__ = ".".join( + (self._cls.__qualname__, method.__name__) + ) + except AttributeError: + pass + + return method + + +def attrs( + maybe_cls=None, + these=None, + repr_ns=None, + repr=True, + cmp=True, + hash=None, + init=True, + slots=False, + frozen=False, + weakref_slot=True, + str=False, + auto_attribs=False, + kw_only=False, + cache_hash=False, + auto_exc=False, +): + r""" + A class decorator that adds `dunder + <https://wiki.python.org/moin/DunderAlias>`_\ -methods according to the + specified attributes using :func:`attr.ib` or the *these* argument. + + :param these: A dictionary of name to :func:`attr.ib` mappings. This is + useful to avoid the definition of your attributes within the class body + because you can't (e.g. if you want to add ``__repr__`` methods to + Django models) or don't want to. + + If *these* is not ``None``, ``attrs`` will *not* search the class body + for attributes and will *not* remove any attributes from it. + + If *these* is an ordered dict (:class:`dict` on Python 3.6+, + :class:`collections.OrderedDict` otherwise), the order is deduced from + the order of the attributes inside *these*. Otherwise the order + of the definition of the attributes is used. + + :type these: :class:`dict` of :class:`str` to :func:`attr.ib` + + :param str repr_ns: When using nested classes, there's no way in Python 2 + to automatically detect that. Therefore it's possible to set the + namespace explicitly for a more meaningful ``repr`` output. + :param bool repr: Create a ``__repr__`` method with a human readable + representation of ``attrs`` attributes.. + :param bool str: Create a ``__str__`` method that is identical to + ``__repr__``. This is usually not necessary except for + :class:`Exception`\ s. + :param bool cmp: Create ``__eq__``, ``__ne__``, ``__lt__``, ``__le__``, + ``__gt__``, and ``__ge__`` methods that compare the class as if it were + a tuple of its ``attrs`` attributes. But the attributes are *only* + compared, if the types of both classes are *identical*! + :param hash: If ``None`` (default), the ``__hash__`` method is generated + according how *cmp* and *frozen* are set. + + 1. If *both* are True, ``attrs`` will generate a ``__hash__`` for you. + 2. If *cmp* is True and *frozen* is False, ``__hash__`` will be set to + None, marking it unhashable (which it is). + 3. If *cmp* is False, ``__hash__`` will be left untouched meaning the + ``__hash__`` method of the base class will be used (if base class is + ``object``, this means it will fall back to id-based hashing.). + + Although not recommended, you can decide for yourself and force + ``attrs`` to create one (e.g. if the class is immutable even though you + didn't freeze it programmatically) by passing ``True`` or not. Both of + these cases are rather special and should be used carefully. + + See the `Python documentation \ + <https://docs.python.org/3/reference/datamodel.html#object.__hash__>`_ + and the `GitHub issue that led to the default behavior \ + <https://github.com/python-attrs/attrs/issues/136>`_ for more details. + :type hash: ``bool`` or ``None`` + :param bool init: Create a ``__init__`` method that initializes the + ``attrs`` attributes. Leading underscores are stripped for the + argument name. If a ``__attrs_post_init__`` method exists on the + class, it will be called after the class is fully initialized. + :param bool slots: Create a slots_-style class that's more + memory-efficient. See :ref:`slots` for further ramifications. + :param bool frozen: Make instances immutable after initialization. If + someone attempts to modify a frozen instance, + :exc:`attr.exceptions.FrozenInstanceError` is raised. + + Please note: + + 1. This is achieved by installing a custom ``__setattr__`` method + on your class so you can't implement an own one. + + 2. True immutability is impossible in Python. + + 3. This *does* have a minor a runtime performance :ref:`impact + <how-frozen>` when initializing new instances. In other words: + ``__init__`` is slightly slower with ``frozen=True``. + + 4. If a class is frozen, you cannot modify ``self`` in + ``__attrs_post_init__`` or a self-written ``__init__``. You can + circumvent that limitation by using + ``object.__setattr__(self, "attribute_name", value)``. + + .. _slots: https://docs.python.org/3/reference/datamodel.html#slots + :param bool weakref_slot: Make instances weak-referenceable. This has no + effect unless ``slots`` is also enabled. + :param bool auto_attribs: If True, collect `PEP 526`_-annotated attributes + (Python 3.6 and later only) from the class body. + + In this case, you **must** annotate every field. If ``attrs`` + encounters a field that is set to an :func:`attr.ib` but lacks a type + annotation, an :exc:`attr.exceptions.UnannotatedAttributeError` is + raised. Use ``field_name: typing.Any = attr.ib(...)`` if you don't + want to set a type. + + If you assign a value to those attributes (e.g. ``x: int = 42``), that + value becomes the default value like if it were passed using + ``attr.ib(default=42)``. Passing an instance of :class:`Factory` also + works as expected. + + Attributes annotated as :data:`typing.ClassVar` are **ignored**. + + .. _`PEP 526`: https://www.python.org/dev/peps/pep-0526/ + :param bool kw_only: Make all attributes keyword-only (Python 3+) + in the generated ``__init__`` (if ``init`` is ``False``, this + parameter is ignored). + :param bool cache_hash: Ensure that the object's hash code is computed + only once and stored on the object. If this is set to ``True``, + hashing must be either explicitly or implicitly enabled for this + class. If the hash code is cached, avoid any reassignments of + fields involved in hash code computation or mutations of the objects + those fields point to after object creation. If such changes occur, + the behavior of the object's hash code is undefined. + :param bool auto_exc: If the class subclasses :class:`BaseException` + (which implicitly includes any subclass of any exception), the + following happens to behave like a well-behaved Python exceptions + class: + + - the values for *cmp* and *hash* are ignored and the instances compare + and hash by the instance's ids (N.B. ``attrs`` will *not* remove + existing implementations of ``__hash__`` or the equality methods. It + just won't add own ones.), + - all attributes that are either passed into ``__init__`` or have a + default value are additionally available as a tuple in the ``args`` + attribute, + - the value of *str* is ignored leaving ``__str__`` to base classes. + + .. versionadded:: 16.0.0 *slots* + .. versionadded:: 16.1.0 *frozen* + .. versionadded:: 16.3.0 *str* + .. versionadded:: 16.3.0 Support for ``__attrs_post_init__``. + .. versionchanged:: 17.1.0 + *hash* supports ``None`` as value which is also the default now. + .. versionadded:: 17.3.0 *auto_attribs* + .. versionchanged:: 18.1.0 + If *these* is passed, no attributes are deleted from the class body. + .. versionchanged:: 18.1.0 If *these* is ordered, the order is retained. + .. versionadded:: 18.2.0 *weakref_slot* + .. deprecated:: 18.2.0 + ``__lt__``, ``__le__``, ``__gt__``, and ``__ge__`` now raise a + :class:`DeprecationWarning` if the classes compared are subclasses of + each other. ``__eq`` and ``__ne__`` never tried to compared subclasses + to each other. + .. versionadded:: 18.2.0 *kw_only* + .. versionadded:: 18.2.0 *cache_hash* + .. versionadded:: 19.1.0 *auto_exc* + """ + + def wrap(cls): + + if getattr(cls, "__class__", None) is None: + raise TypeError("attrs only works with new-style classes.") + + is_exc = auto_exc is True and issubclass(cls, BaseException) + + builder = _ClassBuilder( + cls, + these, + slots, + frozen, + weakref_slot, + auto_attribs, + kw_only, + cache_hash, + is_exc, + ) + + if repr is True: + builder.add_repr(repr_ns) + if str is True: + builder.add_str() + if cmp is True and not is_exc: + builder.add_cmp() + + if hash is not True and hash is not False and hash is not None: + # Can't use `hash in` because 1 == True for example. + raise TypeError( + "Invalid value for hash. Must be True, False, or None." + ) + elif hash is False or (hash is None and cmp is False): + if cache_hash: + raise TypeError( + "Invalid value for cache_hash. To use hash caching," + " hashing must be either explicitly or implicitly " + "enabled." + ) + elif ( + hash is True + or (hash is None and cmp is True and frozen is True) + and is_exc is False + ): + builder.add_hash() + else: + if cache_hash: + raise TypeError( + "Invalid value for cache_hash. To use hash caching," + " hashing must be either explicitly or implicitly " + "enabled." + ) + builder.make_unhashable() + + if init is True: + builder.add_init() + else: + if cache_hash: + raise TypeError( + "Invalid value for cache_hash. To use hash caching," + " init must be True." + ) + + return builder.build_class() + + # maybe_cls's type depends on the usage of the decorator. It's a class + # if it's used as `@attrs` but ``None`` if used as `@attrs()`. + if maybe_cls is None: + return wrap + else: + return wrap(maybe_cls) + + +_attrs = attrs +""" +Internal alias so we can use it in functions that take an argument called +*attrs*. +""" + + +if PY2: + + def _has_frozen_base_class(cls): + """ + Check whether *cls* has a frozen ancestor by looking at its + __setattr__. + """ + return ( + getattr(cls.__setattr__, "__module__", None) + == _frozen_setattrs.__module__ + and cls.__setattr__.__name__ == _frozen_setattrs.__name__ + ) + + +else: + + def _has_frozen_base_class(cls): + """ + Check whether *cls* has a frozen ancestor by looking at its + __setattr__. + """ + return cls.__setattr__ == _frozen_setattrs + + +def _attrs_to_tuple(obj, attrs): + """ + Create a tuple of all values of *obj*'s *attrs*. + """ + return tuple(getattr(obj, a.name) for a in attrs) + + +def _make_hash(attrs, frozen, cache_hash): + attrs = tuple( + a + for a in attrs + if a.hash is True or (a.hash is None and a.cmp is True) + ) + + tab = " " + + # We cache the generated hash methods for the same kinds of attributes. + sha1 = hashlib.sha1() + sha1.update(repr(attrs).encode("utf-8")) + unique_filename = "<attrs generated hash %s>" % (sha1.hexdigest(),) + type_hash = hash(unique_filename) + + method_lines = ["def __hash__(self):"] + + def append_hash_computation_lines(prefix, indent): + """ + Generate the code for actually computing the hash code. + Below this will either be returned directly or used to compute + a value which is then cached, depending on the value of cache_hash + """ + method_lines.extend( + [indent + prefix + "hash((", indent + " %d," % (type_hash,)] + ) + + for a in attrs: + method_lines.append(indent + " self.%s," % a.name) + + method_lines.append(indent + " ))") + + if cache_hash: + method_lines.append(tab + "if self.%s is None:" % _hash_cache_field) + if frozen: + append_hash_computation_lines( + "object.__setattr__(self, '%s', " % _hash_cache_field, tab * 2 + ) + method_lines.append(tab * 2 + ")") # close __setattr__ + else: + append_hash_computation_lines( + "self.%s = " % _hash_cache_field, tab * 2 + ) + method_lines.append(tab + "return self.%s" % _hash_cache_field) + else: + append_hash_computation_lines("return ", tab) + + script = "\n".join(method_lines) + globs = {} + locs = {} + bytecode = compile(script, unique_filename, "exec") + eval(bytecode, globs, locs) + + # In order of debuggers like PDB being able to step through the code, + # we add a fake linecache entry. + linecache.cache[unique_filename] = ( + len(script), + None, + script.splitlines(True), + unique_filename, + ) + + return locs["__hash__"] + + +def _add_hash(cls, attrs): + """ + Add a hash method to *cls*. + """ + cls.__hash__ = _make_hash(attrs, frozen=False, cache_hash=False) + return cls + + +def __ne__(self, other): + """ + Check equality and either forward a NotImplemented or return the result + negated. + """ + result = self.__eq__(other) + if result is NotImplemented: + return NotImplemented + + return not result + + +WARNING_CMP_ISINSTANCE = ( + "Comparision of subclasses using __%s__ is deprecated and will be removed " + "in 2019." +) + + +def _make_cmp(attrs): + attrs = [a for a in attrs if a.cmp] + + # We cache the generated eq methods for the same kinds of attributes. + sha1 = hashlib.sha1() + sha1.update(repr(attrs).encode("utf-8")) + unique_filename = "<attrs generated eq %s>" % (sha1.hexdigest(),) + lines = [ + "def __eq__(self, other):", + " if other.__class__ is not self.__class__:", + " return NotImplemented", + ] + # We can't just do a big self.x = other.x and... clause due to + # irregularities like nan == nan is false but (nan,) == (nan,) is true. + if attrs: + lines.append(" return (") + others = [" ) == ("] + for a in attrs: + lines.append(" self.%s," % (a.name,)) + others.append(" other.%s," % (a.name,)) + + lines += others + [" )"] + else: + lines.append(" return True") + + script = "\n".join(lines) + globs = {} + locs = {} + bytecode = compile(script, unique_filename, "exec") + eval(bytecode, globs, locs) + + # In order of debuggers like PDB being able to step through the code, + # we add a fake linecache entry. + linecache.cache[unique_filename] = ( + len(script), + None, + script.splitlines(True), + unique_filename, + ) + eq = locs["__eq__"] + ne = __ne__ + + def attrs_to_tuple(obj): + """ + Save us some typing. + """ + return _attrs_to_tuple(obj, attrs) + + def __lt__(self, other): + """ + Automatically created by attrs. + """ + if isinstance(other, self.__class__): + if other.__class__ is not self.__class__: + warnings.warn( + WARNING_CMP_ISINSTANCE % ("lt",), DeprecationWarning + ) + return attrs_to_tuple(self) < attrs_to_tuple(other) + else: + return NotImplemented + + def __le__(self, other): + """ + Automatically created by attrs. + """ + if isinstance(other, self.__class__): + if other.__class__ is not self.__class__: + warnings.warn( + WARNING_CMP_ISINSTANCE % ("le",), DeprecationWarning + ) + return attrs_to_tuple(self) <= attrs_to_tuple(other) + else: + return NotImplemented + + def __gt__(self, other): + """ + Automatically created by attrs. + """ + if isinstance(other, self.__class__): + if other.__class__ is not self.__class__: + warnings.warn( + WARNING_CMP_ISINSTANCE % ("gt",), DeprecationWarning + ) + return attrs_to_tuple(self) > attrs_to_tuple(other) + else: + return NotImplemented + + def __ge__(self, other): + """ + Automatically created by attrs. + """ + if isinstance(other, self.__class__): + if other.__class__ is not self.__class__: + warnings.warn( + WARNING_CMP_ISINSTANCE % ("ge",), DeprecationWarning + ) + return attrs_to_tuple(self) >= attrs_to_tuple(other) + else: + return NotImplemented + + return eq, ne, __lt__, __le__, __gt__, __ge__ + + +def _add_cmp(cls, attrs=None): + """ + Add comparison methods to *cls*. + """ + if attrs is None: + attrs = cls.__attrs_attrs__ + + cls.__eq__, cls.__ne__, cls.__lt__, cls.__le__, cls.__gt__, cls.__ge__ = _make_cmp( # noqa + attrs + ) + + return cls + + +_already_repring = threading.local() + + +def _make_repr(attrs, ns): + """ + Make a repr method for *attr_names* adding *ns* to the full name. + """ + attr_names = tuple(a.name for a in attrs if a.repr) + + def __repr__(self): + """ + Automatically created by attrs. + """ + try: + working_set = _already_repring.working_set + except AttributeError: + working_set = set() + _already_repring.working_set = working_set + + if id(self) in working_set: + return "..." + real_cls = self.__class__ + if ns is None: + qualname = getattr(real_cls, "__qualname__", None) + if qualname is not None: + class_name = qualname.rsplit(">.", 1)[-1] + else: + class_name = real_cls.__name__ + else: + class_name = ns + "." + real_cls.__name__ + + # Since 'self' remains on the stack (i.e.: strongly referenced) for the + # duration of this call, it's safe to depend on id(...) stability, and + # not need to track the instance and therefore worry about properties + # like weakref- or hash-ability. + working_set.add(id(self)) + try: + result = [class_name, "("] + first = True + for name in attr_names: + if first: + first = False + else: + result.append(", ") + result.extend((name, "=", repr(getattr(self, name, NOTHING)))) + return "".join(result) + ")" + finally: + working_set.remove(id(self)) + + return __repr__ + + +def _add_repr(cls, ns=None, attrs=None): + """ + Add a repr method to *cls*. + """ + if attrs is None: + attrs = cls.__attrs_attrs__ + + cls.__repr__ = _make_repr(attrs, ns) + return cls + + +def _make_init( + attrs, post_init, frozen, slots, cache_hash, base_attr_map, is_exc +): + attrs = [a for a in attrs if a.init or a.default is not NOTHING] + + # We cache the generated init methods for the same kinds of attributes. + sha1 = hashlib.sha1() + sha1.update(repr(attrs).encode("utf-8")) + unique_filename = "<attrs generated init {0}>".format(sha1.hexdigest()) + + script, globs, annotations = _attrs_to_init_script( + attrs, frozen, slots, post_init, cache_hash, base_attr_map, is_exc + ) + locs = {} + bytecode = compile(script, unique_filename, "exec") + attr_dict = dict((a.name, a) for a in attrs) + globs.update({"NOTHING": NOTHING, "attr_dict": attr_dict}) + + if frozen is True: + # Save the lookup overhead in __init__ if we need to circumvent + # immutability. + globs["_cached_setattr"] = _obj_setattr + + eval(bytecode, globs, locs) + + # In order of debuggers like PDB being able to step through the code, + # we add a fake linecache entry. + linecache.cache[unique_filename] = ( + len(script), + None, + script.splitlines(True), + unique_filename, + ) + + __init__ = locs["__init__"] + __init__.__annotations__ = annotations + + return __init__ + + +def fields(cls): + """ + Return the tuple of ``attrs`` attributes for a class. + + The tuple also allows accessing the fields by their names (see below for + examples). + + :param type cls: Class to introspect. + + :raise TypeError: If *cls* is not a class. + :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs`` + class. + + :rtype: tuple (with name accessors) of :class:`attr.Attribute` + + .. versionchanged:: 16.2.0 Returned tuple allows accessing the fields + by name. + """ + if not isclass(cls): + raise TypeError("Passed object must be a class.") + attrs = getattr(cls, "__attrs_attrs__", None) + if attrs is None: + raise NotAnAttrsClassError( + "{cls!r} is not an attrs-decorated class.".format(cls=cls) + ) + return attrs + + +def fields_dict(cls): + """ + Return an ordered dictionary of ``attrs`` attributes for a class, whose + keys are the attribute names. + + :param type cls: Class to introspect. + + :raise TypeError: If *cls* is not a class. + :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs`` + class. + + :rtype: an ordered dict where keys are attribute names and values are + :class:`attr.Attribute`\\ s. This will be a :class:`dict` if it's + naturally ordered like on Python 3.6+ or an + :class:`~collections.OrderedDict` otherwise. + + .. versionadded:: 18.1.0 + """ + if not isclass(cls): + raise TypeError("Passed object must be a class.") + attrs = getattr(cls, "__attrs_attrs__", None) + if attrs is None: + raise NotAnAttrsClassError( + "{cls!r} is not an attrs-decorated class.".format(cls=cls) + ) + return ordered_dict(((a.name, a) for a in attrs)) + + +def validate(inst): + """ + Validate all attributes on *inst* that have a validator. + + Leaves all exceptions through. + + :param inst: Instance of a class with ``attrs`` attributes. + """ + if _config._run_validators is False: + return + + for a in fields(inst.__class__): + v = a.validator + if v is not None: + v(inst, a, getattr(inst, a.name)) + + +def _is_slot_cls(cls): + return "__slots__" in cls.__dict__ + + +def _is_slot_attr(a_name, base_attr_map): + """ + Check if the attribute name comes from a slot class. + """ + return a_name in base_attr_map and _is_slot_cls(base_attr_map[a_name]) + + +def _attrs_to_init_script( + attrs, frozen, slots, post_init, cache_hash, base_attr_map, is_exc +): + """ + Return a script of an initializer for *attrs* and a dict of globals. + + The globals are expected by the generated script. + + If *frozen* is True, we cannot set the attributes directly so we use + a cached ``object.__setattr__``. + """ + lines = [] + any_slot_ancestors = any( + _is_slot_attr(a.name, base_attr_map) for a in attrs + ) + if frozen is True: + if slots is True: + lines.append( + # Circumvent the __setattr__ descriptor to save one lookup per + # assignment. + # Note _setattr will be used again below if cache_hash is True + "_setattr = _cached_setattr.__get__(self, self.__class__)" + ) + + def fmt_setter(attr_name, value_var): + return "_setattr('%(attr_name)s', %(value_var)s)" % { + "attr_name": attr_name, + "value_var": value_var, + } + + def fmt_setter_with_converter(attr_name, value_var): + conv_name = _init_converter_pat.format(attr_name) + return "_setattr('%(attr_name)s', %(conv)s(%(value_var)s))" % { + "attr_name": attr_name, + "value_var": value_var, + "conv": conv_name, + } + + else: + # Dict frozen classes assign directly to __dict__. + # But only if the attribute doesn't come from an ancestor slot + # class. + # Note _inst_dict will be used again below if cache_hash is True + lines.append("_inst_dict = self.__dict__") + if any_slot_ancestors: + lines.append( + # Circumvent the __setattr__ descriptor to save one lookup + # per assignment. + "_setattr = _cached_setattr.__get__(self, self.__class__)" + ) + + def fmt_setter(attr_name, value_var): + if _is_slot_attr(attr_name, base_attr_map): + res = "_setattr('%(attr_name)s', %(value_var)s)" % { + "attr_name": attr_name, + "value_var": value_var, + } + else: + res = "_inst_dict['%(attr_name)s'] = %(value_var)s" % { + "attr_name": attr_name, + "value_var": value_var, + } + return res + + def fmt_setter_with_converter(attr_name, value_var): + conv_name = _init_converter_pat.format(attr_name) + if _is_slot_attr(attr_name, base_attr_map): + tmpl = "_setattr('%(attr_name)s', %(c)s(%(value_var)s))" + else: + tmpl = "_inst_dict['%(attr_name)s'] = %(c)s(%(value_var)s)" + return tmpl % { + "attr_name": attr_name, + "value_var": value_var, + "c": conv_name, + } + + else: + # Not frozen. + def fmt_setter(attr_name, value): + return "self.%(attr_name)s = %(value)s" % { + "attr_name": attr_name, + "value": value, + } + + def fmt_setter_with_converter(attr_name, value_var): + conv_name = _init_converter_pat.format(attr_name) + return "self.%(attr_name)s = %(conv)s(%(value_var)s)" % { + "attr_name": attr_name, + "value_var": value_var, + "conv": conv_name, + } + + args = [] + kw_only_args = [] + attrs_to_validate = [] + + # This is a dictionary of names to validator and converter callables. + # Injecting this into __init__ globals lets us avoid lookups. + names_for_globals = {} + annotations = {"return": None} + + for a in attrs: + if a.validator: + attrs_to_validate.append(a) + attr_name = a.name + arg_name = a.name.lstrip("_") + has_factory = isinstance(a.default, Factory) + if has_factory and a.default.takes_self: + maybe_self = "self" + else: + maybe_self = "" + if a.init is False: + if has_factory: + init_factory_name = _init_factory_pat.format(a.name) + if a.converter is not None: + lines.append( + fmt_setter_with_converter( + attr_name, + init_factory_name + "({0})".format(maybe_self), + ) + ) + conv_name = _init_converter_pat.format(a.name) + names_for_globals[conv_name] = a.converter + else: + lines.append( + fmt_setter( + attr_name, + init_factory_name + "({0})".format(maybe_self), + ) + ) + names_for_globals[init_factory_name] = a.default.factory + else: + if a.converter is not None: + lines.append( + fmt_setter_with_converter( + attr_name, + "attr_dict['{attr_name}'].default".format( + attr_name=attr_name + ), + ) + ) + conv_name = _init_converter_pat.format(a.name) + names_for_globals[conv_name] = a.converter + else: + lines.append( + fmt_setter( + attr_name, + "attr_dict['{attr_name}'].default".format( + attr_name=attr_name + ), + ) + ) + elif a.default is not NOTHING and not has_factory: + arg = "{arg_name}=attr_dict['{attr_name}'].default".format( + arg_name=arg_name, attr_name=attr_name + ) + if a.kw_only: + kw_only_args.append(arg) + else: + args.append(arg) + if a.converter is not None: + lines.append(fmt_setter_with_converter(attr_name, arg_name)) + names_for_globals[ + _init_converter_pat.format(a.name) + ] = a.converter + else: + lines.append(fmt_setter(attr_name, arg_name)) + elif has_factory: + arg = "{arg_name}=NOTHING".format(arg_name=arg_name) + if a.kw_only: + kw_only_args.append(arg) + else: + args.append(arg) + lines.append( + "if {arg_name} is not NOTHING:".format(arg_name=arg_name) + ) + init_factory_name = _init_factory_pat.format(a.name) + if a.converter is not None: + lines.append( + " " + fmt_setter_with_converter(attr_name, arg_name) + ) + lines.append("else:") + lines.append( + " " + + fmt_setter_with_converter( + attr_name, + init_factory_name + "({0})".format(maybe_self), + ) + ) + names_for_globals[ + _init_converter_pat.format(a.name) + ] = a.converter + else: + lines.append(" " + fmt_setter(attr_name, arg_name)) + lines.append("else:") + lines.append( + " " + + fmt_setter( + attr_name, + init_factory_name + "({0})".format(maybe_self), + ) + ) + names_for_globals[init_factory_name] = a.default.factory + else: + if a.kw_only: + kw_only_args.append(arg_name) + else: + args.append(arg_name) + if a.converter is not None: + lines.append(fmt_setter_with_converter(attr_name, arg_name)) + names_for_globals[ + _init_converter_pat.format(a.name) + ] = a.converter + else: + lines.append(fmt_setter(attr_name, arg_name)) + + if a.init is True and a.converter is None and a.type is not None: + annotations[arg_name] = a.type + + if attrs_to_validate: # we can skip this if there are no validators. + names_for_globals["_config"] = _config + lines.append("if _config._run_validators is True:") + for a in attrs_to_validate: + val_name = "__attr_validator_{}".format(a.name) + attr_name = "__attr_{}".format(a.name) + lines.append( + " {}(self, {}, self.{})".format(val_name, attr_name, a.name) + ) + names_for_globals[val_name] = a.validator + names_for_globals[attr_name] = a + if post_init: + lines.append("self.__attrs_post_init__()") + + # because this is set only after __attrs_post_init is called, a crash + # will result if post-init tries to access the hash code. This seemed + # preferable to setting this beforehand, in which case alteration to + # field values during post-init combined with post-init accessing the + # hash code would result in silent bugs. + if cache_hash: + if frozen: + if slots: + # if frozen and slots, then _setattr defined above + init_hash_cache = "_setattr('%s', %s)" + else: + # if frozen and not slots, then _inst_dict defined above + init_hash_cache = "_inst_dict['%s'] = %s" + else: + init_hash_cache = "self.%s = %s" + lines.append(init_hash_cache % (_hash_cache_field, "None")) + + # For exceptions we rely on BaseException.__init__ for proper + # initialization. + if is_exc: + vals = ",".join("self." + a.name for a in attrs if a.init) + + lines.append("BaseException.__init__(self, %s)" % (vals,)) + + args = ", ".join(args) + if kw_only_args: + if PY2: + raise PythonTooOldError( + "Keyword-only arguments only work on Python 3 and later." + ) + + args += "{leading_comma}*, {kw_only_args}".format( + leading_comma=", " if args else "", + kw_only_args=", ".join(kw_only_args), + ) + return ( + """\ +def __init__(self, {args}): + {lines} +""".format( + args=args, lines="\n ".join(lines) if lines else "pass" + ), + names_for_globals, + annotations, + ) + + +class Attribute(object): + """ + *Read-only* representation of an attribute. + + :attribute name: The name of the attribute. + + Plus *all* arguments of :func:`attr.ib`. + + For the version history of the fields, see :func:`attr.ib`. + """ + + __slots__ = ( + "name", + "default", + "validator", + "repr", + "cmp", + "hash", + "init", + "metadata", + "type", + "converter", + "kw_only", + ) + + def __init__( + self, + name, + default, + validator, + repr, + cmp, + hash, + init, + convert=None, + metadata=None, + type=None, + converter=None, + kw_only=False, + ): + # Cache this descriptor here to speed things up later. + bound_setattr = _obj_setattr.__get__(self, Attribute) + + # Despite the big red warning, people *do* instantiate `Attribute` + # themselves. + if convert is not None: + if converter is not None: + raise RuntimeError( + "Can't pass both `convert` and `converter`. " + "Please use `converter` only." + ) + warnings.warn( + "The `convert` argument is deprecated in favor of `converter`." + " It will be removed after 2019/01.", + DeprecationWarning, + stacklevel=2, + ) + converter = convert + + bound_setattr("name", name) + bound_setattr("default", default) + bound_setattr("validator", validator) + bound_setattr("repr", repr) + bound_setattr("cmp", cmp) + bound_setattr("hash", hash) + bound_setattr("init", init) + bound_setattr("converter", converter) + bound_setattr( + "metadata", + ( + metadata_proxy(metadata) + if metadata + else _empty_metadata_singleton + ), + ) + bound_setattr("type", type) + bound_setattr("kw_only", kw_only) + + def __setattr__(self, name, value): + raise FrozenInstanceError() + + @property + def convert(self): + warnings.warn( + "The `convert` attribute is deprecated in favor of `converter`. " + "It will be removed after 2019/01.", + DeprecationWarning, + stacklevel=2, + ) + return self.converter + + @classmethod + def from_counting_attr(cls, name, ca, type=None): + # type holds the annotated value. deal with conflicts: + if type is None: + type = ca.type + elif ca.type is not None: + raise ValueError( + "Type annotation and type argument cannot both be present" + ) + inst_dict = { + k: getattr(ca, k) + for k in Attribute.__slots__ + if k + not in ( + "name", + "validator", + "default", + "type", + "convert", + ) # exclude methods and deprecated alias + } + return cls( + name=name, + validator=ca._validator, + default=ca._default, + type=type, + **inst_dict + ) + + # Don't use attr.assoc since fields(Attribute) doesn't work + def _assoc(self, **changes): + """ + Copy *self* and apply *changes*. + """ + new = copy.copy(self) + + new._setattrs(changes.items()) + + return new + + # Don't use _add_pickle since fields(Attribute) doesn't work + def __getstate__(self): + """ + Play nice with pickle. + """ + return tuple( + getattr(self, name) if name != "metadata" else dict(self.metadata) + for name in self.__slots__ + ) + + def __setstate__(self, state): + """ + Play nice with pickle. + """ + self._setattrs(zip(self.__slots__, state)) + + def _setattrs(self, name_values_pairs): + bound_setattr = _obj_setattr.__get__(self, Attribute) + for name, value in name_values_pairs: + if name != "metadata": + bound_setattr(name, value) + else: + bound_setattr( + name, + metadata_proxy(value) + if value + else _empty_metadata_singleton, + ) + + +_a = [ + Attribute( + name=name, + default=NOTHING, + validator=None, + repr=True, + cmp=True, + hash=(name != "metadata"), + init=True, + ) + for name in Attribute.__slots__ + if name != "convert" # XXX: remove once `convert` is gone +] + +Attribute = _add_hash( + _add_cmp(_add_repr(Attribute, attrs=_a), attrs=_a), + attrs=[a for a in _a if a.hash], +) + + +class _CountingAttr(object): + """ + Intermediate representation of attributes that uses a counter to preserve + the order in which the attributes have been defined. + + *Internal* data structure of the attrs library. Running into is most + likely the result of a bug like a forgotten `@attr.s` decorator. + """ + + __slots__ = ( + "counter", + "_default", + "repr", + "cmp", + "hash", + "init", + "metadata", + "_validator", + "converter", + "type", + "kw_only", + ) + __attrs_attrs__ = tuple( + Attribute( + name=name, + default=NOTHING, + validator=None, + repr=True, + cmp=True, + hash=True, + init=True, + kw_only=False, + ) + for name in ("counter", "_default", "repr", "cmp", "hash", "init") + ) + ( + Attribute( + name="metadata", + default=None, + validator=None, + repr=True, + cmp=True, + hash=False, + init=True, + kw_only=False, + ), + ) + cls_counter = 0 + + def __init__( + self, + default, + validator, + repr, + cmp, + hash, + init, + converter, + metadata, + type, + kw_only, + ): + _CountingAttr.cls_counter += 1 + self.counter = _CountingAttr.cls_counter + self._default = default + # If validator is a list/tuple, wrap it using helper validator. + if validator and isinstance(validator, (list, tuple)): + self._validator = and_(*validator) + else: + self._validator = validator + self.repr = repr + self.cmp = cmp + self.hash = hash + self.init = init + self.converter = converter + self.metadata = metadata + self.type = type + self.kw_only = kw_only + + def validator(self, meth): + """ + Decorator that adds *meth* to the list of validators. + + Returns *meth* unchanged. + + .. versionadded:: 17.1.0 + """ + if self._validator is None: + self._validator = meth + else: + self._validator = and_(self._validator, meth) + return meth + + def default(self, meth): + """ + Decorator that allows to set the default for an attribute. + + Returns *meth* unchanged. + + :raises DefaultAlreadySetError: If default has been set before. + + .. versionadded:: 17.1.0 + """ + if self._default is not NOTHING: + raise DefaultAlreadySetError() + + self._default = Factory(meth, takes_self=True) + + return meth + + +_CountingAttr = _add_cmp(_add_repr(_CountingAttr)) + + +@attrs(slots=True, init=False, hash=True) +class Factory(object): + """ + Stores a factory callable. + + If passed as the default value to :func:`attr.ib`, the factory is used to + generate a new value. + + :param callable factory: A callable that takes either none or exactly one + mandatory positional argument depending on *takes_self*. + :param bool takes_self: Pass the partially initialized instance that is + being initialized as a positional argument. + + .. versionadded:: 17.1.0 *takes_self* + """ + + factory = attrib() + takes_self = attrib() + + def __init__(self, factory, takes_self=False): + """ + `Factory` is part of the default machinery so if we want a default + value here, we have to implement it ourselves. + """ + self.factory = factory + self.takes_self = takes_self + + +def make_class(name, attrs, bases=(object,), **attributes_arguments): + """ + A quick way to create a new class called *name* with *attrs*. + + :param name: The name for the new class. + :type name: str + + :param attrs: A list of names or a dictionary of mappings of names to + attributes. + + If *attrs* is a list or an ordered dict (:class:`dict` on Python 3.6+, + :class:`collections.OrderedDict` otherwise), the order is deduced from + the order of the names or attributes inside *attrs*. Otherwise the + order of the definition of the attributes is used. + :type attrs: :class:`list` or :class:`dict` + + :param tuple bases: Classes that the new class will subclass. + + :param attributes_arguments: Passed unmodified to :func:`attr.s`. + + :return: A new class with *attrs*. + :rtype: type + + .. versionadded:: 17.1.0 *bases* + .. versionchanged:: 18.1.0 If *attrs* is ordered, the order is retained. + """ + if isinstance(attrs, dict): + cls_dict = attrs + elif isinstance(attrs, (list, tuple)): + cls_dict = dict((a, attrib()) for a in attrs) + else: + raise TypeError("attrs argument must be a dict or a list.") + + post_init = cls_dict.pop("__attrs_post_init__", None) + type_ = type( + name, + bases, + {} if post_init is None else {"__attrs_post_init__": post_init}, + ) + # For pickling to work, the __module__ variable needs to be set to the + # frame where the class is created. Bypass this step in environments where + # sys._getframe is not defined (Jython for example) or sys._getframe is not + # defined for arguments greater than 0 (IronPython). + try: + type_.__module__ = sys._getframe(1).f_globals.get( + "__name__", "__main__" + ) + except (AttributeError, ValueError): + pass + + return _attrs(these=cls_dict, **attributes_arguments)(type_) + + +# These are required by within this module so we define them here and merely +# import into .validators. + + +@attrs(slots=True, hash=True) +class _AndValidator(object): + """ + Compose many validators to a single one. + """ + + _validators = attrib() + + def __call__(self, inst, attr, value): + for v in self._validators: + v(inst, attr, value) + + +def and_(*validators): + """ + A validator that composes multiple validators into one. + + When called on a value, it runs all wrapped validators. + + :param validators: Arbitrary number of validators. + :type validators: callables + + .. versionadded:: 17.1.0 + """ + vals = [] + for validator in validators: + vals.extend( + validator._validators + if isinstance(validator, _AndValidator) + else [validator] + ) + + return _AndValidator(tuple(vals)) diff --git a/venv/lib/python3.6/site-packages/attr/converters.py b/venv/lib/python3.6/site-packages/attr/converters.py new file mode 100644 index 0000000..37c4a07 --- /dev/null +++ b/venv/lib/python3.6/site-packages/attr/converters.py @@ -0,0 +1,78 @@ +""" +Commonly useful converters. +""" + +from __future__ import absolute_import, division, print_function + +from ._make import NOTHING, Factory + + +def optional(converter): + """ + A converter that allows an attribute to be optional. An optional attribute + is one which can be set to ``None``. + + :param callable converter: the converter that is used for non-``None`` + values. + + .. versionadded:: 17.1.0 + """ + + def optional_converter(val): + if val is None: + return None + return converter(val) + + return optional_converter + + +def default_if_none(default=NOTHING, factory=None): + """ + A converter that allows to replace ``None`` values by *default* or the + result of *factory*. + + :param default: Value to be used if ``None`` is passed. Passing an instance + of :class:`attr.Factory` is supported, however the ``takes_self`` option + is *not*. + :param callable factory: A callable that takes not parameters whose result + is used if ``None`` is passed. + + :raises TypeError: If **neither** *default* or *factory* is passed. + :raises TypeError: If **both** *default* and *factory* are passed. + :raises ValueError: If an instance of :class:`attr.Factory` is passed with + ``takes_self=True``. + + .. versionadded:: 18.2.0 + """ + if default is NOTHING and factory is None: + raise TypeError("Must pass either `default` or `factory`.") + + if default is not NOTHING and factory is not None: + raise TypeError( + "Must pass either `default` or `factory` but not both." + ) + + if factory is not None: + default = Factory(factory) + + if isinstance(default, Factory): + if default.takes_self: + raise ValueError( + "`takes_self` is not supported by default_if_none." + ) + + def default_if_none_converter(val): + if val is not None: + return val + + return default.factory() + + else: + + def default_if_none_converter(val): + if val is not None: + return val + + return default + + return default_if_none_converter diff --git a/venv/lib/python3.6/site-packages/attr/converters.pyi b/venv/lib/python3.6/site-packages/attr/converters.pyi new file mode 100644 index 0000000..63b2a38 --- /dev/null +++ b/venv/lib/python3.6/site-packages/attr/converters.pyi @@ -0,0 +1,12 @@ +from typing import TypeVar, Optional, Callable, overload +from . import _ConverterType + +_T = TypeVar("_T") + +def optional( + converter: _ConverterType[_T] +) -> _ConverterType[Optional[_T]]: ... +@overload +def default_if_none(default: _T) -> _ConverterType[_T]: ... +@overload +def default_if_none(*, factory: Callable[[], _T]) -> _ConverterType[_T]: ... diff --git a/venv/lib/python3.6/site-packages/attr/exceptions.py b/venv/lib/python3.6/site-packages/attr/exceptions.py new file mode 100644 index 0000000..b12e41e --- /dev/null +++ b/venv/lib/python3.6/site-packages/attr/exceptions.py @@ -0,0 +1,57 @@ +from __future__ import absolute_import, division, print_function + + +class FrozenInstanceError(AttributeError): + """ + A frozen/immutable instance has been attempted to be modified. + + It mirrors the behavior of ``namedtuples`` by using the same error message + and subclassing :exc:`AttributeError`. + + .. versionadded:: 16.1.0 + """ + + msg = "can't set attribute" + args = [msg] + + +class AttrsAttributeNotFoundError(ValueError): + """ + An ``attrs`` function couldn't find an attribute that the user asked for. + + .. versionadded:: 16.2.0 + """ + + +class NotAnAttrsClassError(ValueError): + """ + A non-``attrs`` class has been passed into an ``attrs`` function. + + .. versionadded:: 16.2.0 + """ + + +class DefaultAlreadySetError(RuntimeError): + """ + A default has been set using ``attr.ib()`` and is attempted to be reset + using the decorator. + + .. versionadded:: 17.1.0 + """ + + +class UnannotatedAttributeError(RuntimeError): + """ + A class with ``auto_attribs=True`` has an ``attr.ib()`` without a type + annotation. + + .. versionadded:: 17.3.0 + """ + + +class PythonTooOldError(RuntimeError): + """ + An ``attrs`` feature requiring a more recent python version has been used. + + .. versionadded:: 18.2.0 + """ diff --git a/venv/lib/python3.6/site-packages/attr/exceptions.pyi b/venv/lib/python3.6/site-packages/attr/exceptions.pyi new file mode 100644 index 0000000..48fffcc --- /dev/null +++ b/venv/lib/python3.6/site-packages/attr/exceptions.pyi @@ -0,0 +1,7 @@ +class FrozenInstanceError(AttributeError): + msg: str = ... + +class AttrsAttributeNotFoundError(ValueError): ... +class NotAnAttrsClassError(ValueError): ... +class DefaultAlreadySetError(RuntimeError): ... +class UnannotatedAttributeError(RuntimeError): ... diff --git a/venv/lib/python3.6/site-packages/attr/filters.py b/venv/lib/python3.6/site-packages/attr/filters.py new file mode 100644 index 0000000..f1c69b8 --- /dev/null +++ b/venv/lib/python3.6/site-packages/attr/filters.py @@ -0,0 +1,52 @@ +""" +Commonly useful filters for :func:`attr.asdict`. +""" + +from __future__ import absolute_import, division, print_function + +from ._compat import isclass +from ._make import Attribute + + +def _split_what(what): + """ + Returns a tuple of `frozenset`s of classes and attributes. + """ + return ( + frozenset(cls for cls in what if isclass(cls)), + frozenset(cls for cls in what if isinstance(cls, Attribute)), + ) + + +def include(*what): + """ + Whitelist *what*. + + :param what: What to whitelist. + :type what: :class:`list` of :class:`type` or :class:`attr.Attribute`\\ s + + :rtype: :class:`callable` + """ + cls, attrs = _split_what(what) + + def include_(attribute, value): + return value.__class__ in cls or attribute in attrs + + return include_ + + +def exclude(*what): + """ + Blacklist *what*. + + :param what: What to blacklist. + :type what: :class:`list` of classes or :class:`attr.Attribute`\\ s. + + :rtype: :class:`callable` + """ + cls, attrs = _split_what(what) + + def exclude_(attribute, value): + return value.__class__ not in cls and attribute not in attrs + + return exclude_ diff --git a/venv/lib/python3.6/site-packages/attr/filters.pyi b/venv/lib/python3.6/site-packages/attr/filters.pyi new file mode 100644 index 0000000..68368fe --- /dev/null +++ b/venv/lib/python3.6/site-packages/attr/filters.pyi @@ -0,0 +1,5 @@ +from typing import Union, Any +from . import Attribute, _FilterType + +def include(*what: Union[type, Attribute[Any]]) -> _FilterType[Any]: ... +def exclude(*what: Union[type, Attribute[Any]]) -> _FilterType[Any]: ... diff --git a/venv/lib/python3.6/site-packages/attr/py.typed b/venv/lib/python3.6/site-packages/attr/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.6/site-packages/attr/validators.py b/venv/lib/python3.6/site-packages/attr/validators.py new file mode 100644 index 0000000..7fc4446 --- /dev/null +++ b/venv/lib/python3.6/site-packages/attr/validators.py @@ -0,0 +1,282 @@ +""" +Commonly useful validators. +""" + +from __future__ import absolute_import, division, print_function + +from ._make import _AndValidator, and_, attrib, attrs + + +__all__ = ["and_", "in_", "instance_of", "optional", "provides"] + + +@attrs(repr=False, slots=True, hash=True) +class _InstanceOfValidator(object): + type = attrib() + + def __call__(self, inst, attr, value): + """ + We use a callable class to be able to change the ``__repr__``. + """ + if not isinstance(value, self.type): + raise TypeError( + "'{name}' must be {type!r} (got {value!r} that is a " + "{actual!r}).".format( + name=attr.name, + type=self.type, + actual=value.__class__, + value=value, + ), + attr, + self.type, + value, + ) + + def __repr__(self): + return "<instance_of validator for type {type!r}>".format( + type=self.type + ) + + +def instance_of(type): + """ + A validator that raises a :exc:`TypeError` if the initializer is called + with a wrong type for this particular attribute (checks are performed using + :func:`isinstance` therefore it's also valid to pass a tuple of types). + + :param type: The type to check for. + :type type: type or tuple of types + + :raises TypeError: With a human readable error message, the attribute + (of type :class:`attr.Attribute`), the expected type, and the value it + got. + """ + return _InstanceOfValidator(type) + + +@attrs(repr=False, slots=True, hash=True) +class _ProvidesValidator(object): + interface = attrib() + + def __call__(self, inst, attr, value): + """ + We use a callable class to be able to change the ``__repr__``. + """ + if not self.interface.providedBy(value): + raise TypeError( + "'{name}' must provide {interface!r} which {value!r} " + "doesn't.".format( + name=attr.name, interface=self.interface, value=value + ), + attr, + self.interface, + value, + ) + + def __repr__(self): + return "<provides validator for interface {interface!r}>".format( + interface=self.interface + ) + + +def provides(interface): + """ + A validator that raises a :exc:`TypeError` if the initializer is called + with an object that does not provide the requested *interface* (checks are + performed using ``interface.providedBy(value)`` (see `zope.interface + <https://zopeinterface.readthedocs.io/en/latest/>`_). + + :param zope.interface.Interface interface: The interface to check for. + + :raises TypeError: With a human readable error message, the attribute + (of type :class:`attr.Attribute`), the expected interface, and the + value it got. + """ + return _ProvidesValidator(interface) + + +@attrs(repr=False, slots=True, hash=True) +class _OptionalValidator(object): + validator = attrib() + + def __call__(self, inst, attr, value): + if value is None: + return + + self.validator(inst, attr, value) + + def __repr__(self): + return "<optional validator for {what} or None>".format( + what=repr(self.validator) + ) + + +def optional(validator): + """ + A validator that makes an attribute optional. An optional attribute is one + which can be set to ``None`` in addition to satisfying the requirements of + the sub-validator. + + :param validator: A validator (or a list of validators) that is used for + non-``None`` values. + :type validator: callable or :class:`list` of callables. + + .. versionadded:: 15.1.0 + .. versionchanged:: 17.1.0 *validator* can be a list of validators. + """ + if isinstance(validator, list): + return _OptionalValidator(_AndValidator(validator)) + return _OptionalValidator(validator) + + +@attrs(repr=False, slots=True, hash=True) +class _InValidator(object): + options = attrib() + + def __call__(self, inst, attr, value): + try: + in_options = value in self.options + except TypeError: # e.g. `1 in "abc"` + in_options = False + + if not in_options: + raise ValueError( + "'{name}' must be in {options!r} (got {value!r})".format( + name=attr.name, options=self.options, value=value + ) + ) + + def __repr__(self): + return "<in_ validator with options {options!r}>".format( + options=self.options + ) + + +def in_(options): + """ + A validator that raises a :exc:`ValueError` if the initializer is called + with a value that does not belong in the options provided. The check is + performed using ``value in options``. + + :param options: Allowed options. + :type options: list, tuple, :class:`enum.Enum`, ... + + :raises ValueError: With a human readable error message, the attribute (of + type :class:`attr.Attribute`), the expected options, and the value it + got. + + .. versionadded:: 17.1.0 + """ + return _InValidator(options) + + +@attrs(repr=False, slots=False, hash=True) +class _IsCallableValidator(object): + def __call__(self, inst, attr, value): + """ + We use a callable class to be able to change the ``__repr__``. + """ + if not callable(value): + raise TypeError("'{name}' must be callable".format(name=attr.name)) + + def __repr__(self): + return "<is_callable validator>" + + +def is_callable(): + """ + A validator that raises a :class:`TypeError` if the initializer is called + with a value for this particular attribute that is not callable. + + .. versionadded:: 19.1.0 + + :raises TypeError: With a human readable error message containing the + attribute (of type :class:`attr.Attribute`) name. + """ + return _IsCallableValidator() + + +@attrs(repr=False, slots=True, hash=True) +class _DeepIterable(object): + member_validator = attrib(validator=is_callable()) + iterable_validator = attrib( + default=None, validator=optional(is_callable()) + ) + + def __call__(self, inst, attr, value): + """ + We use a callable class to be able to change the ``__repr__``. + """ + if self.iterable_validator is not None: + self.iterable_validator(inst, attr, value) + + for member in value: + self.member_validator(inst, attr, member) + + def __repr__(self): + iterable_identifier = ( + "" + if self.iterable_validator is None + else " {iterable!r}".format(iterable=self.iterable_validator) + ) + return ( + "<deep_iterable validator for{iterable_identifier}" + " iterables of {member!r}>" + ).format( + iterable_identifier=iterable_identifier, + member=self.member_validator, + ) + + +def deep_iterable(member_validator, iterable_validator=None): + """ + A validator that performs deep validation of an iterable. + + :param member_validator: Validator to apply to iterable members + :param iterable_validator: Validator to apply to iterable itself + (optional) + + .. versionadded:: 19.1.0 + + :raises TypeError: if any sub-validators fail + """ + return _DeepIterable(member_validator, iterable_validator) + + +@attrs(repr=False, slots=True, hash=True) +class _DeepMapping(object): + key_validator = attrib(validator=is_callable()) + value_validator = attrib(validator=is_callable()) + mapping_validator = attrib(default=None, validator=optional(is_callable())) + + def __call__(self, inst, attr, value): + """ + We use a callable class to be able to change the ``__repr__``. + """ + if self.mapping_validator is not None: + self.mapping_validator(inst, attr, value) + + for key in value: + self.key_validator(inst, attr, key) + self.value_validator(inst, attr, value[key]) + + def __repr__(self): + return ( + "<deep_mapping validator for objects mapping {key!r} to {value!r}>" + ).format(key=self.key_validator, value=self.value_validator) + + +def deep_mapping(key_validator, value_validator, mapping_validator=None): + """ + A validator that performs deep validation of a dictionary. + + :param key_validator: Validator to apply to dictionary keys + :param value_validator: Validator to apply to dictionary values + :param mapping_validator: Validator to apply to top-level mapping + attribute (optional) + + .. versionadded:: 19.1.0 + + :raises TypeError: if any sub-validators fail + """ + return _DeepMapping(key_validator, value_validator, mapping_validator) diff --git a/venv/lib/python3.6/site-packages/attr/validators.pyi b/venv/lib/python3.6/site-packages/attr/validators.pyi new file mode 100644 index 0000000..01af068 --- /dev/null +++ b/venv/lib/python3.6/site-packages/attr/validators.pyi @@ -0,0 +1,24 @@ +from typing import Container, List, Union, TypeVar, Type, Any, Optional, Tuple +from . import _ValidatorType + +_T = TypeVar("_T") + +def instance_of( + type: Union[Tuple[Type[_T], ...], Type[_T]] +) -> _ValidatorType[_T]: ... +def provides(interface: Any) -> _ValidatorType[Any]: ... +def optional( + validator: Union[_ValidatorType[_T], List[_ValidatorType[_T]]] +) -> _ValidatorType[Optional[_T]]: ... +def in_(options: Container[_T]) -> _ValidatorType[_T]: ... +def and_(*validators: _ValidatorType[_T]) -> _ValidatorType[_T]: ... +def deep_iterable( + member_validator: _ValidatorType[_T], + iterable_validator: Optional[_ValidatorType[_T]], +) -> _ValidatorType[_T]: ... +def deep_mapping( + key_validator: _ValidatorType[_T], + value_validator: _ValidatorType[_T], + mapping_validator: Optional[_ValidatorType[_T]], +) -> _ValidatorType[_T]: ... +def is_callable() -> _ValidatorType[_T]: ... diff --git a/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/INSTALLER b/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/LICENSE b/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/LICENSE new file mode 100644 index 0000000..7ae3df9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Hynek Schlawack + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/METADATA b/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/METADATA new file mode 100644 index 0000000..81b6fc8 --- /dev/null +++ b/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/METADATA @@ -0,0 +1,249 @@ +Metadata-Version: 2.1 +Name: attrs +Version: 19.1.0 +Summary: Classes Without Boilerplate +Home-page: https://www.attrs.org/ +Author: Hynek Schlawack +Author-email: hs@ox.cx +Maintainer: Hynek Schlawack +Maintainer-email: hs@ox.cx +License: MIT +Project-URL: Documentation, https://www.attrs.org/ +Project-URL: Bug Tracker, https://github.com/python-attrs/attrs/issues +Project-URL: Source Code, https://github.com/python-attrs/attrs +Keywords: class,attribute,boilerplate +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: Natural Language :: English +Classifier: License :: OSI Approved :: MIT License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* +Provides-Extra: dev +Requires-Dist: coverage ; extra == 'dev' +Requires-Dist: hypothesis ; extra == 'dev' +Requires-Dist: pympler ; extra == 'dev' +Requires-Dist: pytest ; extra == 'dev' +Requires-Dist: six ; extra == 'dev' +Requires-Dist: zope.interface ; extra == 'dev' +Requires-Dist: sphinx ; extra == 'dev' +Requires-Dist: pre-commit ; extra == 'dev' +Provides-Extra: docs +Requires-Dist: sphinx ; extra == 'docs' +Requires-Dist: zope.interface ; extra == 'docs' +Provides-Extra: tests +Requires-Dist: coverage ; extra == 'tests' +Requires-Dist: hypothesis ; extra == 'tests' +Requires-Dist: pympler ; extra == 'tests' +Requires-Dist: pytest ; extra == 'tests' +Requires-Dist: six ; extra == 'tests' +Requires-Dist: zope.interface ; extra == 'tests' + +.. image:: https://www.attrs.org/en/latest/_static/attrs_logo.png + :alt: attrs Logo + +====================================== +``attrs``: Classes Without Boilerplate +====================================== + +.. image:: https://readthedocs.org/projects/attrs/badge/?version=stable + :target: https://www.attrs.org/en/stable/?badge=stable + :alt: Documentation Status + +.. image:: https://travis-ci.org/python-attrs/attrs.svg?branch=master + :target: https://travis-ci.org/python-attrs/attrs + :alt: CI Status + +.. image:: https://codecov.io/github/python-attrs/attrs/branch/master/graph/badge.svg + :target: https://codecov.io/github/python-attrs/attrs + :alt: Test Coverage + +.. image:: https://img.shields.io/badge/code%20style-black-000000.svg + :target: https://github.com/ambv/black + :alt: Code style: black + +.. teaser-begin + +``attrs`` is the Python package that will bring back the **joy** of **writing classes** by relieving you from the drudgery of implementing object protocols (aka `dunder <https://nedbatchelder.com/blog/200605/dunder.html>`_ methods). + +Its main goal is to help you to write **concise** and **correct** software without slowing down your code. + +.. -spiel-end- + +For that, it gives you a class decorator and a way to declaratively define the attributes on that class: + +.. -code-begin- + +.. code-block:: pycon + + >>> import attr + + >>> @attr.s + ... class SomeClass(object): + ... a_number = attr.ib(default=42) + ... list_of_numbers = attr.ib(factory=list) + ... + ... def hard_math(self, another_number): + ... return self.a_number + sum(self.list_of_numbers) * another_number + + + >>> sc = SomeClass(1, [1, 2, 3]) + >>> sc + SomeClass(a_number=1, list_of_numbers=[1, 2, 3]) + + >>> sc.hard_math(3) + 19 + >>> sc == SomeClass(1, [1, 2, 3]) + True + >>> sc != SomeClass(2, [3, 2, 1]) + True + + >>> attr.asdict(sc) + {'a_number': 1, 'list_of_numbers': [1, 2, 3]} + + >>> SomeClass() + SomeClass(a_number=42, list_of_numbers=[]) + + >>> C = attr.make_class("C", ["a", "b"]) + >>> C("foo", "bar") + C(a='foo', b='bar') + + +After *declaring* your attributes ``attrs`` gives you: + +- a concise and explicit overview of the class's attributes, +- a nice human-readable ``__repr__``, +- a complete set of comparison methods, +- an initializer, +- and much more, + +*without* writing dull boilerplate code again and again and *without* runtime performance penalties. + +On Python 3.6 and later, you can often even drop the calls to ``attr.ib()`` by using `type annotations <https://www.attrs.org/en/latest/types.html>`_. + +This gives you the power to use actual classes with actual types in your code instead of confusing ``tuple``\ s or `confusingly behaving <https://www.attrs.org/en/stable/why.html#namedtuples>`_ ``namedtuple``\ s. +Which in turn encourages you to write *small classes* that do `one thing well <https://www.destroyallsoftware.com/talks/boundaries>`_. +Never again violate the `single responsibility principle <https://en.wikipedia.org/wiki/Single_responsibility_principle>`_ just because implementing ``__init__`` et al is a painful drag. + + +.. -testimonials- + +Testimonials +============ + +**Amber Hawkie Brown**, Twisted Release Manager and Computer Owl: + + Writing a fully-functional class using attrs takes me less time than writing this testimonial. + + +**Glyph Lefkowitz**, creator of `Twisted <https://twistedmatrix.com/>`_, `Automat <https://pypi.org/project/Automat/>`_, and other open source software, in `The One Python Library Everyone Needs <https://glyph.twistedmatrix.com/2016/08/attrs.html>`_: + + I’m looking forward to is being able to program in Python-with-attrs everywhere. + It exerts a subtle, but positive, design influence in all the codebases I’ve see it used in. + + +**Kenneth Reitz**, author of `Requests <http://www.python-requests.org/>`_ and Developer Advocate at DigitalOcean, (`on paper no less <https://twitter.com/hynek/status/866817877650751488>`_!): + + attrs—classes for humans. I like it. + + +**Łukasz Langa**, prolific CPython core developer and Production Engineer at Facebook: + + I'm increasingly digging your attr.ocity. Good job! + + +.. -end- + +.. -project-information- + +Getting Help +============ + +Please use the ``python-attrs`` tag on `StackOverflow <https://stackoverflow.com/questions/tagged/python-attrs>`_ to get help. + +Answering questions of your fellow developers is also great way to help the project! + + +Project Information +=================== + +``attrs`` is released under the `MIT <https://choosealicense.com/licenses/mit/>`_ license, +its documentation lives at `Read the Docs <https://www.attrs.org/>`_, +the code on `GitHub <https://github.com/python-attrs/attrs>`_, +and the latest release on `PyPI <https://pypi.org/project/attrs/>`_. +It’s rigorously tested on Python 2.7, 3.4+, and PyPy. + +We collect information on **third-party extensions** in our `wiki <https://github.com/python-attrs/attrs/wiki/Extensions-to-attrs>`_. +Feel free to browse and add your own! + +If you'd like to contribute to ``attrs`` you're most welcome and we've written `a little guide <https://www.attrs.org/en/latest/contributing.html>`_ to get you started! + + +Release Information +=================== + +19.1.0 (2019-03-03) +------------------- + +Backward-incompatible Changes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +- Fixed a bug where deserialized objects with ``cache_hash=True`` could have incorrect hash code values. + This change breaks classes with ``cache_hash=True`` when a custom ``__setstate__`` is present. + An exception will be thrown when applying the ``attrs`` annotation to such a class. + This limitation is tracked in issue `#494 <https://github.com/python-attrs/attrs/issues/494>`_. + `#482 <https://github.com/python-attrs/attrs/issues/482>`_ + + +Changes +^^^^^^^ + +- Add ``is_callable``, ``deep_iterable``, and ``deep_mapping`` validators. + + * ``is_callable``: validates that a value is callable + * ``deep_iterable``: Allows recursion down into an iterable, + applying another validator to every member in the iterable + as well as applying an optional validator to the iterable itself. + * ``deep_mapping``: Allows recursion down into the items in a mapping object, + applying a key validator and a value validator to the key and value in every item. + Also applies an optional validator to the mapping object itself. + + You can find them in the ``attr.validators`` package. + `#425 <https://github.com/python-attrs/attrs/issues/425>`_ +- Fixed stub files to prevent errors raised by mypy's ``disallow_any_generics = True`` option. + `#443 <https://github.com/python-attrs/attrs/issues/443>`_ +- Attributes with ``init=False`` now can follow after ``kw_only=True`` attributes. + `#450 <https://github.com/python-attrs/attrs/issues/450>`_ +- ``attrs`` now has first class support for defining exception classes. + + If you define a class using ``@attr.s(auto_exc=True)`` and subclass an exception, the class will behave like a well-behaved exception class including an appropriate ``__str__`` method, and all attributes additionally available in an ``args`` attribute. + `#500 <https://github.com/python-attrs/attrs/issues/500>`_ +- Clarified documentation for hashing to warn that hashable objects should be deeply immutable (in their usage, even if this is not enforced). + `#503 <https://github.com/python-attrs/attrs/issues/503>`_ + +`Full changelog <https://www.attrs.org/en/stable/changelog.html>`_. + +Credits +======= + +``attrs`` is written and maintained by `Hynek Schlawack <https://hynek.me/>`_. + +The development is kindly supported by `Variomedia AG <https://www.variomedia.de/>`_. + +A full list of contributors can be found in `GitHub's overview <https://github.com/python-attrs/attrs/graphs/contributors>`_. + +It’s the spiritual successor of `characteristic <https://characteristic.readthedocs.io/>`_ and aspires to fix some of it clunkiness and unfortunate decisions. +Both were inspired by Twisted’s `FancyEqMixin <https://twistedmatrix.com/documents/current/api/twisted.python.util.FancyEqMixin.html>`_ but both are implemented using class decorators because `subclassing is bad for you <https://www.youtube.com/watch?v=3MNVP9-hglc>`_, m’kay? + + diff --git a/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/RECORD b/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/RECORD new file mode 100644 index 0000000..98ccf3a --- /dev/null +++ b/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/RECORD @@ -0,0 +1,30 @@ +attr/__init__.py,sha256=3XomfUfit8bVVEmSf1bRhLnRMPKauPbzFqPUnVRPgXw,1244 +attr/__init__.pyi,sha256=OON4rNWdgL69frd_WdrxtuQe8CEczl3aFpgifFeESN8,7769 +attr/__pycache__/__init__.cpython-36.pyc,, +attr/__pycache__/_compat.cpython-36.pyc,, +attr/__pycache__/_config.cpython-36.pyc,, +attr/__pycache__/_funcs.cpython-36.pyc,, +attr/__pycache__/_make.cpython-36.pyc,, +attr/__pycache__/converters.cpython-36.pyc,, +attr/__pycache__/exceptions.cpython-36.pyc,, +attr/__pycache__/filters.cpython-36.pyc,, +attr/__pycache__/validators.cpython-36.pyc,, +attr/_compat.py,sha256=GcjqWHrwUWGVCbDKY7twYt-Rr_4nPJqBnfrf5SeHsIY,4583 +attr/_config.py,sha256=_KvW0mQdH2PYjHc0YfIUaV_o2pVfM7ziMEYTxwmEhOA,514 +attr/_funcs.py,sha256=7v3MNMHdOUP2NkiLPwEiWAorBs3uNQq5Rn70Odr5uqo,9725 +attr/_make.py,sha256=be1PmzR8EDGfVA2Cx6ljsTIuXRxW2tEWPpTqtQXde0Y,68317 +attr/converters.py,sha256=SFPiz6-hAs2pw3kn7SzkBcdpE9AjW8iT9wjpe2eLDrQ,2155 +attr/converters.pyi,sha256=wAhCoOT1MFV8t323rpD87O7bxQ8CYLTPiBQd-29BieI,351 +attr/exceptions.py,sha256=N0WQfKvBVd4GWgDxTbFScg4ajy7-HlyvXiwlSQBA0jA,1272 +attr/exceptions.pyi,sha256=sq7TbBEGGSf81uFXScW9_aO62vd0v6LAvqz0a8Hrsxw,257 +attr/filters.py,sha256=s6NrcRWJKlCQauPEH0S4lmgFwlCdUQcHKcNkDHpptN4,1153 +attr/filters.pyi,sha256=xDpmKQlFdssgxGa5tsl1ADh_3zwAwAT4vUhd8h-8-Tk,214 +attr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +attr/validators.py,sha256=ZAf_y5wNHyq2Rdlin_fwplQnU2u5wZnvmYJq1JddPtM,8750 +attr/validators.pyi,sha256=p2xr2ob8RaKW3PqlKDrQQVAyl8ZH4pNdlZzWXapGPjk,897 +attrs-19.1.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +attrs-19.1.0.dist-info/LICENSE,sha256=v2WaKLSSQGAvVrvfSQy-LsUJsVuY-Z17GaUsdA4yeGM,1082 +attrs-19.1.0.dist-info/METADATA,sha256=5yXp3BTFGRkY2hQDs18h-2dT7xnSlExRUfxvujCtHTE,10275 +attrs-19.1.0.dist-info/RECORD,, +attrs-19.1.0.dist-info/WHEEL,sha256=_wJFdOYk7i3xxT8ElOkUJvOdOvfNGbR9g-bf6UQT6sU,110 +attrs-19.1.0.dist-info/top_level.txt,sha256=tlRYMddkRlKPqJ96wP2_j9uEsmcNHgD2SbuWd4CzGVU,5 diff --git a/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/WHEEL b/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/WHEEL new file mode 100644 index 0000000..c4bde30 --- /dev/null +++ b/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/WHEEL @@ -0,0 +1,6 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.32.3) +Root-Is-Purelib: true +Tag: py2-none-any +Tag: py3-none-any + diff --git a/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/top_level.txt b/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/top_level.txt new file mode 100644 index 0000000..66a062d --- /dev/null +++ b/venv/lib/python3.6/site-packages/attrs-19.1.0.dist-info/top_level.txt @@ -0,0 +1 @@ +attr diff --git a/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/DESCRIPTION.rst b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/DESCRIPTION.rst new file mode 100644 index 0000000..c0f044d --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/DESCRIPTION.rst @@ -0,0 +1,70 @@ +Chardet: The Universal Character Encoding Detector +-------------------------------------------------- + +.. image:: https://img.shields.io/travis/chardet/chardet/stable.svg + :alt: Build status + :target: https://travis-ci.org/chardet/chardet + +.. image:: https://img.shields.io/coveralls/chardet/chardet/stable.svg + :target: https://coveralls.io/r/chardet/chardet + +.. image:: https://img.shields.io/pypi/v/chardet.svg + :target: https://warehouse.python.org/project/chardet/ + :alt: Latest version on PyPI + +.. image:: https://img.shields.io/pypi/l/chardet.svg + :alt: License + + +Detects + - ASCII, UTF-8, UTF-16 (2 variants), UTF-32 (4 variants) + - Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (Traditional and Simplified Chinese) + - EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP (Japanese) + - EUC-KR, ISO-2022-KR (Korean) + - KOI8-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, windows-1251 (Cyrillic) + - ISO-8859-5, windows-1251 (Bulgarian) + - ISO-8859-1, windows-1252 (Western European languages) + - ISO-8859-7, windows-1253 (Greek) + - ISO-8859-8, windows-1255 (Visual and Logical Hebrew) + - TIS-620 (Thai) + +.. note:: + Our ISO-8859-2 and windows-1250 (Hungarian) probers have been temporarily + disabled until we can retrain the models. + +Requires Python 2.6, 2.7, or 3.3+. + +Installation +------------ + +Install from `PyPI <https://pypi.python.org/pypi/chardet>`_:: + + pip install chardet + +Documentation +------------- + +For users, docs are now available at https://chardet.readthedocs.io/. + +Command-line Tool +----------------- + +chardet comes with a command-line script which reports on the encodings of one +or more files:: + + % chardetect somefile someotherfile + somefile: windows-1252 with confidence 0.5 + someotherfile: ascii with confidence 1.0 + +About +----- + +This is a continuation of Mark Pilgrim's excellent chardet. Previously, two +versions needed to be maintained: one that supported python 2.x and one that +supported python 3.x. We've recently merged with `Ian Cordasco <https://github.com/sigmavirus24>`_'s +`charade <https://github.com/sigmavirus24/charade>`_ fork, so now we have one +coherent version that works for Python 2.6+. + +:maintainer: Dan Blanchard + + diff --git a/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/INSTALLER b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/METADATA b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/METADATA new file mode 100644 index 0000000..1427867 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/METADATA @@ -0,0 +1,96 @@ +Metadata-Version: 2.0 +Name: chardet +Version: 3.0.4 +Summary: Universal encoding detector for Python 2 and 3 +Home-page: https://github.com/chardet/chardet +Author: Daniel Blanchard +Author-email: dan.blanchard@gmail.com +License: LGPL +Keywords: encoding,i18n,xml +Platform: UNKNOWN +Classifier: Development Status :: 4 - Beta +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL) +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.6 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Topic :: Text Processing :: Linguistic + +Chardet: The Universal Character Encoding Detector +-------------------------------------------------- + +.. image:: https://img.shields.io/travis/chardet/chardet/stable.svg + :alt: Build status + :target: https://travis-ci.org/chardet/chardet + +.. image:: https://img.shields.io/coveralls/chardet/chardet/stable.svg + :target: https://coveralls.io/r/chardet/chardet + +.. image:: https://img.shields.io/pypi/v/chardet.svg + :target: https://warehouse.python.org/project/chardet/ + :alt: Latest version on PyPI + +.. image:: https://img.shields.io/pypi/l/chardet.svg + :alt: License + + +Detects + - ASCII, UTF-8, UTF-16 (2 variants), UTF-32 (4 variants) + - Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (Traditional and Simplified Chinese) + - EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP (Japanese) + - EUC-KR, ISO-2022-KR (Korean) + - KOI8-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, windows-1251 (Cyrillic) + - ISO-8859-5, windows-1251 (Bulgarian) + - ISO-8859-1, windows-1252 (Western European languages) + - ISO-8859-7, windows-1253 (Greek) + - ISO-8859-8, windows-1255 (Visual and Logical Hebrew) + - TIS-620 (Thai) + +.. note:: + Our ISO-8859-2 and windows-1250 (Hungarian) probers have been temporarily + disabled until we can retrain the models. + +Requires Python 2.6, 2.7, or 3.3+. + +Installation +------------ + +Install from `PyPI <https://pypi.python.org/pypi/chardet>`_:: + + pip install chardet + +Documentation +------------- + +For users, docs are now available at https://chardet.readthedocs.io/. + +Command-line Tool +----------------- + +chardet comes with a command-line script which reports on the encodings of one +or more files:: + + % chardetect somefile someotherfile + somefile: windows-1252 with confidence 0.5 + someotherfile: ascii with confidence 1.0 + +About +----- + +This is a continuation of Mark Pilgrim's excellent chardet. Previously, two +versions needed to be maintained: one that supported python 2.x and one that +supported python 3.x. We've recently merged with `Ian Cordasco <https://github.com/sigmavirus24>`_'s +`charade <https://github.com/sigmavirus24/charade>`_ fork, so now we have one +coherent version that works for Python 2.6+. + +:maintainer: Dan Blanchard + + diff --git a/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/RECORD b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/RECORD new file mode 100644 index 0000000..0485f5a --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/RECORD @@ -0,0 +1,91 @@ +../../../bin/chardetect,sha256=Bujdmv6ZHHiS6y8L5irrYnNnUj6kD-EE0UZREXOmOOk,308 +chardet-3.0.4.dist-info/DESCRIPTION.rst,sha256=PQ4sBsMyKFZkjC6QpmbpLn0UtCNyeb-ZqvCGEgyZMGk,2174 +chardet-3.0.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +chardet-3.0.4.dist-info/METADATA,sha256=RV_2I4B1Z586DL8oVO5Kp7X5bUdQ5EuKAvNoAEF8wSw,3239 +chardet-3.0.4.dist-info/RECORD,, +chardet-3.0.4.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110 +chardet-3.0.4.dist-info/entry_points.txt,sha256=fAMmhu5eJ-zAJ-smfqQwRClQ3-nozOCmvJ6-E8lgGJo,60 +chardet-3.0.4.dist-info/metadata.json,sha256=0htbRM18ujyGZDdfowgAqj6Hq2eQtwzwyhaEveKntgo,1375 +chardet-3.0.4.dist-info/top_level.txt,sha256=AowzBbZy4x8EirABDdJSLJZMkJ_53iIag8xfKR6D7kI,8 +chardet/__init__.py,sha256=YsP5wQlsHJ2auF1RZJfypiSrCA7_bQiRm3ES_NI76-Y,1559 +chardet/__pycache__/__init__.cpython-36.pyc,, +chardet/__pycache__/big5freq.cpython-36.pyc,, +chardet/__pycache__/big5prober.cpython-36.pyc,, +chardet/__pycache__/chardistribution.cpython-36.pyc,, +chardet/__pycache__/charsetgroupprober.cpython-36.pyc,, +chardet/__pycache__/charsetprober.cpython-36.pyc,, +chardet/__pycache__/codingstatemachine.cpython-36.pyc,, +chardet/__pycache__/compat.cpython-36.pyc,, +chardet/__pycache__/cp949prober.cpython-36.pyc,, +chardet/__pycache__/enums.cpython-36.pyc,, +chardet/__pycache__/escprober.cpython-36.pyc,, +chardet/__pycache__/escsm.cpython-36.pyc,, +chardet/__pycache__/eucjpprober.cpython-36.pyc,, +chardet/__pycache__/euckrfreq.cpython-36.pyc,, +chardet/__pycache__/euckrprober.cpython-36.pyc,, +chardet/__pycache__/euctwfreq.cpython-36.pyc,, +chardet/__pycache__/euctwprober.cpython-36.pyc,, +chardet/__pycache__/gb2312freq.cpython-36.pyc,, +chardet/__pycache__/gb2312prober.cpython-36.pyc,, +chardet/__pycache__/hebrewprober.cpython-36.pyc,, +chardet/__pycache__/jisfreq.cpython-36.pyc,, +chardet/__pycache__/jpcntx.cpython-36.pyc,, +chardet/__pycache__/langbulgarianmodel.cpython-36.pyc,, +chardet/__pycache__/langcyrillicmodel.cpython-36.pyc,, +chardet/__pycache__/langgreekmodel.cpython-36.pyc,, +chardet/__pycache__/langhebrewmodel.cpython-36.pyc,, +chardet/__pycache__/langhungarianmodel.cpython-36.pyc,, +chardet/__pycache__/langthaimodel.cpython-36.pyc,, +chardet/__pycache__/langturkishmodel.cpython-36.pyc,, +chardet/__pycache__/latin1prober.cpython-36.pyc,, +chardet/__pycache__/mbcharsetprober.cpython-36.pyc,, +chardet/__pycache__/mbcsgroupprober.cpython-36.pyc,, +chardet/__pycache__/mbcssm.cpython-36.pyc,, +chardet/__pycache__/sbcharsetprober.cpython-36.pyc,, +chardet/__pycache__/sbcsgroupprober.cpython-36.pyc,, +chardet/__pycache__/sjisprober.cpython-36.pyc,, +chardet/__pycache__/universaldetector.cpython-36.pyc,, +chardet/__pycache__/utf8prober.cpython-36.pyc,, +chardet/__pycache__/version.cpython-36.pyc,, +chardet/big5freq.py,sha256=D_zK5GyzoVsRes0HkLJziltFQX0bKCLOrFe9_xDvO_8,31254 +chardet/big5prober.py,sha256=kBxHbdetBpPe7xrlb-e990iot64g_eGSLd32lB7_h3M,1757 +chardet/chardistribution.py,sha256=3woWS62KrGooKyqz4zQSnjFbJpa6V7g02daAibTwcl8,9411 +chardet/charsetgroupprober.py,sha256=6bDu8YIiRuScX4ca9Igb0U69TA2PGXXDej6Cc4_9kO4,3787 +chardet/charsetprober.py,sha256=KSmwJErjypyj0bRZmC5F5eM7c8YQgLYIjZXintZNstg,5110 +chardet/cli/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 +chardet/cli/__pycache__/__init__.cpython-36.pyc,, +chardet/cli/__pycache__/chardetect.cpython-36.pyc,, +chardet/cli/chardetect.py,sha256=YBO8L4mXo0WR6_-Fjh_8QxPBoEBNqB9oNxNrdc54AQs,2738 +chardet/codingstatemachine.py,sha256=VYp_6cyyki5sHgXDSZnXW4q1oelHc3cu9AyQTX7uug8,3590 +chardet/compat.py,sha256=PKTzHkSbtbHDqS9PyujMbX74q1a8mMpeQTDVsQhZMRw,1134 +chardet/cp949prober.py,sha256=TZ434QX8zzBsnUvL_8wm4AQVTZ2ZkqEEQL_lNw9f9ow,1855 +chardet/enums.py,sha256=Aimwdb9as1dJKZaFNUH2OhWIVBVd6ZkJJ_WK5sNY8cU,1661 +chardet/escprober.py,sha256=kkyqVg1Yw3DIOAMJ2bdlyQgUFQhuHAW8dUGskToNWSc,3950 +chardet/escsm.py,sha256=RuXlgNvTIDarndvllNCk5WZBIpdCxQ0kcd9EAuxUh84,10510 +chardet/eucjpprober.py,sha256=iD8Jdp0ISRjgjiVN7f0e8xGeQJ5GM2oeZ1dA8nbSeUw,3749 +chardet/euckrfreq.py,sha256=-7GdmvgWez4-eO4SuXpa7tBiDi5vRXQ8WvdFAzVaSfo,13546 +chardet/euckrprober.py,sha256=MqFMTQXxW4HbzIpZ9lKDHB3GN8SP4yiHenTmf8g_PxY,1748 +chardet/euctwfreq.py,sha256=No1WyduFOgB5VITUA7PLyC5oJRNzRyMbBxaKI1l16MA,31621 +chardet/euctwprober.py,sha256=13p6EP4yRaxqnP4iHtxHOJ6R2zxHq1_m8hTRjzVZ95c,1747 +chardet/gb2312freq.py,sha256=JX8lsweKLmnCwmk8UHEQsLgkr_rP_kEbvivC4qPOrlc,20715 +chardet/gb2312prober.py,sha256=gGvIWi9WhDjE-xQXHvNIyrnLvEbMAYgyUSZ65HUfylw,1754 +chardet/hebrewprober.py,sha256=c3SZ-K7hvyzGY6JRAZxJgwJ_sUS9k0WYkvMY00YBYFo,13838 +chardet/jisfreq.py,sha256=vpmJv2Bu0J8gnMVRPHMFefTRvo_ha1mryLig8CBwgOg,25777 +chardet/jpcntx.py,sha256=PYlNqRUQT8LM3cT5FmHGP0iiscFlTWED92MALvBungo,19643 +chardet/langbulgarianmodel.py,sha256=1HqQS9Pbtnj1xQgxitJMvw8X6kKr5OockNCZWfEQrPE,12839 +chardet/langcyrillicmodel.py,sha256=LODajvsetH87yYDDQKA2CULXUH87tI223dhfjh9Zx9c,17948 +chardet/langgreekmodel.py,sha256=8YAW7bU8YwSJap0kIJSbPMw1BEqzGjWzqcqf0WgUKAA,12688 +chardet/langhebrewmodel.py,sha256=JSnqmE5E62tDLTPTvLpQsg5gOMO4PbdWRvV7Avkc0HA,11345 +chardet/langhungarianmodel.py,sha256=RhapYSG5l0ZaO-VV4Fan5sW0WRGQqhwBM61yx3yxyOA,12592 +chardet/langthaimodel.py,sha256=8l0173Gu_W6G8mxmQOTEF4ls2YdE7FxWf3QkSxEGXJQ,11290 +chardet/langturkishmodel.py,sha256=W22eRNJsqI6uWAfwXSKVWWnCerYqrI8dZQTm_M0lRFk,11102 +chardet/latin1prober.py,sha256=S2IoORhFk39FEFOlSFWtgVybRiP6h7BlLldHVclNkU8,5370 +chardet/mbcharsetprober.py,sha256=AR95eFH9vuqSfvLQZN-L5ijea25NOBCoXqw8s5O9xLQ,3413 +chardet/mbcsgroupprober.py,sha256=h6TRnnYq2OxG1WdD5JOyxcdVpn7dG0q-vB8nWr5mbh4,2012 +chardet/mbcssm.py,sha256=SY32wVIF3HzcjY3BaEspy9metbNSKxIIB0RKPn7tjpI,25481 +chardet/sbcharsetprober.py,sha256=LDSpCldDCFlYwUkGkwD2oFxLlPWIWXT09akH_2PiY74,5657 +chardet/sbcsgroupprober.py,sha256=1IprcCB_k1qfmnxGC6MBbxELlKqD3scW6S8YIwdeyXA,3546 +chardet/sjisprober.py,sha256=IIt-lZj0WJqK4rmUZzKZP4GJlE8KUEtFYVuY96ek5MQ,3774 +chardet/universaldetector.py,sha256=qL0174lSZE442eB21nnktT9_VcAye07laFWUeUrjttY,12485 +chardet/utf8prober.py,sha256=IdD8v3zWOsB8OLiyPi-y_fqwipRFxV9Nc1eKBLSuIEw,2766 +chardet/version.py,sha256=sp3B08mrDXB-pf3K9fqJ_zeDHOCLC8RrngQyDFap_7g,242 diff --git a/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/WHEEL b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/WHEEL new file mode 100644 index 0000000..8b6dd1b --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/WHEEL @@ -0,0 +1,6 @@ +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/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/entry_points.txt b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/entry_points.txt new file mode 100644 index 0000000..a884269 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/entry_points.txt @@ -0,0 +1,3 @@ +[console_scripts] +chardetect = chardet.cli.chardetect:main + diff --git a/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/metadata.json b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/metadata.json new file mode 100644 index 0000000..8cdf025 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/metadata.json @@ -0,0 +1 @@ +{"classifiers": ["Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing :: Linguistic"], "extensions": {"python.commands": {"wrap_console": {"chardetect": "chardet.cli.chardetect:main"}}, "python.details": {"contacts": [{"email": "dan.blanchard@gmail.com", "name": "Daniel Blanchard", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://github.com/chardet/chardet"}}, "python.exports": {"console_scripts": {"chardetect": "chardet.cli.chardetect:main"}}}, "generator": "bdist_wheel (0.29.0)", "keywords": ["encoding", "i18n", "xml"], "license": "LGPL", "metadata_version": "2.0", "name": "chardet", "summary": "Universal encoding detector for Python 2 and 3", "test_requires": [{"requires": ["hypothesis", "pytest"]}], "version": "3.0.4"} \ No newline at end of file diff --git a/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/top_level.txt b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/top_level.txt new file mode 100644 index 0000000..79236f2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet-3.0.4.dist-info/top_level.txt @@ -0,0 +1 @@ +chardet diff --git a/venv/lib/python3.6/site-packages/chardet/__init__.py b/venv/lib/python3.6/site-packages/chardet/__init__.py new file mode 100644 index 0000000..0f9f820 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/__init__.py @@ -0,0 +1,39 @@ +######################## BEGIN LICENSE BLOCK ######################## +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + + +from .compat import PY2, PY3 +from .universaldetector import UniversalDetector +from .version import __version__, VERSION + + +def detect(byte_str): + """ + Detect the encoding of the given byte string. + + :param byte_str: The byte sequence to examine. + :type byte_str: ``bytes`` or ``bytearray`` + """ + if not isinstance(byte_str, bytearray): + if not isinstance(byte_str, bytes): + raise TypeError('Expected object of type bytes or bytearray, got: ' + '{0}'.format(type(byte_str))) + else: + byte_str = bytearray(byte_str) + detector = UniversalDetector() + detector.feed(byte_str) + return detector.close() diff --git a/venv/lib/python3.6/site-packages/chardet/big5freq.py b/venv/lib/python3.6/site-packages/chardet/big5freq.py new file mode 100644 index 0000000..38f3251 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/big5freq.py @@ -0,0 +1,386 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# Big5 frequency table +# by Taiwan's Mandarin Promotion Council +# <http://www.edu.tw:81/mandr/> +# +# 128 --> 0.42261 +# 256 --> 0.57851 +# 512 --> 0.74851 +# 1024 --> 0.89384 +# 2048 --> 0.97583 +# +# Ideal Distribution Ratio = 0.74851/(1-0.74851) =2.98 +# Random Distribution Ration = 512/(5401-512)=0.105 +# +# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR + +BIG5_TYPICAL_DISTRIBUTION_RATIO = 0.75 + +#Char to FreqOrder table +BIG5_TABLE_SIZE = 5376 + +BIG5_CHAR_TO_FREQ_ORDER = ( + 1,1801,1506, 255,1431, 198, 9, 82, 6,5008, 177, 202,3681,1256,2821, 110, # 16 +3814, 33,3274, 261, 76, 44,2114, 16,2946,2187,1176, 659,3971, 26,3451,2653, # 32 +1198,3972,3350,4202, 410,2215, 302, 590, 361,1964, 8, 204, 58,4510,5009,1932, # 48 + 63,5010,5011, 317,1614, 75, 222, 159,4203,2417,1480,5012,3555,3091, 224,2822, # 64 +3682, 3, 10,3973,1471, 29,2787,1135,2866,1940, 873, 130,3275,1123, 312,5013, # 80 +4511,2052, 507, 252, 682,5014, 142,1915, 124, 206,2947, 34,3556,3204, 64, 604, # 96 +5015,2501,1977,1978, 155,1991, 645, 641,1606,5016,3452, 337, 72, 406,5017, 80, # 112 + 630, 238,3205,1509, 263, 939,1092,2654, 756,1440,1094,3453, 449, 69,2987, 591, # 128 + 179,2096, 471, 115,2035,1844, 60, 50,2988, 134, 806,1869, 734,2036,3454, 180, # 144 + 995,1607, 156, 537,2907, 688,5018, 319,1305, 779,2145, 514,2379, 298,4512, 359, # 160 +2502, 90,2716,1338, 663, 11, 906,1099,2553, 20,2441, 182, 532,1716,5019, 732, # 176 +1376,4204,1311,1420,3206, 25,2317,1056, 113, 399, 382,1950, 242,3455,2474, 529, # 192 +3276, 475,1447,3683,5020, 117, 21, 656, 810,1297,2300,2334,3557,5021, 126,4205, # 208 + 706, 456, 150, 613,4513, 71,1118,2037,4206, 145,3092, 85, 835, 486,2115,1246, # 224 +1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,5022,2128,2359, 347,3815, 221, # 240 +3558,3135,5023,1956,1153,4207, 83, 296,1199,3093, 192, 624, 93,5024, 822,1898, # 256 +2823,3136, 795,2065, 991,1554,1542,1592, 27, 43,2867, 859, 139,1456, 860,4514, # 272 + 437, 712,3974, 164,2397,3137, 695, 211,3037,2097, 195,3975,1608,3559,3560,3684, # 288 +3976, 234, 811,2989,2098,3977,2233,1441,3561,1615,2380, 668,2077,1638, 305, 228, # 304 +1664,4515, 467, 415,5025, 262,2099,1593, 239, 108, 300, 200,1033, 512,1247,2078, # 320 +5026,5027,2176,3207,3685,2682, 593, 845,1062,3277, 88,1723,2038,3978,1951, 212, # 336 + 266, 152, 149, 468,1899,4208,4516, 77, 187,5028,3038, 37, 5,2990,5029,3979, # 352 +5030,5031, 39,2524,4517,2908,3208,2079, 55, 148, 74,4518, 545, 483,1474,1029, # 368 +1665, 217,1870,1531,3138,1104,2655,4209, 24, 172,3562, 900,3980,3563,3564,4519, # 384 + 32,1408,2824,1312, 329, 487,2360,2251,2717, 784,2683, 4,3039,3351,1427,1789, # 400 + 188, 109, 499,5032,3686,1717,1790, 888,1217,3040,4520,5033,3565,5034,3352,1520, # 416 +3687,3981, 196,1034, 775,5035,5036, 929,1816, 249, 439, 38,5037,1063,5038, 794, # 432 +3982,1435,2301, 46, 178,3278,2066,5039,2381,5040, 214,1709,4521, 804, 35, 707, # 448 + 324,3688,1601,2554, 140, 459,4210,5041,5042,1365, 839, 272, 978,2262,2580,3456, # 464 +2129,1363,3689,1423, 697, 100,3094, 48, 70,1231, 495,3139,2196,5043,1294,5044, # 480 +2080, 462, 586,1042,3279, 853, 256, 988, 185,2382,3457,1698, 434,1084,5045,3458, # 496 + 314,2625,2788,4522,2335,2336, 569,2285, 637,1817,2525, 757,1162,1879,1616,3459, # 512 + 287,1577,2116, 768,4523,1671,2868,3566,2526,1321,3816, 909,2418,5046,4211, 933, # 528 +3817,4212,2053,2361,1222,4524, 765,2419,1322, 786,4525,5047,1920,1462,1677,2909, # 544 +1699,5048,4526,1424,2442,3140,3690,2600,3353,1775,1941,3460,3983,4213, 309,1369, # 560 +1130,2825, 364,2234,1653,1299,3984,3567,3985,3986,2656, 525,1085,3041, 902,2001, # 576 +1475, 964,4527, 421,1845,1415,1057,2286, 940,1364,3141, 376,4528,4529,1381, 7, # 592 +2527, 983,2383, 336,1710,2684,1846, 321,3461, 559,1131,3042,2752,1809,1132,1313, # 608 + 265,1481,1858,5049, 352,1203,2826,3280, 167,1089, 420,2827, 776, 792,1724,3568, # 624 +4214,2443,3281,5050,4215,5051, 446, 229, 333,2753, 901,3818,1200,1557,4530,2657, # 640 +1921, 395,2754,2685,3819,4216,1836, 125, 916,3209,2626,4531,5052,5053,3820,5054, # 656 +5055,5056,4532,3142,3691,1133,2555,1757,3462,1510,2318,1409,3569,5057,2146, 438, # 672 +2601,2910,2384,3354,1068, 958,3043, 461, 311,2869,2686,4217,1916,3210,4218,1979, # 688 + 383, 750,2755,2627,4219, 274, 539, 385,1278,1442,5058,1154,1965, 384, 561, 210, # 704 + 98,1295,2556,3570,5059,1711,2420,1482,3463,3987,2911,1257, 129,5060,3821, 642, # 720 + 523,2789,2790,2658,5061, 141,2235,1333, 68, 176, 441, 876, 907,4220, 603,2602, # 736 + 710, 171,3464, 404, 549, 18,3143,2398,1410,3692,1666,5062,3571,4533,2912,4534, # 752 +5063,2991, 368,5064, 146, 366, 99, 871,3693,1543, 748, 807,1586,1185, 22,2263, # 768 + 379,3822,3211,5065,3212, 505,1942,2628,1992,1382,2319,5066, 380,2362, 218, 702, # 784 +1818,1248,3465,3044,3572,3355,3282,5067,2992,3694, 930,3283,3823,5068, 59,5069, # 800 + 585, 601,4221, 497,3466,1112,1314,4535,1802,5070,1223,1472,2177,5071, 749,1837, # 816 + 690,1900,3824,1773,3988,1476, 429,1043,1791,2236,2117, 917,4222, 447,1086,1629, # 832 +5072, 556,5073,5074,2021,1654, 844,1090, 105, 550, 966,1758,2828,1008,1783, 686, # 848 +1095,5075,2287, 793,1602,5076,3573,2603,4536,4223,2948,2302,4537,3825, 980,2503, # 864 + 544, 353, 527,4538, 908,2687,2913,5077, 381,2629,1943,1348,5078,1341,1252, 560, # 880 +3095,5079,3467,2870,5080,2054, 973, 886,2081, 143,4539,5081,5082, 157,3989, 496, # 896 +4224, 57, 840, 540,2039,4540,4541,3468,2118,1445, 970,2264,1748,1966,2082,4225, # 912 +3144,1234,1776,3284,2829,3695, 773,1206,2130,1066,2040,1326,3990,1738,1725,4226, # 928 + 279,3145, 51,1544,2604, 423,1578,2131,2067, 173,4542,1880,5083,5084,1583, 264, # 944 + 610,3696,4543,2444, 280, 154,5085,5086,5087,1739, 338,1282,3096, 693,2871,1411, # 960 +1074,3826,2445,5088,4544,5089,5090,1240, 952,2399,5091,2914,1538,2688, 685,1483, # 976 +4227,2475,1436, 953,4228,2055,4545, 671,2400, 79,4229,2446,3285, 608, 567,2689, # 992 +3469,4230,4231,1691, 393,1261,1792,2401,5092,4546,5093,5094,5095,5096,1383,1672, # 1008 +3827,3213,1464, 522,1119, 661,1150, 216, 675,4547,3991,1432,3574, 609,4548,2690, # 1024 +2402,5097,5098,5099,4232,3045, 0,5100,2476, 315, 231,2447, 301,3356,4549,2385, # 1040 +5101, 233,4233,3697,1819,4550,4551,5102, 96,1777,1315,2083,5103, 257,5104,1810, # 1056 +3698,2718,1139,1820,4234,2022,1124,2164,2791,1778,2659,5105,3097, 363,1655,3214, # 1072 +5106,2993,5107,5108,5109,3992,1567,3993, 718, 103,3215, 849,1443, 341,3357,2949, # 1088 +1484,5110,1712, 127, 67, 339,4235,2403, 679,1412, 821,5111,5112, 834, 738, 351, # 1104 +2994,2147, 846, 235,1497,1881, 418,1993,3828,2719, 186,1100,2148,2756,3575,1545, # 1120 +1355,2950,2872,1377, 583,3994,4236,2581,2995,5113,1298,3699,1078,2557,3700,2363, # 1136 + 78,3829,3830, 267,1289,2100,2002,1594,4237, 348, 369,1274,2197,2178,1838,4552, # 1152 +1821,2830,3701,2757,2288,2003,4553,2951,2758, 144,3358, 882,4554,3995,2759,3470, # 1168 +4555,2915,5114,4238,1726, 320,5115,3996,3046, 788,2996,5116,2831,1774,1327,2873, # 1184 +3997,2832,5117,1306,4556,2004,1700,3831,3576,2364,2660, 787,2023, 506, 824,3702, # 1200 + 534, 323,4557,1044,3359,2024,1901, 946,3471,5118,1779,1500,1678,5119,1882,4558, # 1216 + 165, 243,4559,3703,2528, 123, 683,4239, 764,4560, 36,3998,1793, 589,2916, 816, # 1232 + 626,1667,3047,2237,1639,1555,1622,3832,3999,5120,4000,2874,1370,1228,1933, 891, # 1248 +2084,2917, 304,4240,5121, 292,2997,2720,3577, 691,2101,4241,1115,4561, 118, 662, # 1264 +5122, 611,1156, 854,2386,1316,2875, 2, 386, 515,2918,5123,5124,3286, 868,2238, # 1280 +1486, 855,2661, 785,2216,3048,5125,1040,3216,3578,5126,3146, 448,5127,1525,5128, # 1296 +2165,4562,5129,3833,5130,4242,2833,3579,3147, 503, 818,4001,3148,1568, 814, 676, # 1312 +1444, 306,1749,5131,3834,1416,1030, 197,1428, 805,2834,1501,4563,5132,5133,5134, # 1328 +1994,5135,4564,5136,5137,2198, 13,2792,3704,2998,3149,1229,1917,5138,3835,2132, # 1344 +5139,4243,4565,2404,3580,5140,2217,1511,1727,1120,5141,5142, 646,3836,2448, 307, # 1360 +5143,5144,1595,3217,5145,5146,5147,3705,1113,1356,4002,1465,2529,2530,5148, 519, # 1376 +5149, 128,2133, 92,2289,1980,5150,4003,1512, 342,3150,2199,5151,2793,2218,1981, # 1392 +3360,4244, 290,1656,1317, 789, 827,2365,5152,3837,4566, 562, 581,4004,5153, 401, # 1408 +4567,2252, 94,4568,5154,1399,2794,5155,1463,2025,4569,3218,1944,5156, 828,1105, # 1424 +4245,1262,1394,5157,4246, 605,4570,5158,1784,2876,5159,2835, 819,2102, 578,2200, # 1440 +2952,5160,1502, 436,3287,4247,3288,2836,4005,2919,3472,3473,5161,2721,2320,5162, # 1456 +5163,2337,2068, 23,4571, 193, 826,3838,2103, 699,1630,4248,3098, 390,1794,1064, # 1472 +3581,5164,1579,3099,3100,1400,5165,4249,1839,1640,2877,5166,4572,4573, 137,4250, # 1488 + 598,3101,1967, 780, 104, 974,2953,5167, 278, 899, 253, 402, 572, 504, 493,1339, # 1504 +5168,4006,1275,4574,2582,2558,5169,3706,3049,3102,2253, 565,1334,2722, 863, 41, # 1520 +5170,5171,4575,5172,1657,2338, 19, 463,2760,4251, 606,5173,2999,3289,1087,2085, # 1536 +1323,2662,3000,5174,1631,1623,1750,4252,2691,5175,2878, 791,2723,2663,2339, 232, # 1552 +2421,5176,3001,1498,5177,2664,2630, 755,1366,3707,3290,3151,2026,1609, 119,1918, # 1568 +3474, 862,1026,4253,5178,4007,3839,4576,4008,4577,2265,1952,2477,5179,1125, 817, # 1584 +4254,4255,4009,1513,1766,2041,1487,4256,3050,3291,2837,3840,3152,5180,5181,1507, # 1600 +5182,2692, 733, 40,1632,1106,2879, 345,4257, 841,2531, 230,4578,3002,1847,3292, # 1616 +3475,5183,1263, 986,3476,5184, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562, # 1632 +4010,4011,2954, 967,2761,2665,1349, 592,2134,1692,3361,3003,1995,4258,1679,4012, # 1648 +1902,2188,5185, 739,3708,2724,1296,1290,5186,4259,2201,2202,1922,1563,2605,2559, # 1664 +1871,2762,3004,5187, 435,5188, 343,1108, 596, 17,1751,4579,2239,3477,3709,5189, # 1680 +4580, 294,3582,2955,1693, 477, 979, 281,2042,3583, 643,2043,3710,2631,2795,2266, # 1696 +1031,2340,2135,2303,3584,4581, 367,1249,2560,5190,3585,5191,4582,1283,3362,2005, # 1712 + 240,1762,3363,4583,4584, 836,1069,3153, 474,5192,2149,2532, 268,3586,5193,3219, # 1728 +1521,1284,5194,1658,1546,4260,5195,3587,3588,5196,4261,3364,2693,1685,4262, 961, # 1744 +1673,2632, 190,2006,2203,3841,4585,4586,5197, 570,2504,3711,1490,5198,4587,2633, # 1760 +3293,1957,4588, 584,1514, 396,1045,1945,5199,4589,1968,2449,5200,5201,4590,4013, # 1776 + 619,5202,3154,3294, 215,2007,2796,2561,3220,4591,3221,4592, 763,4263,3842,4593, # 1792 +5203,5204,1958,1767,2956,3365,3712,1174, 452,1477,4594,3366,3155,5205,2838,1253, # 1808 +2387,2189,1091,2290,4264, 492,5206, 638,1169,1825,2136,1752,4014, 648, 926,1021, # 1824 +1324,4595, 520,4596, 997, 847,1007, 892,4597,3843,2267,1872,3713,2405,1785,4598, # 1840 +1953,2957,3103,3222,1728,4265,2044,3714,4599,2008,1701,3156,1551, 30,2268,4266, # 1856 +5207,2027,4600,3589,5208, 501,5209,4267, 594,3478,2166,1822,3590,3479,3591,3223, # 1872 + 829,2839,4268,5210,1680,3157,1225,4269,5211,3295,4601,4270,3158,2341,5212,4602, # 1888 +4271,5213,4015,4016,5214,1848,2388,2606,3367,5215,4603, 374,4017, 652,4272,4273, # 1904 + 375,1140, 798,5216,5217,5218,2366,4604,2269, 546,1659, 138,3051,2450,4605,5219, # 1920 +2254, 612,1849, 910, 796,3844,1740,1371, 825,3845,3846,5220,2920,2562,5221, 692, # 1936 + 444,3052,2634, 801,4606,4274,5222,1491, 244,1053,3053,4275,4276, 340,5223,4018, # 1952 +1041,3005, 293,1168, 87,1357,5224,1539, 959,5225,2240, 721, 694,4277,3847, 219, # 1968 +1478, 644,1417,3368,2666,1413,1401,1335,1389,4019,5226,5227,3006,2367,3159,1826, # 1984 + 730,1515, 184,2840, 66,4607,5228,1660,2958, 246,3369, 378,1457, 226,3480, 975, # 2000 +4020,2959,1264,3592, 674, 696,5229, 163,5230,1141,2422,2167, 713,3593,3370,4608, # 2016 +4021,5231,5232,1186, 15,5233,1079,1070,5234,1522,3224,3594, 276,1050,2725, 758, # 2032 +1126, 653,2960,3296,5235,2342, 889,3595,4022,3104,3007, 903,1250,4609,4023,3481, # 2048 +3596,1342,1681,1718, 766,3297, 286, 89,2961,3715,5236,1713,5237,2607,3371,3008, # 2064 +5238,2962,2219,3225,2880,5239,4610,2505,2533, 181, 387,1075,4024, 731,2190,3372, # 2080 +5240,3298, 310, 313,3482,2304, 770,4278, 54,3054, 189,4611,3105,3848,4025,5241, # 2096 +1230,1617,1850, 355,3597,4279,4612,3373, 111,4280,3716,1350,3160,3483,3055,4281, # 2112 +2150,3299,3598,5242,2797,4026,4027,3009, 722,2009,5243,1071, 247,1207,2343,2478, # 2128 +1378,4613,2010, 864,1437,1214,4614, 373,3849,1142,2220, 667,4615, 442,2763,2563, # 2144 +3850,4028,1969,4282,3300,1840, 837, 170,1107, 934,1336,1883,5244,5245,2119,4283, # 2160 +2841, 743,1569,5246,4616,4284, 582,2389,1418,3484,5247,1803,5248, 357,1395,1729, # 2176 +3717,3301,2423,1564,2241,5249,3106,3851,1633,4617,1114,2086,4285,1532,5250, 482, # 2192 +2451,4618,5251,5252,1492, 833,1466,5253,2726,3599,1641,2842,5254,1526,1272,3718, # 2208 +4286,1686,1795, 416,2564,1903,1954,1804,5255,3852,2798,3853,1159,2321,5256,2881, # 2224 +4619,1610,1584,3056,2424,2764, 443,3302,1163,3161,5257,5258,4029,5259,4287,2506, # 2240 +3057,4620,4030,3162,2104,1647,3600,2011,1873,4288,5260,4289, 431,3485,5261, 250, # 2256 + 97, 81,4290,5262,1648,1851,1558, 160, 848,5263, 866, 740,1694,5264,2204,2843, # 2272 +3226,4291,4621,3719,1687, 950,2479, 426, 469,3227,3720,3721,4031,5265,5266,1188, # 2288 + 424,1996, 861,3601,4292,3854,2205,2694, 168,1235,3602,4293,5267,2087,1674,4622, # 2304 +3374,3303, 220,2565,1009,5268,3855, 670,3010, 332,1208, 717,5269,5270,3603,2452, # 2320 +4032,3375,5271, 513,5272,1209,2882,3376,3163,4623,1080,5273,5274,5275,5276,2534, # 2336 +3722,3604, 815,1587,4033,4034,5277,3605,3486,3856,1254,4624,1328,3058,1390,4035, # 2352 +1741,4036,3857,4037,5278, 236,3858,2453,3304,5279,5280,3723,3859,1273,3860,4625, # 2368 +5281, 308,5282,4626, 245,4627,1852,2480,1307,2583, 430, 715,2137,2454,5283, 270, # 2384 + 199,2883,4038,5284,3606,2727,1753, 761,1754, 725,1661,1841,4628,3487,3724,5285, # 2400 +5286, 587, 14,3305, 227,2608, 326, 480,2270, 943,2765,3607, 291, 650,1884,5287, # 2416 +1702,1226, 102,1547, 62,3488, 904,4629,3489,1164,4294,5288,5289,1224,1548,2766, # 2432 + 391, 498,1493,5290,1386,1419,5291,2056,1177,4630, 813, 880,1081,2368, 566,1145, # 2448 +4631,2291,1001,1035,2566,2609,2242, 394,1286,5292,5293,2069,5294, 86,1494,1730, # 2464 +4039, 491,1588, 745, 897,2963, 843,3377,4040,2767,2884,3306,1768, 998,2221,2070, # 2480 + 397,1827,1195,1970,3725,3011,3378, 284,5295,3861,2507,2138,2120,1904,5296,4041, # 2496 +2151,4042,4295,1036,3490,1905, 114,2567,4296, 209,1527,5297,5298,2964,2844,2635, # 2512 +2390,2728,3164, 812,2568,5299,3307,5300,1559, 737,1885,3726,1210, 885, 28,2695, # 2528 +3608,3862,5301,4297,1004,1780,4632,5302, 346,1982,2222,2696,4633,3863,1742, 797, # 2544 +1642,4043,1934,1072,1384,2152, 896,4044,3308,3727,3228,2885,3609,5303,2569,1959, # 2560 +4634,2455,1786,5304,5305,5306,4045,4298,1005,1308,3728,4299,2729,4635,4636,1528, # 2576 +2610, 161,1178,4300,1983, 987,4637,1101,4301, 631,4046,1157,3229,2425,1343,1241, # 2592 +1016,2243,2570, 372, 877,2344,2508,1160, 555,1935, 911,4047,5307, 466,1170, 169, # 2608 +1051,2921,2697,3729,2481,3012,1182,2012,2571,1251,2636,5308, 992,2345,3491,1540, # 2624 +2730,1201,2071,2406,1997,2482,5309,4638, 528,1923,2191,1503,1874,1570,2369,3379, # 2640 +3309,5310, 557,1073,5311,1828,3492,2088,2271,3165,3059,3107, 767,3108,2799,4639, # 2656 +1006,4302,4640,2346,1267,2179,3730,3230, 778,4048,3231,2731,1597,2667,5312,4641, # 2672 +5313,3493,5314,5315,5316,3310,2698,1433,3311, 131, 95,1504,4049, 723,4303,3166, # 2688 +1842,3610,2768,2192,4050,2028,2105,3731,5317,3013,4051,1218,5318,3380,3232,4052, # 2704 +4304,2584, 248,1634,3864, 912,5319,2845,3732,3060,3865, 654, 53,5320,3014,5321, # 2720 +1688,4642, 777,3494,1032,4053,1425,5322, 191, 820,2121,2846, 971,4643, 931,3233, # 2736 + 135, 664, 783,3866,1998, 772,2922,1936,4054,3867,4644,2923,3234, 282,2732, 640, # 2752 +1372,3495,1127, 922, 325,3381,5323,5324, 711,2045,5325,5326,4055,2223,2800,1937, # 2768 +4056,3382,2224,2255,3868,2305,5327,4645,3869,1258,3312,4057,3235,2139,2965,4058, # 2784 +4059,5328,2225, 258,3236,4646, 101,1227,5329,3313,1755,5330,1391,3314,5331,2924, # 2800 +2057, 893,5332,5333,5334,1402,4305,2347,5335,5336,3237,3611,5337,5338, 878,1325, # 2816 +1781,2801,4647, 259,1385,2585, 744,1183,2272,4648,5339,4060,2509,5340, 684,1024, # 2832 +4306,5341, 472,3612,3496,1165,3315,4061,4062, 322,2153, 881, 455,1695,1152,1340, # 2848 + 660, 554,2154,4649,1058,4650,4307, 830,1065,3383,4063,4651,1924,5342,1703,1919, # 2864 +5343, 932,2273, 122,5344,4652, 947, 677,5345,3870,2637, 297,1906,1925,2274,4653, # 2880 +2322,3316,5346,5347,4308,5348,4309, 84,4310, 112, 989,5349, 547,1059,4064, 701, # 2896 +3613,1019,5350,4311,5351,3497, 942, 639, 457,2306,2456, 993,2966, 407, 851, 494, # 2912 +4654,3384, 927,5352,1237,5353,2426,3385, 573,4312, 680, 921,2925,1279,1875, 285, # 2928 + 790,1448,1984, 719,2168,5354,5355,4655,4065,4066,1649,5356,1541, 563,5357,1077, # 2944 +5358,3386,3061,3498, 511,3015,4067,4068,3733,4069,1268,2572,3387,3238,4656,4657, # 2960 +5359, 535,1048,1276,1189,2926,2029,3167,1438,1373,2847,2967,1134,2013,5360,4313, # 2976 +1238,2586,3109,1259,5361, 700,5362,2968,3168,3734,4314,5363,4315,1146,1876,1907, # 2992 +4658,2611,4070, 781,2427, 132,1589, 203, 147, 273,2802,2407, 898,1787,2155,4071, # 3008 +4072,5364,3871,2803,5365,5366,4659,4660,5367,3239,5368,1635,3872, 965,5369,1805, # 3024 +2699,1516,3614,1121,1082,1329,3317,4073,1449,3873, 65,1128,2848,2927,2769,1590, # 3040 +3874,5370,5371, 12,2668, 45, 976,2587,3169,4661, 517,2535,1013,1037,3240,5372, # 3056 +3875,2849,5373,3876,5374,3499,5375,2612, 614,1999,2323,3877,3110,2733,2638,5376, # 3072 +2588,4316, 599,1269,5377,1811,3735,5378,2700,3111, 759,1060, 489,1806,3388,3318, # 3088 +1358,5379,5380,2391,1387,1215,2639,2256, 490,5381,5382,4317,1759,2392,2348,5383, # 3104 +4662,3878,1908,4074,2640,1807,3241,4663,3500,3319,2770,2349, 874,5384,5385,3501, # 3120 +3736,1859, 91,2928,3737,3062,3879,4664,5386,3170,4075,2669,5387,3502,1202,1403, # 3136 +3880,2969,2536,1517,2510,4665,3503,2511,5388,4666,5389,2701,1886,1495,1731,4076, # 3152 +2370,4667,5390,2030,5391,5392,4077,2702,1216, 237,2589,4318,2324,4078,3881,4668, # 3168 +4669,2703,3615,3504, 445,4670,5393,5394,5395,5396,2771, 61,4079,3738,1823,4080, # 3184 +5397, 687,2046, 935, 925, 405,2670, 703,1096,1860,2734,4671,4081,1877,1367,2704, # 3200 +3389, 918,2106,1782,2483, 334,3320,1611,1093,4672, 564,3171,3505,3739,3390, 945, # 3216 +2641,2058,4673,5398,1926, 872,4319,5399,3506,2705,3112, 349,4320,3740,4082,4674, # 3232 +3882,4321,3741,2156,4083,4675,4676,4322,4677,2408,2047, 782,4084, 400, 251,4323, # 3248 +1624,5400,5401, 277,3742, 299,1265, 476,1191,3883,2122,4324,4325,1109, 205,5402, # 3264 +2590,1000,2157,3616,1861,5403,5404,5405,4678,5406,4679,2573, 107,2484,2158,4085, # 3280 +3507,3172,5407,1533, 541,1301, 158, 753,4326,2886,3617,5408,1696, 370,1088,4327, # 3296 +4680,3618, 579, 327, 440, 162,2244, 269,1938,1374,3508, 968,3063, 56,1396,3113, # 3312 +2107,3321,3391,5409,1927,2159,4681,3016,5410,3619,5411,5412,3743,4682,2485,5413, # 3328 +2804,5414,1650,4683,5415,2613,5416,5417,4086,2671,3392,1149,3393,4087,3884,4088, # 3344 +5418,1076, 49,5419, 951,3242,3322,3323, 450,2850, 920,5420,1812,2805,2371,4328, # 3360 +1909,1138,2372,3885,3509,5421,3243,4684,1910,1147,1518,2428,4685,3886,5422,4686, # 3376 +2393,2614, 260,1796,3244,5423,5424,3887,3324, 708,5425,3620,1704,5426,3621,1351, # 3392 +1618,3394,3017,1887, 944,4329,3395,4330,3064,3396,4331,5427,3744, 422, 413,1714, # 3408 +3325, 500,2059,2350,4332,2486,5428,1344,1911, 954,5429,1668,5430,5431,4089,2409, # 3424 +4333,3622,3888,4334,5432,2307,1318,2512,3114, 133,3115,2887,4687, 629, 31,2851, # 3440 +2706,3889,4688, 850, 949,4689,4090,2970,1732,2089,4335,1496,1853,5433,4091, 620, # 3456 +3245, 981,1242,3745,3397,1619,3746,1643,3326,2140,2457,1971,1719,3510,2169,5434, # 3472 +3246,5435,5436,3398,1829,5437,1277,4690,1565,2048,5438,1636,3623,3116,5439, 869, # 3488 +2852, 655,3890,3891,3117,4092,3018,3892,1310,3624,4691,5440,5441,5442,1733, 558, # 3504 +4692,3747, 335,1549,3065,1756,4336,3748,1946,3511,1830,1291,1192, 470,2735,2108, # 3520 +2806, 913,1054,4093,5443,1027,5444,3066,4094,4693, 982,2672,3399,3173,3512,3247, # 3536 +3248,1947,2807,5445, 571,4694,5446,1831,5447,3625,2591,1523,2429,5448,2090, 984, # 3552 +4695,3749,1960,5449,3750, 852, 923,2808,3513,3751, 969,1519, 999,2049,2325,1705, # 3568 +5450,3118, 615,1662, 151, 597,4095,2410,2326,1049, 275,4696,3752,4337, 568,3753, # 3584 +3626,2487,4338,3754,5451,2430,2275, 409,3249,5452,1566,2888,3514,1002, 769,2853, # 3600 + 194,2091,3174,3755,2226,3327,4339, 628,1505,5453,5454,1763,2180,3019,4096, 521, # 3616 +1161,2592,1788,2206,2411,4697,4097,1625,4340,4341, 412, 42,3119, 464,5455,2642, # 3632 +4698,3400,1760,1571,2889,3515,2537,1219,2207,3893,2643,2141,2373,4699,4700,3328, # 3648 +1651,3401,3627,5456,5457,3628,2488,3516,5458,3756,5459,5460,2276,2092, 460,5461, # 3664 +4701,5462,3020, 962, 588,3629, 289,3250,2644,1116, 52,5463,3067,1797,5464,5465, # 3680 +5466,1467,5467,1598,1143,3757,4342,1985,1734,1067,4702,1280,3402, 465,4703,1572, # 3696 + 510,5468,1928,2245,1813,1644,3630,5469,4704,3758,5470,5471,2673,1573,1534,5472, # 3712 +5473, 536,1808,1761,3517,3894,3175,2645,5474,5475,5476,4705,3518,2929,1912,2809, # 3728 +5477,3329,1122, 377,3251,5478, 360,5479,5480,4343,1529, 551,5481,2060,3759,1769, # 3744 +2431,5482,2930,4344,3330,3120,2327,2109,2031,4706,1404, 136,1468,1479, 672,1171, # 3760 +3252,2308, 271,3176,5483,2772,5484,2050, 678,2736, 865,1948,4707,5485,2014,4098, # 3776 +2971,5486,2737,2227,1397,3068,3760,4708,4709,1735,2931,3403,3631,5487,3895, 509, # 3792 +2854,2458,2890,3896,5488,5489,3177,3178,4710,4345,2538,4711,2309,1166,1010, 552, # 3808 + 681,1888,5490,5491,2972,2973,4099,1287,1596,1862,3179, 358, 453, 736, 175, 478, # 3824 +1117, 905,1167,1097,5492,1854,1530,5493,1706,5494,2181,3519,2292,3761,3520,3632, # 3840 +4346,2093,4347,5495,3404,1193,2489,4348,1458,2193,2208,1863,1889,1421,3331,2932, # 3856 +3069,2182,3521, 595,2123,5496,4100,5497,5498,4349,1707,2646, 223,3762,1359, 751, # 3872 +3121, 183,3522,5499,2810,3021, 419,2374, 633, 704,3897,2394, 241,5500,5501,5502, # 3888 + 838,3022,3763,2277,2773,2459,3898,1939,2051,4101,1309,3122,2246,1181,5503,1136, # 3904 +2209,3899,2375,1446,4350,2310,4712,5504,5505,4351,1055,2615, 484,3764,5506,4102, # 3920 + 625,4352,2278,3405,1499,4353,4103,5507,4104,4354,3253,2279,2280,3523,5508,5509, # 3936 +2774, 808,2616,3765,3406,4105,4355,3123,2539, 526,3407,3900,4356, 955,5510,1620, # 3952 +4357,2647,2432,5511,1429,3766,1669,1832, 994, 928,5512,3633,1260,5513,5514,5515, # 3968 +1949,2293, 741,2933,1626,4358,2738,2460, 867,1184, 362,3408,1392,5516,5517,4106, # 3984 +4359,1770,1736,3254,2934,4713,4714,1929,2707,1459,1158,5518,3070,3409,2891,1292, # 4000 +1930,2513,2855,3767,1986,1187,2072,2015,2617,4360,5519,2574,2514,2170,3768,2490, # 4016 +3332,5520,3769,4715,5521,5522, 666,1003,3023,1022,3634,4361,5523,4716,1814,2257, # 4032 + 574,3901,1603, 295,1535, 705,3902,4362, 283, 858, 417,5524,5525,3255,4717,4718, # 4048 +3071,1220,1890,1046,2281,2461,4107,1393,1599, 689,2575, 388,4363,5526,2491, 802, # 4064 +5527,2811,3903,2061,1405,2258,5528,4719,3904,2110,1052,1345,3256,1585,5529, 809, # 4080 +5530,5531,5532, 575,2739,3524, 956,1552,1469,1144,2328,5533,2329,1560,2462,3635, # 4096 +3257,4108, 616,2210,4364,3180,2183,2294,5534,1833,5535,3525,4720,5536,1319,3770, # 4112 +3771,1211,3636,1023,3258,1293,2812,5537,5538,5539,3905, 607,2311,3906, 762,2892, # 4128 +1439,4365,1360,4721,1485,3072,5540,4722,1038,4366,1450,2062,2648,4367,1379,4723, # 4144 +2593,5541,5542,4368,1352,1414,2330,2935,1172,5543,5544,3907,3908,4724,1798,1451, # 4160 +5545,5546,5547,5548,2936,4109,4110,2492,2351, 411,4111,4112,3637,3333,3124,4725, # 4176 +1561,2674,1452,4113,1375,5549,5550, 47,2974, 316,5551,1406,1591,2937,3181,5552, # 4192 +1025,2142,3125,3182, 354,2740, 884,2228,4369,2412, 508,3772, 726,3638, 996,2433, # 4208 +3639, 729,5553, 392,2194,1453,4114,4726,3773,5554,5555,2463,3640,2618,1675,2813, # 4224 + 919,2352,2975,2353,1270,4727,4115, 73,5556,5557, 647,5558,3259,2856,2259,1550, # 4240 +1346,3024,5559,1332, 883,3526,5560,5561,5562,5563,3334,2775,5564,1212, 831,1347, # 4256 +4370,4728,2331,3909,1864,3073, 720,3910,4729,4730,3911,5565,4371,5566,5567,4731, # 4272 +5568,5569,1799,4732,3774,2619,4733,3641,1645,2376,4734,5570,2938, 669,2211,2675, # 4288 +2434,5571,2893,5572,5573,1028,3260,5574,4372,2413,5575,2260,1353,5576,5577,4735, # 4304 +3183, 518,5578,4116,5579,4373,1961,5580,2143,4374,5581,5582,3025,2354,2355,3912, # 4320 + 516,1834,1454,4117,2708,4375,4736,2229,2620,1972,1129,3642,5583,2776,5584,2976, # 4336 +1422, 577,1470,3026,1524,3410,5585,5586, 432,4376,3074,3527,5587,2594,1455,2515, # 4352 +2230,1973,1175,5588,1020,2741,4118,3528,4737,5589,2742,5590,1743,1361,3075,3529, # 4368 +2649,4119,4377,4738,2295, 895, 924,4378,2171, 331,2247,3076, 166,1627,3077,1098, # 4384 +5591,1232,2894,2231,3411,4739, 657, 403,1196,2377, 542,3775,3412,1600,4379,3530, # 4400 +5592,4740,2777,3261, 576, 530,1362,4741,4742,2540,2676,3776,4120,5593, 842,3913, # 4416 +5594,2814,2032,1014,4121, 213,2709,3413, 665, 621,4380,5595,3777,2939,2435,5596, # 4432 +2436,3335,3643,3414,4743,4381,2541,4382,4744,3644,1682,4383,3531,1380,5597, 724, # 4448 +2282, 600,1670,5598,1337,1233,4745,3126,2248,5599,1621,4746,5600, 651,4384,5601, # 4464 +1612,4385,2621,5602,2857,5603,2743,2312,3078,5604, 716,2464,3079, 174,1255,2710, # 4480 +4122,3645, 548,1320,1398, 728,4123,1574,5605,1891,1197,3080,4124,5606,3081,3082, # 4496 +3778,3646,3779, 747,5607, 635,4386,4747,5608,5609,5610,4387,5611,5612,4748,5613, # 4512 +3415,4749,2437, 451,5614,3780,2542,2073,4388,2744,4389,4125,5615,1764,4750,5616, # 4528 +4390, 350,4751,2283,2395,2493,5617,4391,4126,2249,1434,4127, 488,4752, 458,4392, # 4544 +4128,3781, 771,1330,2396,3914,2576,3184,2160,2414,1553,2677,3185,4393,5618,2494, # 4560 +2895,2622,1720,2711,4394,3416,4753,5619,2543,4395,5620,3262,4396,2778,5621,2016, # 4576 +2745,5622,1155,1017,3782,3915,5623,3336,2313, 201,1865,4397,1430,5624,4129,5625, # 4592 +5626,5627,5628,5629,4398,1604,5630, 414,1866, 371,2595,4754,4755,3532,2017,3127, # 4608 +4756,1708, 960,4399, 887, 389,2172,1536,1663,1721,5631,2232,4130,2356,2940,1580, # 4624 +5632,5633,1744,4757,2544,4758,4759,5634,4760,5635,2074,5636,4761,3647,3417,2896, # 4640 +4400,5637,4401,2650,3418,2815, 673,2712,2465, 709,3533,4131,3648,4402,5638,1148, # 4656 + 502, 634,5639,5640,1204,4762,3649,1575,4763,2623,3783,5641,3784,3128, 948,3263, # 4672 + 121,1745,3916,1110,5642,4403,3083,2516,3027,4132,3785,1151,1771,3917,1488,4133, # 4688 +1987,5643,2438,3534,5644,5645,2094,5646,4404,3918,1213,1407,2816, 531,2746,2545, # 4704 +3264,1011,1537,4764,2779,4405,3129,1061,5647,3786,3787,1867,2897,5648,2018, 120, # 4720 +4406,4407,2063,3650,3265,2314,3919,2678,3419,1955,4765,4134,5649,3535,1047,2713, # 4736 +1266,5650,1368,4766,2858, 649,3420,3920,2546,2747,1102,2859,2679,5651,5652,2000, # 4752 +5653,1111,3651,2977,5654,2495,3921,3652,2817,1855,3421,3788,5655,5656,3422,2415, # 4768 +2898,3337,3266,3653,5657,2577,5658,3654,2818,4135,1460, 856,5659,3655,5660,2899, # 4784 +2978,5661,2900,3922,5662,4408, 632,2517, 875,3923,1697,3924,2296,5663,5664,4767, # 4800 +3028,1239, 580,4768,4409,5665, 914, 936,2075,1190,4136,1039,2124,5666,5667,5668, # 4816 +5669,3423,1473,5670,1354,4410,3925,4769,2173,3084,4137, 915,3338,4411,4412,3339, # 4832 +1605,1835,5671,2748, 398,3656,4413,3926,4138, 328,1913,2860,4139,3927,1331,4414, # 4848 +3029, 937,4415,5672,3657,4140,4141,3424,2161,4770,3425, 524, 742, 538,3085,1012, # 4864 +5673,5674,3928,2466,5675, 658,1103, 225,3929,5676,5677,4771,5678,4772,5679,3267, # 4880 +1243,5680,4142, 963,2250,4773,5681,2714,3658,3186,5682,5683,2596,2332,5684,4774, # 4896 +5685,5686,5687,3536, 957,3426,2547,2033,1931,2941,2467, 870,2019,3659,1746,2780, # 4912 +2781,2439,2468,5688,3930,5689,3789,3130,3790,3537,3427,3791,5690,1179,3086,5691, # 4928 +3187,2378,4416,3792,2548,3188,3131,2749,4143,5692,3428,1556,2549,2297, 977,2901, # 4944 +2034,4144,1205,3429,5693,1765,3430,3189,2125,1271, 714,1689,4775,3538,5694,2333, # 4960 +3931, 533,4417,3660,2184, 617,5695,2469,3340,3539,2315,5696,5697,3190,5698,5699, # 4976 +3932,1988, 618, 427,2651,3540,3431,5700,5701,1244,1690,5702,2819,4418,4776,5703, # 4992 +3541,4777,5704,2284,1576, 473,3661,4419,3432, 972,5705,3662,5706,3087,5707,5708, # 5008 +4778,4779,5709,3793,4145,4146,5710, 153,4780, 356,5711,1892,2902,4420,2144, 408, # 5024 + 803,2357,5712,3933,5713,4421,1646,2578,2518,4781,4782,3934,5714,3935,4422,5715, # 5040 +2416,3433, 752,5716,5717,1962,3341,2979,5718, 746,3030,2470,4783,4423,3794, 698, # 5056 +4784,1893,4424,3663,2550,4785,3664,3936,5719,3191,3434,5720,1824,1302,4147,2715, # 5072 +3937,1974,4425,5721,4426,3192, 823,1303,1288,1236,2861,3542,4148,3435, 774,3938, # 5088 +5722,1581,4786,1304,2862,3939,4787,5723,2440,2162,1083,3268,4427,4149,4428, 344, # 5104 +1173, 288,2316, 454,1683,5724,5725,1461,4788,4150,2597,5726,5727,4789, 985, 894, # 5120 +5728,3436,3193,5729,1914,2942,3795,1989,5730,2111,1975,5731,4151,5732,2579,1194, # 5136 + 425,5733,4790,3194,1245,3796,4429,5734,5735,2863,5736, 636,4791,1856,3940, 760, # 5152 +1800,5737,4430,2212,1508,4792,4152,1894,1684,2298,5738,5739,4793,4431,4432,2213, # 5168 + 479,5740,5741, 832,5742,4153,2496,5743,2980,2497,3797, 990,3132, 627,1815,2652, # 5184 +4433,1582,4434,2126,2112,3543,4794,5744, 799,4435,3195,5745,4795,2113,1737,3031, # 5200 +1018, 543, 754,4436,3342,1676,4796,4797,4154,4798,1489,5746,3544,5747,2624,2903, # 5216 +4155,5748,5749,2981,5750,5751,5752,5753,3196,4799,4800,2185,1722,5754,3269,3270, # 5232 +1843,3665,1715, 481, 365,1976,1857,5755,5756,1963,2498,4801,5757,2127,3666,3271, # 5248 + 433,1895,2064,2076,5758, 602,2750,5759,5760,5761,5762,5763,3032,1628,3437,5764, # 5264 +3197,4802,4156,2904,4803,2519,5765,2551,2782,5766,5767,5768,3343,4804,2905,5769, # 5280 +4805,5770,2864,4806,4807,1221,2982,4157,2520,5771,5772,5773,1868,1990,5774,5775, # 5296 +5776,1896,5777,5778,4808,1897,4158, 318,5779,2095,4159,4437,5780,5781, 485,5782, # 5312 + 938,3941, 553,2680, 116,5783,3942,3667,5784,3545,2681,2783,3438,3344,2820,5785, # 5328 +3668,2943,4160,1747,2944,2983,5786,5787, 207,5788,4809,5789,4810,2521,5790,3033, # 5344 + 890,3669,3943,5791,1878,3798,3439,5792,2186,2358,3440,1652,5793,5794,5795, 941, # 5360 +2299, 208,3546,4161,2020, 330,4438,3944,2906,2499,3799,4439,4811,5796,5797,5798, # 5376 +) + diff --git a/venv/lib/python3.6/site-packages/chardet/big5prober.py b/venv/lib/python3.6/site-packages/chardet/big5prober.py new file mode 100644 index 0000000..98f9970 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/big5prober.py @@ -0,0 +1,47 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import Big5DistributionAnalysis +from .mbcssm import BIG5_SM_MODEL + + +class Big5Prober(MultiByteCharSetProber): + def __init__(self): + super(Big5Prober, self).__init__() + self.coding_sm = CodingStateMachine(BIG5_SM_MODEL) + self.distribution_analyzer = Big5DistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "Big5" + + @property + def language(self): + return "Chinese" diff --git a/venv/lib/python3.6/site-packages/chardet/chardistribution.py b/venv/lib/python3.6/site-packages/chardet/chardistribution.py new file mode 100644 index 0000000..c0395f4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/chardistribution.py @@ -0,0 +1,233 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .euctwfreq import (EUCTW_CHAR_TO_FREQ_ORDER, EUCTW_TABLE_SIZE, + EUCTW_TYPICAL_DISTRIBUTION_RATIO) +from .euckrfreq import (EUCKR_CHAR_TO_FREQ_ORDER, EUCKR_TABLE_SIZE, + EUCKR_TYPICAL_DISTRIBUTION_RATIO) +from .gb2312freq import (GB2312_CHAR_TO_FREQ_ORDER, GB2312_TABLE_SIZE, + GB2312_TYPICAL_DISTRIBUTION_RATIO) +from .big5freq import (BIG5_CHAR_TO_FREQ_ORDER, BIG5_TABLE_SIZE, + BIG5_TYPICAL_DISTRIBUTION_RATIO) +from .jisfreq import (JIS_CHAR_TO_FREQ_ORDER, JIS_TABLE_SIZE, + JIS_TYPICAL_DISTRIBUTION_RATIO) + + +class CharDistributionAnalysis(object): + ENOUGH_DATA_THRESHOLD = 1024 + SURE_YES = 0.99 + SURE_NO = 0.01 + MINIMUM_DATA_THRESHOLD = 3 + + def __init__(self): + # Mapping table to get frequency order from char order (get from + # GetOrder()) + self._char_to_freq_order = None + self._table_size = None # Size of above table + # This is a constant value which varies from language to language, + # used in calculating confidence. See + # http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html + # for further detail. + self.typical_distribution_ratio = None + self._done = None + self._total_chars = None + self._freq_chars = None + self.reset() + + def reset(self): + """reset analyser, clear any state""" + # If this flag is set to True, detection is done and conclusion has + # been made + self._done = False + self._total_chars = 0 # Total characters encountered + # The number of characters whose frequency order is less than 512 + self._freq_chars = 0 + + def feed(self, char, char_len): + """feed a character with known length""" + if char_len == 2: + # we only care about 2-bytes character in our distribution analysis + order = self.get_order(char) + else: + order = -1 + if order >= 0: + self._total_chars += 1 + # order is valid + if order < self._table_size: + if 512 > self._char_to_freq_order[order]: + self._freq_chars += 1 + + def get_confidence(self): + """return confidence based on existing data""" + # if we didn't receive any character in our consideration range, + # return negative answer + if self._total_chars <= 0 or self._freq_chars <= self.MINIMUM_DATA_THRESHOLD: + return self.SURE_NO + + if self._total_chars != self._freq_chars: + r = (self._freq_chars / ((self._total_chars - self._freq_chars) + * self.typical_distribution_ratio)) + if r < self.SURE_YES: + return r + + # normalize confidence (we don't want to be 100% sure) + return self.SURE_YES + + def got_enough_data(self): + # It is not necessary to receive all data to draw conclusion. + # For charset detection, certain amount of data is enough + return self._total_chars > self.ENOUGH_DATA_THRESHOLD + + def get_order(self, byte_str): + # We do not handle characters based on the original encoding string, + # but convert this encoding string to a number, here called order. + # This allows multiple encodings of a language to share one frequency + # table. + return -1 + + +class EUCTWDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(EUCTWDistributionAnalysis, self).__init__() + self._char_to_freq_order = EUCTW_CHAR_TO_FREQ_ORDER + self._table_size = EUCTW_TABLE_SIZE + self.typical_distribution_ratio = EUCTW_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for euc-TW encoding, we are interested + # first byte range: 0xc4 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char = byte_str[0] + if first_char >= 0xC4: + return 94 * (first_char - 0xC4) + byte_str[1] - 0xA1 + else: + return -1 + + +class EUCKRDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(EUCKRDistributionAnalysis, self).__init__() + self._char_to_freq_order = EUCKR_CHAR_TO_FREQ_ORDER + self._table_size = EUCKR_TABLE_SIZE + self.typical_distribution_ratio = EUCKR_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for euc-KR encoding, we are interested + # first byte range: 0xb0 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char = byte_str[0] + if first_char >= 0xB0: + return 94 * (first_char - 0xB0) + byte_str[1] - 0xA1 + else: + return -1 + + +class GB2312DistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(GB2312DistributionAnalysis, self).__init__() + self._char_to_freq_order = GB2312_CHAR_TO_FREQ_ORDER + self._table_size = GB2312_TABLE_SIZE + self.typical_distribution_ratio = GB2312_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for GB2312 encoding, we are interested + # first byte range: 0xb0 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char, second_char = byte_str[0], byte_str[1] + if (first_char >= 0xB0) and (second_char >= 0xA1): + return 94 * (first_char - 0xB0) + second_char - 0xA1 + else: + return -1 + + +class Big5DistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(Big5DistributionAnalysis, self).__init__() + self._char_to_freq_order = BIG5_CHAR_TO_FREQ_ORDER + self._table_size = BIG5_TABLE_SIZE + self.typical_distribution_ratio = BIG5_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for big5 encoding, we are interested + # first byte range: 0xa4 -- 0xfe + # second byte range: 0x40 -- 0x7e , 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char, second_char = byte_str[0], byte_str[1] + if first_char >= 0xA4: + if second_char >= 0xA1: + return 157 * (first_char - 0xA4) + second_char - 0xA1 + 63 + else: + return 157 * (first_char - 0xA4) + second_char - 0x40 + else: + return -1 + + +class SJISDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(SJISDistributionAnalysis, self).__init__() + self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER + self._table_size = JIS_TABLE_SIZE + self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for sjis encoding, we are interested + # first byte range: 0x81 -- 0x9f , 0xe0 -- 0xfe + # second byte range: 0x40 -- 0x7e, 0x81 -- oxfe + # no validation needed here. State machine has done that + first_char, second_char = byte_str[0], byte_str[1] + if (first_char >= 0x81) and (first_char <= 0x9F): + order = 188 * (first_char - 0x81) + elif (first_char >= 0xE0) and (first_char <= 0xEF): + order = 188 * (first_char - 0xE0 + 31) + else: + return -1 + order = order + second_char - 0x40 + if second_char > 0x7F: + order = -1 + return order + + +class EUCJPDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(EUCJPDistributionAnalysis, self).__init__() + self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER + self._table_size = JIS_TABLE_SIZE + self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for euc-JP encoding, we are interested + # first byte range: 0xa0 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + char = byte_str[0] + if char >= 0xA0: + return 94 * (char - 0xA1) + byte_str[1] - 0xa1 + else: + return -1 diff --git a/venv/lib/python3.6/site-packages/chardet/charsetgroupprober.py b/venv/lib/python3.6/site-packages/chardet/charsetgroupprober.py new file mode 100644 index 0000000..8b3738e --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/charsetgroupprober.py @@ -0,0 +1,106 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import ProbingState +from .charsetprober import CharSetProber + + +class CharSetGroupProber(CharSetProber): + def __init__(self, lang_filter=None): + super(CharSetGroupProber, self).__init__(lang_filter=lang_filter) + self._active_num = 0 + self.probers = [] + self._best_guess_prober = None + + def reset(self): + super(CharSetGroupProber, self).reset() + self._active_num = 0 + for prober in self.probers: + if prober: + prober.reset() + prober.active = True + self._active_num += 1 + self._best_guess_prober = None + + @property + def charset_name(self): + if not self._best_guess_prober: + self.get_confidence() + if not self._best_guess_prober: + return None + return self._best_guess_prober.charset_name + + @property + def language(self): + if not self._best_guess_prober: + self.get_confidence() + if not self._best_guess_prober: + return None + return self._best_guess_prober.language + + def feed(self, byte_str): + for prober in self.probers: + if not prober: + continue + if not prober.active: + continue + state = prober.feed(byte_str) + if not state: + continue + if state == ProbingState.FOUND_IT: + self._best_guess_prober = prober + return self.state + elif state == ProbingState.NOT_ME: + prober.active = False + self._active_num -= 1 + if self._active_num <= 0: + self._state = ProbingState.NOT_ME + return self.state + return self.state + + def get_confidence(self): + state = self.state + if state == ProbingState.FOUND_IT: + return 0.99 + elif state == ProbingState.NOT_ME: + return 0.01 + best_conf = 0.0 + self._best_guess_prober = None + for prober in self.probers: + if not prober: + continue + if not prober.active: + self.logger.debug('%s not active', prober.charset_name) + continue + conf = prober.get_confidence() + self.logger.debug('%s %s confidence = %s', prober.charset_name, prober.language, conf) + if best_conf < conf: + best_conf = conf + self._best_guess_prober = prober + if not self._best_guess_prober: + return 0.0 + return best_conf diff --git a/venv/lib/python3.6/site-packages/chardet/charsetprober.py b/venv/lib/python3.6/site-packages/chardet/charsetprober.py new file mode 100644 index 0000000..eac4e59 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/charsetprober.py @@ -0,0 +1,145 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +import logging +import re + +from .enums import ProbingState + + +class CharSetProber(object): + + SHORTCUT_THRESHOLD = 0.95 + + def __init__(self, lang_filter=None): + self._state = None + self.lang_filter = lang_filter + self.logger = logging.getLogger(__name__) + + def reset(self): + self._state = ProbingState.DETECTING + + @property + def charset_name(self): + return None + + def feed(self, buf): + pass + + @property + def state(self): + return self._state + + def get_confidence(self): + return 0.0 + + @staticmethod + def filter_high_byte_only(buf): + buf = re.sub(b'([\x00-\x7F])+', b' ', buf) + return buf + + @staticmethod + def filter_international_words(buf): + """ + We define three types of bytes: + alphabet: english alphabets [a-zA-Z] + international: international characters [\x80-\xFF] + marker: everything else [^a-zA-Z\x80-\xFF] + + The input buffer can be thought to contain a series of words delimited + by markers. This function works to filter all words that contain at + least one international character. All contiguous sequences of markers + are replaced by a single space ascii character. + + This filter applies to all scripts which do not use English characters. + """ + filtered = bytearray() + + # This regex expression filters out only words that have at-least one + # international character. The word may include one marker character at + # the end. + words = re.findall(b'[a-zA-Z]*[\x80-\xFF]+[a-zA-Z]*[^a-zA-Z\x80-\xFF]?', + buf) + + for word in words: + filtered.extend(word[:-1]) + + # If the last character in the word is a marker, replace it with a + # space as markers shouldn't affect our analysis (they are used + # similarly across all languages and may thus have similar + # frequencies). + last_char = word[-1:] + if not last_char.isalpha() and last_char < b'\x80': + last_char = b' ' + filtered.extend(last_char) + + return filtered + + @staticmethod + def filter_with_english_letters(buf): + """ + Returns a copy of ``buf`` that retains only the sequences of English + alphabet and high byte characters that are not between <> characters. + Also retains English alphabet and high byte characters immediately + before occurrences of >. + + This filter can be applied to all scripts which contain both English + characters and extended ASCII characters, but is currently only used by + ``Latin1Prober``. + """ + filtered = bytearray() + in_tag = False + prev = 0 + + for curr in range(len(buf)): + # Slice here to get bytes instead of an int with Python 3 + buf_char = buf[curr:curr + 1] + # Check if we're coming out of or entering an HTML tag + if buf_char == b'>': + in_tag = False + elif buf_char == b'<': + in_tag = True + + # If current character is not extended-ASCII and not alphabetic... + if buf_char < b'\x80' and not buf_char.isalpha(): + # ...and we're not in a tag + if curr > prev and not in_tag: + # Keep everything after last non-extended-ASCII, + # non-alphabetic character + filtered.extend(buf[prev:curr]) + # Output a space to delimit stretch we kept + filtered.extend(b' ') + prev = curr + 1 + + # If we're not in a tag... + if not in_tag: + # Keep everything after last non-extended-ASCII, non-alphabetic + # character + filtered.extend(buf[prev:]) + + return filtered diff --git a/venv/lib/python3.6/site-packages/chardet/cli/__init__.py b/venv/lib/python3.6/site-packages/chardet/cli/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/cli/__init__.py @@ -0,0 +1 @@ + diff --git a/venv/lib/python3.6/site-packages/chardet/cli/chardetect.py b/venv/lib/python3.6/site-packages/chardet/cli/chardetect.py new file mode 100644 index 0000000..f0a4cc5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/cli/chardetect.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python +""" +Script which takes one or more file paths and reports on their detected +encodings + +Example:: + + % chardetect somefile someotherfile + somefile: windows-1252 with confidence 0.5 + someotherfile: ascii with confidence 1.0 + +If no paths are provided, it takes its input from stdin. + +""" + +from __future__ import absolute_import, print_function, unicode_literals + +import argparse +import sys + +from chardet import __version__ +from chardet.compat import PY2 +from chardet.universaldetector import UniversalDetector + + +def description_of(lines, name='stdin'): + """ + Return a string describing the probable encoding of a file or + list of strings. + + :param lines: The lines to get the encoding of. + :type lines: Iterable of bytes + :param name: Name of file or collection of lines + :type name: str + """ + u = UniversalDetector() + for line in lines: + line = bytearray(line) + u.feed(line) + # shortcut out of the loop to save reading further - particularly useful if we read a BOM. + if u.done: + break + u.close() + result = u.result + if PY2: + name = name.decode(sys.getfilesystemencoding(), 'ignore') + if result['encoding']: + return '{0}: {1} with confidence {2}'.format(name, result['encoding'], + result['confidence']) + else: + return '{0}: no result'.format(name) + + +def main(argv=None): + """ + Handles command line arguments and gets things started. + + :param argv: List of arguments, as if specified on the command-line. + If None, ``sys.argv[1:]`` is used instead. + :type argv: list of str + """ + # Get command line arguments + parser = argparse.ArgumentParser( + description="Takes one or more file paths and reports their detected \ + encodings") + parser.add_argument('input', + help='File whose encoding we would like to determine. \ + (default: stdin)', + type=argparse.FileType('rb'), nargs='*', + default=[sys.stdin if PY2 else sys.stdin.buffer]) + parser.add_argument('--version', action='version', + version='%(prog)s {0}'.format(__version__)) + args = parser.parse_args(argv) + + for f in args.input: + if f.isatty(): + print("You are running chardetect interactively. Press " + + "CTRL-D twice at the start of a blank line to signal the " + + "end of your input. If you want help, run chardetect " + + "--help\n", file=sys.stderr) + print(description_of(f, f.name)) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.6/site-packages/chardet/codingstatemachine.py b/venv/lib/python3.6/site-packages/chardet/codingstatemachine.py new file mode 100644 index 0000000..68fba44 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/codingstatemachine.py @@ -0,0 +1,88 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +import logging + +from .enums import MachineState + + +class CodingStateMachine(object): + """ + A state machine to verify a byte sequence for a particular encoding. For + each byte the detector receives, it will feed that byte to every active + state machine available, one byte at a time. The state machine changes its + state based on its previous state and the byte it receives. There are 3 + states in a state machine that are of interest to an auto-detector: + + START state: This is the state to start with, or a legal byte sequence + (i.e. a valid code point) for character has been identified. + + ME state: This indicates that the state machine identified a byte sequence + that is specific to the charset it is designed for and that + there is no other possible encoding which can contain this byte + sequence. This will to lead to an immediate positive answer for + the detector. + + ERROR state: This indicates the state machine identified an illegal byte + sequence for that encoding. This will lead to an immediate + negative answer for this encoding. Detector will exclude this + encoding from consideration from here on. + """ + def __init__(self, sm): + self._model = sm + self._curr_byte_pos = 0 + self._curr_char_len = 0 + self._curr_state = None + self.logger = logging.getLogger(__name__) + self.reset() + + def reset(self): + self._curr_state = MachineState.START + + def next_state(self, c): + # for each byte we get its class + # if it is first byte, we also get byte length + byte_class = self._model['class_table'][c] + if self._curr_state == MachineState.START: + self._curr_byte_pos = 0 + self._curr_char_len = self._model['char_len_table'][byte_class] + # from byte's class and state_table, we get its next state + curr_state = (self._curr_state * self._model['class_factor'] + + byte_class) + self._curr_state = self._model['state_table'][curr_state] + self._curr_byte_pos += 1 + return self._curr_state + + def get_current_charlen(self): + return self._curr_char_len + + def get_coding_state_machine(self): + return self._model['name'] + + @property + def language(self): + return self._model['language'] diff --git a/venv/lib/python3.6/site-packages/chardet/compat.py b/venv/lib/python3.6/site-packages/chardet/compat.py new file mode 100644 index 0000000..ddd7468 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/compat.py @@ -0,0 +1,34 @@ +######################## BEGIN LICENSE BLOCK ######################## +# Contributor(s): +# Dan Blanchard +# Ian Cordasco +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +import sys + + +if sys.version_info < (3, 0): + PY2 = True + PY3 = False + base_str = (str, unicode) + text_type = unicode +else: + PY2 = False + PY3 = True + base_str = (bytes, str) + text_type = str diff --git a/venv/lib/python3.6/site-packages/chardet/cp949prober.py b/venv/lib/python3.6/site-packages/chardet/cp949prober.py new file mode 100644 index 0000000..efd793a --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/cp949prober.py @@ -0,0 +1,49 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .chardistribution import EUCKRDistributionAnalysis +from .codingstatemachine import CodingStateMachine +from .mbcharsetprober import MultiByteCharSetProber +from .mbcssm import CP949_SM_MODEL + + +class CP949Prober(MultiByteCharSetProber): + def __init__(self): + super(CP949Prober, self).__init__() + self.coding_sm = CodingStateMachine(CP949_SM_MODEL) + # NOTE: CP949 is a superset of EUC-KR, so the distribution should be + # not different. + self.distribution_analyzer = EUCKRDistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "CP949" + + @property + def language(self): + return "Korean" diff --git a/venv/lib/python3.6/site-packages/chardet/enums.py b/venv/lib/python3.6/site-packages/chardet/enums.py new file mode 100644 index 0000000..0451207 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/enums.py @@ -0,0 +1,76 @@ +""" +All of the Enums that are used throughout the chardet package. + +:author: Dan Blanchard (dan.blanchard@gmail.com) +""" + + +class InputState(object): + """ + This enum represents the different states a universal detector can be in. + """ + PURE_ASCII = 0 + ESC_ASCII = 1 + HIGH_BYTE = 2 + + +class LanguageFilter(object): + """ + This enum represents the different language filters we can apply to a + ``UniversalDetector``. + """ + CHINESE_SIMPLIFIED = 0x01 + CHINESE_TRADITIONAL = 0x02 + JAPANESE = 0x04 + KOREAN = 0x08 + NON_CJK = 0x10 + ALL = 0x1F + CHINESE = CHINESE_SIMPLIFIED | CHINESE_TRADITIONAL + CJK = CHINESE | JAPANESE | KOREAN + + +class ProbingState(object): + """ + This enum represents the different states a prober can be in. + """ + DETECTING = 0 + FOUND_IT = 1 + NOT_ME = 2 + + +class MachineState(object): + """ + This enum represents the different states a state machine can be in. + """ + START = 0 + ERROR = 1 + ITS_ME = 2 + + +class SequenceLikelihood(object): + """ + This enum represents the likelihood of a character following the previous one. + """ + NEGATIVE = 0 + UNLIKELY = 1 + LIKELY = 2 + POSITIVE = 3 + + @classmethod + def get_num_categories(cls): + """:returns: The number of likelihood categories in the enum.""" + return 4 + + +class CharacterCategory(object): + """ + This enum represents the different categories language models for + ``SingleByteCharsetProber`` put characters into. + + Anything less than CONTROL is considered a letter. + """ + UNDEFINED = 255 + LINE_BREAK = 254 + SYMBOL = 253 + DIGIT = 252 + CONTROL = 251 diff --git a/venv/lib/python3.6/site-packages/chardet/escprober.py b/venv/lib/python3.6/site-packages/chardet/escprober.py new file mode 100644 index 0000000..c70493f --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/escprober.py @@ -0,0 +1,101 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .codingstatemachine import CodingStateMachine +from .enums import LanguageFilter, ProbingState, MachineState +from .escsm import (HZ_SM_MODEL, ISO2022CN_SM_MODEL, ISO2022JP_SM_MODEL, + ISO2022KR_SM_MODEL) + + +class EscCharSetProber(CharSetProber): + """ + This CharSetProber uses a "code scheme" approach for detecting encodings, + whereby easily recognizable escape or shift sequences are relied on to + identify these encodings. + """ + + def __init__(self, lang_filter=None): + super(EscCharSetProber, self).__init__(lang_filter=lang_filter) + self.coding_sm = [] + if self.lang_filter & LanguageFilter.CHINESE_SIMPLIFIED: + self.coding_sm.append(CodingStateMachine(HZ_SM_MODEL)) + self.coding_sm.append(CodingStateMachine(ISO2022CN_SM_MODEL)) + if self.lang_filter & LanguageFilter.JAPANESE: + self.coding_sm.append(CodingStateMachine(ISO2022JP_SM_MODEL)) + if self.lang_filter & LanguageFilter.KOREAN: + self.coding_sm.append(CodingStateMachine(ISO2022KR_SM_MODEL)) + self.active_sm_count = None + self._detected_charset = None + self._detected_language = None + self._state = None + self.reset() + + def reset(self): + super(EscCharSetProber, self).reset() + for coding_sm in self.coding_sm: + if not coding_sm: + continue + coding_sm.active = True + coding_sm.reset() + self.active_sm_count = len(self.coding_sm) + self._detected_charset = None + self._detected_language = None + + @property + def charset_name(self): + return self._detected_charset + + @property + def language(self): + return self._detected_language + + def get_confidence(self): + if self._detected_charset: + return 0.99 + else: + return 0.00 + + def feed(self, byte_str): + for c in byte_str: + for coding_sm in self.coding_sm: + if not coding_sm or not coding_sm.active: + continue + coding_state = coding_sm.next_state(c) + if coding_state == MachineState.ERROR: + coding_sm.active = False + self.active_sm_count -= 1 + if self.active_sm_count <= 0: + self._state = ProbingState.NOT_ME + return self.state + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + self._detected_charset = coding_sm.get_coding_state_machine() + self._detected_language = coding_sm.language + return self.state + + return self.state diff --git a/venv/lib/python3.6/site-packages/chardet/escsm.py b/venv/lib/python3.6/site-packages/chardet/escsm.py new file mode 100644 index 0000000..0069523 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/escsm.py @@ -0,0 +1,246 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import MachineState + +HZ_CLS = ( +1,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,0,0, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,0,0,0,0, # 20 - 27 +0,0,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +0,0,0,0,0,0,0,0, # 40 - 47 +0,0,0,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,4,0,5,2,0, # 78 - 7f +1,1,1,1,1,1,1,1, # 80 - 87 +1,1,1,1,1,1,1,1, # 88 - 8f +1,1,1,1,1,1,1,1, # 90 - 97 +1,1,1,1,1,1,1,1, # 98 - 9f +1,1,1,1,1,1,1,1, # a0 - a7 +1,1,1,1,1,1,1,1, # a8 - af +1,1,1,1,1,1,1,1, # b0 - b7 +1,1,1,1,1,1,1,1, # b8 - bf +1,1,1,1,1,1,1,1, # c0 - c7 +1,1,1,1,1,1,1,1, # c8 - cf +1,1,1,1,1,1,1,1, # d0 - d7 +1,1,1,1,1,1,1,1, # d8 - df +1,1,1,1,1,1,1,1, # e0 - e7 +1,1,1,1,1,1,1,1, # e8 - ef +1,1,1,1,1,1,1,1, # f0 - f7 +1,1,1,1,1,1,1,1, # f8 - ff +) + +HZ_ST = ( +MachineState.START,MachineState.ERROR, 3,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,# 00-07 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 08-0f +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START, 4,MachineState.ERROR,# 10-17 + 5,MachineState.ERROR, 6,MachineState.ERROR, 5, 5, 4,MachineState.ERROR,# 18-1f + 4,MachineState.ERROR, 4, 4, 4,MachineState.ERROR, 4,MachineState.ERROR,# 20-27 + 4,MachineState.ITS_ME,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 28-2f +) + +HZ_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0) + +HZ_SM_MODEL = {'class_table': HZ_CLS, + 'class_factor': 6, + 'state_table': HZ_ST, + 'char_len_table': HZ_CHAR_LEN_TABLE, + 'name': "HZ-GB-2312", + 'language': 'Chinese'} + +ISO2022CN_CLS = ( +2,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,0,0, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,0,0,0,0, # 20 - 27 +0,3,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +0,0,0,4,0,0,0,0, # 40 - 47 +0,0,0,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,0,0,0,0,0, # 78 - 7f +2,2,2,2,2,2,2,2, # 80 - 87 +2,2,2,2,2,2,2,2, # 88 - 8f +2,2,2,2,2,2,2,2, # 90 - 97 +2,2,2,2,2,2,2,2, # 98 - 9f +2,2,2,2,2,2,2,2, # a0 - a7 +2,2,2,2,2,2,2,2, # a8 - af +2,2,2,2,2,2,2,2, # b0 - b7 +2,2,2,2,2,2,2,2, # b8 - bf +2,2,2,2,2,2,2,2, # c0 - c7 +2,2,2,2,2,2,2,2, # c8 - cf +2,2,2,2,2,2,2,2, # d0 - d7 +2,2,2,2,2,2,2,2, # d8 - df +2,2,2,2,2,2,2,2, # e0 - e7 +2,2,2,2,2,2,2,2, # e8 - ef +2,2,2,2,2,2,2,2, # f0 - f7 +2,2,2,2,2,2,2,2, # f8 - ff +) + +ISO2022CN_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 00-07 +MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 08-0f +MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 10-17 +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,# 18-1f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 20-27 + 5, 6,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 28-2f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 30-37 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,# 38-3f +) + +ISO2022CN_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0, 0, 0, 0) + +ISO2022CN_SM_MODEL = {'class_table': ISO2022CN_CLS, + 'class_factor': 9, + 'state_table': ISO2022CN_ST, + 'char_len_table': ISO2022CN_CHAR_LEN_TABLE, + 'name': "ISO-2022-CN", + 'language': 'Chinese'} + +ISO2022JP_CLS = ( +2,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,2,2, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,7,0,0,0, # 20 - 27 +3,0,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +6,0,4,0,8,0,0,0, # 40 - 47 +0,9,5,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,0,0,0,0,0, # 78 - 7f +2,2,2,2,2,2,2,2, # 80 - 87 +2,2,2,2,2,2,2,2, # 88 - 8f +2,2,2,2,2,2,2,2, # 90 - 97 +2,2,2,2,2,2,2,2, # 98 - 9f +2,2,2,2,2,2,2,2, # a0 - a7 +2,2,2,2,2,2,2,2, # a8 - af +2,2,2,2,2,2,2,2, # b0 - b7 +2,2,2,2,2,2,2,2, # b8 - bf +2,2,2,2,2,2,2,2, # c0 - c7 +2,2,2,2,2,2,2,2, # c8 - cf +2,2,2,2,2,2,2,2, # d0 - d7 +2,2,2,2,2,2,2,2, # d8 - df +2,2,2,2,2,2,2,2, # e0 - e7 +2,2,2,2,2,2,2,2, # e8 - ef +2,2,2,2,2,2,2,2, # f0 - f7 +2,2,2,2,2,2,2,2, # f8 - ff +) + +ISO2022JP_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 00-07 +MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 08-0f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 10-17 +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,# 18-1f +MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,MachineState.ERROR,# 20-27 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 6,MachineState.ITS_ME,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,# 28-2f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,# 30-37 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 38-3f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,MachineState.START,# 40-47 +) + +ISO2022JP_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0) + +ISO2022JP_SM_MODEL = {'class_table': ISO2022JP_CLS, + 'class_factor': 10, + 'state_table': ISO2022JP_ST, + 'char_len_table': ISO2022JP_CHAR_LEN_TABLE, + 'name': "ISO-2022-JP", + 'language': 'Japanese'} + +ISO2022KR_CLS = ( +2,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,0,0, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,3,0,0,0, # 20 - 27 +0,4,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +0,0,0,5,0,0,0,0, # 40 - 47 +0,0,0,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,0,0,0,0,0, # 78 - 7f +2,2,2,2,2,2,2,2, # 80 - 87 +2,2,2,2,2,2,2,2, # 88 - 8f +2,2,2,2,2,2,2,2, # 90 - 97 +2,2,2,2,2,2,2,2, # 98 - 9f +2,2,2,2,2,2,2,2, # a0 - a7 +2,2,2,2,2,2,2,2, # a8 - af +2,2,2,2,2,2,2,2, # b0 - b7 +2,2,2,2,2,2,2,2, # b8 - bf +2,2,2,2,2,2,2,2, # c0 - c7 +2,2,2,2,2,2,2,2, # c8 - cf +2,2,2,2,2,2,2,2, # d0 - d7 +2,2,2,2,2,2,2,2, # d8 - df +2,2,2,2,2,2,2,2, # e0 - e7 +2,2,2,2,2,2,2,2, # e8 - ef +2,2,2,2,2,2,2,2, # f0 - f7 +2,2,2,2,2,2,2,2, # f8 - ff +) + +ISO2022KR_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,# 00-07 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 08-0f +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,MachineState.ERROR,# 10-17 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 18-1f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 20-27 +) + +ISO2022KR_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0) + +ISO2022KR_SM_MODEL = {'class_table': ISO2022KR_CLS, + 'class_factor': 6, + 'state_table': ISO2022KR_ST, + 'char_len_table': ISO2022KR_CHAR_LEN_TABLE, + 'name': "ISO-2022-KR", + 'language': 'Korean'} + + diff --git a/venv/lib/python3.6/site-packages/chardet/eucjpprober.py b/venv/lib/python3.6/site-packages/chardet/eucjpprober.py new file mode 100644 index 0000000..20ce8f7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/eucjpprober.py @@ -0,0 +1,92 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import ProbingState, MachineState +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import EUCJPDistributionAnalysis +from .jpcntx import EUCJPContextAnalysis +from .mbcssm import EUCJP_SM_MODEL + + +class EUCJPProber(MultiByteCharSetProber): + def __init__(self): + super(EUCJPProber, self).__init__() + self.coding_sm = CodingStateMachine(EUCJP_SM_MODEL) + self.distribution_analyzer = EUCJPDistributionAnalysis() + self.context_analyzer = EUCJPContextAnalysis() + self.reset() + + def reset(self): + super(EUCJPProber, self).reset() + self.context_analyzer.reset() + + @property + def charset_name(self): + return "EUC-JP" + + @property + def language(self): + return "Japanese" + + def feed(self, byte_str): + for i in range(len(byte_str)): + # PY3K: byte_str is a byte array, so byte_str[i] is an int, not a byte + coding_state = self.coding_sm.next_state(byte_str[i]) + if coding_state == MachineState.ERROR: + self.logger.debug('%s %s prober hit error at byte %s', + self.charset_name, self.language, i) + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + char_len = self.coding_sm.get_current_charlen() + if i == 0: + self._last_char[1] = byte_str[0] + self.context_analyzer.feed(self._last_char, char_len) + self.distribution_analyzer.feed(self._last_char, char_len) + else: + self.context_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + self.distribution_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + + self._last_char[0] = byte_str[-1] + + if self.state == ProbingState.DETECTING: + if (self.context_analyzer.got_enough_data() and + (self.get_confidence() > self.SHORTCUT_THRESHOLD)): + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + context_conf = self.context_analyzer.get_confidence() + distrib_conf = self.distribution_analyzer.get_confidence() + return max(context_conf, distrib_conf) diff --git a/venv/lib/python3.6/site-packages/chardet/euckrfreq.py b/venv/lib/python3.6/site-packages/chardet/euckrfreq.py new file mode 100644 index 0000000..b68078c --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/euckrfreq.py @@ -0,0 +1,195 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# Sampling from about 20M text materials include literature and computer technology + +# 128 --> 0.79 +# 256 --> 0.92 +# 512 --> 0.986 +# 1024 --> 0.99944 +# 2048 --> 0.99999 +# +# Idea Distribution Ratio = 0.98653 / (1-0.98653) = 73.24 +# Random Distribution Ration = 512 / (2350-512) = 0.279. +# +# Typical Distribution Ratio + +EUCKR_TYPICAL_DISTRIBUTION_RATIO = 6.0 + +EUCKR_TABLE_SIZE = 2352 + +# Char to FreqOrder table , +EUCKR_CHAR_TO_FREQ_ORDER = ( + 13, 130, 120,1396, 481,1719,1720, 328, 609, 212,1721, 707, 400, 299,1722, 87, +1397,1723, 104, 536,1117,1203,1724,1267, 685,1268, 508,1725,1726,1727,1728,1398, +1399,1729,1730,1731, 141, 621, 326,1057, 368,1732, 267, 488, 20,1733,1269,1734, + 945,1400,1735, 47, 904,1270,1736,1737, 773, 248,1738, 409, 313, 786, 429,1739, + 116, 987, 813,1401, 683, 75,1204, 145,1740,1741,1742,1743, 16, 847, 667, 622, + 708,1744,1745,1746, 966, 787, 304, 129,1747, 60, 820, 123, 676,1748,1749,1750, +1751, 617,1752, 626,1753,1754,1755,1756, 653,1757,1758,1759,1760,1761,1762, 856, + 344,1763,1764,1765,1766, 89, 401, 418, 806, 905, 848,1767,1768,1769, 946,1205, + 709,1770,1118,1771, 241,1772,1773,1774,1271,1775, 569,1776, 999,1777,1778,1779, +1780, 337, 751,1058, 28, 628, 254,1781, 177, 906, 270, 349, 891,1079,1782, 19, +1783, 379,1784, 315,1785, 629, 754,1402, 559,1786, 636, 203,1206,1787, 710, 567, +1788, 935, 814,1789,1790,1207, 766, 528,1791,1792,1208,1793,1794,1795,1796,1797, +1403,1798,1799, 533,1059,1404,1405,1156,1406, 936, 884,1080,1800, 351,1801,1802, +1803,1804,1805, 801,1806,1807,1808,1119,1809,1157, 714, 474,1407,1810, 298, 899, + 885,1811,1120, 802,1158,1812, 892,1813,1814,1408, 659,1815,1816,1121,1817,1818, +1819,1820,1821,1822, 319,1823, 594, 545,1824, 815, 937,1209,1825,1826, 573,1409, +1022,1827,1210,1828,1829,1830,1831,1832,1833, 556, 722, 807,1122,1060,1834, 697, +1835, 900, 557, 715,1836,1410, 540,1411, 752,1159, 294, 597,1211, 976, 803, 770, +1412,1837,1838, 39, 794,1413, 358,1839, 371, 925,1840, 453, 661, 788, 531, 723, + 544,1023,1081, 869, 91,1841, 392, 430, 790, 602,1414, 677,1082, 457,1415,1416, +1842,1843, 475, 327,1024,1417, 795, 121,1844, 733, 403,1418,1845,1846,1847, 300, + 119, 711,1212, 627,1848,1272, 207,1849,1850, 796,1213, 382,1851, 519,1852,1083, + 893,1853,1854,1855, 367, 809, 487, 671,1856, 663,1857,1858, 956, 471, 306, 857, +1859,1860,1160,1084,1861,1862,1863,1864,1865,1061,1866,1867,1868,1869,1870,1871, + 282, 96, 574,1872, 502,1085,1873,1214,1874, 907,1875,1876, 827, 977,1419,1420, +1421, 268,1877,1422,1878,1879,1880, 308,1881, 2, 537,1882,1883,1215,1884,1885, + 127, 791,1886,1273,1423,1887, 34, 336, 404, 643,1888, 571, 654, 894, 840,1889, + 0, 886,1274, 122, 575, 260, 908, 938,1890,1275, 410, 316,1891,1892, 100,1893, +1894,1123, 48,1161,1124,1025,1895, 633, 901,1276,1896,1897, 115, 816,1898, 317, +1899, 694,1900, 909, 734,1424, 572, 866,1425, 691, 85, 524,1010, 543, 394, 841, +1901,1902,1903,1026,1904,1905,1906,1907,1908,1909, 30, 451, 651, 988, 310,1910, +1911,1426, 810,1216, 93,1912,1913,1277,1217,1914, 858, 759, 45, 58, 181, 610, + 269,1915,1916, 131,1062, 551, 443,1000, 821,1427, 957, 895,1086,1917,1918, 375, +1919, 359,1920, 687,1921, 822,1922, 293,1923,1924, 40, 662, 118, 692, 29, 939, + 887, 640, 482, 174,1925, 69,1162, 728,1428, 910,1926,1278,1218,1279, 386, 870, + 217, 854,1163, 823,1927,1928,1929,1930, 834,1931, 78,1932, 859,1933,1063,1934, +1935,1936,1937, 438,1164, 208, 595,1938,1939,1940,1941,1219,1125,1942, 280, 888, +1429,1430,1220,1431,1943,1944,1945,1946,1947,1280, 150, 510,1432,1948,1949,1950, +1951,1952,1953,1954,1011,1087,1955,1433,1043,1956, 881,1957, 614, 958,1064,1065, +1221,1958, 638,1001, 860, 967, 896,1434, 989, 492, 553,1281,1165,1959,1282,1002, +1283,1222,1960,1961,1962,1963, 36, 383, 228, 753, 247, 454,1964, 876, 678,1965, +1966,1284, 126, 464, 490, 835, 136, 672, 529, 940,1088,1435, 473,1967,1968, 467, + 50, 390, 227, 587, 279, 378, 598, 792, 968, 240, 151, 160, 849, 882,1126,1285, + 639,1044, 133, 140, 288, 360, 811, 563,1027, 561, 142, 523,1969,1970,1971, 7, + 103, 296, 439, 407, 506, 634, 990,1972,1973,1974,1975, 645,1976,1977,1978,1979, +1980,1981, 236,1982,1436,1983,1984,1089, 192, 828, 618, 518,1166, 333,1127,1985, + 818,1223,1986,1987,1988,1989,1990,1991,1992,1993, 342,1128,1286, 746, 842,1994, +1995, 560, 223,1287, 98, 8, 189, 650, 978,1288,1996,1437,1997, 17, 345, 250, + 423, 277, 234, 512, 226, 97, 289, 42, 167,1998, 201,1999,2000, 843, 836, 824, + 532, 338, 783,1090, 182, 576, 436,1438,1439, 527, 500,2001, 947, 889,2002,2003, +2004,2005, 262, 600, 314, 447,2006, 547,2007, 693, 738,1129,2008, 71,1440, 745, + 619, 688,2009, 829,2010,2011, 147,2012, 33, 948,2013,2014, 74, 224,2015, 61, + 191, 918, 399, 637,2016,1028,1130, 257, 902,2017,2018,2019,2020,2021,2022,2023, +2024,2025,2026, 837,2027,2028,2029,2030, 179, 874, 591, 52, 724, 246,2031,2032, +2033,2034,1167, 969,2035,1289, 630, 605, 911,1091,1168,2036,2037,2038,1441, 912, +2039, 623,2040,2041, 253,1169,1290,2042,1442, 146, 620, 611, 577, 433,2043,1224, + 719,1170, 959, 440, 437, 534, 84, 388, 480,1131, 159, 220, 198, 679,2044,1012, + 819,1066,1443, 113,1225, 194, 318,1003,1029,2045,2046,2047,2048,1067,2049,2050, +2051,2052,2053, 59, 913, 112,2054, 632,2055, 455, 144, 739,1291,2056, 273, 681, + 499,2057, 448,2058,2059, 760,2060,2061, 970, 384, 169, 245,1132,2062,2063, 414, +1444,2064,2065, 41, 235,2066, 157, 252, 877, 568, 919, 789, 580,2067, 725,2068, +2069,1292,2070,2071,1445,2072,1446,2073,2074, 55, 588, 66,1447, 271,1092,2075, +1226,2076, 960,1013, 372,2077,2078,2079,2080,2081,1293,2082,2083,2084,2085, 850, +2086,2087,2088,2089,2090, 186,2091,1068, 180,2092,2093,2094, 109,1227, 522, 606, +2095, 867,1448,1093, 991,1171, 926, 353,1133,2096, 581,2097,2098,2099,1294,1449, +1450,2100, 596,1172,1014,1228,2101,1451,1295,1173,1229,2102,2103,1296,1134,1452, + 949,1135,2104,2105,1094,1453,1454,1455,2106,1095,2107,2108,2109,2110,2111,2112, +2113,2114,2115,2116,2117, 804,2118,2119,1230,1231, 805,1456, 405,1136,2120,2121, +2122,2123,2124, 720, 701,1297, 992,1457, 927,1004,2125,2126,2127,2128,2129,2130, + 22, 417,2131, 303,2132, 385,2133, 971, 520, 513,2134,1174, 73,1096, 231, 274, + 962,1458, 673,2135,1459,2136, 152,1137,2137,2138,2139,2140,1005,1138,1460,1139, +2141,2142,2143,2144, 11, 374, 844,2145, 154,1232, 46,1461,2146, 838, 830, 721, +1233, 106,2147, 90, 428, 462, 578, 566,1175, 352,2148,2149, 538,1234, 124,1298, +2150,1462, 761, 565,2151, 686,2152, 649,2153, 72, 173,2154, 460, 415,2155,1463, +2156,1235, 305,2157,2158,2159,2160,2161,2162, 579,2163,2164,2165,2166,2167, 747, +2168,2169,2170,2171,1464, 669,2172,2173,2174,2175,2176,1465,2177, 23, 530, 285, +2178, 335, 729,2179, 397,2180,2181,2182,1030,2183,2184, 698,2185,2186, 325,2187, +2188, 369,2189, 799,1097,1015, 348,2190,1069, 680,2191, 851,1466,2192,2193, 10, +2194, 613, 424,2195, 979, 108, 449, 589, 27, 172, 81,1031, 80, 774, 281, 350, +1032, 525, 301, 582,1176,2196, 674,1045,2197,2198,1467, 730, 762,2199,2200,2201, +2202,1468,2203, 993,2204,2205, 266,1070, 963,1140,2206,2207,2208, 664,1098, 972, +2209,2210,2211,1177,1469,1470, 871,2212,2213,2214,2215,2216,1471,2217,2218,2219, +2220,2221,2222,2223,2224,2225,2226,2227,1472,1236,2228,2229,2230,2231,2232,2233, +2234,2235,1299,2236,2237, 200,2238, 477, 373,2239,2240, 731, 825, 777,2241,2242, +2243, 521, 486, 548,2244,2245,2246,1473,1300, 53, 549, 137, 875, 76, 158,2247, +1301,1474, 469, 396,1016, 278, 712,2248, 321, 442, 503, 767, 744, 941,1237,1178, +1475,2249, 82, 178,1141,1179, 973,2250,1302,2251, 297,2252,2253, 570,2254,2255, +2256, 18, 450, 206,2257, 290, 292,1142,2258, 511, 162, 99, 346, 164, 735,2259, +1476,1477, 4, 554, 343, 798,1099,2260,1100,2261, 43, 171,1303, 139, 215,2262, +2263, 717, 775,2264,1033, 322, 216,2265, 831,2266, 149,2267,1304,2268,2269, 702, +1238, 135, 845, 347, 309,2270, 484,2271, 878, 655, 238,1006,1478,2272, 67,2273, + 295,2274,2275, 461,2276, 478, 942, 412,2277,1034,2278,2279,2280, 265,2281, 541, +2282,2283,2284,2285,2286, 70, 852,1071,2287,2288,2289,2290, 21, 56, 509, 117, + 432,2291,2292, 331, 980, 552,1101, 148, 284, 105, 393,1180,1239, 755,2293, 187, +2294,1046,1479,2295, 340,2296, 63,1047, 230,2297,2298,1305, 763,1306, 101, 800, + 808, 494,2299,2300,2301, 903,2302, 37,1072, 14, 5,2303, 79, 675,2304, 312, +2305,2306,2307,2308,2309,1480, 6,1307,2310,2311,2312, 1, 470, 35, 24, 229, +2313, 695, 210, 86, 778, 15, 784, 592, 779, 32, 77, 855, 964,2314, 259,2315, + 501, 380,2316,2317, 83, 981, 153, 689,1308,1481,1482,1483,2318,2319, 716,1484, +2320,2321,2322,2323,2324,2325,1485,2326,2327, 128, 57, 68, 261,1048, 211, 170, +1240, 31,2328, 51, 435, 742,2329,2330,2331, 635,2332, 264, 456,2333,2334,2335, + 425,2336,1486, 143, 507, 263, 943,2337, 363, 920,1487, 256,1488,1102, 243, 601, +1489,2338,2339,2340,2341,2342,2343,2344, 861,2345,2346,2347,2348,2349,2350, 395, +2351,1490,1491, 62, 535, 166, 225,2352,2353, 668, 419,1241, 138, 604, 928,2354, +1181,2355,1492,1493,2356,2357,2358,1143,2359, 696,2360, 387, 307,1309, 682, 476, +2361,2362, 332, 12, 222, 156,2363, 232,2364, 641, 276, 656, 517,1494,1495,1035, + 416, 736,1496,2365,1017, 586,2366,2367,2368,1497,2369, 242,2370,2371,2372,1498, +2373, 965, 713,2374,2375,2376,2377, 740, 982,1499, 944,1500,1007,2378,2379,1310, +1501,2380,2381,2382, 785, 329,2383,2384,1502,2385,2386,2387, 932,2388,1503,2389, +2390,2391,2392,1242,2393,2394,2395,2396,2397, 994, 950,2398,2399,2400,2401,1504, +1311,2402,2403,2404,2405,1049, 749,2406,2407, 853, 718,1144,1312,2408,1182,1505, +2409,2410, 255, 516, 479, 564, 550, 214,1506,1507,1313, 413, 239, 444, 339,1145, +1036,1508,1509,1314,1037,1510,1315,2411,1511,2412,2413,2414, 176, 703, 497, 624, + 593, 921, 302,2415, 341, 165,1103,1512,2416,1513,2417,2418,2419, 376,2420, 700, +2421,2422,2423, 258, 768,1316,2424,1183,2425, 995, 608,2426,2427,2428,2429, 221, +2430,2431,2432,2433,2434,2435,2436,2437, 195, 323, 726, 188, 897, 983,1317, 377, + 644,1050, 879,2438, 452,2439,2440,2441,2442,2443,2444, 914,2445,2446,2447,2448, + 915, 489,2449,1514,1184,2450,2451, 515, 64, 427, 495,2452, 583,2453, 483, 485, +1038, 562, 213,1515, 748, 666,2454,2455,2456,2457, 334,2458, 780, 996,1008, 705, +1243,2459,2460,2461,2462,2463, 114,2464, 493,1146, 366, 163,1516, 961,1104,2465, + 291,2466,1318,1105,2467,1517, 365,2468, 355, 951,1244,2469,1319,2470, 631,2471, +2472, 218,1320, 364, 320, 756,1518,1519,1321,1520,1322,2473,2474,2475,2476, 997, +2477,2478,2479,2480, 665,1185,2481, 916,1521,2482,2483,2484, 584, 684,2485,2486, + 797,2487,1051,1186,2488,2489,2490,1522,2491,2492, 370,2493,1039,1187, 65,2494, + 434, 205, 463,1188,2495, 125, 812, 391, 402, 826, 699, 286, 398, 155, 781, 771, + 585,2496, 590, 505,1073,2497, 599, 244, 219, 917,1018, 952, 646,1523,2498,1323, +2499,2500, 49, 984, 354, 741,2501, 625,2502,1324,2503,1019, 190, 357, 757, 491, + 95, 782, 868,2504,2505,2506,2507,2508,2509, 134,1524,1074, 422,1525, 898,2510, + 161,2511,2512,2513,2514, 769,2515,1526,2516,2517, 411,1325,2518, 472,1527,2519, +2520,2521,2522,2523,2524, 985,2525,2526,2527,2528,2529,2530, 764,2531,1245,2532, +2533, 25, 204, 311,2534, 496,2535,1052,2536,2537,2538,2539,2540,2541,2542, 199, + 704, 504, 468, 758, 657,1528, 196, 44, 839,1246, 272, 750,2543, 765, 862,2544, +2545,1326,2546, 132, 615, 933,2547, 732,2548,2549,2550,1189,1529,2551, 283,1247, +1053, 607, 929,2552,2553,2554, 930, 183, 872, 616,1040,1147,2555,1148,1020, 441, + 249,1075,2556,2557,2558, 466, 743,2559,2560,2561, 92, 514, 426, 420, 526,2562, +2563,2564,2565,2566,2567,2568, 185,2569,2570,2571,2572, 776,1530, 658,2573, 362, +2574, 361, 922,1076, 793,2575,2576,2577,2578,2579,2580,1531, 251,2581,2582,2583, +2584,1532, 54, 612, 237,1327,2585,2586, 275, 408, 647, 111,2587,1533,1106, 465, + 3, 458, 9, 38,2588, 107, 110, 890, 209, 26, 737, 498,2589,1534,2590, 431, + 202, 88,1535, 356, 287,1107, 660,1149,2591, 381,1536, 986,1150, 445,1248,1151, + 974,2592,2593, 846,2594, 446, 953, 184,1249,1250, 727,2595, 923, 193, 883,2596, +2597,2598, 102, 324, 539, 817,2599, 421,1041,2600, 832,2601, 94, 175, 197, 406, +2602, 459,2603,2604,2605,2606,2607, 330, 555,2608,2609,2610, 706,1108, 389,2611, +2612,2613,2614, 233,2615, 833, 558, 931, 954,1251,2616,2617,1537, 546,2618,2619, +1009,2620,2621,2622,1538, 690,1328,2623, 955,2624,1539,2625,2626, 772,2627,2628, +2629,2630,2631, 924, 648, 863, 603,2632,2633, 934,1540, 864, 865,2634, 642,1042, + 670,1190,2635,2636,2637,2638, 168,2639, 652, 873, 542,1054,1541,2640,2641,2642, # 512, 256 +) + diff --git a/venv/lib/python3.6/site-packages/chardet/euckrprober.py b/venv/lib/python3.6/site-packages/chardet/euckrprober.py new file mode 100644 index 0000000..345a060 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/euckrprober.py @@ -0,0 +1,47 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import EUCKRDistributionAnalysis +from .mbcssm import EUCKR_SM_MODEL + + +class EUCKRProber(MultiByteCharSetProber): + def __init__(self): + super(EUCKRProber, self).__init__() + self.coding_sm = CodingStateMachine(EUCKR_SM_MODEL) + self.distribution_analyzer = EUCKRDistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "EUC-KR" + + @property + def language(self): + return "Korean" diff --git a/venv/lib/python3.6/site-packages/chardet/euctwfreq.py b/venv/lib/python3.6/site-packages/chardet/euctwfreq.py new file mode 100644 index 0000000..ed7a995 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/euctwfreq.py @@ -0,0 +1,387 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# EUCTW frequency table +# Converted from big5 work +# by Taiwan's Mandarin Promotion Council +# <http:#www.edu.tw:81/mandr/> + +# 128 --> 0.42261 +# 256 --> 0.57851 +# 512 --> 0.74851 +# 1024 --> 0.89384 +# 2048 --> 0.97583 +# +# Idea Distribution Ratio = 0.74851/(1-0.74851) =2.98 +# Random Distribution Ration = 512/(5401-512)=0.105 +# +# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR + +EUCTW_TYPICAL_DISTRIBUTION_RATIO = 0.75 + +# Char to FreqOrder table , +EUCTW_TABLE_SIZE = 5376 + +EUCTW_CHAR_TO_FREQ_ORDER = ( + 1,1800,1506, 255,1431, 198, 9, 82, 6,7310, 177, 202,3615,1256,2808, 110, # 2742 +3735, 33,3241, 261, 76, 44,2113, 16,2931,2184,1176, 659,3868, 26,3404,2643, # 2758 +1198,3869,3313,4060, 410,2211, 302, 590, 361,1963, 8, 204, 58,4296,7311,1931, # 2774 + 63,7312,7313, 317,1614, 75, 222, 159,4061,2412,1480,7314,3500,3068, 224,2809, # 2790 +3616, 3, 10,3870,1471, 29,2774,1135,2852,1939, 873, 130,3242,1123, 312,7315, # 2806 +4297,2051, 507, 252, 682,7316, 142,1914, 124, 206,2932, 34,3501,3173, 64, 604, # 2822 +7317,2494,1976,1977, 155,1990, 645, 641,1606,7318,3405, 337, 72, 406,7319, 80, # 2838 + 630, 238,3174,1509, 263, 939,1092,2644, 756,1440,1094,3406, 449, 69,2969, 591, # 2854 + 179,2095, 471, 115,2034,1843, 60, 50,2970, 134, 806,1868, 734,2035,3407, 180, # 2870 + 995,1607, 156, 537,2893, 688,7320, 319,1305, 779,2144, 514,2374, 298,4298, 359, # 2886 +2495, 90,2707,1338, 663, 11, 906,1099,2545, 20,2436, 182, 532,1716,7321, 732, # 2902 +1376,4062,1311,1420,3175, 25,2312,1056, 113, 399, 382,1949, 242,3408,2467, 529, # 2918 +3243, 475,1447,3617,7322, 117, 21, 656, 810,1297,2295,2329,3502,7323, 126,4063, # 2934 + 706, 456, 150, 613,4299, 71,1118,2036,4064, 145,3069, 85, 835, 486,2114,1246, # 2950 +1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,7324,2127,2354, 347,3736, 221, # 2966 +3503,3110,7325,1955,1153,4065, 83, 296,1199,3070, 192, 624, 93,7326, 822,1897, # 2982 +2810,3111, 795,2064, 991,1554,1542,1592, 27, 43,2853, 859, 139,1456, 860,4300, # 2998 + 437, 712,3871, 164,2392,3112, 695, 211,3017,2096, 195,3872,1608,3504,3505,3618, # 3014 +3873, 234, 811,2971,2097,3874,2229,1441,3506,1615,2375, 668,2076,1638, 305, 228, # 3030 +1664,4301, 467, 415,7327, 262,2098,1593, 239, 108, 300, 200,1033, 512,1247,2077, # 3046 +7328,7329,2173,3176,3619,2673, 593, 845,1062,3244, 88,1723,2037,3875,1950, 212, # 3062 + 266, 152, 149, 468,1898,4066,4302, 77, 187,7330,3018, 37, 5,2972,7331,3876, # 3078 +7332,7333, 39,2517,4303,2894,3177,2078, 55, 148, 74,4304, 545, 483,1474,1029, # 3094 +1665, 217,1869,1531,3113,1104,2645,4067, 24, 172,3507, 900,3877,3508,3509,4305, # 3110 + 32,1408,2811,1312, 329, 487,2355,2247,2708, 784,2674, 4,3019,3314,1427,1788, # 3126 + 188, 109, 499,7334,3620,1717,1789, 888,1217,3020,4306,7335,3510,7336,3315,1520, # 3142 +3621,3878, 196,1034, 775,7337,7338, 929,1815, 249, 439, 38,7339,1063,7340, 794, # 3158 +3879,1435,2296, 46, 178,3245,2065,7341,2376,7342, 214,1709,4307, 804, 35, 707, # 3174 + 324,3622,1601,2546, 140, 459,4068,7343,7344,1365, 839, 272, 978,2257,2572,3409, # 3190 +2128,1363,3623,1423, 697, 100,3071, 48, 70,1231, 495,3114,2193,7345,1294,7346, # 3206 +2079, 462, 586,1042,3246, 853, 256, 988, 185,2377,3410,1698, 434,1084,7347,3411, # 3222 + 314,2615,2775,4308,2330,2331, 569,2280, 637,1816,2518, 757,1162,1878,1616,3412, # 3238 + 287,1577,2115, 768,4309,1671,2854,3511,2519,1321,3737, 909,2413,7348,4069, 933, # 3254 +3738,7349,2052,2356,1222,4310, 765,2414,1322, 786,4311,7350,1919,1462,1677,2895, # 3270 +1699,7351,4312,1424,2437,3115,3624,2590,3316,1774,1940,3413,3880,4070, 309,1369, # 3286 +1130,2812, 364,2230,1653,1299,3881,3512,3882,3883,2646, 525,1085,3021, 902,2000, # 3302 +1475, 964,4313, 421,1844,1415,1057,2281, 940,1364,3116, 376,4314,4315,1381, 7, # 3318 +2520, 983,2378, 336,1710,2675,1845, 321,3414, 559,1131,3022,2742,1808,1132,1313, # 3334 + 265,1481,1857,7352, 352,1203,2813,3247, 167,1089, 420,2814, 776, 792,1724,3513, # 3350 +4071,2438,3248,7353,4072,7354, 446, 229, 333,2743, 901,3739,1200,1557,4316,2647, # 3366 +1920, 395,2744,2676,3740,4073,1835, 125, 916,3178,2616,4317,7355,7356,3741,7357, # 3382 +7358,7359,4318,3117,3625,1133,2547,1757,3415,1510,2313,1409,3514,7360,2145, 438, # 3398 +2591,2896,2379,3317,1068, 958,3023, 461, 311,2855,2677,4074,1915,3179,4075,1978, # 3414 + 383, 750,2745,2617,4076, 274, 539, 385,1278,1442,7361,1154,1964, 384, 561, 210, # 3430 + 98,1295,2548,3515,7362,1711,2415,1482,3416,3884,2897,1257, 129,7363,3742, 642, # 3446 + 523,2776,2777,2648,7364, 141,2231,1333, 68, 176, 441, 876, 907,4077, 603,2592, # 3462 + 710, 171,3417, 404, 549, 18,3118,2393,1410,3626,1666,7365,3516,4319,2898,4320, # 3478 +7366,2973, 368,7367, 146, 366, 99, 871,3627,1543, 748, 807,1586,1185, 22,2258, # 3494 + 379,3743,3180,7368,3181, 505,1941,2618,1991,1382,2314,7369, 380,2357, 218, 702, # 3510 +1817,1248,3418,3024,3517,3318,3249,7370,2974,3628, 930,3250,3744,7371, 59,7372, # 3526 + 585, 601,4078, 497,3419,1112,1314,4321,1801,7373,1223,1472,2174,7374, 749,1836, # 3542 + 690,1899,3745,1772,3885,1476, 429,1043,1790,2232,2116, 917,4079, 447,1086,1629, # 3558 +7375, 556,7376,7377,2020,1654, 844,1090, 105, 550, 966,1758,2815,1008,1782, 686, # 3574 +1095,7378,2282, 793,1602,7379,3518,2593,4322,4080,2933,2297,4323,3746, 980,2496, # 3590 + 544, 353, 527,4324, 908,2678,2899,7380, 381,2619,1942,1348,7381,1341,1252, 560, # 3606 +3072,7382,3420,2856,7383,2053, 973, 886,2080, 143,4325,7384,7385, 157,3886, 496, # 3622 +4081, 57, 840, 540,2038,4326,4327,3421,2117,1445, 970,2259,1748,1965,2081,4082, # 3638 +3119,1234,1775,3251,2816,3629, 773,1206,2129,1066,2039,1326,3887,1738,1725,4083, # 3654 + 279,3120, 51,1544,2594, 423,1578,2130,2066, 173,4328,1879,7386,7387,1583, 264, # 3670 + 610,3630,4329,2439, 280, 154,7388,7389,7390,1739, 338,1282,3073, 693,2857,1411, # 3686 +1074,3747,2440,7391,4330,7392,7393,1240, 952,2394,7394,2900,1538,2679, 685,1483, # 3702 +4084,2468,1436, 953,4085,2054,4331, 671,2395, 79,4086,2441,3252, 608, 567,2680, # 3718 +3422,4087,4088,1691, 393,1261,1791,2396,7395,4332,7396,7397,7398,7399,1383,1672, # 3734 +3748,3182,1464, 522,1119, 661,1150, 216, 675,4333,3888,1432,3519, 609,4334,2681, # 3750 +2397,7400,7401,7402,4089,3025, 0,7403,2469, 315, 231,2442, 301,3319,4335,2380, # 3766 +7404, 233,4090,3631,1818,4336,4337,7405, 96,1776,1315,2082,7406, 257,7407,1809, # 3782 +3632,2709,1139,1819,4091,2021,1124,2163,2778,1777,2649,7408,3074, 363,1655,3183, # 3798 +7409,2975,7410,7411,7412,3889,1567,3890, 718, 103,3184, 849,1443, 341,3320,2934, # 3814 +1484,7413,1712, 127, 67, 339,4092,2398, 679,1412, 821,7414,7415, 834, 738, 351, # 3830 +2976,2146, 846, 235,1497,1880, 418,1992,3749,2710, 186,1100,2147,2746,3520,1545, # 3846 +1355,2935,2858,1377, 583,3891,4093,2573,2977,7416,1298,3633,1078,2549,3634,2358, # 3862 + 78,3750,3751, 267,1289,2099,2001,1594,4094, 348, 369,1274,2194,2175,1837,4338, # 3878 +1820,2817,3635,2747,2283,2002,4339,2936,2748, 144,3321, 882,4340,3892,2749,3423, # 3894 +4341,2901,7417,4095,1726, 320,7418,3893,3026, 788,2978,7419,2818,1773,1327,2859, # 3910 +3894,2819,7420,1306,4342,2003,1700,3752,3521,2359,2650, 787,2022, 506, 824,3636, # 3926 + 534, 323,4343,1044,3322,2023,1900, 946,3424,7421,1778,1500,1678,7422,1881,4344, # 3942 + 165, 243,4345,3637,2521, 123, 683,4096, 764,4346, 36,3895,1792, 589,2902, 816, # 3958 + 626,1667,3027,2233,1639,1555,1622,3753,3896,7423,3897,2860,1370,1228,1932, 891, # 3974 +2083,2903, 304,4097,7424, 292,2979,2711,3522, 691,2100,4098,1115,4347, 118, 662, # 3990 +7425, 611,1156, 854,2381,1316,2861, 2, 386, 515,2904,7426,7427,3253, 868,2234, # 4006 +1486, 855,2651, 785,2212,3028,7428,1040,3185,3523,7429,3121, 448,7430,1525,7431, # 4022 +2164,4348,7432,3754,7433,4099,2820,3524,3122, 503, 818,3898,3123,1568, 814, 676, # 4038 +1444, 306,1749,7434,3755,1416,1030, 197,1428, 805,2821,1501,4349,7435,7436,7437, # 4054 +1993,7438,4350,7439,7440,2195, 13,2779,3638,2980,3124,1229,1916,7441,3756,2131, # 4070 +7442,4100,4351,2399,3525,7443,2213,1511,1727,1120,7444,7445, 646,3757,2443, 307, # 4086 +7446,7447,1595,3186,7448,7449,7450,3639,1113,1356,3899,1465,2522,2523,7451, 519, # 4102 +7452, 128,2132, 92,2284,1979,7453,3900,1512, 342,3125,2196,7454,2780,2214,1980, # 4118 +3323,7455, 290,1656,1317, 789, 827,2360,7456,3758,4352, 562, 581,3901,7457, 401, # 4134 +4353,2248, 94,4354,1399,2781,7458,1463,2024,4355,3187,1943,7459, 828,1105,4101, # 4150 +1262,1394,7460,4102, 605,4356,7461,1783,2862,7462,2822, 819,2101, 578,2197,2937, # 4166 +7463,1502, 436,3254,4103,3255,2823,3902,2905,3425,3426,7464,2712,2315,7465,7466, # 4182 +2332,2067, 23,4357, 193, 826,3759,2102, 699,1630,4104,3075, 390,1793,1064,3526, # 4198 +7467,1579,3076,3077,1400,7468,4105,1838,1640,2863,7469,4358,4359, 137,4106, 598, # 4214 +3078,1966, 780, 104, 974,2938,7470, 278, 899, 253, 402, 572, 504, 493,1339,7471, # 4230 +3903,1275,4360,2574,2550,7472,3640,3029,3079,2249, 565,1334,2713, 863, 41,7473, # 4246 +7474,4361,7475,1657,2333, 19, 463,2750,4107, 606,7476,2981,3256,1087,2084,1323, # 4262 +2652,2982,7477,1631,1623,1750,4108,2682,7478,2864, 791,2714,2653,2334, 232,2416, # 4278 +7479,2983,1498,7480,2654,2620, 755,1366,3641,3257,3126,2025,1609, 119,1917,3427, # 4294 + 862,1026,4109,7481,3904,3760,4362,3905,4363,2260,1951,2470,7482,1125, 817,4110, # 4310 +4111,3906,1513,1766,2040,1487,4112,3030,3258,2824,3761,3127,7483,7484,1507,7485, # 4326 +2683, 733, 40,1632,1106,2865, 345,4113, 841,2524, 230,4364,2984,1846,3259,3428, # 4342 +7486,1263, 986,3429,7487, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562,3907, # 4358 +3908,2939, 967,2751,2655,1349, 592,2133,1692,3324,2985,1994,4114,1679,3909,1901, # 4374 +2185,7488, 739,3642,2715,1296,1290,7489,4115,2198,2199,1921,1563,2595,2551,1870, # 4390 +2752,2986,7490, 435,7491, 343,1108, 596, 17,1751,4365,2235,3430,3643,7492,4366, # 4406 + 294,3527,2940,1693, 477, 979, 281,2041,3528, 643,2042,3644,2621,2782,2261,1031, # 4422 +2335,2134,2298,3529,4367, 367,1249,2552,7493,3530,7494,4368,1283,3325,2004, 240, # 4438 +1762,3326,4369,4370, 836,1069,3128, 474,7495,2148,2525, 268,3531,7496,3188,1521, # 4454 +1284,7497,1658,1546,4116,7498,3532,3533,7499,4117,3327,2684,1685,4118, 961,1673, # 4470 +2622, 190,2005,2200,3762,4371,4372,7500, 570,2497,3645,1490,7501,4373,2623,3260, # 4486 +1956,4374, 584,1514, 396,1045,1944,7502,4375,1967,2444,7503,7504,4376,3910, 619, # 4502 +7505,3129,3261, 215,2006,2783,2553,3189,4377,3190,4378, 763,4119,3763,4379,7506, # 4518 +7507,1957,1767,2941,3328,3646,1174, 452,1477,4380,3329,3130,7508,2825,1253,2382, # 4534 +2186,1091,2285,4120, 492,7509, 638,1169,1824,2135,1752,3911, 648, 926,1021,1324, # 4550 +4381, 520,4382, 997, 847,1007, 892,4383,3764,2262,1871,3647,7510,2400,1784,4384, # 4566 +1952,2942,3080,3191,1728,4121,2043,3648,4385,2007,1701,3131,1551, 30,2263,4122, # 4582 +7511,2026,4386,3534,7512, 501,7513,4123, 594,3431,2165,1821,3535,3432,3536,3192, # 4598 + 829,2826,4124,7514,1680,3132,1225,4125,7515,3262,4387,4126,3133,2336,7516,4388, # 4614 +4127,7517,3912,3913,7518,1847,2383,2596,3330,7519,4389, 374,3914, 652,4128,4129, # 4630 + 375,1140, 798,7520,7521,7522,2361,4390,2264, 546,1659, 138,3031,2445,4391,7523, # 4646 +2250, 612,1848, 910, 796,3765,1740,1371, 825,3766,3767,7524,2906,2554,7525, 692, # 4662 + 444,3032,2624, 801,4392,4130,7526,1491, 244,1053,3033,4131,4132, 340,7527,3915, # 4678 +1041,2987, 293,1168, 87,1357,7528,1539, 959,7529,2236, 721, 694,4133,3768, 219, # 4694 +1478, 644,1417,3331,2656,1413,1401,1335,1389,3916,7530,7531,2988,2362,3134,1825, # 4710 + 730,1515, 184,2827, 66,4393,7532,1660,2943, 246,3332, 378,1457, 226,3433, 975, # 4726 +3917,2944,1264,3537, 674, 696,7533, 163,7534,1141,2417,2166, 713,3538,3333,4394, # 4742 +3918,7535,7536,1186, 15,7537,1079,1070,7538,1522,3193,3539, 276,1050,2716, 758, # 4758 +1126, 653,2945,3263,7539,2337, 889,3540,3919,3081,2989, 903,1250,4395,3920,3434, # 4774 +3541,1342,1681,1718, 766,3264, 286, 89,2946,3649,7540,1713,7541,2597,3334,2990, # 4790 +7542,2947,2215,3194,2866,7543,4396,2498,2526, 181, 387,1075,3921, 731,2187,3335, # 4806 +7544,3265, 310, 313,3435,2299, 770,4134, 54,3034, 189,4397,3082,3769,3922,7545, # 4822 +1230,1617,1849, 355,3542,4135,4398,3336, 111,4136,3650,1350,3135,3436,3035,4137, # 4838 +2149,3266,3543,7546,2784,3923,3924,2991, 722,2008,7547,1071, 247,1207,2338,2471, # 4854 +1378,4399,2009, 864,1437,1214,4400, 373,3770,1142,2216, 667,4401, 442,2753,2555, # 4870 +3771,3925,1968,4138,3267,1839, 837, 170,1107, 934,1336,1882,7548,7549,2118,4139, # 4886 +2828, 743,1569,7550,4402,4140, 582,2384,1418,3437,7551,1802,7552, 357,1395,1729, # 4902 +3651,3268,2418,1564,2237,7553,3083,3772,1633,4403,1114,2085,4141,1532,7554, 482, # 4918 +2446,4404,7555,7556,1492, 833,1466,7557,2717,3544,1641,2829,7558,1526,1272,3652, # 4934 +4142,1686,1794, 416,2556,1902,1953,1803,7559,3773,2785,3774,1159,2316,7560,2867, # 4950 +4405,1610,1584,3036,2419,2754, 443,3269,1163,3136,7561,7562,3926,7563,4143,2499, # 4966 +3037,4406,3927,3137,2103,1647,3545,2010,1872,4144,7564,4145, 431,3438,7565, 250, # 4982 + 97, 81,4146,7566,1648,1850,1558, 160, 848,7567, 866, 740,1694,7568,2201,2830, # 4998 +3195,4147,4407,3653,1687, 950,2472, 426, 469,3196,3654,3655,3928,7569,7570,1188, # 5014 + 424,1995, 861,3546,4148,3775,2202,2685, 168,1235,3547,4149,7571,2086,1674,4408, # 5030 +3337,3270, 220,2557,1009,7572,3776, 670,2992, 332,1208, 717,7573,7574,3548,2447, # 5046 +3929,3338,7575, 513,7576,1209,2868,3339,3138,4409,1080,7577,7578,7579,7580,2527, # 5062 +3656,3549, 815,1587,3930,3931,7581,3550,3439,3777,1254,4410,1328,3038,1390,3932, # 5078 +1741,3933,3778,3934,7582, 236,3779,2448,3271,7583,7584,3657,3780,1273,3781,4411, # 5094 +7585, 308,7586,4412, 245,4413,1851,2473,1307,2575, 430, 715,2136,2449,7587, 270, # 5110 + 199,2869,3935,7588,3551,2718,1753, 761,1754, 725,1661,1840,4414,3440,3658,7589, # 5126 +7590, 587, 14,3272, 227,2598, 326, 480,2265, 943,2755,3552, 291, 650,1883,7591, # 5142 +1702,1226, 102,1547, 62,3441, 904,4415,3442,1164,4150,7592,7593,1224,1548,2756, # 5158 + 391, 498,1493,7594,1386,1419,7595,2055,1177,4416, 813, 880,1081,2363, 566,1145, # 5174 +4417,2286,1001,1035,2558,2599,2238, 394,1286,7596,7597,2068,7598, 86,1494,1730, # 5190 +3936, 491,1588, 745, 897,2948, 843,3340,3937,2757,2870,3273,1768, 998,2217,2069, # 5206 + 397,1826,1195,1969,3659,2993,3341, 284,7599,3782,2500,2137,2119,1903,7600,3938, # 5222 +2150,3939,4151,1036,3443,1904, 114,2559,4152, 209,1527,7601,7602,2949,2831,2625, # 5238 +2385,2719,3139, 812,2560,7603,3274,7604,1559, 737,1884,3660,1210, 885, 28,2686, # 5254 +3553,3783,7605,4153,1004,1779,4418,7606, 346,1981,2218,2687,4419,3784,1742, 797, # 5270 +1642,3940,1933,1072,1384,2151, 896,3941,3275,3661,3197,2871,3554,7607,2561,1958, # 5286 +4420,2450,1785,7608,7609,7610,3942,4154,1005,1308,3662,4155,2720,4421,4422,1528, # 5302 +2600, 161,1178,4156,1982, 987,4423,1101,4157, 631,3943,1157,3198,2420,1343,1241, # 5318 +1016,2239,2562, 372, 877,2339,2501,1160, 555,1934, 911,3944,7611, 466,1170, 169, # 5334 +1051,2907,2688,3663,2474,2994,1182,2011,2563,1251,2626,7612, 992,2340,3444,1540, # 5350 +2721,1201,2070,2401,1996,2475,7613,4424, 528,1922,2188,1503,1873,1570,2364,3342, # 5366 +3276,7614, 557,1073,7615,1827,3445,2087,2266,3140,3039,3084, 767,3085,2786,4425, # 5382 +1006,4158,4426,2341,1267,2176,3664,3199, 778,3945,3200,2722,1597,2657,7616,4427, # 5398 +7617,3446,7618,7619,7620,3277,2689,1433,3278, 131, 95,1504,3946, 723,4159,3141, # 5414 +1841,3555,2758,2189,3947,2027,2104,3665,7621,2995,3948,1218,7622,3343,3201,3949, # 5430 +4160,2576, 248,1634,3785, 912,7623,2832,3666,3040,3786, 654, 53,7624,2996,7625, # 5446 +1688,4428, 777,3447,1032,3950,1425,7626, 191, 820,2120,2833, 971,4429, 931,3202, # 5462 + 135, 664, 783,3787,1997, 772,2908,1935,3951,3788,4430,2909,3203, 282,2723, 640, # 5478 +1372,3448,1127, 922, 325,3344,7627,7628, 711,2044,7629,7630,3952,2219,2787,1936, # 5494 +3953,3345,2220,2251,3789,2300,7631,4431,3790,1258,3279,3954,3204,2138,2950,3955, # 5510 +3956,7632,2221, 258,3205,4432, 101,1227,7633,3280,1755,7634,1391,3281,7635,2910, # 5526 +2056, 893,7636,7637,7638,1402,4161,2342,7639,7640,3206,3556,7641,7642, 878,1325, # 5542 +1780,2788,4433, 259,1385,2577, 744,1183,2267,4434,7643,3957,2502,7644, 684,1024, # 5558 +4162,7645, 472,3557,3449,1165,3282,3958,3959, 322,2152, 881, 455,1695,1152,1340, # 5574 + 660, 554,2153,4435,1058,4436,4163, 830,1065,3346,3960,4437,1923,7646,1703,1918, # 5590 +7647, 932,2268, 122,7648,4438, 947, 677,7649,3791,2627, 297,1905,1924,2269,4439, # 5606 +2317,3283,7650,7651,4164,7652,4165, 84,4166, 112, 989,7653, 547,1059,3961, 701, # 5622 +3558,1019,7654,4167,7655,3450, 942, 639, 457,2301,2451, 993,2951, 407, 851, 494, # 5638 +4440,3347, 927,7656,1237,7657,2421,3348, 573,4168, 680, 921,2911,1279,1874, 285, # 5654 + 790,1448,1983, 719,2167,7658,7659,4441,3962,3963,1649,7660,1541, 563,7661,1077, # 5670 +7662,3349,3041,3451, 511,2997,3964,3965,3667,3966,1268,2564,3350,3207,4442,4443, # 5686 +7663, 535,1048,1276,1189,2912,2028,3142,1438,1373,2834,2952,1134,2012,7664,4169, # 5702 +1238,2578,3086,1259,7665, 700,7666,2953,3143,3668,4170,7667,4171,1146,1875,1906, # 5718 +4444,2601,3967, 781,2422, 132,1589, 203, 147, 273,2789,2402, 898,1786,2154,3968, # 5734 +3969,7668,3792,2790,7669,7670,4445,4446,7671,3208,7672,1635,3793, 965,7673,1804, # 5750 +2690,1516,3559,1121,1082,1329,3284,3970,1449,3794, 65,1128,2835,2913,2759,1590, # 5766 +3795,7674,7675, 12,2658, 45, 976,2579,3144,4447, 517,2528,1013,1037,3209,7676, # 5782 +3796,2836,7677,3797,7678,3452,7679,2602, 614,1998,2318,3798,3087,2724,2628,7680, # 5798 +2580,4172, 599,1269,7681,1810,3669,7682,2691,3088, 759,1060, 489,1805,3351,3285, # 5814 +1358,7683,7684,2386,1387,1215,2629,2252, 490,7685,7686,4173,1759,2387,2343,7687, # 5830 +4448,3799,1907,3971,2630,1806,3210,4449,3453,3286,2760,2344, 874,7688,7689,3454, # 5846 +3670,1858, 91,2914,3671,3042,3800,4450,7690,3145,3972,2659,7691,3455,1202,1403, # 5862 +3801,2954,2529,1517,2503,4451,3456,2504,7692,4452,7693,2692,1885,1495,1731,3973, # 5878 +2365,4453,7694,2029,7695,7696,3974,2693,1216, 237,2581,4174,2319,3975,3802,4454, # 5894 +4455,2694,3560,3457, 445,4456,7697,7698,7699,7700,2761, 61,3976,3672,1822,3977, # 5910 +7701, 687,2045, 935, 925, 405,2660, 703,1096,1859,2725,4457,3978,1876,1367,2695, # 5926 +3352, 918,2105,1781,2476, 334,3287,1611,1093,4458, 564,3146,3458,3673,3353, 945, # 5942 +2631,2057,4459,7702,1925, 872,4175,7703,3459,2696,3089, 349,4176,3674,3979,4460, # 5958 +3803,4177,3675,2155,3980,4461,4462,4178,4463,2403,2046, 782,3981, 400, 251,4179, # 5974 +1624,7704,7705, 277,3676, 299,1265, 476,1191,3804,2121,4180,4181,1109, 205,7706, # 5990 +2582,1000,2156,3561,1860,7707,7708,7709,4464,7710,4465,2565, 107,2477,2157,3982, # 6006 +3460,3147,7711,1533, 541,1301, 158, 753,4182,2872,3562,7712,1696, 370,1088,4183, # 6022 +4466,3563, 579, 327, 440, 162,2240, 269,1937,1374,3461, 968,3043, 56,1396,3090, # 6038 +2106,3288,3354,7713,1926,2158,4467,2998,7714,3564,7715,7716,3677,4468,2478,7717, # 6054 +2791,7718,1650,4469,7719,2603,7720,7721,3983,2661,3355,1149,3356,3984,3805,3985, # 6070 +7722,1076, 49,7723, 951,3211,3289,3290, 450,2837, 920,7724,1811,2792,2366,4184, # 6086 +1908,1138,2367,3806,3462,7725,3212,4470,1909,1147,1518,2423,4471,3807,7726,4472, # 6102 +2388,2604, 260,1795,3213,7727,7728,3808,3291, 708,7729,3565,1704,7730,3566,1351, # 6118 +1618,3357,2999,1886, 944,4185,3358,4186,3044,3359,4187,7731,3678, 422, 413,1714, # 6134 +3292, 500,2058,2345,4188,2479,7732,1344,1910, 954,7733,1668,7734,7735,3986,2404, # 6150 +4189,3567,3809,4190,7736,2302,1318,2505,3091, 133,3092,2873,4473, 629, 31,2838, # 6166 +2697,3810,4474, 850, 949,4475,3987,2955,1732,2088,4191,1496,1852,7737,3988, 620, # 6182 +3214, 981,1242,3679,3360,1619,3680,1643,3293,2139,2452,1970,1719,3463,2168,7738, # 6198 +3215,7739,7740,3361,1828,7741,1277,4476,1565,2047,7742,1636,3568,3093,7743, 869, # 6214 +2839, 655,3811,3812,3094,3989,3000,3813,1310,3569,4477,7744,7745,7746,1733, 558, # 6230 +4478,3681, 335,1549,3045,1756,4192,3682,1945,3464,1829,1291,1192, 470,2726,2107, # 6246 +2793, 913,1054,3990,7747,1027,7748,3046,3991,4479, 982,2662,3362,3148,3465,3216, # 6262 +3217,1946,2794,7749, 571,4480,7750,1830,7751,3570,2583,1523,2424,7752,2089, 984, # 6278 +4481,3683,1959,7753,3684, 852, 923,2795,3466,3685, 969,1519, 999,2048,2320,1705, # 6294 +7754,3095, 615,1662, 151, 597,3992,2405,2321,1049, 275,4482,3686,4193, 568,3687, # 6310 +3571,2480,4194,3688,7755,2425,2270, 409,3218,7756,1566,2874,3467,1002, 769,2840, # 6326 + 194,2090,3149,3689,2222,3294,4195, 628,1505,7757,7758,1763,2177,3001,3993, 521, # 6342 +1161,2584,1787,2203,2406,4483,3994,1625,4196,4197, 412, 42,3096, 464,7759,2632, # 6358 +4484,3363,1760,1571,2875,3468,2530,1219,2204,3814,2633,2140,2368,4485,4486,3295, # 6374 +1651,3364,3572,7760,7761,3573,2481,3469,7762,3690,7763,7764,2271,2091, 460,7765, # 6390 +4487,7766,3002, 962, 588,3574, 289,3219,2634,1116, 52,7767,3047,1796,7768,7769, # 6406 +7770,1467,7771,1598,1143,3691,4198,1984,1734,1067,4488,1280,3365, 465,4489,1572, # 6422 + 510,7772,1927,2241,1812,1644,3575,7773,4490,3692,7774,7775,2663,1573,1534,7776, # 6438 +7777,4199, 536,1807,1761,3470,3815,3150,2635,7778,7779,7780,4491,3471,2915,1911, # 6454 +2796,7781,3296,1122, 377,3220,7782, 360,7783,7784,4200,1529, 551,7785,2059,3693, # 6470 +1769,2426,7786,2916,4201,3297,3097,2322,2108,2030,4492,1404, 136,1468,1479, 672, # 6486 +1171,3221,2303, 271,3151,7787,2762,7788,2049, 678,2727, 865,1947,4493,7789,2013, # 6502 +3995,2956,7790,2728,2223,1397,3048,3694,4494,4495,1735,2917,3366,3576,7791,3816, # 6518 + 509,2841,2453,2876,3817,7792,7793,3152,3153,4496,4202,2531,4497,2304,1166,1010, # 6534 + 552, 681,1887,7794,7795,2957,2958,3996,1287,1596,1861,3154, 358, 453, 736, 175, # 6550 + 478,1117, 905,1167,1097,7796,1853,1530,7797,1706,7798,2178,3472,2287,3695,3473, # 6566 +3577,4203,2092,4204,7799,3367,1193,2482,4205,1458,2190,2205,1862,1888,1421,3298, # 6582 +2918,3049,2179,3474, 595,2122,7800,3997,7801,7802,4206,1707,2636, 223,3696,1359, # 6598 + 751,3098, 183,3475,7803,2797,3003, 419,2369, 633, 704,3818,2389, 241,7804,7805, # 6614 +7806, 838,3004,3697,2272,2763,2454,3819,1938,2050,3998,1309,3099,2242,1181,7807, # 6630 +1136,2206,3820,2370,1446,4207,2305,4498,7808,7809,4208,1055,2605, 484,3698,7810, # 6646 +3999, 625,4209,2273,3368,1499,4210,4000,7811,4001,4211,3222,2274,2275,3476,7812, # 6662 +7813,2764, 808,2606,3699,3369,4002,4212,3100,2532, 526,3370,3821,4213, 955,7814, # 6678 +1620,4214,2637,2427,7815,1429,3700,1669,1831, 994, 928,7816,3578,1260,7817,7818, # 6694 +7819,1948,2288, 741,2919,1626,4215,2729,2455, 867,1184, 362,3371,1392,7820,7821, # 6710 +4003,4216,1770,1736,3223,2920,4499,4500,1928,2698,1459,1158,7822,3050,3372,2877, # 6726 +1292,1929,2506,2842,3701,1985,1187,2071,2014,2607,4217,7823,2566,2507,2169,3702, # 6742 +2483,3299,7824,3703,4501,7825,7826, 666,1003,3005,1022,3579,4218,7827,4502,1813, # 6758 +2253, 574,3822,1603, 295,1535, 705,3823,4219, 283, 858, 417,7828,7829,3224,4503, # 6774 +4504,3051,1220,1889,1046,2276,2456,4004,1393,1599, 689,2567, 388,4220,7830,2484, # 6790 + 802,7831,2798,3824,2060,1405,2254,7832,4505,3825,2109,1052,1345,3225,1585,7833, # 6806 + 809,7834,7835,7836, 575,2730,3477, 956,1552,1469,1144,2323,7837,2324,1560,2457, # 6822 +3580,3226,4005, 616,2207,3155,2180,2289,7838,1832,7839,3478,4506,7840,1319,3704, # 6838 +3705,1211,3581,1023,3227,1293,2799,7841,7842,7843,3826, 607,2306,3827, 762,2878, # 6854 +1439,4221,1360,7844,1485,3052,7845,4507,1038,4222,1450,2061,2638,4223,1379,4508, # 6870 +2585,7846,7847,4224,1352,1414,2325,2921,1172,7848,7849,3828,3829,7850,1797,1451, # 6886 +7851,7852,7853,7854,2922,4006,4007,2485,2346, 411,4008,4009,3582,3300,3101,4509, # 6902 +1561,2664,1452,4010,1375,7855,7856, 47,2959, 316,7857,1406,1591,2923,3156,7858, # 6918 +1025,2141,3102,3157, 354,2731, 884,2224,4225,2407, 508,3706, 726,3583, 996,2428, # 6934 +3584, 729,7859, 392,2191,1453,4011,4510,3707,7860,7861,2458,3585,2608,1675,2800, # 6950 + 919,2347,2960,2348,1270,4511,4012, 73,7862,7863, 647,7864,3228,2843,2255,1550, # 6966 +1346,3006,7865,1332, 883,3479,7866,7867,7868,7869,3301,2765,7870,1212, 831,1347, # 6982 +4226,4512,2326,3830,1863,3053, 720,3831,4513,4514,3832,7871,4227,7872,7873,4515, # 6998 +7874,7875,1798,4516,3708,2609,4517,3586,1645,2371,7876,7877,2924, 669,2208,2665, # 7014 +2429,7878,2879,7879,7880,1028,3229,7881,4228,2408,7882,2256,1353,7883,7884,4518, # 7030 +3158, 518,7885,4013,7886,4229,1960,7887,2142,4230,7888,7889,3007,2349,2350,3833, # 7046 + 516,1833,1454,4014,2699,4231,4519,2225,2610,1971,1129,3587,7890,2766,7891,2961, # 7062 +1422, 577,1470,3008,1524,3373,7892,7893, 432,4232,3054,3480,7894,2586,1455,2508, # 7078 +2226,1972,1175,7895,1020,2732,4015,3481,4520,7896,2733,7897,1743,1361,3055,3482, # 7094 +2639,4016,4233,4521,2290, 895, 924,4234,2170, 331,2243,3056, 166,1627,3057,1098, # 7110 +7898,1232,2880,2227,3374,4522, 657, 403,1196,2372, 542,3709,3375,1600,4235,3483, # 7126 +7899,4523,2767,3230, 576, 530,1362,7900,4524,2533,2666,3710,4017,7901, 842,3834, # 7142 +7902,2801,2031,1014,4018, 213,2700,3376, 665, 621,4236,7903,3711,2925,2430,7904, # 7158 +2431,3302,3588,3377,7905,4237,2534,4238,4525,3589,1682,4239,3484,1380,7906, 724, # 7174 +2277, 600,1670,7907,1337,1233,4526,3103,2244,7908,1621,4527,7909, 651,4240,7910, # 7190 +1612,4241,2611,7911,2844,7912,2734,2307,3058,7913, 716,2459,3059, 174,1255,2701, # 7206 +4019,3590, 548,1320,1398, 728,4020,1574,7914,1890,1197,3060,4021,7915,3061,3062, # 7222 +3712,3591,3713, 747,7916, 635,4242,4528,7917,7918,7919,4243,7920,7921,4529,7922, # 7238 +3378,4530,2432, 451,7923,3714,2535,2072,4244,2735,4245,4022,7924,1764,4531,7925, # 7254 +4246, 350,7926,2278,2390,2486,7927,4247,4023,2245,1434,4024, 488,4532, 458,4248, # 7270 +4025,3715, 771,1330,2391,3835,2568,3159,2159,2409,1553,2667,3160,4249,7928,2487, # 7286 +2881,2612,1720,2702,4250,3379,4533,7929,2536,4251,7930,3231,4252,2768,7931,2015, # 7302 +2736,7932,1155,1017,3716,3836,7933,3303,2308, 201,1864,4253,1430,7934,4026,7935, # 7318 +7936,7937,7938,7939,4254,1604,7940, 414,1865, 371,2587,4534,4535,3485,2016,3104, # 7334 +4536,1708, 960,4255, 887, 389,2171,1536,1663,1721,7941,2228,4027,2351,2926,1580, # 7350 +7942,7943,7944,1744,7945,2537,4537,4538,7946,4539,7947,2073,7948,7949,3592,3380, # 7366 +2882,4256,7950,4257,2640,3381,2802, 673,2703,2460, 709,3486,4028,3593,4258,7951, # 7382 +1148, 502, 634,7952,7953,1204,4540,3594,1575,4541,2613,3717,7954,3718,3105, 948, # 7398 +3232, 121,1745,3837,1110,7955,4259,3063,2509,3009,4029,3719,1151,1771,3838,1488, # 7414 +4030,1986,7956,2433,3487,7957,7958,2093,7959,4260,3839,1213,1407,2803, 531,2737, # 7430 +2538,3233,1011,1537,7960,2769,4261,3106,1061,7961,3720,3721,1866,2883,7962,2017, # 7446 + 120,4262,4263,2062,3595,3234,2309,3840,2668,3382,1954,4542,7963,7964,3488,1047, # 7462 +2704,1266,7965,1368,4543,2845, 649,3383,3841,2539,2738,1102,2846,2669,7966,7967, # 7478 +1999,7968,1111,3596,2962,7969,2488,3842,3597,2804,1854,3384,3722,7970,7971,3385, # 7494 +2410,2884,3304,3235,3598,7972,2569,7973,3599,2805,4031,1460, 856,7974,3600,7975, # 7510 +2885,2963,7976,2886,3843,7977,4264, 632,2510, 875,3844,1697,3845,2291,7978,7979, # 7526 +4544,3010,1239, 580,4545,4265,7980, 914, 936,2074,1190,4032,1039,2123,7981,7982, # 7542 +7983,3386,1473,7984,1354,4266,3846,7985,2172,3064,4033, 915,3305,4267,4268,3306, # 7558 +1605,1834,7986,2739, 398,3601,4269,3847,4034, 328,1912,2847,4035,3848,1331,4270, # 7574 +3011, 937,4271,7987,3602,4036,4037,3387,2160,4546,3388, 524, 742, 538,3065,1012, # 7590 +7988,7989,3849,2461,7990, 658,1103, 225,3850,7991,7992,4547,7993,4548,7994,3236, # 7606 +1243,7995,4038, 963,2246,4549,7996,2705,3603,3161,7997,7998,2588,2327,7999,4550, # 7622 +8000,8001,8002,3489,3307, 957,3389,2540,2032,1930,2927,2462, 870,2018,3604,1746, # 7638 +2770,2771,2434,2463,8003,3851,8004,3723,3107,3724,3490,3390,3725,8005,1179,3066, # 7654 +8006,3162,2373,4272,3726,2541,3163,3108,2740,4039,8007,3391,1556,2542,2292, 977, # 7670 +2887,2033,4040,1205,3392,8008,1765,3393,3164,2124,1271,1689, 714,4551,3491,8009, # 7686 +2328,3852, 533,4273,3605,2181, 617,8010,2464,3308,3492,2310,8011,8012,3165,8013, # 7702 +8014,3853,1987, 618, 427,2641,3493,3394,8015,8016,1244,1690,8017,2806,4274,4552, # 7718 +8018,3494,8019,8020,2279,1576, 473,3606,4275,3395, 972,8021,3607,8022,3067,8023, # 7734 +8024,4553,4554,8025,3727,4041,4042,8026, 153,4555, 356,8027,1891,2888,4276,2143, # 7750 + 408, 803,2352,8028,3854,8029,4277,1646,2570,2511,4556,4557,3855,8030,3856,4278, # 7766 +8031,2411,3396, 752,8032,8033,1961,2964,8034, 746,3012,2465,8035,4279,3728, 698, # 7782 +4558,1892,4280,3608,2543,4559,3609,3857,8036,3166,3397,8037,1823,1302,4043,2706, # 7798 +3858,1973,4281,8038,4282,3167, 823,1303,1288,1236,2848,3495,4044,3398, 774,3859, # 7814 +8039,1581,4560,1304,2849,3860,4561,8040,2435,2161,1083,3237,4283,4045,4284, 344, # 7830 +1173, 288,2311, 454,1683,8041,8042,1461,4562,4046,2589,8043,8044,4563, 985, 894, # 7846 +8045,3399,3168,8046,1913,2928,3729,1988,8047,2110,1974,8048,4047,8049,2571,1194, # 7862 + 425,8050,4564,3169,1245,3730,4285,8051,8052,2850,8053, 636,4565,1855,3861, 760, # 7878 +1799,8054,4286,2209,1508,4566,4048,1893,1684,2293,8055,8056,8057,4287,4288,2210, # 7894 + 479,8058,8059, 832,8060,4049,2489,8061,2965,2490,3731, 990,3109, 627,1814,2642, # 7910 +4289,1582,4290,2125,2111,3496,4567,8062, 799,4291,3170,8063,4568,2112,1737,3013, # 7926 +1018, 543, 754,4292,3309,1676,4569,4570,4050,8064,1489,8065,3497,8066,2614,2889, # 7942 +4051,8067,8068,2966,8069,8070,8071,8072,3171,4571,4572,2182,1722,8073,3238,3239, # 7958 +1842,3610,1715, 481, 365,1975,1856,8074,8075,1962,2491,4573,8076,2126,3611,3240, # 7974 + 433,1894,2063,2075,8077, 602,2741,8078,8079,8080,8081,8082,3014,1628,3400,8083, # 7990 +3172,4574,4052,2890,4575,2512,8084,2544,2772,8085,8086,8087,3310,4576,2891,8088, # 8006 +4577,8089,2851,4578,4579,1221,2967,4053,2513,8090,8091,8092,1867,1989,8093,8094, # 8022 +8095,1895,8096,8097,4580,1896,4054, 318,8098,2094,4055,4293,8099,8100, 485,8101, # 8038 + 938,3862, 553,2670, 116,8102,3863,3612,8103,3498,2671,2773,3401,3311,2807,8104, # 8054 +3613,2929,4056,1747,2930,2968,8105,8106, 207,8107,8108,2672,4581,2514,8109,3015, # 8070 + 890,3614,3864,8110,1877,3732,3402,8111,2183,2353,3403,1652,8112,8113,8114, 941, # 8086 +2294, 208,3499,4057,2019, 330,4294,3865,2892,2492,3733,4295,8115,8116,8117,8118, # 8102 +) + diff --git a/venv/lib/python3.6/site-packages/chardet/euctwprober.py b/venv/lib/python3.6/site-packages/chardet/euctwprober.py new file mode 100644 index 0000000..35669cc --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/euctwprober.py @@ -0,0 +1,46 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import EUCTWDistributionAnalysis +from .mbcssm import EUCTW_SM_MODEL + +class EUCTWProber(MultiByteCharSetProber): + def __init__(self): + super(EUCTWProber, self).__init__() + self.coding_sm = CodingStateMachine(EUCTW_SM_MODEL) + self.distribution_analyzer = EUCTWDistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "EUC-TW" + + @property + def language(self): + return "Taiwan" diff --git a/venv/lib/python3.6/site-packages/chardet/gb2312freq.py b/venv/lib/python3.6/site-packages/chardet/gb2312freq.py new file mode 100644 index 0000000..697837b --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/gb2312freq.py @@ -0,0 +1,283 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# GB2312 most frequently used character table +# +# Char to FreqOrder table , from hz6763 + +# 512 --> 0.79 -- 0.79 +# 1024 --> 0.92 -- 0.13 +# 2048 --> 0.98 -- 0.06 +# 6768 --> 1.00 -- 0.02 +# +# Ideal Distribution Ratio = 0.79135/(1-0.79135) = 3.79 +# Random Distribution Ration = 512 / (3755 - 512) = 0.157 +# +# Typical Distribution Ratio about 25% of Ideal one, still much higher that RDR + +GB2312_TYPICAL_DISTRIBUTION_RATIO = 0.9 + +GB2312_TABLE_SIZE = 3760 + +GB2312_CHAR_TO_FREQ_ORDER = ( +1671, 749,1443,2364,3924,3807,2330,3921,1704,3463,2691,1511,1515, 572,3191,2205, +2361, 224,2558, 479,1711, 963,3162, 440,4060,1905,2966,2947,3580,2647,3961,3842, +2204, 869,4207, 970,2678,5626,2944,2956,1479,4048, 514,3595, 588,1346,2820,3409, + 249,4088,1746,1873,2047,1774, 581,1813, 358,1174,3590,1014,1561,4844,2245, 670, +1636,3112, 889,1286, 953, 556,2327,3060,1290,3141, 613, 185,3477,1367, 850,3820, +1715,2428,2642,2303,2732,3041,2562,2648,3566,3946,1349, 388,3098,2091,1360,3585, + 152,1687,1539, 738,1559, 59,1232,2925,2267,1388,1249,1741,1679,2960, 151,1566, +1125,1352,4271, 924,4296, 385,3166,4459, 310,1245,2850, 70,3285,2729,3534,3575, +2398,3298,3466,1960,2265, 217,3647, 864,1909,2084,4401,2773,1010,3269,5152, 853, +3051,3121,1244,4251,1895, 364,1499,1540,2313,1180,3655,2268, 562, 715,2417,3061, + 544, 336,3768,2380,1752,4075, 950, 280,2425,4382, 183,2759,3272, 333,4297,2155, +1688,2356,1444,1039,4540, 736,1177,3349,2443,2368,2144,2225, 565, 196,1482,3406, + 927,1335,4147, 692, 878,1311,1653,3911,3622,1378,4200,1840,2969,3149,2126,1816, +2534,1546,2393,2760, 737,2494, 13, 447, 245,2747, 38,2765,2129,2589,1079, 606, + 360, 471,3755,2890, 404, 848, 699,1785,1236, 370,2221,1023,3746,2074,2026,2023, +2388,1581,2119, 812,1141,3091,2536,1519, 804,2053, 406,1596,1090, 784, 548,4414, +1806,2264,2936,1100, 343,4114,5096, 622,3358, 743,3668,1510,1626,5020,3567,2513, +3195,4115,5627,2489,2991, 24,2065,2697,1087,2719, 48,1634, 315, 68, 985,2052, + 198,2239,1347,1107,1439, 597,2366,2172, 871,3307, 919,2487,2790,1867, 236,2570, +1413,3794, 906,3365,3381,1701,1982,1818,1524,2924,1205, 616,2586,2072,2004, 575, + 253,3099, 32,1365,1182, 197,1714,2454,1201, 554,3388,3224,2748, 756,2587, 250, +2567,1507,1517,3529,1922,2761,2337,3416,1961,1677,2452,2238,3153, 615, 911,1506, +1474,2495,1265,1906,2749,3756,3280,2161, 898,2714,1759,3450,2243,2444, 563, 26, +3286,2266,3769,3344,2707,3677, 611,1402, 531,1028,2871,4548,1375, 261,2948, 835, +1190,4134, 353, 840,2684,1900,3082,1435,2109,1207,1674, 329,1872,2781,4055,2686, +2104, 608,3318,2423,2957,2768,1108,3739,3512,3271,3985,2203,1771,3520,1418,2054, +1681,1153, 225,1627,2929, 162,2050,2511,3687,1954, 124,1859,2431,1684,3032,2894, + 585,4805,3969,2869,2704,2088,2032,2095,3656,2635,4362,2209, 256, 518,2042,2105, +3777,3657, 643,2298,1148,1779, 190, 989,3544, 414, 11,2135,2063,2979,1471, 403, +3678, 126, 770,1563, 671,2499,3216,2877, 600,1179, 307,2805,4937,1268,1297,2694, + 252,4032,1448,1494,1331,1394, 127,2256, 222,1647,1035,1481,3056,1915,1048, 873, +3651, 210, 33,1608,2516, 200,1520, 415, 102, 0,3389,1287, 817, 91,3299,2940, + 836,1814, 549,2197,1396,1669,2987,3582,2297,2848,4528,1070, 687, 20,1819, 121, +1552,1364,1461,1968,2617,3540,2824,2083, 177, 948,4938,2291, 110,4549,2066, 648, +3359,1755,2110,2114,4642,4845,1693,3937,3308,1257,1869,2123, 208,1804,3159,2992, +2531,2549,3361,2418,1350,2347,2800,2568,1291,2036,2680, 72, 842,1990, 212,1233, +1154,1586, 75,2027,3410,4900,1823,1337,2710,2676, 728,2810,1522,3026,4995, 157, + 755,1050,4022, 710, 785,1936,2194,2085,1406,2777,2400, 150,1250,4049,1206, 807, +1910, 534, 529,3309,1721,1660, 274, 39,2827, 661,2670,1578, 925,3248,3815,1094, +4278,4901,4252, 41,1150,3747,2572,2227,4501,3658,4902,3813,3357,3617,2884,2258, + 887, 538,4187,3199,1294,2439,3042,2329,2343,2497,1255, 107, 543,1527, 521,3478, +3568, 194,5062, 15, 961,3870,1241,1192,2664, 66,5215,3260,2111,1295,1127,2152, +3805,4135, 901,1164,1976, 398,1278, 530,1460, 748, 904,1054,1966,1426, 53,2909, + 509, 523,2279,1534, 536,1019, 239,1685, 460,2353, 673,1065,2401,3600,4298,2272, +1272,2363, 284,1753,3679,4064,1695, 81, 815,2677,2757,2731,1386, 859, 500,4221, +2190,2566, 757,1006,2519,2068,1166,1455, 337,2654,3203,1863,1682,1914,3025,1252, +1409,1366, 847, 714,2834,2038,3209, 964,2970,1901, 885,2553,1078,1756,3049, 301, +1572,3326, 688,2130,1996,2429,1805,1648,2930,3421,2750,3652,3088, 262,1158,1254, + 389,1641,1812, 526,1719, 923,2073,1073,1902, 468, 489,4625,1140, 857,2375,3070, +3319,2863, 380, 116,1328,2693,1161,2244, 273,1212,1884,2769,3011,1775,1142, 461, +3066,1200,2147,2212, 790, 702,2695,4222,1601,1058, 434,2338,5153,3640, 67,2360, +4099,2502, 618,3472,1329, 416,1132, 830,2782,1807,2653,3211,3510,1662, 192,2124, + 296,3979,1739,1611,3684, 23, 118, 324, 446,1239,1225, 293,2520,3814,3795,2535, +3116, 17,1074, 467,2692,2201, 387,2922, 45,1326,3055,1645,3659,2817, 958, 243, +1903,2320,1339,2825,1784,3289, 356, 576, 865,2315,2381,3377,3916,1088,3122,1713, +1655, 935, 628,4689,1034,1327, 441, 800, 720, 894,1979,2183,1528,5289,2702,1071, +4046,3572,2399,1571,3281, 79, 761,1103, 327, 134, 758,1899,1371,1615, 879, 442, + 215,2605,2579, 173,2048,2485,1057,2975,3317,1097,2253,3801,4263,1403,1650,2946, + 814,4968,3487,1548,2644,1567,1285, 2, 295,2636, 97, 946,3576, 832, 141,4257, +3273, 760,3821,3521,3156,2607, 949,1024,1733,1516,1803,1920,2125,2283,2665,3180, +1501,2064,3560,2171,1592, 803,3518,1416, 732,3897,4258,1363,1362,2458, 119,1427, + 602,1525,2608,1605,1639,3175, 694,3064, 10, 465, 76,2000,4846,4208, 444,3781, +1619,3353,2206,1273,3796, 740,2483, 320,1723,2377,3660,2619,1359,1137,1762,1724, +2345,2842,1850,1862, 912, 821,1866, 612,2625,1735,2573,3369,1093, 844, 89, 937, + 930,1424,3564,2413,2972,1004,3046,3019,2011, 711,3171,1452,4178, 428, 801,1943, + 432, 445,2811, 206,4136,1472, 730, 349, 73, 397,2802,2547, 998,1637,1167, 789, + 396,3217, 154,1218, 716,1120,1780,2819,4826,1931,3334,3762,2139,1215,2627, 552, +3664,3628,3232,1405,2383,3111,1356,2652,3577,3320,3101,1703, 640,1045,1370,1246, +4996, 371,1575,2436,1621,2210, 984,4033,1734,2638, 16,4529, 663,2755,3255,1451, +3917,2257,1253,1955,2234,1263,2951, 214,1229, 617, 485, 359,1831,1969, 473,2310, + 750,2058, 165, 80,2864,2419, 361,4344,2416,2479,1134, 796,3726,1266,2943, 860, +2715, 938, 390,2734,1313,1384, 248, 202, 877,1064,2854, 522,3907, 279,1602, 297, +2357, 395,3740, 137,2075, 944,4089,2584,1267,3802, 62,1533,2285, 178, 176, 780, +2440, 201,3707, 590, 478,1560,4354,2117,1075, 30, 74,4643,4004,1635,1441,2745, + 776,2596, 238,1077,1692,1912,2844, 605, 499,1742,3947, 241,3053, 980,1749, 936, +2640,4511,2582, 515,1543,2162,5322,2892,2993, 890,2148,1924, 665,1827,3581,1032, + 968,3163, 339,1044,1896, 270, 583,1791,1720,4367,1194,3488,3669, 43,2523,1657, + 163,2167, 290,1209,1622,3378, 550, 634,2508,2510, 695,2634,2384,2512,1476,1414, + 220,1469,2341,2138,2852,3183,2900,4939,2865,3502,1211,3680, 854,3227,1299,2976, +3172, 186,2998,1459, 443,1067,3251,1495, 321,1932,3054, 909, 753,1410,1828, 436, +2441,1119,1587,3164,2186,1258, 227, 231,1425,1890,3200,3942, 247, 959, 725,5254, +2741, 577,2158,2079, 929, 120, 174, 838,2813, 591,1115, 417,2024, 40,3240,1536, +1037, 291,4151,2354, 632,1298,2406,2500,3535,1825,1846,3451, 205,1171, 345,4238, + 18,1163, 811, 685,2208,1217, 425,1312,1508,1175,4308,2552,1033, 587,1381,3059, +2984,3482, 340,1316,4023,3972, 792,3176, 519, 777,4690, 918, 933,4130,2981,3741, + 90,3360,2911,2200,5184,4550, 609,3079,2030, 272,3379,2736, 363,3881,1130,1447, + 286, 779, 357,1169,3350,3137,1630,1220,2687,2391, 747,1277,3688,2618,2682,2601, +1156,3196,5290,4034,3102,1689,3596,3128, 874, 219,2783, 798, 508,1843,2461, 269, +1658,1776,1392,1913,2983,3287,2866,2159,2372, 829,4076, 46,4253,2873,1889,1894, + 915,1834,1631,2181,2318, 298, 664,2818,3555,2735, 954,3228,3117, 527,3511,2173, + 681,2712,3033,2247,2346,3467,1652, 155,2164,3382, 113,1994, 450, 899, 494, 994, +1237,2958,1875,2336,1926,3727, 545,1577,1550, 633,3473, 204,1305,3072,2410,1956, +2471, 707,2134, 841,2195,2196,2663,3843,1026,4940, 990,3252,4997, 368,1092, 437, +3212,3258,1933,1829, 675,2977,2893, 412, 943,3723,4644,3294,3283,2230,2373,5154, +2389,2241,2661,2323,1404,2524, 593, 787, 677,3008,1275,2059, 438,2709,2609,2240, +2269,2246,1446, 36,1568,1373,3892,1574,2301,1456,3962, 693,2276,5216,2035,1143, +2720,1919,1797,1811,2763,4137,2597,1830,1699,1488,1198,2090, 424,1694, 312,3634, +3390,4179,3335,2252,1214, 561,1059,3243,2295,2561, 975,5155,2321,2751,3772, 472, +1537,3282,3398,1047,2077,2348,2878,1323,3340,3076, 690,2906, 51, 369, 170,3541, +1060,2187,2688,3670,2541,1083,1683, 928,3918, 459, 109,4427, 599,3744,4286, 143, +2101,2730,2490, 82,1588,3036,2121, 281,1860, 477,4035,1238,2812,3020,2716,3312, +1530,2188,2055,1317, 843, 636,1808,1173,3495, 649, 181,1002, 147,3641,1159,2414, +3750,2289,2795, 813,3123,2610,1136,4368, 5,3391,4541,2174, 420, 429,1728, 754, +1228,2115,2219, 347,2223,2733, 735,1518,3003,2355,3134,1764,3948,3329,1888,2424, +1001,1234,1972,3321,3363,1672,1021,1450,1584, 226, 765, 655,2526,3404,3244,2302, +3665, 731, 594,2184, 319,1576, 621, 658,2656,4299,2099,3864,1279,2071,2598,2739, + 795,3086,3699,3908,1707,2352,2402,1382,3136,2475,1465,4847,3496,3865,1085,3004, +2591,1084, 213,2287,1963,3565,2250, 822, 793,4574,3187,1772,1789,3050, 595,1484, +1959,2770,1080,2650, 456, 422,2996, 940,3322,4328,4345,3092,2742, 965,2784, 739, +4124, 952,1358,2498,2949,2565, 332,2698,2378, 660,2260,2473,4194,3856,2919, 535, +1260,2651,1208,1428,1300,1949,1303,2942, 433,2455,2450,1251,1946, 614,1269, 641, +1306,1810,2737,3078,2912, 564,2365,1419,1415,1497,4460,2367,2185,1379,3005,1307, +3218,2175,1897,3063, 682,1157,4040,4005,1712,1160,1941,1399, 394, 402,2952,1573, +1151,2986,2404, 862, 299,2033,1489,3006, 346, 171,2886,3401,1726,2932, 168,2533, + 47,2507,1030,3735,1145,3370,1395,1318,1579,3609,4560,2857,4116,1457,2529,1965, + 504,1036,2690,2988,2405, 745,5871, 849,2397,2056,3081, 863,2359,3857,2096, 99, +1397,1769,2300,4428,1643,3455,1978,1757,3718,1440, 35,4879,3742,1296,4228,2280, + 160,5063,1599,2013, 166, 520,3479,1646,3345,3012, 490,1937,1545,1264,2182,2505, +1096,1188,1369,1436,2421,1667,2792,2460,1270,2122, 727,3167,2143, 806,1706,1012, +1800,3037, 960,2218,1882, 805, 139,2456,1139,1521, 851,1052,3093,3089, 342,2039, + 744,5097,1468,1502,1585,2087, 223, 939, 326,2140,2577, 892,2481,1623,4077, 982, +3708, 135,2131, 87,2503,3114,2326,1106, 876,1616, 547,2997,2831,2093,3441,4530, +4314, 9,3256,4229,4148, 659,1462,1986,1710,2046,2913,2231,4090,4880,5255,3392, +3274,1368,3689,4645,1477, 705,3384,3635,1068,1529,2941,1458,3782,1509, 100,1656, +2548, 718,2339, 408,1590,2780,3548,1838,4117,3719,1345,3530, 717,3442,2778,3220, +2898,1892,4590,3614,3371,2043,1998,1224,3483, 891, 635, 584,2559,3355, 733,1766, +1729,1172,3789,1891,2307, 781,2982,2271,1957,1580,5773,2633,2005,4195,3097,1535, +3213,1189,1934,5693,3262, 586,3118,1324,1598, 517,1564,2217,1868,1893,4445,3728, +2703,3139,1526,1787,1992,3882,2875,1549,1199,1056,2224,1904,2711,5098,4287, 338, +1993,3129,3489,2689,1809,2815,1997, 957,1855,3898,2550,3275,3057,1105,1319, 627, +1505,1911,1883,3526, 698,3629,3456,1833,1431, 746, 77,1261,2017,2296,1977,1885, + 125,1334,1600, 525,1798,1109,2222,1470,1945, 559,2236,1186,3443,2476,1929,1411, +2411,3135,1777,3372,2621,1841,1613,3229, 668,1430,1839,2643,2916, 195,1989,2671, +2358,1387, 629,3205,2293,5256,4439, 123,1310, 888,1879,4300,3021,3605,1003,1162, +3192,2910,2010, 140,2395,2859, 55,1082,2012,2901, 662, 419,2081,1438, 680,2774, +4654,3912,1620,1731,1625,5035,4065,2328, 512,1344, 802,5443,2163,2311,2537, 524, +3399, 98,1155,2103,1918,2606,3925,2816,1393,2465,1504,3773,2177,3963,1478,4346, + 180,1113,4655,3461,2028,1698, 833,2696,1235,1322,1594,4408,3623,3013,3225,2040, +3022, 541,2881, 607,3632,2029,1665,1219, 639,1385,1686,1099,2803,3231,1938,3188, +2858, 427, 676,2772,1168,2025, 454,3253,2486,3556, 230,1950, 580, 791,1991,1280, +1086,1974,2034, 630, 257,3338,2788,4903,1017, 86,4790, 966,2789,1995,1696,1131, + 259,3095,4188,1308, 179,1463,5257, 289,4107,1248, 42,3413,1725,2288, 896,1947, + 774,4474,4254, 604,3430,4264, 392,2514,2588, 452, 237,1408,3018, 988,4531,1970, +3034,3310, 540,2370,1562,1288,2990, 502,4765,1147, 4,1853,2708, 207, 294,2814, +4078,2902,2509, 684, 34,3105,3532,2551, 644, 709,2801,2344, 573,1727,3573,3557, +2021,1081,3100,4315,2100,3681, 199,2263,1837,2385, 146,3484,1195,2776,3949, 997, +1939,3973,1008,1091,1202,1962,1847,1149,4209,5444,1076, 493, 117,5400,2521, 972, +1490,2934,1796,4542,2374,1512,2933,2657, 413,2888,1135,2762,2314,2156,1355,2369, + 766,2007,2527,2170,3124,2491,2593,2632,4757,2437, 234,3125,3591,1898,1750,1376, +1942,3468,3138, 570,2127,2145,3276,4131, 962, 132,1445,4196, 19, 941,3624,3480, +3366,1973,1374,4461,3431,2629, 283,2415,2275, 808,2887,3620,2112,2563,1353,3610, + 955,1089,3103,1053, 96, 88,4097, 823,3808,1583, 399, 292,4091,3313, 421,1128, + 642,4006, 903,2539,1877,2082, 596, 29,4066,1790, 722,2157, 130, 995,1569, 769, +1485, 464, 513,2213, 288,1923,1101,2453,4316, 133, 486,2445, 50, 625, 487,2207, + 57, 423, 481,2962, 159,3729,1558, 491, 303, 482, 501, 240,2837, 112,3648,2392, +1783, 362, 8,3433,3422, 610,2793,3277,1390,1284,1654, 21,3823, 734, 367, 623, + 193, 287, 374,1009,1483, 816, 476, 313,2255,2340,1262,2150,2899,1146,2581, 782, +2116,1659,2018,1880, 255,3586,3314,1110,2867,2137,2564, 986,2767,5185,2006, 650, + 158, 926, 762, 881,3157,2717,2362,3587, 306,3690,3245,1542,3077,2427,1691,2478, +2118,2985,3490,2438, 539,2305, 983, 129,1754, 355,4201,2386, 827,2923, 104,1773, +2838,2771, 411,2905,3919, 376, 767, 122,1114, 828,2422,1817,3506, 266,3460,1007, +1609,4998, 945,2612,4429,2274, 726,1247,1964,2914,2199,2070,4002,4108, 657,3323, +1422, 579, 455,2764,4737,1222,2895,1670, 824,1223,1487,2525, 558, 861,3080, 598, +2659,2515,1967, 752,2583,2376,2214,4180, 977, 704,2464,4999,2622,4109,1210,2961, + 819,1541, 142,2284, 44, 418, 457,1126,3730,4347,4626,1644,1876,3671,1864, 302, +1063,5694, 624, 723,1984,3745,1314,1676,2488,1610,1449,3558,3569,2166,2098, 409, +1011,2325,3704,2306, 818,1732,1383,1824,1844,3757, 999,2705,3497,1216,1423,2683, +2426,2954,2501,2726,2229,1475,2554,5064,1971,1794,1666,2014,1343, 783, 724, 191, +2434,1354,2220,5065,1763,2752,2472,4152, 131, 175,2885,3434, 92,1466,4920,2616, +3871,3872,3866, 128,1551,1632, 669,1854,3682,4691,4125,1230, 188,2973,3290,1302, +1213, 560,3266, 917, 763,3909,3249,1760, 868,1958, 764,1782,2097, 145,2277,3774, +4462, 64,1491,3062, 971,2132,3606,2442, 221,1226,1617, 218, 323,1185,3207,3147, + 571, 619,1473,1005,1744,2281, 449,1887,2396,3685, 275, 375,3816,1743,3844,3731, + 845,1983,2350,4210,1377, 773, 967,3499,3052,3743,2725,4007,1697,1022,3943,1464, +3264,2855,2722,1952,1029,2839,2467, 84,4383,2215, 820,1391,2015,2448,3672, 377, +1948,2168, 797,2545,3536,2578,2645, 94,2874,1678, 405,1259,3071, 771, 546,1315, + 470,1243,3083, 895,2468, 981, 969,2037, 846,4181, 653,1276,2928, 14,2594, 557, +3007,2474, 156, 902,1338,1740,2574, 537,2518, 973,2282,2216,2433,1928, 138,2903, +1293,2631,1612, 646,3457, 839,2935, 111, 496,2191,2847, 589,3186, 149,3994,2060, +4031,2641,4067,3145,1870, 37,3597,2136,1025,2051,3009,3383,3549,1121,1016,3261, +1301, 251,2446,2599,2153, 872,3246, 637, 334,3705, 831, 884, 921,3065,3140,4092, +2198,1944, 246,2964, 108,2045,1152,1921,2308,1031, 203,3173,4170,1907,3890, 810, +1401,2003,1690, 506, 647,1242,2828,1761,1649,3208,2249,1589,3709,2931,5156,1708, + 498, 666,2613, 834,3817,1231, 184,2851,1124, 883,3197,2261,3710,1765,1553,2658, +1178,2639,2351, 93,1193, 942,2538,2141,4402, 235,1821, 870,1591,2192,1709,1871, +3341,1618,4126,2595,2334, 603, 651, 69, 701, 268,2662,3411,2555,1380,1606, 503, + 448, 254,2371,2646, 574,1187,2309,1770, 322,2235,1292,1801, 305, 566,1133, 229, +2067,2057, 706, 167, 483,2002,2672,3295,1820,3561,3067, 316, 378,2746,3452,1112, + 136,1981, 507,1651,2917,1117, 285,4591, 182,2580,3522,1304, 335,3303,1835,2504, +1795,1792,2248, 674,1018,2106,2449,1857,2292,2845, 976,3047,1781,2600,2727,1389, +1281, 52,3152, 153, 265,3950, 672,3485,3951,4463, 430,1183, 365, 278,2169, 27, +1407,1336,2304, 209,1340,1730,2202,1852,2403,2883, 979,1737,1062, 631,2829,2542, +3876,2592, 825,2086,2226,3048,3625, 352,1417,3724, 542, 991, 431,1351,3938,1861, +2294, 826,1361,2927,3142,3503,1738, 463,2462,2723, 582,1916,1595,2808, 400,3845, +3891,2868,3621,2254, 58,2492,1123, 910,2160,2614,1372,1603,1196,1072,3385,1700, +3267,1980, 696, 480,2430, 920, 799,1570,2920,1951,2041,4047,2540,1321,4223,2469, +3562,2228,1271,2602, 401,2833,3351,2575,5157, 907,2312,1256, 410, 263,3507,1582, + 996, 678,1849,2316,1480, 908,3545,2237, 703,2322, 667,1826,2849,1531,2604,2999, +2407,3146,2151,2630,1786,3711, 469,3542, 497,3899,2409, 858, 837,4446,3393,1274, + 786, 620,1845,2001,3311, 484, 308,3367,1204,1815,3691,2332,1532,2557,1842,2020, +2724,1927,2333,4440, 567, 22,1673,2728,4475,1987,1858,1144,1597, 101,1832,3601, + 12, 974,3783,4391, 951,1412, 1,3720, 453,4608,4041, 528,1041,1027,3230,2628, +1129, 875,1051,3291,1203,2262,1069,2860,2799,2149,2615,3278, 144,1758,3040, 31, + 475,1680, 366,2685,3184, 311,1642,4008,2466,5036,1593,1493,2809, 216,1420,1668, + 233, 304,2128,3284, 232,1429,1768,1040,2008,3407,2740,2967,2543, 242,2133, 778, +1565,2022,2620, 505,2189,2756,1098,2273, 372,1614, 708, 553,2846,2094,2278, 169, +3626,2835,4161, 228,2674,3165, 809,1454,1309, 466,1705,1095, 900,3423, 880,2667, +3751,5258,2317,3109,2571,4317,2766,1503,1342, 866,4447,1118, 63,2076, 314,1881, +1348,1061, 172, 978,3515,1747, 532, 511,3970, 6, 601, 905,2699,3300,1751, 276, +1467,3725,2668, 65,4239,2544,2779,2556,1604, 578,2451,1802, 992,2331,2624,1320, +3446, 713,1513,1013, 103,2786,2447,1661, 886,1702, 916, 654,3574,2031,1556, 751, +2178,2821,2179,1498,1538,2176, 271, 914,2251,2080,1325, 638,1953,2937,3877,2432, +2754, 95,3265,1716, 260,1227,4083, 775, 106,1357,3254, 426,1607, 555,2480, 772, +1985, 244,2546, 474, 495,1046,2611,1851,2061, 71,2089,1675,2590, 742,3758,2843, +3222,1433, 267,2180,2576,2826,2233,2092,3913,2435, 956,1745,3075, 856,2113,1116, + 451, 3,1988,2896,1398, 993,2463,1878,2049,1341,2718,2721,2870,2108, 712,2904, +4363,2753,2324, 277,2872,2349,2649, 384, 987, 435, 691,3000, 922, 164,3939, 652, +1500,1184,4153,2482,3373,2165,4848,2335,3775,3508,3154,2806,2830,1554,2102,1664, +2530,1434,2408, 893,1547,2623,3447,2832,2242,2532,3169,2856,3223,2078, 49,3770, +3469, 462, 318, 656,2259,3250,3069, 679,1629,2758, 344,1138,1104,3120,1836,1283, +3115,2154,1437,4448, 934, 759,1999, 794,2862,1038, 533,2560,1722,2342, 855,2626, +1197,1663,4476,3127, 85,4240,2528, 25,1111,1181,3673, 407,3470,4561,2679,2713, + 768,1925,2841,3986,1544,1165, 932, 373,1240,2146,1930,2673, 721,4766, 354,4333, + 391,2963, 187, 61,3364,1442,1102, 330,1940,1767, 341,3809,4118, 393,2496,2062, +2211, 105, 331, 300, 439, 913,1332, 626, 379,3304,1557, 328, 689,3952, 309,1555, + 931, 317,2517,3027, 325, 569, 686,2107,3084, 60,1042,1333,2794, 264,3177,4014, +1628, 258,3712, 7,4464,1176,1043,1778, 683, 114,1975, 78,1492, 383,1886, 510, + 386, 645,5291,2891,2069,3305,4138,3867,2939,2603,2493,1935,1066,1848,3588,1015, +1282,1289,4609, 697,1453,3044,2666,3611,1856,2412, 54, 719,1330, 568,3778,2459, +1748, 788, 492, 551,1191,1000, 488,3394,3763, 282,1799, 348,2016,1523,3155,2390, +1049, 382,2019,1788,1170, 729,2968,3523, 897,3926,2785,2938,3292, 350,2319,3238, +1718,1717,2655,3453,3143,4465, 161,2889,2980,2009,1421, 56,1908,1640,2387,2232, +1917,1874,2477,4921, 148, 83,3438, 592,4245,2882,1822,1055, 741, 115,1496,1624, + 381,1638,4592,1020, 516,3214, 458, 947,4575,1432, 211,1514,2926,1865,2142, 189, + 852,1221,1400,1486, 882,2299,4036, 351, 28,1122, 700,6479,6480,6481,6482,6483, #last 512 +) + diff --git a/venv/lib/python3.6/site-packages/chardet/gb2312prober.py b/venv/lib/python3.6/site-packages/chardet/gb2312prober.py new file mode 100644 index 0000000..8446d2d --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/gb2312prober.py @@ -0,0 +1,46 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import GB2312DistributionAnalysis +from .mbcssm import GB2312_SM_MODEL + +class GB2312Prober(MultiByteCharSetProber): + def __init__(self): + super(GB2312Prober, self).__init__() + self.coding_sm = CodingStateMachine(GB2312_SM_MODEL) + self.distribution_analyzer = GB2312DistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "GB2312" + + @property + def language(self): + return "Chinese" diff --git a/venv/lib/python3.6/site-packages/chardet/hebrewprober.py b/venv/lib/python3.6/site-packages/chardet/hebrewprober.py new file mode 100644 index 0000000..b0e1bf4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/hebrewprober.py @@ -0,0 +1,292 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Shy Shalom +# Portions created by the Initial Developer are Copyright (C) 2005 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState + +# This prober doesn't actually recognize a language or a charset. +# It is a helper prober for the use of the Hebrew model probers + +### General ideas of the Hebrew charset recognition ### +# +# Four main charsets exist in Hebrew: +# "ISO-8859-8" - Visual Hebrew +# "windows-1255" - Logical Hebrew +# "ISO-8859-8-I" - Logical Hebrew +# "x-mac-hebrew" - ?? Logical Hebrew ?? +# +# Both "ISO" charsets use a completely identical set of code points, whereas +# "windows-1255" and "x-mac-hebrew" are two different proper supersets of +# these code points. windows-1255 defines additional characters in the range +# 0x80-0x9F as some misc punctuation marks as well as some Hebrew-specific +# diacritics and additional 'Yiddish' ligature letters in the range 0xc0-0xd6. +# x-mac-hebrew defines similar additional code points but with a different +# mapping. +# +# As far as an average Hebrew text with no diacritics is concerned, all four +# charsets are identical with respect to code points. Meaning that for the +# main Hebrew alphabet, all four map the same values to all 27 Hebrew letters +# (including final letters). +# +# The dominant difference between these charsets is their directionality. +# "Visual" directionality means that the text is ordered as if the renderer is +# not aware of a BIDI rendering algorithm. The renderer sees the text and +# draws it from left to right. The text itself when ordered naturally is read +# backwards. A buffer of Visual Hebrew generally looks like so: +# "[last word of first line spelled backwards] [whole line ordered backwards +# and spelled backwards] [first word of first line spelled backwards] +# [end of line] [last word of second line] ... etc' " +# adding punctuation marks, numbers and English text to visual text is +# naturally also "visual" and from left to right. +# +# "Logical" directionality means the text is ordered "naturally" according to +# the order it is read. It is the responsibility of the renderer to display +# the text from right to left. A BIDI algorithm is used to place general +# punctuation marks, numbers and English text in the text. +# +# Texts in x-mac-hebrew are almost impossible to find on the Internet. From +# what little evidence I could find, it seems that its general directionality +# is Logical. +# +# To sum up all of the above, the Hebrew probing mechanism knows about two +# charsets: +# Visual Hebrew - "ISO-8859-8" - backwards text - Words and sentences are +# backwards while line order is natural. For charset recognition purposes +# the line order is unimportant (In fact, for this implementation, even +# word order is unimportant). +# Logical Hebrew - "windows-1255" - normal, naturally ordered text. +# +# "ISO-8859-8-I" is a subset of windows-1255 and doesn't need to be +# specifically identified. +# "x-mac-hebrew" is also identified as windows-1255. A text in x-mac-hebrew +# that contain special punctuation marks or diacritics is displayed with +# some unconverted characters showing as question marks. This problem might +# be corrected using another model prober for x-mac-hebrew. Due to the fact +# that x-mac-hebrew texts are so rare, writing another model prober isn't +# worth the effort and performance hit. +# +#### The Prober #### +# +# The prober is divided between two SBCharSetProbers and a HebrewProber, +# all of which are managed, created, fed data, inquired and deleted by the +# SBCSGroupProber. The two SBCharSetProbers identify that the text is in +# fact some kind of Hebrew, Logical or Visual. The final decision about which +# one is it is made by the HebrewProber by combining final-letter scores +# with the scores of the two SBCharSetProbers to produce a final answer. +# +# The SBCSGroupProber is responsible for stripping the original text of HTML +# tags, English characters, numbers, low-ASCII punctuation characters, spaces +# and new lines. It reduces any sequence of such characters to a single space. +# The buffer fed to each prober in the SBCS group prober is pure text in +# high-ASCII. +# The two SBCharSetProbers (model probers) share the same language model: +# Win1255Model. +# The first SBCharSetProber uses the model normally as any other +# SBCharSetProber does, to recognize windows-1255, upon which this model was +# built. The second SBCharSetProber is told to make the pair-of-letter +# lookup in the language model backwards. This in practice exactly simulates +# a visual Hebrew model using the windows-1255 logical Hebrew model. +# +# The HebrewProber is not using any language model. All it does is look for +# final-letter evidence suggesting the text is either logical Hebrew or visual +# Hebrew. Disjointed from the model probers, the results of the HebrewProber +# alone are meaningless. HebrewProber always returns 0.00 as confidence +# since it never identifies a charset by itself. Instead, the pointer to the +# HebrewProber is passed to the model probers as a helper "Name Prober". +# When the Group prober receives a positive identification from any prober, +# it asks for the name of the charset identified. If the prober queried is a +# Hebrew model prober, the model prober forwards the call to the +# HebrewProber to make the final decision. In the HebrewProber, the +# decision is made according to the final-letters scores maintained and Both +# model probers scores. The answer is returned in the form of the name of the +# charset identified, either "windows-1255" or "ISO-8859-8". + +class HebrewProber(CharSetProber): + # windows-1255 / ISO-8859-8 code points of interest + FINAL_KAF = 0xea + NORMAL_KAF = 0xeb + FINAL_MEM = 0xed + NORMAL_MEM = 0xee + FINAL_NUN = 0xef + NORMAL_NUN = 0xf0 + FINAL_PE = 0xf3 + NORMAL_PE = 0xf4 + FINAL_TSADI = 0xf5 + NORMAL_TSADI = 0xf6 + + # Minimum Visual vs Logical final letter score difference. + # If the difference is below this, don't rely solely on the final letter score + # distance. + MIN_FINAL_CHAR_DISTANCE = 5 + + # Minimum Visual vs Logical model score difference. + # If the difference is below this, don't rely at all on the model score + # distance. + MIN_MODEL_DISTANCE = 0.01 + + VISUAL_HEBREW_NAME = "ISO-8859-8" + LOGICAL_HEBREW_NAME = "windows-1255" + + def __init__(self): + super(HebrewProber, self).__init__() + self._final_char_logical_score = None + self._final_char_visual_score = None + self._prev = None + self._before_prev = None + self._logical_prober = None + self._visual_prober = None + self.reset() + + def reset(self): + self._final_char_logical_score = 0 + self._final_char_visual_score = 0 + # The two last characters seen in the previous buffer, + # mPrev and mBeforePrev are initialized to space in order to simulate + # a word delimiter at the beginning of the data + self._prev = ' ' + self._before_prev = ' ' + # These probers are owned by the group prober. + + def set_model_probers(self, logicalProber, visualProber): + self._logical_prober = logicalProber + self._visual_prober = visualProber + + def is_final(self, c): + return c in [self.FINAL_KAF, self.FINAL_MEM, self.FINAL_NUN, + self.FINAL_PE, self.FINAL_TSADI] + + def is_non_final(self, c): + # The normal Tsadi is not a good Non-Final letter due to words like + # 'lechotet' (to chat) containing an apostrophe after the tsadi. This + # apostrophe is converted to a space in FilterWithoutEnglishLetters + # causing the Non-Final tsadi to appear at an end of a word even + # though this is not the case in the original text. + # The letters Pe and Kaf rarely display a related behavior of not being + # a good Non-Final letter. Words like 'Pop', 'Winamp' and 'Mubarak' + # for example legally end with a Non-Final Pe or Kaf. However, the + # benefit of these letters as Non-Final letters outweighs the damage + # since these words are quite rare. + return c in [self.NORMAL_KAF, self.NORMAL_MEM, + self.NORMAL_NUN, self.NORMAL_PE] + + def feed(self, byte_str): + # Final letter analysis for logical-visual decision. + # Look for evidence that the received buffer is either logical Hebrew + # or visual Hebrew. + # The following cases are checked: + # 1) A word longer than 1 letter, ending with a final letter. This is + # an indication that the text is laid out "naturally" since the + # final letter really appears at the end. +1 for logical score. + # 2) A word longer than 1 letter, ending with a Non-Final letter. In + # normal Hebrew, words ending with Kaf, Mem, Nun, Pe or Tsadi, + # should not end with the Non-Final form of that letter. Exceptions + # to this rule are mentioned above in isNonFinal(). This is an + # indication that the text is laid out backwards. +1 for visual + # score + # 3) A word longer than 1 letter, starting with a final letter. Final + # letters should not appear at the beginning of a word. This is an + # indication that the text is laid out backwards. +1 for visual + # score. + # + # The visual score and logical score are accumulated throughout the + # text and are finally checked against each other in GetCharSetName(). + # No checking for final letters in the middle of words is done since + # that case is not an indication for either Logical or Visual text. + # + # We automatically filter out all 7-bit characters (replace them with + # spaces) so the word boundary detection works properly. [MAP] + + if self.state == ProbingState.NOT_ME: + # Both model probers say it's not them. No reason to continue. + return ProbingState.NOT_ME + + byte_str = self.filter_high_byte_only(byte_str) + + for cur in byte_str: + if cur == ' ': + # We stand on a space - a word just ended + if self._before_prev != ' ': + # next-to-last char was not a space so self._prev is not a + # 1 letter word + if self.is_final(self._prev): + # case (1) [-2:not space][-1:final letter][cur:space] + self._final_char_logical_score += 1 + elif self.is_non_final(self._prev): + # case (2) [-2:not space][-1:Non-Final letter][ + # cur:space] + self._final_char_visual_score += 1 + else: + # Not standing on a space + if ((self._before_prev == ' ') and + (self.is_final(self._prev)) and (cur != ' ')): + # case (3) [-2:space][-1:final letter][cur:not space] + self._final_char_visual_score += 1 + self._before_prev = self._prev + self._prev = cur + + # Forever detecting, till the end or until both model probers return + # ProbingState.NOT_ME (handled above) + return ProbingState.DETECTING + + @property + def charset_name(self): + # Make the decision: is it Logical or Visual? + # If the final letter score distance is dominant enough, rely on it. + finalsub = self._final_char_logical_score - self._final_char_visual_score + if finalsub >= self.MIN_FINAL_CHAR_DISTANCE: + return self.LOGICAL_HEBREW_NAME + if finalsub <= -self.MIN_FINAL_CHAR_DISTANCE: + return self.VISUAL_HEBREW_NAME + + # It's not dominant enough, try to rely on the model scores instead. + modelsub = (self._logical_prober.get_confidence() + - self._visual_prober.get_confidence()) + if modelsub > self.MIN_MODEL_DISTANCE: + return self.LOGICAL_HEBREW_NAME + if modelsub < -self.MIN_MODEL_DISTANCE: + return self.VISUAL_HEBREW_NAME + + # Still no good, back to final letter distance, maybe it'll save the + # day. + if finalsub < 0.0: + return self.VISUAL_HEBREW_NAME + + # (finalsub > 0 - Logical) or (don't know what to do) default to + # Logical. + return self.LOGICAL_HEBREW_NAME + + @property + def language(self): + return 'Hebrew' + + @property + def state(self): + # Remain active as long as any of the model probers are active. + if (self._logical_prober.state == ProbingState.NOT_ME) and \ + (self._visual_prober.state == ProbingState.NOT_ME): + return ProbingState.NOT_ME + return ProbingState.DETECTING diff --git a/venv/lib/python3.6/site-packages/chardet/jisfreq.py b/venv/lib/python3.6/site-packages/chardet/jisfreq.py new file mode 100644 index 0000000..83fc082 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/jisfreq.py @@ -0,0 +1,325 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# Sampling from about 20M text materials include literature and computer technology +# +# Japanese frequency table, applied to both S-JIS and EUC-JP +# They are sorted in order. + +# 128 --> 0.77094 +# 256 --> 0.85710 +# 512 --> 0.92635 +# 1024 --> 0.97130 +# 2048 --> 0.99431 +# +# Ideal Distribution Ratio = 0.92635 / (1-0.92635) = 12.58 +# Random Distribution Ration = 512 / (2965+62+83+86-512) = 0.191 +# +# Typical Distribution Ratio, 25% of IDR + +JIS_TYPICAL_DISTRIBUTION_RATIO = 3.0 + +# Char to FreqOrder table , +JIS_TABLE_SIZE = 4368 + +JIS_CHAR_TO_FREQ_ORDER = ( + 40, 1, 6, 182, 152, 180, 295,2127, 285, 381,3295,4304,3068,4606,3165,3510, # 16 +3511,1822,2785,4607,1193,2226,5070,4608, 171,2996,1247, 18, 179,5071, 856,1661, # 32 +1262,5072, 619, 127,3431,3512,3230,1899,1700, 232, 228,1294,1298, 284, 283,2041, # 48 +2042,1061,1062, 48, 49, 44, 45, 433, 434,1040,1041, 996, 787,2997,1255,4305, # 64 +2108,4609,1684,1648,5073,5074,5075,5076,5077,5078,3687,5079,4610,5080,3927,3928, # 80 +5081,3296,3432, 290,2285,1471,2187,5082,2580,2825,1303,2140,1739,1445,2691,3375, # 96 +1691,3297,4306,4307,4611, 452,3376,1182,2713,3688,3069,4308,5083,5084,5085,5086, # 112 +5087,5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102, # 128 +5103,5104,5105,5106,5107,5108,5109,5110,5111,5112,4097,5113,5114,5115,5116,5117, # 144 +5118,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,5130,5131,5132,5133, # 160 +5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148,5149, # 176 +5150,5151,5152,4612,5153,5154,5155,5156,5157,5158,5159,5160,5161,5162,5163,5164, # 192 +5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,1472, 598, 618, 820,1205, # 208 +1309,1412,1858,1307,1692,5176,5177,5178,5179,5180,5181,5182,1142,1452,1234,1172, # 224 +1875,2043,2149,1793,1382,2973, 925,2404,1067,1241, 960,1377,2935,1491, 919,1217, # 240 +1865,2030,1406,1499,2749,4098,5183,5184,5185,5186,5187,5188,2561,4099,3117,1804, # 256 +2049,3689,4309,3513,1663,5189,3166,3118,3298,1587,1561,3433,5190,3119,1625,2998, # 272 +3299,4613,1766,3690,2786,4614,5191,5192,5193,5194,2161, 26,3377, 2,3929, 20, # 288 +3691, 47,4100, 50, 17, 16, 35, 268, 27, 243, 42, 155, 24, 154, 29, 184, # 304 + 4, 91, 14, 92, 53, 396, 33, 289, 9, 37, 64, 620, 21, 39, 321, 5, # 320 + 12, 11, 52, 13, 3, 208, 138, 0, 7, 60, 526, 141, 151,1069, 181, 275, # 336 +1591, 83, 132,1475, 126, 331, 829, 15, 69, 160, 59, 22, 157, 55,1079, 312, # 352 + 109, 38, 23, 25, 10, 19, 79,5195, 61, 382,1124, 8, 30,5196,5197,5198, # 368 +5199,5200,5201,5202,5203,5204,5205,5206, 89, 62, 74, 34,2416, 112, 139, 196, # 384 + 271, 149, 84, 607, 131, 765, 46, 88, 153, 683, 76, 874, 101, 258, 57, 80, # 400 + 32, 364, 121,1508, 169,1547, 68, 235, 145,2999, 41, 360,3027, 70, 63, 31, # 416 + 43, 259, 262,1383, 99, 533, 194, 66, 93, 846, 217, 192, 56, 106, 58, 565, # 432 + 280, 272, 311, 256, 146, 82, 308, 71, 100, 128, 214, 655, 110, 261, 104,1140, # 448 + 54, 51, 36, 87, 67,3070, 185,2618,2936,2020, 28,1066,2390,2059,5207,5208, # 464 +5209,5210,5211,5212,5213,5214,5215,5216,4615,5217,5218,5219,5220,5221,5222,5223, # 480 +5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234,5235,5236,3514,5237,5238, # 496 +5239,5240,5241,5242,5243,5244,2297,2031,4616,4310,3692,5245,3071,5246,3598,5247, # 512 +4617,3231,3515,5248,4101,4311,4618,3808,4312,4102,5249,4103,4104,3599,5250,5251, # 528 +5252,5253,5254,5255,5256,5257,5258,5259,5260,5261,5262,5263,5264,5265,5266,5267, # 544 +5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278,5279,5280,5281,5282,5283, # 560 +5284,5285,5286,5287,5288,5289,5290,5291,5292,5293,5294,5295,5296,5297,5298,5299, # 576 +5300,5301,5302,5303,5304,5305,5306,5307,5308,5309,5310,5311,5312,5313,5314,5315, # 592 +5316,5317,5318,5319,5320,5321,5322,5323,5324,5325,5326,5327,5328,5329,5330,5331, # 608 +5332,5333,5334,5335,5336,5337,5338,5339,5340,5341,5342,5343,5344,5345,5346,5347, # 624 +5348,5349,5350,5351,5352,5353,5354,5355,5356,5357,5358,5359,5360,5361,5362,5363, # 640 +5364,5365,5366,5367,5368,5369,5370,5371,5372,5373,5374,5375,5376,5377,5378,5379, # 656 +5380,5381, 363, 642,2787,2878,2788,2789,2316,3232,2317,3434,2011, 165,1942,3930, # 672 +3931,3932,3933,5382,4619,5383,4620,5384,5385,5386,5387,5388,5389,5390,5391,5392, # 688 +5393,5394,5395,5396,5397,5398,5399,5400,5401,5402,5403,5404,5405,5406,5407,5408, # 704 +5409,5410,5411,5412,5413,5414,5415,5416,5417,5418,5419,5420,5421,5422,5423,5424, # 720 +5425,5426,5427,5428,5429,5430,5431,5432,5433,5434,5435,5436,5437,5438,5439,5440, # 736 +5441,5442,5443,5444,5445,5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456, # 752 +5457,5458,5459,5460,5461,5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472, # 768 +5473,5474,5475,5476,5477,5478,5479,5480,5481,5482,5483,5484,5485,5486,5487,5488, # 784 +5489,5490,5491,5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504, # 800 +5505,5506,5507,5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520, # 816 +5521,5522,5523,5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536, # 832 +5537,5538,5539,5540,5541,5542,5543,5544,5545,5546,5547,5548,5549,5550,5551,5552, # 848 +5553,5554,5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568, # 864 +5569,5570,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584, # 880 +5585,5586,5587,5588,5589,5590,5591,5592,5593,5594,5595,5596,5597,5598,5599,5600, # 896 +5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,5615,5616, # 912 +5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631,5632, # 928 +5633,5634,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646,5647,5648, # 944 +5649,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660,5661,5662,5663,5664, # 960 +5665,5666,5667,5668,5669,5670,5671,5672,5673,5674,5675,5676,5677,5678,5679,5680, # 976 +5681,5682,5683,5684,5685,5686,5687,5688,5689,5690,5691,5692,5693,5694,5695,5696, # 992 +5697,5698,5699,5700,5701,5702,5703,5704,5705,5706,5707,5708,5709,5710,5711,5712, # 1008 +5713,5714,5715,5716,5717,5718,5719,5720,5721,5722,5723,5724,5725,5726,5727,5728, # 1024 +5729,5730,5731,5732,5733,5734,5735,5736,5737,5738,5739,5740,5741,5742,5743,5744, # 1040 +5745,5746,5747,5748,5749,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5760, # 1056 +5761,5762,5763,5764,5765,5766,5767,5768,5769,5770,5771,5772,5773,5774,5775,5776, # 1072 +5777,5778,5779,5780,5781,5782,5783,5784,5785,5786,5787,5788,5789,5790,5791,5792, # 1088 +5793,5794,5795,5796,5797,5798,5799,5800,5801,5802,5803,5804,5805,5806,5807,5808, # 1104 +5809,5810,5811,5812,5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824, # 1120 +5825,5826,5827,5828,5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840, # 1136 +5841,5842,5843,5844,5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856, # 1152 +5857,5858,5859,5860,5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872, # 1168 +5873,5874,5875,5876,5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888, # 1184 +5889,5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904, # 1200 +5905,5906,5907,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920, # 1216 +5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936, # 1232 +5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952, # 1248 +5953,5954,5955,5956,5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968, # 1264 +5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984, # 1280 +5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000, # 1296 +6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016, # 1312 +6017,6018,6019,6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032, # 1328 +6033,6034,6035,6036,6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048, # 1344 +6049,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064, # 1360 +6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080, # 1376 +6081,6082,6083,6084,6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096, # 1392 +6097,6098,6099,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112, # 1408 +6113,6114,2044,2060,4621, 997,1235, 473,1186,4622, 920,3378,6115,6116, 379,1108, # 1424 +4313,2657,2735,3934,6117,3809, 636,3233, 573,1026,3693,3435,2974,3300,2298,4105, # 1440 + 854,2937,2463, 393,2581,2417, 539, 752,1280,2750,2480, 140,1161, 440, 708,1569, # 1456 + 665,2497,1746,1291,1523,3000, 164,1603, 847,1331, 537,1997, 486, 508,1693,2418, # 1472 +1970,2227, 878,1220, 299,1030, 969, 652,2751, 624,1137,3301,2619, 65,3302,2045, # 1488 +1761,1859,3120,1930,3694,3516, 663,1767, 852, 835,3695, 269, 767,2826,2339,1305, # 1504 + 896,1150, 770,1616,6118, 506,1502,2075,1012,2519, 775,2520,2975,2340,2938,4314, # 1520 +3028,2086,1224,1943,2286,6119,3072,4315,2240,1273,1987,3935,1557, 175, 597, 985, # 1536 +3517,2419,2521,1416,3029, 585, 938,1931,1007,1052,1932,1685,6120,3379,4316,4623, # 1552 + 804, 599,3121,1333,2128,2539,1159,1554,2032,3810, 687,2033,2904, 952, 675,1467, # 1568 +3436,6121,2241,1096,1786,2440,1543,1924, 980,1813,2228, 781,2692,1879, 728,1918, # 1584 +3696,4624, 548,1950,4625,1809,1088,1356,3303,2522,1944, 502, 972, 373, 513,2827, # 1600 + 586,2377,2391,1003,1976,1631,6122,2464,1084, 648,1776,4626,2141, 324, 962,2012, # 1616 +2177,2076,1384, 742,2178,1448,1173,1810, 222, 102, 301, 445, 125,2420, 662,2498, # 1632 + 277, 200,1476,1165,1068, 224,2562,1378,1446, 450,1880, 659, 791, 582,4627,2939, # 1648 +3936,1516,1274, 555,2099,3697,1020,1389,1526,3380,1762,1723,1787,2229, 412,2114, # 1664 +1900,2392,3518, 512,2597, 427,1925,2341,3122,1653,1686,2465,2499, 697, 330, 273, # 1680 + 380,2162, 951, 832, 780, 991,1301,3073, 965,2270,3519, 668,2523,2636,1286, 535, # 1696 +1407, 518, 671, 957,2658,2378, 267, 611,2197,3030,6123, 248,2299, 967,1799,2356, # 1712 + 850,1418,3437,1876,1256,1480,2828,1718,6124,6125,1755,1664,2405,6126,4628,2879, # 1728 +2829, 499,2179, 676,4629, 557,2329,2214,2090, 325,3234, 464, 811,3001, 992,2342, # 1744 +2481,1232,1469, 303,2242, 466,1070,2163, 603,1777,2091,4630,2752,4631,2714, 322, # 1760 +2659,1964,1768, 481,2188,1463,2330,2857,3600,2092,3031,2421,4632,2318,2070,1849, # 1776 +2598,4633,1302,2254,1668,1701,2422,3811,2905,3032,3123,2046,4106,1763,1694,4634, # 1792 +1604, 943,1724,1454, 917, 868,2215,1169,2940, 552,1145,1800,1228,1823,1955, 316, # 1808 +1080,2510, 361,1807,2830,4107,2660,3381,1346,1423,1134,4108,6127, 541,1263,1229, # 1824 +1148,2540, 545, 465,1833,2880,3438,1901,3074,2482, 816,3937, 713,1788,2500, 122, # 1840 +1575, 195,1451,2501,1111,6128, 859, 374,1225,2243,2483,4317, 390,1033,3439,3075, # 1856 +2524,1687, 266, 793,1440,2599, 946, 779, 802, 507, 897,1081, 528,2189,1292, 711, # 1872 +1866,1725,1167,1640, 753, 398,2661,1053, 246, 348,4318, 137,1024,3440,1600,2077, # 1888 +2129, 825,4319, 698, 238, 521, 187,2300,1157,2423,1641,1605,1464,1610,1097,2541, # 1904 +1260,1436, 759,2255,1814,2150, 705,3235, 409,2563,3304, 561,3033,2005,2564, 726, # 1920 +1956,2343,3698,4109, 949,3812,3813,3520,1669, 653,1379,2525, 881,2198, 632,2256, # 1936 +1027, 778,1074, 733,1957, 514,1481,2466, 554,2180, 702,3938,1606,1017,1398,6129, # 1952 +1380,3521, 921, 993,1313, 594, 449,1489,1617,1166, 768,1426,1360, 495,1794,3601, # 1968 +1177,3602,1170,4320,2344, 476, 425,3167,4635,3168,1424, 401,2662,1171,3382,1998, # 1984 +1089,4110, 477,3169, 474,6130,1909, 596,2831,1842, 494, 693,1051,1028,1207,3076, # 2000 + 606,2115, 727,2790,1473,1115, 743,3522, 630, 805,1532,4321,2021, 366,1057, 838, # 2016 + 684,1114,2142,4322,2050,1492,1892,1808,2271,3814,2424,1971,1447,1373,3305,1090, # 2032 +1536,3939,3523,3306,1455,2199, 336, 369,2331,1035, 584,2393, 902, 718,2600,6131, # 2048 +2753, 463,2151,1149,1611,2467, 715,1308,3124,1268, 343,1413,3236,1517,1347,2663, # 2064 +2093,3940,2022,1131,1553,2100,2941,1427,3441,2942,1323,2484,6132,1980, 872,2368, # 2080 +2441,2943, 320,2369,2116,1082, 679,1933,3941,2791,3815, 625,1143,2023, 422,2200, # 2096 +3816,6133, 730,1695, 356,2257,1626,2301,2858,2637,1627,1778, 937, 883,2906,2693, # 2112 +3002,1769,1086, 400,1063,1325,3307,2792,4111,3077, 456,2345,1046, 747,6134,1524, # 2128 + 884,1094,3383,1474,2164,1059, 974,1688,2181,2258,1047, 345,1665,1187, 358, 875, # 2144 +3170, 305, 660,3524,2190,1334,1135,3171,1540,1649,2542,1527, 927, 968,2793, 885, # 2160 +1972,1850, 482, 500,2638,1218,1109,1085,2543,1654,2034, 876, 78,2287,1482,1277, # 2176 + 861,1675,1083,1779, 724,2754, 454, 397,1132,1612,2332, 893, 672,1237, 257,2259, # 2192 +2370, 135,3384, 337,2244, 547, 352, 340, 709,2485,1400, 788,1138,2511, 540, 772, # 2208 +1682,2260,2272,2544,2013,1843,1902,4636,1999,1562,2288,4637,2201,1403,1533, 407, # 2224 + 576,3308,1254,2071, 978,3385, 170, 136,1201,3125,2664,3172,2394, 213, 912, 873, # 2240 +3603,1713,2202, 699,3604,3699, 813,3442, 493, 531,1054, 468,2907,1483, 304, 281, # 2256 +4112,1726,1252,2094, 339,2319,2130,2639, 756,1563,2944, 748, 571,2976,1588,2425, # 2272 +2715,1851,1460,2426,1528,1392,1973,3237, 288,3309, 685,3386, 296, 892,2716,2216, # 2288 +1570,2245, 722,1747,2217, 905,3238,1103,6135,1893,1441,1965, 251,1805,2371,3700, # 2304 +2601,1919,1078, 75,2182,1509,1592,1270,2640,4638,2152,6136,3310,3817, 524, 706, # 2320 +1075, 292,3818,1756,2602, 317, 98,3173,3605,3525,1844,2218,3819,2502, 814, 567, # 2336 + 385,2908,1534,6137, 534,1642,3239, 797,6138,1670,1529, 953,4323, 188,1071, 538, # 2352 + 178, 729,3240,2109,1226,1374,2000,2357,2977, 731,2468,1116,2014,2051,6139,1261, # 2368 +1593, 803,2859,2736,3443, 556, 682, 823,1541,6140,1369,2289,1706,2794, 845, 462, # 2384 +2603,2665,1361, 387, 162,2358,1740, 739,1770,1720,1304,1401,3241,1049, 627,1571, # 2400 +2427,3526,1877,3942,1852,1500, 431,1910,1503, 677, 297,2795, 286,1433,1038,1198, # 2416 +2290,1133,1596,4113,4639,2469,1510,1484,3943,6141,2442, 108, 712,4640,2372, 866, # 2432 +3701,2755,3242,1348, 834,1945,1408,3527,2395,3243,1811, 824, 994,1179,2110,1548, # 2448 +1453, 790,3003, 690,4324,4325,2832,2909,3820,1860,3821, 225,1748, 310, 346,1780, # 2464 +2470, 821,1993,2717,2796, 828, 877,3528,2860,2471,1702,2165,2910,2486,1789, 453, # 2480 + 359,2291,1676, 73,1164,1461,1127,3311, 421, 604, 314,1037, 589, 116,2487, 737, # 2496 + 837,1180, 111, 244, 735,6142,2261,1861,1362, 986, 523, 418, 581,2666,3822, 103, # 2512 + 855, 503,1414,1867,2488,1091, 657,1597, 979, 605,1316,4641,1021,2443,2078,2001, # 2528 +1209, 96, 587,2166,1032, 260,1072,2153, 173, 94, 226,3244, 819,2006,4642,4114, # 2544 +2203, 231,1744, 782, 97,2667, 786,3387, 887, 391, 442,2219,4326,1425,6143,2694, # 2560 + 633,1544,1202, 483,2015, 592,2052,1958,2472,1655, 419, 129,4327,3444,3312,1714, # 2576 +1257,3078,4328,1518,1098, 865,1310,1019,1885,1512,1734, 469,2444, 148, 773, 436, # 2592 +1815,1868,1128,1055,4329,1245,2756,3445,2154,1934,1039,4643, 579,1238, 932,2320, # 2608 + 353, 205, 801, 115,2428, 944,2321,1881, 399,2565,1211, 678, 766,3944, 335,2101, # 2624 +1459,1781,1402,3945,2737,2131,1010, 844, 981,1326,1013, 550,1816,1545,2620,1335, # 2640 +1008, 371,2881, 936,1419,1613,3529,1456,1395,2273,1834,2604,1317,2738,2503, 416, # 2656 +1643,4330, 806,1126, 229, 591,3946,1314,1981,1576,1837,1666, 347,1790, 977,3313, # 2672 + 764,2861,1853, 688,2429,1920,1462, 77, 595, 415,2002,3034, 798,1192,4115,6144, # 2688 +2978,4331,3035,2695,2582,2072,2566, 430,2430,1727, 842,1396,3947,3702, 613, 377, # 2704 + 278, 236,1417,3388,3314,3174, 757,1869, 107,3530,6145,1194, 623,2262, 207,1253, # 2720 +2167,3446,3948, 492,1117,1935, 536,1838,2757,1246,4332, 696,2095,2406,1393,1572, # 2736 +3175,1782, 583, 190, 253,1390,2230, 830,3126,3389, 934,3245,1703,1749,2979,1870, # 2752 +2545,1656,2204, 869,2346,4116,3176,1817, 496,1764,4644, 942,1504, 404,1903,1122, # 2768 +1580,3606,2945,1022, 515, 372,1735, 955,2431,3036,6146,2797,1110,2302,2798, 617, # 2784 +6147, 441, 762,1771,3447,3607,3608,1904, 840,3037, 86, 939,1385, 572,1370,2445, # 2800 +1336, 114,3703, 898, 294, 203,3315, 703,1583,2274, 429, 961,4333,1854,1951,3390, # 2816 +2373,3704,4334,1318,1381, 966,1911,2322,1006,1155, 309, 989, 458,2718,1795,1372, # 2832 +1203, 252,1689,1363,3177, 517,1936, 168,1490, 562, 193,3823,1042,4117,1835, 551, # 2848 + 470,4645, 395, 489,3448,1871,1465,2583,2641, 417,1493, 279,1295, 511,1236,1119, # 2864 + 72,1231,1982,1812,3004, 871,1564, 984,3449,1667,2696,2096,4646,2347,2833,1673, # 2880 +3609, 695,3246,2668, 807,1183,4647, 890, 388,2333,1801,1457,2911,1765,1477,1031, # 2896 +3316,3317,1278,3391,2799,2292,2526, 163,3450,4335,2669,1404,1802,6148,2323,2407, # 2912 +1584,1728,1494,1824,1269, 298, 909,3318,1034,1632, 375, 776,1683,2061, 291, 210, # 2928 +1123, 809,1249,1002,2642,3038, 206,1011,2132, 144, 975, 882,1565, 342, 667, 754, # 2944 +1442,2143,1299,2303,2062, 447, 626,2205,1221,2739,2912,1144,1214,2206,2584, 760, # 2960 +1715, 614, 950,1281,2670,2621, 810, 577,1287,2546,4648, 242,2168, 250,2643, 691, # 2976 + 123,2644, 647, 313,1029, 689,1357,2946,1650, 216, 771,1339,1306, 808,2063, 549, # 2992 + 913,1371,2913,2914,6149,1466,1092,1174,1196,1311,2605,2396,1783,1796,3079, 406, # 3008 +2671,2117,3949,4649, 487,1825,2220,6150,2915, 448,2348,1073,6151,2397,1707, 130, # 3024 + 900,1598, 329, 176,1959,2527,1620,6152,2275,4336,3319,1983,2191,3705,3610,2155, # 3040 +3706,1912,1513,1614,6153,1988, 646, 392,2304,1589,3320,3039,1826,1239,1352,1340, # 3056 +2916, 505,2567,1709,1437,2408,2547, 906,6154,2672, 384,1458,1594,1100,1329, 710, # 3072 + 423,3531,2064,2231,2622,1989,2673,1087,1882, 333, 841,3005,1296,2882,2379, 580, # 3088 +1937,1827,1293,2585, 601, 574, 249,1772,4118,2079,1120, 645, 901,1176,1690, 795, # 3104 +2207, 478,1434, 516,1190,1530, 761,2080, 930,1264, 355, 435,1552, 644,1791, 987, # 3120 + 220,1364,1163,1121,1538, 306,2169,1327,1222, 546,2645, 218, 241, 610,1704,3321, # 3136 +1984,1839,1966,2528, 451,6155,2586,3707,2568, 907,3178, 254,2947, 186,1845,4650, # 3152 + 745, 432,1757, 428,1633, 888,2246,2221,2489,3611,2118,1258,1265, 956,3127,1784, # 3168 +4337,2490, 319, 510, 119, 457,3612, 274,2035,2007,4651,1409,3128, 970,2758, 590, # 3184 +2800, 661,2247,4652,2008,3950,1420,1549,3080,3322,3951,1651,1375,2111, 485,2491, # 3200 +1429,1156,6156,2548,2183,1495, 831,1840,2529,2446, 501,1657, 307,1894,3247,1341, # 3216 + 666, 899,2156,1539,2549,1559, 886, 349,2208,3081,2305,1736,3824,2170,2759,1014, # 3232 +1913,1386, 542,1397,2948, 490, 368, 716, 362, 159, 282,2569,1129,1658,1288,1750, # 3248 +2674, 276, 649,2016, 751,1496, 658,1818,1284,1862,2209,2087,2512,3451, 622,2834, # 3264 + 376, 117,1060,2053,1208,1721,1101,1443, 247,1250,3179,1792,3952,2760,2398,3953, # 3280 +6157,2144,3708, 446,2432,1151,2570,3452,2447,2761,2835,1210,2448,3082, 424,2222, # 3296 +1251,2449,2119,2836, 504,1581,4338, 602, 817, 857,3825,2349,2306, 357,3826,1470, # 3312 +1883,2883, 255, 958, 929,2917,3248, 302,4653,1050,1271,1751,2307,1952,1430,2697, # 3328 +2719,2359, 354,3180, 777, 158,2036,4339,1659,4340,4654,2308,2949,2248,1146,2232, # 3344 +3532,2720,1696,2623,3827,6158,3129,1550,2698,1485,1297,1428, 637, 931,2721,2145, # 3360 + 914,2550,2587, 81,2450, 612, 827,2646,1242,4655,1118,2884, 472,1855,3181,3533, # 3376 +3534, 569,1353,2699,1244,1758,2588,4119,2009,2762,2171,3709,1312,1531,6159,1152, # 3392 +1938, 134,1830, 471,3710,2276,1112,1535,3323,3453,3535, 982,1337,2950, 488, 826, # 3408 + 674,1058,1628,4120,2017, 522,2399, 211, 568,1367,3454, 350, 293,1872,1139,3249, # 3424 +1399,1946,3006,1300,2360,3324, 588, 736,6160,2606, 744, 669,3536,3828,6161,1358, # 3440 + 199, 723, 848, 933, 851,1939,1505,1514,1338,1618,1831,4656,1634,3613, 443,2740, # 3456 +3829, 717,1947, 491,1914,6162,2551,1542,4121,1025,6163,1099,1223, 198,3040,2722, # 3472 + 370, 410,1905,2589, 998,1248,3182,2380, 519,1449,4122,1710, 947, 928,1153,4341, # 3488 +2277, 344,2624,1511, 615, 105, 161,1212,1076,1960,3130,2054,1926,1175,1906,2473, # 3504 + 414,1873,2801,6164,2309, 315,1319,3325, 318,2018,2146,2157, 963, 631, 223,4342, # 3520 +4343,2675, 479,3711,1197,2625,3712,2676,2361,6165,4344,4123,6166,2451,3183,1886, # 3536 +2184,1674,1330,1711,1635,1506, 799, 219,3250,3083,3954,1677,3713,3326,2081,3614, # 3552 +1652,2073,4657,1147,3041,1752, 643,1961, 147,1974,3955,6167,1716,2037, 918,3007, # 3568 +1994, 120,1537, 118, 609,3184,4345, 740,3455,1219, 332,1615,3830,6168,1621,2980, # 3584 +1582, 783, 212, 553,2350,3714,1349,2433,2082,4124, 889,6169,2310,1275,1410, 973, # 3600 + 166,1320,3456,1797,1215,3185,2885,1846,2590,2763,4658, 629, 822,3008, 763, 940, # 3616 +1990,2862, 439,2409,1566,1240,1622, 926,1282,1907,2764, 654,2210,1607, 327,1130, # 3632 +3956,1678,1623,6170,2434,2192, 686, 608,3831,3715, 903,3957,3042,6171,2741,1522, # 3648 +1915,1105,1555,2552,1359, 323,3251,4346,3457, 738,1354,2553,2311,2334,1828,2003, # 3664 +3832,1753,2351,1227,6172,1887,4125,1478,6173,2410,1874,1712,1847, 520,1204,2607, # 3680 + 264,4659, 836,2677,2102, 600,4660,3833,2278,3084,6174,4347,3615,1342, 640, 532, # 3696 + 543,2608,1888,2400,2591,1009,4348,1497, 341,1737,3616,2723,1394, 529,3252,1321, # 3712 + 983,4661,1515,2120, 971,2592, 924, 287,1662,3186,4349,2700,4350,1519, 908,1948, # 3728 +2452, 156, 796,1629,1486,2223,2055, 694,4126,1259,1036,3392,1213,2249,2742,1889, # 3744 +1230,3958,1015, 910, 408, 559,3617,4662, 746, 725, 935,4663,3959,3009,1289, 563, # 3760 + 867,4664,3960,1567,2981,2038,2626, 988,2263,2381,4351, 143,2374, 704,1895,6175, # 3776 +1188,3716,2088, 673,3085,2362,4352, 484,1608,1921,2765,2918, 215, 904,3618,3537, # 3792 + 894, 509, 976,3043,2701,3961,4353,2837,2982, 498,6176,6177,1102,3538,1332,3393, # 3808 +1487,1636,1637, 233, 245,3962, 383, 650, 995,3044, 460,1520,1206,2352, 749,3327, # 3824 + 530, 700, 389,1438,1560,1773,3963,2264, 719,2951,2724,3834, 870,1832,1644,1000, # 3840 + 839,2474,3717, 197,1630,3394, 365,2886,3964,1285,2133, 734, 922, 818,1106, 732, # 3856 + 480,2083,1774,3458, 923,2279,1350, 221,3086, 85,2233,2234,3835,1585,3010,2147, # 3872 +1387,1705,2382,1619,2475, 133, 239,2802,1991,1016,2084,2383, 411,2838,1113, 651, # 3888 +1985,1160,3328, 990,1863,3087,1048,1276,2647, 265,2627,1599,3253,2056, 150, 638, # 3904 +2019, 656, 853, 326,1479, 680,1439,4354,1001,1759, 413,3459,3395,2492,1431, 459, # 3920 +4355,1125,3329,2265,1953,1450,2065,2863, 849, 351,2678,3131,3254,3255,1104,1577, # 3936 + 227,1351,1645,2453,2193,1421,2887, 812,2121, 634, 95,2435, 201,2312,4665,1646, # 3952 +1671,2743,1601,2554,2702,2648,2280,1315,1366,2089,3132,1573,3718,3965,1729,1189, # 3968 + 328,2679,1077,1940,1136, 558,1283, 964,1195, 621,2074,1199,1743,3460,3619,1896, # 3984 +1916,1890,3836,2952,1154,2112,1064, 862, 378,3011,2066,2113,2803,1568,2839,6178, # 4000 +3088,2919,1941,1660,2004,1992,2194, 142, 707,1590,1708,1624,1922,1023,1836,1233, # 4016 +1004,2313, 789, 741,3620,6179,1609,2411,1200,4127,3719,3720,4666,2057,3721, 593, # 4032 +2840, 367,2920,1878,6180,3461,1521, 628,1168, 692,2211,2649, 300, 720,2067,2571, # 4048 +2953,3396, 959,2504,3966,3539,3462,1977, 701,6181, 954,1043, 800, 681, 183,3722, # 4064 +1803,1730,3540,4128,2103, 815,2314, 174, 467, 230,2454,1093,2134, 755,3541,3397, # 4080 +1141,1162,6182,1738,2039, 270,3256,2513,1005,1647,2185,3837, 858,1679,1897,1719, # 4096 +2954,2324,1806, 402, 670, 167,4129,1498,2158,2104, 750,6183, 915, 189,1680,1551, # 4112 + 455,4356,1501,2455, 405,1095,2955, 338,1586,1266,1819, 570, 641,1324, 237,1556, # 4128 +2650,1388,3723,6184,1368,2384,1343,1978,3089,2436, 879,3724, 792,1191, 758,3012, # 4144 +1411,2135,1322,4357, 240,4667,1848,3725,1574,6185, 420,3045,1546,1391, 714,4358, # 4160 +1967, 941,1864, 863, 664, 426, 560,1731,2680,1785,2864,1949,2363, 403,3330,1415, # 4176 +1279,2136,1697,2335, 204, 721,2097,3838, 90,6186,2085,2505, 191,3967, 124,2148, # 4192 +1376,1798,1178,1107,1898,1405, 860,4359,1243,1272,2375,2983,1558,2456,1638, 113, # 4208 +3621, 578,1923,2609, 880, 386,4130, 784,2186,2266,1422,2956,2172,1722, 497, 263, # 4224 +2514,1267,2412,2610, 177,2703,3542, 774,1927,1344, 616,1432,1595,1018, 172,4360, # 4240 +2325, 911,4361, 438,1468,3622, 794,3968,2024,2173,1681,1829,2957, 945, 895,3090, # 4256 + 575,2212,2476, 475,2401,2681, 785,2744,1745,2293,2555,1975,3133,2865, 394,4668, # 4272 +3839, 635,4131, 639, 202,1507,2195,2766,1345,1435,2572,3726,1908,1184,1181,2457, # 4288 +3727,3134,4362, 843,2611, 437, 916,4669, 234, 769,1884,3046,3047,3623, 833,6187, # 4304 +1639,2250,2402,1355,1185,2010,2047, 999, 525,1732,1290,1488,2612, 948,1578,3728, # 4320 +2413,2477,1216,2725,2159, 334,3840,1328,3624,2921,1525,4132, 564,1056, 891,4363, # 4336 +1444,1698,2385,2251,3729,1365,2281,2235,1717,6188, 864,3841,2515, 444, 527,2767, # 4352 +2922,3625, 544, 461,6189, 566, 209,2437,3398,2098,1065,2068,3331,3626,3257,2137, # 4368 #last 512 +) + + diff --git a/venv/lib/python3.6/site-packages/chardet/jpcntx.py b/venv/lib/python3.6/site-packages/chardet/jpcntx.py new file mode 100644 index 0000000..20044e4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/jpcntx.py @@ -0,0 +1,233 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + + +# This is hiragana 2-char sequence table, the number in each cell represents its frequency category +jp2CharContext = ( +(0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1), +(2,4,0,4,0,3,0,4,0,3,4,4,4,2,4,3,3,4,3,2,3,3,4,2,3,3,3,2,4,1,4,3,3,1,5,4,3,4,3,4,3,5,3,0,3,5,4,2,0,3,1,0,3,3,0,3,3,0,1,1,0,4,3,0,3,3,0,4,0,2,0,3,5,5,5,5,4,0,4,1,0,3,4), +(0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2), +(0,4,0,5,0,5,0,4,0,4,5,4,4,3,5,3,5,1,5,3,4,3,4,4,3,4,3,3,4,3,5,4,4,3,5,5,3,5,5,5,3,5,5,3,4,5,5,3,1,3,2,0,3,4,0,4,2,0,4,2,1,5,3,2,3,5,0,4,0,2,0,5,4,4,5,4,5,0,4,0,0,4,4), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,3,0,4,0,3,0,3,0,4,5,4,3,3,3,3,4,3,5,4,4,3,5,4,4,3,4,3,4,4,4,4,5,3,4,4,3,4,5,5,4,5,5,1,4,5,4,3,0,3,3,1,3,3,0,4,4,0,3,3,1,5,3,3,3,5,0,4,0,3,0,4,4,3,4,3,3,0,4,1,1,3,4), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,4,0,3,0,3,0,4,0,3,4,4,3,2,2,1,2,1,3,1,3,3,3,3,3,4,3,1,3,3,5,3,3,0,4,3,0,5,4,3,3,5,4,4,3,4,4,5,0,1,2,0,1,2,0,2,2,0,1,0,0,5,2,2,1,4,0,3,0,1,0,4,4,3,5,4,3,0,2,1,0,4,3), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,3,0,5,0,4,0,2,1,4,4,2,4,1,4,2,4,2,4,3,3,3,4,3,3,3,3,1,4,2,3,3,3,1,4,4,1,1,1,4,3,3,2,0,2,4,3,2,0,3,3,0,3,1,1,0,0,0,3,3,0,4,2,2,3,4,0,4,0,3,0,4,4,5,3,4,4,0,3,0,0,1,4), +(1,4,0,4,0,4,0,4,0,3,5,4,4,3,4,3,5,4,3,3,4,3,5,4,4,4,4,3,4,2,4,3,3,1,5,4,3,2,4,5,4,5,5,4,4,5,4,4,0,3,2,2,3,3,0,4,3,1,3,2,1,4,3,3,4,5,0,3,0,2,0,4,5,5,4,5,4,0,4,0,0,5,4), +(0,5,0,5,0,4,0,3,0,4,4,3,4,3,3,3,4,0,4,4,4,3,4,3,4,3,3,1,4,2,4,3,4,0,5,4,1,4,5,4,4,5,3,2,4,3,4,3,2,4,1,3,3,3,2,3,2,0,4,3,3,4,3,3,3,4,0,4,0,3,0,4,5,4,4,4,3,0,4,1,0,1,3), +(0,3,1,4,0,3,0,2,0,3,4,4,3,1,4,2,3,3,4,3,4,3,4,3,4,4,3,2,3,1,5,4,4,1,4,4,3,5,4,4,3,5,5,4,3,4,4,3,1,2,3,1,2,2,0,3,2,0,3,1,0,5,3,3,3,4,3,3,3,3,4,4,4,4,5,4,2,0,3,3,2,4,3), +(0,2,0,3,0,1,0,1,0,0,3,2,0,0,2,0,1,0,2,1,3,3,3,1,2,3,1,0,1,0,4,2,1,1,3,3,0,4,3,3,1,4,3,3,0,3,3,2,0,0,0,0,1,0,0,2,0,0,0,0,0,4,1,0,2,3,2,2,2,1,3,3,3,4,4,3,2,0,3,1,0,3,3), +(0,4,0,4,0,3,0,3,0,4,4,4,3,3,3,3,3,3,4,3,4,2,4,3,4,3,3,2,4,3,4,5,4,1,4,5,3,5,4,5,3,5,4,0,3,5,5,3,1,3,3,2,2,3,0,3,4,1,3,3,2,4,3,3,3,4,0,4,0,3,0,4,5,4,4,5,3,0,4,1,0,3,4), +(0,2,0,3,0,3,0,0,0,2,2,2,1,0,1,0,0,0,3,0,3,0,3,0,1,3,1,0,3,1,3,3,3,1,3,3,3,0,1,3,1,3,4,0,0,3,1,1,0,3,2,0,0,0,0,1,3,0,1,0,0,3,3,2,0,3,0,0,0,0,0,3,4,3,4,3,3,0,3,0,0,2,3), +(2,3,0,3,0,2,0,1,0,3,3,4,3,1,3,1,1,1,3,1,4,3,4,3,3,3,0,0,3,1,5,4,3,1,4,3,2,5,5,4,4,4,4,3,3,4,4,4,0,2,1,1,3,2,0,1,2,0,0,1,0,4,1,3,3,3,0,3,0,1,0,4,4,4,5,5,3,0,2,0,0,4,4), +(0,2,0,1,0,3,1,3,0,2,3,3,3,0,3,1,0,0,3,0,3,2,3,1,3,2,1,1,0,0,4,2,1,0,2,3,1,4,3,2,0,4,4,3,1,3,1,3,0,1,0,0,1,0,0,0,1,0,0,0,0,4,1,1,1,2,0,3,0,0,0,3,4,2,4,3,2,0,1,0,0,3,3), +(0,1,0,4,0,5,0,4,0,2,4,4,2,3,3,2,3,3,5,3,3,3,4,3,4,2,3,0,4,3,3,3,4,1,4,3,2,1,5,5,3,4,5,1,3,5,4,2,0,3,3,0,1,3,0,4,2,0,1,3,1,4,3,3,3,3,0,3,0,1,0,3,4,4,4,5,5,0,3,0,1,4,5), +(0,2,0,3,0,3,0,0,0,2,3,1,3,0,4,0,1,1,3,0,3,4,3,2,3,1,0,3,3,2,3,1,3,0,2,3,0,2,1,4,1,2,2,0,0,3,3,0,0,2,0,0,0,1,0,0,0,0,2,2,0,3,2,1,3,3,0,2,0,2,0,0,3,3,1,2,4,0,3,0,2,2,3), +(2,4,0,5,0,4,0,4,0,2,4,4,4,3,4,3,3,3,1,2,4,3,4,3,4,4,5,0,3,3,3,3,2,0,4,3,1,4,3,4,1,4,4,3,3,4,4,3,1,2,3,0,4,2,0,4,1,0,3,3,0,4,3,3,3,4,0,4,0,2,0,3,5,3,4,5,2,0,3,0,0,4,5), +(0,3,0,4,0,1,0,1,0,1,3,2,2,1,3,0,3,0,2,0,2,0,3,0,2,0,0,0,1,0,1,1,0,0,3,1,0,0,0,4,0,3,1,0,2,1,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,4,2,2,3,1,0,3,0,0,0,1,4,4,4,3,0,0,4,0,0,1,4), +(1,4,1,5,0,3,0,3,0,4,5,4,4,3,5,3,3,4,4,3,4,1,3,3,3,3,2,1,4,1,5,4,3,1,4,4,3,5,4,4,3,5,4,3,3,4,4,4,0,3,3,1,2,3,0,3,1,0,3,3,0,5,4,4,4,4,4,4,3,3,5,4,4,3,3,5,4,0,3,2,0,4,4), +(0,2,0,3,0,1,0,0,0,1,3,3,3,2,4,1,3,0,3,1,3,0,2,2,1,1,0,0,2,0,4,3,1,0,4,3,0,4,4,4,1,4,3,1,1,3,3,1,0,2,0,0,1,3,0,0,0,0,2,0,0,4,3,2,4,3,5,4,3,3,3,4,3,3,4,3,3,0,2,1,0,3,3), +(0,2,0,4,0,3,0,2,0,2,5,5,3,4,4,4,4,1,4,3,3,0,4,3,4,3,1,3,3,2,4,3,0,3,4,3,0,3,4,4,2,4,4,0,4,5,3,3,2,2,1,1,1,2,0,1,5,0,3,3,2,4,3,3,3,4,0,3,0,2,0,4,4,3,5,5,0,0,3,0,2,3,3), +(0,3,0,4,0,3,0,1,0,3,4,3,3,1,3,3,3,0,3,1,3,0,4,3,3,1,1,0,3,0,3,3,0,0,4,4,0,1,5,4,3,3,5,0,3,3,4,3,0,2,0,1,1,1,0,1,3,0,1,2,1,3,3,2,3,3,0,3,0,1,0,1,3,3,4,4,1,0,1,2,2,1,3), +(0,1,0,4,0,4,0,3,0,1,3,3,3,2,3,1,1,0,3,0,3,3,4,3,2,4,2,0,1,0,4,3,2,0,4,3,0,5,3,3,2,4,4,4,3,3,3,4,0,1,3,0,0,1,0,0,1,0,0,0,0,4,2,3,3,3,0,3,0,0,0,4,4,4,5,3,2,0,3,3,0,3,5), +(0,2,0,3,0,0,0,3,0,1,3,0,2,0,0,0,1,0,3,1,1,3,3,0,0,3,0,0,3,0,2,3,1,0,3,1,0,3,3,2,0,4,2,2,0,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,1,2,0,1,0,1,0,0,0,1,3,1,2,0,0,0,1,0,0,1,4), +(0,3,0,3,0,5,0,1,0,2,4,3,1,3,3,2,1,1,5,2,1,0,5,1,2,0,0,0,3,3,2,2,3,2,4,3,0,0,3,3,1,3,3,0,2,5,3,4,0,3,3,0,1,2,0,2,2,0,3,2,0,2,2,3,3,3,0,2,0,1,0,3,4,4,2,5,4,0,3,0,0,3,5), +(0,3,0,3,0,3,0,1,0,3,3,3,3,0,3,0,2,0,2,1,1,0,2,0,1,0,0,0,2,1,0,0,1,0,3,2,0,0,3,3,1,2,3,1,0,3,3,0,0,1,0,0,0,0,0,2,0,0,0,0,0,2,3,1,2,3,0,3,0,1,0,3,2,1,0,4,3,0,1,1,0,3,3), +(0,4,0,5,0,3,0,3,0,4,5,5,4,3,5,3,4,3,5,3,3,2,5,3,4,4,4,3,4,3,4,5,5,3,4,4,3,4,4,5,4,4,4,3,4,5,5,4,2,3,4,2,3,4,0,3,3,1,4,3,2,4,3,3,5,5,0,3,0,3,0,5,5,5,5,4,4,0,4,0,1,4,4), +(0,4,0,4,0,3,0,3,0,3,5,4,4,2,3,2,5,1,3,2,5,1,4,2,3,2,3,3,4,3,3,3,3,2,5,4,1,3,3,5,3,4,4,0,4,4,3,1,1,3,1,0,2,3,0,2,3,0,3,0,0,4,3,1,3,4,0,3,0,2,0,4,4,4,3,4,5,0,4,0,0,3,4), +(0,3,0,3,0,3,1,2,0,3,4,4,3,3,3,0,2,2,4,3,3,1,3,3,3,1,1,0,3,1,4,3,2,3,4,4,2,4,4,4,3,4,4,3,2,4,4,3,1,3,3,1,3,3,0,4,1,0,2,2,1,4,3,2,3,3,5,4,3,3,5,4,4,3,3,0,4,0,3,2,2,4,4), +(0,2,0,1,0,0,0,0,0,1,2,1,3,0,0,0,0,0,2,0,1,2,1,0,0,1,0,0,0,0,3,0,0,1,0,1,1,3,1,0,0,0,1,1,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,1,2,2,0,3,4,0,0,0,1,1,0,0,1,0,0,0,0,0,1,1), +(0,1,0,0,0,1,0,0,0,0,4,0,4,1,4,0,3,0,4,0,3,0,4,0,3,0,3,0,4,1,5,1,4,0,0,3,0,5,0,5,2,0,1,0,0,0,2,1,4,0,1,3,0,0,3,0,0,3,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0), +(1,4,0,5,0,3,0,2,0,3,5,4,4,3,4,3,5,3,4,3,3,0,4,3,3,3,3,3,3,2,4,4,3,1,3,4,4,5,4,4,3,4,4,1,3,5,4,3,3,3,1,2,2,3,3,1,3,1,3,3,3,5,3,3,4,5,0,3,0,3,0,3,4,3,4,4,3,0,3,0,2,4,3), +(0,1,0,4,0,0,0,0,0,1,4,0,4,1,4,2,4,0,3,0,1,0,1,0,0,0,0,0,2,0,3,1,1,1,0,3,0,0,0,1,2,1,0,0,1,1,1,1,0,1,0,0,0,1,0,0,3,0,0,0,0,3,2,0,2,2,0,1,0,0,0,2,3,2,3,3,0,0,0,0,2,1,0), +(0,5,1,5,0,3,0,3,0,5,4,4,5,1,5,3,3,0,4,3,4,3,5,3,4,3,3,2,4,3,4,3,3,0,3,3,1,4,4,3,4,4,4,3,4,5,5,3,2,3,1,1,3,3,1,3,1,1,3,3,2,4,5,3,3,5,0,4,0,3,0,4,4,3,5,3,3,0,3,4,0,4,3), +(0,5,0,5,0,3,0,2,0,4,4,3,5,2,4,3,3,3,4,4,4,3,5,3,5,3,3,1,4,0,4,3,3,0,3,3,0,4,4,4,4,5,4,3,3,5,5,3,2,3,1,2,3,2,0,1,0,0,3,2,2,4,4,3,1,5,0,4,0,3,0,4,3,1,3,2,1,0,3,3,0,3,3), +(0,4,0,5,0,5,0,4,0,4,5,5,5,3,4,3,3,2,5,4,4,3,5,3,5,3,4,0,4,3,4,4,3,2,4,4,3,4,5,4,4,5,5,0,3,5,5,4,1,3,3,2,3,3,1,3,1,0,4,3,1,4,4,3,4,5,0,4,0,2,0,4,3,4,4,3,3,0,4,0,0,5,5), +(0,4,0,4,0,5,0,1,1,3,3,4,4,3,4,1,3,0,5,1,3,0,3,1,3,1,1,0,3,0,3,3,4,0,4,3,0,4,4,4,3,4,4,0,3,5,4,1,0,3,0,0,2,3,0,3,1,0,3,1,0,3,2,1,3,5,0,3,0,1,0,3,2,3,3,4,4,0,2,2,0,4,4), +(2,4,0,5,0,4,0,3,0,4,5,5,4,3,5,3,5,3,5,3,5,2,5,3,4,3,3,4,3,4,5,3,2,1,5,4,3,2,3,4,5,3,4,1,2,5,4,3,0,3,3,0,3,2,0,2,3,0,4,1,0,3,4,3,3,5,0,3,0,1,0,4,5,5,5,4,3,0,4,2,0,3,5), +(0,5,0,4,0,4,0,2,0,5,4,3,4,3,4,3,3,3,4,3,4,2,5,3,5,3,4,1,4,3,4,4,4,0,3,5,0,4,4,4,4,5,3,1,3,4,5,3,3,3,3,3,3,3,0,2,2,0,3,3,2,4,3,3,3,5,3,4,1,3,3,5,3,2,0,0,0,0,4,3,1,3,3), +(0,1,0,3,0,3,0,1,0,1,3,3,3,2,3,3,3,0,3,0,0,0,3,1,3,0,0,0,2,2,2,3,0,0,3,2,0,1,2,4,1,3,3,0,0,3,3,3,0,1,0,0,2,1,0,0,3,0,3,1,0,3,0,0,1,3,0,2,0,1,0,3,3,1,3,3,0,0,1,1,0,3,3), +(0,2,0,3,0,2,1,4,0,2,2,3,1,1,3,1,1,0,2,0,3,1,2,3,1,3,0,0,1,0,4,3,2,3,3,3,1,4,2,3,3,3,3,1,0,3,1,4,0,1,1,0,1,2,0,1,1,0,1,1,0,3,1,3,2,2,0,1,0,0,0,2,3,3,3,1,0,0,0,0,0,2,3), +(0,5,0,4,0,5,0,2,0,4,5,5,3,3,4,3,3,1,5,4,4,2,4,4,4,3,4,2,4,3,5,5,4,3,3,4,3,3,5,5,4,5,5,1,3,4,5,3,1,4,3,1,3,3,0,3,3,1,4,3,1,4,5,3,3,5,0,4,0,3,0,5,3,3,1,4,3,0,4,0,1,5,3), +(0,5,0,5,0,4,0,2,0,4,4,3,4,3,3,3,3,3,5,4,4,4,4,4,4,5,3,3,5,2,4,4,4,3,4,4,3,3,4,4,5,5,3,3,4,3,4,3,3,4,3,3,3,3,1,2,2,1,4,3,3,5,4,4,3,4,0,4,0,3,0,4,4,4,4,4,1,0,4,2,0,2,4), +(0,4,0,4,0,3,0,1,0,3,5,2,3,0,3,0,2,1,4,2,3,3,4,1,4,3,3,2,4,1,3,3,3,0,3,3,0,0,3,3,3,5,3,3,3,3,3,2,0,2,0,0,2,0,0,2,0,0,1,0,0,3,1,2,2,3,0,3,0,2,0,4,4,3,3,4,1,0,3,0,0,2,4), +(0,0,0,4,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,1,0,2,0,1,0,0,0,0,0,3,1,3,0,3,2,0,0,0,1,0,3,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,0,2,0,0,0,0,0,0,2), +(0,2,1,3,0,2,0,2,0,3,3,3,3,1,3,1,3,3,3,3,3,3,4,2,2,1,2,1,4,0,4,3,1,3,3,3,2,4,3,5,4,3,3,3,3,3,3,3,0,1,3,0,2,0,0,1,0,0,1,0,0,4,2,0,2,3,0,3,3,0,3,3,4,2,3,1,4,0,1,2,0,2,3), +(0,3,0,3,0,1,0,3,0,2,3,3,3,0,3,1,2,0,3,3,2,3,3,2,3,2,3,1,3,0,4,3,2,0,3,3,1,4,3,3,2,3,4,3,1,3,3,1,1,0,1,1,0,1,0,1,0,1,0,0,0,4,1,1,0,3,0,3,1,0,2,3,3,3,3,3,1,0,0,2,0,3,3), +(0,0,0,0,0,0,0,0,0,0,3,0,2,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,3,0,3,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,2,3,0,0,0,0,0,0,0,0,3), +(0,2,0,3,1,3,0,3,0,2,3,3,3,1,3,1,3,1,3,1,3,3,3,1,3,0,2,3,1,1,4,3,3,2,3,3,1,2,2,4,1,3,3,0,1,4,2,3,0,1,3,0,3,0,0,1,3,0,2,0,0,3,3,2,1,3,0,3,0,2,0,3,4,4,4,3,1,0,3,0,0,3,3), +(0,2,0,1,0,2,0,0,0,1,3,2,2,1,3,0,1,1,3,0,3,2,3,1,2,0,2,0,1,1,3,3,3,0,3,3,1,1,2,3,2,3,3,1,2,3,2,0,0,1,0,0,0,0,0,0,3,0,1,0,0,2,1,2,1,3,0,3,0,0,0,3,4,4,4,3,2,0,2,0,0,2,4), +(0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,3,1,0,0,0,0,0,0,0,3), +(0,3,0,3,0,2,0,3,0,3,3,3,2,3,2,2,2,0,3,1,3,3,3,2,3,3,0,0,3,0,3,2,2,0,2,3,1,4,3,4,3,3,2,3,1,5,4,4,0,3,1,2,1,3,0,3,1,1,2,0,2,3,1,3,1,3,0,3,0,1,0,3,3,4,4,2,1,0,2,1,0,2,4), +(0,1,0,3,0,1,0,2,0,1,4,2,5,1,4,0,2,0,2,1,3,1,4,0,2,1,0,0,2,1,4,1,1,0,3,3,0,5,1,3,2,3,3,1,0,3,2,3,0,1,0,0,0,0,0,0,1,0,0,0,0,4,0,1,0,3,0,2,0,1,0,3,3,3,4,3,3,0,0,0,0,2,3), +(0,0,0,1,0,0,0,0,0,0,2,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,1,0,0,0,0,0,3), +(0,1,0,3,0,4,0,3,0,2,4,3,1,0,3,2,2,1,3,1,2,2,3,1,1,1,2,1,3,0,1,2,0,1,3,2,1,3,0,5,5,1,0,0,1,3,2,1,0,3,0,0,1,0,0,0,0,0,3,4,0,1,1,1,3,2,0,2,0,1,0,2,3,3,1,2,3,0,1,0,1,0,4), +(0,0,0,1,0,3,0,3,0,2,2,1,0,0,4,0,3,0,3,1,3,0,3,0,3,0,1,0,3,0,3,1,3,0,3,3,0,0,1,2,1,1,1,0,1,2,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,2,2,1,2,0,0,2,0,0,0,0,2,3,3,3,3,0,0,0,0,1,4), +(0,0,0,3,0,3,0,0,0,0,3,1,1,0,3,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,3,0,2,0,2,3,0,0,2,2,3,1,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,2,3), +(2,4,0,5,0,5,0,4,0,3,4,3,3,3,4,3,3,3,4,3,4,4,5,4,5,5,5,2,3,0,5,5,4,1,5,4,3,1,5,4,3,4,4,3,3,4,3,3,0,3,2,0,2,3,0,3,0,0,3,3,0,5,3,2,3,3,0,3,0,3,0,3,4,5,4,5,3,0,4,3,0,3,4), +(0,3,0,3,0,3,0,3,0,3,3,4,3,2,3,2,3,0,4,3,3,3,3,3,3,3,3,0,3,2,4,3,3,1,3,4,3,4,4,4,3,4,4,3,2,4,4,1,0,2,0,0,1,1,0,2,0,0,3,1,0,5,3,2,1,3,0,3,0,1,2,4,3,2,4,3,3,0,3,2,0,4,4), +(0,3,0,3,0,1,0,0,0,1,4,3,3,2,3,1,3,1,4,2,3,2,4,2,3,4,3,0,2,2,3,3,3,0,3,3,3,0,3,4,1,3,3,0,3,4,3,3,0,1,1,0,1,0,0,0,4,0,3,0,0,3,1,2,1,3,0,4,0,1,0,4,3,3,4,3,3,0,2,0,0,3,3), +(0,3,0,4,0,1,0,3,0,3,4,3,3,0,3,3,3,1,3,1,3,3,4,3,3,3,0,0,3,1,5,3,3,1,3,3,2,5,4,3,3,4,5,3,2,5,3,4,0,1,0,0,0,0,0,2,0,0,1,1,0,4,2,2,1,3,0,3,0,2,0,4,4,3,5,3,2,0,1,1,0,3,4), +(0,5,0,4,0,5,0,2,0,4,4,3,3,2,3,3,3,1,4,3,4,1,5,3,4,3,4,0,4,2,4,3,4,1,5,4,0,4,4,4,4,5,4,1,3,5,4,2,1,4,1,1,3,2,0,3,1,0,3,2,1,4,3,3,3,4,0,4,0,3,0,4,4,4,3,3,3,0,4,2,0,3,4), +(1,4,0,4,0,3,0,1,0,3,3,3,1,1,3,3,2,2,3,3,1,0,3,2,2,1,2,0,3,1,2,1,2,0,3,2,0,2,2,3,3,4,3,0,3,3,1,2,0,1,1,3,1,2,0,0,3,0,1,1,0,3,2,2,3,3,0,3,0,0,0,2,3,3,4,3,3,0,1,0,0,1,4), +(0,4,0,4,0,4,0,0,0,3,4,4,3,1,4,2,3,2,3,3,3,1,4,3,4,0,3,0,4,2,3,3,2,2,5,4,2,1,3,4,3,4,3,1,3,3,4,2,0,2,1,0,3,3,0,0,2,0,3,1,0,4,4,3,4,3,0,4,0,1,0,2,4,4,4,4,4,0,3,2,0,3,3), +(0,0,0,1,0,4,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,3,2,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2), +(0,2,0,3,0,4,0,4,0,1,3,3,3,0,4,0,2,1,2,1,1,1,2,0,3,1,1,0,1,0,3,1,0,0,3,3,2,0,1,1,0,0,0,0,0,1,0,2,0,2,2,0,3,1,0,0,1,0,1,1,0,1,2,0,3,0,0,0,0,1,0,0,3,3,4,3,1,0,1,0,3,0,2), +(0,0,0,3,0,5,0,0,0,0,1,0,2,0,3,1,0,1,3,0,0,0,2,0,0,0,1,0,0,0,1,1,0,0,4,0,0,0,2,3,0,1,4,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,3), +(0,2,0,5,0,5,0,1,0,2,4,3,3,2,5,1,3,2,3,3,3,0,4,1,2,0,3,0,4,0,2,2,1,1,5,3,0,0,1,4,2,3,2,0,3,3,3,2,0,2,4,1,1,2,0,1,1,0,3,1,0,1,3,1,2,3,0,2,0,0,0,1,3,5,4,4,4,0,3,0,0,1,3), +(0,4,0,5,0,4,0,4,0,4,5,4,3,3,4,3,3,3,4,3,4,4,5,3,4,5,4,2,4,2,3,4,3,1,4,4,1,3,5,4,4,5,5,4,4,5,5,5,2,3,3,1,4,3,1,3,3,0,3,3,1,4,3,4,4,4,0,3,0,4,0,3,3,4,4,5,0,0,4,3,0,4,5), +(0,4,0,4,0,3,0,3,0,3,4,4,4,3,3,2,4,3,4,3,4,3,5,3,4,3,2,1,4,2,4,4,3,1,3,4,2,4,5,5,3,4,5,4,1,5,4,3,0,3,2,2,3,2,1,3,1,0,3,3,3,5,3,3,3,5,4,4,2,3,3,4,3,3,3,2,1,0,3,2,1,4,3), +(0,4,0,5,0,4,0,3,0,3,5,5,3,2,4,3,4,0,5,4,4,1,4,4,4,3,3,3,4,3,5,5,2,3,3,4,1,2,5,5,3,5,5,2,3,5,5,4,0,3,2,0,3,3,1,1,5,1,4,1,0,4,3,2,3,5,0,4,0,3,0,5,4,3,4,3,0,0,4,1,0,4,4), +(1,3,0,4,0,2,0,2,0,2,5,5,3,3,3,3,3,0,4,2,3,4,4,4,3,4,0,0,3,4,5,4,3,3,3,3,2,5,5,4,5,5,5,4,3,5,5,5,1,3,1,0,1,0,0,3,2,0,4,2,0,5,2,3,2,4,1,3,0,3,0,4,5,4,5,4,3,0,4,2,0,5,4), +(0,3,0,4,0,5,0,3,0,3,4,4,3,2,3,2,3,3,3,3,3,2,4,3,3,2,2,0,3,3,3,3,3,1,3,3,3,0,4,4,3,4,4,1,1,4,4,2,0,3,1,0,1,1,0,4,1,0,2,3,1,3,3,1,3,4,0,3,0,1,0,3,1,3,0,0,1,0,2,0,0,4,4), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,3,0,3,0,2,0,3,0,1,5,4,3,3,3,1,4,2,1,2,3,4,4,2,4,4,5,0,3,1,4,3,4,0,4,3,3,3,2,3,2,5,3,4,3,2,2,3,0,0,3,0,2,1,0,1,2,0,0,0,0,2,1,1,3,1,0,2,0,4,0,3,4,4,4,5,2,0,2,0,0,1,3), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,4,2,1,1,0,1,0,3,2,0,0,3,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,2,0,0,0,1,4,0,4,2,1,0,0,0,0,0,1), +(0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,3,1,0,0,0,2,0,2,1,0,0,1,2,1,0,1,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,3,1,0,0,0,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,2), +(0,4,0,4,0,4,0,3,0,4,4,3,4,2,4,3,2,0,4,4,4,3,5,3,5,3,3,2,4,2,4,3,4,3,1,4,0,2,3,4,4,4,3,3,3,4,4,4,3,4,1,3,4,3,2,1,2,1,3,3,3,4,4,3,3,5,0,4,0,3,0,4,3,3,3,2,1,0,3,0,0,3,3), +(0,4,0,3,0,3,0,3,0,3,5,5,3,3,3,3,4,3,4,3,3,3,4,4,4,3,3,3,3,4,3,5,3,3,1,3,2,4,5,5,5,5,4,3,4,5,5,3,2,2,3,3,3,3,2,3,3,1,2,3,2,4,3,3,3,4,0,4,0,2,0,4,3,2,2,1,2,0,3,0,0,4,1), +) + +class JapaneseContextAnalysis(object): + NUM_OF_CATEGORY = 6 + DONT_KNOW = -1 + ENOUGH_REL_THRESHOLD = 100 + MAX_REL_THRESHOLD = 1000 + MINIMUM_DATA_THRESHOLD = 4 + + def __init__(self): + self._total_rel = None + self._rel_sample = None + self._need_to_skip_char_num = None + self._last_char_order = None + self._done = None + self.reset() + + def reset(self): + self._total_rel = 0 # total sequence received + # category counters, each integer counts sequence in its category + self._rel_sample = [0] * self.NUM_OF_CATEGORY + # if last byte in current buffer is not the last byte of a character, + # we need to know how many bytes to skip in next buffer + self._need_to_skip_char_num = 0 + self._last_char_order = -1 # The order of previous char + # If this flag is set to True, detection is done and conclusion has + # been made + self._done = False + + def feed(self, byte_str, num_bytes): + if self._done: + return + + # The buffer we got is byte oriented, and a character may span in more than one + # buffers. In case the last one or two byte in last buffer is not + # complete, we record how many byte needed to complete that character + # and skip these bytes here. We can choose to record those bytes as + # well and analyse the character once it is complete, but since a + # character will not make much difference, by simply skipping + # this character will simply our logic and improve performance. + i = self._need_to_skip_char_num + while i < num_bytes: + order, char_len = self.get_order(byte_str[i:i + 2]) + i += char_len + if i > num_bytes: + self._need_to_skip_char_num = i - num_bytes + self._last_char_order = -1 + else: + if (order != -1) and (self._last_char_order != -1): + self._total_rel += 1 + if self._total_rel > self.MAX_REL_THRESHOLD: + self._done = True + break + self._rel_sample[jp2CharContext[self._last_char_order][order]] += 1 + self._last_char_order = order + + def got_enough_data(self): + return self._total_rel > self.ENOUGH_REL_THRESHOLD + + def get_confidence(self): + # This is just one way to calculate confidence. It works well for me. + if self._total_rel > self.MINIMUM_DATA_THRESHOLD: + return (self._total_rel - self._rel_sample[0]) / self._total_rel + else: + return self.DONT_KNOW + + def get_order(self, byte_str): + return -1, 1 + +class SJISContextAnalysis(JapaneseContextAnalysis): + def __init__(self): + super(SJISContextAnalysis, self).__init__() + self._charset_name = "SHIFT_JIS" + + @property + def charset_name(self): + return self._charset_name + + def get_order(self, byte_str): + if not byte_str: + return -1, 1 + # find out current char's byte length + first_char = byte_str[0] + if (0x81 <= first_char <= 0x9F) or (0xE0 <= first_char <= 0xFC): + char_len = 2 + if (first_char == 0x87) or (0xFA <= first_char <= 0xFC): + self._charset_name = "CP932" + else: + char_len = 1 + + # return its order if it is hiragana + if len(byte_str) > 1: + second_char = byte_str[1] + if (first_char == 202) and (0x9F <= second_char <= 0xF1): + return second_char - 0x9F, char_len + + return -1, char_len + +class EUCJPContextAnalysis(JapaneseContextAnalysis): + def get_order(self, byte_str): + if not byte_str: + return -1, 1 + # find out current char's byte length + first_char = byte_str[0] + if (first_char == 0x8E) or (0xA1 <= first_char <= 0xFE): + char_len = 2 + elif first_char == 0x8F: + char_len = 3 + else: + char_len = 1 + + # return its order if it is hiragana + if len(byte_str) > 1: + second_char = byte_str[1] + if (first_char == 0xA4) and (0xA1 <= second_char <= 0xF3): + return second_char - 0xA1, char_len + + return -1, char_len + + diff --git a/venv/lib/python3.6/site-packages/chardet/langbulgarianmodel.py b/venv/lib/python3.6/site-packages/chardet/langbulgarianmodel.py new file mode 100644 index 0000000..2aa4fb2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/langbulgarianmodel.py @@ -0,0 +1,228 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +# this table is modified base on win1251BulgarianCharToOrderMap, so +# only number <64 is sure valid + +Latin5_BulgarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 +110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 +253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 +116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 +194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209, # 80 +210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225, # 90 + 81,226,227,228,229,230,105,231,232,233,234,235,236, 45,237,238, # a0 + 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # b0 + 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,239, 67,240, 60, 56, # c0 + 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # d0 + 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,241, 42, 16, # e0 + 62,242,243,244, 58,245, 98,246,247,248,249,250,251, 91,252,253, # f0 +) + +win1251BulgarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 +110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 +253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 +116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 +206,207,208,209,210,211,212,213,120,214,215,216,217,218,219,220, # 80 +221, 78, 64, 83,121, 98,117,105,222,223,224,225,226,227,228,229, # 90 + 88,230,231,232,233,122, 89,106,234,235,236,237,238, 45,239,240, # a0 + 73, 80,118,114,241,242,243,244,245, 62, 58,246,247,248,249,250, # b0 + 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # c0 + 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,251, 67,252, 60, 56, # d0 + 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # e0 + 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,253, 42, 16, # f0 +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 96.9392% +# first 1024 sequences:3.0618% +# rest sequences: 0.2992% +# negative sequences: 0.0020% +BulgarianLangModel = ( +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,3,3,3,3,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,2,2,1,2,2, +3,1,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,0,1, +0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,3,3,0,3,1,0, +0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,2,2,1,3,3,3,3,2,2,2,1,1,2,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,2,3,2,2,3,3,1,1,2,3,3,2,3,3,3,3,2,1,2,0,2,0,3,0,0, +0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,1,3,3,3,3,3,2,3,2,3,3,3,3,3,2,3,3,1,3,0,3,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,1,3,3,2,3,3,3,1,3,3,2,3,2,2,2,0,0,2,0,2,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,3,3,1,2,2,3,2,1,1,2,0,2,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,2,3,3,1,2,3,2,2,2,3,3,3,3,3,2,2,3,1,2,0,2,1,2,0,0, +0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,1,3,3,3,3,3,2,3,3,3,2,3,3,2,3,2,2,2,3,1,2,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,1,1,1,2,2,1,3,1,3,2,2,3,0,0,1,0,1,0,1,0,0, +0,0,0,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,2,2,3,2,2,3,1,2,1,1,1,2,3,1,3,1,2,2,0,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,1,3,2,2,3,3,1,2,3,1,1,3,3,3,3,1,2,2,1,1,1,0,2,0,2,0,1, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,2,2,3,3,3,2,2,1,1,2,0,2,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,0,1,2,1,3,3,2,3,3,3,3,3,2,3,2,1,0,3,1,2,1,2,1,2,3,2,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,1,2,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,1,3,3,2,3,3,2,2,2,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,0,3,3,3,3,3,2,1,1,2,1,3,3,0,3,1,1,1,1,3,2,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,1,1,3,1,3,3,2,3,2,2,2,3,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,3,2,2,3,2,1,1,1,1,1,3,1,3,1,1,0,0,0,1,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,2,0,3,2,0,3,0,2,0,0,2,1,3,1,0,0,1,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,2,1,1,1,1,2,1,1,2,1,1,1,2,2,1,2,1,1,1,0,1,1,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,2,1,3,1,1,2,1,3,2,1,1,0,1,2,3,2,1,1,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,2,2,1,0,1,0,0,1,0,0,0,2,1,0,3,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,2,3,2,3,3,1,3,2,1,1,1,2,1,1,2,1,3,0,1,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,2,2,3,3,2,3,2,2,2,3,1,2,2,1,1,2,1,1,2,2,0,1,1,0,1,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,3,1,0,2,2,1,3,2,1,0,0,2,0,2,0,1,0,0,0,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,1,2,0,2,3,1,2,3,2,0,1,3,1,2,1,1,1,0,0,1,0,0,2,2,2,3, +2,2,2,2,1,2,1,1,2,2,1,1,2,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1, +3,3,3,3,3,2,1,2,2,1,2,0,2,0,1,0,1,2,1,2,1,1,0,0,0,1,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,2,3,3,1,1,3,1,0,3,2,1,0,0,0,1,2,0,2,0,1,0,0,0,1,0,1,2,1,2,2, +1,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,0,1,2,1,1,1,0,0,0,0,0,1,1,0,0, +3,1,0,1,0,2,3,2,2,2,3,2,2,2,2,2,1,0,2,1,2,1,1,1,0,1,2,1,2,2,2,1, +1,1,2,2,2,2,1,2,1,1,0,1,2,1,2,2,2,1,1,1,0,1,1,1,1,2,0,1,0,0,0,0, +2,3,2,3,3,0,0,2,1,0,2,1,0,0,0,0,2,3,0,2,0,0,0,0,0,1,0,0,2,0,1,2, +2,1,2,1,2,2,1,1,1,2,1,1,1,0,1,2,2,1,1,1,1,1,0,1,1,1,0,0,1,2,0,0, +3,3,2,2,3,0,2,3,1,1,2,0,0,0,1,0,0,2,0,2,0,0,0,1,0,1,0,1,2,0,2,2, +1,1,1,1,2,1,0,1,2,2,2,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,0,0, +2,3,2,3,3,0,0,3,0,1,1,0,1,0,0,0,2,2,1,2,0,0,0,0,0,0,0,0,2,0,1,2, +2,2,1,1,1,1,1,2,2,2,1,0,2,0,1,0,1,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0, +3,3,3,3,2,2,2,2,2,0,2,1,1,1,1,2,1,2,1,1,0,2,0,1,0,1,0,0,2,0,1,2, +1,1,1,1,1,1,1,2,2,1,1,0,2,0,1,0,2,0,0,1,1,1,0,0,2,0,0,0,1,1,0,0, +2,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0,0,0,0,1,2,0,1,2, +2,2,2,1,1,2,1,1,2,2,2,1,2,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,0,0, +2,3,3,3,3,0,2,2,0,2,1,0,0,0,1,1,1,2,0,2,0,0,0,3,0,0,0,0,2,0,2,2, +1,1,1,2,1,2,1,1,2,2,2,1,2,0,1,1,1,0,1,1,1,1,0,2,1,0,0,0,1,1,0,0, +2,3,3,3,3,0,2,1,0,0,2,0,0,0,0,0,1,2,0,2,0,0,0,0,0,0,0,0,2,0,1,2, +1,1,1,2,1,1,1,1,2,2,2,0,1,0,1,1,1,0,0,1,1,1,0,0,1,0,0,0,0,1,0,0, +3,3,2,2,3,0,1,0,1,0,0,0,0,0,0,0,1,1,0,3,0,0,0,0,0,0,0,0,1,0,2,2, +1,1,1,1,1,2,1,1,2,2,1,2,2,1,0,1,1,1,1,1,0,1,0,0,1,0,0,0,1,1,0,0, +3,1,0,1,0,2,2,2,2,3,2,1,1,1,2,3,0,0,1,0,2,1,1,0,1,1,1,1,2,1,1,1, +1,2,2,1,2,1,2,2,1,1,0,1,2,1,2,2,1,1,1,0,0,1,1,1,2,1,0,1,0,0,0,0, +2,1,0,1,0,3,1,2,2,2,2,1,2,2,1,1,1,0,2,1,2,2,1,1,2,1,1,0,2,1,1,1, +1,2,2,2,2,2,2,2,1,2,0,1,1,0,2,1,1,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0, +2,1,1,1,1,2,2,2,2,1,2,2,2,1,2,2,1,1,2,1,2,3,2,2,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,3,2,0,1,2,0,1,2,1,1,0,1,0,1,2,1,2,0,0,0,1,1,0,0,0,1,0,0,2, +1,1,0,0,1,1,0,1,1,1,1,0,2,0,1,1,1,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0, +2,0,0,0,0,1,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1, +1,2,2,2,2,1,1,2,1,2,1,1,1,0,2,1,2,1,1,1,0,2,1,1,1,1,0,1,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, +1,1,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,3,2,0,0,0,0,1,0,0,0,0,0,0,1,1,0,2,0,0,0,0,0,0,0,0,1,0,1,2, +1,1,1,1,1,1,0,0,2,2,2,2,2,0,1,1,0,1,1,1,1,1,0,0,1,0,0,0,1,1,0,1, +2,3,1,2,1,0,1,1,0,2,2,2,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,1,2, +1,1,1,1,2,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0, +2,2,2,2,2,0,0,2,0,0,2,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,0,2,2, +1,1,1,1,1,0,0,1,2,1,1,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,2,0,1,1,0,0,0,1,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,1,1, +0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,3,2,0,0,1,0,0,1,0,0,0,0,0,0,1,0,2,0,0,0,1,0,0,0,0,0,0,0,2, +1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,1,2,2,2,1,2,1,2,2,1,1,2,1,1,1,0,1,1,1,1,2,0,1,0,1,1,1,1,0,1,1, +1,1,2,1,1,1,1,1,1,0,0,1,2,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0, +1,0,0,1,3,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,1,0,0,1,0,2,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,2,0,0,1, +0,2,0,1,0,0,1,1,2,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,1,1,0,2,1,0,1,1,1,0,0,1,0,2,0,1,0,0,0,0,0,0,0,0,0,1, +0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,2,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, +0,1,0,1,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,0,1,2,1,1,1,1,1,1,2,2,1,0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0, +1,1,2,1,1,1,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,1,2,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +0,1,1,0,1,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, +1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,2,0,0,2,0,1,0,0,1,0,0,1, +1,1,0,0,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, +1,1,1,1,1,1,1,2,0,0,0,0,0,0,2,1,0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +) + +Latin5BulgarianModel = { + 'char_to_order_map': Latin5_BulgarianCharToOrderMap, + 'precedence_matrix': BulgarianLangModel, + 'typical_positive_ratio': 0.969392, + 'keep_english_letter': False, + 'charset_name': "ISO-8859-5", + 'language': 'Bulgairan', +} + +Win1251BulgarianModel = { + 'char_to_order_map': win1251BulgarianCharToOrderMap, + 'precedence_matrix': BulgarianLangModel, + 'typical_positive_ratio': 0.969392, + 'keep_english_letter': False, + 'charset_name': "windows-1251", + 'language': 'Bulgarian', +} diff --git a/venv/lib/python3.6/site-packages/chardet/langcyrillicmodel.py b/venv/lib/python3.6/site-packages/chardet/langcyrillicmodel.py new file mode 100644 index 0000000..e5f9a1f --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/langcyrillicmodel.py @@ -0,0 +1,333 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# KOI8-R language model +# Character Mapping Table: +KOI8R_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, # 80 +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, # 90 +223,224,225, 68,226,227,228,229,230,231,232,233,234,235,236,237, # a0 +238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253, # b0 + 27, 3, 21, 28, 13, 2, 39, 19, 26, 4, 23, 11, 8, 12, 5, 1, # c0 + 15, 16, 9, 7, 6, 14, 24, 10, 17, 18, 20, 25, 30, 29, 22, 54, # d0 + 59, 37, 44, 58, 41, 48, 53, 46, 55, 42, 60, 36, 49, 38, 31, 34, # e0 + 35, 43, 45, 32, 40, 52, 56, 33, 61, 62, 51, 57, 47, 63, 50, 70, # f0 +) + +win1251_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, +239,240,241,242,243,244,245,246, 68,247,248,249,250,251,252,253, + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +) + +latin5_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, +) + +macCyrillic_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, +239,240,241,242,243,244,245,246,247,248,249,250,251,252, 68, 16, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27,255, +) + +IBM855_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194, 68,195,196,197,198,199,200,201,202,203,204,205, +206,207,208,209,210,211,212,213,214,215,216,217, 27, 59, 54, 70, + 3, 37, 21, 44, 28, 58, 13, 41, 2, 48, 39, 53, 19, 46,218,219, +220,221,222,223,224, 26, 55, 4, 42,225,226,227,228, 23, 60,229, +230,231,232,233,234,235, 11, 36,236,237,238,239,240,241,242,243, + 8, 49, 12, 38, 5, 31, 1, 34, 15,244,245,246,247, 35, 16,248, + 43, 9, 45, 7, 32, 6, 40, 14, 52, 24, 56, 10, 33, 17, 61,249, +250, 18, 62, 20, 51, 25, 57, 30, 47, 29, 63, 22, 50,251,252,255, +) + +IBM866_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 97.6601% +# first 1024 sequences: 2.3389% +# rest sequences: 0.1237% +# negative sequences: 0.0009% +RussianLangModel = ( +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,1,3,3,3,2,3,2,3,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,2,2,2,2,2,0,0,2, +3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,2,3,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,2,3,3,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, +0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, +0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,2,2,3,1,3,3,1,3,3,3,3,2,2,3,0,2,2,2,3,3,2,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,3,3,2,2,3,2,3,3,3,2,1,2,2,0,1,2,2,2,2,2,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,0,2,2,3,3,2,1,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,1,2,3,2,2,3,2,3,3,3,3,2,2,3,0,3,2,2,3,1,1,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,3,3,3,3,2,2,2,0,3,3,3,2,2,2,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,2,3,2,2,0,1,3,2,1,2,2,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,2,1,1,3,0,1,1,1,1,2,1,1,0,2,2,2,1,2,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,2,2,2,2,1,3,2,3,2,3,2,1,2,2,0,1,1,2,1,2,1,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,2,3,3,3,2,2,2,2,0,2,2,2,2,3,1,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,2,3,2,2,3,3,3,3,3,3,3,3,3,1,3,2,0,0,3,3,3,3,2,3,3,3,3,2,3,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,3,2,2,3,3,0,2,1,0,3,2,3,2,3,0,0,1,2,0,0,1,0,1,2,1,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,0,2,3,3,3,3,2,3,3,3,3,1,2,2,0,0,2,3,2,2,2,3,2,3,2,2,3,0,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,2,3,2,3,0,1,2,3,3,2,0,2,3,0,0,2,3,2,2,0,1,3,1,3,2,2,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,3,0,2,3,3,3,3,3,3,3,3,2,1,3,2,0,0,2,2,3,3,3,2,3,3,0,2,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,2,2,2,3,3,0,0,1,1,1,1,1,2,0,0,1,1,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,0,3,2,3,3,2,3,2,0,2,1,0,1,1,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,2,2,2,2,3,1,3,2,3,1,1,2,1,0,2,2,2,2,1,3,1,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +2,2,3,3,3,3,3,1,2,2,1,3,1,0,3,0,0,3,0,0,0,1,1,0,1,2,1,0,0,0,0,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,2,1,1,3,3,3,2,2,1,2,2,3,1,1,2,0,0,2,2,1,3,0,0,2,1,1,2,1,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,3,3,1,2,2,2,1,2,1,3,3,1,1,2,1,2,1,2,2,0,2,0,0,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,3,2,1,3,2,2,3,2,0,3,2,0,3,0,1,0,1,1,0,0,1,1,1,1,0,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,3,3,3,2,2,2,3,3,1,2,1,2,1,0,1,0,1,1,0,1,0,0,2,1,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,1,1,2,1,2,3,3,2,2,1,2,2,3,0,2,1,0,0,2,2,3,2,1,2,2,2,2,2,3,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,1,1,0,1,1,2,2,1,1,3,0,0,1,3,1,1,1,0,0,0,1,0,1,1,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,3,3,3,2,0,0,0,2,1,0,1,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,0,2,3,2,2,2,1,2,2,2,1,2,1,0,0,1,1,1,0,2,0,1,1,1,0,0,1,1, +1,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,0,0,0,0,1,0,0,0,0,3,0,1,2,1,0,0,0,0,0,0,0,1,1,0,0,1,1, +1,0,1,0,1,2,0,0,1,1,2,1,0,1,1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0, +2,2,3,2,2,2,3,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,0,1,0,1,1,1,0,2,1, +1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,0,1,1,0, +3,3,3,2,2,2,2,3,2,2,1,1,2,2,2,2,1,1,3,1,2,1,2,0,0,1,1,0,1,0,2,1, +1,1,1,1,1,2,1,0,1,1,1,1,0,1,0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,1,1,0, +2,0,0,1,0,3,2,2,2,2,1,2,1,2,1,2,0,0,0,2,1,2,2,1,1,2,2,0,1,1,0,2, +1,1,1,1,1,0,1,1,1,2,1,1,1,2,1,0,1,2,1,1,1,1,0,1,1,1,0,0,1,0,0,1, +1,3,2,2,2,1,1,1,2,3,0,0,0,0,2,0,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,1, +1,0,1,1,0,1,0,1,1,0,1,1,0,2,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, +2,3,2,3,2,1,2,2,2,2,1,0,0,0,2,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,2,1, +1,1,2,1,0,2,0,0,1,0,1,0,0,1,0,0,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0, +3,0,0,1,0,2,2,2,3,2,2,2,2,2,2,2,0,0,0,2,1,2,1,1,1,2,2,0,0,0,1,2, +1,1,1,1,1,0,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1, +2,3,2,3,3,2,0,1,1,1,0,0,1,0,2,0,1,1,3,1,0,0,0,0,0,0,0,1,0,0,2,1, +1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,0,0,1,1,0,1,0,0,0,0,0,0,1,0, +2,3,3,3,3,1,2,2,2,2,0,1,1,0,2,1,1,1,2,1,0,1,1,0,0,1,0,1,0,0,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,2,0,0,1,1,2,2,1,0,0,2,0,1,1,3,0,0,1,0,0,0,0,0,1,0,1,2,1, +1,1,2,0,1,1,1,0,1,0,1,1,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,0, +1,3,2,3,2,1,0,0,2,2,2,0,1,0,2,0,1,1,1,0,1,0,0,0,3,0,1,1,0,0,2,1, +1,1,1,0,1,1,0,0,0,0,1,1,0,1,0,0,2,1,1,0,1,0,0,0,1,0,1,0,0,1,1,0, +3,1,2,1,1,2,2,2,2,2,2,1,2,2,1,1,0,0,0,2,2,2,0,0,0,1,2,1,0,1,0,1, +2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,1,1,1,0,1,0,1,1,0,1,1,1,0,0,1, +3,0,0,0,0,2,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,1,0,1, +1,1,0,0,1,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1, +1,3,3,2,2,0,0,0,2,2,0,0,0,1,2,0,1,1,2,0,0,0,0,0,0,0,0,1,0,0,2,1, +0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +2,3,2,3,2,0,0,0,0,1,1,0,0,0,2,0,2,0,2,0,0,0,0,0,1,0,0,1,0,0,1,1, +1,1,2,0,1,2,1,0,1,1,2,1,1,1,1,1,2,1,1,0,1,0,0,1,1,1,1,1,0,1,1,0, +1,3,2,2,2,1,0,0,2,2,1,0,1,2,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1, +0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,0,2,3,1,2,2,2,2,2,2,1,1,0,0,0,1,0,1,0,2,1,1,1,0,0,0,0,1, +1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +2,0,2,0,0,1,0,3,2,1,2,1,2,2,0,1,0,0,0,2,1,0,0,2,1,1,1,1,0,2,0,2, +2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,0,0,0,1,1,1,1,0,1,0,0,1, +1,2,2,2,2,1,0,0,1,0,0,0,0,0,2,0,1,1,1,1,0,0,0,0,1,0,1,2,0,0,2,0, +1,0,1,1,1,2,1,0,1,0,1,1,0,0,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,1,1,0, +2,1,2,2,2,0,3,0,1,1,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,0,1,1,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0, +1,2,2,3,2,2,0,0,1,1,2,0,1,2,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1, +0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, +2,2,1,1,2,1,2,2,2,2,2,1,2,2,0,1,0,0,0,1,2,2,2,1,2,1,1,1,1,1,2,1, +1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1, +1,2,2,2,2,0,1,0,2,2,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0, +0,0,1,0,0,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,0,2,2,2,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1, +0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,0,0,1,0,0,1,1,2,0,0,0,0,1,0,1,0,0,1,0,0,2,0,0,0,1, +0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,1,1,2,0,2,1,1,1,1,0,2,2,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1, +0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,0,2,1,2,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0, +0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +1,0,0,0,0,2,0,1,2,1,0,1,1,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1, +0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1, +2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,1,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,0,1,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,0,0,0,1,0,1,1,0,1,0,0,0, +0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +) + +Koi8rModel = { + 'char_to_order_map': KOI8R_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "KOI8-R", + 'language': 'Russian', +} + +Win1251CyrillicModel = { + 'char_to_order_map': win1251_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "windows-1251", + 'language': 'Russian', +} + +Latin5CyrillicModel = { + 'char_to_order_map': latin5_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "ISO-8859-5", + 'language': 'Russian', +} + +MacCyrillicModel = { + 'char_to_order_map': macCyrillic_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "MacCyrillic", + 'language': 'Russian', +} + +Ibm866Model = { + 'char_to_order_map': IBM866_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "IBM866", + 'language': 'Russian', +} + +Ibm855Model = { + 'char_to_order_map': IBM855_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "IBM855", + 'language': 'Russian', +} diff --git a/venv/lib/python3.6/site-packages/chardet/langgreekmodel.py b/venv/lib/python3.6/site-packages/chardet/langgreekmodel.py new file mode 100644 index 0000000..5332221 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/langgreekmodel.py @@ -0,0 +1,225 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +Latin7_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 + 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 +253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 + 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 +253,233, 90,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 +253,253,253,253,247,248, 61, 36, 46, 71, 73,253, 54,253,108,123, # b0 +110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 + 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 +124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 + 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 +) + +win1253_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 + 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 +253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 + 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 +253,233, 61,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 +253,253,253,253,247,253,253, 36, 46, 71, 73,253, 54,253,108,123, # b0 +110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 + 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 +124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 + 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 98.2851% +# first 1024 sequences:1.7001% +# rest sequences: 0.0359% +# negative sequences: 0.0148% +GreekLangModel = ( +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,2,2,3,3,3,3,3,3,3,3,1,3,3,3,0,2,2,3,3,0,3,0,3,2,0,3,3,3,0, +3,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,0,3,3,0,3,2,3,3,0,3,2,3,3,3,0,0,3,0,3,0,3,3,2,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,2,3,2,2,3,3,3,3,3,3,3,3,0,3,3,3,3,0,2,3,3,0,3,3,3,3,2,3,3,3,0, +2,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,2,1,3,3,3,3,2,3,3,2,3,3,2,0, +0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,2,3,3,0, +2,0,1,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,3,0,0,0,0,3,3,0,3,1,3,3,3,0,3,3,0,3,3,3,3,0,0,0,0, +2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,0,3,0,3,3,3,3,3,0,3,2,2,2,3,0,2,3,3,3,3,3,2,3,3,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,3,2,2,2,3,3,3,3,0,3,1,3,3,3,3,2,3,3,3,3,3,3,3,2,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,0,3,0,0,0,3,3,2,3,3,3,3,3,0,0,3,2,3,0,2,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,3,0,0,3,3,0,2,3,0,3,0,3,3,3,0,0,3,0,3,0,2,2,3,3,0,0, +0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,0,3,2,3,3,3,3,0,3,3,3,3,3,0,3,3,2,3,2,3,3,2,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,2,3,2,3,3,3,3,3,3,0,2,3,2,3,2,2,2,3,2,3,3,2,3,0,2,2,2,3,0, +2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,0,3,3,3,2,3,3,0,0,3,0,3,0,0,0,3,2,0,3,0,3,0,0,2,0,2,0, +0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,0,0,0,3,3,0,3,3,3,0,0,1,2,3,0, +3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,0,0,3,2,2,3,3,0,3,3,3,3,3,2,1,3,0,3,2,3,3,2,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,3,0,2,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,3,0,3,2,3,0,0,3,3,3,0, +3,0,0,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,0,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,2,0,3,2,3,0,0,3,2,3,0, +2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,1,2,2,3,3,3,3,3,3,0,2,3,0,3,0,0,0,3,3,0,3,0,2,0,0,2,3,1,0, +2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,3,0,3,0,3,3,2,3,0,3,3,3,3,3,3,0,3,3,3,0,2,3,0,0,3,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,0,0,3,0,0,0,3,3,0,3,0,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,0,3,3,3,3,3,3,0,0,3,0,2,0,0,0,3,3,0,3,0,3,0,0,2,0,2,0, +0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,3,0,3,0,2,0,3,2,0,3,2,3,2,3,0,0,3,2,3,2,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,2,3,3,3,3,3,0,0,0,3,0,2,1,0,0,3,2,2,2,0,3,0,0,2,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,2,0,3,0,3,0,3,3,0,2,1,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,3,3,0,3,3,3,3,3,3,0,2,3,0,3,0,0,0,2,1,0,2,2,3,0,0,2,2,2,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,2,3,3,3,2,3,0,0,1,3,0,2,0,0,0,0,3,0,1,0,2,0,0,1,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,1,0,3,0,0,0,3,2,0,3,2,3,3,3,0,0,3,0,3,2,2,2,1,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,0,0,3,0,0,0,0,2,0,2,3,3,2,2,2,2,3,0,2,0,2,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,2,0,0,0,0,0,0,2,3,0,2,0,2,3,2,0,0,3,0,3,0,3,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,3,2,3,3,2,2,3,0,2,0,3,0,0,0,2,0,0,0,0,1,2,0,2,0,2,0, +0,2,0,2,0,2,2,0,0,1,0,2,2,2,0,2,2,2,0,2,2,2,0,0,2,0,0,1,0,0,0,0, +0,2,0,3,3,2,0,0,0,0,0,0,1,3,0,2,0,2,2,2,0,0,2,0,3,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,2,3,2,0,2,2,0,2,0,2,2,0,2,0,2,2,2,0,0,0,0,0,0,2,3,0,0,0,2, +0,1,2,0,0,0,0,2,2,0,0,0,2,1,0,2,2,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0, +0,0,2,1,0,2,3,2,2,3,2,3,2,0,0,3,3,3,0,0,3,2,0,0,0,1,1,0,2,0,2,2, +0,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2,2,2,0,0,2,0,0,0,2,0,1,0,0,0,0, +0,3,0,3,3,2,2,0,3,0,0,0,2,2,0,2,2,2,1,2,0,0,1,2,2,0,0,3,0,0,0,2, +0,1,2,0,0,0,1,2,0,0,0,0,0,0,0,2,2,0,1,0,0,2,0,0,0,2,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,3,2,2,0,0,0,2,0,2,3,3,0,2,0,0,0,0,0,0,2,2,2,0,2,2,0,2,0,2, +0,2,2,0,0,2,2,2,2,1,0,0,2,2,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,2,0,3,2,3,0,0,0,3,0,0,2,2,0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,0,2, +0,0,2,2,0,0,2,2,2,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,3,2,0,2,2,2,2,2,0,0,0,2,0,0,0,0,2,0,1,0,0,2,0,1,0,0,0, +0,2,2,2,0,2,2,0,1,2,0,2,2,2,0,2,2,2,2,1,2,2,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,2,0,2,0,2,2,0,0,0,0,1,2,1,0,0,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,2,3,0,0,2,0,0,0,2,2,0,2,0,0,0,1,0,0,2,0,2,0,2,2,0,0,0,0, +0,0,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,2,2,3,2,2,0,0,0,0,0,0,1,3,0,2,0,2,2,0,0,0,1,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,2,0,3,2,0,2,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,2,0,0,0,0,1,1,0,0,2,1,2,0,2,2,0,1,0,0,1,0,0,0,2,0,0,0,0,0,0, +0,3,0,2,2,2,0,0,2,0,0,0,2,0,0,0,2,3,0,2,0,0,0,0,0,0,2,2,0,0,0,2, +0,1,2,0,0,0,1,2,2,1,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,1,2,0,2,2,0,2,0,0,2,0,0,0,0,1,2,1,0,2,1,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,3,1,2,2,0,2,0,0,0,0,2,0,0,0,2,0,0,3,0,0,0,0,2,2,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,1,0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,2, +0,2,2,0,0,2,2,2,2,2,0,1,2,0,0,0,2,2,0,1,0,2,0,0,2,2,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,2, +0,1,2,0,0,0,0,2,2,1,0,1,0,1,0,2,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,1,0,0,0,0,0,0,2, +0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0, +0,2,2,2,2,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,1, +0,0,2,0,0,0,0,1,2,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,2,2,2,0,0,0,2,0,0,0,0,0,0,0,0,2, +0,0,1,0,0,0,0,2,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,3,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,2, +0,0,2,0,0,0,0,2,2,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,2,2,1,0,0,0,0,0,0,2,0,0,2,0,2,2,2,0,0,0,0,0,0,2,0,0,0,0,2, +0,0,2,0,0,2,0,2,2,0,0,0,0,2,0,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0, +0,0,3,0,0,0,2,2,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0, +0,2,2,2,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1, +0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,2,0,0,0,2,0,0,0,0,0,1,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,2,0,0,0, +0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,2,0,2,0,0,0, +0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +) + +Latin7GreekModel = { + 'char_to_order_map': Latin7_char_to_order_map, + 'precedence_matrix': GreekLangModel, + 'typical_positive_ratio': 0.982851, + 'keep_english_letter': False, + 'charset_name': "ISO-8859-7", + 'language': 'Greek', +} + +Win1253GreekModel = { + 'char_to_order_map': win1253_char_to_order_map, + 'precedence_matrix': GreekLangModel, + 'typical_positive_ratio': 0.982851, + 'keep_english_letter': False, + 'charset_name': "windows-1253", + 'language': 'Greek', +} diff --git a/venv/lib/python3.6/site-packages/chardet/langhebrewmodel.py b/venv/lib/python3.6/site-packages/chardet/langhebrewmodel.py new file mode 100644 index 0000000..58f4c87 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/langhebrewmodel.py @@ -0,0 +1,200 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Simon Montagu +# Portions created by the Initial Developer are Copyright (C) 2005 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# Shoshannah Forbes - original C code (?) +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Windows-1255 language model +# Character Mapping Table: +WIN1255_CHAR_TO_ORDER_MAP = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 69, 91, 79, 80, 92, 89, 97, 90, 68,111,112, 82, 73, 95, 85, # 40 + 78,121, 86, 71, 67,102,107, 84,114,103,115,253,253,253,253,253, # 50 +253, 50, 74, 60, 61, 42, 76, 70, 64, 53,105, 93, 56, 65, 54, 49, # 60 + 66,110, 51, 43, 44, 63, 81, 77, 98, 75,108,253,253,253,253,253, # 70 +124,202,203,204,205, 40, 58,206,207,208,209,210,211,212,213,214, +215, 83, 52, 47, 46, 72, 32, 94,216,113,217,109,218,219,220,221, + 34,116,222,118,100,223,224,117,119,104,125,225,226, 87, 99,227, +106,122,123,228, 55,229,230,101,231,232,120,233, 48, 39, 57,234, + 30, 59, 41, 88, 33, 37, 36, 31, 29, 35,235, 62, 28,236,126,237, +238, 38, 45,239,240,241,242,243,127,244,245,246,247,248,249,250, + 9, 8, 20, 16, 3, 2, 24, 14, 22, 1, 25, 15, 4, 11, 6, 23, + 12, 19, 13, 26, 18, 27, 21, 17, 7, 10, 5,251,252,128, 96,253, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 98.4004% +# first 1024 sequences: 1.5981% +# rest sequences: 0.087% +# negative sequences: 0.0015% +HEBREW_LANG_MODEL = ( +0,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,3,2,1,2,0,1,0,0, +3,0,3,1,0,0,1,3,2,0,1,1,2,0,2,2,2,1,1,1,1,2,1,1,1,2,0,0,2,2,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2, +1,2,1,2,1,2,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2, +1,2,1,3,1,1,0,0,2,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,1,2,2,1,3, +1,2,1,1,2,2,0,0,2,2,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,2,2,2,3,2, +1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,3,2,2,3,2,2,2,1,2,2,2,2, +1,2,1,1,2,2,0,1,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,0,2,2,2,2,2, +0,2,0,2,2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,0,2,2,2, +0,2,1,2,2,2,0,0,2,1,0,0,0,0,1,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,1,2,3,2,2,2, +1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,2,0,2, +0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,2,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,2,2,3,2,1,2,1,1,1, +0,1,1,1,1,1,3,0,1,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,0,0, +0,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,2,1,2,3,3,2,3,3,3,3,2,3,2,1,2,0,2,1,2, +0,2,0,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,2,3,2,3,2,2,3,1,2,2,0,2,2,2, +0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,2,2,3,3,3,3,1,3,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,2,3,2,2,2,1,2,2,0,2,2,2,2, +0,2,0,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,1,3,2,3,3,2,3,3,2,2,1,2,2,2,2,2,2, +0,2,1,2,1,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,2,3,3,2,3,3,3,3,2,3,2,3,3,3,3,3,2,2,2,2,2,2,2,1, +0,2,0,1,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,1,2,3,3,3,3,3,3,3,2,3,2,3,2,1,2,3,0,2,1,2,2, +0,2,1,1,2,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,3,2,1,3,1,2,2,2,1,2,3,3,1,2,1,2,2,2,2, +0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,0,2,3,3,3,1,3,3,3,1,2,2,2,2,1,1,2,2,2,2,2,2, +0,2,0,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,2,2,3,3,3,2,1,2,3,2,3,2,2,2,2,1,2,1,1,1,2,2, +0,2,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,0, +1,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,3,2,3,1,2,2,2,2,3,2,3,1,1,2,2,1,2,2,1,1,0,2,2,2,2, +0,1,0,1,2,2,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +3,2,2,1,2,2,2,2,2,2,2,1,2,2,1,2,2,1,1,1,1,1,1,1,1,2,1,1,0,3,3,3, +0,3,0,2,2,2,2,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,2,2,2,1,1,1,2,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,0,2,2,0,0,0,0,0,0, +0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,0,2,1,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,3,1,1,2,2,2,2,2,1,2,2,2,1,1,2,2,2,2,2,2,2,1,2,2,1,0,1,1,1,1,0, +0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,1,1,1,1,2,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,0,0, +2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,1,2,1,2,1,1,1,1,0,0,0,0, +0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,1,2,2,2,2,2,2,2,2,2,2,1,2,1,2,1,1,2,1,1,1,2,1,2,1,2,0,1,0,1, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,1,2,2,2,1,2,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,2,1,2,1,1,0,1,0,1, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,1,1,1,1,1,1,0,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,1,1,1,0,1,0,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0, +0,1,1,1,2,1,2,2,2,0,2,0,2,0,1,1,2,1,1,1,1,2,1,0,1,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,1,0,0,0,0,0,1,0,1,2,2,0,1,0,0,1,1,2,2,1,2,0,2,0,0,0,1,2,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,2,1,2,0,2,0,0,1,1,1,1,1,1,0,1,0,0,0,1,0,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,1,2,2,0,0,1,0,0,0,1,0,0,1, +1,1,2,1,0,1,1,1,0,1,0,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,2,1, +0,2,0,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,0,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,1,0,0,0,1,1,0,1, +2,0,1,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,1,0,1,0,0,1,1,2,1,1,2,0,1,0,0,0,1,1,0,1, +1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,0,0,2,1,1,2,0,2,0,0,0,1,1,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,2,2,1,2,1,1,0,1,0,0,0,1,1,0,1, +2,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,1,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,2,1,1,1,0,2,1,1,0,0,0,2,1,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,0,2,1,1,0,1,0,0,0,1,1,0,1, +2,2,1,1,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,0,1,2,1,0,2,0,0,0,1,1,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, +0,1,0,0,2,0,2,1,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,1,0,1,0,0,1,0,0,0,1,0,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,1,0,1,1,0,0,1,0,0,2,1,1,1,1,1,0,1,0,0,0,0,1,0,1, +0,1,1,1,2,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,0,0, +) + +Win1255HebrewModel = { + 'char_to_order_map': WIN1255_CHAR_TO_ORDER_MAP, + 'precedence_matrix': HEBREW_LANG_MODEL, + 'typical_positive_ratio': 0.984004, + 'keep_english_letter': False, + 'charset_name': "windows-1255", + 'language': 'Hebrew', +} diff --git a/venv/lib/python3.6/site-packages/chardet/langhungarianmodel.py b/venv/lib/python3.6/site-packages/chardet/langhungarianmodel.py new file mode 100644 index 0000000..bb7c095 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/langhungarianmodel.py @@ -0,0 +1,225 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +Latin2_HungarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, + 46, 71, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, +253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, + 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, +159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174, +175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190, +191,192,193,194,195,196,197, 75,198,199,200,201,202,203,204,205, + 79,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, +221, 51, 81,222, 78,223,224,225,226, 44,227,228,229, 61,230,231, +232,233,234, 58,235, 66, 59,236,237,238, 60, 69, 63,239,240,241, + 82, 14, 74,242, 70, 80,243, 72,244, 15, 83, 77, 84, 30, 76, 85, +245,246,247, 25, 73, 42, 24,248,249,250, 31, 56, 29,251,252,253, +) + +win1250HungarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, + 46, 72, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, +253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, + 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, +161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176, +177,178,179,180, 78,181, 69,182,183,184,185,186,187,188,189,190, +191,192,193,194,195,196,197, 76,198,199,200,201,202,203,204,205, + 81,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, +221, 51, 83,222, 80,223,224,225,226, 44,227,228,229, 61,230,231, +232,233,234, 58,235, 66, 59,236,237,238, 60, 70, 63,239,240,241, + 84, 14, 75,242, 71, 82,243, 73,244, 15, 85, 79, 86, 30, 77, 87, +245,246,247, 25, 74, 42, 24,248,249,250, 31, 56, 29,251,252,253, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 94.7368% +# first 1024 sequences:5.2623% +# rest sequences: 0.8894% +# negative sequences: 0.0009% +HungarianLangModel = ( +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,2,3,3,1,1,2,2,2,2,2,1,2, +3,2,2,3,3,3,3,3,2,3,3,3,3,3,3,1,2,3,3,3,3,2,3,3,1,1,3,3,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0, +3,2,1,3,3,3,3,3,2,3,3,3,3,3,1,1,2,3,3,3,3,3,3,3,1,1,3,2,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,1,1,2,3,3,3,1,3,3,3,3,3,1,3,3,2,2,0,3,2,3, +0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,3,3,2,3,3,2,2,3,2,3,2,0,3,2,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,3,3,2,3,3,3,1,2,3,2,2,3,1,2,3,3,2,2,0,3,3,3, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,2,3,3,3,3,2,3,3,3,3,0,2,3,2, +0,0,0,1,1,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,1,1,1,3,3,2,1,3,2,2,3,2,1,3,2,2,1,0,3,3,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,2,2,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,3,2,2,3,1,1,3,2,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,1,3,3,3,3,3,2,2,1,3,3,3,0,1,1,2, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,2,0,3,2,3, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,1,3,2,2,2,3,1,1,3,3,1,1,0,3,3,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,2,3,3,3,3,3,1,2,3,2,2,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,1,3,3,2,2,1,3,3,3,1,1,3,1,2,3,2,3,2,2,2,1,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,2,2,3,2,1,0,3,2,0,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,1,0,3,3,3,3,0,2,3,0,0,2,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,2,2,2,2,3,3,0,1,2,3,2,3,2,2,3,2,1,2,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,3,3,3,3,3,1,2,3,3,3,2,1,2,3,3,2,2,2,3,2,3,3,1,3,3,1,1,0,2,3,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,1,2,2,2,2,3,3,3,1,1,1,3,3,1,1,3,1,1,3,2,1,2,3,1,1,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,1,2,1,1,3,3,1,1,1,1,3,3,1,1,2,2,1,2,1,1,2,2,1,1,0,2,2,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,1,1,2,1,1,3,3,1,0,1,1,3,3,2,0,1,1,2,3,1,0,2,2,1,0,0,1,3,2, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,2,1,3,3,3,3,3,1,2,3,2,3,3,2,1,1,3,2,3,2,1,2,2,0,1,2,1,0,0,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,2,2,2,2,3,1,2,2,1,1,3,3,0,3,2,1,2,3,2,1,3,3,1,1,0,2,1,3, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,2,3,3,3,2,1,1,3,3,1,1,1,2,2,3,2,3,2,2,2,1,0,2,2,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +1,0,0,3,3,3,3,3,0,0,3,3,2,3,0,0,0,2,3,3,1,0,1,2,0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,2,3,3,3,3,3,1,2,3,3,2,2,1,1,0,3,3,2,2,1,2,2,1,0,2,2,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,1,3,1,2,3,3,2,2,1,1,2,2,1,1,1,1,3,2,1,1,1,1,2,1,0,1,2,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +2,3,3,1,1,1,1,1,3,3,3,0,1,1,3,3,1,1,1,1,1,2,2,0,3,1,1,2,0,2,1,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,1,0,1,2,1,2,2,0,1,2,3,1,2,0,0,0,2,1,1,1,1,1,2,0,0,1,1,0,0,0,0, +1,2,1,2,2,2,1,2,1,2,0,2,0,2,2,1,1,2,1,1,2,1,1,1,0,1,0,0,0,1,1,0, +1,1,1,2,3,2,3,3,0,1,2,2,3,1,0,1,0,2,1,2,2,0,1,1,0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,3,3,2,2,1,0,0,3,2,3,2,0,0,0,1,1,3,0,0,1,1,0,0,2,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,2,2,3,3,1,0,1,3,2,3,1,1,1,0,1,1,1,1,1,3,1,0,0,2,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,1,2,2,2,1,0,1,2,3,3,2,0,0,0,2,1,1,1,2,1,1,1,0,1,1,1,0,0,0, +1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,0,0,1,1, +3,2,2,1,0,0,1,1,2,2,0,3,0,1,2,1,1,0,0,1,1,1,0,1,1,1,1,0,2,1,1,1, +2,2,1,1,1,2,1,2,1,1,1,1,1,1,1,2,1,1,1,2,3,1,1,1,1,1,1,1,1,1,0,1, +2,3,3,0,1,0,0,0,3,3,1,0,0,1,2,2,1,0,0,0,0,2,0,0,1,1,1,0,2,1,1,1, +2,1,1,1,1,1,1,2,1,1,0,1,1,0,1,1,1,0,1,2,1,1,0,1,1,1,1,1,1,1,0,1, +2,3,3,0,1,0,0,0,2,2,0,0,0,0,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,1,0, +2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, +3,2,2,0,1,0,1,0,2,3,2,0,0,1,2,2,1,0,0,1,1,1,0,0,2,1,0,1,2,2,1,1, +2,1,1,1,1,1,1,2,1,1,1,1,1,1,0,2,1,0,1,1,0,1,1,1,0,1,1,2,1,1,0,1, +2,2,2,0,0,1,0,0,2,2,1,1,0,0,2,1,1,0,0,0,1,2,0,0,2,1,0,0,2,1,1,1, +2,1,1,1,1,2,1,2,1,1,1,2,2,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1, +1,2,3,0,0,0,1,0,3,2,1,0,0,1,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,2,1, +1,1,0,0,0,1,0,1,1,1,1,1,2,0,0,1,0,0,0,2,0,0,1,1,1,1,1,1,1,1,0,1, +3,0,0,2,1,2,2,1,0,0,2,1,2,2,0,0,0,2,1,1,1,0,1,1,0,0,1,1,2,0,0,0, +1,2,1,2,2,1,1,2,1,2,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,0,0,1, +1,3,2,0,0,0,1,0,2,2,2,0,0,0,2,2,1,0,0,0,0,3,1,1,1,1,0,0,2,1,1,1, +2,1,0,1,1,1,0,1,1,1,1,1,1,1,0,2,1,0,0,1,0,1,1,0,1,1,1,1,1,1,0,1, +2,3,2,0,0,0,1,0,2,2,0,0,0,0,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,1,0, +2,1,1,1,1,2,1,2,1,2,0,1,1,1,0,2,1,1,1,2,1,1,1,1,0,1,1,1,1,1,0,1, +3,1,1,2,2,2,3,2,1,1,2,2,1,1,0,1,0,2,2,1,1,1,1,1,0,0,1,1,0,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,0,0,0,0,2,2,0,0,0,0,2,2,1,0,0,0,1,1,0,0,1,2,0,0,2,1,1,1, +2,2,1,1,1,2,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,1,1,0,1,2,1,1,1,0,1, +1,0,0,1,2,3,2,1,0,0,2,0,1,1,0,0,0,1,1,1,1,0,1,1,0,0,1,0,0,0,0,0, +1,2,1,2,1,2,1,1,1,2,0,2,1,1,1,0,1,2,0,0,1,1,1,0,0,0,0,0,0,0,0,0, +2,3,2,0,0,0,0,0,1,1,2,1,0,0,1,1,1,0,0,0,0,2,0,0,1,1,0,0,2,1,1,1, +2,1,1,1,1,1,1,2,1,0,1,1,1,1,0,2,1,1,1,1,1,1,0,1,0,1,1,1,1,1,0,1, +1,2,2,0,1,1,1,0,2,2,2,0,0,0,3,2,1,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0, +1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,0,0,1,1,1,0,1,0,1, +2,1,0,2,1,1,2,2,1,1,2,1,1,1,0,0,0,1,1,0,1,1,1,1,0,0,1,1,1,0,0,0, +1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,1,0, +1,2,3,0,0,0,1,0,2,2,0,0,0,0,2,2,0,0,0,0,0,1,0,0,1,0,0,0,2,0,1,0, +2,1,1,1,1,1,0,2,0,0,0,1,2,1,1,1,1,0,1,2,0,1,0,1,0,1,1,1,0,1,0,1, +2,2,2,0,0,0,1,0,2,1,2,0,0,0,1,1,2,0,0,0,0,1,0,0,1,1,0,0,2,1,0,1, +2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, +1,2,2,0,0,0,1,0,2,2,2,0,0,0,1,1,0,0,0,0,0,1,1,0,2,0,0,1,1,1,0,1, +1,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,0,0,1,1,0,1,0,1,1,1,1,1,0,0,0,1, +1,0,0,1,0,1,2,1,0,0,1,1,1,2,0,0,0,1,1,0,1,0,1,1,0,0,1,0,0,0,0,0, +0,2,1,2,1,1,1,1,1,2,0,2,0,1,1,0,1,2,1,0,1,1,1,0,0,0,0,0,0,1,0,0, +2,1,1,0,1,2,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,2,1,0,1, +2,2,1,1,1,1,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,0,1,0,1,1,1,1,1,0,1, +1,2,2,0,0,0,0,0,1,1,0,0,0,0,2,1,0,0,0,0,0,2,0,0,2,2,0,0,2,0,0,1, +2,1,1,1,1,1,1,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1, +1,1,2,0,0,3,1,0,2,1,1,1,0,0,1,1,1,0,0,0,1,1,0,0,0,1,0,0,1,0,1,0, +1,2,1,0,1,1,1,2,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,0,0, +2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,2,0,0,0, +2,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,1,0,1, +2,1,1,1,2,1,1,1,0,1,1,2,1,0,0,0,0,1,1,1,1,0,1,0,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,0,1,1,1,1,1,0,0,1,1,2,1,0,0,0,1,1,0,0,0,1,1,0,0,1,0,1,0,0,0, +1,2,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0, +2,0,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,1,2,0,0,1,0,0,1,0,1,0,0,0, +0,1,1,1,1,1,1,1,1,2,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,1,0,0,2,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0, +0,1,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +0,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,0,0,0,1,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, +2,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,0,0,1,0,1,0,1,1,1,0,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0,1,1,0,1,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +) + +Latin2HungarianModel = { + 'char_to_order_map': Latin2_HungarianCharToOrderMap, + 'precedence_matrix': HungarianLangModel, + 'typical_positive_ratio': 0.947368, + 'keep_english_letter': True, + 'charset_name': "ISO-8859-2", + 'language': 'Hungarian', +} + +Win1250HungarianModel = { + 'char_to_order_map': win1250HungarianCharToOrderMap, + 'precedence_matrix': HungarianLangModel, + 'typical_positive_ratio': 0.947368, + 'keep_english_letter': True, + 'charset_name': "windows-1250", + 'language': 'Hungarian', +} diff --git a/venv/lib/python3.6/site-packages/chardet/langthaimodel.py b/venv/lib/python3.6/site-packages/chardet/langthaimodel.py new file mode 100644 index 0000000..15f94c2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/langthaimodel.py @@ -0,0 +1,199 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# The following result for thai was collected from a limited sample (1M). + +# Character Mapping Table: +TIS620CharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,182,106,107,100,183,184,185,101, 94,186,187,108,109,110,111, # 40 +188,189,190, 89, 95,112,113,191,192,193,194,253,253,253,253,253, # 50 +253, 64, 72, 73,114, 74,115,116,102, 81,201,117, 90,103, 78, 82, # 60 + 96,202, 91, 79, 84,104,105, 97, 98, 92,203,253,253,253,253,253, # 70 +209,210,211,212,213, 88,214,215,216,217,218,219,220,118,221,222, +223,224, 99, 85, 83,225,226,227,228,229,230,231,232,233,234,235, +236, 5, 30,237, 24,238, 75, 8, 26, 52, 34, 51,119, 47, 58, 57, + 49, 53, 55, 43, 20, 19, 44, 14, 48, 3, 17, 25, 39, 62, 31, 54, + 45, 9, 16, 2, 61, 15,239, 12, 42, 46, 18, 21, 76, 4, 66, 63, + 22, 10, 1, 36, 23, 13, 40, 27, 32, 35, 86,240,241,242,243,244, + 11, 28, 41, 29, 33,245, 50, 37, 6, 7, 67, 77, 38, 93,246,247, + 68, 56, 59, 65, 69, 60, 70, 80, 71, 87,248,249,250,251,252,253, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 92.6386% +# first 1024 sequences:7.3177% +# rest sequences: 1.0230% +# negative sequences: 0.0436% +ThaiLangModel = ( +0,1,3,3,3,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,0,0,3,3,3,0,3,3,3,3, +0,3,3,0,0,0,1,3,0,3,3,2,3,3,0,1,2,3,3,3,3,0,2,0,2,0,0,3,2,1,2,2, +3,0,3,3,2,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,0,3,2,3,0,2,2,2,3, +0,2,3,0,0,0,0,1,0,1,2,3,1,1,3,2,2,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1, +3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,3,3,2,3,2,3,3,2,2,2, +3,1,2,3,0,3,3,2,2,1,2,3,3,1,2,0,1,3,0,1,0,0,1,0,0,0,0,0,0,0,1,1, +3,3,2,2,3,3,3,3,1,2,3,3,3,3,3,2,2,2,2,3,3,2,2,3,3,2,2,3,2,3,2,2, +3,3,1,2,3,1,2,2,3,3,1,0,2,1,0,0,3,1,2,1,0,0,1,0,0,0,0,0,0,1,0,1, +3,3,3,3,3,3,2,2,3,3,3,3,2,3,2,2,3,3,2,2,3,2,2,2,2,1,1,3,1,2,1,1, +3,2,1,0,2,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,2,3,3,2,2,3,2,3,3,2,3,1,1,2,3,2,2,2,3,2,2,2,2,2,1,2,1, +2,2,1,1,3,3,2,1,0,1,2,2,0,1,3,0,0,0,1,1,0,0,0,0,0,2,3,0,0,2,1,1, +3,3,2,3,3,2,0,0,3,3,0,3,3,0,2,2,3,1,2,2,1,1,1,0,2,2,2,0,2,2,1,1, +0,2,1,0,2,0,0,2,0,1,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,2,3,3,2,0,0,3,3,0,2,3,0,2,1,2,2,2,2,1,2,0,0,2,2,2,0,2,2,1,1, +0,2,1,0,2,0,0,2,0,1,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,2,3,2,3,2,0,2,2,1,3,2,1,3,2,1,2,3,2,2,3,0,2,3,2,2,1,2,2,2,2, +1,2,2,0,0,0,0,2,0,1,2,0,1,1,1,0,1,0,3,1,1,0,0,0,0,0,0,0,0,0,1,0, +3,3,2,3,3,2,3,2,2,2,3,2,2,3,2,2,1,2,3,2,2,3,1,3,2,2,2,3,2,2,2,3, +3,2,1,3,0,1,1,1,0,2,1,1,1,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,2,0,0, +1,0,0,3,0,3,3,3,3,3,0,0,3,0,2,2,3,3,3,3,3,0,0,0,1,1,3,0,0,0,0,2, +0,0,1,0,0,0,0,0,0,0,2,3,0,0,0,3,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +2,0,3,3,3,3,0,0,2,3,0,0,3,0,3,3,2,3,3,3,3,3,0,0,3,3,3,0,0,0,3,3, +0,0,3,0,0,0,0,2,0,0,2,1,1,3,0,0,1,0,0,2,3,0,1,0,0,0,0,0,0,0,1,0, +3,3,3,3,2,3,3,3,3,3,3,3,1,2,1,3,3,2,2,1,2,2,2,3,1,1,2,0,2,1,2,1, +2,2,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0, +3,0,2,1,2,3,3,3,0,2,0,2,2,0,2,1,3,2,2,1,2,1,0,0,2,2,1,0,2,1,2,2, +0,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,3,3,1,1,3,0,2,3,1,1,3,2,1,1,2,0,2,2,3,2,1,1,1,1,1,2, +3,0,0,1,3,1,2,1,2,0,3,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +3,3,1,1,3,2,3,3,3,1,3,2,1,3,2,1,3,2,2,2,2,1,3,3,1,2,1,3,1,2,3,0, +2,1,1,3,2,2,2,1,2,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, +3,3,2,3,2,3,3,2,3,2,3,2,3,3,2,1,0,3,2,2,2,1,2,2,2,1,2,2,1,2,1,1, +2,2,2,3,0,1,3,1,1,1,1,0,1,1,0,2,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,2,2,1,1,3,2,3,2,3,2,0,3,2,2,1,2,0,2,2,2,1,2,2,2,2,1, +3,2,1,2,2,1,0,2,0,1,0,0,1,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,2,3,1,2,3,3,2,2,3,0,1,1,2,0,3,3,2,2,3,0,1,1,3,0,0,0,0, +3,1,0,3,3,0,2,0,2,1,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,2,3,3,0,1,3,1,1,2,1,2,1,1,3,1,1,0,2,3,1,1,1,1,1,1,1,1, +3,1,1,2,2,2,2,1,1,1,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,2,2,1,1,2,1,3,3,2,3,2,2,3,2,2,3,1,2,2,1,2,0,3,2,1,2,2,2,2,2,1, +3,2,1,2,2,2,1,1,1,1,0,0,1,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,1,3,3,0,2,1,0,3,2,0,0,3,1,0,1,1,0,1,0,0,0,0,0,1, +1,0,0,1,0,3,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,2,2,2,3,0,0,1,3,0,3,2,0,3,2,2,3,3,3,3,3,1,0,2,2,2,0,2,2,1,2, +0,2,3,0,0,0,0,1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,0,2,3,1,3,3,2,3,3,0,3,3,0,3,2,2,3,2,3,3,3,0,0,2,2,3,0,1,1,1,3, +0,0,3,0,0,0,2,2,0,1,3,0,1,2,2,2,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1, +3,2,3,3,2,0,3,3,2,2,3,1,3,2,1,3,2,0,1,2,2,0,2,3,2,1,0,3,0,0,0,0, +3,0,0,2,3,1,3,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,3,2,2,2,1,2,0,1,3,1,1,3,1,3,0,0,2,1,1,1,1,2,1,1,1,0,2,1,0,1, +1,2,0,0,0,3,1,1,0,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,3,1,0,0,0,1,0, +3,3,3,3,2,2,2,2,2,1,3,1,1,1,2,0,1,1,2,1,2,1,3,2,0,0,3,1,1,1,1,1, +3,1,0,2,3,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,3,0,3,3,0,2,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,3,1,3,0,0,1,2,0,0,2,0,3,3,2,3,3,3,2,3,0,0,2,2,2,0,0,0,2,2, +0,0,1,0,0,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,1,2,3,1,3,3,0,0,1,0,3,0,0,0,0,0, +0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,2,3,1,2,3,1,0,3,0,2,2,1,0,2,1,1,2,0,1,0,0,1,1,1,1,0,1,0,0, +1,0,0,0,0,1,1,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,0,1,1,1,3,1,2,2,2,2,2,2,1,1,1,1,0,3,1,0,1,3,1,1,1,1, +1,1,0,2,0,1,3,1,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1, +3,0,2,2,1,3,3,2,3,3,0,1,1,0,2,2,1,2,1,3,3,1,0,0,3,2,0,0,0,0,2,1, +0,1,0,0,0,0,1,2,0,1,1,3,1,1,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,3,0,0,1,0,0,0,3,0,0,3,0,3,1,0,1,1,1,3,2,0,0,0,3,0,0,0,0,2,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,1,3,2,1,3,3,1,2,2,0,1,2,1,0,1,2,0,0,0,0,0,3,0,0,0,3,0,0,0,0, +3,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,2,0,3,3,3,2,2,0,1,1,0,1,3,0,0,0,2,2,0,0,0,0,3,1,0,1,0,0,0, +0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,2,3,1,2,0,0,2,1,0,3,1,0,1,2,0,1,1,1,1,3,0,0,3,1,1,0,2,2,1,1, +0,2,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,3,1,2,0,0,2,2,0,1,2,0,1,0,1,3,1,2,1,0,0,0,2,0,3,0,0,0,1,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,1,2,2,0,0,0,2,0,2,1,0,1,1,0,1,1,1,2,1,0,0,1,1,1,0,2,1,1,1, +0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1, +0,0,0,2,0,1,3,1,1,1,1,0,0,0,0,3,2,0,1,0,0,0,1,2,0,0,0,1,0,0,0,0, +0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,2,3,2,2,0,0,0,1,0,0,0,0,2,3,2,1,2,2,3,0,0,0,2,3,1,0,0,0,1,1, +0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0, +3,3,2,2,0,1,0,0,0,0,2,0,2,0,1,0,0,0,1,1,0,0,0,2,1,0,1,0,1,1,0,0, +0,1,0,2,0,0,1,0,3,0,1,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,0,0,1,0,0,0,0,0,1,1,2,0,0,0,0,1,0,0,1,3,1,0,0,0,0,1,1,0,0, +0,1,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0, +3,3,1,1,1,1,2,3,0,0,2,1,1,1,1,1,0,2,1,1,0,0,0,2,1,0,1,2,1,1,0,1, +2,1,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,3,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1, +0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,0,0,0,0,1,2,1,0,1,1,0,2,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,1,3,0,1,0,0,0,2,0,0,0,0,0,0,0,1,2,0,0,0,0,0, +3,3,0,0,1,1,2,0,0,1,2,1,0,1,1,1,0,1,1,0,0,2,1,1,0,1,0,0,1,1,1,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,1,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,0,0,1,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,0,1,2,0,1,2,0,0,1,1,0,2,0,1,0,0,1,0,0,0,0,1,0,0,0,2,0,0,0,0, +1,0,0,1,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,2,1,3,0,0,0,0,1,1,0,0,0,0,0,0,0,3, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,1,0,0,2,0,0,2,0,0,1,1,2,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,0, +1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,3,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0, +1,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,1,0,0,2,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +) + +TIS620ThaiModel = { + 'char_to_order_map': TIS620CharToOrderMap, + 'precedence_matrix': ThaiLangModel, + 'typical_positive_ratio': 0.926386, + 'keep_english_letter': False, + 'charset_name': "TIS-620", + 'language': 'Thai', +} diff --git a/venv/lib/python3.6/site-packages/chardet/langturkishmodel.py b/venv/lib/python3.6/site-packages/chardet/langturkishmodel.py new file mode 100644 index 0000000..a427a45 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/langturkishmodel.py @@ -0,0 +1,193 @@ +# -*- coding: utf-8 -*- +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Özgür Baskın - Turkish Language Model +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +Latin5_TurkishCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 23, 37, 47, 39, 29, 52, 36, 45, 53, 60, 16, 49, 20, 46, 42, + 48, 69, 44, 35, 31, 51, 38, 62, 65, 43, 56,255,255,255,255,255, +255, 1, 21, 28, 12, 2, 18, 27, 25, 3, 24, 10, 5, 13, 4, 15, + 26, 64, 7, 8, 9, 14, 32, 57, 58, 11, 22,255,255,255,255,255, +180,179,178,177,176,175,174,173,172,171,170,169,168,167,166,165, +164,163,162,161,160,159,101,158,157,156,155,154,153,152,151,106, +150,149,148,147,146,145,144,100,143,142,141,140,139,138,137,136, + 94, 80, 93,135,105,134,133, 63,132,131,130,129,128,127,126,125, +124,104, 73, 99, 79, 85,123, 54,122, 98, 92,121,120, 91,103,119, + 68,118,117, 97,116,115, 50, 90,114,113,112,111, 55, 41, 40, 86, + 89, 70, 59, 78, 71, 82, 88, 33, 77, 66, 84, 83,110, 75, 61, 96, + 30, 67,109, 74, 87,102, 34, 95, 81,108, 76, 72, 17, 6, 19,107, +) + +TurkishLangModel = ( +3,2,3,3,3,1,3,3,3,3,3,3,3,3,2,1,1,3,3,1,3,3,0,3,3,3,3,3,0,3,1,3, +3,2,1,0,0,1,1,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1, +3,2,2,3,3,0,3,3,3,3,3,3,3,2,3,1,0,3,3,1,3,3,0,3,3,3,3,3,0,3,0,3, +3,1,1,0,1,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,0,1,0,1, +3,3,2,3,3,0,3,3,3,3,3,3,3,2,3,1,1,3,3,0,3,3,1,2,3,3,3,3,0,3,0,3, +3,1,1,0,0,0,1,0,0,0,0,1,1,0,1,2,1,0,0,0,1,0,0,0,0,2,0,0,0,0,0,1, +3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,1,3,3,2,0,3,2,1,2,2,1,3,3,0,0,0,2, +2,2,0,1,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,1,0,0,1, +3,3,3,2,3,3,1,2,3,3,3,3,3,3,3,1,3,2,1,0,3,2,0,1,2,3,3,2,1,0,0,2, +2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0, +1,0,1,3,3,1,3,3,3,3,3,3,3,1,2,0,0,2,3,0,2,3,0,0,2,2,2,3,0,3,0,1, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,0,3,2,0,2,3,2,3,3,1,0,0,2, +3,2,0,0,1,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,2,0,0,1, +3,3,3,2,3,3,2,3,3,3,3,2,3,3,3,0,3,3,0,0,2,1,0,0,2,3,2,2,0,0,0,2, +2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,1,0,2,0,0,1, +3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,0,1,3,2,1,1,3,2,3,2,1,0,0,2, +2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0, +3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,2,0,2,3,0,0,2,2,2,2,0,0,0,2, +3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0, +3,3,3,3,3,3,3,2,2,2,2,3,2,3,3,0,3,3,1,1,2,2,0,0,2,2,3,2,0,0,1,3, +0,3,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1, +3,3,3,2,3,3,3,2,1,2,2,3,2,3,3,0,3,2,0,0,1,1,0,1,1,2,1,2,0,0,0,1, +0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0, +3,3,3,2,3,3,2,3,2,2,2,3,3,3,3,1,3,1,1,0,3,2,1,1,3,3,2,3,1,0,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,1, +3,2,2,3,3,0,3,3,3,3,3,3,3,2,2,1,0,3,3,1,3,3,0,1,3,3,2,3,0,3,0,3, +2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +2,2,2,3,3,0,3,3,3,3,3,3,3,3,3,0,0,3,2,0,3,3,0,3,2,3,3,3,0,3,1,3, +2,0,0,0,0,0,0,0,0,0,0,1,0,1,2,0,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1, +3,3,3,1,2,3,3,1,0,0,1,0,0,3,3,2,3,0,0,2,0,0,2,0,2,0,0,0,2,0,2,0, +0,3,1,0,1,0,0,0,2,2,1,0,1,1,2,1,2,2,2,0,2,1,1,0,0,0,2,0,0,0,0,0, +1,2,1,3,3,0,3,3,3,3,3,2,3,0,0,0,0,2,3,0,2,3,1,0,2,3,1,3,0,3,0,2, +3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,3,3,2,2,3,2,2,0,1,2,3,0,1,2,1,0,1,0,0,0,1,0,2,2,0,0,0,1, +1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0, +3,3,3,1,3,3,1,1,3,3,1,1,3,3,1,0,2,1,2,0,2,1,0,0,1,1,2,1,0,0,0,2, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,0,2,1,3,0,0,2,0,0,3,3,0,3,0,0,1,0,1,2,0,0,1,1,2,2,0,1,0, +0,1,2,1,1,0,1,0,1,1,1,1,1,0,1,1,1,2,2,1,2,0,1,0,0,0,0,0,0,1,0,0, +3,3,3,2,3,2,3,3,0,2,2,2,3,3,3,0,3,0,0,0,2,2,0,1,2,1,1,1,0,0,0,1, +0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +3,3,3,3,3,3,2,1,2,2,3,3,3,3,2,0,2,0,0,0,2,2,0,0,2,1,3,3,0,0,1,1, +1,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0, +1,1,2,3,3,0,3,3,3,3,3,3,2,2,0,2,0,2,3,2,3,2,2,2,2,2,2,2,1,3,2,3, +2,0,2,1,2,2,2,2,1,1,2,2,1,2,2,1,2,0,0,2,1,1,0,2,1,0,0,1,0,0,0,1, +2,3,3,1,1,1,0,1,1,1,2,3,2,1,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,2,3,2,2,1,3,3,3,0,2,1,2,0,2,1,0,0,1,1,1,1,1,0,0,1, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0, +3,3,3,2,3,3,3,3,3,2,3,1,2,3,3,1,2,0,0,0,0,0,0,0,3,2,1,1,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +3,3,3,2,2,3,3,2,1,1,1,1,1,3,3,0,3,1,0,0,1,1,0,0,3,1,2,1,0,0,0,0, +0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, +3,3,3,2,2,3,2,2,2,3,2,1,1,3,3,0,3,0,0,0,0,1,0,0,3,1,1,2,0,0,0,1, +1,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,1,3,3,0,3,3,3,3,3,2,2,2,1,2,0,2,1,2,2,1,1,0,1,2,2,2,2,2,2,2, +0,0,2,1,2,1,2,1,0,1,1,3,1,2,1,1,2,0,0,2,0,1,0,1,0,1,0,0,0,1,0,1, +3,3,3,1,3,3,3,0,1,1,0,2,2,3,1,0,3,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,2,2,1,0,0,1,0,0,3,3,1,3,0,0,1,1,0,2,0,3,0,0,0,2,0,1,1, +0,1,2,0,1,2,2,0,2,2,2,2,1,0,2,1,1,0,2,0,2,1,2,0,0,0,0,0,0,0,0,0, +3,3,3,1,3,2,3,2,0,2,2,2,1,3,2,0,2,1,2,0,1,2,0,0,1,0,2,2,0,0,0,2, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0, +3,3,3,0,3,3,1,1,2,3,1,0,3,2,3,0,3,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0, +1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,0,3,3,2,3,3,2,2,0,0,0,0,1,2,0,1,3,0,0,0,3,1,1,0,3,0,2, +2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,2,2,1,0,3,1,1,1,1,3,3,2,3,0,0,1,0,1,2,0,2,2,0,2,2,0,2,1, +0,2,2,1,1,1,1,0,2,1,1,0,1,1,1,1,2,1,2,1,2,0,1,0,1,0,0,0,0,0,0,0, +3,3,3,0,1,1,3,0,0,1,1,0,0,2,2,0,3,0,0,1,1,0,1,0,0,0,0,0,2,0,0,0, +0,3,1,0,1,0,1,0,2,0,0,1,0,1,0,1,1,1,2,1,1,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,0,2,0,1,1,1,0,0,3,3,0,2,0,0,1,0,0,2,1,1,0,1,0,1,0,1,0, +0,2,0,1,2,0,2,0,2,1,1,0,1,0,2,1,1,0,2,1,1,0,1,0,0,0,1,1,0,0,0,0, +3,2,3,0,1,0,0,0,0,0,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,0,2,0,0,0, +0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,2,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,0,2,3,0,0,1,0,1,0,2,3,2,3,0,0,1,3,0,2,1,0,0,0,0,2,0,1,0, +0,2,1,0,0,1,1,0,2,1,0,0,1,0,0,1,1,0,1,1,2,0,1,0,0,0,0,1,0,0,0,0, +3,2,2,0,0,1,1,0,0,0,0,0,0,3,1,1,1,0,0,0,0,0,1,0,0,0,0,0,2,0,1,0, +0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,0,2,3,2,2,1,2,2,1,1,2,0,1,3,2,2,2,0,0,2,2,0,0,0,1,2,1, +3,0,2,1,1,0,1,1,1,0,1,2,2,2,1,1,2,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0, +0,1,1,2,3,0,3,3,3,2,2,2,2,1,0,1,0,1,0,1,2,2,0,0,2,2,1,3,1,1,2,1, +0,0,1,1,2,0,1,1,0,0,1,2,0,2,1,1,2,0,0,1,0,0,0,1,0,1,0,1,0,0,0,0, +3,3,2,0,0,3,1,0,0,0,0,0,0,3,2,1,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0, +0,2,1,1,0,0,1,0,1,2,0,0,1,1,0,0,2,1,1,1,1,0,2,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,1,0,0,0,0,1,0,0,3,3,2,2,0,0,1,0,0,2,0,1,0,0,0,2,0,1,0, +0,0,1,1,0,0,2,0,2,1,0,0,1,1,2,1,2,0,2,1,2,1,1,1,0,0,1,1,0,0,0,0, +3,3,2,0,0,2,2,0,0,0,1,1,0,2,2,1,3,1,0,1,0,1,2,0,0,0,0,0,1,0,1,0, +0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,0,0,0,1,0,0,1,0,0,2,3,1,2,0,0,1,0,0,2,0,0,0,1,0,2,0,2,0, +0,1,1,2,2,1,2,0,2,1,1,0,0,1,1,0,1,1,1,1,2,1,1,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,1,2,1,0,0,1,1,0,3,3,1,2,0,0,1,0,0,2,0,2,0,1,1,2,0,0,0, +0,0,1,1,1,1,2,0,1,1,0,1,1,1,1,0,0,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0, +3,3,3,0,2,2,3,2,0,0,1,0,0,2,3,1,0,0,0,0,0,0,2,0,2,0,0,0,2,0,0,0, +0,1,1,0,0,0,1,0,0,1,0,1,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,0,0,0,0,0,0,1,0,0,2,2,2,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0, +0,0,2,1,1,0,1,0,2,1,1,0,0,1,1,2,1,0,2,0,2,0,1,0,0,0,2,0,0,0,0,0, +0,0,0,2,2,0,2,1,1,1,1,2,2,0,0,1,0,1,0,0,1,3,0,0,0,0,1,0,0,2,1,0, +0,0,1,0,1,0,0,0,0,0,2,1,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +2,0,0,2,3,0,2,3,1,2,2,0,2,0,0,2,0,2,1,1,1,2,1,0,0,1,2,1,1,2,1,0, +1,0,2,0,1,0,1,1,0,0,2,2,1,2,1,1,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,1,2,0,0,0,1,0,0,3,2,0,1,0,0,1,0,0,2,0,0,0,1,2,1,0,1,0, +0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,2,2,0,2,2,1,1,0,1,1,1,1,1,0,0,1,2,1,1,1,0,1,0,0,0,1,1,1,1, +0,0,2,1,0,1,1,1,0,1,1,2,1,2,1,1,2,0,1,1,2,1,0,2,0,0,0,0,0,0,0,0, +3,2,2,0,0,2,0,0,0,0,0,0,0,2,2,0,2,0,0,1,0,0,2,0,0,0,0,0,2,0,0,0, +0,2,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,3,2,0,2,2,0,1,1,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0, +2,0,1,0,1,0,1,1,0,0,1,2,0,1,0,1,1,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0, +2,2,2,0,1,1,0,0,0,1,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,1,2,0,1,0, +0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,1,0,1,1,1,0,0,0,0,1,2,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +1,1,2,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,1, +0,0,1,2,2,0,2,1,2,1,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +2,2,2,0,0,0,1,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +) + +Latin5TurkishModel = { + 'char_to_order_map': Latin5_TurkishCharToOrderMap, + 'precedence_matrix': TurkishLangModel, + 'typical_positive_ratio': 0.970290, + 'keep_english_letter': True, + 'charset_name': "ISO-8859-9", + 'language': 'Turkish', +} diff --git a/venv/lib/python3.6/site-packages/chardet/latin1prober.py b/venv/lib/python3.6/site-packages/chardet/latin1prober.py new file mode 100644 index 0000000..7d1e8c2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/latin1prober.py @@ -0,0 +1,145 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState + +FREQ_CAT_NUM = 4 + +UDF = 0 # undefined +OTH = 1 # other +ASC = 2 # ascii capital letter +ASS = 3 # ascii small letter +ACV = 4 # accent capital vowel +ACO = 5 # accent capital other +ASV = 6 # accent small vowel +ASO = 7 # accent small other +CLASS_NUM = 8 # total classes + +Latin1_CharToClass = ( + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 00 - 07 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 08 - 0F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 10 - 17 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 18 - 1F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 20 - 27 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 28 - 2F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 30 - 37 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 38 - 3F + OTH, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 40 - 47 + ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 48 - 4F + ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 50 - 57 + ASC, ASC, ASC, OTH, OTH, OTH, OTH, OTH, # 58 - 5F + OTH, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 60 - 67 + ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 68 - 6F + ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 70 - 77 + ASS, ASS, ASS, OTH, OTH, OTH, OTH, OTH, # 78 - 7F + OTH, UDF, OTH, ASO, OTH, OTH, OTH, OTH, # 80 - 87 + OTH, OTH, ACO, OTH, ACO, UDF, ACO, UDF, # 88 - 8F + UDF, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 90 - 97 + OTH, OTH, ASO, OTH, ASO, UDF, ASO, ACO, # 98 - 9F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A0 - A7 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A8 - AF + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B0 - B7 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B8 - BF + ACV, ACV, ACV, ACV, ACV, ACV, ACO, ACO, # C0 - C7 + ACV, ACV, ACV, ACV, ACV, ACV, ACV, ACV, # C8 - CF + ACO, ACO, ACV, ACV, ACV, ACV, ACV, OTH, # D0 - D7 + ACV, ACV, ACV, ACV, ACV, ACO, ACO, ACO, # D8 - DF + ASV, ASV, ASV, ASV, ASV, ASV, ASO, ASO, # E0 - E7 + ASV, ASV, ASV, ASV, ASV, ASV, ASV, ASV, # E8 - EF + ASO, ASO, ASV, ASV, ASV, ASV, ASV, OTH, # F0 - F7 + ASV, ASV, ASV, ASV, ASV, ASO, ASO, ASO, # F8 - FF +) + +# 0 : illegal +# 1 : very unlikely +# 2 : normal +# 3 : very likely +Latin1ClassModel = ( +# UDF OTH ASC ASS ACV ACO ASV ASO + 0, 0, 0, 0, 0, 0, 0, 0, # UDF + 0, 3, 3, 3, 3, 3, 3, 3, # OTH + 0, 3, 3, 3, 3, 3, 3, 3, # ASC + 0, 3, 3, 3, 1, 1, 3, 3, # ASS + 0, 3, 3, 3, 1, 2, 1, 2, # ACV + 0, 3, 3, 3, 3, 3, 3, 3, # ACO + 0, 3, 1, 3, 1, 1, 1, 3, # ASV + 0, 3, 1, 3, 1, 1, 3, 3, # ASO +) + + +class Latin1Prober(CharSetProber): + def __init__(self): + super(Latin1Prober, self).__init__() + self._last_char_class = None + self._freq_counter = None + self.reset() + + def reset(self): + self._last_char_class = OTH + self._freq_counter = [0] * FREQ_CAT_NUM + CharSetProber.reset(self) + + @property + def charset_name(self): + return "ISO-8859-1" + + @property + def language(self): + return "" + + def feed(self, byte_str): + byte_str = self.filter_with_english_letters(byte_str) + for c in byte_str: + char_class = Latin1_CharToClass[c] + freq = Latin1ClassModel[(self._last_char_class * CLASS_NUM) + + char_class] + if freq == 0: + self._state = ProbingState.NOT_ME + break + self._freq_counter[freq] += 1 + self._last_char_class = char_class + + return self.state + + def get_confidence(self): + if self.state == ProbingState.NOT_ME: + return 0.01 + + total = sum(self._freq_counter) + if total < 0.01: + confidence = 0.0 + else: + confidence = ((self._freq_counter[3] - self._freq_counter[1] * 20.0) + / total) + if confidence < 0.0: + confidence = 0.0 + # lower the confidence of latin1 so that other more accurate + # detector can take priority. + confidence = confidence * 0.73 + return confidence diff --git a/venv/lib/python3.6/site-packages/chardet/mbcharsetprober.py b/venv/lib/python3.6/site-packages/chardet/mbcharsetprober.py new file mode 100644 index 0000000..6256ecf --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/mbcharsetprober.py @@ -0,0 +1,91 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# Proofpoint, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState, MachineState + + +class MultiByteCharSetProber(CharSetProber): + """ + MultiByteCharSetProber + """ + + def __init__(self, lang_filter=None): + super(MultiByteCharSetProber, self).__init__(lang_filter=lang_filter) + self.distribution_analyzer = None + self.coding_sm = None + self._last_char = [0, 0] + + def reset(self): + super(MultiByteCharSetProber, self).reset() + if self.coding_sm: + self.coding_sm.reset() + if self.distribution_analyzer: + self.distribution_analyzer.reset() + self._last_char = [0, 0] + + @property + def charset_name(self): + raise NotImplementedError + + @property + def language(self): + raise NotImplementedError + + def feed(self, byte_str): + for i in range(len(byte_str)): + coding_state = self.coding_sm.next_state(byte_str[i]) + if coding_state == MachineState.ERROR: + self.logger.debug('%s %s prober hit error at byte %s', + self.charset_name, self.language, i) + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + char_len = self.coding_sm.get_current_charlen() + if i == 0: + self._last_char[1] = byte_str[0] + self.distribution_analyzer.feed(self._last_char, char_len) + else: + self.distribution_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + + self._last_char[0] = byte_str[-1] + + if self.state == ProbingState.DETECTING: + if (self.distribution_analyzer.got_enough_data() and + (self.get_confidence() > self.SHORTCUT_THRESHOLD)): + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + return self.distribution_analyzer.get_confidence() diff --git a/venv/lib/python3.6/site-packages/chardet/mbcsgroupprober.py b/venv/lib/python3.6/site-packages/chardet/mbcsgroupprober.py new file mode 100644 index 0000000..530abe7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/mbcsgroupprober.py @@ -0,0 +1,54 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# Proofpoint, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetgroupprober import CharSetGroupProber +from .utf8prober import UTF8Prober +from .sjisprober import SJISProber +from .eucjpprober import EUCJPProber +from .gb2312prober import GB2312Prober +from .euckrprober import EUCKRProber +from .cp949prober import CP949Prober +from .big5prober import Big5Prober +from .euctwprober import EUCTWProber + + +class MBCSGroupProber(CharSetGroupProber): + def __init__(self, lang_filter=None): + super(MBCSGroupProber, self).__init__(lang_filter=lang_filter) + self.probers = [ + UTF8Prober(), + SJISProber(), + EUCJPProber(), + GB2312Prober(), + EUCKRProber(), + CP949Prober(), + Big5Prober(), + EUCTWProber() + ] + self.reset() diff --git a/venv/lib/python3.6/site-packages/chardet/mbcssm.py b/venv/lib/python3.6/site-packages/chardet/mbcssm.py new file mode 100644 index 0000000..8360d0f --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/mbcssm.py @@ -0,0 +1,572 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import MachineState + +# BIG5 + +BIG5_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as legal value + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,1, # 78 - 7f + 4,4,4,4,4,4,4,4, # 80 - 87 + 4,4,4,4,4,4,4,4, # 88 - 8f + 4,4,4,4,4,4,4,4, # 90 - 97 + 4,4,4,4,4,4,4,4, # 98 - 9f + 4,3,3,3,3,3,3,3, # a0 - a7 + 3,3,3,3,3,3,3,3, # a8 - af + 3,3,3,3,3,3,3,3, # b0 - b7 + 3,3,3,3,3,3,3,3, # b8 - bf + 3,3,3,3,3,3,3,3, # c0 - c7 + 3,3,3,3,3,3,3,3, # c8 - cf + 3,3,3,3,3,3,3,3, # d0 - d7 + 3,3,3,3,3,3,3,3, # d8 - df + 3,3,3,3,3,3,3,3, # e0 - e7 + 3,3,3,3,3,3,3,3, # e8 - ef + 3,3,3,3,3,3,3,3, # f0 - f7 + 3,3,3,3,3,3,3,0 # f8 - ff +) + +BIG5_ST = ( + MachineState.ERROR,MachineState.START,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,#08-0f + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START#10-17 +) + +BIG5_CHAR_LEN_TABLE = (0, 1, 1, 2, 0) + +BIG5_SM_MODEL = {'class_table': BIG5_CLS, + 'class_factor': 5, + 'state_table': BIG5_ST, + 'char_len_table': BIG5_CHAR_LEN_TABLE, + 'name': 'Big5'} + +# CP949 + +CP949_CLS = ( + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,0,0, # 00 - 0f + 1,1,1,1,1,1,1,1, 1,1,1,0,1,1,1,1, # 10 - 1f + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 20 - 2f + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 30 - 3f + 1,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4, # 40 - 4f + 4,4,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 50 - 5f + 1,5,5,5,5,5,5,5, 5,5,5,5,5,5,5,5, # 60 - 6f + 5,5,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 70 - 7f + 0,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 80 - 8f + 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 90 - 9f + 6,7,7,7,7,7,7,7, 7,7,7,7,7,8,8,8, # a0 - af + 7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7, # b0 - bf + 7,7,7,7,7,7,9,2, 2,3,2,2,2,2,2,2, # c0 - cf + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # d0 - df + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # e0 - ef + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,0, # f0 - ff +) + +CP949_ST = ( +#cls= 0 1 2 3 4 5 6 7 8 9 # previous state = + MachineState.ERROR,MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START, 4, 5,MachineState.ERROR, 6, # MachineState.START + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, # MachineState.ERROR + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME, # MachineState.ITS_ME + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START, # 3 + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, # 4 + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, # 5 + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START, # 6 +) + +CP949_CHAR_LEN_TABLE = (0, 1, 2, 0, 1, 1, 2, 2, 0, 2) + +CP949_SM_MODEL = {'class_table': CP949_CLS, + 'class_factor': 10, + 'state_table': CP949_ST, + 'char_len_table': CP949_CHAR_LEN_TABLE, + 'name': 'CP949'} + +# EUC-JP + +EUCJP_CLS = ( + 4,4,4,4,4,4,4,4, # 00 - 07 + 4,4,4,4,4,4,5,5, # 08 - 0f + 4,4,4,4,4,4,4,4, # 10 - 17 + 4,4,4,5,4,4,4,4, # 18 - 1f + 4,4,4,4,4,4,4,4, # 20 - 27 + 4,4,4,4,4,4,4,4, # 28 - 2f + 4,4,4,4,4,4,4,4, # 30 - 37 + 4,4,4,4,4,4,4,4, # 38 - 3f + 4,4,4,4,4,4,4,4, # 40 - 47 + 4,4,4,4,4,4,4,4, # 48 - 4f + 4,4,4,4,4,4,4,4, # 50 - 57 + 4,4,4,4,4,4,4,4, # 58 - 5f + 4,4,4,4,4,4,4,4, # 60 - 67 + 4,4,4,4,4,4,4,4, # 68 - 6f + 4,4,4,4,4,4,4,4, # 70 - 77 + 4,4,4,4,4,4,4,4, # 78 - 7f + 5,5,5,5,5,5,5,5, # 80 - 87 + 5,5,5,5,5,5,1,3, # 88 - 8f + 5,5,5,5,5,5,5,5, # 90 - 97 + 5,5,5,5,5,5,5,5, # 98 - 9f + 5,2,2,2,2,2,2,2, # a0 - a7 + 2,2,2,2,2,2,2,2, # a8 - af + 2,2,2,2,2,2,2,2, # b0 - b7 + 2,2,2,2,2,2,2,2, # b8 - bf + 2,2,2,2,2,2,2,2, # c0 - c7 + 2,2,2,2,2,2,2,2, # c8 - cf + 2,2,2,2,2,2,2,2, # d0 - d7 + 2,2,2,2,2,2,2,2, # d8 - df + 0,0,0,0,0,0,0,0, # e0 - e7 + 0,0,0,0,0,0,0,0, # e8 - ef + 0,0,0,0,0,0,0,0, # f0 - f7 + 0,0,0,0,0,0,0,5 # f8 - ff +) + +EUCJP_ST = ( + 3, 4, 3, 5,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.START,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#10-17 + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 3,MachineState.ERROR,#18-1f + 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START#20-27 +) + +EUCJP_CHAR_LEN_TABLE = (2, 2, 2, 3, 1, 0) + +EUCJP_SM_MODEL = {'class_table': EUCJP_CLS, + 'class_factor': 6, + 'state_table': EUCJP_ST, + 'char_len_table': EUCJP_CHAR_LEN_TABLE, + 'name': 'EUC-JP'} + +# EUC-KR + +EUCKR_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 1,1,1,1,1,1,1,1, # 40 - 47 + 1,1,1,1,1,1,1,1, # 48 - 4f + 1,1,1,1,1,1,1,1, # 50 - 57 + 1,1,1,1,1,1,1,1, # 58 - 5f + 1,1,1,1,1,1,1,1, # 60 - 67 + 1,1,1,1,1,1,1,1, # 68 - 6f + 1,1,1,1,1,1,1,1, # 70 - 77 + 1,1,1,1,1,1,1,1, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,0,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,2,2,2,2,2,2,2, # a0 - a7 + 2,2,2,2,2,3,3,3, # a8 - af + 2,2,2,2,2,2,2,2, # b0 - b7 + 2,2,2,2,2,2,2,2, # b8 - bf + 2,2,2,2,2,2,2,2, # c0 - c7 + 2,3,2,2,2,2,2,2, # c8 - cf + 2,2,2,2,2,2,2,2, # d0 - d7 + 2,2,2,2,2,2,2,2, # d8 - df + 2,2,2,2,2,2,2,2, # e0 - e7 + 2,2,2,2,2,2,2,2, # e8 - ef + 2,2,2,2,2,2,2,2, # f0 - f7 + 2,2,2,2,2,2,2,0 # f8 - ff +) + +EUCKR_ST = ( + MachineState.ERROR,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START #08-0f +) + +EUCKR_CHAR_LEN_TABLE = (0, 1, 2, 0) + +EUCKR_SM_MODEL = {'class_table': EUCKR_CLS, + 'class_factor': 4, + 'state_table': EUCKR_ST, + 'char_len_table': EUCKR_CHAR_LEN_TABLE, + 'name': 'EUC-KR'} + +# EUC-TW + +EUCTW_CLS = ( + 2,2,2,2,2,2,2,2, # 00 - 07 + 2,2,2,2,2,2,0,0, # 08 - 0f + 2,2,2,2,2,2,2,2, # 10 - 17 + 2,2,2,0,2,2,2,2, # 18 - 1f + 2,2,2,2,2,2,2,2, # 20 - 27 + 2,2,2,2,2,2,2,2, # 28 - 2f + 2,2,2,2,2,2,2,2, # 30 - 37 + 2,2,2,2,2,2,2,2, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,2, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,6,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,3,4,4,4,4,4,4, # a0 - a7 + 5,5,1,1,1,1,1,1, # a8 - af + 1,1,1,1,1,1,1,1, # b0 - b7 + 1,1,1,1,1,1,1,1, # b8 - bf + 1,1,3,1,3,3,3,3, # c0 - c7 + 3,3,3,3,3,3,3,3, # c8 - cf + 3,3,3,3,3,3,3,3, # d0 - d7 + 3,3,3,3,3,3,3,3, # d8 - df + 3,3,3,3,3,3,3,3, # e0 - e7 + 3,3,3,3,3,3,3,3, # e8 - ef + 3,3,3,3,3,3,3,3, # f0 - f7 + 3,3,3,3,3,3,3,0 # f8 - ff +) + +EUCTW_ST = ( + MachineState.ERROR,MachineState.ERROR,MachineState.START, 3, 3, 3, 4,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,MachineState.ERROR,#10-17 + MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f + 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.START,MachineState.START,#20-27 + MachineState.START,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START #28-2f +) + +EUCTW_CHAR_LEN_TABLE = (0, 0, 1, 2, 2, 2, 3) + +EUCTW_SM_MODEL = {'class_table': EUCTW_CLS, + 'class_factor': 7, + 'state_table': EUCTW_ST, + 'char_len_table': EUCTW_CHAR_LEN_TABLE, + 'name': 'x-euc-tw'} + +# GB2312 + +GB2312_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 3,3,3,3,3,3,3,3, # 30 - 37 + 3,3,1,1,1,1,1,1, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,4, # 78 - 7f + 5,6,6,6,6,6,6,6, # 80 - 87 + 6,6,6,6,6,6,6,6, # 88 - 8f + 6,6,6,6,6,6,6,6, # 90 - 97 + 6,6,6,6,6,6,6,6, # 98 - 9f + 6,6,6,6,6,6,6,6, # a0 - a7 + 6,6,6,6,6,6,6,6, # a8 - af + 6,6,6,6,6,6,6,6, # b0 - b7 + 6,6,6,6,6,6,6,6, # b8 - bf + 6,6,6,6,6,6,6,6, # c0 - c7 + 6,6,6,6,6,6,6,6, # c8 - cf + 6,6,6,6,6,6,6,6, # d0 - d7 + 6,6,6,6,6,6,6,6, # d8 - df + 6,6,6,6,6,6,6,6, # e0 - e7 + 6,6,6,6,6,6,6,6, # e8 - ef + 6,6,6,6,6,6,6,6, # f0 - f7 + 6,6,6,6,6,6,6,0 # f8 - ff +) + +GB2312_ST = ( + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, 3,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,#10-17 + 4,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f + MachineState.ERROR,MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,#20-27 + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START #28-2f +) + +# To be accurate, the length of class 6 can be either 2 or 4. +# But it is not necessary to discriminate between the two since +# it is used for frequency analysis only, and we are validating +# each code range there as well. So it is safe to set it to be +# 2 here. +GB2312_CHAR_LEN_TABLE = (0, 1, 1, 1, 1, 1, 2) + +GB2312_SM_MODEL = {'class_table': GB2312_CLS, + 'class_factor': 7, + 'state_table': GB2312_ST, + 'char_len_table': GB2312_CHAR_LEN_TABLE, + 'name': 'GB2312'} + +# Shift_JIS + +SJIS_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,1, # 78 - 7f + 3,3,3,3,3,2,2,3, # 80 - 87 + 3,3,3,3,3,3,3,3, # 88 - 8f + 3,3,3,3,3,3,3,3, # 90 - 97 + 3,3,3,3,3,3,3,3, # 98 - 9f + #0xa0 is illegal in sjis encoding, but some pages does + #contain such byte. We need to be more error forgiven. + 2,2,2,2,2,2,2,2, # a0 - a7 + 2,2,2,2,2,2,2,2, # a8 - af + 2,2,2,2,2,2,2,2, # b0 - b7 + 2,2,2,2,2,2,2,2, # b8 - bf + 2,2,2,2,2,2,2,2, # c0 - c7 + 2,2,2,2,2,2,2,2, # c8 - cf + 2,2,2,2,2,2,2,2, # d0 - d7 + 2,2,2,2,2,2,2,2, # d8 - df + 3,3,3,3,3,3,3,3, # e0 - e7 + 3,3,3,3,3,4,4,4, # e8 - ef + 3,3,3,3,3,3,3,3, # f0 - f7 + 3,3,3,3,3,0,0,0) # f8 - ff + + +SJIS_ST = ( + MachineState.ERROR,MachineState.START,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START #10-17 +) + +SJIS_CHAR_LEN_TABLE = (0, 1, 1, 2, 0, 0) + +SJIS_SM_MODEL = {'class_table': SJIS_CLS, + 'class_factor': 6, + 'state_table': SJIS_ST, + 'char_len_table': SJIS_CHAR_LEN_TABLE, + 'name': 'Shift_JIS'} + +# UCS2-BE + +UCS2BE_CLS = ( + 0,0,0,0,0,0,0,0, # 00 - 07 + 0,0,1,0,0,2,0,0, # 08 - 0f + 0,0,0,0,0,0,0,0, # 10 - 17 + 0,0,0,3,0,0,0,0, # 18 - 1f + 0,0,0,0,0,0,0,0, # 20 - 27 + 0,3,3,3,3,3,0,0, # 28 - 2f + 0,0,0,0,0,0,0,0, # 30 - 37 + 0,0,0,0,0,0,0,0, # 38 - 3f + 0,0,0,0,0,0,0,0, # 40 - 47 + 0,0,0,0,0,0,0,0, # 48 - 4f + 0,0,0,0,0,0,0,0, # 50 - 57 + 0,0,0,0,0,0,0,0, # 58 - 5f + 0,0,0,0,0,0,0,0, # 60 - 67 + 0,0,0,0,0,0,0,0, # 68 - 6f + 0,0,0,0,0,0,0,0, # 70 - 77 + 0,0,0,0,0,0,0,0, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,0,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,0,0,0,0,0,0,0, # a0 - a7 + 0,0,0,0,0,0,0,0, # a8 - af + 0,0,0,0,0,0,0,0, # b0 - b7 + 0,0,0,0,0,0,0,0, # b8 - bf + 0,0,0,0,0,0,0,0, # c0 - c7 + 0,0,0,0,0,0,0,0, # c8 - cf + 0,0,0,0,0,0,0,0, # d0 - d7 + 0,0,0,0,0,0,0,0, # d8 - df + 0,0,0,0,0,0,0,0, # e0 - e7 + 0,0,0,0,0,0,0,0, # e8 - ef + 0,0,0,0,0,0,0,0, # f0 - f7 + 0,0,0,0,0,0,4,5 # f8 - ff +) + +UCS2BE_ST = ( + 5, 7, 7,MachineState.ERROR, 4, 3,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME, 6, 6, 6, 6,MachineState.ERROR,MachineState.ERROR,#10-17 + 6, 6, 6, 6, 6,MachineState.ITS_ME, 6, 6,#18-1f + 6, 6, 6, 6, 5, 7, 7,MachineState.ERROR,#20-27 + 5, 8, 6, 6,MachineState.ERROR, 6, 6, 6,#28-2f + 6, 6, 6, 6,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START #30-37 +) + +UCS2BE_CHAR_LEN_TABLE = (2, 2, 2, 0, 2, 2) + +UCS2BE_SM_MODEL = {'class_table': UCS2BE_CLS, + 'class_factor': 6, + 'state_table': UCS2BE_ST, + 'char_len_table': UCS2BE_CHAR_LEN_TABLE, + 'name': 'UTF-16BE'} + +# UCS2-LE + +UCS2LE_CLS = ( + 0,0,0,0,0,0,0,0, # 00 - 07 + 0,0,1,0,0,2,0,0, # 08 - 0f + 0,0,0,0,0,0,0,0, # 10 - 17 + 0,0,0,3,0,0,0,0, # 18 - 1f + 0,0,0,0,0,0,0,0, # 20 - 27 + 0,3,3,3,3,3,0,0, # 28 - 2f + 0,0,0,0,0,0,0,0, # 30 - 37 + 0,0,0,0,0,0,0,0, # 38 - 3f + 0,0,0,0,0,0,0,0, # 40 - 47 + 0,0,0,0,0,0,0,0, # 48 - 4f + 0,0,0,0,0,0,0,0, # 50 - 57 + 0,0,0,0,0,0,0,0, # 58 - 5f + 0,0,0,0,0,0,0,0, # 60 - 67 + 0,0,0,0,0,0,0,0, # 68 - 6f + 0,0,0,0,0,0,0,0, # 70 - 77 + 0,0,0,0,0,0,0,0, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,0,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,0,0,0,0,0,0,0, # a0 - a7 + 0,0,0,0,0,0,0,0, # a8 - af + 0,0,0,0,0,0,0,0, # b0 - b7 + 0,0,0,0,0,0,0,0, # b8 - bf + 0,0,0,0,0,0,0,0, # c0 - c7 + 0,0,0,0,0,0,0,0, # c8 - cf + 0,0,0,0,0,0,0,0, # d0 - d7 + 0,0,0,0,0,0,0,0, # d8 - df + 0,0,0,0,0,0,0,0, # e0 - e7 + 0,0,0,0,0,0,0,0, # e8 - ef + 0,0,0,0,0,0,0,0, # f0 - f7 + 0,0,0,0,0,0,4,5 # f8 - ff +) + +UCS2LE_ST = ( + 6, 6, 7, 6, 4, 3,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME, 5, 5, 5,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,#10-17 + 5, 5, 5,MachineState.ERROR, 5,MachineState.ERROR, 6, 6,#18-1f + 7, 6, 8, 8, 5, 5, 5,MachineState.ERROR,#20-27 + 5, 5, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5, 5,#28-2f + 5, 5, 5,MachineState.ERROR, 5,MachineState.ERROR,MachineState.START,MachineState.START #30-37 +) + +UCS2LE_CHAR_LEN_TABLE = (2, 2, 2, 2, 2, 2) + +UCS2LE_SM_MODEL = {'class_table': UCS2LE_CLS, + 'class_factor': 6, + 'state_table': UCS2LE_ST, + 'char_len_table': UCS2LE_CHAR_LEN_TABLE, + 'name': 'UTF-16LE'} + +# UTF-8 + +UTF8_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as a legal value + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 1,1,1,1,1,1,1,1, # 40 - 47 + 1,1,1,1,1,1,1,1, # 48 - 4f + 1,1,1,1,1,1,1,1, # 50 - 57 + 1,1,1,1,1,1,1,1, # 58 - 5f + 1,1,1,1,1,1,1,1, # 60 - 67 + 1,1,1,1,1,1,1,1, # 68 - 6f + 1,1,1,1,1,1,1,1, # 70 - 77 + 1,1,1,1,1,1,1,1, # 78 - 7f + 2,2,2,2,3,3,3,3, # 80 - 87 + 4,4,4,4,4,4,4,4, # 88 - 8f + 4,4,4,4,4,4,4,4, # 90 - 97 + 4,4,4,4,4,4,4,4, # 98 - 9f + 5,5,5,5,5,5,5,5, # a0 - a7 + 5,5,5,5,5,5,5,5, # a8 - af + 5,5,5,5,5,5,5,5, # b0 - b7 + 5,5,5,5,5,5,5,5, # b8 - bf + 0,0,6,6,6,6,6,6, # c0 - c7 + 6,6,6,6,6,6,6,6, # c8 - cf + 6,6,6,6,6,6,6,6, # d0 - d7 + 6,6,6,6,6,6,6,6, # d8 - df + 7,8,8,8,8,8,8,8, # e0 - e7 + 8,8,8,8,8,9,8,8, # e8 - ef + 10,11,11,11,11,11,11,11, # f0 - f7 + 12,13,13,13,14,15,0,0 # f8 - ff +) + +UTF8_ST = ( + MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 12, 10,#00-07 + 9, 11, 8, 7, 6, 5, 4, 3,#08-0f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#10-17 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#20-27 + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#28-2f + MachineState.ERROR,MachineState.ERROR, 5, 5, 5, 5,MachineState.ERROR,MachineState.ERROR,#30-37 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#38-3f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5, 5, 5,MachineState.ERROR,MachineState.ERROR,#40-47 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#48-4f + MachineState.ERROR,MachineState.ERROR, 7, 7, 7, 7,MachineState.ERROR,MachineState.ERROR,#50-57 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#58-5f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 7, 7,MachineState.ERROR,MachineState.ERROR,#60-67 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#68-6f + MachineState.ERROR,MachineState.ERROR, 9, 9, 9, 9,MachineState.ERROR,MachineState.ERROR,#70-77 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#78-7f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 9,MachineState.ERROR,MachineState.ERROR,#80-87 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#88-8f + MachineState.ERROR,MachineState.ERROR, 12, 12, 12, 12,MachineState.ERROR,MachineState.ERROR,#90-97 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#98-9f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 12,MachineState.ERROR,MachineState.ERROR,#a0-a7 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#a8-af + MachineState.ERROR,MachineState.ERROR, 12, 12, 12,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#b0-b7 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#b8-bf + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,#c0-c7 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR #c8-cf +) + +UTF8_CHAR_LEN_TABLE = (0, 1, 0, 0, 0, 0, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6) + +UTF8_SM_MODEL = {'class_table': UTF8_CLS, + 'class_factor': 16, + 'state_table': UTF8_ST, + 'char_len_table': UTF8_CHAR_LEN_TABLE, + 'name': 'UTF-8'} diff --git a/venv/lib/python3.6/site-packages/chardet/sbcharsetprober.py b/venv/lib/python3.6/site-packages/chardet/sbcharsetprober.py new file mode 100644 index 0000000..0adb51d --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/sbcharsetprober.py @@ -0,0 +1,132 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import CharacterCategory, ProbingState, SequenceLikelihood + + +class SingleByteCharSetProber(CharSetProber): + SAMPLE_SIZE = 64 + SB_ENOUGH_REL_THRESHOLD = 1024 # 0.25 * SAMPLE_SIZE^2 + POSITIVE_SHORTCUT_THRESHOLD = 0.95 + NEGATIVE_SHORTCUT_THRESHOLD = 0.05 + + def __init__(self, model, reversed=False, name_prober=None): + super(SingleByteCharSetProber, self).__init__() + self._model = model + # TRUE if we need to reverse every pair in the model lookup + self._reversed = reversed + # Optional auxiliary prober for name decision + self._name_prober = name_prober + self._last_order = None + self._seq_counters = None + self._total_seqs = None + self._total_char = None + self._freq_char = None + self.reset() + + def reset(self): + super(SingleByteCharSetProber, self).reset() + # char order of last character + self._last_order = 255 + self._seq_counters = [0] * SequenceLikelihood.get_num_categories() + self._total_seqs = 0 + self._total_char = 0 + # characters that fall in our sampling range + self._freq_char = 0 + + @property + def charset_name(self): + if self._name_prober: + return self._name_prober.charset_name + else: + return self._model['charset_name'] + + @property + def language(self): + if self._name_prober: + return self._name_prober.language + else: + return self._model.get('language') + + def feed(self, byte_str): + if not self._model['keep_english_letter']: + byte_str = self.filter_international_words(byte_str) + if not byte_str: + return self.state + char_to_order_map = self._model['char_to_order_map'] + for i, c in enumerate(byte_str): + # XXX: Order is in range 1-64, so one would think we want 0-63 here, + # but that leads to 27 more test failures than before. + order = char_to_order_map[c] + # XXX: This was SYMBOL_CAT_ORDER before, with a value of 250, but + # CharacterCategory.SYMBOL is actually 253, so we use CONTROL + # to make it closer to the original intent. The only difference + # is whether or not we count digits and control characters for + # _total_char purposes. + if order < CharacterCategory.CONTROL: + self._total_char += 1 + if order < self.SAMPLE_SIZE: + self._freq_char += 1 + if self._last_order < self.SAMPLE_SIZE: + self._total_seqs += 1 + if not self._reversed: + i = (self._last_order * self.SAMPLE_SIZE) + order + model = self._model['precedence_matrix'][i] + else: # reverse the order of the letters in the lookup + i = (order * self.SAMPLE_SIZE) + self._last_order + model = self._model['precedence_matrix'][i] + self._seq_counters[model] += 1 + self._last_order = order + + charset_name = self._model['charset_name'] + if self.state == ProbingState.DETECTING: + if self._total_seqs > self.SB_ENOUGH_REL_THRESHOLD: + confidence = self.get_confidence() + if confidence > self.POSITIVE_SHORTCUT_THRESHOLD: + self.logger.debug('%s confidence = %s, we have a winner', + charset_name, confidence) + self._state = ProbingState.FOUND_IT + elif confidence < self.NEGATIVE_SHORTCUT_THRESHOLD: + self.logger.debug('%s confidence = %s, below negative ' + 'shortcut threshhold %s', charset_name, + confidence, + self.NEGATIVE_SHORTCUT_THRESHOLD) + self._state = ProbingState.NOT_ME + + return self.state + + def get_confidence(self): + r = 0.01 + if self._total_seqs > 0: + r = ((1.0 * self._seq_counters[SequenceLikelihood.POSITIVE]) / + self._total_seqs / self._model['typical_positive_ratio']) + r = r * self._freq_char / self._total_char + if r >= 1.0: + r = 0.99 + return r diff --git a/venv/lib/python3.6/site-packages/chardet/sbcsgroupprober.py b/venv/lib/python3.6/site-packages/chardet/sbcsgroupprober.py new file mode 100644 index 0000000..98e95dc --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/sbcsgroupprober.py @@ -0,0 +1,73 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetgroupprober import CharSetGroupProber +from .sbcharsetprober import SingleByteCharSetProber +from .langcyrillicmodel import (Win1251CyrillicModel, Koi8rModel, + Latin5CyrillicModel, MacCyrillicModel, + Ibm866Model, Ibm855Model) +from .langgreekmodel import Latin7GreekModel, Win1253GreekModel +from .langbulgarianmodel import Latin5BulgarianModel, Win1251BulgarianModel +# from .langhungarianmodel import Latin2HungarianModel, Win1250HungarianModel +from .langthaimodel import TIS620ThaiModel +from .langhebrewmodel import Win1255HebrewModel +from .hebrewprober import HebrewProber +from .langturkishmodel import Latin5TurkishModel + + +class SBCSGroupProber(CharSetGroupProber): + def __init__(self): + super(SBCSGroupProber, self).__init__() + self.probers = [ + SingleByteCharSetProber(Win1251CyrillicModel), + SingleByteCharSetProber(Koi8rModel), + SingleByteCharSetProber(Latin5CyrillicModel), + SingleByteCharSetProber(MacCyrillicModel), + SingleByteCharSetProber(Ibm866Model), + SingleByteCharSetProber(Ibm855Model), + SingleByteCharSetProber(Latin7GreekModel), + SingleByteCharSetProber(Win1253GreekModel), + SingleByteCharSetProber(Latin5BulgarianModel), + SingleByteCharSetProber(Win1251BulgarianModel), + # TODO: Restore Hungarian encodings (iso-8859-2 and windows-1250) + # after we retrain model. + # SingleByteCharSetProber(Latin2HungarianModel), + # SingleByteCharSetProber(Win1250HungarianModel), + SingleByteCharSetProber(TIS620ThaiModel), + SingleByteCharSetProber(Latin5TurkishModel), + ] + hebrew_prober = HebrewProber() + logical_hebrew_prober = SingleByteCharSetProber(Win1255HebrewModel, + False, hebrew_prober) + visual_hebrew_prober = SingleByteCharSetProber(Win1255HebrewModel, True, + hebrew_prober) + hebrew_prober.set_model_probers(logical_hebrew_prober, visual_hebrew_prober) + self.probers.extend([hebrew_prober, logical_hebrew_prober, + visual_hebrew_prober]) + + self.reset() diff --git a/venv/lib/python3.6/site-packages/chardet/sjisprober.py b/venv/lib/python3.6/site-packages/chardet/sjisprober.py new file mode 100644 index 0000000..9e29623 --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/sjisprober.py @@ -0,0 +1,92 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import SJISDistributionAnalysis +from .jpcntx import SJISContextAnalysis +from .mbcssm import SJIS_SM_MODEL +from .enums import ProbingState, MachineState + + +class SJISProber(MultiByteCharSetProber): + def __init__(self): + super(SJISProber, self).__init__() + self.coding_sm = CodingStateMachine(SJIS_SM_MODEL) + self.distribution_analyzer = SJISDistributionAnalysis() + self.context_analyzer = SJISContextAnalysis() + self.reset() + + def reset(self): + super(SJISProber, self).reset() + self.context_analyzer.reset() + + @property + def charset_name(self): + return self.context_analyzer.charset_name + + @property + def language(self): + return "Japanese" + + def feed(self, byte_str): + for i in range(len(byte_str)): + coding_state = self.coding_sm.next_state(byte_str[i]) + if coding_state == MachineState.ERROR: + self.logger.debug('%s %s prober hit error at byte %s', + self.charset_name, self.language, i) + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + char_len = self.coding_sm.get_current_charlen() + if i == 0: + self._last_char[1] = byte_str[0] + self.context_analyzer.feed(self._last_char[2 - char_len:], + char_len) + self.distribution_analyzer.feed(self._last_char, char_len) + else: + self.context_analyzer.feed(byte_str[i + 1 - char_len:i + 3 + - char_len], char_len) + self.distribution_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + + self._last_char[0] = byte_str[-1] + + if self.state == ProbingState.DETECTING: + if (self.context_analyzer.got_enough_data() and + (self.get_confidence() > self.SHORTCUT_THRESHOLD)): + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + context_conf = self.context_analyzer.get_confidence() + distrib_conf = self.distribution_analyzer.get_confidence() + return max(context_conf, distrib_conf) diff --git a/venv/lib/python3.6/site-packages/chardet/universaldetector.py b/venv/lib/python3.6/site-packages/chardet/universaldetector.py new file mode 100644 index 0000000..7b4e92d --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/universaldetector.py @@ -0,0 +1,286 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### +""" +Module containing the UniversalDetector detector class, which is the primary +class a user of ``chardet`` should use. + +:author: Mark Pilgrim (initial port to Python) +:author: Shy Shalom (original C code) +:author: Dan Blanchard (major refactoring for 3.0) +:author: Ian Cordasco +""" + + +import codecs +import logging +import re + +from .charsetgroupprober import CharSetGroupProber +from .enums import InputState, LanguageFilter, ProbingState +from .escprober import EscCharSetProber +from .latin1prober import Latin1Prober +from .mbcsgroupprober import MBCSGroupProber +from .sbcsgroupprober import SBCSGroupProber + + +class UniversalDetector(object): + """ + The ``UniversalDetector`` class underlies the ``chardet.detect`` function + and coordinates all of the different charset probers. + + To get a ``dict`` containing an encoding and its confidence, you can simply + run: + + .. code:: + + u = UniversalDetector() + u.feed(some_bytes) + u.close() + detected = u.result + + """ + + MINIMUM_THRESHOLD = 0.20 + HIGH_BYTE_DETECTOR = re.compile(b'[\x80-\xFF]') + ESC_DETECTOR = re.compile(b'(\033|~{)') + WIN_BYTE_DETECTOR = re.compile(b'[\x80-\x9F]') + ISO_WIN_MAP = {'iso-8859-1': 'Windows-1252', + 'iso-8859-2': 'Windows-1250', + 'iso-8859-5': 'Windows-1251', + 'iso-8859-6': 'Windows-1256', + 'iso-8859-7': 'Windows-1253', + 'iso-8859-8': 'Windows-1255', + 'iso-8859-9': 'Windows-1254', + 'iso-8859-13': 'Windows-1257'} + + def __init__(self, lang_filter=LanguageFilter.ALL): + self._esc_charset_prober = None + self._charset_probers = [] + self.result = None + self.done = None + self._got_data = None + self._input_state = None + self._last_char = None + self.lang_filter = lang_filter + self.logger = logging.getLogger(__name__) + self._has_win_bytes = None + self.reset() + + def reset(self): + """ + Reset the UniversalDetector and all of its probers back to their + initial states. This is called by ``__init__``, so you only need to + call this directly in between analyses of different documents. + """ + self.result = {'encoding': None, 'confidence': 0.0, 'language': None} + self.done = False + self._got_data = False + self._has_win_bytes = False + self._input_state = InputState.PURE_ASCII + self._last_char = b'' + if self._esc_charset_prober: + self._esc_charset_prober.reset() + for prober in self._charset_probers: + prober.reset() + + def feed(self, byte_str): + """ + Takes a chunk of a document and feeds it through all of the relevant + charset probers. + + After calling ``feed``, you can check the value of the ``done`` + attribute to see if you need to continue feeding the + ``UniversalDetector`` more data, or if it has made a prediction + (in the ``result`` attribute). + + .. note:: + You should always call ``close`` when you're done feeding in your + document if ``done`` is not already ``True``. + """ + if self.done: + return + + if not len(byte_str): + return + + if not isinstance(byte_str, bytearray): + byte_str = bytearray(byte_str) + + # First check for known BOMs, since these are guaranteed to be correct + if not self._got_data: + # If the data starts with BOM, we know it is UTF + if byte_str.startswith(codecs.BOM_UTF8): + # EF BB BF UTF-8 with BOM + self.result = {'encoding': "UTF-8-SIG", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith((codecs.BOM_UTF32_LE, + codecs.BOM_UTF32_BE)): + # FF FE 00 00 UTF-32, little-endian BOM + # 00 00 FE FF UTF-32, big-endian BOM + self.result = {'encoding': "UTF-32", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith(b'\xFE\xFF\x00\x00'): + # FE FF 00 00 UCS-4, unusual octet order BOM (3412) + self.result = {'encoding': "X-ISO-10646-UCS-4-3412", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith(b'\x00\x00\xFF\xFE'): + # 00 00 FF FE UCS-4, unusual octet order BOM (2143) + self.result = {'encoding': "X-ISO-10646-UCS-4-2143", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith((codecs.BOM_LE, codecs.BOM_BE)): + # FF FE UTF-16, little endian BOM + # FE FF UTF-16, big endian BOM + self.result = {'encoding': "UTF-16", + 'confidence': 1.0, + 'language': ''} + + self._got_data = True + if self.result['encoding'] is not None: + self.done = True + return + + # If none of those matched and we've only see ASCII so far, check + # for high bytes and escape sequences + if self._input_state == InputState.PURE_ASCII: + if self.HIGH_BYTE_DETECTOR.search(byte_str): + self._input_state = InputState.HIGH_BYTE + elif self._input_state == InputState.PURE_ASCII and \ + self.ESC_DETECTOR.search(self._last_char + byte_str): + self._input_state = InputState.ESC_ASCII + + self._last_char = byte_str[-1:] + + # If we've seen escape sequences, use the EscCharSetProber, which + # uses a simple state machine to check for known escape sequences in + # HZ and ISO-2022 encodings, since those are the only encodings that + # use such sequences. + if self._input_state == InputState.ESC_ASCII: + if not self._esc_charset_prober: + self._esc_charset_prober = EscCharSetProber(self.lang_filter) + if self._esc_charset_prober.feed(byte_str) == ProbingState.FOUND_IT: + self.result = {'encoding': + self._esc_charset_prober.charset_name, + 'confidence': + self._esc_charset_prober.get_confidence(), + 'language': + self._esc_charset_prober.language} + self.done = True + # If we've seen high bytes (i.e., those with values greater than 127), + # we need to do more complicated checks using all our multi-byte and + # single-byte probers that are left. The single-byte probers + # use character bigram distributions to determine the encoding, whereas + # the multi-byte probers use a combination of character unigram and + # bigram distributions. + elif self._input_state == InputState.HIGH_BYTE: + if not self._charset_probers: + self._charset_probers = [MBCSGroupProber(self.lang_filter)] + # If we're checking non-CJK encodings, use single-byte prober + if self.lang_filter & LanguageFilter.NON_CJK: + self._charset_probers.append(SBCSGroupProber()) + self._charset_probers.append(Latin1Prober()) + for prober in self._charset_probers: + if prober.feed(byte_str) == ProbingState.FOUND_IT: + self.result = {'encoding': prober.charset_name, + 'confidence': prober.get_confidence(), + 'language': prober.language} + self.done = True + break + if self.WIN_BYTE_DETECTOR.search(byte_str): + self._has_win_bytes = True + + def close(self): + """ + Stop analyzing the current document and come up with a final + prediction. + + :returns: The ``result`` attribute, a ``dict`` with the keys + `encoding`, `confidence`, and `language`. + """ + # Don't bother with checks if we're already done + if self.done: + return self.result + self.done = True + + if not self._got_data: + self.logger.debug('no data received!') + + # Default to ASCII if it is all we've seen so far + elif self._input_state == InputState.PURE_ASCII: + self.result = {'encoding': 'ascii', + 'confidence': 1.0, + 'language': ''} + + # If we have seen non-ASCII, return the best that met MINIMUM_THRESHOLD + elif self._input_state == InputState.HIGH_BYTE: + prober_confidence = None + max_prober_confidence = 0.0 + max_prober = None + for prober in self._charset_probers: + if not prober: + continue + prober_confidence = prober.get_confidence() + if prober_confidence > max_prober_confidence: + max_prober_confidence = prober_confidence + max_prober = prober + if max_prober and (max_prober_confidence > self.MINIMUM_THRESHOLD): + charset_name = max_prober.charset_name + lower_charset_name = max_prober.charset_name.lower() + confidence = max_prober.get_confidence() + # Use Windows encoding name instead of ISO-8859 if we saw any + # extra Windows-specific bytes + if lower_charset_name.startswith('iso-8859'): + if self._has_win_bytes: + charset_name = self.ISO_WIN_MAP.get(lower_charset_name, + charset_name) + self.result = {'encoding': charset_name, + 'confidence': confidence, + 'language': max_prober.language} + + # Log all prober confidences if none met MINIMUM_THRESHOLD + if self.logger.getEffectiveLevel() == logging.DEBUG: + if self.result['encoding'] is None: + self.logger.debug('no probers hit minimum threshold') + for group_prober in self._charset_probers: + if not group_prober: + continue + if isinstance(group_prober, CharSetGroupProber): + for prober in group_prober.probers: + self.logger.debug('%s %s confidence = %s', + prober.charset_name, + prober.language, + prober.get_confidence()) + else: + self.logger.debug('%s %s confidence = %s', + prober.charset_name, + prober.language, + prober.get_confidence()) + return self.result diff --git a/venv/lib/python3.6/site-packages/chardet/utf8prober.py b/venv/lib/python3.6/site-packages/chardet/utf8prober.py new file mode 100644 index 0000000..6c3196c --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/utf8prober.py @@ -0,0 +1,82 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState, MachineState +from .codingstatemachine import CodingStateMachine +from .mbcssm import UTF8_SM_MODEL + + + +class UTF8Prober(CharSetProber): + ONE_CHAR_PROB = 0.5 + + def __init__(self): + super(UTF8Prober, self).__init__() + self.coding_sm = CodingStateMachine(UTF8_SM_MODEL) + self._num_mb_chars = None + self.reset() + + def reset(self): + super(UTF8Prober, self).reset() + self.coding_sm.reset() + self._num_mb_chars = 0 + + @property + def charset_name(self): + return "utf-8" + + @property + def language(self): + return "" + + def feed(self, byte_str): + for c in byte_str: + coding_state = self.coding_sm.next_state(c) + if coding_state == MachineState.ERROR: + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + if self.coding_sm.get_current_charlen() >= 2: + self._num_mb_chars += 1 + + if self.state == ProbingState.DETECTING: + if self.get_confidence() > self.SHORTCUT_THRESHOLD: + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + unlike = 0.99 + if self._num_mb_chars < 6: + unlike *= self.ONE_CHAR_PROB ** self._num_mb_chars + return 1.0 - unlike + else: + return unlike diff --git a/venv/lib/python3.6/site-packages/chardet/version.py b/venv/lib/python3.6/site-packages/chardet/version.py new file mode 100644 index 0000000..bb2a34a --- /dev/null +++ b/venv/lib/python3.6/site-packages/chardet/version.py @@ -0,0 +1,9 @@ +""" +This module exists only to simplify retrieving the version number of chardet +from within setup.py and from chardet subpackages. + +:author: Dan Blanchard (dan.blanchard@gmail.com) +""" + +__version__ = "3.0.4" +VERSION = __version__.split('.') diff --git a/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/INSTALLER b/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/LICENSE b/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/LICENSE new file mode 100644 index 0000000..4003396 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/METADATA b/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/METADATA new file mode 100644 index 0000000..414f35f --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/METADATA @@ -0,0 +1,149 @@ +Metadata-Version: 2.1 +Name: discord.py +Version: 1.0.1 +Summary: A python wrapper for the Discord API +Home-page: https://github.com/Rapptz/discord.py +Author: Rapptz +License: MIT +Project-URL: Documentation, https://discordpy.readthedocs.io/en/latest/ +Project-URL: Issue tracker, https://github.com/Rapptz/discord.py/issues +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: License :: OSI Approved :: MIT License +Classifier: Intended Audience :: Developers +Classifier: Natural Language :: English +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Topic :: Internet +Classifier: Topic :: Software Development :: Libraries +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Topic :: Utilities +Requires-Python: >=3.5.3 +Description-Content-Type: text/x-rst +Requires-Dist: aiohttp (<3.6.0,>=3.3.0) +Requires-Dist: websockets (<7.0,>=6.0) +Provides-Extra: docs +Requires-Dist: sphinx (==1.7.4) ; extra == 'docs' +Requires-Dist: sphinxcontrib-asyncio ; extra == 'docs' +Requires-Dist: sphinxcontrib-websupport ; extra == 'docs' +Provides-Extra: voice +Requires-Dist: PyNaCl (==1.3.0) ; extra == 'voice' + +discord.py +========== + +.. image:: https://discordapp.com/api/guilds/336642139381301249/embed.png + :target: https://discord.gg/r3sSKJJ + :alt: Discord server invite +.. image:: https://img.shields.io/pypi/v/discord.py.svg + :target: https://pypi.python.org/pypi/discord.py + :alt: PyPI version info +.. image:: https://img.shields.io/pypi/pyversions/discord.py.svg + :target: https://pypi.python.org/pypi/discord.py + :alt: PyPI supported Python versions + +A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. + +Key Features +------------- + +- Modern Pythonic API using ``async`` and ``await``. +- Proper rate limit handling. +- 100% coverage of the supported Discord API. +- Optimised in both speed and memory. + +Installing +---------- + +**Python 3.5.3 or higher is required** + +To install the library without full voice support, you can just run the following command: + +.. code:: sh + + # Linux/OS X + python3 -m pip install -U discord.py + + # Windows + py -3 -m pip install -U discord.py + +Otherwise to get voice support you should run the following command: + +.. code:: sh + + # Linux/OS X + python3 -m pip install -U discord.py[voice] + + # Windows + py -3 -m pip install -U discord.py[voice] + + +To install the development version, do the following: + +.. code:: sh + + $ git clone https://github.com/Rapptz/discord.py + $ cd discord.py + $ python3 -m pip install -U .[voice] + + +Optional Packages +~~~~~~~~~~~~~~~~~~ + +* PyNaCl (for voice support) + +Please note that on Linux installing voice you must install the following packages via your favourite package manager (e.g. ``apt``, ``yum``, etc) before running the above commands: + +* libffi-dev (or ``libffi-devel`` on some systems) +* python-dev (e.g. ``python3.6-dev`` for Python 3.6) + +Quick Example +-------------- + +.. code:: py + + import discord + + class MyClient(discord.Client): + async def on_ready(self): + print('Logged on as', self.user) + + async def on_message(self, message): + # don't respond to ourselves + if message.author == self.user: + return + + if message.content == 'ping': + await message.channel.send('pong') + + client = MyClient() + client.run('token') + +Bot Example +~~~~~~~~~~~~~ + +.. code:: py + + import discord + from discord.ext import commands + + bot = commands.Bot(command_prefix='>') + + @bot.command() + async def ping(ctx): + await ctx.send('pong') + + bot.run('token') + +You can find more examples in the examples directory. + +Links +------ + +- `Documentation <https://discordpy.readthedocs.io/en/latest/index.html>`_ +- `Official Discord Server <https://discord.gg/r3sSKJJ>`_ +- `Discord API <https://discord.gg/discord-api>`_ + + diff --git a/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/RECORD b/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/RECORD new file mode 100644 index 0000000..7038f39 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/RECORD @@ -0,0 +1,122 @@ +discord.py-1.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +discord.py-1.0.1.dist-info/LICENSE,sha256=aO-NCRCqWZoqyWgZscava6GuYviQuKu9tYsDtayNl40,1078 +discord.py-1.0.1.dist-info/METADATA,sha256=pR9uq83MxGPF39ayGJ3SzK1_ZpmcuZKx-PQNjTpDLfY,4073 +discord.py-1.0.1.dist-info/RECORD,, +discord.py-1.0.1.dist-info/WHEEL,sha256=qB97nP5e4MrOsXW5bIU5cUn_KSVr10EV0l-GCHG9qNs,97 +discord.py-1.0.1.dist-info/top_level.txt,sha256=fJkrNbR-_8ubMBUcDEJBcfkpECrvSEmMrNKgvLlQFoM,8 +discord/__init__.py,sha256=-xE7OwNpLCIZj0qQ3k0uQ2Y1pXLJE0l9VOUwC3YH67E,1783 +discord/__main__.py,sha256=yAz1ibtPawSCrkeY6merx0aViwKiLj17jBPo9bN7mjM,9412 +discord/__pycache__/__init__.cpython-36.pyc,, +discord/__pycache__/__main__.cpython-36.pyc,, +discord/__pycache__/abc.cpython-36.pyc,, +discord/__pycache__/activity.cpython-36.pyc,, +discord/__pycache__/appinfo.cpython-36.pyc,, +discord/__pycache__/asset.cpython-36.pyc,, +discord/__pycache__/audit_logs.cpython-36.pyc,, +discord/__pycache__/backoff.cpython-36.pyc,, +discord/__pycache__/calls.cpython-36.pyc,, +discord/__pycache__/channel.cpython-36.pyc,, +discord/__pycache__/client.cpython-36.pyc,, +discord/__pycache__/colour.cpython-36.pyc,, +discord/__pycache__/context_managers.cpython-36.pyc,, +discord/__pycache__/embeds.cpython-36.pyc,, +discord/__pycache__/emoji.cpython-36.pyc,, +discord/__pycache__/enums.cpython-36.pyc,, +discord/__pycache__/errors.cpython-36.pyc,, +discord/__pycache__/file.cpython-36.pyc,, +discord/__pycache__/gateway.cpython-36.pyc,, +discord/__pycache__/guild.cpython-36.pyc,, +discord/__pycache__/http.cpython-36.pyc,, +discord/__pycache__/invite.cpython-36.pyc,, +discord/__pycache__/iterators.cpython-36.pyc,, +discord/__pycache__/member.cpython-36.pyc,, +discord/__pycache__/message.cpython-36.pyc,, +discord/__pycache__/mixins.cpython-36.pyc,, +discord/__pycache__/object.cpython-36.pyc,, +discord/__pycache__/opus.cpython-36.pyc,, +discord/__pycache__/permissions.cpython-36.pyc,, +discord/__pycache__/player.cpython-36.pyc,, +discord/__pycache__/raw_models.cpython-36.pyc,, +discord/__pycache__/reaction.cpython-36.pyc,, +discord/__pycache__/relationship.cpython-36.pyc,, +discord/__pycache__/role.cpython-36.pyc,, +discord/__pycache__/shard.cpython-36.pyc,, +discord/__pycache__/state.cpython-36.pyc,, +discord/__pycache__/user.cpython-36.pyc,, +discord/__pycache__/utils.cpython-36.pyc,, +discord/__pycache__/voice_client.cpython-36.pyc,, +discord/__pycache__/webhook.cpython-36.pyc,, +discord/__pycache__/widget.cpython-36.pyc,, +discord/abc.py,sha256=HjP3-LkPKFE2XUa_Se0xYshxXbf6B63mZazMnskBI-o,33833 +discord/activity.py,sha256=pbsiotqrnie7zVJq-QPKWbFElpr7IT8vkEK_bXzQc-k,18096 +discord/appinfo.py,sha256=9aQa0nFshPM39OiQ1jfn1jI3O5ZbHz9vddLnhxrkifI,2724 +discord/asset.py,sha256=kAA3Lc5ZNHPRl6XE_I3YutIq7LsSf1WBWhPxEjGKtyg,5421 +discord/audit_logs.py,sha256=Y41ALT_2UU0O9CIhhUSOGXzGQKLPDr_3bPeQtd1navE,12305 +discord/backoff.py,sha256=Y9-JaVs3Q-vlR9zQJvCOf4vsGYHPzRW7i9SOG0SBiwE,3163 +discord/bin/libopus-0.x64.dll,sha256=zqIypk0pRCwXafYPCDVbDJsWPjNb-Emf8I2YbWsN790,423142 +discord/bin/libopus-0.x86.dll,sha256=3T1ErXk2NKZC13CzwfovFOmdSXtkwpoVRL3j8FykAlM,380885 +discord/calls.py,sha256=IWgVG_Keva4G8EMUs2QGelN2kfaW2B7vJ0XIsk8XBes,5278 +discord/channel.py,sha256=hgELAHWkLy1vnNDsP-maP2ddwAVtk_ZusjLopLlYsKo,36132 +discord/client.py,sha256=IPRZPDp7dpO1nN8Aet-OgKMkHwkrwdLNag_jti5pa68,39453 +discord/colour.py,sha256=1mV0CAf-7jz17qeQdQN9TaHR8LSCoqLX-xxXmF7zHNM,7005 +discord/context_managers.py,sha256=U1DE0L58Ivn7w30-eNex8t2FYMwElGLixasPx8ekBDI,2255 +discord/embeds.py,sha256=exPb6yHJIOgrGhL00wfjwgViLasPKi5sbv2NhAHMWOk,15239 +discord/emoji.py,sha256=p25LmqTNXSyIvO2-4RliIPkXltpVIae-JTPsoonwxYs,9006 +discord/enums.py,sha256=c2mvnzCY5UUcRpvD6_-iErwMUgJgzcWZVLoPE-JKVuA,8289 +discord/errors.py,sha256=xpt3catoUuLUYkHJamppJU4hiIV_9fw2-SwxuxDQi74,5532 +discord/ext/commands/__init__.py,sha256=v-Snowaq6t6MaQZWeZLfdtv_Yb70gWucqovO56ocYHM,444 +discord/ext/commands/__pycache__/__init__.cpython-36.pyc,, +discord/ext/commands/__pycache__/_types.cpython-36.pyc,, +discord/ext/commands/__pycache__/bot.cpython-36.pyc,, +discord/ext/commands/__pycache__/cog.cpython-36.pyc,, +discord/ext/commands/__pycache__/context.cpython-36.pyc,, +discord/ext/commands/__pycache__/converter.cpython-36.pyc,, +discord/ext/commands/__pycache__/cooldowns.cpython-36.pyc,, +discord/ext/commands/__pycache__/core.cpython-36.pyc,, +discord/ext/commands/__pycache__/errors.cpython-36.pyc,, +discord/ext/commands/__pycache__/help.cpython-36.pyc,, +discord/ext/commands/__pycache__/view.cpython-36.pyc,, +discord/ext/commands/_types.py,sha256=kB-k22jMHnDjwXOBqswR-JNZDvIpNbAqZj9cvGOeuFo,1287 +discord/ext/commands/bot.py,sha256=PR5LnMgmMnk6vWYRC4As5gtSwta7sXorHLWwRV7oDbk,32782 +discord/ext/commands/cog.py,sha256=tZfZkPo_J_p3WPdSXode82UY6gA-9-iltT2Dn9cHXd0,14836 +discord/ext/commands/context.py,sha256=J8qh79RLU2WmonIWY8ARZPpUzUfRvP0j1Zs2XHLd1UQ,10409 +discord/ext/commands/converter.py,sha256=w2de01hr_2vIBk-WjYle9qN5UWm6pL213TTrHTbsBTk,16958 +discord/ext/commands/cooldowns.py,sha256=jR_17atqQB5rrbXXlzF0J76UXoIdkDpNW8ekbCZhdeY,4764 +discord/ext/commands/core.py,sha256=62JT8FQg_MXrrl5l-DvgxDQsIaNQy_nLfBHANkTIAqs,52631 +discord/ext/commands/errors.py,sha256=ECvMBhLK0qPL7xc38iFNfeXmA0X0qJmAVgOtnuOzS-Q,12771 +discord/ext/commands/help.py,sha256=BTx3CYeetBn9SMMGalzZFNVMGpvgHCx9nJgYgXyn0Ow,44912 +discord/ext/commands/view.py,sha256=4SH8PwGvBYqmIUdUnmBTJHZ3OkBZQyF0cbFeMuTz_oA,5996 +discord/ext/ipc/__init__.py,sha256=GWg5tAjgD753ykfu5xltU6W6Ibb3WVSxX4IipUyaEdo,329 +discord/ext/ipc/__pycache__/__init__.cpython-36.pyc,, +discord/ext/ipc/__pycache__/client.cpython-36.pyc,, +discord/ext/ipc/__pycache__/errors.cpython-36.pyc,, +discord/ext/ipc/__pycache__/protocol.cpython-36.pyc,, +discord/ext/ipc/__pycache__/server.cpython-36.pyc,, +discord/ext/ipc/client.py,sha256=gros5ZcNQPRHCx2YWrhxAXlpofnOPVa-qBS_I1Aprgo,3230 +discord/ext/ipc/errors.py,sha256=UUG7a_3G-DnxLG40of89rCDB855yNgWZZkcf1klp9dg,1292 +discord/ext/ipc/protocol.py,sha256=oH_9MtKyQU6nuPJKylZt9WEo_n9Qr8hlOHjwUeCR8nY,4293 +discord/ext/ipc/server.py,sha256=Z14ZBlPexcJmCxGkvwtujYt7CMLnp9-Sl4D2SwLGL6Y,4820 +discord/file.py,sha256=ezelcgSHbZrN-j0N0BD3EE44qRFBJj3yuUuXsywPw-Y,3824 +discord/gateway.py,sha256=zxSvsCh7d7C2SA8rDoNU0Wj-xy9emWzBwTS1VraZ6g4,25285 +discord/guild.py,sha256=19WK86GlA5zo0Zfz0TYdrRcZSR7nySDYIKYC8Lk4Mj8,53108 +discord/http.py,sha256=XQqsXxhVN186ryDfodNR8fyEKC4oPbyXuvNzQQt11gk,32479 +discord/invite.py,sha256=Q86-IZIF1bXaJXXW4UGk98Ga4SQFXHAT1HYg1AkUFzs,10459 +discord/iterators.py,sha256=MACeNs06IU3AoO6xddwIREoMusJ4Kr_u1P_bGXMCuA4,20512 +discord/member.py,sha256=25S07OJM3r65R6m6bo30eW6q8BOV01FycUUpYEbUr9A,21558 +discord/message.py,sha256=380AAJbaMALu98fAgAWv3j2Ql02KtlSigpjNbH-841M,30750 +discord/mixins.py,sha256=G21eW4bJCoZeo54M4_hE3DSN0G-tfS_jEI-xmhqTzTY,1505 +discord/object.py,sha256=wz8VsX1v9dQRkbwACwpcu56wRj_ipOJMVo-Kvv_q62A,2374 +discord/opus.py,sha256=0eamJqZbxqn1SnBqgp8qpzF0hNRdYjvrwlERSekRD-E,8431 +discord/permissions.py,sha256=kG85WRq1RPL40p5km5K3TO4ACXf2YDvfgwQZkH-H8C8,19667 +discord/player.py,sha256=mmk0Jd1POZ_4_0tZzVvAz97qBHTqtleWc2dKwBgx93M,10890 +discord/raw_models.py,sha256=nO3Ra4ZkqNcXgRgQALW8XoFpgsaBYYi_VwWISuqoiyI,5191 +discord/reaction.py,sha256=H-OBFNbGuRE5WB_Ws6i5xTQvz0fyj_-jRUm8lAOzbXY,5779 +discord/relationship.py,sha256=9HS6dlDZFppyyPkaC-j0aHdk_NLa__4AGfqWgZM_q2U,2431 +discord/role.py,sha256=GrNIdI-n51zrzuqxOwMEcvEGBkrZ_OaFQhQ__l7F6q8,9050 +discord/shard.py,sha256=8P5EafGvtADfJ9gk_2m4kn4jefkO3_Qn5UsrhMr-ASs,13465 +discord/state.py,sha256=09_z2h5TWNaAfnQ0Qk0sdv6svxJ6ntAo9LT3GVUKQy0,38258 +discord/user.py,sha256=vdjNrzhCWtgcFpZqUauf37YAhT3NV8EkDEqLj24OwLU,25325 +discord/utils.py,sha256=g6mzcnqIWSPaJJ8K4q3HSziFl_TXLoaAOrs74LPdUsM,13715 +discord/voice_client.py,sha256=ze_6b4twazkcuEREeiPFPquXZpmefAzcoJZyPq3Mr7w,15416 +discord/webhook.py,sha256=0yAXW1VUhRXDguVtR5CCyheKf9UrMpct_2G23MysNK8,25191 +discord/widget.py,sha256=fmmobpL5ksNHl2Qz1r0owrAmx51iPRXx_iRIIipBaPQ,7984 diff --git a/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/WHEEL b/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/WHEEL new file mode 100644 index 0000000..e499438 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.33.1) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/top_level.txt b/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/top_level.txt new file mode 100644 index 0000000..e46fba2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord.py-1.0.1.dist-info/top_level.txt @@ -0,0 +1 @@ +discord diff --git a/venv/lib/python3.6/site-packages/discord/__init__.py b/venv/lib/python3.6/site-packages/discord/__init__.py new file mode 100644 index 0000000..8aaa258 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/__init__.py @@ -0,0 +1,65 @@ +# -*- coding: utf-8 -*- + +""" +Discord API Wrapper +~~~~~~~~~~~~~~~~~~~ + +A basic wrapper for the Discord API. + +:copyright: (c) 2015-2019 Rapptz +:license: MIT, see LICENSE for more details. + +""" + +__title__ = 'discord' +__author__ = 'Rapptz' +__license__ = 'MIT' +__copyright__ = 'Copyright 2015-2019 Rapptz' +__version__ = '1.0.1' + +from collections import namedtuple +import logging + +from .client import Client +from .appinfo import AppInfo +from .user import User, ClientUser, Profile +from .emoji import Emoji, PartialEmoji +from .activity import * +from .channel import * +from .guild import Guild +from .relationship import Relationship +from .member import Member, VoiceState +from .message import Message, Attachment +from .asset import Asset +from .errors import * +from .calls import CallMessage, GroupCall +from .permissions import Permissions, PermissionOverwrite +from .role import Role +from .file import File +from .colour import Color, Colour +from .invite import Invite, PartialInviteChannel, PartialInviteGuild +from .widget import Widget, WidgetMember, WidgetChannel +from .object import Object +from .reaction import Reaction +from . import utils, opus, abc +from .enums import * +from .embeds import Embed +from .shard import AutoShardedClient +from .player import * +from .webhook import * +from .voice_client import VoiceClient +from .audit_logs import AuditLogChanges, AuditLogEntry, AuditLogDiff +from .raw_models import * + +VersionInfo = namedtuple('VersionInfo', 'major minor micro releaselevel serial') + +version_info = VersionInfo(major=1, minor=0, micro=1, releaselevel='final', serial=0) + +try: + from logging import NullHandler +except ImportError: + class NullHandler(logging.Handler): + def emit(self, record): + pass + +logging.getLogger(__name__).addHandler(NullHandler()) diff --git a/venv/lib/python3.6/site-packages/discord/__main__.py b/venv/lib/python3.6/site-packages/discord/__main__.py new file mode 100644 index 0000000..495f8b6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/__main__.py @@ -0,0 +1,291 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import argparse +import sys +from pathlib import Path + +import discord + +def core(parser, args): + pass + +bot_template = """#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +from discord.ext import commands +import discord +import config + +class Bot(commands.{base}): + def __init__(self, **kwargs): + super().__init__(command_prefix=commands.when_mentioned_or('{prefix}'), **kwargs) + for cog in config.cogs: + try: + self.load_extension(cog) + except Exception as exc: + print('Could not load extension {{0}} due to {{1.__class__.__name__}}: {{1}}'.format(cog, exc)) + + async def on_ready(self): + print('Logged on as {{0}} (ID: {{0.id}})'.format(self.user)) + + +bot = Bot() + +# write general commands here + +bot.run(config.token) +""" + +gitignore_template = """# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# Our configuration files +config.py +""" + +cog_template = '''# -*- coding: utf-8 -*- + +from discord.ext import commands +import discord + +class {name}(commands.Cog{attrs}): + """The description for {name} goes here.""" + + def __init__(self, bot): + self.bot = bot +{extra} +def setup(bot): + bot.add_cog({name}(bot)) +''' + +cog_extras = ''' + def cog_unload(self): + # clean up logic goes here + pass + + async def cog_check(self, ctx): + # checks that apply to every command in here + return True + + async def bot_check(self, ctx): + # checks that apply to every command to the bot + return True + + async def bot_check_once(self, ctx): + # check that apply to every command but is guaranteed to be called only once + return True + + async def cog_command_error(self, ctx, error): + # error handling to every command in here + pass + + async def cog_before_invoke(self, ctx): + # called before a command is called here + pass + + async def cog_after_invoke(self, ctx): + # called after a command is called here + pass + +''' + + +# certain file names and directory names are forbidden +# see: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx +# although some of this doesn't apply to Linux, we might as well be consistent +_base_table = { + '<': '-', + '>': '-', + ':': '-', + '"': '-', + # '/': '-', these are fine + # '\\': '-', + '|': '-', + '?': '-', + '*': '-', +} + +# +_base_table.update((chr(i), None) for i in range(32)) + +translation_table = str.maketrans(_base_table) + +def to_path(parser, name, *, replace_spaces=False): + if isinstance(name, Path): + return name + + if sys.platform == 'win32': + forbidden = ('CON', 'PRN', 'AUX', 'NUL', 'COM1', 'COM2', 'COM3', 'COM4', 'COM5', 'COM6', 'COM7', \ + 'COM8', 'COM9', 'LPT1', 'LPT2', 'LPT3', 'LPT4', 'LPT5', 'LPT6', 'LPT7', 'LPT8', 'LPT9') + if len(name) <= 4 and name.upper() in forbidden: + parser.error('invalid directory name given, use a different one') + + name = name.translate(translation_table) + if replace_spaces: + name = name.replace(' ', '-') + return Path(name) + +def newbot(parser, args): + if sys.version_info < (3, 5): + parser.error('python version is older than 3.5, consider upgrading.') + + new_directory = to_path(parser, args.directory) / to_path(parser, args.name) + + # as a note exist_ok for Path is a 3.5+ only feature + # since we already checked above that we're >3.5 + try: + new_directory.mkdir(exist_ok=True, parents=True) + except OSError as exc: + parser.error('could not create our bot directory ({})'.format(exc)) + + cogs = new_directory / 'cogs' + + try: + cogs.mkdir(exist_ok=True) + init = cogs / '__init__.py' + init.touch() + except OSError as exc: + print('warning: could not create cogs directory ({})'.format(exc)) + + try: + with open(str(new_directory / 'config.py'), 'w', encoding='utf-8') as fp: + fp.write('token = "place your token here"\ncogs = []\n') + except OSError as exc: + parser.error('could not create config file ({})'.format(exc)) + + try: + with open(str(new_directory / 'bot.py'), 'w', encoding='utf-8') as fp: + base = 'Bot' if not args.sharded else 'AutoShardedBot' + fp.write(bot_template.format(base=base, prefix=args.prefix)) + except OSError as exc: + parser.error('could not create bot file ({})'.format(exc)) + + if not args.no_git: + try: + with open(str(new_directory / '.gitignore'), 'w', encoding='utf-8') as fp: + fp.write(gitignore_template) + except OSError as exc: + print('warning: could not create .gitignore file ({})'.format(exc)) + + print('successfully made bot at', new_directory) + +def newcog(parser, args): + if sys.version_info < (3, 5): + parser.error('python version is older than 3.5, consider upgrading.') + + cog_dir = to_path(parser, args.directory) + try: + cog_dir.mkdir(exist_ok=True) + except OSError as exc: + print('warning: could not create cogs directory ({})'.format(exc)) + + directory = cog_dir / to_path(parser, args.name) + directory = directory.with_suffix('.py') + try: + with open(str(directory), 'w', encoding='utf-8') as fp: + attrs = '' + extra = cog_extras if args.full else '' + if args.class_name: + name = args.class_name + else: + name = str(directory.stem) + if '-' in name: + name = name.replace('-', ' ').title().replace(' ', '') + else: + name = name.title() + + if args.display_name: + attrs += ', name="{}"'.format(args.display_name) + if args.hide_commands: + attrs += ', command_attrs=dict(hidden=True)' + fp.write(cog_template.format(name=name, extra=extra, attrs=attrs)) + except OSError as exc: + parser.error('could not create cog file ({})'.format(exc)) + else: + print('successfully made cog at', directory) + +def add_newbot_args(subparser): + parser = subparser.add_parser('newbot', help='creates a command bot project quickly') + parser.set_defaults(func=newbot) + + parser.add_argument('name', help='the bot project name') + parser.add_argument('directory', help='the directory to place it in (default: .)', nargs='?', default=Path.cwd()) + parser.add_argument('--prefix', help='the bot prefix (default: $)', default='$', metavar='<prefix>') + parser.add_argument('--sharded', help='whether to use AutoShardedBot', action='store_true') + parser.add_argument('--no-git', help='do not create a .gitignore file', action='store_true', dest='no_git') + +def add_newcog_args(subparser): + parser = subparser.add_parser('newcog', help='creates a new cog template quickly') + parser.set_defaults(func=newcog) + + parser.add_argument('name', help='the cog name') + parser.add_argument('directory', help='the directory to place it in (default: cogs)', nargs='?', default=Path('cogs')) + parser.add_argument('--class-name', help='the class name of the cog (default: <name>)', dest='class_name') + parser.add_argument('--display-name', help='the cog name (default: <name>)') + parser.add_argument('--hide-commands', help='whether to hide all commands in the cog', action='store_true') + parser.add_argument('--full', help='add all special methods as well', action='store_true') + +def parse_args(): + parser = argparse.ArgumentParser(prog='discord', description='Tools for helping with discord.py') + + version = 'discord.py v{0.__version__} for Python {1[0]}.{1[1]}.{1[2]}'.format(discord, sys.version_info) + parser.add_argument('-v', '--version', action='version', version=version, help='shows the library version') + parser.set_defaults(func=core) + + subparser = parser.add_subparsers(dest='subcommand', title='subcommands') + add_newbot_args(subparser) + add_newcog_args(subparser) + return parser, parser.parse_args() + +def main(): + parser, args = parse_args() + args.func(parser, args) + +main() diff --git a/venv/lib/python3.6/site-packages/discord/abc.py b/venv/lib/python3.6/site-packages/discord/abc.py new file mode 100644 index 0000000..86466d3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/abc.py @@ -0,0 +1,990 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import abc +import copy +import asyncio +from collections import namedtuple + +from .iterators import HistoryIterator +from .context_managers import Typing +from .errors import InvalidArgument, ClientException, HTTPException +from .permissions import PermissionOverwrite, Permissions +from .role import Role +from .invite import Invite +from .file import File +from .voice_client import VoiceClient +from . import utils + +class _Undefined: + def __repr__(self): + return 'see-below' + +_undefined = _Undefined() + +class Snowflake(metaclass=abc.ABCMeta): + """An ABC that details the common operations on a Discord model. + + Almost all :ref:`Discord models <discord_api_models>` meet this + abstract base class. + + Attributes + ----------- + id: :class:`int` + The model's unique ID. + """ + __slots__ = () + + @property + @abc.abstractmethod + def created_at(self): + """Returns the model's creation time in UTC.""" + raise NotImplementedError + + @classmethod + def __subclasshook__(cls, C): + if cls is Snowflake: + mro = C.__mro__ + for attr in ('created_at', 'id'): + for base in mro: + if attr in base.__dict__: + break + else: + return NotImplemented + return True + return NotImplemented + +class User(metaclass=abc.ABCMeta): + """An ABC that details the common operations on a Discord user. + + The following implement this ABC: + + - :class:`User` + - :class:`ClientUser` + - :class:`Member` + + This ABC must also implement :class:`abc.Snowflake`. + + Attributes + ----------- + name: :class:`str` + The user's username. + discriminator: :class:`str` + The user's discriminator. + avatar: Optional[:class:`str`] + The avatar hash the user has. + bot: :class:`bool` + If the user is a bot account. + """ + __slots__ = () + + @property + @abc.abstractmethod + def display_name(self): + """Returns the user's display name.""" + raise NotImplementedError + + @property + @abc.abstractmethod + def mention(self): + """Returns a string that allows you to mention the given user.""" + raise NotImplementedError + + @classmethod + def __subclasshook__(cls, C): + if cls is User: + if Snowflake.__subclasshook__(C) is NotImplemented: + return NotImplemented + + mro = C.__mro__ + for attr in ('display_name', 'mention', 'name', 'avatar', 'discriminator', 'bot'): + for base in mro: + if attr in base.__dict__: + break + else: + return NotImplemented + return True + return NotImplemented + +class PrivateChannel(metaclass=abc.ABCMeta): + """An ABC that details the common operations on a private Discord channel. + + The following implement this ABC: + + - :class:`DMChannel` + - :class:`GroupChannel` + + This ABC must also implement :class:`abc.Snowflake`. + + Attributes + ----------- + me: :class:`ClientUser` + The user presenting yourself. + """ + __slots__ = () + + @classmethod + def __subclasshook__(cls, C): + if cls is PrivateChannel: + if Snowflake.__subclasshook__(C) is NotImplemented: + return NotImplemented + + mro = C.__mro__ + for base in mro: + if 'me' in base.__dict__: + return True + return NotImplemented + return NotImplemented + +_Overwrites = namedtuple('_Overwrites', 'id allow deny type') + +class GuildChannel: + """An ABC that details the common operations on a Discord guild channel. + + The following implement this ABC: + + - :class:`TextChannel` + - :class:`VoiceChannel` + - :class:`CategoryChannel` + + This ABC must also implement :class:`abc.Snowflake`. + + Attributes + ----------- + name: :class:`str` + The channel name. + guild: :class:`Guild` + The guild the channel belongs to. + position: :class:`int` + The position in the channel list. This is a number that starts at 0. + e.g. the top channel is position 0. + """ + __slots__ = () + + def __str__(self): + return self.name + + @property + def _sorting_bucket(self): + raise NotImplementedError + + async def _move(self, position, parent_id=None, lock_permissions=False, *, reason): + if position < 0: + raise InvalidArgument('Channel position cannot be less than 0.') + + http = self._state.http + bucket = self._sorting_bucket + channels = [c for c in self.guild.channels if c._sorting_bucket == bucket] + + if position >= len(channels): + raise InvalidArgument('Channel position cannot be greater than {}'.format(len(channels) - 1)) + + channels.sort(key=lambda c: c.position) + + try: + # remove ourselves from the channel list + channels.remove(self) + except ValueError: + # not there somehow lol + return + else: + # add ourselves at our designated position + channels.insert(position, self) + + payload = [] + for index, c in enumerate(channels): + d = {'id': c.id, 'position': index} + if parent_id is not _undefined and c.id == self.id: + d.update(parent_id=parent_id, lock_permissions=lock_permissions) + payload.append(d) + + await http.bulk_channel_update(self.guild.id, payload, reason=reason) + self.position = position + if parent_id is not _undefined: + self.category_id = int(parent_id) if parent_id else None + + async def _edit(self, options, reason): + try: + parent = options.pop('category') + except KeyError: + parent_id = _undefined + else: + parent_id = parent and parent.id + + try: + options['rate_limit_per_user'] = options.pop('slowmode_delay') + except KeyError: + pass + + lock_permissions = options.pop('sync_permissions', False) + + try: + position = options.pop('position') + except KeyError: + if parent_id is not _undefined: + if lock_permissions: + category = self.guild.get_channel(parent_id) + options['permission_overwrites'] = [c._asdict() for c in category._overwrites] + options['parent_id'] = parent_id + elif lock_permissions and self.category_id is not None: + # if we're syncing permissions on a pre-existing channel category without changing it + # we need to update the permissions to point to the pre-existing category + category = self.guild.get_channel(self.category_id) + options['permission_overwrites'] = [c._asdict() for c in category._overwrites] + else: + await self._move(position, parent_id=parent_id, lock_permissions=lock_permissions, reason=reason) + + if options: + data = await self._state.http.edit_channel(self.id, reason=reason, **options) + self._update(self.guild, data) + + def _fill_overwrites(self, data): + self._overwrites = [] + everyone_index = 0 + everyone_id = self.guild.id + + for index, overridden in enumerate(data.get('permission_overwrites', [])): + overridden_id = int(overridden.pop('id')) + self._overwrites.append(_Overwrites(id=overridden_id, **overridden)) + + if overridden['type'] == 'member': + continue + + if overridden_id == everyone_id: + # the @everyone role is not guaranteed to be the first one + # in the list of permission overwrites, however the permission + # resolution code kind of requires that it is the first one in + # the list since it is special. So we need the index so we can + # swap it to be the first one. + everyone_index = index + + # do the swap + tmp = self._overwrites + if tmp: + tmp[everyone_index], tmp[0] = tmp[0], tmp[everyone_index] + + @property + def changed_roles(self): + """Returns a :class:`list` of :class:`Roles` that have been overridden from + their default values in the :attr:`Guild.roles` attribute.""" + ret = [] + g = self.guild + for overwrite in filter(lambda o: o.type == 'role', self._overwrites): + role = g.get_role(overwrite.id) + if role is None: + continue + + role = copy.copy(role) + role.permissions.handle_overwrite(overwrite.allow, overwrite.deny) + ret.append(role) + return ret + + @property + def mention(self): + """:class:`str`: The string that allows you to mention the channel.""" + return '<#%s>' % self.id + + @property + def created_at(self): + """Returns the channel's creation time in UTC.""" + return utils.snowflake_time(self.id) + + def overwrites_for(self, obj): + """Returns the channel-specific overwrites for a member or a role. + + Parameters + ----------- + obj + The :class:`Role` or :class:`abc.User` denoting + whose overwrite to get. + + Returns + --------- + :class:`PermissionOverwrite` + The permission overwrites for this object. + """ + + if isinstance(obj, User): + predicate = lambda p: p.type == 'member' + elif isinstance(obj, Role): + predicate = lambda p: p.type == 'role' + else: + predicate = lambda p: True + + for overwrite in filter(predicate, self._overwrites): + if overwrite.id == obj.id: + allow = Permissions(overwrite.allow) + deny = Permissions(overwrite.deny) + return PermissionOverwrite.from_pair(allow, deny) + + return PermissionOverwrite() + + @property + def overwrites(self): + """Returns all of the channel's overwrites. + + This is returned as a dictionary where the key contains the target which + can be either a :class:`Role` or a :class:`Member` and the key is the + overwrite as a :class:`PermissionOverwrite`. + + Returns + -------- + Mapping[Union[:class:`Role`, :class:`Member`], :class:`PermissionOverwrite`]: + The channel's permission overwrites. + """ + ret = {} + for ow in self._overwrites: + allow = Permissions(ow.allow) + deny = Permissions(ow.deny) + overwrite = PermissionOverwrite.from_pair(allow, deny) + + if ow.type == 'role': + target = self.guild.get_role(ow.id) + elif ow.type == 'member': + target = self.guild.get_member(ow.id) + ret[target] = overwrite + return ret + + @property + def category(self): + """Optional[:class:`CategoryChannel`]: The category this channel belongs to. + + If there is no category then this is ``None``. + """ + return self.guild.get_channel(self.category_id) + + def permissions_for(self, member): + """Handles permission resolution for the current :class:`Member`. + + This function takes into consideration the following cases: + + - Guild owner + - Guild roles + - Channel overrides + - Member overrides + + Parameters + ---------- + member: :class:`Member` + The member to resolve permissions for. + + Returns + ------- + :class:`Permissions` + The resolved permissions for the member. + """ + + # The current cases can be explained as: + # Guild owner get all permissions -- no questions asked. Otherwise... + # The @everyone role gets the first application. + # After that, the applied roles that the user has in the channel + # (or otherwise) are then OR'd together. + # After the role permissions are resolved, the member permissions + # have to take into effect. + # After all that is done.. you have to do the following: + + # If manage permissions is True, then all permissions are set to True. + + # The operation first takes into consideration the denied + # and then the allowed. + + o = self.guild.owner + if o is not None and member.id == o.id: + return Permissions.all() + + default = self.guild.default_role + base = Permissions(default.permissions.value) + roles = member.roles + + # Apply guild roles that the member has. + for role in roles: + base.value |= role.permissions.value + + # Guild-wide Administrator -> True for everything + # Bypass all channel-specific overrides + if base.administrator: + return Permissions.all() + + # Apply @everyone allow/deny first since it's special + try: + maybe_everyone = self._overwrites[0] + if maybe_everyone.id == self.guild.id: + base.handle_overwrite(allow=maybe_everyone.allow, deny=maybe_everyone.deny) + remaining_overwrites = self._overwrites[1:] + else: + remaining_overwrites = self._overwrites + except IndexError: + remaining_overwrites = self._overwrites + + # not sure if doing member._roles.get(...) is better than the + # set approach. While this is O(N) to re-create into a set for O(1) + # the direct approach would just be O(log n) for searching with no + # extra memory overhead. For now, I'll keep the set cast + # Note that the member.roles accessor up top also creates a + # temporary list + member_role_ids = {r.id for r in roles} + denies = 0 + allows = 0 + + # Apply channel specific role permission overwrites + for overwrite in remaining_overwrites: + if overwrite.type == 'role' and overwrite.id in member_role_ids: + denies |= overwrite.deny + allows |= overwrite.allow + + base.handle_overwrite(allow=allows, deny=denies) + + # Apply member specific permission overwrites + for overwrite in remaining_overwrites: + if overwrite.type == 'member' and overwrite.id == member.id: + base.handle_overwrite(allow=overwrite.allow, deny=overwrite.deny) + break + + # if you can't send a message in a channel then you can't have certain + # permissions as well + if not base.send_messages: + base.send_tts_messages = False + base.mention_everyone = False + base.embed_links = False + base.attach_files = False + + # if you can't read a channel then you have no permissions there + if not base.read_messages: + denied = Permissions.all_channel() + base.value &= ~denied.value + + return base + + async def delete(self, *, reason=None): + """|coro| + + Deletes the channel. + + You must have :attr:`~.Permissions.manage_channels` permission to use this. + + Parameters + ----------- + reason: Optional[:class:`str`] + The reason for deleting this channel. + Shows up on the audit log. + + Raises + ------- + Forbidden + You do not have proper permissions to delete the channel. + NotFound + The channel was not found or was already deleted. + HTTPException + Deleting the channel failed. + """ + await self._state.http.delete_channel(self.id, reason=reason) + + async def set_permissions(self, target, *, overwrite=_undefined, reason=None, **permissions): + r"""|coro| + + Sets the channel specific permission overwrites for a target in the + channel. + + The ``target`` parameter should either be a :class:`Member` or a + :class:`Role` that belongs to guild. + + The ``overwrite`` parameter, if given, must either be ``None`` or + :class:`PermissionOverwrite`. For convenience, you can pass in + keyword arguments denoting :class:`Permissions` attributes. If this is + done, then you cannot mix the keyword arguments with the ``overwrite`` + parameter. + + If the ``overwrite`` parameter is ``None``, then the permission + overwrites are deleted. + + You must have the :attr:`~Permissions.manage_roles` permission to use this. + + Examples + ---------- + + Setting allow and deny: :: + + await message.channel.set_permissions(message.author, read_messages=True, + send_messages=False) + + Deleting overwrites :: + + await channel.set_permissions(member, overwrite=None) + + Using :class:`PermissionOverwrite` :: + + overwrite = PermissionOverwrite() + overwrite.send_messages = False + overwrite.read_messages = True + await channel.set_permissions(member, overwrite=overwrite) + + Parameters + ----------- + target + The :class:`Member` or :class:`Role` to overwrite permissions for. + overwrite: :class:`PermissionOverwrite` + The permissions to allow and deny to the target. + \*\*permissions + A keyword argument list of permissions to set for ease of use. + Cannot be mixed with ``overwrite``. + reason: Optional[:class:`str`] + The reason for doing this action. Shows up on the audit log. + + Raises + ------- + Forbidden + You do not have permissions to edit channel specific permissions. + HTTPException + Editing channel specific permissions failed. + NotFound + The role or member being edited is not part of the guild. + InvalidArgument + The overwrite parameter invalid or the target type was not + :class:`Role` or :class:`Member`. + """ + + http = self._state.http + + if isinstance(target, User): + perm_type = 'member' + elif isinstance(target, Role): + perm_type = 'role' + else: + raise InvalidArgument('target parameter must be either Member or Role') + + if isinstance(overwrite, _Undefined): + if len(permissions) == 0: + raise InvalidArgument('No overwrite provided.') + try: + overwrite = PermissionOverwrite(**permissions) + except (ValueError, TypeError): + raise InvalidArgument('Invalid permissions given to keyword arguments.') + else: + if len(permissions) > 0: + raise InvalidArgument('Cannot mix overwrite and keyword arguments.') + + # TODO: wait for event + + if overwrite is None: + await http.delete_channel_permissions(self.id, target.id, reason=reason) + elif isinstance(overwrite, PermissionOverwrite): + (allow, deny) = overwrite.pair() + await http.edit_channel_permissions(self.id, target.id, allow.value, deny.value, perm_type, reason=reason) + else: + raise InvalidArgument('Invalid overwrite type provided.') + + async def create_invite(self, *, reason=None, **fields): + """|coro| + + Creates an instant invite. + + You must have :attr:`~.Permissions.create_instant_invite` permission to + do this. + + Parameters + ------------ + max_age: :class:`int` + How long the invite should last. If it's 0 then the invite + doesn't expire. Defaults to 0. + max_uses: :class:`int` + How many uses the invite could be used for. If it's 0 then there + are unlimited uses. Defaults to 0. + temporary: :class:`bool` + Denotes that the invite grants temporary membership + (i.e. they get kicked after they disconnect). Defaults to False. + unique: :class:`bool` + Indicates if a unique invite URL should be created. Defaults to True. + If this is set to False then it will return a previously created + invite. + reason: Optional[:class:`str`] + The reason for creating this invite. Shows up on the audit log. + + Raises + ------- + HTTPException + Invite creation failed. + + Returns + -------- + :class:`Invite` + The invite that was created. + """ + + data = await self._state.http.create_invite(self.id, reason=reason, **fields) + return Invite.from_incomplete(data=data, state=self._state) + + async def invites(self): + """|coro| + + Returns a list of all active instant invites from this channel. + + You must have :attr:`~.Permissions.manage_guild` to get this information. + + Raises + ------- + Forbidden + You do not have proper permissions to get the information. + HTTPException + An error occurred while fetching the information. + + Returns + ------- + List[:class:`Invite`] + The list of invites that are currently active. + """ + + state = self._state + data = await state.http.invites_from_channel(self.id) + result = [] + + for invite in data: + invite['channel'] = self + invite['guild'] = self.guild + result.append(Invite(state=state, data=invite)) + + return result + +class Messageable(metaclass=abc.ABCMeta): + """An ABC that details the common operations on a model that can send messages. + + The following implement this ABC: + + - :class:`TextChannel` + - :class:`DMChannel` + - :class:`GroupChannel` + - :class:`User` + - :class:`Member` + - :class:`~ext.commands.Context` + + This ABC must also implement :class:`abc.Snowflake`. + """ + + __slots__ = () + + @abc.abstractmethod + async def _get_channel(self): + raise NotImplementedError + + async def send(self, content=None, *, tts=False, embed=None, file=None, files=None, delete_after=None, nonce=None): + """|coro| + + Sends a message to the destination with the content given. + + The content must be a type that can convert to a string through ``str(content)``. + If the content is set to ``None`` (the default), then the ``embed`` parameter must + be provided. + + To upload a single file, the ``file`` parameter should be used with a + single :class:`.File` object. To upload multiple files, the ``files`` + parameter should be used with a :class:`list` of :class:`.File` objects. + **Specifying both parameters will lead to an exception**. + + If the ``embed`` parameter is provided, it must be of type :class:`.Embed` and + it must be a rich embed type. + + Parameters + ------------ + content + The content of the message to send. + tts: :class:`bool` + Indicates if the message should be sent using text-to-speech. + embed: :class:`.Embed` + The rich embed for the content. + file: :class:`.File` + The file to upload. + files: List[:class:`.File`] + A list of files to upload. Must be a maximum of 10. + nonce: :class:`int` + The nonce to use for sending this message. If the message was successfully sent, + then the message will have a nonce with this value. + delete_after: :class:`float` + If provided, the number of seconds to wait in the background + before deleting the message we just sent. If the deletion fails, + then it is silently ignored. + + Raises + -------- + :exc:`.HTTPException` + Sending the message failed. + :exc:`.Forbidden` + You do not have the proper permissions to send the message. + :exc:`.InvalidArgument` + The ``files`` list is not of the appropriate size or + you specified both ``file`` and ``files``. + + Returns + --------- + :class:`.Message` + The message that was sent. + """ + + channel = await self._get_channel() + state = self._state + content = str(content) if content is not None else None + if embed is not None: + embed = embed.to_dict() + + if file is not None and files is not None: + raise InvalidArgument('cannot pass both file and files parameter to send()') + + if file is not None: + if not isinstance(file, File): + raise InvalidArgument('file parameter must be File') + + try: + data = await state.http.send_files(channel.id, files=[file], + content=content, tts=tts, embed=embed, nonce=nonce) + finally: + file.close() + + elif files is not None: + if len(files) > 10: + raise InvalidArgument('files parameter must be a list of up to 10 elements') + elif not all(isinstance(file, File) for file in files): + raise InvalidArgument('files parameter must be a list of File') + + try: + data = await state.http.send_files(channel.id, files=files, content=content, tts=tts, + embed=embed, nonce=nonce) + finally: + for f in files: + f.close() + else: + data = await state.http.send_message(channel.id, content, tts=tts, embed=embed, nonce=nonce) + + ret = state.create_message(channel=channel, data=data) + if delete_after is not None: + async def delete(): + await asyncio.sleep(delete_after, loop=state.loop) + try: + await ret.delete() + except HTTPException: + pass + asyncio.ensure_future(delete(), loop=state.loop) + return ret + + async def trigger_typing(self): + """|coro| + + Triggers a *typing* indicator to the destination. + + *Typing* indicator will go away after 10 seconds, or after a message is sent. + """ + + channel = await self._get_channel() + await self._state.http.send_typing(channel.id) + + def typing(self): + """Returns a context manager that allows you to type for an indefinite period of time. + + This is useful for denoting long computations in your bot. + + .. note:: + + This is both a regular context manager and an async context manager. + This means that both ``with`` and ``async with`` work with this. + + Example Usage: :: + + async with channel.typing(): + # do expensive stuff here + await channel.send('done!') + + """ + return Typing(self) + + async def fetch_message(self, id): + """|coro| + + Retrieves a single :class:`.Message` from the destination. + + This can only be used by bot accounts. + + Parameters + ------------ + id: :class:`int` + The message ID to look for. + + Raises + -------- + :exc:`.NotFound` + The specified message was not found. + :exc:`.Forbidden` + You do not have the permissions required to get a message. + :exc:`.HTTPException` + Retrieving the message failed. + + Returns + -------- + :class:`.Message` + The message asked for. + """ + + channel = await self._get_channel() + data = await self._state.http.get_message(channel.id, id) + return self._state.create_message(channel=channel, data=data) + + async def pins(self): + """|coro| + + Returns a :class:`list` of :class:`.Message` that are currently pinned. + + Raises + ------- + :exc:`.HTTPException` + Retrieving the pinned messages failed. + """ + + channel = await self._get_channel() + state = self._state + data = await state.http.pins_from(channel.id) + return [state.create_message(channel=channel, data=m) for m in data] + + def history(self, *, limit=100, before=None, after=None, around=None, oldest_first=None): + """Return an :class:`.AsyncIterator` that enables receiving the destination's message history. + + You must have :attr:`~.Permissions.read_message_history` permissions to use this. + + Examples + --------- + + Usage :: + + counter = 0 + async for message in channel.history(limit=200): + if message.author == client.user: + counter += 1 + + Flattening into a list: :: + + messages = await channel.history(limit=123).flatten() + # messages is now a list of Message... + + All parameters are optional. + + Parameters + ----------- + limit: Optional[:class:`int`] + The number of messages to retrieve. + If ``None``, retrieves every message in the channel. Note, however, + that this would make it a slow operation. + before: :class:`.Message` or :class:`datetime.datetime` + Retrieve messages before this date or message. + If a date is provided it must be a timezone-naive datetime representing UTC time. + after: :class:`.Message` or :class:`datetime.datetime` + Retrieve messages after this date or message. + If a date is provided it must be a timezone-naive datetime representing UTC time. + around: :class:`.Message` or :class:`datetime.datetime` + Retrieve messages around this date or message. + If a date is provided it must be a timezone-naive datetime representing UTC time. + When using this argument, the maximum limit is 101. Note that if the limit is an + even number then this will return at most limit + 1 messages. + oldest_first: Optional[:class:`bool`] + If set to true, return messages in oldest->newest order. Defaults to True if + ``after`` is specified, otherwise False. + + Raises + ------ + :exc:`.Forbidden` + You do not have permissions to get channel message history. + :exc:`.HTTPException` + The request to get message history failed. + + Yields + ------- + :class:`.Message` + The message with the message data parsed. + """ + return HistoryIterator(self, limit=limit, before=before, after=after, around=around, oldest_first=oldest_first) + + +class Connectable(metaclass=abc.ABCMeta): + """An ABC that details the common operations on a channel that can + connect to a voice server. + + The following implement this ABC: + + - :class:`VoiceChannel` + """ + __slots__ = () + + @abc.abstractmethod + def _get_voice_client_key(self): + raise NotImplementedError + + @abc.abstractmethod + def _get_voice_state_pair(self): + raise NotImplementedError + + async def connect(self, *, timeout=60.0, reconnect=True): + """|coro| + + Connects to voice and creates a :class:`VoiceClient` to establish + your connection to the voice server. + + Parameters + ----------- + timeout: :class:`float` + The timeout in seconds to wait for the voice endpoint. + reconnect: :class:`bool` + Whether the bot should automatically attempt + a reconnect if a part of the handshake fails + or the gateway goes down. + + Raises + ------- + asyncio.TimeoutError + Could not connect to the voice channel in time. + ClientException + You are already connected to a voice channel. + OpusNotLoaded + The opus library has not been loaded. + + Returns + ------- + :class:`VoiceClient` + A voice client that is fully connected to the voice server. + """ + key_id, _ = self._get_voice_client_key() + state = self._state + + if state._get_voice_client(key_id): + raise ClientException('Already connected to a voice channel.') + + voice = VoiceClient(state=state, timeout=timeout, channel=self) + state._add_voice_client(key_id, voice) + + try: + await voice.connect(reconnect=reconnect) + except asyncio.TimeoutError: + try: + await voice.disconnect(force=True) + except Exception: + # we don't care if disconnect failed because connection failed + pass + raise # re-raise + + return voice diff --git a/venv/lib/python3.6/site-packages/discord/activity.py b/venv/lib/python3.6/site-packages/discord/activity.py new file mode 100644 index 0000000..736b875 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/activity.py @@ -0,0 +1,582 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import datetime + +from .enums import ActivityType, try_enum +from .colour import Colour +from .utils import _get_as_snowflake + +__all__ = ['Activity', 'Streaming', 'Game', 'Spotify'] + +"""If curious, this is the current schema for an activity. + +It's fairly long so I will document it here: + +All keys are optional. + +state: str (max: 128), +details: str (max: 128) +timestamps: dict + start: int (min: 1) + end: int (min: 1) +assets: dict + large_image: str (max: 32) + large_text: str (max: 128) + small_image: str (max: 32) + small_text: str (max: 128) +party: dict + id: str (max: 128), + size: List[int] (max-length: 2) + elem: int (min: 1) +secrets: dict + match: str (max: 128) + join: str (max: 128) + spectate: str (max: 128) +instance: bool +application_id: str +name: str (max: 128) +url: str +type: int +sync_id: str +session_id: str +flags: int + +There are also activity flags which are mostly uninteresting for the library atm. + +t.ActivityFlags = { + INSTANCE: 1, + JOIN: 2, + SPECTATE: 4, + JOIN_REQUEST: 8, + SYNC: 16, + PLAY: 32 +} +""" + +class _ActivityTag: + __slots__ = () + +class Activity(_ActivityTag): + """Represents an activity in Discord. + + This could be an activity such as streaming, playing, listening + or watching. + + For memory optimisation purposes, some activities are offered in slimmed + down versions: + + - :class:`Game` + - :class:`Streaming` + + Attributes + ------------ + application_id: :class:`int` + The application ID of the game. + name: :class:`str` + The name of the activity. + url: :class:`str` + A stream URL that the activity could be doing. + type: :class:`ActivityType` + The type of activity currently being done. + state: :class:`str` + The user's current state. For example, "In Game". + details: :class:`str` + The detail of the user's current activity. + timestamps: :class:`dict` + A dictionary of timestamps. It contains the following optional keys: + + - ``start``: Corresponds to when the user started doing the + activity in milliseconds since Unix epoch. + - ``end``: Corresponds to when the user will finish doing the + activity in milliseconds since Unix epoch. + + assets: :class:`dict` + A dictionary representing the images and their hover text of an activity. + It contains the following optional keys: + + - ``large_image``: A string representing the ID for the large image asset. + - ``large_text``: A string representing the text when hovering over the large image asset. + - ``small_image``: A string representing the ID for the small image asset. + - ``small_text``: A string representing the text when hovering over the small image asset. + + party: :class:`dict` + A dictionary representing the activity party. It contains the following optional keys: + + - ``id``: A string representing the party ID. + - ``size``: A list of up to two integer elements denoting (current_size, maximum_size). + """ + + __slots__ = ('state', 'details', 'timestamps', 'assets', 'party', + 'flags', 'sync_id', 'session_id', 'type', 'name', 'url', 'application_id') + + def __init__(self, **kwargs): + self.state = kwargs.pop('state', None) + self.details = kwargs.pop('details', None) + self.timestamps = kwargs.pop('timestamps', {}) + self.assets = kwargs.pop('assets', {}) + self.party = kwargs.pop('party', {}) + self.application_id = _get_as_snowflake(kwargs, 'application_id') + self.name = kwargs.pop('name', None) + self.url = kwargs.pop('url', None) + self.flags = kwargs.pop('flags', 0) + self.sync_id = kwargs.pop('sync_id', None) + self.session_id = kwargs.pop('session_id', None) + self.type = try_enum(ActivityType, kwargs.pop('type', -1)) + + def to_dict(self): + ret = {} + for attr in self.__slots__: + value = getattr(self, attr, None) + if value is None: + continue + + if isinstance(value, dict) and len(value) == 0: + continue + + ret[attr] = value + ret['type'] = self.type.value + return ret + + @property + def start(self): + """Optional[:class:`datetime.datetime`]: When the user started doing this activity in UTC, if applicable.""" + try: + return datetime.datetime.utcfromtimestamp(self.timestamps['start'] / 1000) + except KeyError: + return None + + @property + def end(self): + """Optional[:class:`datetime.datetime`]: When the user will stop doing this activity in UTC, if applicable.""" + try: + return datetime.datetime.utcfromtimestamp(self.timestamps['end'] / 1000) + except KeyError: + return None + + @property + def large_image_url(self): + """Optional[:class:`str`]: Returns a URL pointing to the large image asset of this activity if applicable.""" + if self.application_id is None: + return None + + try: + large_image = self.assets['large_image'] + except KeyError: + return None + else: + return 'https://cdn.discordapp.com/app-assets/{0}/{1}.png'.format(self.application_id, large_image) + + @property + def small_image_url(self): + """Optional[:class:`str`]: Returns a URL pointing to the small image asset of this activity if applicable.""" + if self.application_id is None: + return None + + try: + small_image = self.assets['small_image'] + except KeyError: + return None + else: + return 'https://cdn.discordapp.com/app-assets/{0}/{1}.png'.format(self.application_id, small_image) + @property + def large_image_text(self): + """Optional[:class:`str`]: Returns the large image asset hover text of this activity if applicable.""" + return self.assets.get('large_text', None) + + @property + def small_image_text(self): + """Optional[:class:`str`]: Returns the small image asset hover text of this activity if applicable.""" + return self.assets.get('small_text', None) + + +class Game(_ActivityTag): + """A slimmed down version of :class:`Activity` that represents a Discord game. + + This is typically displayed via **Playing** on the official Discord client. + + .. container:: operations + + .. describe:: x == y + + Checks if two games are equal. + + .. describe:: x != y + + Checks if two games are not equal. + + .. describe:: hash(x) + + Returns the game's hash. + + .. describe:: str(x) + + Returns the game's name. + + Parameters + ----------- + name: :class:`str` + The game's name. + start: Optional[:class:`datetime.datetime`] + A naive UTC timestamp representing when the game started. Keyword-only parameter. Ignored for bots. + end: Optional[:class:`datetime.datetime`] + A naive UTC timestamp representing when the game ends. Keyword-only parameter. Ignored for bots. + + Attributes + ----------- + name: :class:`str` + The game's name. + """ + + __slots__ = ('name', '_end', '_start') + + def __init__(self, name, **extra): + self.name = name + + try: + timestamps = extra['timestamps'] + except KeyError: + self._extract_timestamp(extra, 'start') + self._extract_timestamp(extra, 'end') + else: + self._start = timestamps.get('start', 0) + self._end = timestamps.get('end', 0) + + def _extract_timestamp(self, data, key): + try: + dt = data[key] + except KeyError: + setattr(self, '_' + key, 0) + else: + setattr(self, '_' + key, dt.timestamp() * 1000.0) + + @property + def type(self): + """Returns the game's type. This is for compatibility with :class:`Activity`. + + It always returns :attr:`ActivityType.playing`. + """ + return ActivityType.playing + + @property + def start(self): + """Optional[:class:`datetime.datetime`]: When the user started playing this game in UTC, if applicable.""" + if self._start: + return datetime.datetime.utcfromtimestamp(self._start / 1000) + return None + + @property + def end(self): + """Optional[:class:`datetime.datetime`]: When the user will stop playing this game in UTC, if applicable.""" + if self._end: + return datetime.datetime.utcfromtimestamp(self._end / 1000) + return None + + def __str__(self): + return str(self.name) + + def __repr__(self): + return '<Game name={0.name!r}>'.format(self) + + def to_dict(self): + timestamps = {} + if self._start: + timestamps['start'] = self._start + + if self._end: + timestamps['end'] = self._end + + return { + 'type': ActivityType.playing.value, + 'name': str(self.name), + 'timestamps': timestamps + } + + def __eq__(self, other): + return isinstance(other, Game) and other.name == self.name + + def __ne__(self, other): + return not self.__eq__(other) + + def __hash__(self): + return hash(self.name) + +class Streaming(_ActivityTag): + """A slimmed down version of :class:`Activity` that represents a Discord streaming status. + + This is typically displayed via **Streaming** on the official Discord client. + + .. container:: operations + + .. describe:: x == y + + Checks if two streams are equal. + + .. describe:: x != y + + Checks if two streams are not equal. + + .. describe:: hash(x) + + Returns the stream's hash. + + .. describe:: str(x) + + Returns the stream's name. + + Attributes + ----------- + name: :class:`str` + The stream's name. + url: :class:`str` + The stream's URL. Currently only twitch.tv URLs are supported. Anything else is silently + discarded. + details: Optional[:class:`str`] + If provided, typically the game the streamer is playing. + assets: :class:`dict` + A dictionary comprising of similar keys than those in :attr:`Activity.assets`. + """ + + __slots__ = ('name', 'url', 'details', 'assets') + + def __init__(self, *, name, url, **extra): + self.name = name + self.url = url + self.details = extra.pop('details', None) + self.assets = extra.pop('assets', {}) + + @property + def type(self): + """Returns the game's type. This is for compatibility with :class:`Activity`. + + It always returns :attr:`ActivityType.streaming`. + """ + return ActivityType.streaming + + def __str__(self): + return str(self.name) + + def __repr__(self): + return '<Streaming name={0.name!r}>'.format(self) + + @property + def twitch_name(self): + """Optional[:class:`str`]: If provided, the twitch name of the user streaming. + + This corresponds to the ``large_image`` key of the :attr:`Streaming.assets` + dictionary if it starts with ``twitch:``. Typically set by the Discord client. + """ + + try: + name = self.assets['large_image'] + except KeyError: + return None + else: + return name[7:] if name[:7] == 'twitch:' else None + + def to_dict(self): + ret = { + 'type': ActivityType.streaming.value, + 'name': str(self.name), + 'url': str(self.url), + 'assets': self.assets + } + if self.details: + ret['details'] = self.details + return ret + + def __eq__(self, other): + return isinstance(other, Streaming) and other.name == self.name and other.url == self.url + + def __ne__(self, other): + return not self.__eq__(other) + + def __hash__(self): + return hash(self.name) + +class Spotify: + """Represents a Spotify listening activity from Discord. This is a special case of + :class:`Activity` that makes it easier to work with the Spotify integration. + + .. container:: operations + + .. describe:: x == y + + Checks if two activities are equal. + + .. describe:: x != y + + Checks if two activities are not equal. + + .. describe:: hash(x) + + Returns the activity's hash. + + .. describe:: str(x) + + Returns the string 'Spotify'. + """ + + __slots__ = ('_state', '_details', '_timestamps', '_assets', '_party', '_sync_id', '_session_id') + + def __init__(self, **data): + self._state = data.pop('state', None) + self._details = data.pop('details', None) + self._timestamps = data.pop('timestamps', {}) + self._assets = data.pop('assets', {}) + self._party = data.pop('party', {}) + self._sync_id = data.pop('sync_id') + self._session_id = data.pop('session_id') + + @property + def type(self): + """Returns the activity's type. This is for compatibility with :class:`Activity`. + + It always returns :attr:`ActivityType.listening`. + """ + return ActivityType.listening + + @property + def colour(self): + """Returns the Spotify integration colour, as a :class:`Colour`. + + There is an alias for this named :meth:`color`""" + return Colour(0x1db954) + + @property + def color(self): + """Returns the Spotify integration colour, as a :class:`Colour`. + + There is an alias for this named :meth:`colour`""" + return self.colour + + def to_dict(self): + return { + 'flags': 48, # SYNC | PLAY + 'name': 'Spotify', + 'assets': self._assets, + 'party': self._party, + 'sync_id': self._sync_id, + 'session_id': self._session_id, + 'timestamps': self._timestamps, + 'details': self._details, + 'state': self._state + } + + @property + def name(self): + """:class:`str`: The activity's name. This will always return "Spotify".""" + return 'Spotify' + + def __eq__(self, other): + return isinstance(other, Spotify) and other._session_id == self._session_id + + def __ne__(self, other): + return not self.__eq__(other) + + def __hash__(self): + return hash(self._session_id) + + def __str__(self): + return 'Spotify' + + def __repr__(self): + return '<Spotify title={0.title!r} artist={0.artist!r} track_id={0.track_id!r}>'.format(self) + + @property + def title(self): + """:class:`str`: The title of the song being played.""" + return self._details + + @property + def artists(self): + """List[:class:`str`]: The artists of the song being played.""" + return self._state.split('; ') + + @property + def artist(self): + """:class:`str`: The artist of the song being played. + + This does not attempt to split the artist information into + multiple artists. Useful if there's only a single artist. + """ + return self._state + + @property + def album(self): + """:class:`str`: The album that the song being played belongs to.""" + return self._assets.get('large_text', '') + + @property + def album_cover_url(self): + """:class:`str`: The album cover image URL from Spotify's CDN.""" + large_image = self._assets.get('large_image', '') + if large_image[:8] != 'spotify:': + return '' + album_image_id = large_image[8:] + return 'https://i.scdn.co/image/' + album_image_id + + @property + def track_id(self): + """:class:`str`: The track ID used by Spotify to identify this song.""" + return self._sync_id + + @property + def start(self): + """:class:`datetime.datetime`: When the user started playing this song in UTC.""" + return datetime.datetime.utcfromtimestamp(self._timestamps['start'] / 1000) + + @property + def end(self): + """:class:`datetime.datetime`: When the user will stop playing this song in UTC.""" + return datetime.datetime.utcfromtimestamp(self._timestamps['end'] / 1000) + + @property + def duration(self): + """:class:`datetime.timedelta`: The duration of the song being played.""" + return self.end - self.start + + @property + def party_id(self): + """:class:`str`: The party ID of the listening party.""" + return self._party.get('id', '') + +def create_activity(data): + if not data: + return None + + game_type = try_enum(ActivityType, data.get('type', -1)) + if game_type is ActivityType.playing: + if 'application_id' in data or 'session_id' in data: + return Activity(**data) + return Game(**data) + elif game_type is ActivityType.streaming: + if 'url' in data: + return Streaming(**data) + return Activity(**data) + elif game_type is ActivityType.listening and 'sync_id' in data and 'session_id' in data: + return Spotify(**data) + return Activity(**data) diff --git a/venv/lib/python3.6/site-packages/discord/appinfo.py b/venv/lib/python3.6/site-packages/discord/appinfo.py new file mode 100644 index 0000000..744517e --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/appinfo.py @@ -0,0 +1,74 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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 .user import User +from .asset import Asset + + +class AppInfo: + """Represents the application info for the bot provided by Discord. + + + Attributes + ------------- + id: :class:`int` + The application ID. + name: :class:`str` + The application name. + owner: :class:`User` + The application owner. + icon: Optional[:class:`str`] + The icon hash, if it exists. + description: Optional[:class:`str`] + The application description. + bot_public: :class:`bool` + Whether the bot can be invited by anyone or if it is locked + to the application owner. + bot_require_code_grant: :class:`bool` + Whether the bot requires the completion of the full oauth2 code + grant flow to join. + rpc_origins: Optional[List[:class:`str`]] + A list of RPC origin URLs, if RPC is enabled. + """ + __slots__ = ('_state', 'description', 'id', 'name', 'rpc_origins', + 'bot_public', 'bot_require_code_grant', 'owner', 'icon') + + def __init__(self, state, data): + self._state = state + + self.id = int(data['id']) + self.name = data['name'] + self.description = data['description'] + self.icon = data['icon'] + self.rpc_origins = data['rpc_origins'] + self.bot_public = data['bot_public'] + self.bot_require_code_grant = data['bot_require_code_grant'] + self.owner = User(state=self._state, data=data['owner']) + + @property + def icon_url(self): + """:class:`.Asset`: Retrieves the application's icon asset.""" + return Asset._from_icon(self._state, self, 'app') diff --git a/venv/lib/python3.6/site-packages/discord/asset.py b/venv/lib/python3.6/site-packages/discord/asset.py new file mode 100644 index 0000000..971a07c --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/asset.py @@ -0,0 +1,159 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import io +from .errors import DiscordException +from .errors import InvalidArgument +from . import utils + +VALID_STATIC_FORMATS = frozenset({"jpeg", "jpg", "webp", "png"}) +VALID_AVATAR_FORMATS = VALID_STATIC_FORMATS | {"gif"} + +class Asset: + """Represents a CDN asset on Discord. + + .. container:: operations + + .. describe:: str(x) + + Returns the URL of the CDN asset. + + .. describe:: len(x) + + Returns the length of the CDN asset's URL. + + .. describe:: bool(x) + + Checks if the Asset has a URL. + """ + __slots__ = ('_state', '_url') + + def __init__(self, state, url=None): + self._state = state + self._url = url + + @classmethod + def _from_avatar(cls, state, user, *, format=None, static_format='webp', size=1024): + if not utils.valid_icon_size(size): + raise InvalidArgument("size must be a power of 2 between 16 and 1024") + if format is not None and format not in VALID_AVATAR_FORMATS: + raise InvalidArgument("format must be None or one of {}".format(VALID_AVATAR_FORMATS)) + if format == "gif" and not user.is_avatar_animated(): + raise InvalidArgument("non animated avatars do not support gif format") + if static_format not in VALID_STATIC_FORMATS: + raise InvalidArgument("static_format must be one of {}".format(VALID_STATIC_FORMATS)) + + if user.avatar is None: + return user.default_avatar_url + + if format is None: + format = 'gif' if user.is_avatar_animated() else static_format + + return cls(state, 'https://cdn.discordapp.com/avatars/{0.id}/{0.avatar}.{1}?size={2}'.format(user, format, size)) + + @classmethod + def _from_icon(cls, state, object, path): + if object.icon is None: + return cls(state) + + url = 'https://cdn.discordapp.com/{0}-icons/{1.id}/{1.icon}.jpg'.format(path, object) + return cls(state, url) + + @classmethod + def _from_guild_image(cls, state, id, hash, key, *, format='webp', size=1024): + if not utils.valid_icon_size(size): + raise InvalidArgument("size must be a power of 2 between 16 and 4096") + if format not in VALID_STATIC_FORMATS: + raise InvalidArgument("format must be one of {}".format(VALID_STATIC_FORMATS)) + + if hash is None: + return Asset(state) + + url = 'https://cdn.discordapp.com/{key}/{0}/{1}.{2}?size={3}' + return cls(state, url.format(id, hash, format, size, key=key)) + + def __str__(self): + return self._url if self._url is not None else '' + + def __len__(self): + if self._url: + return len(self._url) + return 0 + + def __bool__(self): + return self._url is not None + + def __repr__(self): + return '<Asset url={0._url!r}>'.format(self) + + async def save(self, fp, *, seek_begin=True): + """|coro| + + Saves this asset into a file-like object. + + Parameters + ----------- + fp: Union[BinaryIO, :class:`os.PathLike`] + Same as in :meth:`Attachment.save`. + seek_begin: :class:`bool` + Same as in :meth:`Attachment.save`. + + Raises + -------- + DiscordException + There was no valid URL or internal connection state. + + .. note:: + + :class:`PartialEmoji` will not have a state if you make + your own instance via ``PartialEmoji(animated=False, name='x', id=2345678)``. + + The URL will not be provided if there is no custom image. + HTTPException + Saving the asset failed. + NotFound + The asset was deleted. + + Returns + -------- + :class:`int` + The number of bytes written. + """ + if not self._url: + raise DiscordException('Invalid asset (no URL provided)') + + if self._state is None: + raise DiscordException('Invalid state (no ConnectionState provided)') + + data = await self._state.http.get_from_cdn(self._url) + if isinstance(fp, io.IOBase) and fp.writable(): + written = fp.write(data) + if seek_begin: + fp.seek(0) + return written + else: + with open(fp, 'wb') as f: + return f.write(data) diff --git a/venv/lib/python3.6/site-packages/discord/audit_logs.py b/venv/lib/python3.6/site-packages/discord/audit_logs.py new file mode 100644 index 0000000..faf05f2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/audit_logs.py @@ -0,0 +1,346 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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 . import utils, enums +from .object import Object +from .permissions import PermissionOverwrite, Permissions +from .colour import Colour +from .invite import Invite + +def _transform_verification_level(entry, data): + return enums.try_enum(enums.VerificationLevel, data) + +def _transform_default_notifications(entry, data): + return enums.try_enum(enums.NotificationLevel, data) + +def _transform_explicit_content_filter(entry, data): + return enums.try_enum(enums.ContentFilter, data) + +def _transform_permissions(entry, data): + return Permissions(data) + +def _transform_color(entry, data): + return Colour(data) + +def _transform_snowflake(entry, data): + return int(data) + +def _transform_channel(entry, data): + if data is None: + return None + channel = entry.guild.get_channel(int(data)) or Object(id=data) + return channel + +def _transform_owner_id(entry, data): + if data is None: + return None + return entry._get_member(int(data)) + +def _transform_inviter_id(entry, data): + if data is None: + return None + return entry._get_member(int(data)) + +def _transform_overwrites(entry, data): + overwrites = [] + for elem in data: + allow = Permissions(elem['allow']) + deny = Permissions(elem['deny']) + ow = PermissionOverwrite.from_pair(allow, deny) + + ow_type = elem['type'] + ow_id = int(elem['id']) + if ow_type == 'role': + target = entry.guild.get_role(ow_id) + else: + target = entry._get_member(ow_id) + + if target is None: + target = Object(id=ow_id) + + overwrites.append((target, ow)) + + return overwrites + +class AuditLogDiff: + def __len__(self): + return len(self.__dict__) + + def __iter__(self): + return iter(self.__dict__.items()) + + def __repr__(self): + return '<AuditLogDiff attrs={0!r}>'.format(tuple(self.__dict__)) + +class AuditLogChanges: + TRANSFORMERS = { + 'verification_level': (None, _transform_verification_level), + 'explicit_content_filter': (None, _transform_explicit_content_filter), + 'allow': (None, _transform_permissions), + 'deny': (None, _transform_permissions), + 'permissions': (None, _transform_permissions), + 'id': (None, _transform_snowflake), + 'color': ('colour', _transform_color), + 'owner_id': ('owner', _transform_owner_id), + 'inviter_id': ('inviter', _transform_inviter_id), + 'channel_id': ('channel', _transform_channel), + 'afk_channel_id': ('afk_channel', _transform_channel), + 'system_channel_id': ('system_channel', _transform_channel), + 'widget_channel_id': ('widget_channel', _transform_channel), + 'permission_overwrites': ('overwrites', _transform_overwrites), + 'splash_hash': ('splash', None), + 'icon_hash': ('icon', None), + 'avatar_hash': ('avatar', None), + 'rate_limit_per_user': ('slowmode_delay', None), + 'default_message_notifications': ('default_notifications', _transform_default_notifications), + } + + def __init__(self, entry, data): + self.before = AuditLogDiff() + self.after = AuditLogDiff() + + for elem in data: + attr = elem['key'] + + # special cases for role add/remove + if attr == '$add': + self._handle_role(self.before, self.after, entry, elem['new_value']) + continue + elif attr == '$remove': + self._handle_role(self.after, self.before, entry, elem['new_value']) + continue + + transformer = self.TRANSFORMERS.get(attr) + if transformer: + key, transformer = transformer + if key: + attr = key + + try: + before = elem['old_value'] + except KeyError: + before = None + else: + if transformer: + before = transformer(entry, before) + + setattr(self.before, attr, before) + + try: + after = elem['new_value'] + except KeyError: + after = None + else: + if transformer: + after = transformer(entry, after) + + setattr(self.after, attr, after) + + # add an alias + if hasattr(self.after, 'colour'): + self.after.color = self.after.colour + self.before.color = self.before.colour + + def _handle_role(self, first, second, entry, elem): + if not hasattr(first, 'roles'): + setattr(first, 'roles', []) + + data = [] + g = entry.guild + + for e in elem: + role_id = int(e['id']) + role = g.get_role(role_id) + + if role is None: + role = Object(id=role_id) + role.name = e['name'] + + data.append(role) + + setattr(second, 'roles', data) + +class AuditLogEntry: + r"""Represents an Audit Log entry. + + You retrieve these via :meth:`Guild.audit_logs`. + + Attributes + ----------- + action: :class:`AuditLogAction` + The action that was done. + user: :class:`abc.User` + The user who initiated this action. Usually a :class:`Member`\, unless gone + then it's a :class:`User`. + id: :class:`int` + The entry ID. + target: Any + The target that got changed. The exact type of this depends on + the action being done. + reason: Optional[:class:`str`] + The reason this action was done. + extra: Any + Extra information that this entry has that might be useful. + For most actions, this is ``None``. However in some cases it + contains extra information. See :class:`AuditLogAction` for + which actions have this field filled out. + """ + + def __init__(self, *, users, data, guild): + self._state = guild._state + self.guild = guild + self._users = users + self._from_data(data) + + def _from_data(self, data): + self.action = enums.AuditLogAction(data['action_type']) + self.id = int(data['id']) + + # this key is technically not usually present + self.reason = data.get('reason') + self.extra = data.get('options') + + if self.extra: + if self.action is enums.AuditLogAction.member_prune: + # member prune has two keys with useful information + self.extra = type('_AuditLogProxy', (), {k: int(v) for k, v in self.extra.items()})() + elif self.action is enums.AuditLogAction.message_delete: + channel_id = int(self.extra['channel_id']) + elems = { + 'count': int(self.extra['count']), + 'channel': self.guild.get_channel(channel_id) or Object(id=channel_id) + } + self.extra = type('_AuditLogProxy', (), elems)() + elif self.action.name.startswith('overwrite_'): + # the overwrite_ actions have a dict with some information + instance_id = int(self.extra['id']) + the_type = self.extra.get('type') + if the_type == 'member': + self.extra = self._get_member(instance_id) + else: + role = self.guild.get_role(instance_id) + if role is None: + role = Object(id=instance_id) + role.name = self.extra.get('role_name') + self.extra = role + + # this key is not present when the above is present, typically. + # It's a list of { new_value: a, old_value: b, key: c } + # where new_value and old_value are not guaranteed to be there depending + # on the action type, so let's just fetch it for now and only turn it + # into meaningful data when requested + self._changes = data.get('changes', []) + + self.user = self._get_member(utils._get_as_snowflake(data, 'user_id')) + self._target_id = utils._get_as_snowflake(data, 'target_id') + + def _get_member(self, user_id): + return self.guild.get_member(user_id) or self._users.get(user_id) + + def __repr__(self): + return '<AuditLogEntry id={0.id} action={0.action} user={0.user!r}>'.format(self) + + @utils.cached_property + def created_at(self): + """Returns the entry's creation time in UTC.""" + return utils.snowflake_time(self.id) + + @utils.cached_property + def target(self): + try: + converter = getattr(self, '_convert_target_' + self.action.target_type) + except AttributeError: + return Object(id=self._target_id) + else: + return converter(self._target_id) + + @utils.cached_property + def category(self): + """Optional[:class:`AuditLogActionCategory`]: The category of the action, if applicable.""" + return self.action.category + + @utils.cached_property + def changes(self): + """:class:`AuditLogChanges`: The list of changes this entry has.""" + obj = AuditLogChanges(self, self._changes) + del self._changes + return obj + + @utils.cached_property + def before(self): + """:class:`AuditLogDiff`: The target's prior state.""" + return self.changes.before + + @utils.cached_property + def after(self): + """:class:`AuditLogDiff`: The target's subsequent state.""" + return self.changes.after + + def _convert_target_guild(self, target_id): + return self.guild + + def _convert_target_channel(self, target_id): + ch = self.guild.get_channel(target_id) + if ch is None: + return Object(id=target_id) + return ch + + def _convert_target_user(self, target_id): + return self._get_member(target_id) + + def _convert_target_role(self, target_id): + role = self.guild.get_role(target_id) + if role is None: + return Object(id=target_id) + return role + + def _convert_target_invite(self, target_id): + # invites have target_id set to null + # so figure out which change has the full invite data + changeset = self.before if self.action is enums.AuditLogAction.invite_delete else self.after + + fake_payload = { + 'max_age': changeset.max_age, + 'max_uses': changeset.max_uses, + 'code': changeset.code, + 'temporary': changeset.temporary, + 'channel': changeset.channel, + 'uses': changeset.uses, + 'guild': self.guild, + } + + obj = Invite(state=self._state, data=fake_payload) + try: + obj.inviter = changeset.inviter + except AttributeError: + pass + return obj + + def _convert_target_emoji(self, target_id): + return self._state.get_emoji(target_id) or Object(id=target_id) + + def _convert_target_message(self, target_id): + return self._get_member(target_id) diff --git a/venv/lib/python3.6/site-packages/discord/backoff.py b/venv/lib/python3.6/site-packages/discord/backoff.py new file mode 100644 index 0000000..a4f3221 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/backoff.py @@ -0,0 +1,85 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import time +import random + +class ExponentialBackoff: + """An implementation of the exponential backoff algorithm + + Provides a convenient interface to implement an exponential backoff + for reconnecting or retrying transmissions in a distributed network. + + Once instantiated, the delay method will return the next interval to + wait for when retrying a connection or transmission. The maximum + delay increases exponentially with each retry up to a maximum of + 2^10 * base, and is reset if no more attempts are needed in a period + of 2^11 * base seconds. + + Parameters + ---------- + base: :class:`int` + The base delay in seconds. The first retry-delay will be up to + this many seconds. + integral: :class:`bool` + Set to True if whole periods of base is desirable, otherwise any + number in between may be returned. + """ + + def __init__(self, base=1, *, integral=False): + self._base = base + + self._exp = 0 + self._max = 10 + self._reset_time = base * 2 ** 11 + self._last_invocation = time.monotonic() + + # Use our own random instance to avoid messing with global one + rand = random.Random() + rand.seed() + + self._randfunc = rand.randrange if integral else rand.uniform + + def delay(self): + """Compute the next delay + + Returns the next delay to wait according to the exponential + backoff algorithm. This is a value between 0 and base * 2^exp + where exponent starts off at 1 and is incremented at every + invocation of this method up to a maximum of 10. + + If a period of more than base * 2^11 has passed since the last + retry, the exponent is reset to 1. + """ + invocation = time.monotonic() + interval = invocation - self._last_invocation + self._last_invocation = invocation + + if interval > self._reset_time: + self._exp = 0 + + self._exp = min(self._exp + 1, self._max) + return self._randfunc(0, self._base * 2 ** self._exp) diff --git a/venv/lib/python3.6/site-packages/discord/bin/libopus-0.x64.dll b/venv/lib/python3.6/site-packages/discord/bin/libopus-0.x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..2832418655d9d4641808af9da3c6074bc6a8db64 GIT binary patch literal 423142 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%0D95u>d{B?O*x|vnX6&m6OWOX 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 Lu_oR4HqrkB6W{Bq literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/discord/bin/libopus-0.x86.dll b/venv/lib/python3.6/site-packages/discord/bin/libopus-0.x86.dll new file mode 100644 index 0000000000000000000000000000000000000000..b291dfc677d4dc19ffcca76ff8d52306cc4d27ca GIT binary patch literal 380885 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%0D;#*w*`ECrS_i_<a9vB0&-Wp|&QcTQe; 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 a#2lVFntEeva~@z)ns;Z+I9dwmm6BgeFG~FY literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/discord/calls.py b/venv/lib/python3.6/site-packages/discord/calls.py new file mode 100644 index 0000000..596ac90 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/calls.py @@ -0,0 +1,155 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import datetime + +from . import utils +from .enums import VoiceRegion, try_enum +from .member import VoiceState + +class CallMessage: + """Represents a group call message from Discord. + + This is only received in cases where the message type is equivalent to + :attr:`MessageType.call`. + + Attributes + ----------- + ended_timestamp: Optional[datetime.datetime] + A naive UTC datetime object that represents the time that the call has ended. + participants: List[:class:`User`] + The list of users that are participating in this call. + message: :class:`Message` + The message associated with this call message. + """ + + def __init__(self, message, **kwargs): + self.message = message + self.ended_timestamp = utils.parse_time(kwargs.get('ended_timestamp')) + self.participants = kwargs.get('participants') + + @property + def call_ended(self): + """:class:`bool`: Indicates if the call has ended.""" + return self.ended_timestamp is not None + + @property + def channel(self): + r""":class:`GroupChannel`\: The private channel associated with this message.""" + return self.message.channel + + @property + def duration(self): + """Queries the duration of the call. + + If the call has not ended then the current duration will + be returned. + + Returns + --------- + datetime.timedelta + The timedelta object representing the duration. + """ + if self.ended_timestamp is None: + return datetime.datetime.utcnow() - self.message.created_at + else: + return self.ended_timestamp - self.message.created_at + +class GroupCall: + """Represents the actual group call from Discord. + + This is accompanied with a :class:`CallMessage` denoting the information. + + Attributes + ----------- + call: :class:`CallMessage` + The call message associated with this group call. + unavailable: :class:`bool` + Denotes if this group call is unavailable. + ringing: List[:class:`User`] + A list of users that are currently being rung to join the call. + region: :class:`VoiceRegion` + The guild region the group call is being hosted on. + """ + + def __init__(self, **kwargs): + self.call = kwargs.get('call') + self.unavailable = kwargs.get('unavailable') + self._voice_states = {} + + for state in kwargs.get('voice_states', []): + self._update_voice_state(state) + + self._update(**kwargs) + + def _update(self, **kwargs): + self.region = try_enum(VoiceRegion, kwargs.get('region')) + lookup = {u.id: u for u in self.call.channel.recipients} + me = self.call.channel.me + lookup[me.id] = me + self.ringing = list(filter(None, map(lookup.get, kwargs.get('ringing', [])))) + + def _update_voice_state(self, data): + user_id = int(data['user_id']) + # left the voice channel? + if data['channel_id'] is None: + self._voice_states.pop(user_id, None) + else: + self._voice_states[user_id] = VoiceState(data=data, channel=self.channel) + + @property + def connected(self): + """A property that returns the :class:`list` of :class:`User` that are currently in this call.""" + ret = [u for u in self.channel.recipients if self.voice_state_for(u) is not None] + me = self.channel.me + if self.voice_state_for(me) is not None: + ret.append(me) + + return ret + + @property + def channel(self): + r""":class:`GroupChannel`\: Returns the channel the group call is in.""" + return self.call.channel + + def voice_state_for(self, user): + """Retrieves the :class:`VoiceState` for a specified :class:`User`. + + If the :class:`User` has no voice state then this function returns + ``None``. + + Parameters + ------------ + user: :class:`User` + The user to retrieve the voice state for. + + Returns + -------- + Optional[:class:`VoiceState`] + The voice state associated with this user. + """ + + return self._voice_states.get(user.id) diff --git a/venv/lib/python3.6/site-packages/discord/channel.py b/venv/lib/python3.6/site-packages/discord/channel.py new file mode 100644 index 0000000..86d93ab --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/channel.py @@ -0,0 +1,1155 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import time +import asyncio + +import discord.abc +from .permissions import Permissions +from .enums import ChannelType, try_enum +from .mixins import Hashable +from . import utils +from .asset import Asset +from .errors import ClientException, NoMoreItems +from .webhook import Webhook + +__all__ = [ + 'TextChannel', + 'VoiceChannel', + 'DMChannel', + 'CategoryChannel', + 'StoreChannel', + 'GroupChannel', + '_channel_factory', +] + +async def _single_delete_strategy(messages): + for m in messages: + await m.delete() + +class TextChannel(discord.abc.Messageable, discord.abc.GuildChannel, Hashable): + """Represents a Discord guild text channel. + + .. container:: operations + + .. describe:: x == y + + Checks if two channels are equal. + + .. describe:: x != y + + Checks if two channels are not equal. + + .. describe:: hash(x) + + Returns the channel's hash. + + .. describe:: str(x) + + Returns the channel's name. + + Attributes + ----------- + name: :class:`str` + The channel name. + guild: :class:`Guild` + The guild the channel belongs to. + id: :class:`int` + The channel ID. + category_id: :class:`int` + The category channel ID this channel belongs to. + topic: Optional[:class:`str`] + The channel's topic. None if it doesn't exist. + position: :class:`int` + The position in the channel list. This is a number that starts at 0. e.g. the + top channel is position 0. + last_message_id: Optional[:class:`int`] + The last message ID of the message sent to this channel. It may + *not* point to an existing or valid message. + slowmode_delay: :class:`int` + The number of seconds a member must wait between sending messages + in this channel. A value of `0` denotes that it is disabled. + Bots and users with :attr:`~Permissions.manage_channels` or + :attr:`~Permissions.manage_messages` bypass slowmode. + """ + + __slots__ = ('name', 'id', 'guild', 'topic', '_state', 'nsfw', + 'category_id', 'position', 'slowmode_delay', '_overwrites', + '_type', 'last_message_id') + + def __init__(self, *, state, guild, data): + self._state = state + self.id = int(data['id']) + self._type = data['type'] + self._update(guild, data) + + def __repr__(self): + return '<TextChannel id={0.id} name={0.name!r} position={0.position}>'.format(self) + + def _update(self, guild, data): + self.guild = guild + self.name = data['name'] + self.category_id = utils._get_as_snowflake(data, 'parent_id') + self.topic = data.get('topic') + self.position = data['position'] + self.nsfw = data.get('nsfw', False) + # Does this need coercion into `int`? No idea yet. + self.slowmode_delay = data.get('rate_limit_per_user', 0) + self._type = data.get('type', self._type) + self.last_message_id = utils._get_as_snowflake(data, 'last_message_id') + self._fill_overwrites(data) + + async def _get_channel(self): + return self + + @property + def _sorting_bucket(self): + return ChannelType.text.value + + def permissions_for(self, member): + base = super().permissions_for(member) + + # text channels do not have voice related permissions + denied = Permissions.voice() + base.value &= ~denied.value + return base + + permissions_for.__doc__ = discord.abc.GuildChannel.permissions_for.__doc__ + + @property + def members(self): + """Returns a :class:`list` of :class:`Member` that can see this channel.""" + return [m for m in self.guild.members if self.permissions_for(m).read_messages] + + def is_nsfw(self): + """Checks if the channel is NSFW.""" + n = self.name + return self.nsfw or n == 'nsfw' or n[:5] == 'nsfw-' + + def is_news(self): + """Checks if the channel is a news channel.""" + return self._type == ChannelType.news.value + + @property + def last_message(self): + """Fetches the last message from this channel in cache. + + The message might not be valid or point to an existing message. + + .. admonition:: Reliable Fetching + :class: helpful + + For a slightly more reliable method of fetching the + last message, consider using either :meth:`history` + or :meth:`fetch_message` with the :attr:`last_message_id` + attribute. + + Returns + --------- + Optional[:class:`Message`] + The last message in this channel or ``None`` if not found. + """ + return self._state._get_message(self.last_message_id) if self.last_message_id else None + + async def edit(self, *, reason=None, **options): + """|coro| + + Edits the channel. + + You must have the :attr:`~Permissions.manage_channels` permission to + use this. + + Parameters + ---------- + name: :class:`str` + The new channel name. + topic: :class:`str` + The new channel's topic. + position: :class:`int` + The new channel's position. + nsfw: :class:`bool` + To mark the channel as NSFW or not. + sync_permissions: :class:`bool` + Whether to sync permissions with the channel's new or pre-existing + category. Defaults to ``False``. + category: Optional[:class:`CategoryChannel`] + The new category for this channel. Can be ``None`` to remove the + category. + slowmode_delay: :class:`int` + Specifies the slowmode rate limit for user in this channel. A value of + `0` disables slowmode. The maximum value possible is `120`. + reason: Optional[:class:`str`] + The reason for editing this channel. Shows up on the audit log. + + Raises + ------ + InvalidArgument + If position is less than 0 or greater than the number of channels. + Forbidden + You do not have permissions to edit the channel. + HTTPException + Editing the channel failed. + """ + await self._edit(options, reason=reason) + + async def delete_messages(self, messages): + """|coro| + + Deletes a list of messages. This is similar to :meth:`Message.delete` + except it bulk deletes multiple messages. + + As a special case, if the number of messages is 0, then nothing + is done. If the number of messages is 1 then single message + delete is done. If it's more than two, then bulk delete is used. + + You cannot bulk delete more than 100 messages or messages that + are older than 14 days old. + + You must have the :attr:`~Permissions.manage_messages` permission to + use this. + + Usable only by bot accounts. + + Parameters + ----------- + messages: Iterable[:class:`abc.Snowflake`] + An iterable of messages denoting which ones to bulk delete. + + Raises + ------ + ClientException + The number of messages to delete was more than 100. + Forbidden + You do not have proper permissions to delete the messages or + you're not using a bot account. + HTTPException + Deleting the messages failed. + """ + if not isinstance(messages, (list, tuple)): + messages = list(messages) + + if len(messages) == 0: + return # do nothing + + if len(messages) == 1: + message_id = messages[0].id + await self._state.http.delete_message(self.id, message_id) + return + + if len(messages) > 100: + raise ClientException('Can only bulk delete messages up to 100 messages') + + message_ids = [m.id for m in messages] + await self._state.http.delete_messages(self.id, message_ids) + + async def purge(self, *, limit=100, check=None, before=None, after=None, around=None, oldest_first=False, bulk=True): + """|coro| + + Purges a list of messages that meet the criteria given by the predicate + ``check``. If a ``check`` is not provided then all messages are deleted + without discrimination. + + You must have the :attr:`~Permissions.manage_messages` permission to + delete messages even if they are your own (unless you are a user + account). The :attr:`~Permissions.read_message_history` permission is + also needed to retrieve message history. + + Internally, this employs a different number of strategies depending + on the conditions met such as if a bulk delete is possible or if + the account is a user bot or not. + + Examples + --------- + + Deleting bot's messages :: + + def is_me(m): + return m.author == client.user + + deleted = await channel.purge(limit=100, check=is_me) + await channel.send('Deleted {} message(s)'.format(len(deleted))) + + Parameters + ----------- + limit: Optional[:class:`int`] + The number of messages to search through. This is not the number + of messages that will be deleted, though it can be. + check: predicate + The function used to check if a message should be deleted. + It must take a :class:`Message` as its sole parameter. + before + Same as ``before`` in :meth:`history`. + after + Same as ``after`` in :meth:`history`. + around + Same as ``around`` in :meth:`history`. + oldest_first + Same as ``oldest_first`` in :meth:`history`. + bulk: class:`bool` + If True, use bulk delete. bulk=False is useful for mass-deleting + a bot's own messages without manage_messages. When True, will fall + back to single delete if current account is a user bot, or if + messages are older than two weeks. + + Raises + ------- + Forbidden + You do not have proper permissions to do the actions required. + HTTPException + Purging the messages failed. + + Returns + -------- + List[:class:`.Message`] + The list of messages that were deleted. + """ + + if check is None: + check = lambda m: True + + iterator = self.history(limit=limit, before=before, after=after, oldest_first=oldest_first, around=around) + ret = [] + count = 0 + + minimum_time = int((time.time() - 14 * 24 * 60 * 60) * 1000.0 - 1420070400000) << 22 + strategy = self.delete_messages if self._state.is_bot and bulk else _single_delete_strategy + + while True: + try: + msg = await iterator.next() + except NoMoreItems: + # no more messages to poll + if count >= 2: + # more than 2 messages -> bulk delete + to_delete = ret[-count:] + await strategy(to_delete) + elif count == 1: + # delete a single message + await ret[-1].delete() + + return ret + else: + if count == 100: + # we've reached a full 'queue' + to_delete = ret[-100:] + await strategy(to_delete) + count = 0 + await asyncio.sleep(1) + + if check(msg): + if msg.id < minimum_time: + # older than 14 days old + if count == 1: + await ret[-1].delete() + elif count >= 2: + to_delete = ret[-count:] + await strategy(to_delete) + + count = 0 + strategy = _single_delete_strategy + + count += 1 + ret.append(msg) + + async def webhooks(self): + """|coro| + + Gets the list of webhooks from this channel. + + Requires :attr:`~.Permissions.manage_webhooks` permissions. + + Raises + ------- + Forbidden + You don't have permissions to get the webhooks. + + Returns + -------- + List[:class:`Webhook`] + The webhooks for this channel. + """ + + data = await self._state.http.channel_webhooks(self.id) + return [Webhook.from_state(d, state=self._state) for d in data] + + async def create_webhook(self, *, name, avatar=None): + """|coro| + + Creates a webhook for this channel. + + Requires :attr:`~.Permissions.manage_webhooks` permissions. + + Parameters + ------------- + name: :class:`str` + The webhook's name. + avatar: Optional[:class:`bytes`] + A :term:`py:bytes-like object` representing the webhook's default avatar. + This operates similarly to :meth:`~ClientUser.edit`. + + Raises + ------- + HTTPException + Creating the webhook failed. + Forbidden + You do not have permissions to create a webhook. + + Returns + -------- + :class:`Webhook` + The created webhook. + """ + + if avatar is not None: + avatar = utils._bytes_to_base64_data(avatar) + + data = await self._state.http.create_webhook(self.id, name=str(name), avatar=avatar) + return Webhook.from_state(data, state=self._state) + +class VoiceChannel(discord.abc.Connectable, discord.abc.GuildChannel, Hashable): + """Represents a Discord guild voice channel. + + .. container:: operations + + .. describe:: x == y + + Checks if two channels are equal. + + .. describe:: x != y + + Checks if two channels are not equal. + + .. describe:: hash(x) + + Returns the channel's hash. + + .. describe:: str(x) + + Returns the channel's name. + + Attributes + ----------- + name: :class:`str` + The channel name. + guild: :class:`Guild` + The guild the channel belongs to. + id: :class:`int` + The channel ID. + category_id: :class:`int` + The category channel ID this channel belongs to. + position: :class:`int` + The position in the channel list. This is a number that starts at 0. e.g. the + top channel is position 0. + bitrate: :class:`int` + The channel's preferred audio bitrate in bits per second. + user_limit: :class:`int` + The channel's limit for number of members that can be in a voice channel. + """ + + __slots__ = ('name', 'id', 'guild', 'bitrate', 'user_limit', + '_state', 'position', '_overwrites', 'category_id') + + def __init__(self, *, state, guild, data): + self._state = state + self.id = int(data['id']) + self._update(guild, data) + + def __repr__(self): + return '<VoiceChannel id={0.id} name={0.name!r} position={0.position}>'.format(self) + + def _get_voice_client_key(self): + return self.guild.id, 'guild_id' + + def _get_voice_state_pair(self): + return self.guild.id, self.id + + @property + def _type(self): + return ChannelType.voice.value + + def _update(self, guild, data): + self.guild = guild + self.name = data['name'] + self.category_id = utils._get_as_snowflake(data, 'parent_id') + self.position = data['position'] + self.bitrate = data.get('bitrate') + self.user_limit = data.get('user_limit') + self._fill_overwrites(data) + + @property + def _sorting_bucket(self): + return ChannelType.voice.value + + @property + def members(self): + """Returns a list of :class:`Member` that are currently inside this voice channel.""" + ret = [] + for user_id, state in self.guild._voice_states.items(): + if state.channel.id == self.id: + member = self.guild.get_member(user_id) + if member is not None: + ret.append(member) + return ret + + def permissions_for(self, member): + base = super().permissions_for(member) + + # voice channels cannot be edited by people who can't connect to them + # It also implicitly denies all other voice perms + if not base.connect: + denied = Permissions.voice() + denied.update(manage_channels=True, manage_roles=True) + base.value &= ~denied.value + return base + + permissions_for.__doc__ = discord.abc.GuildChannel.permissions_for.__doc__ + + async def edit(self, *, reason=None, **options): + """|coro| + + Edits the channel. + + You must have the :attr:`~Permissions.manage_channels` permission to + use this. + + Parameters + ---------- + name: :class:`str` + The new channel's name. + bitrate: :class:`int` + The new channel's bitrate. + user_limit: :class:`int` + The new channel's user limit. + position: :class:`int` + The new channel's position. + sync_permissions: :class:`bool` + Whether to sync permissions with the channel's new or pre-existing + category. Defaults to ``False``. + category: Optional[:class:`CategoryChannel`] + The new category for this channel. Can be ``None`` to remove the + category. + reason: Optional[:class:`str`] + The reason for editing this channel. Shows up on the audit log. + + Raises + ------ + Forbidden + You do not have permissions to edit the channel. + HTTPException + Editing the channel failed. + """ + + await self._edit(options, reason=reason) + +class CategoryChannel(discord.abc.GuildChannel, Hashable): + """Represents a Discord channel category. + + These are useful to group channels to logical compartments. + + .. container:: operations + + .. describe:: x == y + + Checks if two channels are equal. + + .. describe:: x != y + + Checks if two channels are not equal. + + .. describe:: hash(x) + + Returns the category's hash. + + .. describe:: str(x) + + Returns the category's name. + + Attributes + ----------- + name: :class:`str` + The category name. + guild: :class:`Guild` + The guild the category belongs to. + id: :class:`int` + The category channel ID. + position: :class:`int` + The position in the category list. This is a number that starts at 0. e.g. the + top category is position 0. + """ + + __slots__ = ('name', 'id', 'guild', 'nsfw', '_state', 'position', '_overwrites', 'category_id') + + def __init__(self, *, state, guild, data): + self._state = state + self.id = int(data['id']) + self._update(guild, data) + + def __repr__(self): + return '<CategoryChannel id={0.id} name={0.name!r} position={0.position}>'.format(self) + + def _update(self, guild, data): + self.guild = guild + self.name = data['name'] + self.category_id = utils._get_as_snowflake(data, 'parent_id') + self.nsfw = data.get('nsfw', False) + self.position = data['position'] + self._fill_overwrites(data) + + @property + def _sorting_bucket(self): + return ChannelType.category.value + + @property + def _type(self): + return ChannelType.category.value + + def is_nsfw(self): + """Checks if the category is NSFW.""" + n = self.name + return self.nsfw or n == 'nsfw' or n[:5] == 'nsfw-' + + async def edit(self, *, reason=None, **options): + """|coro| + + Edits the channel. + + You must have the :attr:`~Permissions.manage_channels` permission to + use this. + + Parameters + ---------- + name: :class:`str` + The new category's name. + position: :class:`int` + The new category's position. + nsfw: :class:`bool` + To mark the category as NSFW or not. + reason: Optional[:class:`str`] + The reason for editing this category. Shows up on the audit log. + + Raises + ------ + InvalidArgument + If position is less than 0 or greater than the number of categories. + Forbidden + You do not have permissions to edit the category. + HTTPException + Editing the category failed. + """ + + try: + position = options.pop('position') + except KeyError: + pass + else: + await self._move(position, reason=reason) + self.position = position + + if options: + data = await self._state.http.edit_channel(self.id, reason=reason, **options) + self._update(self.guild, data) + + @property + def channels(self): + """List[:class:`abc.GuildChannel`]: Returns the channels that are under this category. + + These are sorted by the official Discord UI, which places voice channels below the text channels. + """ + def comparator(channel): + return (not isinstance(channel, TextChannel), channel.position) + + ret = [c for c in self.guild.channels if c.category_id == self.id] + ret.sort(key=comparator) + return ret + + @property + def text_channels(self): + """List[:class:`TextChannel`]: Returns the text channels that are under this category.""" + ret = [c for c in self.guild.channels + if c.category_id == self.id + and isinstance(c, TextChannel)] + ret.sort(key=lambda c: (c.position, c.id)) + return ret + + @property + def voice_channels(self): + """List[:class:`VoiceChannel`]: Returns the voice channels that are under this category.""" + ret = [c for c in self.guild.channels + if c.category_id == self.id + and isinstance(c, VoiceChannel)] + ret.sort(key=lambda c: (c.position, c.id)) + return ret + + async def create_text_channel(self, name, *, overwrites=None, reason=None, **options): + """|coro| + + A shortcut method to :meth:`Guild.create_text_channel` to create a :class:`TextChannel` in the category. + """ + return await self.guild.create_text_channel(name, overwrites=overwrites, category=self, reason=reason, **options) + + async def create_voice_channel(self, name, *, overwrites=None, reason=None, **options): + """|coro| + + A shortcut method to :meth:`Guild.create_voice_channel` to create a :class:`VoiceChannel` in the category. + """ + return await self.guild.create_voice_channel(name, overwrites=overwrites, category=self, reason=reason, **options) + +class StoreChannel(discord.abc.GuildChannel, Hashable): + """Represents a Discord guild store channel. + + .. container:: operations + + .. describe:: x == y + + Checks if two channels are equal. + + .. describe:: x != y + + Checks if two channels are not equal. + + .. describe:: hash(x) + + Returns the channel's hash. + + .. describe:: str(x) + + Returns the channel's name. + + Attributes + ----------- + name: :class:`str` + The channel name. + guild: :class:`Guild` + The guild the channel belongs to. + id: :class:`int` + The channel ID. + category_id: :class:`int` + The category channel ID this channel belongs to. + position: :class:`int` + The position in the channel list. This is a number that starts at 0. e.g. the + top channel is position 0. + """ + __slots__ = ('name', 'id', 'guild', '_state', 'nsfw', + 'category_id', 'position', '_overwrites',) + + def __init__(self, *, state, guild, data): + self._state = state + self.id = int(data['id']) + self._update(guild, data) + + def __repr__(self): + return '<StoreChannel id={0.id} name={0.name!r} position={0.position}>'.format(self) + + def _update(self, guild, data): + self.guild = guild + self.name = data['name'] + self.category_id = utils._get_as_snowflake(data, 'parent_id') + self.position = data['position'] + self.nsfw = data.get('nsfw', False) + self._fill_overwrites(data) + + @property + def _sorting_bucket(self): + return ChannelType.text.value + + @property + def _type(self): + return ChannelType.store.value + + def permissions_for(self, member): + base = super().permissions_for(member) + + # store channels do not have voice related permissions + denied = Permissions.voice() + base.value &= ~denied.value + return base + + permissions_for.__doc__ = discord.abc.GuildChannel.permissions_for.__doc__ + + def is_nsfw(self): + """Checks if the channel is NSFW.""" + n = self.name + return self.nsfw or n == 'nsfw' or n[:5] == 'nsfw-' + + async def edit(self, *, reason=None, **options): + """|coro| + + Edits the channel. + + You must have the :attr:`~Permissions.manage_channels` permission to + use this. + + Parameters + ---------- + name: :class:`str` + The new channel name. + position: :class:`int` + The new channel's position. + nsfw: :class:`bool` + To mark the channel as NSFW or not. + sync_permissions: :class:`bool` + Whether to sync permissions with the channel's new or pre-existing + category. Defaults to ``False``. + category: Optional[:class:`CategoryChannel`] + The new category for this channel. Can be ``None`` to remove the + category. + reason: Optional[:class:`str`] + The reason for editing this channel. Shows up on the audit log. + + Raises + ------ + InvalidArgument + If position is less than 0 or greater than the number of channels. + Forbidden + You do not have permissions to edit the channel. + HTTPException + Editing the channel failed. + """ + await self._edit(options, reason=reason) + +class DMChannel(discord.abc.Messageable, Hashable): + """Represents a Discord direct message channel. + + .. container:: operations + + .. describe:: x == y + + Checks if two channels are equal. + + .. describe:: x != y + + Checks if two channels are not equal. + + .. describe:: hash(x) + + Returns the channel's hash. + + .. describe:: str(x) + + Returns a string representation of the channel + + Attributes + ---------- + recipient: :class:`User` + The user you are participating with in the direct message channel. + me: :class:`ClientUser` + The user presenting yourself. + id: :class:`int` + The direct message channel ID. + """ + + __slots__ = ('id', 'recipient', 'me', '_state') + + def __init__(self, *, me, state, data): + self._state = state + self.recipient = state.store_user(data['recipients'][0]) + self.me = me + self.id = int(data['id']) + + async def _get_channel(self): + return self + + def __str__(self): + return 'Direct Message with %s' % self.recipient + + def __repr__(self): + return '<DMChannel id={0.id} recipient={0.recipient!r}>'.format(self) + + @property + def _type(self): + return ChannelType.private.value + + @property + def created_at(self): + """Returns the direct message channel's creation time in UTC.""" + return utils.snowflake_time(self.id) + + def permissions_for(self, user=None): + """Handles permission resolution for a :class:`User`. + + This function is there for compatibility with other channel types. + + Actual direct messages do not really have the concept of permissions. + + This returns all the Text related permissions set to true except: + + - send_tts_messages: You cannot send TTS messages in a DM. + - manage_messages: You cannot delete others messages in a DM. + + Parameters + ----------- + user: :class:`User` + The user to check permissions for. This parameter is ignored + but kept for compatibility. + + Returns + -------- + :class:`Permissions` + The resolved permissions. + """ + + base = Permissions.text() + base.send_tts_messages = False + base.manage_messages = False + return base + +class GroupChannel(discord.abc.Messageable, Hashable): + """Represents a Discord group channel. + + .. container:: operations + + .. describe:: x == y + + Checks if two channels are equal. + + .. describe:: x != y + + Checks if two channels are not equal. + + .. describe:: hash(x) + + Returns the channel's hash. + + .. describe:: str(x) + + Returns a string representation of the channel + + Attributes + ---------- + recipients: :class:`list` of :class:`User` + The users you are participating with in the group channel. + me: :class:`ClientUser` + The user presenting yourself. + id: :class:`int` + The group channel ID. + owner: :class:`User` + The user that owns the group channel. + icon: Optional[:class:`str`] + The group channel's icon hash if provided. + name: Optional[:class:`str`] + The group channel's name if provided. + """ + + __slots__ = ('id', 'recipients', 'owner', 'icon', 'name', 'me', '_state') + + def __init__(self, *, me, state, data): + self._state = state + self.id = int(data['id']) + self.me = me + self._update_group(data) + + def _update_group(self, data): + owner_id = utils._get_as_snowflake(data, 'owner_id') + self.icon = data.get('icon') + self.name = data.get('name') + + try: + self.recipients = [self._state.store_user(u) for u in data['recipients']] + except KeyError: + pass + + if owner_id == self.me.id: + self.owner = self.me + else: + self.owner = utils.find(lambda u: u.id == owner_id, self.recipients) + + async def _get_channel(self): + return self + + def __str__(self): + if self.name: + return self.name + + if len(self.recipients) == 0: + return 'Unnamed' + + return ', '.join(map(lambda x: x.name, self.recipients)) + + def __repr__(self): + return '<GroupChannel id={0.id} name={0.name!r}>'.format(self) + + @property + def _type(self): + return ChannelType.group.value + + @property + def icon_url(self): + """:class:`Asset`: Returns the channel's icon asset if available.""" + return Asset._from_icon(self._state, self, 'channel') + + @property + def created_at(self): + """Returns the channel's creation time in UTC.""" + return utils.snowflake_time(self.id) + + def permissions_for(self, user): + """Handles permission resolution for a :class:`User`. + + This function is there for compatibility with other channel types. + + Actual direct messages do not really have the concept of permissions. + + This returns all the Text related permissions set to true except: + + - send_tts_messages: You cannot send TTS messages in a DM. + - manage_messages: You cannot delete others messages in a DM. + + This also checks the kick_members permission if the user is the owner. + + Parameters + ----------- + user: :class:`User` + The user to check permissions for. + + Returns + -------- + :class:`Permissions` + The resolved permissions for the user. + """ + + base = Permissions.text() + base.send_tts_messages = False + base.manage_messages = False + base.mention_everyone = True + + if user.id == self.owner.id: + base.kick_members = True + + return base + + async def add_recipients(self, *recipients): + r"""|coro| + + Adds recipients to this group. + + A group can only have a maximum of 10 members. + Attempting to add more ends up in an exception. To + add a recipient to the group, you must have a relationship + with the user of type :attr:`RelationshipType.friend`. + + Parameters + ----------- + \*recipients: :class:`User` + An argument list of users to add to this group. + + Raises + ------- + HTTPException + Adding a recipient to this group failed. + """ + + # TODO: wait for the corresponding WS event + + req = self._state.http.add_group_recipient + for recipient in recipients: + await req(self.id, recipient.id) + + async def remove_recipients(self, *recipients): + r"""|coro| + + Removes recipients from this group. + + Parameters + ----------- + \*recipients: :class:`User` + An argument list of users to remove from this group. + + Raises + ------- + HTTPException + Removing a recipient from this group failed. + """ + + # TODO: wait for the corresponding WS event + + req = self._state.http.remove_group_recipient + for recipient in recipients: + await req(self.id, recipient.id) + + async def edit(self, **fields): + """|coro| + + Edits the group. + + Parameters + ----------- + name: Optional[:class:`str`] + The new name to change the group to. + Could be ``None`` to remove the name. + icon: Optional[:class:`bytes`] + A :term:`py:bytes-like object` representing the new icon. + Could be ``None`` to remove the icon. + + Raises + ------- + HTTPException + Editing the group failed. + """ + + try: + icon_bytes = fields['icon'] + except KeyError: + pass + else: + if icon_bytes is not None: + fields['icon'] = utils._bytes_to_base64_data(icon_bytes) + + data = await self._state.http.edit_group(self.id, **fields) + self._update_group(data) + + async def leave(self): + """|coro| + + Leave the group. + + If you are the only one in the group, this deletes it as well. + + Raises + ------- + HTTPException + Leaving the group failed. + """ + + await self._state.http.leave_group(self.id) + +def _channel_factory(channel_type): + value = try_enum(ChannelType, channel_type) + if value is ChannelType.text: + return TextChannel, value + elif value is ChannelType.voice: + return VoiceChannel, value + elif value is ChannelType.private: + return DMChannel, value + elif value is ChannelType.category: + return CategoryChannel, value + elif value is ChannelType.group: + return GroupChannel, value + elif value is ChannelType.news: + return TextChannel, value + elif value is ChannelType.store: + return StoreChannel, value + else: + return None, value diff --git a/venv/lib/python3.6/site-packages/discord/client.py b/venv/lib/python3.6/site-packages/discord/client.py new file mode 100644 index 0000000..a3ebdf0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/client.py @@ -0,0 +1,1192 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import asyncio +from collections import namedtuple +import logging +import signal +import sys +import traceback + +import aiohttp +import websockets + +from .user import User, Profile +from .asset import Asset +from .invite import Invite +from .widget import Widget +from .guild import Guild +from .member import Member +from .errors import * +from .enums import Status, VoiceRegion +from .gateway import * +from .activity import _ActivityTag, create_activity +from .voice_client import VoiceClient +from .http import HTTPClient +from .state import ConnectionState +from . import utils +from .backoff import ExponentialBackoff +from .webhook import Webhook +from .iterators import GuildIterator +from .appinfo import AppInfo + +log = logging.getLogger(__name__) + +def _cancel_tasks(loop, tasks): + if not tasks: + return + + log.info('Cleaning up after %d tasks.', len(tasks)) + gathered = asyncio.gather(*tasks, loop=loop, return_exceptions=True) + gathered.cancel() + + def stop_and_silence(fut): + loop.stop() + try: + fut.result() + except asyncio.CancelledError: + pass + except Exception as e: + loop.call_exception_handler({ + 'message': 'Unhandled exception during Client.run shutdown.', + 'exception': e, + 'future': fut + }) + + gathered.add_done_callback(stop_and_silence) + while not gathered.done(): + loop.run_forever() + + for task in tasks: + if task.cancelled(): + continue + if task.exception() is not None: + loop.call_exception_handler({ + 'message': 'Unhandled exception during Client.run shutdown.', + 'exception': task.exception(), + 'task': task + }) + +def _cleanup_loop(loop): + try: + task_retriever = asyncio.Task.all_tasks + except AttributeError: + # future proofing for 3.9 I guess + task_retriever = asyncio.all_tasks + + all_tasks = {t for t in task_retriever(loop=loop) if not t.done()} + _cancel_tasks(loop, all_tasks) + if sys.version_info >= (3, 6): + loop.run_until_complete(loop.shutdown_asyncgens()) + +class Client: + r"""Represents a client connection that connects to Discord. + This class is used to interact with the Discord WebSocket and API. + + A number of options can be passed to the :class:`Client`. + + .. _event loop: https://docs.python.org/3/library/asyncio-eventloops.html + .. _connector: http://aiohttp.readthedocs.org/en/stable/client_reference.html#connectors + .. _ProxyConnector: http://aiohttp.readthedocs.org/en/stable/client_reference.html#proxyconnector + + Parameters + ----------- + max_messages: Optional[:class:`int`] + The maximum number of messages to store in the internal message cache. + This defaults to 5000. Passing in `None` or a value less than 100 + will use the default instead of the passed in value. + loop: Optional[event loop] + The `event loop`_ to use for asynchronous operations. Defaults to ``None``, + in which case the default event loop is used via ``asyncio.get_event_loop()``. + connector: aiohttp.BaseConnector + The `connector`_ to use for connection pooling. + proxy: Optional[:class:`str`] + Proxy URL. + proxy_auth: Optional[aiohttp.BasicAuth] + An object that represents proxy HTTP Basic Authorization. + shard_id: Optional[:class:`int`] + Integer starting at 0 and less than shard_count. + shard_count: Optional[:class:`int`] + The total number of shards. + fetch_offline_members: :class:`bool` + Indicates if :func:`on_ready` should be delayed to fetch all offline + members from the guilds the bot belongs to. If this is ``False``\, then + no offline members are received and :meth:`request_offline_members` + must be used to fetch the offline members of the guild. + status: Optional[:class:`Status`] + A status to start your presence with upon logging on to Discord. + activity: Optional[Union[:class:`Activity`, :class:`Game`, :class:`Streaming`]] + An activity to start your presence with upon logging on to Discord. + heartbeat_timeout: :class:`float` + The maximum numbers of seconds before timing out and restarting the + WebSocket in the case of not receiving a HEARTBEAT_ACK. Useful if + processing the initial packets take too long to the point of disconnecting + you. The default timeout is 60 seconds. + + Attributes + ----------- + ws + The websocket gateway the client is currently connected to. Could be None. + loop + The `event loop`_ that the client uses for HTTP requests and websocket operations. + """ + def __init__(self, *, loop=None, **options): + self.ws = None + self.loop = asyncio.get_event_loop() if loop is None else loop + self._listeners = {} + self.shard_id = options.get('shard_id') + self.shard_count = options.get('shard_count') + + connector = options.pop('connector', None) + proxy = options.pop('proxy', None) + proxy_auth = options.pop('proxy_auth', None) + self.http = HTTPClient(connector, proxy=proxy, proxy_auth=proxy_auth, loop=self.loop) + + self._handlers = { + 'ready': self._handle_ready + } + + self._connection = ConnectionState(dispatch=self.dispatch, chunker=self._chunker, handlers=self._handlers, + syncer=self._syncer, http=self.http, loop=self.loop, **options) + + self._connection.shard_count = self.shard_count + self._closed = asyncio.Event(loop=self.loop) + self._ready = asyncio.Event(loop=self.loop) + self._connection._get_websocket = lambda g: self.ws + + if VoiceClient.warn_nacl: + VoiceClient.warn_nacl = False + log.warning("PyNaCl is not installed, voice will NOT be supported") + + # internals + + async def _syncer(self, guilds): + await self.ws.request_sync(guilds) + + async def _chunker(self, guild): + try: + guild_id = guild.id + except AttributeError: + guild_id = [s.id for s in guild] + + payload = { + 'op': 8, + 'd': { + 'guild_id': guild_id, + 'query': '', + 'limit': 0 + } + } + + await self.ws.send_as_json(payload) + + def _handle_ready(self): + self._ready.set() + + @property + def latency(self): + """:class:`float`: Measures latency between a HEARTBEAT and a HEARTBEAT_ACK in seconds. + + This could be referred to as the Discord WebSocket protocol latency. + """ + ws = self.ws + return float('nan') if not ws else ws.latency + + @property + def user(self): + """Optional[:class:`ClientUser`]: Represents the connected client. None if not logged in.""" + return self._connection.user + + @property + def guilds(self): + """List[:class:`Guild`]: The guilds that the connected client is a member of.""" + return self._connection.guilds + + @property + def emojis(self): + """List[:class:`Emoji`]: The emojis that the connected client has.""" + return self._connection.emojis + + @property + def private_channels(self): + """List[:class:`abc.PrivateChannel`]: The private channels that the connected client is participating on. + + .. note:: + + This returns only up to 128 most recent private channels due to an internal working + on how Discord deals with private channels. + """ + return self._connection.private_channels + + @property + def voice_clients(self): + """List[:class:`VoiceClient`]: Represents a list of voice connections.""" + return self._connection.voice_clients + + def is_ready(self): + """:class:`bool`: Specifies if the client's internal cache is ready for use.""" + return self._ready.is_set() + + async def _run_event(self, coro, event_name, *args, **kwargs): + try: + await coro(*args, **kwargs) + except asyncio.CancelledError: + pass + except Exception: + try: + await self.on_error(event_name, *args, **kwargs) + except asyncio.CancelledError: + pass + + def dispatch(self, event, *args, **kwargs): + log.debug('Dispatching event %s', event) + method = 'on_' + event + + listeners = self._listeners.get(event) + if listeners: + removed = [] + for i, (future, condition) in enumerate(listeners): + if future.cancelled(): + removed.append(i) + continue + + try: + result = condition(*args) + except Exception as exc: + future.set_exception(exc) + removed.append(i) + else: + if result: + if len(args) == 0: + future.set_result(None) + elif len(args) == 1: + future.set_result(args[0]) + else: + future.set_result(args) + removed.append(i) + + if len(removed) == len(listeners): + self._listeners.pop(event) + else: + for idx in reversed(removed): + del listeners[idx] + + try: + coro = getattr(self, method) + except AttributeError: + pass + else: + asyncio.ensure_future(self._run_event(coro, method, *args, **kwargs), loop=self.loop) + + async def on_error(self, event_method, *args, **kwargs): + """|coro| + + The default error handler provided by the client. + + By default this prints to ``sys.stderr`` however it could be + overridden to have a different implementation. + Check :func:`discord.on_error` for more details. + """ + print('Ignoring exception in {}'.format(event_method), file=sys.stderr) + traceback.print_exc() + + async def request_offline_members(self, *guilds): + r"""|coro| + + Requests previously offline members from the guild to be filled up + into the :attr:`Guild.members` cache. This function is usually not + called. It should only be used if you have the ``fetch_offline_members`` + parameter set to ``False``. + + When the client logs on and connects to the websocket, Discord does + not provide the library with offline members if the number of members + in the guild is larger than 250. You can check if a guild is large + if :attr:`Guild.large` is ``True``. + + Parameters + ----------- + \*guilds: :class:`Guild` + An argument list of guilds to request offline members for. + + Raises + ------- + InvalidArgument + If any guild is unavailable or not large in the collection. + """ + if any(not g.large or g.unavailable for g in guilds): + raise InvalidArgument('An unavailable or non-large guild was passed.') + + await self._connection.request_offline_members(guilds) + + # login state management + + async def login(self, token, *, bot=True): + """|coro| + + Logs in the client with the specified credentials. + + This function can be used in two different ways. + + .. warning:: + + Logging on with a user token is against the Discord + `Terms of Service <https://support.discordapp.com/hc/en-us/articles/115002192352>`_ + and doing so might potentially get your account banned. + Use this at your own risk. + + Parameters + ----------- + token: :class:`str` + The authentication token. Do not prefix this token with + anything as the library will do it for you. + bot: :class:`bool` + Keyword argument that specifies if the account logging on is a bot + token or not. + + Raises + ------ + LoginFailure + The wrong credentials are passed. + HTTPException + An unknown HTTP related error occurred, + usually when it isn't 200 or the known incorrect credentials + passing status code. + """ + + log.info('logging in using static token') + await self.http.static_login(token, bot=bot) + self._connection.is_bot = bot + + async def logout(self): + """|coro| + + Logs out of Discord and closes all connections. + """ + await self.close() + + async def _connect(self): + coro = DiscordWebSocket.from_client(self, shard_id=self.shard_id) + self.ws = await asyncio.wait_for(coro, timeout=180.0, loop=self.loop) + while True: + try: + await self.ws.poll_event() + except ResumeWebSocket: + log.info('Got a request to RESUME the websocket.') + self.dispatch('disconnect') + coro = DiscordWebSocket.from_client(self, shard_id=self.shard_id, session=self.ws.session_id, + sequence=self.ws.sequence, resume=True) + self.ws = await asyncio.wait_for(coro, timeout=180.0, loop=self.loop) + + async def connect(self, *, reconnect=True): + """|coro| + + Creates a websocket connection and lets the websocket listen + to messages from discord. This is a loop that runs the entire + event system and miscellaneous aspects of the library. Control + is not resumed until the WebSocket connection is terminated. + + Parameters + ----------- + reconnect: :class:`bool` + If we should attempt reconnecting, either due to internet + failure or a specific failure on Discord's part. Certain + disconnects that lead to bad state will not be handled (such as + invalid sharding payloads or bad tokens). + + Raises + ------- + GatewayNotFound + If the gateway to connect to discord is not found. Usually if this + is thrown then there is a discord API outage. + ConnectionClosed + The websocket connection has been terminated. + """ + + backoff = ExponentialBackoff() + while not self.is_closed(): + try: + await self._connect() + except (OSError, + HTTPException, + GatewayNotFound, + ConnectionClosed, + aiohttp.ClientError, + asyncio.TimeoutError, + websockets.InvalidHandshake, + websockets.WebSocketProtocolError) as exc: + + self.dispatch('disconnect') + if not reconnect: + await self.close() + if isinstance(exc, ConnectionClosed) and exc.code == 1000: + # clean close, don't re-raise this + return + raise + + if self.is_closed(): + return + + # We should only get this when an unhandled close code happens, + # such as a clean disconnect (1000) or a bad state (bad token, no sharding, etc) + # sometimes, discord sends us 1000 for unknown reasons so we should reconnect + # regardless and rely on is_closed instead + if isinstance(exc, ConnectionClosed): + if exc.code != 1000: + await self.close() + raise + + retry = backoff.delay() + log.exception("Attempting a reconnect in %.2fs", retry) + await asyncio.sleep(retry, loop=self.loop) + + async def close(self): + """|coro| + + Closes the connection to discord. + """ + if self.is_closed(): + return + + await self.http.close() + self._closed.set() + + for voice in self.voice_clients: + try: + await voice.disconnect() + except Exception: + # if an error happens during disconnects, disregard it. + pass + + if self.ws is not None and self.ws.open: + await self.ws.close() + + self._ready.clear() + + def clear(self): + """Clears the internal state of the bot. + + After this, the bot can be considered "re-opened", i.e. :meth:`.is_closed` + and :meth:`.is_ready` both return ``False`` along with the bot's internal + cache cleared. + """ + self._closed.clear() + self._ready.clear() + self._connection.clear() + self.http.recreate() + + async def start(self, *args, **kwargs): + """|coro| + + A shorthand coroutine for :meth:`login` + :meth:`connect`. + """ + + bot = kwargs.pop('bot', True) + reconnect = kwargs.pop('reconnect', True) + await self.login(*args, bot=bot) + await self.connect(reconnect=reconnect) + + def _do_cleanup(self): + log.info('Cleaning up event loop.') + loop = self.loop + if loop.is_closed(): + return # we're already cleaning up + + task = asyncio.ensure_future(self.close(), loop=loop) + + def stop_loop(fut): + try: + fut.result() + except asyncio.CancelledError: + pass + except Exception as e: + loop.call_exception_handler({ + 'message': 'Unexpected exception during Client.close', + 'exception': e + }) + finally: + loop.stop() + + task.add_done_callback(stop_loop) + try: + loop.run_forever() + finally: + _cleanup_loop(loop) + loop.close() + + def run(self, *args, **kwargs): + """A blocking call that abstracts away the `event loop`_ + initialisation from you. + + If you want more control over the event loop then this + function should not be used. Use :meth:`start` coroutine + or :meth:`connect` + :meth:`login`. + + Roughly Equivalent to: :: + + try: + loop.run_until_complete(start(*args, **kwargs)) + except KeyboardInterrupt: + loop.run_until_complete(logout()) + # cancel all tasks lingering + finally: + loop.close() + + .. warning:: + + This function must be the last function to call due to the fact that it + is blocking. That means that registration of events or anything being + called after this function call will not execute until it returns. + """ + is_windows = sys.platform == 'win32' + loop = self.loop + if not is_windows: + loop.add_signal_handler(signal.SIGINT, lambda: loop.stop()) + loop.add_signal_handler(signal.SIGTERM, lambda: loop.stop()) + + future = asyncio.ensure_future(self.start(*args, **kwargs), loop=loop) + future.add_done_callback(lambda f: loop.stop()) + + try: + loop.run_forever() + except KeyboardInterrupt: + log.info('Received signal to terminate bot and event loop.') + finally: + self._do_cleanup() + + # properties + + def is_closed(self): + """:class:`bool`: Indicates if the websocket connection is closed.""" + return self._closed.is_set() + + @property + def activity(self): + """Optional[Union[:class:`Activity`, :class:`Game`, :class:`Streaming`]]: The activity being used upon logging in.""" + return create_activity(self._connection._activity) + + @activity.setter + def activity(self, value): + if value is None: + self._connection._activity = None + elif isinstance(value, _ActivityTag): + self._connection._activity = value.to_dict() + else: + raise TypeError('activity must be one of Game, Streaming, or Activity.') + + # helpers/getters + + @property + def users(self): + """Returns a :class:`list` of all the :class:`User` the bot can see.""" + return list(self._connection._users.values()) + + def get_channel(self, id): + """Returns a :class:`abc.GuildChannel` or :class:`abc.PrivateChannel` with the following ID. + + If not found, returns None. + """ + return self._connection.get_channel(id) + + def get_guild(self, id): + """Returns a :class:`Guild` with the given ID. If not found, returns None.""" + return self._connection._get_guild(id) + + def get_user(self, id): + """Returns a :class:`User` with the given ID. If not found, returns None.""" + return self._connection.get_user(id) + + def get_emoji(self, id): + """Returns a :class:`Emoji` with the given ID. If not found, returns None.""" + return self._connection.get_emoji(id) + + def get_all_channels(self): + """A generator that retrieves every :class:`abc.GuildChannel` the client can 'access'. + + This is equivalent to: :: + + for guild in client.guilds: + for channel in guild.channels: + yield channel + + .. note:: + + Just because you receive a :class:`abc.GuildChannel` does not mean that + you can communicate in said channel. :meth:`abc.GuildChannel.permissions_for` should + be used for that. + """ + + for guild in self.guilds: + for channel in guild.channels: + yield channel + + def get_all_members(self): + """Returns a generator with every :class:`Member` the client can see. + + This is equivalent to: :: + + for guild in client.guilds: + for member in guild.members: + yield member + + """ + for guild in self.guilds: + for member in guild.members: + yield member + + # listeners/waiters + + async def wait_until_ready(self): + """|coro| + + Waits until the client's internal cache is all ready. + """ + await self._ready.wait() + + def wait_for(self, event, *, check=None, timeout=None): + """|coro| + + Waits for a WebSocket event to be dispatched. + + This could be used to wait for a user to reply to a message, + or to react to a message, or to edit a message in a self-contained + way. + + The ``timeout`` parameter is passed onto :func:`asyncio.wait_for`. By default, + it does not timeout. Note that this does propagate the + :exc:`asyncio.TimeoutError` for you in case of timeout and is provided for + ease of use. + + In case the event returns multiple arguments, a :class:`tuple` containing those + arguments is returned instead. Please check the + :ref:`documentation <discord-api-events>` for a list of events and their + parameters. + + This function returns the **first event that meets the requirements**. + + Examples + --------- + + Waiting for a user reply: :: + + @client.event + async def on_message(message): + if message.content.startswith('$greet'): + channel = message.channel + await channel.send('Say hello!') + + def check(m): + return m.content == 'hello' and m.channel == channel + + msg = await client.wait_for('message', check=check) + await channel.send('Hello {.author}!'.format(msg)) + + Waiting for a thumbs up reaction from the message author: :: + + @client.event + async def on_message(message): + if message.content.startswith('$thumb'): + channel = message.channel + await channel.send('Send me that \N{THUMBS UP SIGN} reaction, mate') + + def check(reaction, user): + return user == message.author and str(reaction.emoji) == '\N{THUMBS UP SIGN}' + + try: + reaction, user = await client.wait_for('reaction_add', timeout=60.0, check=check) + except asyncio.TimeoutError: + await channel.send('\N{THUMBS DOWN SIGN}') + else: + await channel.send('\N{THUMBS UP SIGN}') + + + Parameters + ------------ + event: :class:`str` + The event name, similar to the :ref:`event reference <discord-api-events>`, + but without the ``on_`` prefix, to wait for. + check: Optional[predicate] + A predicate to check what to wait for. The arguments must meet the + parameters of the event being waited for. + timeout: Optional[:class:`float`] + The number of seconds to wait before timing out and raising + :exc:`asyncio.TimeoutError`. + + Raises + ------- + asyncio.TimeoutError + If a timeout is provided and it was reached. + + Returns + -------- + Any + Returns no arguments, a single argument, or a :class:`tuple` of multiple + arguments that mirrors the parameters passed in the + :ref:`event reference <discord-api-events>`. + """ + + future = self.loop.create_future() + if check is None: + def _check(*args): + return True + check = _check + + ev = event.lower() + try: + listeners = self._listeners[ev] + except KeyError: + listeners = [] + self._listeners[ev] = listeners + + listeners.append((future, check)) + return asyncio.wait_for(future, timeout, loop=self.loop) + + # event registration + + def event(self, coro): + """A decorator that registers an event to listen to. + + You can find more info about the events on the :ref:`documentation below <discord-api-events>`. + + The events must be a |corourl|_, if not, :exc:`TypeError` is raised. + + Example + --------- + + .. code-block:: python3 + + @client.event + async def on_ready(): + print('Ready!') + + Raises + -------- + TypeError + The coroutine passed is not actually a coroutine. + """ + + if not asyncio.iscoroutinefunction(coro): + raise TypeError('event registered must be a coroutine function') + + setattr(self, coro.__name__, coro) + log.debug('%s has successfully been registered as an event', coro.__name__) + return coro + + async def change_presence(self, *, activity=None, status=None, afk=False): + """|coro| + + Changes the client's presence. + + The activity parameter is a :class:`Activity` object (not a string) that represents + the activity being done currently. This could also be the slimmed down versions, + :class:`Game` and :class:`Streaming`. + + Example + --------- + + .. code-block:: python3 + + game = discord.Game("with the API") + await client.change_presence(status=discord.Status.idle, activity=game) + + Parameters + ---------- + activity: Optional[Union[:class:`Game`, :class:`Streaming`, :class:`Activity`]] + The activity being done. ``None`` if no currently active activity is done. + status: Optional[:class:`Status`] + Indicates what status to change to. If None, then + :attr:`Status.online` is used. + afk: :class:`bool` + Indicates if you are going AFK. This allows the discord + client to know how to handle push notifications better + for you in case you are actually idle and not lying. + + Raises + ------ + InvalidArgument + If the ``activity`` parameter is not the proper type. + """ + + if status is None: + status = 'online' + status_enum = Status.online + elif status is Status.offline: + status = 'invisible' + status_enum = Status.offline + else: + status_enum = status + status = str(status) + + await self.ws.change_presence(activity=activity, status=status, afk=afk) + + for guild in self._connection.guilds: + me = guild.me + if me is None: + continue + + me.activities = (activity,) + me.status = status_enum + + # Guild stuff + + def fetch_guilds(self, *, limit=100, before=None, after=None): + """|coro| + + Retrieves an :class:`AsyncIterator` that enables receiving your guilds. + + .. note:: + + Using this, you will only receive :attr:`Guild.owner`, :attr:`Guild.icon`, + :attr:`Guild.id`, and :attr:`Guild.name` per :class:`Guild`. + + .. note:: + + This method is an API call. For general usage, consider :attr:`guilds` instead. + + All parameters are optional. + + Parameters + ----------- + limit: Optional[:class:`int`] + The number of guilds to retrieve. + If ``None``, it retrieves every guild you have access to. Note, however, + that this would make it a slow operation. + Defaults to 100. + before: :class:`Snowflake` or `datetime` + Retrieves guilds before this date or object. + If a date is provided it must be a timezone-naive datetime representing UTC time. + after: :class:`Snowflake` or `datetime` + Retrieve guilds after this date or object. + If a date is provided it must be a timezone-naive datetime representing UTC time. + + Raises + ------ + HTTPException + Getting the guilds failed. + + Yields + -------- + :class:`Guild` + The guild with the guild data parsed. + + Examples + --------- + + Usage :: + + async for guild in client.fetch_guilds(limit=150): + print(guild.name) + + Flattening into a list :: + + guilds = await client.fetch_guilds(limit=150).flatten() + # guilds is now a list of Guild... + """ + return GuildIterator(self, limit=limit, before=before, after=after) + + async def fetch_guild(self, guild_id): + """|coro| + + Retrieves a :class:`Guild` from an ID. + + .. note:: + + Using this, you will not receive :attr:`Guild.channels`, :class:`Guild.members`, + :attr:`Member.activity` and :attr:`Member.voice` per :class:`Member`. + + .. note:: + + This method is an API call. For general usage, consider :meth:`get_guild` instead. + + Parameters + ----------- + guild_id: :class:`int` + The guild's ID to fetch from. + + Raises + ------ + Forbidden + You do not have access to the guild. + HTTPException + Getting the guild failed. + + Returns + -------- + :class:`Guild` + The guild from the ID. + """ + data = await self.http.get_guild(guild_id) + return Guild(data=data, state=self._connection) + + async def create_guild(self, name, region=None, icon=None): + """|coro| + + Creates a :class:`Guild`. + + Bot accounts in more than 10 guilds are not allowed to create guilds. + + Parameters + ---------- + name: :class:`str` + The name of the guild. + region: :class:`VoiceRegion` + The region for the voice communication server. + Defaults to :attr:`VoiceRegion.us_west`. + icon: :class:`bytes` + The :term:`py:bytes-like object` representing the icon. See :meth:`~ClientUser.edit` + for more details on what is expected. + + Raises + ------ + HTTPException + Guild creation failed. + InvalidArgument + Invalid icon image format given. Must be PNG or JPG. + + Returns + ------- + :class:`Guild` + The guild created. This is not the same guild that is + added to cache. + """ + if icon is not None: + icon = utils._bytes_to_base64_data(icon) + + if region is None: + region = VoiceRegion.us_west.value + else: + region = region.value + + data = await self.http.create_guild(name, region, icon) + return Guild(data=data, state=self._connection) + + # Invite management + + async def fetch_invite(self, url, *, with_counts=True): + """|coro| + + Gets an :class:`Invite` from a discord.gg URL or ID. + + .. note:: + + If the invite is for a guild you have not joined, the guild and channel + attributes of the returned :class:`Invite` will be :class:`PartialInviteGuild` and + :class:`PartialInviteChannel` respectively. + + Parameters + ----------- + url: :class:`str` + The discord invite ID or URL (must be a discord.gg URL). + with_counts: :class:`bool` + Whether to include count information in the invite. This fills the + :attr:`Invite.approximate_member_count` and :attr:`Invite.approximate_presence_count` + fields. + + Raises + ------- + NotFound + The invite has expired or is invalid. + HTTPException + Getting the invite failed. + + Returns + -------- + :class:`Invite` + The invite from the URL/ID. + """ + + invite_id = utils.resolve_invite(url) + data = await self.http.get_invite(invite_id, with_counts=with_counts) + return Invite.from_incomplete(state=self._connection, data=data) + + async def delete_invite(self, invite): + """|coro| + + Revokes an :class:`Invite`, URL, or ID to an invite. + + You must have the :attr:`~Permissions.manage_channels` permission in + the associated guild to do this. + + Parameters + ---------- + invite: Union[:class:`Invite`, :class:`str`] + The invite to revoke. + + Raises + ------- + Forbidden + You do not have permissions to revoke invites. + NotFound + The invite is invalid or expired. + HTTPException + Revoking the invite failed. + """ + + invite_id = utils.resolve_invite(invite) + await self.http.delete_invite(invite_id) + + # Miscellaneous stuff + + async def fetch_widget(self, guild_id): + """|coro| + + Gets a :class:`Widget` from a guild ID. + + .. note:: + + The guild must have the widget enabled to get this information. + + Parameters + ----------- + guild_id: :class:`int` + The ID of the guild. + + Raises + ------- + Forbidden + The widget for this guild is disabled. + HTTPException + Retrieving the widget failed. + + Returns + -------- + :class:`Widget` + The guild's widget. + """ + data = await self.http.get_widget(guild_id) + + return Widget(state=self._connection, data=data) + + async def application_info(self): + """|coro| + + Retrieve's the bot's application information. + + Raises + ------- + HTTPException + Retrieving the information failed somehow. + + Returns + -------- + :class:`AppInfo` + A namedtuple representing the application info. + """ + data = await self.http.application_info() + if 'rpc_origins' not in data: + data['rpc_origins'] = None + return AppInfo(self._connection, data) + + async def fetch_user(self, user_id): + """|coro| + + Retrieves a :class:`User` based on their ID. This can only + be used by bot accounts. You do not have to share any guilds + with the user to get this information, however many operations + do require that you do. + + .. note:: + + This method is an API call. For general usage, consider :meth:`get_user` instead. + + Parameters + ----------- + user_id: :class:`int` + The user's ID to fetch from. + + Raises + ------- + NotFound + A user with this ID does not exist. + HTTPException + Fetching the user failed. + + Returns + -------- + :class:`User` + The user you requested. + """ + data = await self.http.get_user_info(user_id) + return User(state=self._connection, data=data) + + async def fetch_user_profile(self, user_id): + """|coro| + + Gets an arbitrary user's profile. This can only be used by non-bot accounts. + + Parameters + ------------ + user_id: :class:`int` + The ID of the user to fetch their profile for. + + Raises + ------- + Forbidden + Not allowed to fetch profiles. + HTTPException + Fetching the profile failed. + + Returns + -------- + :class:`Profile` + The profile of the user. + """ + + state = self._connection + data = await self.http.get_user_profile(user_id) + + def transform(d): + return state._get_guild(int(d['id'])) + + since = data.get('premium_since') + mutual_guilds = list(filter(None, map(transform, data.get('mutual_guilds', [])))) + user = data['user'] + return Profile(flags=user.get('flags', 0), + premium_since=utils.parse_time(since), + mutual_guilds=mutual_guilds, + user=User(data=user, state=state), + connected_accounts=data['connected_accounts']) + + async def fetch_webhook(self, webhook_id): + """|coro| + + Retrieves a :class:`Webhook` with the specified ID. + + Raises + -------- + HTTPException + Retrieving the webhook failed. + NotFound + Invalid webhook ID. + Forbidden + You do not have permission to fetch this webhook. + + Returns + --------- + :class:`Webhook` + The webhook you requested. + """ + data = await self.http.get_webhook(webhook_id) + return Webhook.from_state(data, state=self._connection) diff --git a/venv/lib/python3.6/site-packages/discord/colour.py b/venv/lib/python3.6/site-packages/discord/colour.py new file mode 100644 index 0000000..21344c4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/colour.py @@ -0,0 +1,230 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import colorsys + +class Colour: + """Represents a Discord role colour. This class is similar + to an (red, green, blue) :class:`tuple`. + + There is an alias for this called Color. + + .. container:: operations + + .. describe:: x == y + + Checks if two colours are equal. + + .. describe:: x != y + + Checks if two colours are not equal. + + .. describe:: hash(x) + + Return the colour's hash. + + .. describe:: str(x) + + Returns the hex format for the colour. + + Attributes + ------------ + value: :class:`int` + The raw integer colour value. + """ + + __slots__ = ('value',) + + def __init__(self, value): + if not isinstance(value, int): + raise TypeError('Expected int parameter, received %s instead.' % value.__class__.__name__) + + self.value = value + + def _get_byte(self, byte): + return (self.value >> (8 * byte)) & 0xff + + def __eq__(self, other): + return isinstance(other, Colour) and self.value == other.value + + def __ne__(self, other): + return not self.__eq__(other) + + def __str__(self): + return '#{:0>6x}'.format(self.value) + + def __repr__(self): + return '<Colour value=%s>' % self.value + + def __hash__(self): + return hash(self.value) + + @property + def r(self): + """Returns the red component of the colour.""" + return self._get_byte(2) + + @property + def g(self): + """Returns the green component of the colour.""" + return self._get_byte(1) + + @property + def b(self): + """Returns the blue component of the colour.""" + return self._get_byte(0) + + def to_rgb(self): + """Returns an (r, g, b) tuple representing the colour.""" + return (self.r, self.g, self.b) + + @classmethod + def from_rgb(cls, r, g, b): + """Constructs a :class:`Colour` from an RGB tuple.""" + return cls((r << 16) + (g << 8) + b) + + @classmethod + def from_hsv(cls, h, s, v): + """Constructs a :class:`Colour` from an HSV tuple.""" + rgb = colorsys.hsv_to_rgb(h, s, v) + return cls.from_rgb(*(int(x * 255) for x in rgb)) + + @classmethod + def default(cls): + """A factory method that returns a :class:`Colour` with a value of 0.""" + return cls(0) + + @classmethod + def teal(cls): + """A factory method that returns a :class:`Colour` with a value of ``0x1abc9c``.""" + return cls(0x1abc9c) + + @classmethod + def dark_teal(cls): + """A factory method that returns a :class:`Colour` with a value of ``0x11806a``.""" + return cls(0x11806a) + + @classmethod + def green(cls): + """A factory method that returns a :class:`Colour` with a value of ``0x2ecc71``.""" + return cls(0x2ecc71) + + @classmethod + def dark_green(cls): + """A factory method that returns a :class:`Colour` with a value of ``0x1f8b4c``.""" + return cls(0x1f8b4c) + + @classmethod + def blue(cls): + """A factory method that returns a :class:`Colour` with a value of ``0x3498db``.""" + return cls(0x3498db) + + @classmethod + def dark_blue(cls): + """A factory method that returns a :class:`Colour` with a value of ``0x206694``.""" + return cls(0x206694) + + @classmethod + def purple(cls): + """A factory method that returns a :class:`Colour` with a value of ``0x9b59b6``.""" + return cls(0x9b59b6) + + @classmethod + def dark_purple(cls): + """A factory method that returns a :class:`Colour` with a value of ``0x71368a``.""" + return cls(0x71368a) + + @classmethod + def magenta(cls): + """A factory method that returns a :class:`Colour` with a value of ``0xe91e63``.""" + return cls(0xe91e63) + + @classmethod + def dark_magenta(cls): + """A factory method that returns a :class:`Colour` with a value of ``0xad1457``.""" + return cls(0xad1457) + + @classmethod + def gold(cls): + """A factory method that returns a :class:`Colour` with a value of ``0xf1c40f``.""" + return cls(0xf1c40f) + + @classmethod + def dark_gold(cls): + """A factory method that returns a :class:`Colour` with a value of ``0xc27c0e``.""" + return cls(0xc27c0e) + + @classmethod + def orange(cls): + """A factory method that returns a :class:`Colour` with a value of ``0xe67e22``.""" + return cls(0xe67e22) + + @classmethod + def dark_orange(cls): + """A factory method that returns a :class:`Colour` with a value of ``0xa84300``.""" + return cls(0xa84300) + + @classmethod + def red(cls): + """A factory method that returns a :class:`Colour` with a value of ``0xe74c3c``.""" + return cls(0xe74c3c) + + @classmethod + def dark_red(cls): + """A factory method that returns a :class:`Colour` with a value of ``0x992d22``.""" + return cls(0x992d22) + + @classmethod + def lighter_grey(cls): + """A factory method that returns a :class:`Colour` with a value of ``0x95a5a6``.""" + return cls(0x95a5a6) + + @classmethod + def dark_grey(cls): + """A factory method that returns a :class:`Colour` with a value of ``0x607d8b``.""" + return cls(0x607d8b) + + @classmethod + def light_grey(cls): + """A factory method that returns a :class:`Colour` with a value of ``0x979c9f``.""" + return cls(0x979c9f) + + @classmethod + def darker_grey(cls): + """A factory method that returns a :class:`Colour` with a value of ``0x546e7a``.""" + return cls(0x546e7a) + + @classmethod + def blurple(cls): + """A factory method that returns a :class:`Colour` with a value of ``0x7289da``.""" + return cls(0x7289da) + + @classmethod + def greyple(cls): + """A factory method that returns a :class:`Colour` with a value of ``0x99aab5``.""" + return cls(0x99aab5) + +Color = Colour diff --git a/venv/lib/python3.6/site-packages/discord/context_managers.py b/venv/lib/python3.6/site-packages/discord/context_managers.py new file mode 100644 index 0000000..3875183 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/context_managers.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import asyncio + +def _typing_done_callback(fut): + # just retrieve any exception and call it a day + try: + fut.exception() + except Exception: + pass + +class Typing: + def __init__(self, messageable): + self.loop = messageable._state.loop + self.messageable = messageable + + async def do_typing(self): + try: + channel = self._channel + except AttributeError: + channel = await self.messageable._get_channel() + + typing = channel._state.http.send_typing + + while True: + await typing(channel.id) + await asyncio.sleep(5) + + def __enter__(self): + self.task = asyncio.ensure_future(self.do_typing(), loop=self.loop) + self.task.add_done_callback(_typing_done_callback) + return self + + def __exit__(self, exc_type, exc, tb): + self.task.cancel() + + async def __aenter__(self): + self._channel = channel = await self.messageable._get_channel() + await channel._state.http.send_typing(channel.id) + return self.__enter__() + + async def __aexit__(self, exc_type, exc, tb): + self.task.cancel() diff --git a/venv/lib/python3.6/site-packages/discord/embeds.py b/venv/lib/python3.6/site-packages/discord/embeds.py new file mode 100644 index 0000000..3ad3fd5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/embeds.py @@ -0,0 +1,530 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import datetime + +from . import utils +from .colour import Colour + +class _EmptyEmbed: + def __bool__(self): + return False + + def __repr__(self): + return 'Embed.Empty' + + def __len__(self): + return 0 + +EmptyEmbed = _EmptyEmbed() + +class EmbedProxy: + def __init__(self, layer): + self.__dict__.update(layer) + + def __len__(self): + return len(self.__dict__) + + def __repr__(self): + return 'EmbedProxy(%s)' % ', '.join(('%s=%r' % (k, v) for k, v in self.__dict__.items() if not k.startswith('_'))) + + def __getattr__(self, attr): + return EmptyEmbed + +class Embed: + """Represents a Discord embed. + + .. container:: operations + + .. describe:: len(x) + + Returns the total size of the embed. + Useful for checking if it's within the 6000 character limit. + + The following attributes can be set during creation + of the object: + + Certain properties return an ``EmbedProxy``. Which is a type + that acts similar to a regular :class:`dict` except access the attributes + via dotted access, e.g. ``embed.author.icon_url``. If the attribute + is invalid or empty, then a special sentinel value is returned, + :attr:`Embed.Empty`. + + For ease of use, all parameters that expect a :class:`str` are implicitly + casted to :class:`str` for you. + + Attributes + ----------- + title: :class:`str` + The title of the embed. + type: :class:`str` + The type of embed. Usually "rich". + description: :class:`str` + The description of the embed. + url: :class:`str` + The URL of the embed. + timestamp: `datetime.datetime` + The timestamp of the embed content. This could be a naive or aware datetime. + colour: :class:`Colour` or :class:`int` + The colour code of the embed. Aliased to ``color`` as well. + Empty + A special sentinel value used by ``EmbedProxy`` and this class + to denote that the value or attribute is empty. + """ + + __slots__ = ('title', 'url', 'type', '_timestamp', '_colour', '_footer', + '_image', '_thumbnail', '_video', '_provider', '_author', + '_fields', 'description') + + Empty = EmptyEmbed + + def __init__(self, **kwargs): + # swap the colour/color aliases + try: + colour = kwargs['colour'] + except KeyError: + colour = kwargs.get('color', EmptyEmbed) + + self.colour = colour + self.title = kwargs.get('title', EmptyEmbed) + self.type = kwargs.get('type', 'rich') + self.url = kwargs.get('url', EmptyEmbed) + self.description = kwargs.get('description', EmptyEmbed) + + try: + timestamp = kwargs['timestamp'] + except KeyError: + pass + else: + self.timestamp = timestamp + + @classmethod + def from_dict(cls, data): + """Converts a :class:`dict` to a :class:`Embed` provided it is in the + format that Discord expects it to be in. + + You can find out about this format in the `official Discord documentation`__. + + .. _DiscordDocs: https://discordapp.com/developers/docs/resources/channel#embed-object + + __ DiscordDocs_ + + Parameters + ----------- + data: :class:`dict` + The dictionary to convert into an embed. + """ + # we are bypassing __init__ here since it doesn't apply here + self = cls.__new__(cls) + + # fill in the basic fields + + self.title = data.get('title', EmptyEmbed) + self.type = data.get('type', EmptyEmbed) + self.description = data.get('description', EmptyEmbed) + self.url = data.get('url', EmptyEmbed) + + # try to fill in the more rich fields + + try: + self._colour = Colour(value=data['color']) + except KeyError: + pass + + try: + self._timestamp = utils.parse_time(data['timestamp']) + except KeyError: + pass + + for attr in ('thumbnail', 'video', 'provider', 'author', 'fields', 'image', 'footer'): + try: + value = data[attr] + except KeyError: + continue + else: + setattr(self, '_' + attr, value) + + return self + + def copy(self): + """Returns a shallow copy of the embed.""" + return Embed.from_dict(self.to_dict()) + + def __len__(self): + total = len(self.title) + len(self.description) + for field in getattr(self, '_fields', []): + total += len(field['name']) + len(field['value']) + + try: + footer = self._footer + except AttributeError: + pass + else: + total += len(footer['text']) + + try: + author = self._author + except AttributeError: + pass + else: + total += len(author['name']) + + return total + + @property + def colour(self): + return getattr(self, '_colour', EmptyEmbed) + + @colour.setter + def colour(self, value): + if isinstance(value, (Colour, _EmptyEmbed)): + self._colour = value + elif isinstance(value, int): + self._colour = Colour(value=value) + else: + raise TypeError('Expected discord.Colour, int, or Embed.Empty but received %s instead.' % value.__class__.__name__) + + color = colour + + @property + def timestamp(self): + return getattr(self, '_timestamp', EmptyEmbed) + + @timestamp.setter + def timestamp(self, value): + if isinstance(value, (datetime.datetime, _EmptyEmbed)): + self._timestamp = value + else: + raise TypeError("Expected datetime.datetime or Embed.Empty received %s instead" % value.__class__.__name__) + + @property + def footer(self): + """Returns an ``EmbedProxy`` denoting the footer contents. + + See :meth:`set_footer` for possible values you can access. + + If the attribute has no value then :attr:`Empty` is returned. + """ + return EmbedProxy(getattr(self, '_footer', {})) + + def set_footer(self, *, text=EmptyEmbed, icon_url=EmptyEmbed): + """Sets the footer for the embed content. + + This function returns the class instance to allow for fluent-style + chaining. + + Parameters + ----------- + text: :class:`str` + The footer text. + icon_url: :class:`str` + The URL of the footer icon. Only HTTP(S) is supported. + """ + + self._footer = {} + if text is not EmptyEmbed: + self._footer['text'] = str(text) + + if icon_url is not EmptyEmbed: + self._footer['icon_url'] = str(icon_url) + + return self + + @property + def image(self): + """Returns an ``EmbedProxy`` denoting the image contents. + + Possible attributes you can access are: + + - ``url`` + - ``proxy_url`` + - ``width`` + - ``height`` + + If the attribute has no value then :attr:`Empty` is returned. + """ + return EmbedProxy(getattr(self, '_image', {})) + + def set_image(self, *, url): + """Sets the image for the embed content. + + This function returns the class instance to allow for fluent-style + chaining. + + Parameters + ----------- + url: :class:`str` + The source URL for the image. Only HTTP(S) is supported. + """ + + self._image = { + 'url': str(url) + } + + return self + + @property + def thumbnail(self): + """Returns an ``EmbedProxy`` denoting the thumbnail contents. + + Possible attributes you can access are: + + - ``url`` + - ``proxy_url`` + - ``width`` + - ``height`` + + If the attribute has no value then :attr:`Empty` is returned. + """ + return EmbedProxy(getattr(self, '_thumbnail', {})) + + def set_thumbnail(self, *, url): + """Sets the thumbnail for the embed content. + + This function returns the class instance to allow for fluent-style + chaining. + + Parameters + ----------- + url: :class:`str` + The source URL for the thumbnail. Only HTTP(S) is supported. + """ + + self._thumbnail = { + 'url': str(url) + } + + return self + + @property + def video(self): + """Returns an ``EmbedProxy`` denoting the video contents. + + Possible attributes include: + + - ``url`` for the video URL. + - ``height`` for the video height. + - ``width`` for the video width. + + If the attribute has no value then :attr:`Empty` is returned. + """ + return EmbedProxy(getattr(self, '_video', {})) + + @property + def provider(self): + """Returns an ``EmbedProxy`` denoting the provider contents. + + The only attributes that might be accessed are ``name`` and ``url``. + + If the attribute has no value then :attr:`Empty` is returned. + """ + return EmbedProxy(getattr(self, '_provider', {})) + + @property + def author(self): + """Returns an ``EmbedProxy`` denoting the author contents. + + See :meth:`set_author` for possible values you can access. + + If the attribute has no value then :attr:`Empty` is returned. + """ + return EmbedProxy(getattr(self, '_author', {})) + + def set_author(self, *, name, url=EmptyEmbed, icon_url=EmptyEmbed): + """Sets the author for the embed content. + + This function returns the class instance to allow for fluent-style + chaining. + + Parameters + ----------- + name: :class:`str` + The name of the author. + url: :class:`str` + The URL for the author. + icon_url: :class:`str` + The URL of the author icon. Only HTTP(S) is supported. + """ + + self._author = { + 'name': str(name) + } + + if url is not EmptyEmbed: + self._author['url'] = str(url) + + if icon_url is not EmptyEmbed: + self._author['icon_url'] = str(icon_url) + + return self + + @property + def fields(self): + """Returns a :class:`list` of ``EmbedProxy`` denoting the field contents. + + See :meth:`add_field` for possible values you can access. + + If the attribute has no value then :attr:`Empty` is returned. + """ + return [EmbedProxy(d) for d in getattr(self, '_fields', [])] + + def add_field(self, *, name, value, inline=True): + """Adds a field to the embed object. + + This function returns the class instance to allow for fluent-style + chaining. + + Parameters + ----------- + name: :class:`str` + The name of the field. + value: :class:`str` + The value of the field. + inline: :class:`bool` + Whether the field should be displayed inline. + """ + + field = { + 'inline': inline, + 'name': str(name), + 'value': str(value) + } + + try: + self._fields.append(field) + except AttributeError: + self._fields = [field] + + return self + + def clear_fields(self): + """Removes all fields from this embed.""" + try: + self._fields.clear() + except AttributeError: + self._fields = [] + + def remove_field(self, index): + """Removes a field at a specified index. + + If the index is invalid or out of bounds then the error is + silently swallowed. + + .. note:: + + When deleting a field by index, the index of the other fields + shift to fill the gap just like a regular list. + + Parameters + ----------- + index: :class:`int` + The index of the field to remove. + """ + try: + del self._fields[index] + except (AttributeError, IndexError): + pass + + def set_field_at(self, index, *, name, value, inline=True): + """Modifies a field to the embed object. + + The index must point to a valid pre-existing field. + + This function returns the class instance to allow for fluent-style + chaining. + + Parameters + ----------- + index: :class:`int` + The index of the field to modify. + name: :class:`str` + The name of the field. + value: :class:`str` + The value of the field. + inline: :class:`bool` + Whether the field should be displayed inline. + + Raises + ------- + IndexError + An invalid index was provided. + """ + + try: + field = self._fields[index] + except (TypeError, IndexError, AttributeError): + raise IndexError('field index out of range') + + field['name'] = str(name) + field['value'] = str(value) + field['inline'] = inline + return self + + def to_dict(self): + """Converts this embed object into a dict.""" + + # add in the raw data into the dict + result = { + key[1:]: getattr(self, key) + for key in self.__slots__ + if key[0] == '_' and hasattr(self, key) + } + + # deal with basic convenience wrappers + + try: + colour = result.pop('colour') + except KeyError: + pass + else: + if colour: + result['color'] = colour.value + + try: + timestamp = result.pop('timestamp') + except KeyError: + pass + else: + if timestamp: + if timestamp.tzinfo: + result['timestamp'] = timestamp.astimezone(tz=datetime.timezone.utc).isoformat() + else: + result['timestamp'] = timestamp.replace(tzinfo=datetime.timezone.utc).isoformat() + + # add in the non raw attribute ones + if self.type: + result['type'] = self.type + + if self.description: + result['description'] = self.description + + if self.url: + result['url'] = self.url + + if self.title: + result['title'] = self.title + + return result diff --git a/venv/lib/python3.6/site-packages/discord/emoji.py b/venv/lib/python3.6/site-packages/discord/emoji.py new file mode 100644 index 0000000..492d29e --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/emoji.py @@ -0,0 +1,295 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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 .asset import Asset +from . import utils +from .user import User + +class PartialEmoji: + """Represents a "partial" emoji. + + This model will be given in two scenarios: + + - "Raw" data events such as :func:`on_raw_reaction_add` + - Custom emoji that the bot cannot see from e.g. :attr:`Message.reactions` + + .. container:: operations + + .. describe:: x == y + + Checks if two emoji are the same. + + .. describe:: x != y + + Checks if two emoji are not the same. + + .. describe:: hash(x) + + Return the emoji's hash. + + .. describe:: str(x) + + Returns the emoji rendered for discord. + + Attributes + ----------- + name: :class:`str` + The custom emoji name, if applicable, or the unicode codepoint + of the non-custom emoji. + animated: :class:`bool` + Whether the emoji is animated or not. + id: Optional[:class:`int`] + The ID of the custom emoji, if applicable. + """ + + __slots__ = ('animated', 'name', 'id', '_state') + + def __init__(self, *, animated, name, id=None): + self.animated = animated + self.name = name + self.id = id + self._state = None + + @classmethod + def with_state(cls, state, *, animated, name, id=None): + self = cls(animated=animated, name=name, id=id) + self._state = state + return self + + def __str__(self): + if self.id is None: + return self.name + if self.animated: + return '<a:%s:%s>' % (self.name, self.id) + return '<:%s:%s>' % (self.name, self.id) + + def __eq__(self, other): + if self.is_unicode_emoji(): + return isinstance(other, PartialEmoji) and self.name == other.name + + if isinstance(other, (PartialEmoji, Emoji)): + return self.id == other.id + + def __ne__(self, other): + return not self.__eq__(other) + + def __hash__(self): + return hash((self.id, self.name)) + + def is_custom_emoji(self): + """Checks if this is a custom non-Unicode emoji.""" + return self.id is not None + + def is_unicode_emoji(self): + """Checks if this is a Unicode emoji.""" + return self.id is None + + def _as_reaction(self): + if self.id is None: + return self.name + return '%s:%s' % (self.name, self.id) + + @property + def url(self): + """:class:`Asset`:Returns an asset of the emoji, if it is custom.""" + if self.is_unicode_emoji(): + return Asset(self._state) + + _format = 'gif' if self.animated else 'png' + url = "https://cdn.discordapp.com/emojis/{0.id}.{1}".format(self, _format) + return Asset(self._state, url) + +class Emoji: + """Represents a custom emoji. + + Depending on the way this object was created, some of the attributes can + have a value of ``None``. + + .. container:: operations + + .. describe:: x == y + + Checks if two emoji are the same. + + .. describe:: x != y + + Checks if two emoji are not the same. + + .. describe:: hash(x) + + Return the emoji's hash. + + .. describe:: iter(x) + + Returns an iterator of ``(field, value)`` pairs. This allows this class + to be used as an iterable in list/dict/etc constructions. + + .. describe:: str(x) + + Returns the emoji rendered for discord. + + Attributes + ----------- + name: :class:`str` + The name of the emoji. + id: :class:`int` + The emoji's ID. + require_colons: :class:`bool` + If colons are required to use this emoji in the client (:PJSalt: vs PJSalt). + animated: :class:`bool` + Whether an emoji is animated or not. + managed: :class:`bool` + If this emoji is managed by a Twitch integration. + guild_id: :class:`int` + The guild ID the emoji belongs to. + user: Optional[:class:`User`] + The user that created the emoji. This can only be retrieved using :meth:`Guild.fetch_emoji`. + """ + __slots__ = ('require_colons', 'animated', 'managed', 'id', 'name', '_roles', 'guild_id', + '_state', 'user') + + def __init__(self, *, guild, state, data): + self.guild_id = guild.id + self._state = state + self._from_data(data) + + def _from_data(self, emoji): + self.require_colons = emoji['require_colons'] + self.managed = emoji['managed'] + self.id = int(emoji['id']) + self.name = emoji['name'] + self.animated = emoji.get('animated', False) + self._roles = utils.SnowflakeList(map(int, emoji.get('roles', []))) + user = emoji.get('user') + self.user = User(state=self._state, data=user) if user else None + + def _iterator(self): + for attr in self.__slots__: + if attr[0] != '_': + value = getattr(self, attr, None) + if value is not None: + yield (attr, value) + + def __iter__(self): + return self._iterator() + + def __str__(self): + if self.animated: + return '<a:{0.name}:{0.id}>'.format(self) + return "<:{0.name}:{0.id}>".format(self) + + def __repr__(self): + return '<Emoji id={0.id} name={0.name!r}>'.format(self) + + def __eq__(self, other): + return isinstance(other, (PartialEmoji, Emoji)) and self.id == other.id + + def __ne__(self, other): + return not self.__eq__(other) + + def __hash__(self): + return self.id >> 22 + + @property + def created_at(self): + """Returns the emoji's creation time in UTC.""" + return utils.snowflake_time(self.id) + + @property + def url(self): + """Returns a URL version of the emoji.""" + _format = 'gif' if self.animated else 'png' + url = "https://cdn.discordapp.com/emojis/{0.id}.{1}".format(self, _format) + return Asset(self._state, url) + + @property + def roles(self): + """List[:class:`Role`]: A :class:`list` of roles that is allowed to use this emoji. + + If roles is empty, the emoji is unrestricted. + """ + guild = self.guild + if guild is None: + return [] + + return [role for role in guild.roles if self._roles.has(role.id)] + + @property + def guild(self): + """:class:`Guild`: The guild this emoji belongs to.""" + return self._state._get_guild(self.guild_id) + + async def delete(self, *, reason=None): + """|coro| + + Deletes the custom emoji. + + You must have :attr:`~Permissions.manage_emojis` permission to + do this. + + Parameters + ----------- + reason: Optional[:class:`str`] + The reason for deleting this emoji. Shows up on the audit log. + + Raises + ------- + Forbidden + You are not allowed to delete emojis. + HTTPException + An error occurred deleting the emoji. + """ + + await self._state.http.delete_custom_emoji(self.guild.id, self.id, reason=reason) + + async def edit(self, *, name, roles=None, reason=None): + r"""|coro| + + Edits the custom emoji. + + You must have :attr:`~Permissions.manage_emojis` permission to + do this. + + Parameters + ----------- + name: :class:`str` + The new emoji name. + roles: Optional[list[:class:`Role`]] + A :class:`list` of :class:`Role`\s that can use this emoji. Leave empty to make it available to everyone. + reason: Optional[:class:`str`] + The reason for editing this emoji. Shows up on the audit log. + + Raises + ------- + Forbidden + You are not allowed to edit emojis. + HTTPException + An error occurred editing the emoji. + """ + + if roles: + roles = [role.id for role in roles] + await self._state.http.edit_custom_emoji(self.guild.id, self.id, name=name, roles=roles, reason=reason) diff --git a/venv/lib/python3.6/site-packages/discord/enums.py b/venv/lib/python3.6/site-packages/discord/enums.py new file mode 100644 index 0000000..ff5266f --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/enums.py @@ -0,0 +1,282 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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 enum import Enum + +__all__ = ['ChannelType', 'MessageType', 'VoiceRegion', 'SpeakingState', + 'VerificationLevel', 'ContentFilter', 'Status', 'DefaultAvatar', + 'RelationshipType', 'AuditLogAction', 'AuditLogActionCategory', + 'UserFlags', 'ActivityType', 'HypeSquadHouse', 'NotificationLevel', + 'PremiumType', 'UserContentFilter', 'FriendFlags', 'Theme'] + +class ChannelType(Enum): + text = 0 + private = 1 + voice = 2 + group = 3 + category = 4 + news = 5 + store = 6 + + def __str__(self): + return self.name + +class MessageType(Enum): + default = 0 + recipient_add = 1 + recipient_remove = 2 + call = 3 + channel_name_change = 4 + channel_icon_change = 5 + pins_add = 6 + new_member = 7 + +class VoiceRegion(Enum): + us_west = 'us-west' + us_east = 'us-east' + us_south = 'us-south' + us_central = 'us-central' + eu_west = 'eu-west' + eu_central = 'eu-central' + singapore = 'singapore' + london = 'london' + sydney = 'sydney' + amsterdam = 'amsterdam' + frankfurt = 'frankfurt' + brazil = 'brazil' + hongkong = 'hongkong' + russia = 'russia' + japan = 'japan' + southafrica = 'southafrica' + vip_us_east = 'vip-us-east' + vip_us_west = 'vip-us-west' + vip_amsterdam = 'vip-amsterdam' + + def __str__(self): + return self.value + +class SpeakingState(Enum): + none = 0 + voice = 1 + soundshare = 2 + priority = 4 + + def __str__(self): + return self.name + + def __int__(self): + return self.value + +class VerificationLevel(Enum): + none = 0 + low = 1 + medium = 2 + high = 3 + table_flip = 3 + extreme = 4 + double_table_flip = 4 + + def __str__(self): + return self.name + +class ContentFilter(Enum): + disabled = 0 + no_role = 1 + all_members = 2 + + def __str__(self): + return self.name + +class UserContentFilter(Enum): + disabled = 0 + friends = 1 + all_messages = 2 + +class FriendFlags(Enum): + noone = 0 + mutual_guilds = 1 + mutual_friends = 2 + guild_and_friends = 3 + everyone = 4 + +class Theme(Enum): + light = 'light' + dark = 'dark' + +class Status(Enum): + online = 'online' + offline = 'offline' + idle = 'idle' + dnd = 'dnd' + do_not_disturb = 'dnd' + invisible = 'invisible' + + def __str__(self): + return self.value + +class DefaultAvatar(Enum): + blurple = 0 + grey = 1 + gray = 1 + green = 2 + orange = 3 + red = 4 + + def __str__(self): + return self.name + +class RelationshipType(Enum): + friend = 1 + blocked = 2 + incoming_request = 3 + outgoing_request = 4 + +class NotificationLevel(Enum): + all_messages = 0 + only_mentions = 1 + +class AuditLogActionCategory(Enum): + create = 1 + delete = 2 + update = 3 + +class AuditLogAction(Enum): + guild_update = 1 + channel_create = 10 + channel_update = 11 + channel_delete = 12 + overwrite_create = 13 + overwrite_update = 14 + overwrite_delete = 15 + kick = 20 + member_prune = 21 + ban = 22 + unban = 23 + member_update = 24 + member_role_update = 25 + role_create = 30 + role_update = 31 + role_delete = 32 + invite_create = 40 + invite_update = 41 + invite_delete = 42 + webhook_create = 50 + webhook_update = 51 + webhook_delete = 52 + emoji_create = 60 + emoji_update = 61 + emoji_delete = 62 + message_delete = 72 + + @property + def category(self): + lookup = { + AuditLogAction.guild_update: AuditLogActionCategory.update, + AuditLogAction.channel_create: AuditLogActionCategory.create, + AuditLogAction.channel_update: AuditLogActionCategory.update, + AuditLogAction.channel_delete: AuditLogActionCategory.delete, + AuditLogAction.overwrite_create: AuditLogActionCategory.create, + AuditLogAction.overwrite_update: AuditLogActionCategory.update, + AuditLogAction.overwrite_delete: AuditLogActionCategory.delete, + AuditLogAction.kick: None, + AuditLogAction.member_prune: None, + AuditLogAction.ban: None, + AuditLogAction.unban: None, + AuditLogAction.member_update: AuditLogActionCategory.update, + AuditLogAction.member_role_update: AuditLogActionCategory.update, + AuditLogAction.role_create: AuditLogActionCategory.create, + AuditLogAction.role_update: AuditLogActionCategory.update, + AuditLogAction.role_delete: AuditLogActionCategory.delete, + AuditLogAction.invite_create: AuditLogActionCategory.create, + AuditLogAction.invite_update: AuditLogActionCategory.update, + AuditLogAction.invite_delete: AuditLogActionCategory.delete, + AuditLogAction.webhook_create: AuditLogActionCategory.create, + AuditLogAction.webhook_update: AuditLogActionCategory.update, + AuditLogAction.webhook_delete: AuditLogActionCategory.delete, + AuditLogAction.emoji_create: AuditLogActionCategory.create, + AuditLogAction.emoji_update: AuditLogActionCategory.update, + AuditLogAction.emoji_delete: AuditLogActionCategory.delete, + AuditLogAction.message_delete: AuditLogActionCategory.delete, + } + return lookup[self] + + @property + def target_type(self): + v = self.value + if v == -1: + return 'all' + elif v < 10: + return 'guild' + elif v < 20: + return 'channel' + elif v < 30: + return 'user' + elif v < 40: + return 'role' + elif v < 50: + return 'invite' + elif v < 60: + return 'webhook' + elif v < 70: + return 'emoji' + elif v < 80: + return 'message' + +class UserFlags(Enum): + staff = 1 + partner = 2 + hypesquad = 4 + bug_hunter = 8 + hypesquad_bravery = 64 + hypesquad_brilliance = 128 + hypesquad_balance = 256 + early_supporter = 512 + +class ActivityType(Enum): + unknown = -1 + playing = 0 + streaming = 1 + listening = 2 + watching = 3 + +class HypeSquadHouse(Enum): + bravery = 1 + brilliance = 2 + balance = 3 + +class PremiumType(Enum): + nitro_classic = 1 + nitro = 2 + +def try_enum(cls, val): + """A function that tries to turn the value into enum ``cls``. + + If it fails it returns the value instead. + """ + try: + return cls(val) + except ValueError: + return val diff --git a/venv/lib/python3.6/site-packages/discord/errors.py b/venv/lib/python3.6/site-packages/discord/errors.py new file mode 100644 index 0000000..6669e16 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/errors.py @@ -0,0 +1,164 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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. +""" + +class DiscordException(Exception): + """Base exception class for discord.py + + Ideally speaking, this could be caught to handle any exceptions thrown from this library. + """ + pass + +class ClientException(DiscordException): + """Exception that's thrown when an operation in the :class:`Client` fails. + + These are usually for exceptions that happened due to user input. + """ + pass + +class NoMoreItems(DiscordException): + """Exception that is thrown when an async iteration operation has no more + items.""" + pass + +class GatewayNotFound(DiscordException): + """An exception that is usually thrown when the gateway hub + for the :class:`Client` websocket is not found.""" + def __init__(self): + message = 'The gateway to connect to discord was not found.' + super(GatewayNotFound, self).__init__(message) + +def flatten_error_dict(d, key=''): + items = [] + for k, v in d.items(): + new_key = key + '.' + k if key else k + + if isinstance(v, dict): + try: + _errors = v['_errors'] + except KeyError: + items.extend(flatten_error_dict(v, new_key).items()) + else: + items.append((new_key, ' '.join(x.get('message', '') for x in _errors))) + else: + items.append((new_key, v)) + + return dict(items) + +class HTTPException(DiscordException): + """Exception that's thrown when an HTTP request operation fails. + + Attributes + ------------ + response: aiohttp.ClientResponse + The response of the failed HTTP request. This is an + instance of `aiohttp.ClientResponse`__. In some cases + this could also be a ``requests.Response``. + + __ http://aiohttp.readthedocs.org/en/stable/client_reference.html#aiohttp.ClientResponse + + text: :class:`str` + The text of the error. Could be an empty string. + status: :class:`int` + The status code of the HTTP request. + code: :class:`int` + The Discord specific error code for the failure. + """ + + def __init__(self, response, message): + self.response = response + self.status = response.status + if isinstance(message, dict): + self.code = message.get('code', 0) + base = message.get('message', '') + errors = message.get('errors') + if errors: + errors = flatten_error_dict(errors) + helpful = '\n'.join('In %s: %s' % t for t in errors.items()) + self.text = base + '\n' + helpful + else: + self.text = base + else: + self.text = message + self.code = 0 + + fmt = '{0.reason} (status code: {0.status})' + if len(self.text): + fmt = fmt + ': {1}' + + super().__init__(fmt.format(self.response, self.text)) + +class Forbidden(HTTPException): + """Exception that's thrown for when status code 403 occurs. + + Subclass of :exc:`HTTPException` + """ + pass + +class NotFound(HTTPException): + """Exception that's thrown for when status code 404 occurs. + + Subclass of :exc:`HTTPException` + """ + pass + + +class InvalidArgument(ClientException): + """Exception that's thrown when an argument to a function + is invalid some way (e.g. wrong value or wrong type). + + This could be considered the analogous of ``ValueError`` and + ``TypeError`` except inherited from :exc:`ClientException` and thus + :exc:`DiscordException`. + """ + pass + +class LoginFailure(ClientException): + """Exception that's thrown when the :meth:`Client.login` function + fails to log you in from improper credentials or some other misc. + failure. + """ + pass + +class ConnectionClosed(ClientException): + """Exception that's thrown when the gateway connection is + closed for reasons that could not be handled internally. + + Attributes + ----------- + code: :class:`int` + The close code of the websocket. + reason: :class:`str` + The reason provided for the closure. + shard_id: Optional[:class:`int`] + The shard ID that got closed if applicable. + """ + def __init__(self, original, *, shard_id): + # This exception is just the same exception except + # reconfigured to subclass ClientException for users + self.code = original.code + self.reason = original.reason + self.shard_id = shard_id + super().__init__(str(original)) diff --git a/venv/lib/python3.6/site-packages/discord/ext/commands/__init__.py b/venv/lib/python3.6/site-packages/discord/ext/commands/__init__.py new file mode 100644 index 0000000..b14fd65 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/commands/__init__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- + +""" +discord.ext.commands +~~~~~~~~~~~~~~~~~~~~~ + +An extension module to facilitate creation of bot commands. + +:copyright: (c) 2019 Rapptz +:license: MIT, see LICENSE for more details. +""" + +from .bot import Bot, AutoShardedBot, when_mentioned, when_mentioned_or +from .context import Context +from .core import * +from .errors import * +from .help import * +from .converter import * +from .cooldowns import * +from .cog import * diff --git a/venv/lib/python3.6/site-packages/discord/ext/commands/_types.py b/venv/lib/python3.6/site-packages/discord/ext/commands/_types.py new file mode 100644 index 0000000..bd25447 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/commands/_types.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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. +""" + +# This is merely a tag type to avoid circular import issues. +# Yes, this is a terrible solution but ultimately it is the only solution. +class _BaseCommand: + __slots__ = () diff --git a/venv/lib/python3.6/site-packages/discord/ext/commands/bot.py b/venv/lib/python3.6/site-packages/discord/ext/commands/bot.py new file mode 100644 index 0000000..3566755 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/commands/bot.py @@ -0,0 +1,969 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import asyncio +import collections +import inspect +import importlib +import sys +import traceback +import re +import types + +import discord + +from .core import GroupMixin, Command +from .view import StringView +from .context import Context +from . import errors +from .help import HelpCommand, DefaultHelpCommand +from .cog import Cog + +def when_mentioned(bot, msg): + """A callable that implements a command prefix equivalent to being mentioned. + + These are meant to be passed into the :attr:`.Bot.command_prefix` attribute. + """ + return [bot.user.mention + ' ', '<@!%s> ' % bot.user.id] + +def when_mentioned_or(*prefixes): + """A callable that implements when mentioned or other prefixes provided. + + These are meant to be passed into the :attr:`.Bot.command_prefix` attribute. + + Example + -------- + + .. code-block:: python3 + + bot = commands.Bot(command_prefix=commands.when_mentioned_or('!')) + + + .. note:: + + This callable returns another callable, so if this is done inside a custom + callable, you must call the returned callable, for example: + + .. code-block:: python3 + + async def get_prefix(bot, message): + extras = await prefixes_for(message.guild) # returns a list + return commands.when_mentioned_or(*extras)(bot, message) + + + See Also + ---------- + :func:`.when_mentioned` + """ + def inner(bot, msg): + r = list(prefixes) + r = when_mentioned(bot, msg) + r + return r + + return inner + +def _is_submodule(parent, child): + return parent == child or child.startswith(parent + ".") + +class _DefaultRepr: + def __repr__(self): + return '<default-help-command>' + +_default = _DefaultRepr() + +class BotBase(GroupMixin): + def __init__(self, command_prefix, help_command=_default, description=None, **options): + super().__init__(**options) + self.command_prefix = command_prefix + self.extra_events = {} + self.__cogs = {} + self.__extensions = {} + self._checks = [] + self._check_once = [] + self._before_invoke = None + self._after_invoke = None + self._help_command = None + self.description = inspect.cleandoc(description) if description else '' + self.owner_id = options.get('owner_id') + + if options.pop('self_bot', False): + self._skip_check = lambda x, y: x != y + else: + self._skip_check = lambda x, y: x == y + + if help_command is _default: + self.help_command = DefaultHelpCommand() + else: + self.help_command = help_command + + # internal helpers + + def dispatch(self, event_name, *args, **kwargs): + super().dispatch(event_name, *args, **kwargs) + ev = 'on_' + event_name + for event in self.extra_events.get(ev, []): + coro = self._run_event(event, event_name, *args, **kwargs) + asyncio.ensure_future(coro, loop=self.loop) + + async def close(self): + for extension in tuple(self.__extensions): + try: + self.unload_extension(extension) + except Exception: + pass + + for cog in tuple(self.__cogs): + try: + self.remove_cog(cog) + except Exception: + pass + + await super().close() + + async def on_command_error(self, context, exception): + """|coro| + + The default command error handler provided by the bot. + + By default this prints to ``sys.stderr`` however it could be + overridden to have a different implementation. + + This only fires if you do not specify any listeners for command error. + """ + if self.extra_events.get('on_command_error', None): + return + + if hasattr(context.command, 'on_error'): + return + + cog = context.cog + if cog: + attr = '_{0.__class__.__name__}__error'.format(cog) + if hasattr(cog, attr): + return + + print('Ignoring exception in command {}:'.format(context.command), file=sys.stderr) + traceback.print_exception(type(exception), exception, exception.__traceback__, file=sys.stderr) + + # global check registration + + def check(self, func): + r"""A decorator that adds a global check to the bot. + + A global check is similar to a :func:`.check` that is applied + on a per command basis except it is run before any command checks + have been verified and applies to every command the bot has. + + .. note:: + + This function can either be a regular function or a coroutine. + + Similar to a command :func:`.check`\, this takes a single parameter + of type :class:`.Context` and can only raise exceptions inherited from + :exc:`.CommandError`. + + Example + --------- + + .. code-block:: python3 + + @bot.check + def check_commands(ctx): + return ctx.command.qualified_name in allowed_commands + + """ + self.add_check(func) + return func + + def add_check(self, func, *, call_once=False): + """Adds a global check to the bot. + + This is the non-decorator interface to :meth:`.check` + and :meth:`.check_once`. + + Parameters + ----------- + func + The function that was used as a global check. + call_once: :class:`bool` + If the function should only be called once per + :meth:`.Command.invoke` call. + """ + + if call_once: + self._check_once.append(func) + else: + self._checks.append(func) + + def remove_check(self, func, *, call_once=False): + """Removes a global check from the bot. + + This function is idempotent and will not raise an exception + if the function is not in the global checks. + + Parameters + ----------- + func + The function to remove from the global checks. + call_once: :class:`bool` + If the function was added with ``call_once=True`` in + the :meth:`.Bot.add_check` call or using :meth:`.check_once`. + """ + l = self._check_once if call_once else self._checks + + try: + l.remove(func) + except ValueError: + pass + + def check_once(self, func): + r"""A decorator that adds a "call once" global check to the bot. + + Unlike regular global checks, this one is called only once + per :meth:`.Command.invoke` call. + + Regular global checks are called whenever a command is called + or :meth:`.Command.can_run` is called. This type of check + bypasses that and ensures that it's called only once, even inside + the default help command. + + .. note:: + + This function can either be a regular function or a coroutine. + + Similar to a command :func:`.check`\, this takes a single parameter + of type :class:`.Context` and can only raise exceptions inherited from + :exc:`.CommandError`. + + Example + --------- + + .. code-block:: python3 + + @bot.check_once + def whitelist(ctx): + return ctx.message.author.id in my_whitelist + + """ + self.add_check(func, call_once=True) + return func + + async def can_run(self, ctx, *, call_once=False): + data = self._check_once if call_once else self._checks + + if len(data) == 0: + return True + + return await discord.utils.async_all(f(ctx) for f in data) + + async def is_owner(self, user): + """Checks if a :class:`.User` or :class:`.Member` is the owner of + this bot. + + If an :attr:`owner_id` is not set, it is fetched automatically + through the use of :meth:`~.Bot.application_info`. + + Parameters + ----------- + user: :class:`.abc.User` + The user to check for. + """ + + if self.owner_id is None: + app = await self.application_info() + self.owner_id = owner_id = app.owner.id + return user.id == owner_id + return user.id == self.owner_id + + def before_invoke(self, coro): + """A decorator that registers a coroutine as a pre-invoke hook. + + A pre-invoke hook is called directly before the command is + called. This makes it a useful function to set up database + connections or any type of set up required. + + This pre-invoke hook takes a sole parameter, a :class:`.Context`. + + .. note:: + + The :meth:`~.Bot.before_invoke` and :meth:`~.Bot.after_invoke` hooks are + only called if all checks and argument parsing procedures pass + without error. If any check or argument parsing procedures fail + then the hooks are not called. + + Parameters + ----------- + coro + The coroutine to register as the pre-invoke hook. + + Raises + ------- + TypeError + The coroutine passed is not actually a coroutine. + """ + if not asyncio.iscoroutinefunction(coro): + raise TypeError('The pre-invoke hook must be a coroutine.') + + self._before_invoke = coro + return coro + + def after_invoke(self, coro): + r"""A decorator that registers a coroutine as a post-invoke hook. + + A post-invoke hook is called directly after the command is + called. This makes it a useful function to clean-up database + connections or any type of clean up required. + + This post-invoke hook takes a sole parameter, a :class:`.Context`. + + .. note:: + + Similar to :meth:`~.Bot.before_invoke`\, this is not called unless + checks and argument parsing procedures succeed. This hook is, + however, **always** called regardless of the internal command + callback raising an error (i.e. :exc:`.CommandInvokeError`\). + This makes it ideal for clean-up scenarios. + + Parameters + ----------- + coro + The coroutine to register as the post-invoke hook. + + Raises + ------- + TypeError + The coroutine passed is not actually a coroutine. + """ + if not asyncio.iscoroutinefunction(coro): + raise TypeError('The post-invoke hook must be a coroutine.') + + self._after_invoke = coro + return coro + + # listener registration + + def add_listener(self, func, name=None): + """The non decorator alternative to :meth:`.listen`. + + Parameters + ----------- + func: :ref:`coroutine <coroutine>` + The function to call. + name: Optional[:class:`str`] + The name of the event to listen for. Defaults to ``func.__name__``. + + Example + -------- + + .. code-block:: python3 + + async def on_ready(): pass + async def my_message(message): pass + + bot.add_listener(on_ready) + bot.add_listener(my_message, 'on_message') + + """ + name = func.__name__ if name is None else name + + if not asyncio.iscoroutinefunction(func): + raise TypeError('Listeners must be coroutines') + + if name in self.extra_events: + self.extra_events[name].append(func) + else: + self.extra_events[name] = [func] + + def remove_listener(self, func, name=None): + """Removes a listener from the pool of listeners. + + Parameters + ----------- + func + The function that was used as a listener to remove. + name: :class:`str` + The name of the event we want to remove. Defaults to + ``func.__name__``. + """ + + name = func.__name__ if name is None else name + + if name in self.extra_events: + try: + self.extra_events[name].remove(func) + except ValueError: + pass + + def listen(self, name=None): + """A decorator that registers another function as an external + event listener. Basically this allows you to listen to multiple + events from different places e.g. such as :func:`.on_ready` + + The functions being listened to must be a coroutine. + + Example + -------- + + .. code-block:: python3 + + @bot.listen() + async def on_message(message): + print('one') + + # in some other file... + + @bot.listen('on_message') + async def my_message(message): + print('two') + + Would print one and two in an unspecified order. + + Raises + ------- + TypeError + The function being listened to is not a coroutine. + """ + + def decorator(func): + self.add_listener(func, name) + return func + + return decorator + + # cogs + + def add_cog(self, cog): + """Adds a "cog" to the bot. + + A cog is a class that has its own event listeners and commands. + + Parameters + ----------- + cog: :class:`.Cog` + The cog to register to the bot. + + Raises + ------- + TypeError + The cog does not inherit from :class:`.Cog`. + CommandError + An error happened during loading. + """ + + if not isinstance(cog, Cog): + raise TypeError('cogs must derive from Cog') + + cog = cog._inject(self) + self.__cogs[cog.__cog_name__] = cog + + def get_cog(self, name): + """Gets the cog instance requested. + + If the cog is not found, ``None`` is returned instead. + + Parameters + ----------- + name: :class:`str` + The name of the cog you are requesting. + This is equivalent to the name passed via keyword + argument in class creation or the class name if unspecified. + """ + return self.__cogs.get(name) + + def remove_cog(self, name): + """Removes a cog from the bot. + + All registered commands and event listeners that the + cog has registered will be removed as well. + + If no cog is found then this method has no effect. + + Parameters + ----------- + name: :class:`str` + The name of the cog to remove. + """ + + cog = self.__cogs.pop(name, None) + if cog is None: + return + + help_command = self._help_command + if help_command and help_command.cog is cog: + help_command.cog = None + cog._eject(self) + + @property + def cogs(self): + """Mapping[:class:`str`, :class:`Cog`]: A read-only mapping of cog name to cog.""" + return types.MappingProxyType(self.__cogs) + + # extensions + + def _remove_module_references(self, name): + # find all references to the module + # remove the cogs registered from the module + for cogname, cog in self.__cogs.copy().items(): + if _is_submodule(name, cog.__module__): + self.remove_cog(cogname) + + # remove all the commands from the module + for cmd in self.all_commands.copy().values(): + if cmd.module is not None and _is_submodule(name, cmd.module): + if isinstance(cmd, GroupMixin): + cmd.recursively_remove_all_commands() + self.remove_command(cmd.name) + + # remove all the listeners from the module + for event_list in self.extra_events.copy().values(): + remove = [] + for index, event in enumerate(event_list): + if event.__module__ is not None and _is_submodule(name, event.__module__): + remove.append(index) + + for index in reversed(remove): + del event_list[index] + + def _call_module_finalizers(self, lib, key): + try: + func = getattr(lib, 'teardown') + except AttributeError: + pass + else: + try: + func(self) + except Exception: + pass + finally: + self.__extensions.pop(key, None) + sys.modules.pop(key, None) + name = lib.__name__ + for module in list(sys.modules.keys()): + if _is_submodule(name, module): + del sys.modules[module] + + def _load_from_module_spec(self, lib, key): + # precondition: key not in self.__extensions + try: + setup = getattr(lib, 'setup') + except AttributeError: + del sys.modules[key] + raise errors.NoEntryPointError(key) + + try: + setup(self) + except Exception as e: + self._remove_module_references(lib.__name__) + self._call_module_finalizers(lib, key) + raise errors.ExtensionFailed(key, e) from e + else: + self.__extensions[key] = lib + + def load_extension(self, name): + """Loads an extension. + + An extension is a python module that contains commands, cogs, or + listeners. + + An extension must have a global function, ``setup`` defined as + the entry point on what to do when the extension is loaded. This entry + point must have a single argument, the ``bot``. + + Parameters + ------------ + name: :class:`str` + The extension name to load. It must be dot separated like + regular Python imports if accessing a sub-module. e.g. + ``foo.test`` if you want to import ``foo/test.py``. + + Raises + -------- + ExtensionNotFound + The extension could not be imported. + ExtensionAlreadyLoaded + The extension is already loaded. + NoEntryPointError + The extension does not have a setup function. + ExtensionFailed + The extension setup function had an execution error. + """ + + if name in self.__extensions: + raise errors.ExtensionAlreadyLoaded(name) + + try: + lib = importlib.import_module(name) + except ImportError as e: + raise errors.ExtensionNotFound(name, e) from e + else: + self._load_from_module_spec(lib, name) + + def unload_extension(self, name): + """Unloads an extension. + + When the extension is unloaded, all commands, listeners, and cogs are + removed from the bot and the module is un-imported. + + The extension can provide an optional global function, ``teardown``, + to do miscellaneous clean-up if necessary. This function takes a single + parameter, the ``bot``, similar to ``setup`` from + :func:`~.Bot.load_extension`. + + Parameters + ------------ + name: :class:`str` + The extension name to unload. It must be dot separated like + regular Python imports if accessing a sub-module. e.g. + ``foo.test`` if you want to import ``foo/test.py``. + + Raises + ------- + ExtensionNotLoaded + The extension was not loaded. + """ + + lib = self.__extensions.get(name) + if lib is None: + raise errors.ExtensionNotLoaded(name) + + self._remove_module_references(lib.__name__) + self._call_module_finalizers(lib, name) + + def reload_extension(self, name): + """Atomically reloads an extension. + + This replaces the extension with the same extension, only refreshed. This is + equivalent to a :meth:`unload_extension` followed by a :meth:`load_extension` + except done in an atomic way. That is, if an operation fails mid-reload then + the bot will roll-back to the prior working state. + + Parameters + ------------ + name: :class:`str` + The extension name to reload. It must be dot separated like + regular Python imports if accessing a sub-module. e.g. + ``foo.test`` if you want to import ``foo/test.py``. + + Raises + ------- + ExtensionNotLoaded + The extension was not loaded. + ExtensionNotFound + The extension could not be imported. + NoEntryPointError + The extension does not have a setup function. + ExtensionFailed + The extension setup function had an execution error. + """ + + lib = self.__extensions.get(name) + if lib is None: + raise errors.ExtensionNotLoaded(name) + + # get the previous module states from sys modules + modules = { + name: module + for name, module in sys.modules.items() + if _is_submodule(lib.__name__, name) + } + + try: + # Unload and then load the module... + self._remove_module_references(lib.__name__) + self._call_module_finalizers(lib, name) + self.load_extension(name) + except Exception as e: + # if the load failed, the remnants should have been + # cleaned from the load_extension function call + # so let's load it from our old compiled library. + self._load_from_module_spec(lib, name) + + # revert sys.modules back to normal and raise back to caller + sys.modules.update(modules) + raise + + @property + def extensions(self): + """Mapping[:class:`str`, :class:`py:types.ModuleType`]: A read-only mapping of extension name to extension.""" + return types.MappingProxyType(self.__extensions) + + # help command stuff + + @property + def help_command(self): + return self._help_command + + @help_command.setter + def help_command(self, value): + if value is not None: + if not isinstance(value, HelpCommand): + raise TypeError('help_command must be a subclass of HelpCommand') + if self._help_command is not None: + self._help_command._remove_from_bot(self) + self._help_command = value + value._add_to_bot(self) + elif self._help_command is not None: + self._help_command._remove_from_bot(self) + self._help_command = None + else: + self._help_command = None + + # command processing + + async def get_prefix(self, message): + """|coro| + + Retrieves the prefix the bot is listening to + with the message as a context. + + Parameters + ----------- + message: :class:`discord.Message` + The message context to get the prefix of. + + Returns + -------- + Union[List[:class:`str`], :class:`str`] + A list of prefixes or a single prefix that the bot is + listening for. + """ + prefix = ret = self.command_prefix + if callable(prefix): + ret = await discord.utils.maybe_coroutine(prefix, self, message) + + if not isinstance(ret, str): + try: + ret = list(ret) + except TypeError: + # It's possible that a generator raised this exception. Don't + # replace it with our own error if that's the case. + if isinstance(ret, collections.Iterable): + raise + + raise TypeError("command_prefix must be plain string, iterable of strings, or callable " + "returning either of these, not {}".format(ret.__class__.__name__)) + + if not ret: + raise ValueError("Iterable command_prefix must contain at least one prefix") + + return ret + + async def get_context(self, message, *, cls=Context): + r"""|coro| + + Returns the invocation context from the message. + + This is a more low-level counter-part for :meth:`.process_commands` + to allow users more fine grained control over the processing. + + The returned context is not guaranteed to be a valid invocation + context, :attr:`.Context.valid` must be checked to make sure it is. + If the context is not valid then it is not a valid candidate to be + invoked under :meth:`~.Bot.invoke`. + + Parameters + ----------- + message: :class:`discord.Message` + The message to get the invocation context from. + cls + The factory class that will be used to create the context. + By default, this is :class:`.Context`. Should a custom + class be provided, it must be similar enough to :class:`.Context`\'s + interface. + + Returns + -------- + :class:`.Context` + The invocation context. The type of this can change via the + ``cls`` parameter. + """ + + view = StringView(message.content) + ctx = cls(prefix=None, view=view, bot=self, message=message) + + if self._skip_check(message.author.id, self.user.id): + return ctx + + prefix = await self.get_prefix(message) + invoked_prefix = prefix + + if isinstance(prefix, str): + if not view.skip_string(prefix): + return ctx + else: + try: + # if the context class' __init__ consumes something from the view this + # will be wrong. That seems unreasonable though. + if message.content.startswith(tuple(prefix)): + invoked_prefix = discord.utils.find(view.skip_string, prefix) + else: + return ctx + + except TypeError: + if not isinstance(prefix, list): + raise TypeError("get_prefix must return either a string or a list of string, " + "not {}".format(prefix.__class__.__name__)) + + # It's possible a bad command_prefix got us here. + for value in prefix: + if not isinstance(value, str): + raise TypeError("Iterable command_prefix or list returned from get_prefix must " + "contain only strings, not {}".format(value.__class__.__name__)) + + # Getting here shouldn't happen + raise + + invoker = view.get_word() + ctx.invoked_with = invoker + ctx.prefix = invoked_prefix + ctx.command = self.all_commands.get(invoker) + return ctx + + async def invoke(self, ctx): + """|coro| + + Invokes the command given under the invocation context and + handles all the internal event dispatch mechanisms. + + Parameters + ----------- + ctx: :class:`.Context` + The invocation context to invoke. + """ + if ctx.command is not None: + self.dispatch('command', ctx) + try: + if await self.can_run(ctx, call_once=True): + await ctx.command.invoke(ctx) + except errors.CommandError as exc: + await ctx.command.dispatch_error(ctx, exc) + else: + self.dispatch('command_completion', ctx) + elif ctx.invoked_with: + exc = errors.CommandNotFound('Command "{}" is not found'.format(ctx.invoked_with)) + self.dispatch('command_error', ctx, exc) + + async def process_commands(self, message): + """|coro| + + This function processes the commands that have been registered + to the bot and other groups. Without this coroutine, none of the + commands will be triggered. + + By default, this coroutine is called inside the :func:`.on_message` + event. If you choose to override the :func:`.on_message` event, then + you should invoke this coroutine as well. + + This is built using other low level tools, and is equivalent to a + call to :meth:`~.Bot.get_context` followed by a call to :meth:`~.Bot.invoke`. + + This also checks if the message's author is a bot and doesn't + call :meth:`~.Bot.get_context` or :meth:`~.Bot.invoke` if so. + + Parameters + ----------- + message: :class:`discord.Message` + The message to process commands for. + """ + if message.author.bot: + return + + ctx = await self.get_context(message) + await self.invoke(ctx) + + async def on_message(self, message): + await self.process_commands(message) + +class Bot(BotBase, discord.Client): + """Represents a discord bot. + + This class is a subclass of :class:`discord.Client` and as a result + anything that you can do with a :class:`discord.Client` you can do with + this bot. + + .. _deque: https://docs.python.org/3.4/library/collections.html#collections.deque + .. _event loop: https://docs.python.org/3/library/asyncio-eventloops.html + + This class also subclasses :class:`.GroupMixin` to provide the functionality + to manage commands. + + Attributes + ----------- + command_prefix + The command prefix is what the message content must contain initially + to have a command invoked. This prefix could either be a string to + indicate what the prefix should be, or a callable that takes in the bot + as its first parameter and :class:`discord.Message` as its second + parameter and returns the prefix. This is to facilitate "dynamic" + command prefixes. This callable can be either a regular function or + a coroutine. + + An empty string as the prefix always matches, enabling prefix-less + command invocation. While this may be useful in DMs it should be avoided + in servers, as it's likely to cause performance issues and unintended + command invocations. + + The command prefix could also be an iterable of strings indicating that + multiple checks for the prefix should be used and the first one to + match will be the invocation prefix. You can get this prefix via + :attr:`.Context.prefix`. To avoid confusion empty iterables are not + allowed. + + .. note:: + + When passing multiple prefixes be careful to not pass a prefix + that matches a longer prefix occurring later in the sequence. For + example, if the command prefix is ``('!', '!?')`` the ``'!?'`` + prefix will never be matched to any message as the previous one + matches messages starting with ``!?``. This is especially important + when passing an empty string, it should always be last as no prefix + after it will be matched. + case_insensitive: :class:`bool` + Whether the commands should be case insensitive. Defaults to ``False``. This + attribute does not carry over to groups. You must set it to every group if + you require group commands to be case insensitive as well. + description: :class:`str` + The content prefixed into the default help message. + self_bot: :class:`bool` + If ``True``, the bot will only listen to commands invoked by itself rather + than ignoring itself. If ``False`` (the default) then the bot will ignore + itself. This cannot be changed once initialised. + help_command: Optional[:class:`.HelpCommand`] + The help command implementation to use. This can be dynamically + set at runtime. To remove the help command pass ``None``. For more + information on implementing a help command, see :ref:`ext_commands_help_command`. + owner_id: Optional[:class:`int`] + The ID that owns the bot. If this is not set and is then queried via + :meth:`.is_owner` then it is fetched automatically using + :meth:`~.Bot.application_info`. + """ + pass + +class AutoShardedBot(BotBase, discord.AutoShardedClient): + """This is similar to :class:`.Bot` except that it is inherited from + :class:`discord.AutoShardedClient` instead. + """ + pass diff --git a/venv/lib/python3.6/site-packages/discord/ext/commands/cog.py b/venv/lib/python3.6/site-packages/discord/ext/commands/cog.py new file mode 100644 index 0000000..6d5be62 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/commands/cog.py @@ -0,0 +1,411 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import inspect +import copy +from ._types import _BaseCommand + +__all__ = ('CogMeta', 'Cog') + +class CogMeta(type): + """A metaclass for defining a cog. + + Note that you should probably not use this directly. It is exposed + purely for documentation purposes along with making custom metaclasses to intermix + with other metaclasses such as the :class:`abc.ABCMeta` metaclass. + + For example, to create an abstract cog mixin class, the following would be done. + + .. code-block:: python3 + + import abc + + class CogABCMeta(commands.CogMeta, abc.ABCMeta): + pass + + class SomeMixin(metaclass=abc.ABCMeta): + pass + + class SomeCogMixin(SomeMixin, commands.Cog, metaclass=CogABCMeta): + pass + + .. note:: + + When passing an attribute of a metaclass that is documented below, note + that you must pass it as a keyword-only argument to the class creation + like the following example: + + .. code-block:: python3 + + class MyCog(commands.Cog, name='My Cog'): + pass + + Attributes + ----------- + name: :class:`str` + The cog name. By default, it is the name of the class with no modification. + command_attrs: :class:`dict` + A list of attributes to apply to every command inside this cog. The dictionary + is passed into the :class:`Command` (or its subclass) options at ``__init__``. + If you specify attributes inside the command attribute in the class, it will + override the one specified inside this attribute. For example: + + .. code-block:: python3 + + class MyCog(commands.Cog, command_attrs=dict(hidden=True)): + @commands.command() + async def foo(self, ctx): + pass # hidden -> True + + @commands.command(hidden=False) + async def bar(self, ctx): + pass # hidden -> False + """ + + def __new__(cls, *args, **kwargs): + name, bases, attrs = args + attrs['__cog_name__'] = kwargs.pop('name', name) + attrs['__cog_settings__'] = command_attrs = kwargs.pop('command_attrs', {}) + + commands = {} + listeners = {} + no_bot_cog = 'Commands or listeners must not start with cog_ or bot_ (in method {0.__name__}.{1})' + + new_cls = super().__new__(cls, name, bases, attrs, **kwargs) + for base in reversed(new_cls.__mro__): + for elem, value in base.__dict__.items(): + if elem in commands: + del commands[elem] + if elem in listeners: + del listeners[elem] + + is_static_method = isinstance(value, staticmethod) + if is_static_method: + value = value.__func__ + if isinstance(value, _BaseCommand): + if is_static_method: + raise TypeError('Command in method {0}.{1!r} must not be staticmethod.'.format(base, elem)) + if elem.startswith(('cog_', 'bot_')): + raise TypeError(no_bot_cog.format(base, elem)) + commands[elem] = value + elif inspect.iscoroutinefunction(value): + try: + is_listener = getattr(value, '__cog_listener__') + except AttributeError: + continue + else: + if elem.startswith(('cog_', 'bot_')): + raise TypeError(no_bot_cog.format(base, elem)) + listeners[elem] = value + + new_cls.__cog_commands__ = list(commands.values()) # this will be copied in Cog.__new__ + + listeners_as_list = [] + for listener in listeners.values(): + for listener_name in listener.__cog_listener_names__: + # I use __name__ instead of just storing the value so I can inject + # the self attribute when the time comes to add them to the bot + listeners_as_list.append((listener_name, listener.__name__)) + + new_cls.__cog_listeners__ = listeners_as_list + return new_cls + + def __init__(self, *args, **kwargs): + super().__init__(*args) + + @classmethod + def qualified_name(cls): + return cls.__cog_name__ + +def _cog_special_method(func): + func.__cog_special_method__ = None + return func + +class Cog(metaclass=CogMeta): + """The base class that all cogs must inherit from. + + A cog is a collection of commands, listeners, and optional state to + help group commands together. More information on them can be found on + the :ref:`ext_commands_cogs` page. + + When inheriting from this class, the options shown in :class:`CogMeta` + are equally valid here. + """ + + def __new__(cls, *args, **kwargs): + # For issue 426, we need to store a copy of the command objects + # since we modify them to inject `self` to them. + # To do this, we need to interfere with the Cog creation process. + self = super().__new__(cls) + cmd_attrs = cls.__cog_settings__ + + # Either update the command with the cog provided defaults or copy it. + self.__cog_commands__ = tuple(c._update_copy(cmd_attrs) for c in cls.__cog_commands__) + + lookup = { + cmd.qualified_name: cmd + for cmd in self.__cog_commands__ + } + + # Update the Command instances dynamically as well + for command in self.__cog_commands__: + setattr(self, command.callback.__name__, command) + parent = command.parent + if parent is not None: + # Get the latest parent reference + parent = lookup[parent.qualified_name] + + # Update our parent's reference to our self + removed = parent.remove_command(command.name) + parent.add_command(command) + + return self + + def get_commands(self): + r"""Returns a :class:`list` of :class:`.Command`\s that are + defined inside this cog. + + .. note:: + + This does not include subcommands. + """ + return [c for c in self.__cog_commands__ if c.parent is None] + + @property + def qualified_name(self): + """:class:`str`: Returns the cog's specified name, not the class name.""" + return self.__cog_name__ + + @property + def description(self): + """:class:`str`: Returns the cog's description, typically the cleaned docstring.""" + try: + return self.__cog_cleaned_doc__ + except AttributeError: + self.__cog_cleaned_doc__ = cleaned = inspect.getdoc(self) + return cleaned + + def walk_commands(self): + """An iterator that recursively walks through this cog's commands and subcommands.""" + from .core import GroupMixin + for command in self.__cog_commands__: + if command.parent is None: + yield command + if isinstance(command, GroupMixin): + yield from command.walk_commands() + + def get_listeners(self): + """Returns a :class:`list` of (name, function) listener pairs that are defined in this cog.""" + return [(name, getattr(self, method_name)) for name, method_name in self.__cog_listeners__] + + @classmethod + def _get_overridden_method(cls, method): + """Return None if the method is not overridden. Otherwise returns the overridden method.""" + return getattr(method.__func__, '__cog_special_method__', method) + + @classmethod + def listener(cls, name=None): + """A decorator that marks a function as a listener. + + This is the cog equivalent of :meth:`.Bot.listen`. + + Parameters + ------------ + name: :class:`str` + The name of the event being listened to. If not provided, it + defaults to the function's name. + + Raises + -------- + TypeError + The function is not a coroutine function or a string was not passed as + the name. + """ + + if name is not None and not isinstance(name, str): + raise TypeError('Cog.listener expected str but received {0.__class__.__name__!r} instead.'.format(name)) + + def decorator(func): + actual = func + if isinstance(actual, staticmethod): + actual = actual.__func__ + if not inspect.iscoroutinefunction(actual): + raise TypeError('Listener function must be a coroutine function.') + actual.__cog_listener__ = True + to_assign = name or actual.__name__ + try: + actual.__cog_listener_names__.append(to_assign) + except AttributeError: + actual.__cog_listener_names__ = [to_assign] + # we have to return `func` instead of `actual` because + # we need the type to be `staticmethod` for the metaclass + # to pick it up but the metaclass unfurls the function and + # thus the assignments need to be on the actual function + return func + return decorator + + @_cog_special_method + def cog_unload(self): + """A special method that is called when the cog gets removed. + + This function **cannot** be a coroutine. It must be a regular + function. + + Subclasses must replace this if they want special unloading behaviour. + """ + pass + + @_cog_special_method + def bot_check_once(self, ctx): + """A special method that registers as a :meth:`.Bot.check_once` + check. + + This function **can** be a coroutine and must take a sole parameter, + ``ctx``, to represent the :class:`.Context`. + """ + return True + + @_cog_special_method + def bot_check(self, ctx): + """A special method that registers as a :meth:`.Bot.check` + check. + + This function **can** be a coroutine and must take a sole parameter, + ``ctx``, to represent the :class:`.Context`. + """ + return True + + @_cog_special_method + def cog_check(self, ctx): + """A special method that registers as a :func:`commands.check` + for every command and subcommand in this cog. + + This function **can** be a coroutine and must take a sole parameter, + ``ctx``, to represent the :class:`.Context`. + """ + return True + + @_cog_special_method + def cog_command_error(self, ctx, error): + """A special method that is called whenever an error + is dispatched inside this cog. + + This is similar to :func:`.on_command_error` except only applying + to the commands inside this cog. + + This function **can** be a coroutine. + + Parameters + ----------- + ctx: :class:`.Context` + The invocation context where the error happened. + error: :class:`CommandError` + The error that happened. + """ + pass + + @_cog_special_method + async def cog_before_invoke(self, ctx): + """A special method that acts as a cog local pre-invoke hook. + + This is similar to :meth:`.Command.before_invoke`. + + This **must** be a coroutine. + + Parameters + ----------- + ctx: :class:`.Context` + The invocation context. + """ + pass + + @_cog_special_method + async def cog_after_invoke(self, ctx): + """A special method that acts as a cog local post-invoke hook. + + This is similar to :meth:`.Command.after_invoke`. + + This **must** be a coroutine. + + Parameters + ----------- + ctx: :class:`.Context` + The invocation context. + """ + pass + + def _inject(self, bot): + cls = self.__class__ + + # realistically, the only thing that can cause loading errors + # is essentially just the command loading, which raises if there are + # duplicates. When this condition is met, we want to undo all what + # we've added so far for some form of atomic loading. + for index, command in enumerate(self.__cog_commands__): + command.cog = self + if command.parent is None: + try: + bot.add_command(command) + except Exception as e: + # undo our additions + for to_undo in self.__cog_commands__[:index]: + bot.remove_command(to_undo) + raise e + + # check if we're overriding the default + if cls.bot_check is not Cog.bot_check: + bot.add_check(self.bot_check) + + if cls.bot_check_once is not Cog.bot_check_once: + bot.add_check(self.bot_check_once, call_once=True) + + # while Bot.add_listener can raise if it's not a coroutine, + # this precondition is already met by the listener decorator + # already, thus this should never raise. + # Outside of, memory errors and the like... + for name, method_name in self.__cog_listeners__: + bot.add_listener(getattr(self, method_name), name) + + return self + + def _eject(self, bot): + cls = self.__class__ + + try: + for command in self.__cog_commands__: + if command.parent is None: + bot.remove_command(command.name) + + for _, method_name in self.__cog_listeners__: + bot.remove_listener(getattr(self, method_name)) + + if cls.bot_check is not Cog.bot_check: + bot.remove_check(self.bot_check) + + if cls.bot_check_once is not Cog.bot_check_once: + bot.remove_check(self.bot_check_once, call_once=True) + finally: + self.cog_unload() diff --git a/venv/lib/python3.6/site-packages/discord/ext/commands/context.py b/venv/lib/python3.6/site-packages/discord/ext/commands/context.py new file mode 100644 index 0000000..edce974 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/commands/context.py @@ -0,0 +1,291 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import discord.abc +import discord.utils + +class Context(discord.abc.Messageable): + r"""Represents the context in which a command is being invoked under. + + This class contains a lot of meta data to help you understand more about + the invocation context. This class is not created manually and is instead + passed around to commands as the first parameter. + + This class implements the :class:`abc.Messageable` ABC. + + Attributes + ----------- + message: :class:`.Message` + The message that triggered the command being executed. + bot: :class:`.Bot` + The bot that contains the command being executed. + args: :class:`list` + The list of transformed arguments that were passed into the command. + If this is accessed during the :func:`on_command_error` event + then this list could be incomplete. + kwargs: :class:`dict` + A dictionary of transformed arguments that were passed into the command. + Similar to :attr:`args`\, if this is accessed in the + :func:`on_command_error` event then this dict could be incomplete. + prefix: :class:`str` + The prefix that was used to invoke the command. + command + The command (i.e. :class:`.Command` or its subclasses) that is being + invoked currently. + invoked_with: :class:`str` + The command name that triggered this invocation. Useful for finding out + which alias called the command. + invoked_subcommand + The subcommand (i.e. :class:`.Command` or its subclasses) that was + invoked. If no valid subcommand was invoked then this is equal to + `None`. + subcommand_passed: Optional[:class:`str`] + The string that was attempted to call a subcommand. This does not have + to point to a valid registered subcommand and could just point to a + nonsense string. If nothing was passed to attempt a call to a + subcommand then this is set to `None`. + command_failed: :class:`bool` + A boolean that indicates if the command failed to be parsed, checked, + or invoked. + """ + + def __init__(self, **attrs): + self.message = attrs.pop('message', None) + self.bot = attrs.pop('bot', None) + self.args = attrs.pop('args', []) + self.kwargs = attrs.pop('kwargs', {}) + self.prefix = attrs.pop('prefix') + self.command = attrs.pop('command', None) + self.view = attrs.pop('view', None) + self.invoked_with = attrs.pop('invoked_with', None) + self.invoked_subcommand = attrs.pop('invoked_subcommand', None) + self.subcommand_passed = attrs.pop('subcommand_passed', None) + self.command_failed = attrs.pop('command_failed', False) + self._state = self.message._state + + async def invoke(self, *args, **kwargs): + r"""|coro| + + Calls a command with the arguments given. + + This is useful if you want to just call the callback that a + :class:`.Command` holds internally. + + Note + ------ + You do not pass in the context as it is done for you. + + Warning + --------- + The first parameter passed **must** be the command being invoked. + + Parameters + ----------- + command: :class:`.Command` + A command or subclass of a command that is going to be called. + \*args + The arguments to to use. + \*\*kwargs + The keyword arguments to use. + """ + + try: + command = args[0] + except IndexError: + raise TypeError('Missing command to invoke.') from None + + arguments = [] + if command.cog is not None: + arguments.append(command.cog) + + arguments.append(self) + arguments.extend(args[1:]) + + ret = await command.callback(*arguments, **kwargs) + return ret + + async def reinvoke(self, *, call_hooks=False, restart=True): + """|coro| + + Calls the command again. + + This is similar to :meth:`~.Context.invoke` except that it bypasses + checks, cooldowns, and error handlers. + + .. note:: + + If you want to bypass :exc:`.UserInputError` derived exceptions, + it is recommended to use the regular :meth:`~.Context.invoke` + as it will work more naturally. After all, this will end up + using the old arguments the user has used and will thus just + fail again. + + Parameters + ------------ + call_hooks: :class:`bool` + Whether to call the before and after invoke hooks. + restart: :class:`bool` + Whether to start the call chain from the very beginning + or where we left off (i.e. the command that caused the error). + The default is to start where we left off. + """ + cmd = self.command + view = self.view + if cmd is None: + raise ValueError('This context is not valid.') + + # some state to revert to when we're done + index, previous = view.index, view.previous + invoked_with = self.invoked_with + invoked_subcommand = self.invoked_subcommand + subcommand_passed = self.subcommand_passed + + if restart: + to_call = cmd.root_parent or cmd + view.index = len(self.prefix) + view.previous = 0 + view.get_word() # advance to get the root command + else: + to_call = cmd + + try: + await to_call.reinvoke(self, call_hooks=call_hooks) + finally: + self.command = cmd + view.index = index + view.previous = previous + self.invoked_with = invoked_with + self.invoked_subcommand = invoked_subcommand + self.subcommand_passed = subcommand_passed + + @property + def valid(self): + """Checks if the invocation context is valid to be invoked with.""" + return self.prefix is not None and self.command is not None + + async def _get_channel(self): + return self.channel + + @property + def cog(self): + """Returns the cog associated with this context's command. None if it does not exist.""" + + if self.command is None: + return None + return self.command.cog + + @discord.utils.cached_property + def guild(self): + """Returns the guild associated with this context's command. None if not available.""" + return self.message.guild + + @discord.utils.cached_property + def channel(self): + """Returns the channel associated with this context's command. Shorthand for :attr:`.Message.channel`.""" + return self.message.channel + + @discord.utils.cached_property + def author(self): + """Returns the author associated with this context's command. Shorthand for :attr:`.Message.author`""" + return self.message.author + + @discord.utils.cached_property + def me(self): + """Similar to :attr:`.Guild.me` except it may return the :class:`.ClientUser` in private message contexts.""" + return self.guild.me if self.guild is not None else self.bot.user + + @property + def voice_client(self): + r"""Optional[:class:`.VoiceClient`]: A shortcut to :attr:`.Guild.voice_client`\, if applicable.""" + g = self.guild + return g.voice_client if g else None + + async def send_help(self, *args): + """send_help(entity=<bot>) + + |coro| + + Shows the help command for the specified entity if given. + The entity can be a command or a cog. + + If no entity is given, then it'll show help for the + entire bot. + + If the entity is a string, then it looks up whether it's a + :class:`Cog` or a :class:`Command`. + + .. note:: + + Due to the way this function works, instead of returning + something similar to :meth:`~.commands.HelpCommand.command_not_found` + this returns :class:`None` on bad input or no help command. + + Parameters + ------------ + entity: Optional[Union[:class:`Command`, :class:`Cog`, :class:`str`]] + The entity to show help for. + + Returns + -------- + Any + The result of the help command, if any. + """ + from .core import Group, Command + + bot = self.bot + cmd = bot.help_command + + if cmd is None: + return None + + if len(args) == 0: + await cmd.prepare_help_command(self, None) + mapping = cmd.get_bot_mapping() + return await cmd.send_bot_help(mapping) + + entity = args[0] + if entity is None: + return None + + if isinstance(entity, str): + entity = bot.get_cog(entity) or bot.get_command(entity) + + try: + qualified_name = entity.qualified_name + except AttributeError: + # if we're here then it's not a cog, group, or command. + return None + + await cmd.prepare_help_command(self, entity.qualified_name) + + if hasattr(entity, '__cog_commands__'): + return await cmd.send_cog_help(entity) + elif isinstance(entity, Group): + return await cmd.send_group_help(entity) + elif isinstance(entity, Command): + return await cmd.send_command_help(entity) + else: + return None diff --git a/venv/lib/python3.6/site-packages/discord/ext/commands/converter.py b/venv/lib/python3.6/site-packages/discord/ext/commands/converter.py new file mode 100644 index 0000000..0ca9096 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/commands/converter.py @@ -0,0 +1,503 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import re +import inspect + +import discord + +from .errors import BadArgument, NoPrivateMessage + +__all__ = ['Converter', 'MemberConverter', 'UserConverter', + 'TextChannelConverter', 'InviteConverter', 'RoleConverter', + 'GameConverter', 'ColourConverter', 'VoiceChannelConverter', + 'EmojiConverter', 'PartialEmojiConverter', 'CategoryChannelConverter', + 'IDConverter', 'clean_content', 'Greedy'] + +def _get_from_guilds(bot, getter, argument): + result = None + for guild in bot.guilds: + result = getattr(guild, getter)(argument) + if result: + return result + return result + +class Converter: + """The base class of custom converters that require the :class:`.Context` + to be passed to be useful. + + This allows you to implement converters that function similar to the + special cased ``discord`` classes. + + Classes that derive from this should override the :meth:`~.Converter.convert` + method to do its conversion logic. This method must be a coroutine. + """ + + async def convert(self, ctx, argument): + """|coro| + + The method to override to do conversion logic. + + If an error is found while converting, it is recommended to + raise a :exc:`.CommandError` derived exception as it will + properly propagate to the error handlers. + + Parameters + ----------- + ctx: :class:`.Context` + The invocation context that the argument is being used in. + argument: :class:`str` + The argument that is being converted. + """ + raise NotImplementedError('Derived classes need to implement this.') + +class IDConverter(Converter): + def __init__(self): + self._id_regex = re.compile(r'([0-9]{15,21})$') + super().__init__() + + def _get_id_match(self, argument): + return self._id_regex.match(argument) + +class MemberConverter(IDConverter): + """Converts to a :class:`Member`. + + All lookups are via the local guild. If in a DM context, then the lookup + is done by the global cache. + + The lookup strategy is as follows (in order): + + 1. Lookup by ID. + 2. Lookup by mention. + 3. Lookup by name#discrim + 4. Lookup by name + 5. Lookup by nickname + """ + + async def convert(self, ctx, argument): + bot = ctx.bot + match = self._get_id_match(argument) or re.match(r'<@!?([0-9]+)>$', argument) + guild = ctx.guild + result = None + if match is None: + # not a mention... + if guild: + result = guild.get_member_named(argument) + else: + result = _get_from_guilds(bot, 'get_member_named', argument) + else: + user_id = int(match.group(1)) + if guild: + result = guild.get_member(user_id) + else: + result = _get_from_guilds(bot, 'get_member', user_id) + + if result is None: + raise BadArgument('Member "{}" not found'.format(argument)) + + return result + +class UserConverter(IDConverter): + """Converts to a :class:`User`. + + All lookups are via the global user cache. + + The lookup strategy is as follows (in order): + + 1. Lookup by ID. + 2. Lookup by mention. + 3. Lookup by name#discrim + 4. Lookup by name + """ + async def convert(self, ctx, argument): + match = self._get_id_match(argument) or re.match(r'<@!?([0-9]+)>$', argument) + result = None + state = ctx._state + + if match is not None: + user_id = int(match.group(1)) + result = ctx.bot.get_user(user_id) + else: + arg = argument + # check for discriminator if it exists + if len(arg) > 5 and arg[-5] == '#': + discrim = arg[-4:] + name = arg[:-5] + predicate = lambda u: u.name == name and u.discriminator == discrim + result = discord.utils.find(predicate, state._users.values()) + if result is not None: + return result + + predicate = lambda u: u.name == arg + result = discord.utils.find(predicate, state._users.values()) + + if result is None: + raise BadArgument('User "{}" not found'.format(argument)) + + return result + +class TextChannelConverter(IDConverter): + """Converts to a :class:`TextChannel`. + + All lookups are via the local guild. If in a DM context, then the lookup + is done by the global cache. + + The lookup strategy is as follows (in order): + + 1. Lookup by ID. + 2. Lookup by mention. + 3. Lookup by name + """ + async def convert(self, ctx, argument): + bot = ctx.bot + + match = self._get_id_match(argument) or re.match(r'<#([0-9]+)>$', argument) + result = None + guild = ctx.guild + + if match is None: + # not a mention + if guild: + result = discord.utils.get(guild.text_channels, name=argument) + else: + def check(c): + return isinstance(c, discord.TextChannel) and c.name == argument + result = discord.utils.find(check, bot.get_all_channels()) + else: + channel_id = int(match.group(1)) + if guild: + result = guild.get_channel(channel_id) + else: + result = _get_from_guilds(bot, 'get_channel', channel_id) + + if not isinstance(result, discord.TextChannel): + raise BadArgument('Channel "{}" not found.'.format(argument)) + + return result + +class VoiceChannelConverter(IDConverter): + """Converts to a :class:`VoiceChannel`. + + All lookups are via the local guild. If in a DM context, then the lookup + is done by the global cache. + + The lookup strategy is as follows (in order): + + 1. Lookup by ID. + 2. Lookup by mention. + 3. Lookup by name + """ + async def convert(self, ctx, argument): + bot = ctx.bot + match = self._get_id_match(argument) or re.match(r'<#([0-9]+)>$', argument) + result = None + guild = ctx.guild + + if match is None: + # not a mention + if guild: + result = discord.utils.get(guild.voice_channels, name=argument) + else: + def check(c): + return isinstance(c, discord.VoiceChannel) and c.name == argument + result = discord.utils.find(check, bot.get_all_channels()) + else: + channel_id = int(match.group(1)) + if guild: + result = guild.get_channel(channel_id) + else: + result = _get_from_guilds(bot, 'get_channel', channel_id) + + if not isinstance(result, discord.VoiceChannel): + raise BadArgument('Channel "{}" not found.'.format(argument)) + + return result + +class CategoryChannelConverter(IDConverter): + """Converts to a :class:`CategoryChannel`. + + All lookups are via the local guild. If in a DM context, then the lookup + is done by the global cache. + + The lookup strategy is as follows (in order): + + 1. Lookup by ID. + 2. Lookup by mention. + 3. Lookup by name + """ + async def convert(self, ctx, argument): + bot = ctx.bot + + match = self._get_id_match(argument) or re.match(r'<#([0-9]+)>$', argument) + result = None + guild = ctx.guild + + if match is None: + # not a mention + if guild: + result = discord.utils.get(guild.categories, name=argument) + else: + def check(c): + return isinstance(c, discord.CategoryChannel) and c.name == argument + result = discord.utils.find(check, bot.get_all_channels()) + else: + channel_id = int(match.group(1)) + if guild: + result = guild.get_channel(channel_id) + else: + result = _get_from_guilds(bot, 'get_channel', channel_id) + + if not isinstance(result, discord.CategoryChannel): + raise BadArgument('Channel "{}" not found.'.format(argument)) + + return result + +class ColourConverter(Converter): + """Converts to a :class:`Colour`. + + The following formats are accepted: + + - ``0x<hex>`` + - ``#<hex>`` + - ``0x#<hex>`` + - Any of the ``classmethod`` in :class:`Colour` + + - The ``_`` in the name can be optionally replaced with spaces. + """ + async def convert(self, ctx, argument): + arg = argument.replace('0x', '').lower() + + if arg[0] == '#': + arg = arg[1:] + try: + value = int(arg, base=16) + if not (0 <= value <= 0xFFFFFF): + raise BadArgument('Colour "{}" is invalid.'.format(arg)) + return discord.Colour(value=value) + except ValueError: + arg = arg.replace(' ', '_') + method = getattr(discord.Colour, arg, None) + if arg.startswith('from_') or method is None or not inspect.ismethod(method): + raise BadArgument('Colour "{}" is invalid.'.format(arg)) + return method() + +class RoleConverter(IDConverter): + """Converts to a :class:`Role`. + + All lookups are via the local guild. If in a DM context, then the lookup + is done by the global cache. + + The lookup strategy is as follows (in order): + + 1. Lookup by ID. + 2. Lookup by mention. + 3. Lookup by name + """ + async def convert(self, ctx, argument): + guild = ctx.guild + if not guild: + raise NoPrivateMessage() + + match = self._get_id_match(argument) or re.match(r'<@&([0-9]+)>$', argument) + if match: + result = guild.get_role(int(match.group(1))) + else: + result = discord.utils.get(guild._roles.values(), name=argument) + + if result is None: + raise BadArgument('Role "{}" not found.'.format(argument)) + return result + +class GameConverter(Converter): + """Converts to :class:`Game`.""" + async def convert(self, ctx, argument): + return discord.Game(name=argument) + +class InviteConverter(Converter): + """Converts to a :class:`Invite`. + + This is done via an HTTP request using :meth:`.Bot.fetch_invite`. + """ + async def convert(self, ctx, argument): + try: + invite = await ctx.bot.fetch_invite(argument) + return invite + except Exception as exc: + raise BadArgument('Invite is invalid or expired') from exc + +class EmojiConverter(IDConverter): + """Converts to a :class:`Emoji`. + + All lookups are done for the local guild first, if available. If that lookup + fails, then it checks the client's global cache. + + The lookup strategy is as follows (in order): + + 1. Lookup by ID. + 2. Lookup by extracting ID from the emoji. + 3. Lookup by name + """ + async def convert(self, ctx, argument): + match = self._get_id_match(argument) or re.match(r'<a?:[a-zA-Z0-9\_]+:([0-9]+)>$', argument) + result = None + bot = ctx.bot + guild = ctx.guild + + if match is None: + # Try to get the emoji by name. Try local guild first. + if guild: + result = discord.utils.get(guild.emojis, name=argument) + + if result is None: + result = discord.utils.get(bot.emojis, name=argument) + else: + emoji_id = int(match.group(1)) + + # Try to look up emoji by id. + if guild: + result = discord.utils.get(guild.emojis, id=emoji_id) + + if result is None: + result = discord.utils.get(bot.emojis, id=emoji_id) + + if result is None: + raise BadArgument('Emoji "{}" not found.'.format(argument)) + + return result + +class PartialEmojiConverter(Converter): + """Converts to a :class:`PartialEmoji`. + + This is done by extracting the animated flag, name and ID from the emoji. + """ + async def convert(self, ctx, argument): + match = re.match(r'<(a?):([a-zA-Z0-9\_]+):([0-9]+)>$', argument) + + if match: + emoji_animated = bool(match.group(1)) + emoji_name = match.group(2) + emoji_id = int(match.group(3)) + + return discord.PartialEmoji.with_state(ctx.bot._connection, animated=emoji_animated, name=emoji_name, + id=emoji_id) + + raise BadArgument('Couldn\'t convert "{}" to PartialEmoji.'.format(argument)) + +class clean_content(Converter): + """Converts the argument to mention scrubbed version of + said content. + + This behaves similarly to :attr:`.Message.clean_content`. + + Attributes + ------------ + fix_channel_mentions: :class:`bool` + Whether to clean channel mentions. + use_nicknames: :class:`bool` + Whether to use nicknames when transforming mentions. + escape_markdown: :class:`bool` + Whether to also escape special markdown characters. + """ + def __init__(self, *, fix_channel_mentions=False, use_nicknames=True, escape_markdown=False): + self.fix_channel_mentions = fix_channel_mentions + self.use_nicknames = use_nicknames + self.escape_markdown = escape_markdown + + async def convert(self, ctx, argument): + message = ctx.message + transformations = {} + + if self.fix_channel_mentions and ctx.guild: + def resolve_channel(id, *, _get=ctx.guild.get_channel): + ch = _get(id) + return ('<#%s>' % id), ('#' + ch.name if ch else '#deleted-channel') + + transformations.update(resolve_channel(channel) for channel in message.raw_channel_mentions) + + if self.use_nicknames and ctx.guild: + def resolve_member(id, *, _get=ctx.guild.get_member): + m = _get(id) + return '@' + m.display_name if m else '@deleted-user' + else: + def resolve_member(id, *, _get=ctx.bot.get_user): + m = _get(id) + return '@' + m.name if m else '@deleted-user' + + + transformations.update( + ('<@%s>' % member_id, resolve_member(member_id)) + for member_id in message.raw_mentions + ) + + transformations.update( + ('<@!%s>' % member_id, resolve_member(member_id)) + for member_id in message.raw_mentions + ) + + if ctx.guild: + def resolve_role(_id, *, _find=ctx.guild.get_role): + r = _find(_id) + return '@' + r.name if r else '@deleted-role' + + transformations.update( + ('<@&%s>' % role_id, resolve_role(role_id)) + for role_id in message.raw_role_mentions + ) + + def repl(obj): + return transformations.get(obj.group(0), '') + + pattern = re.compile('|'.join(transformations.keys())) + result = pattern.sub(repl, argument) + + if self.escape_markdown: + result = discord.utils.escape_markdown(result) + + # Completely ensure no mentions escape: + return discord.utils.escape_mentions(result) + +class _Greedy: + __slots__ = ('converter',) + + def __init__(self, *, converter=None): + self.converter = converter + + def __getitem__(self, params): + if not isinstance(params, tuple): + params = (params,) + if len(params) != 1: + raise TypeError('Greedy[...] only takes a single argument') + converter = params[0] + + if not inspect.isclass(converter) and not isinstance(converter, Converter) and not hasattr(converter, '__origin__'): + raise TypeError('Greedy[...] expects a type or a Converter instance.') + + if converter is str or converter is type(None) or converter is _Greedy: + raise TypeError('Greedy[%s] is invalid.' % converter.__name__) + + return self.__class__(converter=converter) + +Greedy = _Greedy() diff --git a/venv/lib/python3.6/site-packages/discord/ext/commands/cooldowns.py b/venv/lib/python3.6/site-packages/discord/ext/commands/cooldowns.py new file mode 100644 index 0000000..9687d5f --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/commands/cooldowns.py @@ -0,0 +1,148 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import enum +import time + +__all__ = ['BucketType', 'Cooldown', 'CooldownMapping'] + +class BucketType(enum.Enum): + default = 0 + user = 1 + guild = 2 + channel = 3 + member = 4 + category = 5 + +class Cooldown: + __slots__ = ('rate', 'per', 'type', '_window', '_tokens', '_last') + + def __init__(self, rate, per, type): + self.rate = int(rate) + self.per = float(per) + self.type = type + self._window = 0.0 + self._tokens = self.rate + self._last = 0.0 + + if not isinstance(self.type, BucketType): + raise TypeError('Cooldown type must be a BucketType') + + def get_tokens(self, current=None): + if not current: + current = time.time() + + tokens = self._tokens + + if current > self._window + self.per: + tokens = self.rate + return tokens + + def update_rate_limit(self): + current = time.time() + self._last = current + + self._tokens = self.get_tokens(current) + + # first token used means that we start a new rate limit window + if self._tokens == self.rate: + self._window = current + + # check if we are rate limited + if self._tokens == 0: + return self.per - (current - self._window) + + # we're not so decrement our tokens + self._tokens -= 1 + + # see if we got rate limited due to this token change, and if + # so update the window to point to our current time frame + if self._tokens == 0: + self._window = current + + def reset(self): + self._tokens = self.rate + self._last = 0.0 + + def copy(self): + return Cooldown(self.rate, self.per, self.type) + + def __repr__(self): + return '<Cooldown rate: {0.rate} per: {0.per} window: {0._window} tokens: {0._tokens}>'.format(self) + +class CooldownMapping: + def __init__(self, original): + self._cache = {} + self._cooldown = original + + def copy(self): + ret = CooldownMapping(self._cooldown) + ret._cache = self._cache.copy() + return ret + + @property + def valid(self): + return self._cooldown is not None + + @classmethod + def from_cooldown(cls, rate, per, type): + return cls(Cooldown(rate, per, type)) + + def _bucket_key(self, msg): + bucket_type = self._cooldown.type + if bucket_type is BucketType.user: + return msg.author.id + elif bucket_type is BucketType.guild: + return (msg.guild or msg.author).id + elif bucket_type is BucketType.channel: + return msg.channel.id + elif bucket_type is BucketType.member: + return ((msg.guild and msg.guild.id), msg.author.id) + elif bucket_type is BucketType.category: + return (msg.channel.category or msg.channel).id + + def _verify_cache_integrity(self): + # we want to delete all cache objects that haven't been used + # in a cooldown window. e.g. if we have a command that has a + # cooldown of 60s and it has not been used in 60s then that key should be deleted + current = time.time() + dead_keys = [k for k, v in self._cache.items() if current > v._last + v.per] + for k in dead_keys: + del self._cache[k] + + def get_bucket(self, message): + if self._cooldown.type is BucketType.default: + return self._cooldown + + self._verify_cache_integrity() + key = self._bucket_key(message) + if key not in self._cache: + bucket = self._cooldown.copy() + self._cache[key] = bucket + else: + bucket = self._cache[key] + + return bucket diff --git a/venv/lib/python3.6/site-packages/discord/ext/commands/core.py b/venv/lib/python3.6/site-packages/discord/ext/commands/core.py new file mode 100644 index 0000000..e0357f3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/commands/core.py @@ -0,0 +1,1513 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import asyncio +import functools +import inspect +import typing + +import discord + +from .errors import * +from .cooldowns import Cooldown, BucketType, CooldownMapping +from . import converter as converters +from ._types import _BaseCommand +from .cog import Cog + +__all__ = ['Command', 'Group', 'GroupMixin', 'command', 'group', + 'has_role', 'has_permissions', 'has_any_role', 'check', + 'bot_has_role', 'bot_has_permissions', 'bot_has_any_role', + 'cooldown', 'guild_only', 'is_owner', 'is_nsfw'] + +def wrap_callback(coro): + @functools.wraps(coro) + async def wrapped(*args, **kwargs): + try: + ret = await coro(*args, **kwargs) + except CommandError: + raise + except asyncio.CancelledError: + return + except Exception as exc: + raise CommandInvokeError(exc) from exc + return ret + return wrapped + +def hooked_wrapped_callback(command, ctx, coro): + @functools.wraps(coro) + async def wrapped(*args, **kwargs): + try: + ret = await coro(*args, **kwargs) + except CommandError: + ctx.command_failed = True + raise + except asyncio.CancelledError: + ctx.command_failed = True + return + except Exception as exc: + ctx.command_failed = True + raise CommandInvokeError(exc) from exc + finally: + await command.call_after_hooks(ctx) + return ret + return wrapped + +def _convert_to_bool(argument): + lowered = argument.lower() + if lowered in ('yes', 'y', 'true', 't', '1', 'enable', 'on'): + return True + elif lowered in ('no', 'n', 'false', 'f', '0', 'disable', 'off'): + return False + else: + raise BadArgument(lowered + ' is not a recognised boolean option') + +class _CaseInsensitiveDict(dict): + def __contains__(self, k): + return super().__contains__(k.lower()) + + def __delitem__(self, k): + return super().__delitem__(k.lower()) + + def __getitem__(self, k): + return super().__getitem__(k.lower()) + + def get(self, k, default=None): + return super().get(k.lower(), default) + + def pop(self, k, default=None): + return super().pop(k.lower(), default) + + def __setitem__(self, k, v): + super().__setitem__(k.lower(), v) + +class Command(_BaseCommand): + r"""A class that implements the protocol for a bot text command. + + These are not created manually, instead they are created via the + decorator or functional interface. + + Attributes + ----------- + name: :class:`str` + The name of the command. + callback: :ref:`coroutine <coroutine>` + The coroutine that is executed when the command is called. + help: :class:`str` + The long help text for the command. + brief: :class:`str` + The short help text for the command. If this is not specified + then the first line of the long help text is used instead. + usage: :class:`str` + A replacement for arguments in the default help text. + aliases: :class:`list` + The list of aliases the command can be invoked under. + enabled: :class:`bool` + A boolean that indicates if the command is currently enabled. + If the command is invoked while it is disabled, then + :exc:`.DisabledCommand` is raised to the :func:`.on_command_error` + event. Defaults to ``True``. + parent: Optional[command] + The parent command that this command belongs to. ``None`` if there + isn't one. + checks + A list of predicates that verifies if the command could be executed + with the given :class:`.Context` as the sole parameter. If an exception + is necessary to be thrown to signal failure, then one inherited from + :exc:`.CommandError` should be used. Note that if the checks fail then + :exc:`.CheckFailure` exception is raised to the :func:`.on_command_error` + event. + description: :class:`str` + The message prefixed into the default help command. + hidden: :class:`bool` + If ``True``\, the default help command does not show this in the + help output. + rest_is_raw: :class:`bool` + If ``False`` and a keyword-only argument is provided then the keyword + only argument is stripped and handled as if it was a regular argument + that handles :exc:`.MissingRequiredArgument` and default values in a + regular matter rather than passing the rest completely raw. If ``True`` + then the keyword-only argument will pass in the rest of the arguments + in a completely raw matter. Defaults to ``False``. + ignore_extra: :class:`bool` + If ``True``\, ignores extraneous strings passed to a command if all its + requirements are met (e.g. ``?foo a b c`` when only expecting ``a`` + and ``b``). Otherwise :func:`.on_command_error` and local error handlers + are called with :exc:`.TooManyArguments`. Defaults to ``True``. + cooldown_after_parsing: :class:`bool` + If ``True``\, cooldown processing is done after argument parsing, + which calls converters. If ``False`` then cooldown processing is done + first and then the converters are called second. Defaults to ``False``. + """ + + def __new__(cls, *args, **kwargs): + # if you're wondering why this is done, it's because we need to ensure + # we have a complete original copy of **kwargs even for classes that + # mess with it by popping before delegating to the subclass __init__. + # In order to do this, we need to control the instance creation and + # inject the original kwargs through __new__ rather than doing it + # inside __init__. + self = super().__new__(cls) + + # we do a shallow copy because it's probably the most common use case. + # this could potentially break if someone modifies a list or something + # while it's in movement, but for now this is the cheapest and + # fastest way to do what we want. + self.__original_kwargs__ = kwargs.copy() + return self + + def __init__(self, func, **kwargs): + if not asyncio.iscoroutinefunction(func): + raise TypeError('Callback must be a coroutine.') + + self.name = name = kwargs.get('name') or func.__name__ + if not isinstance(name, str): + raise TypeError('Name of a command must be a string.') + + self.callback = func + self.enabled = kwargs.get('enabled', True) + + help_doc = kwargs.get('help') + if help_doc is not None: + help_doc = inspect.cleandoc(help_doc) + else: + help_doc = inspect.getdoc(func) + if isinstance(help_doc, bytes): + help_doc = help_doc.decode('utf-8') + + self.help = help_doc + + self.brief = kwargs.get('brief') + self.usage = kwargs.get('usage') + self.rest_is_raw = kwargs.get('rest_is_raw', False) + self.aliases = kwargs.get('aliases', []) + + if not isinstance(self.aliases, (list, tuple)): + raise TypeError("Aliases of a command must be a list of strings.") + + self.description = inspect.cleandoc(kwargs.get('description', '')) + self.hidden = kwargs.get('hidden', False) + + try: + checks = func.__commands_checks__ + checks.reverse() + except AttributeError: + checks = kwargs.get('checks', []) + finally: + self.checks = checks + + try: + cooldown = func.__commands_cooldown__ + except AttributeError: + cooldown = kwargs.get('cooldown') + finally: + self._buckets = CooldownMapping(cooldown) + + self.ignore_extra = kwargs.get('ignore_extra', True) + self.cooldown_after_parsing = kwargs.get('cooldown_after_parsing', False) + self.cog = None + + # bandaid for the fact that sometimes parent can be the bot instance + parent = kwargs.get('parent') + self.parent = parent if isinstance(parent, _BaseCommand) else None + self._before_invoke = None + self._after_invoke = None + + @property + def callback(self): + return self._callback + + @callback.setter + def callback(self, function): + self._callback = function + self.module = function.__module__ + + signature = inspect.signature(function) + self.params = signature.parameters.copy() + + # PEP-563 allows postponing evaluation of annotations with a __future__ + # import. When postponed, Parameter.annotation will be a string and must + # be replaced with the real value for the converters to work later on + for key, value in self.params.items(): + if isinstance(value.annotation, str): + self.params[key] = value = value.replace(annotation=eval(value.annotation, function.__globals__)) + + # fail early for when someone passes an unparameterized Greedy type + if value.annotation is converters.Greedy: + raise TypeError('Unparameterized Greedy[...] is disallowed in signature.') + + def update(self, **kwargs): + """Updates :class:`Command` instance with updated attribute. + + This works similarly to the :func:`.command` decorator in terms + of parameters in that they are passed to the :class:`Command` or + subclass constructors, sans the name and callback. + """ + self.__init__(self.callback, **dict(self.__original_kwargs__, **kwargs)) + + def _ensure_assignment_on_copy(self, other): + other._before_invoke = self._before_invoke + other._after_invoke = self._after_invoke + if self.checks != other.checks: + other.checks = self.checks.copy() + if self._buckets != other._buckets: + other._buckets = self._buckets.copy() + try: + other.on_error = self.on_error + except AttributeError: + pass + return other + + def copy(self): + """Creates a copy of this :class:`Command`.""" + ret = self.__class__(self.callback, **self.__original_kwargs__) + return self._ensure_assignment_on_copy(ret) + + def _update_copy(self, kwargs): + if kwargs: + copy = self.__class__(self.callback, **kwargs) + copy.update(**self.__original_kwargs__) + return self._ensure_assignment_on_copy(copy) + else: + return self.copy() + + async def dispatch_error(self, ctx, error): + ctx.command_failed = True + cog = self.cog + try: + coro = self.on_error + except AttributeError: + pass + else: + injected = wrap_callback(coro) + if cog is not None: + await injected(cog, ctx, error) + else: + await injected(ctx, error) + + try: + if cog is not None: + local = Cog._get_overridden_method(cog.cog_command_error) + if local is not None: + wrapped = wrap_callback(local) + await wrapped(ctx, error) + finally: + ctx.bot.dispatch('command_error', ctx, error) + + async def _actual_conversion(self, ctx, converter, argument, param): + if converter is bool: + return _convert_to_bool(argument) + + try: + module = converter.__module__ + except AttributeError: + pass + else: + if module.startswith('discord.') and not module.endswith('converter'): + converter = getattr(converters, converter.__name__ + 'Converter') + + try: + if inspect.isclass(converter): + if issubclass(converter, converters.Converter): + instance = converter() + ret = await instance.convert(ctx, argument) + return ret + else: + method = getattr(converter, 'convert', None) + if method is not None and inspect.ismethod(method): + ret = await method(ctx, argument) + return ret + elif isinstance(converter, converters.Converter): + ret = await converter.convert(ctx, argument) + return ret + except CommandError: + raise + except Exception as exc: + raise ConversionError(converter, exc) from exc + + try: + return converter(argument) + except CommandError: + raise + except Exception as exc: + try: + name = converter.__name__ + except AttributeError: + name = converter.__class__.__name__ + + raise BadArgument('Converting to "{}" failed for parameter "{}".'.format(name, param.name)) from exc + + async def do_conversion(self, ctx, converter, argument, param): + try: + origin = converter.__origin__ + except AttributeError: + pass + else: + if origin is typing.Union: + errors = [] + _NoneType = type(None) + for conv in converter.__args__: + # if we got to this part in the code, then the previous conversions have failed + # so we should just undo the view, return the default, and allow parsing to continue + # with the other parameters + if conv is _NoneType and param.kind != param.VAR_POSITIONAL: + ctx.view.undo() + return None if param.default is param.empty else param.default + + try: + value = await self._actual_conversion(ctx, conv, argument, param) + except CommandError as exc: + errors.append(exc) + else: + return value + + # if we're here, then we failed all the converters + raise BadUnionArgument(param, converter.__args__, errors) + + return await self._actual_conversion(ctx, converter, argument, param) + + def _get_converter(self, param): + converter = param.annotation + if converter is param.empty: + if param.default is not param.empty: + converter = str if param.default is None else type(param.default) + else: + converter = str + return converter + + async def transform(self, ctx, param): + required = param.default is param.empty + converter = self._get_converter(param) + consume_rest_is_special = param.kind == param.KEYWORD_ONLY and not self.rest_is_raw + view = ctx.view + view.skip_ws() + + # The greedy converter is simple -- it keeps going until it fails in which case, + # it undos the view ready for the next parameter to use instead + if type(converter) is converters._Greedy: + if param.kind == param.POSITIONAL_OR_KEYWORD: + return await self._transform_greedy_pos(ctx, param, required, converter.converter) + elif param.kind == param.VAR_POSITIONAL: + return await self._transform_greedy_var_pos(ctx, param, converter.converter) + else: + # if we're here, then it's a KEYWORD_ONLY param type + # since this is mostly useless, we'll helpfully transform Greedy[X] + # into just X and do the parsing that way. + converter = converter.converter + + if view.eof: + if param.kind == param.VAR_POSITIONAL: + raise RuntimeError() # break the loop + if required: + if self._is_typing_optional(param.annotation): + return None + raise MissingRequiredArgument(param) + return param.default + + previous = view.index + if consume_rest_is_special: + argument = view.read_rest().strip() + else: + argument = view.get_quoted_word() + view.previous = previous + + return await self.do_conversion(ctx, converter, argument, param) + + async def _transform_greedy_pos(self, ctx, param, required, converter): + view = ctx.view + result = [] + while not view.eof: + # for use with a manual undo + previous = view.index + + view.skip_ws() + argument = view.get_quoted_word() + try: + value = await self.do_conversion(ctx, converter, argument, param) + except CommandError: + view.index = previous + break + else: + result.append(value) + + if not result and not required: + return param.default + return result + + async def _transform_greedy_var_pos(self, ctx, param, converter): + view = ctx.view + previous = view.index + argument = view.get_quoted_word() + try: + value = await self.do_conversion(ctx, converter, argument, param) + except CommandError: + view.index = previous + raise RuntimeError() from None # break loop + else: + return value + + @property + def clean_params(self): + """Retrieves the parameter OrderedDict without the context or self parameters. + + Useful for inspecting signature. + """ + result = self.params.copy() + if self.cog is not None: + # first parameter is self + result.popitem(last=False) + + try: + # first/second parameter is context + result.popitem(last=False) + except Exception: + raise ValueError('Missing context parameter') from None + + return result + + @property + def full_parent_name(self): + """Retrieves the fully qualified parent command name. + + This the base command name required to execute it. For example, + in ``?one two three`` the parent name would be ``one two``. + """ + entries = [] + command = self + while command.parent is not None: + command = command.parent + entries.append(command.name) + + return ' '.join(reversed(entries)) + + @property + def root_parent(self): + """Retrieves the root parent of this command. + + If the command has no parents then it returns ``None``. + + For example in commands ``?a b c test``, the root parent is + ``a``. + """ + entries = [] + command = self + while command.parent is not None: + command = command.parent + entries.append(command) + + if len(entries) == 0: + return None + + return entries[-1] + + @property + def qualified_name(self): + """Retrieves the fully qualified command name. + + This is the full parent name with the command name as well. + For example, in ``?one two three`` the qualified name would be + ``one two three``. + """ + + parent = self.full_parent_name + if parent: + return parent + ' ' + self.name + else: + return self.name + + def __str__(self): + return self.qualified_name + + async def _parse_arguments(self, ctx): + ctx.args = [ctx] if self.cog is None else [self.cog, ctx] + ctx.kwargs = {} + args = ctx.args + kwargs = ctx.kwargs + + view = ctx.view + iterator = iter(self.params.items()) + + if self.cog is not None: + # we have 'self' as the first parameter so just advance + # the iterator and resume parsing + try: + next(iterator) + except StopIteration: + fmt = 'Callback for {0.name} command is missing "self" parameter.' + raise discord.ClientException(fmt.format(self)) + + # next we have the 'ctx' as the next parameter + try: + next(iterator) + except StopIteration: + fmt = 'Callback for {0.name} command is missing "ctx" parameter.' + raise discord.ClientException(fmt.format(self)) + + for name, param in iterator: + if param.kind == param.POSITIONAL_OR_KEYWORD: + transformed = await self.transform(ctx, param) + args.append(transformed) + elif param.kind == param.KEYWORD_ONLY: + # kwarg only param denotes "consume rest" semantics + if self.rest_is_raw: + converter = self._get_converter(param) + argument = view.read_rest() + kwargs[name] = await self.do_conversion(ctx, converter, argument, param) + else: + kwargs[name] = await self.transform(ctx, param) + break + elif param.kind == param.VAR_POSITIONAL: + while not view.eof: + try: + transformed = await self.transform(ctx, param) + args.append(transformed) + except RuntimeError: + break + + if not self.ignore_extra: + if not view.eof: + raise TooManyArguments('Too many arguments passed to ' + self.qualified_name) + + async def _verify_checks(self, ctx): + if not self.enabled: + raise DisabledCommand('{0.name} command is disabled'.format(self)) + + if not await self.can_run(ctx): + raise CheckFailure('The check functions for command {0.qualified_name} failed.'.format(self)) + + async def call_before_hooks(self, ctx): + # now that we're done preparing we can call the pre-command hooks + # first, call the command local hook: + cog = self.cog + if self._before_invoke is not None: + if cog is None: + await self._before_invoke(ctx) + else: + await self._before_invoke(cog, ctx) + + # call the cog local hook if applicable: + if cog is not None: + hook = Cog._get_overridden_method(cog.cog_before_invoke) + if hook is not None: + await hook(ctx) + + # call the bot global hook if necessary + hook = ctx.bot._before_invoke + if hook is not None: + await hook(ctx) + + async def call_after_hooks(self, ctx): + cog = self.cog + if self._after_invoke is not None: + if cog is None: + await self._after_invoke(ctx) + else: + await self._after_invoke(cog, ctx) + + # call the cog local hook if applicable: + if cog is not None: + hook = Cog._get_overridden_method(cog.cog_after_invoke) + if hook is not None: + await hook(ctx) + + hook = ctx.bot._after_invoke + if hook is not None: + await hook(ctx) + + def _prepare_cooldowns(self, ctx): + if self._buckets.valid: + bucket = self._buckets.get_bucket(ctx.message) + retry_after = bucket.update_rate_limit() + if retry_after: + raise CommandOnCooldown(bucket, retry_after) + + async def prepare(self, ctx): + ctx.command = self + await self._verify_checks(ctx) + + if self.cooldown_after_parsing: + await self._parse_arguments(ctx) + self._prepare_cooldowns(ctx) + else: + self._prepare_cooldowns(ctx) + await self._parse_arguments(ctx) + + await self.call_before_hooks(ctx) + + def is_on_cooldown(self, ctx): + """Checks whether the command is currently on cooldown. + + Parameters + ----------- + ctx: :class:`.Context.` + The invocation context to use when checking the commands cooldown status. + + Returns + -------- + :class:`bool` + A boolean indicating if the command is on cooldown. + """ + if not self._buckets.valid: + return False + + bucket = self._buckets.get_bucket(ctx.message) + return bucket.get_tokens() == 0 + + def reset_cooldown(self, ctx): + """Resets the cooldown on this command. + + Parameters + ----------- + ctx: :class:`.Context` + The invocation context to reset the cooldown under. + """ + if self._buckets.valid: + bucket = self._buckets.get_bucket(ctx.message) + bucket.reset() + + async def invoke(self, ctx): + await self.prepare(ctx) + + # terminate the invoked_subcommand chain. + # since we're in a regular command (and not a group) then + # the invoked subcommand is None. + ctx.invoked_subcommand = None + injected = hooked_wrapped_callback(self, ctx, self.callback) + await injected(*ctx.args, **ctx.kwargs) + + async def reinvoke(self, ctx, *, call_hooks=False): + ctx.command = self + await self._parse_arguments(ctx) + + if call_hooks: + await self.call_before_hooks(ctx) + + ctx.invoked_subcommand = None + try: + await self.callback(*ctx.args, **ctx.kwargs) + except: + ctx.command_failed = True + raise + finally: + if call_hooks: + await self.call_after_hooks(ctx) + + def error(self, coro): + """A decorator that registers a coroutine as a local error handler. + + A local error handler is an :func:`.on_command_error` event limited to + a single command. However, the :func:`.on_command_error` is still + invoked afterwards as the catch-all. + + Parameters + ----------- + coro: :ref:`coroutine <coroutine>` + The coroutine to register as the local error handler. + + Raises + ------- + TypeError + The coroutine passed is not actually a coroutine. + """ + + if not asyncio.iscoroutinefunction(coro): + raise TypeError('The error handler must be a coroutine.') + + self.on_error = coro + return coro + + def before_invoke(self, coro): + """A decorator that registers a coroutine as a pre-invoke hook. + + A pre-invoke hook is called directly before the command is + called. This makes it a useful function to set up database + connections or any type of set up required. + + This pre-invoke hook takes a sole parameter, a :class:`.Context`. + + See :meth:`.Bot.before_invoke` for more info. + + Parameters + ----------- + coro: :ref:`coroutine <coroutine>` + The coroutine to register as the pre-invoke hook. + + Raises + ------- + TypeError + The coroutine passed is not actually a coroutine. + """ + if not asyncio.iscoroutinefunction(coro): + raise TypeError('The pre-invoke hook must be a coroutine.') + + self._before_invoke = coro + return coro + + def after_invoke(self, coro): + """A decorator that registers a coroutine as a post-invoke hook. + + A post-invoke hook is called directly after the command is + called. This makes it a useful function to clean-up database + connections or any type of clean up required. + + This post-invoke hook takes a sole parameter, a :class:`.Context`. + + See :meth:`.Bot.after_invoke` for more info. + + Parameters + ----------- + coro: :ref:`coroutine <coroutine>` + The coroutine to register as the post-invoke hook. + + Raises + ------- + TypeError + The coroutine passed is not actually a coroutine. + """ + if not asyncio.iscoroutinefunction(coro): + raise TypeError('The post-invoke hook must be a coroutine.') + + self._after_invoke = coro + return coro + + @property + def cog_name(self): + """The name of the cog this command belongs to. None otherwise.""" + return type(self.cog).__cog_name__ if self.cog is not None else None + + @property + def short_doc(self): + """Gets the "short" documentation of a command. + + By default, this is the :attr:`brief` attribute. + If that lookup leads to an empty string then the first line of the + :attr:`help` attribute is used instead. + """ + if self.brief is not None: + return self.brief + if self.help is not None: + return self.help.split('\n', 1)[0] + return '' + + def _is_typing_optional(self, annotation): + try: + origin = annotation.__origin__ + except AttributeError: + return False + + if origin is not typing.Union: + return False + + return annotation.__args__[-1] is type(None) + + @property + def signature(self): + """Returns a POSIX-like signature useful for help command output.""" + if self.usage is not None: + return self.usage + + + params = self.clean_params + if not params: + return '' + + result = [] + for name, param in params.items(): + greedy = isinstance(param.annotation, converters._Greedy) + + if param.default is not param.empty: + # We don't want None or '' to trigger the [name=value] case and instead it should + # do [name] since [name=None] or [name=] are not exactly useful for the user. + should_print = param.default if isinstance(param.default, str) else param.default is not None + if should_print: + result.append('[%s=%s]' % (name, param.default) if not greedy else + '[%s=%s]...' % (name, param.default)) + continue + else: + result.append('[%s]' % name) + + elif param.kind == param.VAR_POSITIONAL: + result.append('[%s...]' % name) + elif greedy: + result.append('[%s]...' % name) + elif self._is_typing_optional(param.annotation): + result.append('[%s]' % name) + else: + result.append('<%s>' % name) + + return ' '.join(result) + + async def can_run(self, ctx): + """|coro| + + Checks if the command can be executed by checking all the predicates + inside the :attr:`.checks` attribute. + + Parameters + ----------- + ctx: :class:`.Context` + The ctx of the command currently being invoked. + + Raises + ------- + :class:`CommandError` + Any command error that was raised during a check call will be propagated + by this function. + + Returns + -------- + :class:`bool` + A boolean indicating if the command can be invoked. + """ + + original = ctx.command + ctx.command = self + + try: + if not await ctx.bot.can_run(ctx): + raise CheckFailure('The global check functions for command {0.qualified_name} failed.'.format(self)) + + cog = self.cog + if cog is not None: + local_check = Cog._get_overridden_method(cog.cog_check) + if local_check is not None: + ret = await discord.utils.maybe_coroutine(local_check, ctx) + if not ret: + return False + + predicates = self.checks + if not predicates: + # since we have no checks, then we just return True. + return True + + return await discord.utils.async_all(predicate(ctx) for predicate in predicates) + finally: + ctx.command = original + +class GroupMixin: + """A mixin that implements common functionality for classes that behave + similar to :class:`.Group` and are allowed to register commands. + + Attributes + ----------- + all_commands: :class:`dict` + A mapping of command name to :class:`.Command` or subclass + objects. + case_insensitive: :class:`bool` + Whether the commands should be case insensitive. Defaults to ``False``. + """ + def __init__(self, *args, **kwargs): + case_insensitive = kwargs.get('case_insensitive', False) + self.all_commands = _CaseInsensitiveDict() if case_insensitive else {} + self.case_insensitive = case_insensitive + super().__init__(*args, **kwargs) + + @property + def commands(self): + """Set[:class:`.Command`]: A unique set of commands without aliases that are registered.""" + return set(self.all_commands.values()) + + def recursively_remove_all_commands(self): + for command in self.all_commands.copy().values(): + if isinstance(command, GroupMixin): + command.recursively_remove_all_commands() + self.remove_command(command.name) + + def add_command(self, command): + """Adds a :class:`.Command` or its subclasses into the internal list + of commands. + + This is usually not called, instead the :meth:`~.GroupMixin.command` or + :meth:`~.GroupMixin.group` shortcut decorators are used instead. + + Parameters + ----------- + command + The command to add. + + Raises + ------- + :exc:`.ClientException` + If the command is already registered. + TypeError + If the command passed is not a subclass of :class:`.Command`. + """ + + if not isinstance(command, Command): + raise TypeError('The command passed must be a subclass of Command') + + if isinstance(self, Command): + command.parent = self + + if command.name in self.all_commands: + raise discord.ClientException('Command {0.name} is already registered.'.format(command)) + + self.all_commands[command.name] = command + for alias in command.aliases: + if alias in self.all_commands: + raise discord.ClientException('The alias {} is already an existing command or alias.'.format(alias)) + self.all_commands[alias] = command + + def remove_command(self, name): + """Remove a :class:`.Command` or subclasses from the internal list + of commands. + + This could also be used as a way to remove aliases. + + Parameters + ----------- + name: :class:`str` + The name of the command to remove. + + Returns + -------- + :class:`.Command` or subclass + The command that was removed. If the name is not valid then + `None` is returned instead. + """ + command = self.all_commands.pop(name, None) + + # does not exist + if command is None: + return None + + if name in command.aliases: + # we're removing an alias so we don't want to remove the rest + return command + + # we're not removing the alias so let's delete the rest of them. + for alias in command.aliases: + self.all_commands.pop(alias, None) + return command + + def walk_commands(self): + """An iterator that recursively walks through all commands and subcommands.""" + for command in tuple(self.all_commands.values()): + yield command + if isinstance(command, GroupMixin): + yield from command.walk_commands() + + def get_command(self, name): + """Get a :class:`.Command` or subclasses from the internal list + of commands. + + This could also be used as a way to get aliases. + + The name could be fully qualified (e.g. ``'foo bar'``) will get + the subcommand ``bar`` of the group command ``foo``. If a + subcommand is not found then ``None`` is returned just as usual. + + Parameters + ----------- + name: :class:`str` + The name of the command to get. + + Returns + -------- + :class:`Command` or subclass + The command that was requested. If not found, returns ``None``. + """ + + # fast path, no space in name. + if ' ' not in name: + return self.all_commands.get(name) + + names = name.split() + obj = self.all_commands.get(names[0]) + if not isinstance(obj, GroupMixin): + return obj + + for name in names[1:]: + try: + obj = obj.all_commands[name] + except (AttributeError, KeyError): + return None + + return obj + + def command(self, *args, **kwargs): + """A shortcut decorator that invokes :func:`.command` and adds it to + the internal command list via :meth:`~.GroupMixin.add_command`. + """ + def decorator(func): + kwargs.setdefault('parent', self) + result = command(*args, **kwargs)(func) + self.add_command(result) + return result + + return decorator + + def group(self, *args, **kwargs): + """A shortcut decorator that invokes :func:`.group` and adds it to + the internal command list via :meth:`~.GroupMixin.add_command`. + """ + def decorator(func): + kwargs.setdefault('parent', self) + result = group(*args, **kwargs)(func) + self.add_command(result) + return result + + return decorator + +class Group(GroupMixin, Command): + """A class that implements a grouping protocol for commands to be + executed as subcommands. + + This class is a subclass of :class:`.Command` and thus all options + valid in :class:`.Command` are valid in here as well. + + Attributes + ----------- + invoke_without_command: :class:`bool` + Indicates if the group callback should begin parsing and + invocation only if no subcommand was found. Useful for + making it an error handling function to tell the user that + no subcommand was found or to have different functionality + in case no subcommand was found. If this is ``False``, then + the group callback will always be invoked first. This means + that the checks and the parsing dictated by its parameters + will be executed. Defaults to ``False``. + case_insensitive: :class:`bool` + Indicates if the group's commands should be case insensitive. + Defaults to ``False``. + """ + def __init__(self, *args, **attrs): + self.invoke_without_command = attrs.pop('invoke_without_command', False) + super().__init__(*args, **attrs) + + def copy(self): + """Creates a copy of this :class:`Group`.""" + ret = super().copy() + for cmd in self.commands: + ret.add_command(cmd.copy()) + return ret + + async def invoke(self, ctx): + early_invoke = not self.invoke_without_command + if early_invoke: + await self.prepare(ctx) + + view = ctx.view + previous = view.index + view.skip_ws() + trigger = view.get_word() + + if trigger: + ctx.subcommand_passed = trigger + ctx.invoked_subcommand = self.all_commands.get(trigger, None) + + if early_invoke: + injected = hooked_wrapped_callback(self, ctx, self.callback) + await injected(*ctx.args, **ctx.kwargs) + + if trigger and ctx.invoked_subcommand: + ctx.invoked_with = trigger + await ctx.invoked_subcommand.invoke(ctx) + elif not early_invoke: + # undo the trigger parsing + view.index = previous + view.previous = previous + await super().invoke(ctx) + + async def reinvoke(self, ctx, *, call_hooks=False): + early_invoke = not self.invoke_without_command + if early_invoke: + ctx.command = self + await self._parse_arguments(ctx) + + if call_hooks: + await self.call_before_hooks(ctx) + + view = ctx.view + previous = view.index + view.skip_ws() + trigger = view.get_word() + + if trigger: + ctx.subcommand_passed = trigger + ctx.invoked_subcommand = self.all_commands.get(trigger, None) + + if early_invoke: + try: + await self.callback(*ctx.args, **ctx.kwargs) + except: + ctx.command_failed = True + raise + finally: + if call_hooks: + await self.call_after_hooks(ctx) + + if trigger and ctx.invoked_subcommand: + ctx.invoked_with = trigger + await ctx.invoked_subcommand.reinvoke(ctx, call_hooks=call_hooks) + elif not early_invoke: + # undo the trigger parsing + view.index = previous + view.previous = previous + await super().reinvoke(ctx, call_hooks=call_hooks) + +# Decorators + +def command(name=None, cls=None, **attrs): + """A decorator that transforms a function into a :class:`.Command` + or if called with :func:`.group`, :class:`.Group`. + + By default the ``help`` attribute is received automatically from the + docstring of the function and is cleaned up with the use of + ``inspect.cleandoc``. If the docstring is ``bytes``, then it is decoded + into :class:`str` using utf-8 encoding. + + All checks added using the :func:`.check` & co. decorators are added into + the function. There is no way to supply your own checks through this + decorator. + + Parameters + ----------- + name: :class:`str` + The name to create the command with. By default this uses the + function name unchanged. + cls + The class to construct with. By default this is :class:`.Command`. + You usually do not change this. + attrs + Keyword arguments to pass into the construction of the class denoted + by ``cls``. + + Raises + ------- + TypeError + If the function is not a coroutine or is already a command. + """ + if cls is None: + cls = Command + + def decorator(func): + if isinstance(func, Command): + raise TypeError('Callback is already a command.') + return cls(func, name=name, **attrs) + + return decorator + +def group(name=None, **attrs): + """A decorator that transforms a function into a :class:`.Group`. + + This is similar to the :func:`.command` decorator but creates a + :class:`.Group` instead of a :class:`.Command`. + """ + return command(name=name, cls=Group, **attrs) + +def check(predicate): + r"""A decorator that adds a check to the :class:`.Command` or its + subclasses. These checks could be accessed via :attr:`.Command.checks`. + + These checks should be predicates that take in a single parameter taking + a :class:`.Context`. If the check returns a ``False``\-like value then + during invocation a :exc:`.CheckFailure` exception is raised and sent to + the :func:`.on_command_error` event. + + If an exception should be thrown in the predicate then it should be a + subclass of :exc:`.CommandError`. Any exception not subclassed from it + will be propagated while those subclassed will be sent to + :func:`.on_command_error`. + + .. note:: + + These functions can either be regular functions or coroutines. + + Examples + --------- + + Creating a basic check to see if the command invoker is you. + + .. code-block:: python3 + + def check_if_it_is_me(ctx): + return ctx.message.author.id == 85309593344815104 + + @bot.command() + @commands.check(check_if_it_is_me) + async def only_for_me(ctx): + await ctx.send('I know you!') + + Transforming common checks into its own decorator: + + .. code-block:: python3 + + def is_me(): + def predicate(ctx): + return ctx.message.author.id == 85309593344815104 + return commands.check(predicate) + + @bot.command() + @is_me() + async def only_me(ctx): + await ctx.send('Only you!') + + Parameters + ----------- + predicate: Callable[:class:`Context`, :class:`bool`] + The predicate to check if the command should be invoked. + """ + + def decorator(func): + if isinstance(func, Command): + func.checks.append(predicate) + else: + if not hasattr(func, '__commands_checks__'): + func.__commands_checks__ = [] + + func.__commands_checks__.append(predicate) + + return func + return decorator + +def has_role(item): + """A :func:`.check` that is added that checks if the member invoking the + command has the role specified via the name or ID specified. + + If a string is specified, you must give the exact name of the role, including + caps and spelling. + + If an integer is specified, you must give the exact snowflake ID of the role. + + If the message is invoked in a private message context then the check will + return ``False``. + + Parameters + ----------- + item: Union[:class:`int`, :class:`str`] + The name or ID of the role to check. + """ + + def predicate(ctx): + if not isinstance(ctx.channel, discord.abc.GuildChannel): + return False + + if isinstance(item, int): + role = discord.utils.get(ctx.author.roles, id=item) + else: + role = discord.utils.get(ctx.author.roles, name=item) + return role is not None + + return check(predicate) + +def has_any_role(*items): + r"""A :func:`.check` that is added that checks if the member invoking the + command has **any** of the roles specified. This means that if they have + one out of the three roles specified, then this check will return `True`. + + Similar to :func:`.has_role`\, the names or IDs passed in must be exact. + + Parameters + ----------- + items: List[Union[:class:`str`, :class:`int`]] + An argument list of names or IDs to check that the member has roles wise. + + Example + -------- + + .. code-block:: python3 + + @bot.command() + @commands.has_any_role('Library Devs', 'Moderators', 492212595072434186) + async def cool(ctx): + await ctx.send('You are cool indeed') + """ + def predicate(ctx): + if not isinstance(ctx.channel, discord.abc.GuildChannel): + return False + + getter = functools.partial(discord.utils.get, ctx.author.roles) + return any(getter(id=item) is not None if isinstance(item, int) else getter(name=item) is not None for item in items) + return check(predicate) + +def has_permissions(**perms): + """A :func:`.check` that is added that checks if the member has all of + the permissions necessary. + + The permissions passed in must be exactly like the properties shown under + :class:`.discord.Permissions`. + + This check raises a special exception, :exc:`.MissingPermissions` + that is inherited from :exc:`.CheckFailure`. + + Parameters + ------------ + perms + An argument list of permissions to check for. + + Example + --------- + + .. code-block:: python3 + + @bot.command() + @commands.has_permissions(manage_messages=True) + async def test(ctx): + await ctx.send('You can manage messages.') + + """ + def predicate(ctx): + ch = ctx.channel + permissions = ch.permissions_for(ctx.author) + + missing = [perm for perm, value in perms.items() if getattr(permissions, perm, None) != value] + + if not missing: + return True + + raise MissingPermissions(missing) + + return check(predicate) + +def bot_has_role(item): + """Similar to :func:`.has_role` except checks if the bot itself has the + role. + """ + + def predicate(ctx): + ch = ctx.channel + if not isinstance(ch, discord.abc.GuildChannel): + return False + me = ch.guild.me + if isinstance(item, int): + role = discord.utils.get(me.roles, id=item) + else: + role = discord.utils.get(me.roles, name=item) + return role is not None + return check(predicate) + +def bot_has_any_role(*items): + """Similar to :func:`.has_any_role` except checks if the bot itself has + any of the roles listed. + """ + def predicate(ctx): + ch = ctx.channel + if not isinstance(ch, discord.abc.GuildChannel): + return False + me = ch.guild.me + getter = functools.partial(discord.utils.get, me.roles) + return any(getter(id=item) is not None if isinstance(item, int) else getter(name=item) is not None for item in items) + return check(predicate) + +def bot_has_permissions(**perms): + """Similar to :func:`.has_permissions` except checks if the bot itself has + the permissions listed. + + This check raises a special exception, :exc:`.BotMissingPermissions` + that is inherited from :exc:`.CheckFailure`. + """ + def predicate(ctx): + guild = ctx.guild + me = guild.me if guild is not None else ctx.bot.user + permissions = ctx.channel.permissions_for(me) + + missing = [perm for perm, value in perms.items() if getattr(permissions, perm, None) != value] + + if not missing: + return True + + raise BotMissingPermissions(missing) + + return check(predicate) + +def guild_only(): + """A :func:`.check` that indicates this command must only be used in a + guild context only. Basically, no private messages are allowed when + using the command. + + This check raises a special exception, :exc:`.NoPrivateMessage` + that is inherited from :exc:`.CheckFailure`. + """ + + def predicate(ctx): + if ctx.guild is None: + raise NoPrivateMessage('This command cannot be used in private messages.') + return True + + return check(predicate) + +def is_owner(): + """A :func:`.check` that checks if the person invoking this command is the + owner of the bot. + + This is powered by :meth:`.Bot.is_owner`. + + This check raises a special exception, :exc:`.NotOwner` that is derived + from :exc:`.CheckFailure`. + """ + + async def predicate(ctx): + if not await ctx.bot.is_owner(ctx.author): + raise NotOwner('You do not own this bot.') + return True + + return check(predicate) + +def is_nsfw(): + """A :func:`.check` that checks if the channel is a NSFW channel.""" + def pred(ctx): + return isinstance(ctx.channel, discord.TextChannel) and ctx.channel.is_nsfw() + return check(pred) + +def cooldown(rate, per, type=BucketType.default): + """A decorator that adds a cooldown to a :class:`.Command` + or its subclasses. + + A cooldown allows a command to only be used a specific amount + of times in a specific time frame. These cooldowns can be based + either on a per-guild, per-channel, per-user, or global basis. + Denoted by the third argument of ``type`` which must be of enum + type ``BucketType`` which could be either: + + - ``BucketType.default`` for a global basis. + - ``BucketType.user`` for a per-user basis. + - ``BucketType.guild`` for a per-guild basis. + - ``BucketType.channel`` for a per-channel basis. + - ``BucketType.member`` for a per-member basis. + - ``BucketType.category`` for a per-category basis. + + If a cooldown is triggered, then :exc:`.CommandOnCooldown` is triggered in + :func:`.on_command_error` and the local error handler. + + A command can only have a single cooldown. + + Parameters + ------------ + rate: :class:`int` + The number of times a command can be used before triggering a cooldown. + per: :class:`float` + The amount of seconds to wait for a cooldown when it's been triggered. + type: ``BucketType`` + The type of cooldown to have. + """ + + def decorator(func): + if isinstance(func, Command): + func._buckets = CooldownMapping(Cooldown(rate, per, type)) + else: + func.__commands_cooldown__ = Cooldown(rate, per, type) + return func + return decorator diff --git a/venv/lib/python3.6/site-packages/discord/ext/commands/errors.py b/venv/lib/python3.6/site-packages/discord/ext/commands/errors.py new file mode 100644 index 0000000..00fa6e3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/commands/errors.py @@ -0,0 +1,364 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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 discord.errors import DiscordException + + +__all__ = ['CommandError', 'MissingRequiredArgument', 'BadArgument', + 'NoPrivateMessage', 'CheckFailure', 'CommandNotFound', + 'DisabledCommand', 'CommandInvokeError', 'TooManyArguments', + 'UserInputError', 'CommandOnCooldown', 'NotOwner', + 'MissingPermissions', 'BotMissingPermissions', 'ConversionError', + 'BadUnionArgument', 'ArgumentParsingError', + 'UnexpectedQuoteError', 'InvalidEndOfQuotedStringError', + 'ExpectedClosingQuoteError', 'ExtensionError', 'ExtensionAlreadyLoaded', + 'ExtensionNotLoaded', 'NoEntryPointError', 'ExtensionFailed', + 'ExtensionNotFound' ] + +class CommandError(DiscordException): + r"""The base exception type for all command related errors. + + This inherits from :exc:`discord.DiscordException`. + + This exception and exceptions inherited from it are handled + in a special way as they are caught and passed into a special event + from :class:`.Bot`\, :func:`on_command_error`. + """ + def __init__(self, message=None, *args): + if message is not None: + # clean-up @everyone and @here mentions + m = message.replace('@everyone', '@\u200beveryone').replace('@here', '@\u200bhere') + super().__init__(m, *args) + else: + super().__init__(*args) + +class ConversionError(CommandError): + """Exception raised when a Converter class raises non-CommandError. + + This inherits from :exc:`.CommandError`. + + Attributes + ---------- + converter: :class:`discord.ext.commands.Converter` + The converter that failed. + original + The original exception that was raised. You can also get this via + the ``__cause__`` attribute. + """ + def __init__(self, converter, original): + self.converter = converter + self.original = original + +class UserInputError(CommandError): + """The base exception type for errors that involve errors + regarding user input. + + This inherits from :exc:`.CommandError`. + """ + pass + +class CommandNotFound(CommandError): + """Exception raised when a command is attempted to be invoked + but no command under that name is found. + + This is not raised for invalid subcommands, rather just the + initial main command that is attempted to be invoked. + """ + pass + +class MissingRequiredArgument(UserInputError): + """Exception raised when parsing a command and a parameter + that is required is not encountered. + + Attributes + ----------- + param: :class:`inspect.Parameter` + The argument that is missing. + """ + def __init__(self, param): + self.param = param + super().__init__('{0.name} is a required argument that is missing.'.format(param)) + +class TooManyArguments(UserInputError): + """Exception raised when the command was passed too many arguments and its + :attr:`.Command.ignore_extra` attribute was not set to ``True``. + """ + pass + +class BadArgument(UserInputError): + """Exception raised when a parsing or conversion failure is encountered + on an argument to pass into a command. + """ + pass + +class CheckFailure(CommandError): + """Exception raised when the predicates in :attr:`.Command.checks` have failed.""" + pass + +class NoPrivateMessage(CheckFailure): + """Exception raised when an operation does not work in private message + contexts. + """ + pass + +class NotOwner(CheckFailure): + """Exception raised when the message author is not the owner of the bot.""" + pass + +class DisabledCommand(CommandError): + """Exception raised when the command being invoked is disabled.""" + pass + +class CommandInvokeError(CommandError): + """Exception raised when the command being invoked raised an exception. + + Attributes + ----------- + original + The original exception that was raised. You can also get this via + the ``__cause__`` attribute. + """ + def __init__(self, e): + self.original = e + super().__init__('Command raised an exception: {0.__class__.__name__}: {0}'.format(e)) + +class CommandOnCooldown(CommandError): + """Exception raised when the command being invoked is on cooldown. + + Attributes + ----------- + cooldown: Cooldown + A class with attributes ``rate``, ``per``, and ``type`` similar to + the :func:`.cooldown` decorator. + retry_after: :class:`float` + The amount of seconds to wait before you can retry again. + """ + def __init__(self, cooldown, retry_after): + self.cooldown = cooldown + self.retry_after = retry_after + super().__init__('You are on cooldown. Try again in {:.2f}s'.format(retry_after)) + +class MissingPermissions(CheckFailure): + """Exception raised when the command invoker lacks permissions to run + command. + + Attributes + ----------- + missing_perms: :class:`list` + The required permissions that are missing. + """ + def __init__(self, missing_perms, *args): + self.missing_perms = missing_perms + + missing = [perm.replace('_', ' ').replace('guild', 'server').title() for perm in missing_perms] + + if len(missing) > 2: + fmt = '{}, and {}'.format(", ".join(missing[:-1]), missing[-1]) + else: + fmt = ' and '.join(missing) + message = 'You are missing {} permission(s) to run command.'.format(fmt) + super().__init__(message, *args) + +class BotMissingPermissions(CheckFailure): + """Exception raised when the bot lacks permissions to run command. + + Attributes + ----------- + missing_perms: :class:`list` + The required permissions that are missing. + """ + def __init__(self, missing_perms, *args): + self.missing_perms = missing_perms + + missing = [perm.replace('_', ' ').replace('guild', 'server').title() for perm in missing_perms] + + if len(missing) > 2: + fmt = '{}, and {}'.format(", ".join(missing[:-1]), missing[-1]) + else: + fmt = ' and '.join(missing) + message = 'Bot requires {} permission(s) to run command.'.format(fmt) + super().__init__(message, *args) + +class BadUnionArgument(UserInputError): + """Exception raised when a :class:`typing.Union` converter fails for all + its associated types. + + Attributes + ----------- + param: :class:`inspect.Parameter` + The parameter that failed being converted. + converters: Tuple[Type, ...] + A tuple of converters attempted in conversion, in order of failure. + errors: List[:class:`CommandError`] + A list of errors that were caught from failing the conversion. + """ + def __init__(self, param, converters, errors): + self.param = param + self.converters = converters + self.errors = errors + + def _get_name(x): + try: + return x.__name__ + except AttributeError: + return x.__class__.__name__ + + to_string = [_get_name(x) for x in converters] + if len(to_string) > 2: + fmt = '{}, or {}'.format(', '.join(to_string[:-1]), to_string[-1]) + else: + fmt = ' or '.join(to_string) + + super().__init__('Could not convert "{0.name}" into {1}.'.format(param, fmt)) + +class ArgumentParsingError(UserInputError): + """An exception raised when the parser fails to parse a user's input. + + This inherits from :exc:`UserInputError`. There are child classes + that implement more granular parsing errors for i18n purposes. + """ + pass + +class UnexpectedQuoteError(ArgumentParsingError): + """An exception raised when the parser encounters a quote mark inside a non-quoted string. + + This inherits from :exc:`ArgumentParsingError`. + + Attributes + ------------ + quote: :class:`str` + The quote mark that was found inside the non-quoted string. + """ + def __init__(self, quote): + self.quote = quote + super().__init__('Unexpected quote mark, {0!r}, in non-quoted string'.format(quote)) + +class InvalidEndOfQuotedStringError(ArgumentParsingError): + """An exception raised when a space is expected after the closing quote in a string + but a different character is found. + + This inherits from :exc:`ArgumentParsingError`. + + Attributes + ----------- + char: :class:`str` + The character found instead of the expected string. + """ + def __init__(self, char): + self.char = char + super().__init__('Expected space after closing quotation but received {0!r}'.format(char)) + +class ExpectedClosingQuoteError(ArgumentParsingError): + """An exception raised when a quote character is expected but not found. + + This inherits from :exc:`ArgumentParsingError`. + + Attributes + ----------- + close_quote: :class:`str` + The quote character expected. + """ + + def __init__(self, close_quote): + self.close_quote = close_quote + super().__init__('Expected closing {}.'.format(close_quote)) + +class ExtensionError(DiscordException): + """Base exception for extension related errors. + + This inherits from :exc:`~discord.DiscordException`. + + Attributes + ------------ + name: :class:`str` + The extension that had an error. + """ + def __init__(self, message=None, *args, name): + self.name = name + message = message or 'Extension {!r} had an error.'.format(name) + # clean-up @everyone and @here mentions + m = message.replace('@everyone', '@\u200beveryone').replace('@here', '@\u200bhere') + super().__init__(m, *args) + +class ExtensionAlreadyLoaded(ExtensionError): + """An exception raised when an extension has already been loaded. + + This inherits from :exc:`ExtensionError` + """ + def __init__(self, name): + super().__init__('Extension {!r} is already loaded.'.format(name), name=name) + +class ExtensionNotLoaded(ExtensionError): + """An exception raised when an extension was not loaded. + + This inherits from :exc:`ExtensionError` + """ + def __init__(self, name): + super().__init__('Extension {!r} has not been loaded.'.format(name), name=name) + +class NoEntryPointError(ExtensionError): + """An exception raised when an extension does not have a ``setup`` entry point function. + + This inherits from :exc:`ExtensionError` + """ + def __init__(self, name): + super().__init__("Extension {!r} has no 'setup' function.".format(name), name=name) + +class ExtensionFailed(ExtensionError): + """An exception raised when an extension failed to load during execution of the ``setup`` entry point. + + This inherits from :exc:`ExtensionError` + + Attributes + ----------- + name: :class:`str` + The extension that had the error. + original: :exc:`Exception` + The original exception that was raised. You can also get this via + the ``__cause__`` attribute. + """ + def __init__(self, name, original): + self.original = original + fmt = 'Extension {0!r} raised an error: {1.__class__.__name__}: {1}' + super().__init__(fmt.format(name, original), name=name) + +class ExtensionNotFound(ExtensionError): + """An exception raised when an extension failed to be imported. + + This inherits from :exc:`ExtensionError` + + Attributes + ----------- + name: :class:`str` + The extension that had the error. + original: :exc:`ImportError` + The original exception that was raised. You can also get this via + the ``__cause__`` attribute. + """ + def __init__(self, name, original): + self.original = original + fmt = 'Extension {0!r} could not be loaded.' + super().__init__(fmt.format(name), name=name) diff --git a/venv/lib/python3.6/site-packages/discord/ext/commands/help.py b/venv/lib/python3.6/site-packages/discord/ext/commands/help.py new file mode 100644 index 0000000..812b674 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/commands/help.py @@ -0,0 +1,1238 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import itertools +import functools +import inspect +import re +import discord.utils + +from .core import Group, Command +from .errors import CommandError + +__all__ = [ + 'Paginator', + 'HelpCommand', + 'DefaultHelpCommand', + 'MinimalHelpCommand', +] + +# help -> shows info of bot on top/bottom and lists subcommands +# help command -> shows detailed info of command +# help command <subcommand chain> -> same as above + +# <description> + +# <command signature with aliases> + +# <long doc> + +# Cog: +# <command> <shortdoc> +# <command> <shortdoc> +# Other Cog: +# <command> <shortdoc> +# No Category: +# <command> <shortdoc> + +# Type <prefix>help command for more info on a command. +# You can also type <prefix>help category for more info on a category. + +class Paginator: + """A class that aids in paginating code blocks for Discord messages. + + .. container:: operations + + .. describe:: len(x) + + Returns the total number of characters in the paginator. + + Attributes + ----------- + prefix: Optional[:class:`str`] + The prefix inserted to every page. e.g. three backticks. + suffix: Optional[:class:`str`] + The suffix appended at the end of every page. e.g. three backticks. + max_size: :class:`int` + The maximum amount of codepoints allowed in a page. + """ + def __init__(self, prefix='```', suffix='```', max_size=2000): + self.prefix = prefix + self.suffix = suffix + self.max_size = max_size - (0 if suffix is None else len(suffix)) + self.clear() + + def clear(self): + """Clears the paginator to have no pages.""" + if self.prefix is not None: + self._current_page = [self.prefix] + self._count = len(self.prefix) + 1 # prefix + newline + else: + self._current_page = [] + self._count = 0 + self._pages = [] + + @property + def _prefix_len(self): + return len(self.prefix) if self.prefix else 0 + + def add_line(self, line='', *, empty=False): + """Adds a line to the current page. + + If the line exceeds the :attr:`max_size` then an exception + is raised. + + Parameters + ----------- + line: :class:`str` + The line to add. + empty: :class:`bool` + Indicates if another empty line should be added. + + Raises + ------ + RuntimeError + The line was too big for the current :attr:`max_size`. + """ + max_page_size = self.max_size - self._prefix_len - 2 + if len(line) > max_page_size: + raise RuntimeError('Line exceeds maximum page size %s' % (max_page_size)) + + if self._count + len(line) + 1 > self.max_size: + self.close_page() + + self._count += len(line) + 1 + self._current_page.append(line) + + if empty: + self._current_page.append('') + self._count += 1 + + def close_page(self): + """Prematurely terminate a page.""" + if self.suffix is not None: + self._current_page.append(self.suffix) + self._pages.append('\n'.join(self._current_page)) + + if self.prefix is not None: + self._current_page = [self.prefix] + self._count = len(self.prefix) + 1 # prefix + newline + else: + self._current_page = [] + self._count = 0 + + def __len__(self): + total = sum(len(p) for p in self._pages) + return total + self._count + + @property + def pages(self): + """Returns the rendered list of pages.""" + # we have more than just the prefix in our current page + if len(self._current_page) > 1: + self.close_page() + return self._pages + + def __repr__(self): + fmt = '<Paginator prefix: {0.prefix} suffix: {0.suffix} max_size: {0.max_size} count: {0._count}>' + return fmt.format(self) + +def _not_overriden(f): + f.__help_command_not_overriden__ = True + return f + +class _HelpCommandImpl(Command): + def __init__(self, inject, *args, **kwargs): + super().__init__(*args, **kwargs) + self._injected = inject + + on_error = inject.on_help_command_error + try: + on_error.__help_command_not_overriden__ + except AttributeError: + # overridden + self.on_error = on_error + + async def _parse_arguments(self, ctx): + # Make the parser think we don't have a cog so it doesn't + # inject the parameter into `ctx.args`. + original_cog = self.cog + self.cog = None + try: + await super()._parse_arguments(ctx) + finally: + self.cog = original_cog + + async def _on_error_cog_implementation(self, dummy, ctx, error): + await self._injected.on_help_command_error(ctx, error) + + @property + def clean_params(self): + result = self.params.copy() + try: + result.popitem(last=False) + except Exception: + raise ValueError('Missing context parameter') from None + else: + return result + + def _inject_into_cog(self, cog): + # Warning: hacky + + # Make the cog think that get_commands returns this command + # as well if we inject it without modifying __cog_commands__ + # since that's used for the injection and ejection of cogs. + def wrapped_get_commands(*, _original=cog.get_commands): + ret = _original() + ret.append(self) + return ret + + # Ditto here + def wrapped_walk_commands(*, _original=cog.walk_commands): + yield from _original() + yield self + + functools.update_wrapper(wrapped_get_commands, cog.get_commands) + functools.update_wrapper(wrapped_walk_commands, cog.walk_commands) + cog.get_commands = wrapped_get_commands + cog.walk_commands = wrapped_walk_commands + self.cog = cog + + on_error = self._injected.on_help_command_error + try: + on_error.__help_command_not_overriden__ + except AttributeError: + # overridden so let's swap it with our cog specific implementation + self.on_error = self._on_error_cog_implementation + + def _eject_cog(self): + if self.cog is None: + return + + # revert back into their original methods + cog = self.cog + cog.get_commands = cog.get_commands.__wrapped__ + cog.walk_commands = cog.walk_commands.__wrapped__ + self.cog = None + + on_error = self._injected.on_help_command_error + try: + on_error.__help_command_not_overriden__ + except AttributeError: + # overridden so let's swap it with our cog specific implementation + self.on_error = self._on_error_cog_implementation + +class HelpCommand: + r"""The base implementation for help command formatting. + + Attributes + ------------ + context: Optional[:class:`Context`] + The context that invoked this help formatter. This is generally set after + the help command assigned, :func:`command_callback`\, has been called. + show_hidden: :class:`bool` + Specifies if hidden commands should be shown in the output. + Defaults to ``False``. + verify_checks: :class:`bool` + Specifies if commands should have their :attr:`.Command.checks` called + and verified. Defaults to ``True``. + command_attrs: :class:`dict` + A dictionary of options to pass in for the construction of the help command. + This allows you to change the command behaviour without actually changing + the implementation of the command. The attributes will be the same as the + ones passed in the :class:`.Command` constructor. + """ + + MENTION_TRANSFORMS = { + '@everyone': '@\u200beveryone', + '@here': '@\u200bhere', + r'<@!?[0-9]{17,22}>': '@deleted-user', + r'<@&[0-9]{17,22}>': '@deleted-role' + } + + MENTION_PATTERN = re.compile('|'.join(MENTION_TRANSFORMS.keys())) + + def __init__(self, **options): + self.show_hidden = options.pop('show_hidden', False) + self.verify_checks = options.pop('verify_checks', True) + self.command_attrs = attrs = options.pop('command_attrs', {}) + attrs.setdefault('name', 'help') + attrs.setdefault('help', 'Shows this message') + self.context = None + self._command_impl = None + + def _add_to_bot(self, bot): + command = _HelpCommandImpl(self, self.command_callback, **self.command_attrs) + bot.add_command(command) + self._command_impl = command + + def _remove_from_bot(self, bot): + bot.remove_command(self._command_impl.name) + self._command_impl._eject_cog() + self._command_impl = None + + def get_bot_mapping(self): + """Retrieves the bot mapping passed to :meth:`send_bot_help`.""" + bot = self.context.bot + mapping = { + cog: cog.get_commands() + for cog in bot.cogs.values() + } + mapping[None] = [c for c in bot.all_commands.values() if c.cog is None] + return mapping + + @property + def clean_prefix(self): + """The cleaned up invoke prefix. i.e. mentions are ``@name`` instead of ``<@id>``.""" + user = self.context.guild.me if self.context.guild else self.context.bot.user + # this breaks if the prefix mention is not the bot itself but I + # consider this to be an *incredibly* strange use case. I'd rather go + # for this common use case rather than waste performance for the + # odd one. + return self.context.prefix.replace(user.mention, '@' + user.display_name) + + @property + def invoked_with(self): + """Similar to :attr:`Context.invoked_with` except properly handles + the case where :meth:`Context.send_help` is used. + + If the help command was used regularly then this returns + the :attr:`Context.invoked_with` attribute. Otherwise, if + it the help command was called using :meth:`Context.send_help` + then it returns the internal command name of the help command. + + Returns + --------- + :class:`str` + The command name that triggered this invocation. + """ + command_name = self._command_impl.name + ctx = self.context + if ctx is None or ctx.command is None or ctx.command.qualified_name != command_name: + return command_name + return ctx.invoked_with + + def get_command_signature(self, command): + """Retrieves the signature portion of the help page. + + Parameters + ------------ + command: :class:`Command` + The command to get the signature of. + + Returns + -------- + :class:`str` + The signature for the command. + """ + + parent = command.full_parent_name + if len(command.aliases) > 0: + aliases = '|'.join(command.aliases) + fmt = '[%s|%s]' % (command.name, aliases) + if parent: + fmt = parent + ' ' + fmt + alias = fmt + else: + alias = command.name if not parent else parent + ' ' + command.name + + return '%s%s %s' % (self.clean_prefix, alias, command.signature) + + def remove_mentions(self, string): + """Removes mentions from the string to prevent abuse. + + This includes ``@everyone``, ``@here``, member mentions and role mentions. + """ + + def replace(obj, *, transforms=self.MENTION_TRANSFORMS): + return transforms.get(obj.group(0), '@invalid') + + return self.MENTION_PATTERN.sub(replace, string) + + @property + def cog(self): + """A property for retrieving or setting the cog for the help command. + + When a cog is set for the help command, it is as-if the help command + belongs to that cog. All cog special methods will apply to the help + command and it will be automatically unset on unload. + + To unbind the cog from the help command, you can set it to ``None``. + + Returns + -------- + Optional[:class:`Cog`] + The cog that is currently set for the help command. + """ + return self._command_impl.cog + + @cog.setter + def cog(self, cog): + # Remove whatever cog is currently valid, if any + self._command_impl._eject_cog() + + # If a new cog is set then inject it. + if cog is not None: + self._command_impl._inject_into_cog(cog) + + def command_not_found(self, string): + """|maybecoro| + + A method called when a command is not found in the help command. + This is useful to override for i18n. + + Defaults to ``No command called {0} found.`` + + Parameters + ------------ + string: :class:`str` + The string that contains the invalid command. Note that this has + had mentions removed to prevent abuse. + + Returns + --------- + :class:`str` + The string to use when a command has not been found. + """ + return 'No command called "{}" found.'.format(string) + + def subcommand_not_found(self, command, string): + """|maybecoro| + + A method called when a command did not have a subcommand requested in the help command. + This is useful to override for i18n. + + Defaults to either: + + - ``'Command "{command.qualified_name}" has no subcommands.'`` + - If there is no subcommand in the ``command`` parameter. + - ``'Command "{command.qualified_name}" has no subcommand named {string}'`` + - If the ``command`` parameter has subcommands but not one named ``string``. + + Parameters + ------------ + command: :class:`Command` + The command that did not have the subcommand requested. + string: :class:`str` + The string that contains the invalid subcommand. Note that this has + had mentions removed to prevent abuse. + + Returns + --------- + :class:`str` + The string to use when the command did not have the subcommand requested. + """ + if isinstance(command, Group) and len(command.all_commands) > 0: + return 'Command "{0.qualified_name}" has no subcommand named {1}'.format(command, string) + return 'Command "{0.qualified_name}" has no subcommands.'.format(command) + + async def filter_commands(self, commands, *, sort=False, key=None): + """|coro| + + Returns a filtered list of commands and optionally sorts them. + + This takes into account the :attr:`verify_checks` and :attr:`show_hidden` + attributes. + + Parameters + ------------ + commands: Iterable[:class:`Command`] + An iterable of commands that are getting filtered. + sort: :class:`bool` + Whether to sort the result. + key: Optional[Callable[:class:`Command`, Any]] + An optional key function to pass to :func:`py:sorted` that + takes a :class:`Command` as its sole parameter. If ``sort`` is + passed as ``True`` then this will default as the command name. + + Returns + --------- + List[:class:`Command`] + A list of commands that passed the filter. + """ + + if sort and key is None: + key = lambda c: c.name + + iterator = commands if self.show_hidden else filter(lambda c: not c.hidden, commands) + + if not self.verify_checks: + # if we do not need to verify the checks then we can just + # run it straight through normally without using await. + return sorted(iterator, key=key) if sort else list(iterator) + + # if we're here then we need to check every command if it can run + async def predicate(cmd): + try: + return await cmd.can_run(self.context) + except CommandError: + return False + + ret = [] + for cmd in iterator: + valid = await predicate(cmd) + if valid: + ret.append(cmd) + + if sort: + ret.sort(key=key) + return ret + + def get_max_size(self, commands): + """Returns the largest name length of the specified command list. + + Parameters + ------------ + commands: Sequence[:class:`Command`] + A sequence of commands to check for the largest size. + + Returns + -------- + :class:`int` + The maximum width of the commands. + """ + + as_lengths = ( + discord.utils._string_width(c.name) + for c in commands + ) + return max(as_lengths, default=0) + + def get_destination(self): + """Returns the :class:`abc.Messageable` where the help command will be output. + + You can override this method to customise the behaviour. + + By default this returns the context's channel. + """ + return self.context.channel + + async def send_error_message(self, error): + """|coro| + + Handles the implementation when an error happens in the help command. + For example, the result of :meth:`command_not_found` or + :meth:`command_has_no_subcommand_found` will be passed here. + + You can override this method to customise the behaviour. + + By default, this sends the error message to the destination + specified by :meth:`get_destination`. + + .. note:: + + You can access the invocation context with :attr:`HelpCommand.context`. + + Parameters + ------------ + error: :class:`str` + The error message to display to the user. Note that this has + had mentions removed to prevent abuse. + """ + destination = self.get_destination() + await destination.send(error) + + @_not_overriden + async def on_help_command_error(self, ctx, error): + """|coro| + + The help command's error handler, as specified by :ref:`ext_commands_error_handler`. + + Useful to override if you need some specific behaviour when the error handler + is called. + + By default this method does nothing and just propagates to the default + error handlers. + + Parameters + ------------ + ctx: :class:`Context` + The invocation context. + error: :class:`CommandError` + The error that was raised. + """ + pass + + async def send_bot_help(self, mapping): + """|coro| + + Handles the implementation of the bot command page in the help command. + This function is called when the help command is called with no arguments. + + It should be noted that this method does not return anything -- rather the + actual message sending should be done inside this method. Well behaved subclasses + should use :meth:`get_destination` to know where to send, as this is a customisation + point for other users. + + You can override this method to customise the behaviour. + + .. note:: + + You can access the invocation context with :attr:`HelpCommand.context`. + + Also, the commands in the mapping are not filtered. To do the filtering + you will have to call :meth:`filter_commands` yourself. + + Parameters + ------------ + mapping: Mapping[Optional[:class:`Cog`], List[:class:`Command`] + A mapping of cogs to commands that have been requested by the user for help. + The key of the mapping is the :class:`~.commands.Cog` that the command belongs to, or + ``None`` if there isn't one, and the value is a list of commands that belongs to that cog. + """ + return None + + async def send_cog_help(self, cog): + """|coro| + + Handles the implementation of the cog page in the help command. + This function is called when the help command is called with a cog as the argument. + + It should be noted that this method does not return anything -- rather the + actual message sending should be done inside this method. Well behaved subclasses + should use :meth:`get_destination` to know where to send, as this is a customisation + point for other users. + + You can override this method to customise the behaviour. + + .. note:: + + You can access the invocation context with :attr:`HelpCommand.context`. + + To get the commands that belong to this cog see :meth:`Cog.get_commands`. + The commands returned not filtered. To do the filtering you will have to call + :meth:`filter_commands` yourself. + + Parameters + ----------- + cog: :class:`Cog` + The cog that was requested for help. + """ + return None + + async def send_group_help(self, group): + """|coro| + + Handles the implementation of the group page in the help command. + This function is called when the help command is called with a group as the argument. + + It should be noted that this method does not return anything -- rather the + actual message sending should be done inside this method. Well behaved subclasses + should use :meth:`get_destination` to know where to send, as this is a customisation + point for other users. + + You can override this method to customise the behaviour. + + .. note:: + + You can access the invocation context with :attr:`HelpCommand.context`. + + To get the commands that belong to this group without aliases see + :attr:`Group.commands`. The commands returned not filtered. To do the + filtering you will have to call :meth:`filter_commands` yourself. + + Parameters + ----------- + group: :class:`Group` + The group that was requested for help. + """ + return None + + async def send_command_help(self, command): + """|coro| + + Handles the implementation of the single command page in the help command. + + It should be noted that this method does not return anything -- rather the + actual message sending should be done inside this method. Well behaved subclasses + should use :meth:`get_destination` to know where to send, as this is a customisation + point for other users. + + You can override this method to customise the behaviour. + + .. note:: + + You can access the invocation context with :attr:`HelpCommand.context`. + + .. admonition:: Showing Help + :class: helpful + + There are certain attributes and methods that are helpful for a help command + to show such as the following: + + - :attr:`Command.help` + - :attr:`Command.brief` + - :attr:`Command.short_doc` + - :attr:`Command.description` + - :meth:`get_command_signature` + + There are more than just these attributes but feel free to play around with + these to help you get started to get the output that you want. + + Parameters + ----------- + command: :class:`Command` + The command that was requested for help. + """ + return None + + async def prepare_help_command(self, ctx, command=None): + """|coro| + + A low level method that can be used to prepare the help command + before it does anything. For example, if you need to prepare + some state in your subclass before the command does its processing + then this would be the place to do it. + + The default implementation sets :attr:`context`. + + .. warning:: + + If you override this method, be sure to call ``super()`` + so the help command can be set up. + + .. note:: + + This is called *inside* the help command callback body. So all + the usual rules that happen inside apply here as well. + + Parameters + ----------- + ctx: :class:`Context` + The invocation context. + command: Optional[:class:`str`] + The argument passed to the help command. + """ + self.context = ctx + + async def command_callback(self, ctx, *, command=None): + """|coro| + + The actual implementation of the help command. + + It is not recommended to override this method and instead change + the behaviour through the methods that actually get dispatched. + + - :meth:`send_bot_help` + - :meth:`send_cog_help` + - :meth:`send_group_help` + - :meth:`send_command_help` + - :meth:`get_destination` + - :meth:`command_not_found` + - :meth:`subcommand_not_found` + - :meth:`send_error_message` + - :meth:`on_help_command_error` + - :meth:`prepare_help_command` + """ + await self.prepare_help_command(ctx, command) + bot = ctx.bot + + if command is None: + mapping = self.get_bot_mapping() + return await self.send_bot_help(mapping) + + # Check if it's a cog + cog = bot.get_cog(command) + if cog is not None: + return await self.send_cog_help(cog) + + maybe_coro = discord.utils.maybe_coroutine + + # If it's not a cog then it's a command. + # Since we want to have detailed errors when someone + # passes an invalid subcommand, we need to walk through + # the command group chain ourselves. + keys = command.split(' ') + cmd = bot.all_commands.get(keys[0]) + if cmd is None: + string = await maybe_coro(self.command_not_found, self.remove_mentions(keys[0])) + return await self.send_error_message(string) + + for key in keys[1:]: + try: + found = cmd.all_commands.get(key) + except AttributeError: + string = await maybe_coro(self.subcommand_not_found, cmd, self.remove_mentions(key)) + return await self.send_error_message(string) + else: + if found is None: + string = await maybe_coro(self.subcommand_not_found, cmd, self.remove_mentions(key)) + return await self.send_error_message(string) + cmd = found + + if isinstance(cmd, Group): + return await self.send_group_help(cmd) + else: + return await self.send_command_help(cmd) + +class DefaultHelpCommand(HelpCommand): + """The implementation of the default help command. + + This inherits from :class:`HelpCommand`. + + It extends it with the following attributes. + + Attributes + ------------ + width: :class:`int` + The maximum number of characters that fit in a line. + Defaults to 80. + sort_commands: :class:`bool` + Whether to sort the commands in the output alphabetically. Defaults to ``True``. + dm_help: Optional[:class:`bool`] + A tribool that indicates if the help command should DM the user instead of + sending it to the channel it received it from. If the boolean is set to + ``True``, then all help output is DM'd. If ``False``, none of the help + output is DM'd. If ``None``, then the bot will only DM when the help + message becomes too long (dictated by more than :attr:`dm_help_threshold` characters). + Defaults to ``False``. + dm_help_threshold: Optional[:class:`int`] + The number of characters the paginator must accumulate before getting DM'd to the + user if :attr:`dm_help` is set to ``None``. Defaults to 1000. + indent: :class:`int` + How much to intend the commands from a heading. Defaults to ``2``. + commands_heading: :class:`str` + The command list's heading string used when the help command is invoked with a category name. + Useful for i18n. Defaults to ``"Commands:"`` + no_category: :class:`str` + The string used when there is a command which does not belong to any category(cog). + Useful for i18n. Defaults to ``"No Category"`` + paginator: :class:`Paginator` + The paginator used to paginate the help command output. + """ + + def __init__(self, **options): + self.width = options.pop('width', 80) + self.indent = options.pop('indent', 2) + self.sort_commands = options.pop('sort_commands', True) + self.dm_help = options.pop('dm_help', False) + self.dm_help_threshold = options.pop('dm_help_threshold', 1000) + self.commands_heading = options.pop('commands_heading', "Commands:") + self.no_category = options.pop('no_category', 'No Category') + self.paginator = options.pop('paginator', None) + + if self.paginator is None: + self.paginator = Paginator() + + super().__init__(**options) + + def shorten_text(self, text): + """Shortens text to fit into the :attr:`width`.""" + if len(text) > self.width: + return text[:self.width - 3] + '...' + return text + + def get_ending_note(self): + """Returns help command's ending note. This is mainly useful to override for i18n purposes.""" + command_name = self.invoked_with + return "Type {0}{1} command for more info on a command.\n" \ + "You can also type {0}{1} category for more info on a category.".format(self.clean_prefix, command_name) + + def add_indented_commands(self, commands, *, heading, max_size=None): + """Indents a list of commands after the specified heading. + + The formatting is added to the :attr:`paginator`. + + The default implementation is the command name indented by + :attr:`indent` spaces, padded to ``max_size`` followed by + the command's :attr:`Command.short_doc` and then shortened + to fit into the :attr:`width`. + + Parameters + ----------- + commands: Sequence[:class:`Command`] + A list of commands to indent for output. + heading: :class:`str` + The heading to add to the output. This is only added + if the list of commands is greater than 0. + max_size: Optional[:class:`int`] + The max size to use for the gap between indents. + If unspecified, calls :meth:`get_max_size` on the + commands parameter. + """ + + if not commands: + return + + self.paginator.add_line(heading) + max_size = max_size or self.get_max_size(commands) + + get_width = discord.utils._string_width + for command in commands: + name = command.name + width = max_size - (get_width(name) - len(name)) + entry = '{0}{1:<{width}} {2}'.format(self.indent * ' ', name, command.short_doc, width=width) + self.paginator.add_line(self.shorten_text(entry)) + + async def send_pages(self): + """A helper utility to send the page output from :attr:`paginator` to the destination.""" + destination = self.get_destination() + for page in self.paginator.pages: + await destination.send(page) + + def add_command_formatting(self, command): + """A utility function to format the non-indented block of commands and groups. + + Parameters + ------------ + command: :class:`Command` + The command to format. + """ + + if command.description: + self.paginator.add_line(command.description, empty=True) + + signature = self.get_command_signature(command) + self.paginator.add_line(signature, empty=True) + + if command.help: + try: + self.paginator.add_line(command.help, empty=True) + except RuntimeError: + for line in command.help.splitlines(): + self.paginator.add_line(line) + self.paginator.add_line() + + def get_destination(self): + ctx = self.context + if self.dm_help is True: + return ctx.author + elif self.dm_help is None and len(self.paginator) > self.dm_help_threshold: + return ctx.author + else: + return ctx.channel + + async def prepare_help_command(self, ctx, command): + self.paginator.clear() + await super().prepare_help_command(ctx, command) + + async def send_bot_help(self, mapping): + ctx = self.context + bot = ctx.bot + + if bot.description: + # <description> portion + self.paginator.add_line(bot.description, empty=True) + + no_category = '\u200b{0.no_category}:'.format(self) + def get_category(command, *, no_category=no_category): + cog = command.cog + return cog.qualified_name + ':' if cog is not None else no_category + + filtered = await self.filter_commands(bot.commands, sort=True, key=get_category) + max_size = self.get_max_size(filtered) + to_iterate = itertools.groupby(filtered, key=get_category) + + # Now we can add the commands to the page. + for category, commands in to_iterate: + commands = sorted(commands, key=lambda c: c.name) if self.sort_commands else list(commands) + self.add_indented_commands(commands, heading=category, max_size=max_size) + + note = self.get_ending_note() + if note: + self.paginator.add_line() + self.paginator.add_line(note) + + await self.send_pages() + + async def send_command_help(self, command): + self.add_command_formatting(command) + self.paginator.close_page() + await self.send_pages() + + async def send_group_help(self, group): + self.add_command_formatting(group) + + filtered = await self.filter_commands(group.commands, sort=self.sort_commands) + self.add_indented_commands(filtered, heading=self.commands_heading) + + if filtered: + note = self.get_ending_note() + if note: + self.paginator.add_line() + self.paginator.add_line(note) + + await self.send_pages() + + async def send_cog_help(self, cog): + if cog.description: + self.paginator.add_line(cog.description, empty=True) + + filtered = await self.filter_commands(cog.get_commands(), sort=self.sort_commands) + self.add_indented_commands(filtered, heading=self.commands_heading) + + note = self.get_ending_note() + if note: + self.paginator.add_line() + self.paginator.add_line(note) + + await self.send_pages() + +class MinimalHelpCommand(HelpCommand): + """An implementation of a help command with minimal output. + + This inherits from :class:`HelpCommand`. + + Attributes + ------------ + sort_commands: :class:`bool` + Whether to sort the commands in the output alphabetically. Defaults to ``True``. + commands_heading: :class:`str` + The command list's heading string used when the help command is invoked with a category name. + Useful for i18n. Defaults to ``"Commands"`` + aliases_heading: :class:`str` + The alias list's heading string used to list the aliases of the command. Useful for i18n. + Defaults to ``"Aliases:"``. + dm_help: Optional[:class:`bool`] + A tribool that indicates if the help command should DM the user instead of + sending it to the channel it received it from. If the boolean is set to + ``True``, then all help output is DM'd. If ``False``, none of the help + output is DM'd. If ``None``, then the bot will only DM when the help + message becomes too long (dictated by more than :attr:`dm_help_threshold` characters). + Defaults to ``False``. + dm_help_threshold: Optional[:class:`int`] + The number of characters the paginator must accumulate before getting DM'd to the + user if :attr:`dm_help` is set to ``None``. Defaults to 1000. + no_category: :class:`str` + The string used when there is a command which does not belong to any category(cog). + Useful for i18n. Defaults to ``"No Category"`` + paginator: :class:`Paginator` + The paginator used to paginate the help command output. + """ + + def __init__(self, **options): + self.sort_commands = options.pop('sort_commands', True) + self.commands_heading = options.pop('commands_heading', "Commands") + self.dm_help = options.pop('dm_help', False) + self.dm_help_threshold = options.pop('dm_help_threshold', 1000) + self.aliases_heading = options.pop('aliases_heading', "Aliases:") + self.no_category = options.pop('no_category', 'No Category') + self.paginator = options.pop('paginator', None) + + if self.paginator is None: + self.paginator = Paginator(suffix=None, prefix=None) + + super().__init__(**options) + + async def send_pages(self): + """A helper utility to send the page output from :attr:`paginator` to the destination.""" + destination = self.get_destination() + for page in self.paginator.pages: + await destination.send(page) + + def get_opening_note(self): + """Returns help command's opening note. This is mainly useful to override for i18n purposes. + + The default implementation returns :: + + Use `{prefix}{command_name} [command]` for more info on a command. + You can also use `{prefix}{command_name} [category]` for more info on a category. + + """ + command_name = self.invoked_with + return "Use `{0}{1} [command]` for more info on a command.\n" \ + "You can also use `{0}{1} [category]` for more info on a category.".format(self.clean_prefix, command_name) + + def get_command_signature(self, command): + return '%s%s %s' % (self.clean_prefix, command.qualified_name, command.signature) + + def get_ending_note(self): + """Return the help command's ending note. This is mainly useful to override for i18n purposes. + + The default implementation does nothing. + """ + return None + + def add_bot_commands_formatting(self, commands, heading): + """Adds the minified bot heading with commands to the output. + + The formatting should be added to the :attr:`paginator`. + + The default implementation is a bold underline heading followed + by commands separated by an EN SPACE (U+2002) in the next line. + + Parameters + ----------- + commands: Sequence[:class:`Command`] + A list of commands that belong to the heading. + heading: :class:`str` + The heading to add to the line. + """ + if commands: + # U+2002 Middle Dot + joined = '\u2002'.join(c.name for c in commands) + self.paginator.add_line('__**%s**__' % heading) + self.paginator.add_line(joined) + + def add_subcommand_formatting(self, command): + """Adds formatting information on a subcommand. + + The formatting should be added to the :attr:`paginator`. + + The default implementation is the prefix and the :attr:`Command.qualified_name` + optionally followed by an En dash and the command's :attr:`Command.short_doc`. + + Parameters + ----------- + command: :class:`Command` + The command to show information of. + """ + fmt = '{0}{1} \N{EN DASH} {2}' if command.short_doc else '{0}{1}' + self.paginator.add_line(fmt.format(self.clean_prefix, command.qualified_name, command.short_doc)) + + def add_aliases_formatting(self, aliases): + """Adds the formatting information on a command's aliases. + + The formatting should be added to the :attr:`paginator`. + + The default implementation is the :attr:`aliases_heading` bolded + followed by a comma separated list of aliases. + + This is not called if there are no aliases to format. + + Parameters + ----------- + aliases: Sequence[:class:`str`] + A list of aliases to format. + """ + self.paginator.add_line('**%s** %s' % (self.aliases_heading, ', '.join(aliases)), empty=True) + + def add_command_formatting(self, command): + """A utility function to format commands and groups. + + Parameters + ------------ + command: :class:`Command` + The command to format. + """ + + if command.description: + self.paginator.add_line(command.description, empty=True) + + signature = self.get_command_signature(command) + if command.aliases: + self.paginator.add_line(signature) + self.add_aliases_formatting(command.aliases) + else: + self.paginator.add_line(signature, empty=True) + + if command.help: + try: + self.paginator.add_line(command.help, empty=True) + except RuntimeError: + for line in command.help.splitlines(): + self.paginator.add_line(line) + self.paginator.add_line() + + def get_destination(self): + ctx = self.context + if self.dm_help is True: + return ctx.author + elif self.dm_help is None and len(self.paginator) > self.dm_help_threshold: + return ctx.author + else: + return ctx.channel + + async def prepare_help_command(self, ctx, command): + self.paginator.clear() + await super().prepare_help_command(ctx, command) + + async def send_bot_help(self, mapping): + ctx = self.context + bot = ctx.bot + + if bot.description: + self.paginator.add_line(bot.description, empty=True) + + note = self.get_opening_note() + if note: + self.paginator.add_line(note, empty=True) + + no_category = '\u200b{0.no_category}'.format(self) + def get_category(command, *, no_category=no_category): + cog = command.cog + return cog.qualified_name if cog is not None else no_category + + filtered = await self.filter_commands(bot.commands, sort=True, key=get_category) + to_iterate = itertools.groupby(filtered, key=get_category) + + for category, commands in to_iterate: + commands = sorted(commands, key=lambda c: c.name) if self.sort_commands else list(commands) + self.add_bot_commands_formatting(commands, category) + + note = self.get_ending_note() + if note: + self.paginator.add_line() + self.paginator.add_line(note) + + await self.send_pages() + + async def send_cog_help(self, cog): + bot = self.context.bot + if bot.description: + self.paginator.add_line(bot.description, empty=True) + + note = self.get_opening_note() + if note: + self.paginator.add_line(note, empty=True) + + filtered = await self.filter_commands(cog.get_commands(), sort=self.sort_commands) + if filtered: + self.paginator.add_line('**%s %s**' % (cog.qualified_name, self.commands_heading)) + for command in filtered: + self.add_subcommand_formatting(command) + + note = self.get_ending_note() + if note: + self.paginator.add_line() + self.paginator.add_line(note) + + await self.send_pages() + + async def send_group_help(self, group): + self.add_command_formatting(group) + + filtered = await self.filter_commands(group.commands, sort=self.sort_commands) + if filtered: + note = self.get_opening_note() + if note: + self.paginator.add_line(note, empty=True) + + self.paginator.add_line('**%s**' % self.commands_heading) + for command in filtered: + self.add_subcommand_formatting(command) + + note = self.get_ending_note() + if note: + self.paginator.add_line() + self.paginator.add_line(note) + + await self.send_pages() + + async def send_command_help(self, command): + self.add_command_formatting(command) + self.paginator.close_page() + await self.send_pages() diff --git a/venv/lib/python3.6/site-packages/discord/ext/commands/view.py b/venv/lib/python3.6/site-packages/discord/ext/commands/view.py new file mode 100644 index 0000000..91cc06b --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/commands/view.py @@ -0,0 +1,194 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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 .errors import UnexpectedQuoteError, InvalidEndOfQuotedStringError, ExpectedClosingQuoteError + +# map from opening quotes to closing quotes +_quotes = { + '"': '"', + "‘": "’", + "‚": "‛", + "“": "”", + "„": "‟", + "⹂": "⹂", + "「": "」", + "『": "』", + "〝": "〞", + "﹁": "﹂", + "﹃": "﹄", + """: """, + "「": "」", + "«": "»", + "‹": "›", + "《": "》", + "〈": "〉", +} +_all_quotes = set(_quotes.keys()) | set(_quotes.values()) + +class StringView: + def __init__(self, buffer): + self.index = 0 + self.buffer = buffer + self.end = len(buffer) + self.previous = 0 + + @property + def current(self): + return None if self.eof else self.buffer[self.index] + + @property + def eof(self): + return self.index >= self.end + + def undo(self): + self.index = self.previous + + def skip_ws(self): + pos = 0 + while not self.eof: + try: + current = self.buffer[self.index + pos] + if not current.isspace(): + break + pos += 1 + except IndexError: + break + + self.previous = self.index + self.index += pos + return self.previous != self.index + + def skip_string(self, string): + strlen = len(string) + if self.buffer[self.index:self.index + strlen] == string: + self.previous = self.index + self.index += strlen + return True + return False + + def read_rest(self): + result = self.buffer[self.index:] + self.previous = self.index + self.index = self.end + return result + + def read(self, n): + result = self.buffer[self.index:self.index + n] + self.previous = self.index + self.index += n + return result + + def get(self): + try: + result = self.buffer[self.index + 1] + except IndexError: + result = None + + self.previous = self.index + self.index += 1 + return result + + def get_word(self): + pos = 0 + while not self.eof: + try: + current = self.buffer[self.index + pos] + if current.isspace(): + break + pos += 1 + except IndexError: + break + self.previous = self.index + result = self.buffer[self.index:self.index + pos] + self.index += pos + return result + + def get_quoted_word(self): + current = self.current + if current is None: + return None + + close_quote = _quotes.get(current) + is_quoted = bool(close_quote) + if is_quoted: + result = [] + _escaped_quotes = (current, close_quote) + else: + result = [current] + _escaped_quotes = _all_quotes + + while not self.eof: + current = self.get() + if not current: + if is_quoted: + # unexpected EOF + raise ExpectedClosingQuoteError(close_quote) + return ''.join(result) + + # currently we accept strings in the format of "hello world" + # to embed a quote inside the string you must escape it: "a \"world\"" + if current == '\\': + next_char = self.get() + if not next_char: + # string ends with \ and no character after it + if is_quoted: + # if we're quoted then we're expecting a closing quote + raise ExpectedClosingQuoteError(close_quote) + # if we aren't then we just let it through + return ''.join(result) + + if next_char in _escaped_quotes: + # escaped quote + result.append(next_char) + else: + # different escape character, ignore it + self.undo() + result.append(current) + continue + + if not is_quoted and current in _all_quotes: + # we aren't quoted + raise UnexpectedQuoteError(current) + + # closing quote + if is_quoted and current == close_quote: + next_char = self.get() + valid_eof = not next_char or next_char.isspace() + if not valid_eof: + raise InvalidEndOfQuotedStringError(next_char) + + # we're quoted so it's okay + return ''.join(result) + + if current.isspace() and not is_quoted: + # end of word found + return ''.join(result) + + result.append(current) + + + def __repr__(self): + return '<StringView pos: {0.index} prev: {0.previous} end: {0.end} eof: {0.eof}>'.format(self) diff --git a/venv/lib/python3.6/site-packages/discord/ext/ipc/__init__.py b/venv/lib/python3.6/site-packages/discord/ext/ipc/__init__.py new file mode 100644 index 0000000..3767e14 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/ipc/__init__.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- + +""" +discord.ext.ipc +~~~~~~~~~~~~~~~~~~~~~ + +An extension module to help with Interprocess Communication (IPC) + +:copyright: (c) 2017 Rapptz +:license: MIT, see LICENSE for more details. +""" + +from .errors import * +from .client import Client +from .server import Handler, Server +from .protocol import Protocol diff --git a/venv/lib/python3.6/site-packages/discord/ext/ipc/client.py b/venv/lib/python3.6/site-packages/discord/ext/ipc/client.py new file mode 100644 index 0000000..aed64ef --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/ipc/client.py @@ -0,0 +1,85 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2017 Rapptz + +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 .protocol import Protocol +from .errors import HandshakeError + +import asyncio +import binascii +import hashlib +import hmac +import os + +class Client(Protocol): + def __init__(self, *, host: str, port: int, secret: str, id: str, **kwargs): + super().__init__(**kwargs) + self.host = host + self.port = port + self.id = str(id) + self.secret = secret + + async def handshake(self): + self.reader, self.writer = await asyncio.open_connection(self.host, self.port, loop=self.loop) + + # this code here is just proving who we are + nonce = binascii.hexlify(os.urandom(32)) + nonce_str = nonce.decode('utf-8') + secret_as_bytes = self.secret.encode('utf-8') + payload = self.id.encode('utf-8') + b':' + nonce + hmac_hex = hmac.new(secret_as_bytes, payload, digestmod=hashlib.sha256).hexdigest() + + + await self.send('auth_login', { + 'client_id': self.id, + 'client_nonce': nonce_str, + 'digest': hmac_hex + }, drain=True) + + op, data = await self.expect_any_of('auth_pass', 'auth_fail') + + # server doesn't recognise us for some reason + if op == 'auth_fail': + raise HandshakeError(data['reason']) + + + # the server gives us back our PSK as proof that it knows who we are + server_digest = data['digest'] + server_payload = payload + b':' + hmac_hex.encode('utf-8') + + # we must verify that the PSK matches what we expect + expected_digest = hmac.new(secret_as_bytes, server_payload, digestmod=hashlib.sha256).hexdigest() + if not hmac.compare_digest(server_digest, expected_digest): + await self.send('auth_fail', { 'reason': 'Server digest does not match' }, drain=True) + raise HandshakeError('Server digest does not match.') + + # since we have successfully logged on, we should send the server our info (if we have any) + await self.send('auth_pass', { 'info': self.get_info() }, drain=True) + + # and then return the server's info + return data['info'] + + def get_info(self): + return {} diff --git a/venv/lib/python3.6/site-packages/discord/ext/ipc/errors.py b/venv/lib/python3.6/site-packages/discord/ext/ipc/errors.py new file mode 100644 index 0000000..66e5cdc --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/ipc/errors.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2017 Rapptz + +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. +""" + +class IPCError(Exception): + """Base exception for all IPC related errors.""" + pass + +class HandshakeError(IPCError): + """Exception thrown when handshake fails.""" + pass diff --git a/venv/lib/python3.6/site-packages/discord/ext/ipc/protocol.py b/venv/lib/python3.6/site-packages/discord/ext/ipc/protocol.py new file mode 100644 index 0000000..0c9d2e0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/ipc/protocol.py @@ -0,0 +1,134 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2017 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import logging +import asyncio +import struct +import json + +log = logging.getLogger(__name__) + +def json_dump(o): + x = json.dumps(o) + return bytes(x, encoding='utf-8') + +def json_load(o): + return json.loads(str(o, encoding='utf-8')) + +class Protocol: + handshake_timeout = 20 + + PACKET_SIZE_STRUCT = struct.Struct('>I') + + def __init__(self, *, loop=None, reader=None, writer=None, loader=json_load, dumper=json_dump): + self.loop = loop or asyncio.get_event_loop() + + # these could be initialized later + self.reader = reader + self.writer = writer + + self.loader = loader + self.dumper = dumper + + self._runner_task = None + + async def send(self, op, data, *, drain=False): + dumped = self.dumper({ 'op': op, 'd': data }) + packet = self.PACKET_SIZE_STRUCT.pack(len(dumped)) + dumped + self.writer.write(packet) + + if drain: + await self.writer.drain() + + async def recv(self): + to_read = await self.reader.readexactly(self.PACKET_SIZE_STRUCT.size) + packet_length, = self.PACKET_SIZE_STRUCT.unpack(to_read) + packet = await self.reader.readexactly(packet_length) + data = self.loader(packet) + return data['op'], data['d'] + + async def expect_any_of(self, *opcodes): + op, data = await self.recv() + if opcodes and op not in opcodes: + raise ValueError('Expected %r opcodes but received %r instead' % (opcodes, op)) + + return op, data + + async def handshake(self): + raise NotImplementedError() + + def get_info(self): + raise NotImplementedError() + + async def _runner(self): + close_reason = None + + try: + await self.handle_ready(self.remote_info) + + while True: + op, data = await self.recv() + + log.debug('Received opcode (%s) with %r', op, data) + try: + handler = getattr(self, 'handle_' + op) + except AttributeError: + log.info('unhandled upcode (%s) with %r', op, data) + else: + await handler(data) + + except asyncio.IncompleteReadError: + close_reason = 'Incomplete read' + except asyncio.TimeoutError: + close_reason = 'An operation timed out' + except asyncio.CancelledError: + close_reason = 'A future was cancelled' + except Exception as e: + close_reason = str(e) + finally: + self._runner_task.set_result(close_reason) + await self.handle_close(close_reason) + + def _run(self): + self._runner_task = asyncio.ensure_future(self._runner(), loop=self.loop) + return self._runner_task + + def is_running(self): + t = self._runner_task + return t is not None and not t.done() + + async def handle_ready(self, remote_info): + pass + + async def handle_close(self, readon): + pass + + async def start(self): + try: + self.remote_info = await asyncio.wait_for(self.handshake(), self.handshake_timeout, loop=self.loop) + await self._run() + finally: + self.writer.close() diff --git a/venv/lib/python3.6/site-packages/discord/ext/ipc/server.py b/venv/lib/python3.6/site-packages/discord/ext/ipc/server.py new file mode 100644 index 0000000..3b30d9a --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/ext/ipc/server.py @@ -0,0 +1,133 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2017 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import asyncio +import hashlib +import hmac + +from .protocol import Protocol +from .errors import HandshakeError + +class Handler(Protocol): + def __init__(self, server, reader, writer, **kwargs): + super().__init__(loop=server.loop, reader=reader, writer=writer, **kwargs) + self.server = server + self.id = None + self.addr = self.writer.get_extra_info('peername') + + async def handshake(self): + # wait for login success + _, data = await self.expect_any_of('auth_login') + + # clients are identified by a secret PSK and an ID. + self.id = client_id = data['client_id'] + client_secret = self.server.get_client_secret(client_id) + + if client_secret is None: + reason = 'Unknown Client ID: ' + client_id + await self.send('auth_fail', { 'reason': reason }, drain=True) + raise HandshakeError(reason) + + client_secret = client_secret.encode('utf-8') + client_nonce = data['client_nonce'].encode('utf-8') + client_digest = data['digest'] + payload = client_id.encode('utf-8') + b':' + client_nonce + + expected_digest = hmac.new(client_secret, payload, digestmod=hashlib.sha256).hexdigest() + + if not hmac.compare_digest(client_digest, expected_digest): + reason = 'Bad secret for client ID ' + client_id + await self.send('auth_fail', { 'reason': reason }, drain=True) + raise HandshakeError(reason) + + server_payload = payload + b':' + client_digest.encode('utf-8') + server_digest = hmac.new(client_secret, server_payload, digestmod=hashlib.sha256).hexdigest() + + to_send = { 'digest': server_digest, 'info': self.server.get_server_info(self) } + await self.send('auth_pass', to_send, drain=True) + + # Ensure the client accepted our secret + op, data = await self.expect_any_of('auth_pass', 'auth_fail') + if op == 'auth_fail': + raise HandshakeError(data['reason']) + + return data['info'] + + async def start(self): + try: + self.remote_info = await asyncio.wait_for(self.handshake(), self.handshake_timeout, loop=self.loop) + await self.server.connect_client(self) + await self._run() + finally: + self.writer.close() + await self.server.disconnect_client(self) + +class Server: + handler = Handler + + def __init__(self, host='127.0.0.1', port=3000, *, loop=None, **kwargs): + self.clients = set() + self.host = host + self.port = port + self.server = None + self.loop = loop or asyncio.get_event_loop() + self._tasks = {} + self._kwargs = kwargs + + async def _accept(self, reader, writer): + client = self.handler(self, reader=reader, writer=writer, **self._kwargs) + self._tasks[client] = asyncio.ensure_future(client.start(), loop=self.loop) + + async def start(self): + self.server = await asyncio.start_server(self._accept, host=self.host, port=self.port, loop=self.loop) + + def get_server_info(self, client): + return {} + + def get_client_secret(self, client_id): + raise NotImplementedError() + + async def disconnect_client(self, client): + try: + self.clients.remove(client) + except KeyError: + pass + else: + t = self._tasks.pop(client, None) + if t: + t.cancel() + + await self.on_client_disconnect(client) + + async def connect_client(self, client): + self.clients.add(client) + await self.on_client_connect(client) + + async def on_client_connect(self, client): + pass + + async def on_client_disconnect(self, client): + pass diff --git a/venv/lib/python3.6/site-packages/discord/file.py b/venv/lib/python3.6/site-packages/discord/file.py new file mode 100644 index 0000000..7240b88 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/file.py @@ -0,0 +1,105 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import os.path +import io + +class File: + """A parameter object used for :meth:`abc.Messageable.send` + for sending file objects. + + Attributes + ----------- + fp: Union[:class:`str`, BinaryIO] + A file-like object opened in binary mode and read mode + or a filename representing a file in the hard drive to + open. + + .. note:: + + If the file-like object passed is opened via ``open`` then the + modes 'rb' should be used. + + To pass binary data, consider usage of ``io.BytesIO``. + + filename: Optional[:class:`str`] + The filename to display when uploading to Discord. + If this is not given then it defaults to ``fp.name`` or if ``fp`` is + a string then the ``filename`` will default to the string given. + spoiler: :class:`bool` + Whether the attachment is a spoiler. + """ + + __slots__ = ('fp', 'filename', '_original_pos', '_owner', '_closer') + + def __init__(self, fp, filename=None, *, spoiler=False): + self.fp = fp + + if isinstance(fp, io.IOBase): + if not (fp.seekable() and fp.readable()): + raise ValueError('File buffer {!r} must be seekable and readable'.format(fp)) + self.fp = fp + self._original_pos = fp.tell() + self._owner = False + else: + self.fp = open(fp, 'rb') + self._original_pos = 0 + self._owner = True + + # aiohttp only uses two methods from IOBase + # read and close, since I want to control when the files + # close, I need to stub it so it doesn't close unless + # I tell it to + self._closer = self.fp.close + self.fp.close = lambda: None + + if filename is None: + if isinstance(fp, str): + _, self.filename = os.path.split(fp) + else: + self.filename = getattr(fp, 'name', None) + else: + self.filename = filename + + if spoiler and self.filename is not None and not self.filename.startswith('SPOILER_'): + self.filename = 'SPOILER_' + self.filename + + def reset(self, *, seek=True): + # The `seek` parameter is needed because + # the retry-loop is iterated over multiple times + # starting from 0, as an implementation quirk + # the resetting must be done at the beginning + # before a request is done, since the first index + # is 0, and thus false, then this prevents an + # unnecessary seek since it's the first request + # done. + if seek: + self.fp.seek(self._original_pos) + + def close(self): + self.fp.close = self._closer + if self._owner: + self._closer() diff --git a/venv/lib/python3.6/site-packages/discord/gateway.py b/venv/lib/python3.6/site-packages/discord/gateway.py new file mode 100644 index 0000000..bc9a17a --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/gateway.py @@ -0,0 +1,739 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import asyncio +from collections import namedtuple +import concurrent.futures +import json +import logging +import struct +import sys +import time +import threading +import zlib + +import websockets + +from . import utils +from .activity import _ActivityTag +from .enums import SpeakingState +from .errors import ConnectionClosed, InvalidArgument + +log = logging.getLogger(__name__) + +__all__ = ['DiscordWebSocket', 'KeepAliveHandler', 'VoiceKeepAliveHandler', + 'DiscordVoiceWebSocket', 'ResumeWebSocket'] + +class ResumeWebSocket(Exception): + """Signals to initialise via RESUME opcode instead of IDENTIFY.""" + def __init__(self, shard_id): + self.shard_id = shard_id + +EventListener = namedtuple('EventListener', 'predicate event result future') + +class KeepAliveHandler(threading.Thread): + def __init__(self, *args, **kwargs): + ws = kwargs.pop('ws', None) + interval = kwargs.pop('interval', None) + shard_id = kwargs.pop('shard_id', None) + threading.Thread.__init__(self, *args, **kwargs) + self.ws = ws + self.interval = interval + self.daemon = True + self.shard_id = shard_id + self.msg = 'Keeping websocket alive with sequence %s.' + self.block_msg = 'Heartbeat blocked for more than %s seconds.' + self.behind_msg = 'Can\'t keep up, websocket is %.1fs behind.' + self._stop_ev = threading.Event() + self._last_ack = time.perf_counter() + self._last_send = time.perf_counter() + self.latency = float('inf') + self.heartbeat_timeout = ws._max_heartbeat_timeout + + def run(self): + while not self._stop_ev.wait(self.interval): + if self._last_ack + self.heartbeat_timeout < time.perf_counter(): + log.warning("Shard ID %s has stopped responding to the gateway. Closing and restarting.", self.shard_id) + coro = self.ws.close(4000) + f = asyncio.run_coroutine_threadsafe(coro, loop=self.ws.loop) + + try: + f.result() + except Exception: + pass + finally: + self.stop() + return + + data = self.get_payload() + log.debug(self.msg, data['d']) + coro = self.ws.send_as_json(data) + f = asyncio.run_coroutine_threadsafe(coro, loop=self.ws.loop) + try: + # block until sending is complete + total = 0 + while True: + try: + f.result(5) + break + except concurrent.futures.TimeoutError: + total += 5 + log.warning(self.block_msg, total) + + except Exception: + self.stop() + else: + self._last_send = time.perf_counter() + + def get_payload(self): + return { + 'op': self.ws.HEARTBEAT, + 'd': self.ws.sequence + } + + def stop(self): + self._stop_ev.set() + + def ack(self): + ack_time = time.perf_counter() + self._last_ack = ack_time + self.latency = ack_time - self._last_send + if self.latency > 10: + log.warning(self.behind_msg, self.latency) + +class VoiceKeepAliveHandler(KeepAliveHandler): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.msg = 'Keeping voice websocket alive with timestamp %s.' + self.block_msg = 'Voice heartbeat blocked for more than %s seconds' + self.behind_msg = 'Can\'t keep up, voice websocket is %.1fs behind' + + def get_payload(self): + return { + 'op': self.ws.HEARTBEAT, + 'd': int(time.time() * 1000) + } + +class DiscordWebSocket(websockets.client.WebSocketClientProtocol): + """Implements a WebSocket for Discord's gateway v6. + + This is created through :func:`create_main_websocket`. Library + users should never create this manually. + + Attributes + ----------- + DISPATCH + Receive only. Denotes an event to be sent to Discord, such as READY. + HEARTBEAT + When received tells Discord to keep the connection alive. + When sent asks if your connection is currently alive. + IDENTIFY + Send only. Starts a new session. + PRESENCE + Send only. Updates your presence. + VOICE_STATE + Send only. Starts a new connection to a voice guild. + VOICE_PING + Send only. Checks ping time to a voice guild, do not use. + RESUME + Send only. Resumes an existing connection. + RECONNECT + Receive only. Tells the client to reconnect to a new gateway. + REQUEST_MEMBERS + Send only. Asks for the full member list of a guild. + INVALIDATE_SESSION + Receive only. Tells the client to optionally invalidate the session + and IDENTIFY again. + HELLO + Receive only. Tells the client the heartbeat interval. + HEARTBEAT_ACK + Receive only. Confirms receiving of a heartbeat. Not having it implies + a connection issue. + GUILD_SYNC + Send only. Requests a guild sync. + gateway + The gateway we are currently connected to. + token + The authentication token for discord. + """ + + DISPATCH = 0 + HEARTBEAT = 1 + IDENTIFY = 2 + PRESENCE = 3 + VOICE_STATE = 4 + VOICE_PING = 5 + RESUME = 6 + RECONNECT = 7 + REQUEST_MEMBERS = 8 + INVALIDATE_SESSION = 9 + HELLO = 10 + HEARTBEAT_ACK = 11 + GUILD_SYNC = 12 + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.max_size = None + # an empty dispatcher to prevent crashes + self._dispatch = lambda *args: None + # generic event listeners + self._dispatch_listeners = [] + # the keep alive + self._keep_alive = None + + # ws related stuff + self.session_id = None + self.sequence = None + self._zlib = zlib.decompressobj() + self._buffer = bytearray() + + @classmethod + async def from_client(cls, client, *, shard_id=None, session=None, sequence=None, resume=False): + """Creates a main websocket for Discord from a :class:`Client`. + + This is for internal use only. + """ + gateway = await client.http.get_gateway() + ws = await websockets.connect(gateway, loop=client.loop, klass=cls, compression=None) + + # dynamically add attributes needed + ws.token = client.http.token + ws._connection = client._connection + ws._dispatch = client.dispatch + ws.gateway = gateway + ws.shard_id = shard_id + ws.shard_count = client._connection.shard_count + ws.session_id = session + ws.sequence = sequence + ws._max_heartbeat_timeout = client._connection.heartbeat_timeout + + client._connection._update_references(ws) + + log.info('Created websocket connected to %s', gateway) + + # poll event for OP Hello + await ws.poll_event() + + if not resume: + await ws.identify() + return ws + + await ws.resume() + try: + await ws.ensure_open() + except websockets.exceptions.ConnectionClosed: + # ws got closed so let's just do a regular IDENTIFY connect. + log.info('RESUME failed (the websocket decided to close) for Shard ID %s. Retrying.', shard_id) + return await cls.from_client(client, shard_id=shard_id) + else: + return ws + + def wait_for(self, event, predicate, result=None): + """Waits for a DISPATCH'd event that meets the predicate. + + Parameters + ----------- + event: :class:`str` + The event name in all upper case to wait for. + predicate + A function that takes a data parameter to check for event + properties. The data parameter is the 'd' key in the JSON message. + result + A function that takes the same data parameter and executes to send + the result to the future. If None, returns the data. + + Returns + -------- + asyncio.Future + A future to wait for. + """ + + future = self.loop.create_future() + entry = EventListener(event=event, predicate=predicate, result=result, future=future) + self._dispatch_listeners.append(entry) + return future + + async def identify(self): + """Sends the IDENTIFY packet.""" + payload = { + 'op': self.IDENTIFY, + 'd': { + 'token': self.token, + 'properties': { + '$os': sys.platform, + '$browser': 'discord.py', + '$device': 'discord.py', + '$referrer': '', + '$referring_domain': '' + }, + 'compress': True, + 'large_threshold': 250, + 'v': 3 + } + } + + if not self._connection.is_bot: + payload['d']['synced_guilds'] = [] + + if self.shard_id is not None and self.shard_count is not None: + payload['d']['shard'] = [self.shard_id, self.shard_count] + + state = self._connection + if state._activity is not None or state._status is not None: + payload['d']['presence'] = { + 'status': state._status, + 'game': state._activity, + 'since': 0, + 'afk': False + } + + await self.send_as_json(payload) + log.info('Shard ID %s has sent the IDENTIFY payload.', self.shard_id) + + async def resume(self): + """Sends the RESUME packet.""" + payload = { + 'op': self.RESUME, + 'd': { + 'seq': self.sequence, + 'session_id': self.session_id, + 'token': self.token + } + } + + await self.send_as_json(payload) + log.info('Shard ID %s has sent the RESUME payload.', self.shard_id) + + async def received_message(self, msg): + self._dispatch('socket_raw_receive', msg) + + if type(msg) is bytes: + self._buffer.extend(msg) + + if len(msg) >= 4: + if msg[-4:] == b'\x00\x00\xff\xff': + msg = self._zlib.decompress(self._buffer) + msg = msg.decode('utf-8') + self._buffer = bytearray() + else: + return + else: + return + + msg = json.loads(msg) + + log.debug('For Shard ID %s: WebSocket Event: %s', self.shard_id, msg) + self._dispatch('socket_response', msg) + + op = msg.get('op') + data = msg.get('d') + seq = msg.get('s') + if seq is not None: + self.sequence = seq + + if op != self.DISPATCH: + if op == self.RECONNECT: + # "reconnect" can only be handled by the Client + # so we terminate our connection and raise an + # internal exception signalling to reconnect. + log.info('Received RECONNECT opcode.') + await self.close() + raise ResumeWebSocket(self.shard_id) + + if op == self.HEARTBEAT_ACK: + self._keep_alive.ack() + return + + if op == self.HEARTBEAT: + beat = self._keep_alive.get_payload() + await self.send_as_json(beat) + return + + if op == self.HELLO: + interval = data['heartbeat_interval'] / 1000.0 + self._keep_alive = KeepAliveHandler(ws=self, interval=interval, shard_id=self.shard_id) + # send a heartbeat immediately + await self.send_as_json(self._keep_alive.get_payload()) + self._keep_alive.start() + return + + if op == self.INVALIDATE_SESSION: + if data is True: + await asyncio.sleep(5.0, loop=self.loop) + await self.close() + raise ResumeWebSocket(self.shard_id) + + self.sequence = None + self.session_id = None + log.info('Shard ID %s session has been invalidated.', self.shard_id) + await self.identify() + return + + log.warning('Unknown OP code %s.', op) + return + + event = msg.get('t') + + if event == 'READY': + self._trace = trace = data.get('_trace', []) + self.sequence = msg['s'] + self.session_id = data['session_id'] + log.info('Shard ID %s has connected to Gateway: %s (Session ID: %s).', + self.shard_id, ', '.join(trace), self.session_id) + + elif event == 'RESUMED': + self._trace = trace = data.get('_trace', []) + log.info('Shard ID %s has successfully RESUMED session %s under trace %s.', + self.shard_id, self.session_id, ', '.join(trace)) + + parser = 'parse_' + event.lower() + + try: + func = getattr(self._connection, parser) + except AttributeError: + log.warning('Unknown event %s.', event) + else: + func(data) + + # remove the dispatched listeners + removed = [] + for index, entry in enumerate(self._dispatch_listeners): + if entry.event != event: + continue + + future = entry.future + if future.cancelled(): + removed.append(index) + continue + + try: + valid = entry.predicate(data) + except Exception as exc: + future.set_exception(exc) + removed.append(index) + else: + if valid: + ret = data if entry.result is None else entry.result(data) + future.set_result(ret) + removed.append(index) + + for index in reversed(removed): + del self._dispatch_listeners[index] + + @property + def latency(self): + """:class:`float`: Measures latency between a HEARTBEAT and a HEARTBEAT_ACK in seconds.""" + heartbeat = self._keep_alive + return float('inf') if heartbeat is None else heartbeat.latency + + def _can_handle_close(self, code): + return code not in (1000, 4004, 4010, 4011) + + async def poll_event(self): + """Polls for a DISPATCH event and handles the general gateway loop. + + Raises + ------ + ConnectionClosed + The websocket connection was terminated for unhandled reasons. + """ + try: + msg = await self.recv() + await self.received_message(msg) + except websockets.exceptions.ConnectionClosed as exc: + if self._can_handle_close(exc.code): + log.info('Websocket closed with %s (%s), attempting a reconnect.', exc.code, exc.reason) + raise ResumeWebSocket(self.shard_id) from exc + else: + log.info('Websocket closed with %s (%s), cannot reconnect.', exc.code, exc.reason) + raise ConnectionClosed(exc, shard_id=self.shard_id) from exc + + async def send(self, data): + self._dispatch('socket_raw_send', data) + await super().send(data) + + async def send_as_json(self, data): + try: + await self.send(utils.to_json(data)) + except websockets.exceptions.ConnectionClosed as exc: + if not self._can_handle_close(exc.code): + raise ConnectionClosed(exc, shard_id=self.shard_id) from exc + + async def change_presence(self, *, activity=None, status=None, afk=False, since=0.0): + if activity is not None: + if not isinstance(activity, _ActivityTag): + raise InvalidArgument('activity must be one of Game, Streaming, or Activity.') + activity = activity.to_dict() + + if status == 'idle': + since = int(time.time() * 1000) + + payload = { + 'op': self.PRESENCE, + 'd': { + 'game': activity, + 'afk': afk, + 'since': since, + 'status': status + } + } + + sent = utils.to_json(payload) + log.debug('Sending "%s" to change status', sent) + await self.send(sent) + + async def request_sync(self, guild_ids): + payload = { + 'op': self.GUILD_SYNC, + 'd': list(guild_ids) + } + await self.send_as_json(payload) + + async def voice_state(self, guild_id, channel_id, self_mute=False, self_deaf=False): + payload = { + 'op': self.VOICE_STATE, + 'd': { + 'guild_id': guild_id, + 'channel_id': channel_id, + 'self_mute': self_mute, + 'self_deaf': self_deaf + } + } + + log.debug('Updating our voice state to %s.', payload) + await self.send_as_json(payload) + + async def close(self, code=1000, reason=''): + if self._keep_alive: + self._keep_alive.stop() + + await super().close(code, reason) + + async def close_connection(self, *args, **kwargs): + if self._keep_alive: + self._keep_alive.stop() + + await super().close_connection(*args, **kwargs) + +class DiscordVoiceWebSocket(websockets.client.WebSocketClientProtocol): + """Implements the websocket protocol for handling voice connections. + + Attributes + ----------- + IDENTIFY + Send only. Starts a new voice session. + SELECT_PROTOCOL + Send only. Tells discord what encryption mode and how to connect for voice. + READY + Receive only. Tells the websocket that the initial connection has completed. + HEARTBEAT + Send only. Keeps your websocket connection alive. + SESSION_DESCRIPTION + Receive only. Gives you the secret key required for voice. + SPEAKING + Send only. Notifies the client if you are currently speaking. + HEARTBEAT_ACK + Receive only. Tells you your heartbeat has been acknowledged. + RESUME + Sent only. Tells the client to resume its session. + HELLO + Receive only. Tells you that your websocket connection was acknowledged. + INVALIDATE_SESSION + Sent only. Tells you that your RESUME request has failed and to re-IDENTIFY. + CLIENT_CONNECT + Indicates a user has connected to voice. + CLIENT_DISCONNECT + Receive only. Indicates a user has disconnected from voice. + """ + + IDENTIFY = 0 + SELECT_PROTOCOL = 1 + READY = 2 + HEARTBEAT = 3 + SESSION_DESCRIPTION = 4 + SPEAKING = 5 + HEARTBEAT_ACK = 6 + RESUME = 7 + HELLO = 8 + INVALIDATE_SESSION = 9 + CLIENT_CONNECT = 12 + CLIENT_DISCONNECT = 13 + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.max_size = None + self._keep_alive = None + + async def send_as_json(self, data): + log.debug('Sending voice websocket frame: %s.', data) + await self.send(utils.to_json(data)) + + async def resume(self): + state = self._connection + payload = { + 'op': self.RESUME, + 'd': { + 'token': state.token, + 'server_id': str(state.server_id), + 'session_id': state.session_id + } + } + await self.send_as_json(payload) + + async def identify(self): + state = self._connection + payload = { + 'op': self.IDENTIFY, + 'd': { + 'server_id': str(state.server_id), + 'user_id': str(state.user.id), + 'session_id': state.session_id, + 'token': state.token + } + } + await self.send_as_json(payload) + + @classmethod + async def from_client(cls, client, *, resume=False): + """Creates a voice websocket for the :class:`VoiceClient`.""" + gateway = 'wss://' + client.endpoint + '/?v=4' + ws = await websockets.connect(gateway, loop=client.loop, klass=cls, compression=None) + ws.gateway = gateway + ws._connection = client + ws._max_heartbeat_timeout = 60.0 + + if resume: + await ws.resume() + else: + await ws.identify() + + return ws + + async def select_protocol(self, ip, port, mode): + payload = { + 'op': self.SELECT_PROTOCOL, + 'd': { + 'protocol': 'udp', + 'data': { + 'address': ip, + 'port': port, + 'mode': mode + } + } + } + + await self.send_as_json(payload) + + async def client_connect(self): + payload = { + 'op': self.CLIENT_CONNECT, + 'd': { + 'audio_ssrc': self._connection.ssrc + } + } + + await self.send_as_json(payload) + + async def speak(self, state=SpeakingState.voice): + payload = { + 'op': self.SPEAKING, + 'd': { + 'speaking': int(state), + 'delay': 0 + } + } + + await self.send_as_json(payload) + + async def received_message(self, msg): + log.debug('Voice websocket frame received: %s', msg) + op = msg['op'] + data = msg.get('d') + + if op == self.READY: + await self.initial_connection(data) + elif op == self.HEARTBEAT_ACK: + self._keep_alive.ack() + elif op == self.INVALIDATE_SESSION: + log.info('Voice RESUME failed.') + await self.identify() + elif op == self.SESSION_DESCRIPTION: + self._connection.mode = data['mode'] + await self.load_secret_key(data) + elif op == self.HELLO: + interval = data['heartbeat_interval'] / 1000.0 + self._keep_alive = VoiceKeepAliveHandler(ws=self, interval=interval) + self._keep_alive.start() + + async def initial_connection(self, data): + state = self._connection + state.ssrc = data['ssrc'] + state.voice_port = data['port'] + + packet = bytearray(70) + struct.pack_into('>I', packet, 0, state.ssrc) + state.socket.sendto(packet, (state.endpoint_ip, state.voice_port)) + recv = await self.loop.sock_recv(state.socket, 70) + log.debug('received packet in initial_connection: %s', recv) + + # the ip is ascii starting at the 4th byte and ending at the first null + ip_start = 4 + ip_end = recv.index(0, ip_start) + state.ip = recv[ip_start:ip_end].decode('ascii') + + # the port is a little endian unsigned short in the last two bytes + # yes, this is different endianness from everything else + state.port = struct.unpack_from('<H', recv, len(recv) - 2)[0] + log.debug('detected ip: %s port: %s', state.ip, state.port) + + # there *should* always be at least one supported mode (xsalsa20_poly1305) + modes = [mode for mode in data['modes'] if mode in self._connection.supported_modes] + log.debug('received supported encryption modes: %s', ", ".join(modes)) + + mode = modes[0] + await self.select_protocol(state.ip, state.port, mode) + log.info('selected the voice protocol for use (%s)', mode) + + await self.client_connect() + + async def load_secret_key(self, data): + log.info('received secret key for voice connection') + self._connection.secret_key = data.get('secret_key') + await self.speak() + await self.speak(False) + + async def poll_event(self): + try: + msg = await asyncio.wait_for(self.recv(), timeout=30.0, loop=self.loop) + await self.received_message(json.loads(msg)) + except websockets.exceptions.ConnectionClosed as exc: + raise ConnectionClosed(exc, shard_id=None) from exc + + async def close_connection(self, *args, **kwargs): + if self._keep_alive: + self._keep_alive.stop() + + await super().close_connection(*args, **kwargs) diff --git a/venv/lib/python3.6/site-packages/discord/guild.py b/venv/lib/python3.6/site-packages/discord/guild.py new file mode 100644 index 0000000..5298285 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/guild.py @@ -0,0 +1,1538 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import copy +from collections import namedtuple, defaultdict + +from . import utils +from .role import Role +from .member import Member, VoiceState +from .activity import create_activity +from .emoji import Emoji +from .permissions import PermissionOverwrite +from .colour import Colour +from .errors import InvalidArgument, ClientException +from .channel import * +from .enums import VoiceRegion, Status, ChannelType, try_enum, VerificationLevel, ContentFilter, NotificationLevel +from .mixins import Hashable +from .user import User +from .invite import Invite +from .iterators import AuditLogIterator +from .webhook import Webhook +from .widget import Widget +from .asset import Asset + +BanEntry = namedtuple('BanEntry', 'reason user') + +class Guild(Hashable): + """Represents a Discord guild. + + This is referred to as a "server" in the official Discord UI. + + .. container:: operations + + .. describe:: x == y + + Checks if two guilds are equal. + + .. describe:: x != y + + Checks if two guilds are not equal. + + .. describe:: hash(x) + + Returns the guild's hash. + + .. describe:: str(x) + + Returns the guild's name. + + Attributes + ---------- + name: :class:`str` + The guild name. + emojis + A :class:`tuple` of :class:`Emoji` that the guild owns. + region: :class:`VoiceRegion` + The region the guild belongs on. There is a chance that the region + will be a :class:`str` if the value is not recognised by the enumerator. + afk_timeout: :class:`int` + The timeout to get sent to the AFK channel. + afk_channel: Optional[:class:`VoiceChannel`] + The channel that denotes the AFK channel. None if it doesn't exist. + icon: Optional[:class:`str`] + The guild's icon. + id: :class:`int` + The guild's ID. + owner_id: :class:`int` + The guild owner's ID. Use :attr:`Guild.owner` instead. + unavailable: :class:`bool` + Indicates if the guild is unavailable. If this is ``True`` then the + reliability of other attributes outside of :meth:`Guild.id` is slim and they might + all be None. It is best to not do anything with the guild if it is unavailable. + + Check the :func:`on_guild_unavailable` and :func:`on_guild_available` events. + max_presences: Optional[:class:`int`] + The maximum amount of presences for the guild. + max_members: Optional[:class:`int`] + The maximum amount of members for the guild. + banner: Optional[:class:`str`] + The guild's banner. + description: Optional[:class:`str`] + The guild's description. + mfa_level: :class:`int` + Indicates the guild's two factor authorisation level. If this value is 0 then + the guild does not require 2FA for their administrative members. If the value is + 1 then they do. + verification_level: :class:`VerificationLevel` + The guild's verification level. + explicit_content_filter: :class:`ContentFilter` + The guild's explicit content filter. + default_notifications: :class:`NotificationLevel` + The guild's notification settings. + features: List[:class:`str`] + A list of features that the guild has. They are currently as follows: + + - ``VIP_REGIONS``: Guild has VIP voice regions + - ``VANITY_URL``: Guild has a vanity invite URL (e.g. discord.gg/discord-api) + - ``INVITE_SPLASH``: Guild's invite page has a special splash. + - ``VERIFIED``: Guild is a "verified" server. + - ``MORE_EMOJI``: Guild is allowed to have more than 50 custom emoji. + + splash: Optional[:class:`str`] + The guild's invite splash. + """ + + __slots__ = ('afk_timeout', 'afk_channel', '_members', '_channels', 'icon', + 'name', 'id', 'unavailable', 'banner', 'region', '_state', + '_default_role', '_roles', '_member_count', '_large', + 'owner_id', 'mfa_level', 'emojis', 'features', + 'verification_level', 'explicit_content_filter', 'splash', + '_voice_states', '_system_channel_id', 'default_notifications', + 'description', 'max_presences', 'max_members') + + def __init__(self, *, data, state): + self._channels = {} + self._members = {} + self._voice_states = {} + self._state = state + self._from_data(data) + + def _add_channel(self, channel): + self._channels[channel.id] = channel + + def _remove_channel(self, channel): + self._channels.pop(channel.id, None) + + def _voice_state_for(self, user_id): + return self._voice_states.get(user_id) + + def _add_member(self, member): + self._members[member.id] = member + + def _remove_member(self, member): + self._members.pop(member.id, None) + + def __str__(self): + return self.name + + def __repr__(self): + return '<Guild id={0.id} name={0.name!r} chunked={0.chunked}>'.format(self) + + def _update_voice_state(self, data, channel_id): + user_id = int(data['user_id']) + channel = self.get_channel(channel_id) + try: + # check if we should remove the voice state from cache + if channel is None: + after = self._voice_states.pop(user_id) + else: + after = self._voice_states[user_id] + + before = copy.copy(after) + after._update(data, channel) + except KeyError: + # if we're here then we're getting added into the cache + after = VoiceState(data=data, channel=channel) + before = VoiceState(data=data, channel=None) + self._voice_states[user_id] = after + + member = self.get_member(user_id) + return member, before, after + + def _add_role(self, role): + # roles get added to the bottom (position 1, pos 0 is @everyone) + # so since self.roles has the @everyone role, we can't increment + # its position because it's stuck at position 0. Luckily x += False + # is equivalent to adding 0. So we cast the position to a bool and + # increment it. + for r in self._roles.values(): + r.position += (not r.is_default()) + + self._roles[role.id] = role + + def _remove_role(self, role_id): + # this raises KeyError if it fails.. + role = self._roles.pop(role_id) + + # since it didn't, we can change the positions now + # basically the same as above except we only decrement + # the position if we're above the role we deleted. + for r in self._roles.values(): + r.position -= r.position > role.position + + return role + + def _from_data(self, guild): + # according to Stan, this is always available even if the guild is unavailable + # I don't have this guarantee when someone updates the guild. + member_count = guild.get('member_count', None) + if member_count: + self._member_count = member_count + + self.name = guild.get('name') + self.region = try_enum(VoiceRegion, guild.get('region')) + self.verification_level = try_enum(VerificationLevel, guild.get('verification_level')) + self.default_notifications = try_enum(NotificationLevel, guild.get('default_message_notifications')) + self.explicit_content_filter = try_enum(ContentFilter, guild.get('explicit_content_filter', 0)) + self.afk_timeout = guild.get('afk_timeout') + self.icon = guild.get('icon') + self.banner = guild.get('banner') + self.unavailable = guild.get('unavailable', False) + self.id = int(guild['id']) + self._roles = {} + state = self._state # speed up attribute access + for r in guild.get('roles', []): + role = Role(guild=self, data=r, state=state) + self._roles[role.id] = role + + self.mfa_level = guild.get('mfa_level') + self.emojis = tuple(map(lambda d: state.store_emoji(self, d), guild.get('emojis', []))) + self.features = guild.get('features', []) + self.splash = guild.get('splash') + self._system_channel_id = utils._get_as_snowflake(guild, 'system_channel_id') + self.description = guild.get('description') + self.max_presences = guild.get('max_presences') + self.max_members = guild.get('max_members') + + for mdata in guild.get('members', []): + member = Member(data=mdata, guild=self, state=state) + self._add_member(member) + + self._sync(guild) + self._large = None if member_count is None else self._member_count >= 250 + + self.owner_id = utils._get_as_snowflake(guild, 'owner_id') + self.afk_channel = self.get_channel(utils._get_as_snowflake(guild, 'afk_channel_id')) + + for obj in guild.get('voice_states', []): + self._update_voice_state(obj, int(obj['channel_id'])) + + def _sync(self, data): + try: + self._large = data['large'] + except KeyError: + pass + + empty_tuple = tuple() + for presence in data.get('presences', []): + user_id = int(presence['user']['id']) + member = self.get_member(user_id) + if member is not None: + member._presence_update(presence, empty_tuple) + + if 'channels' in data: + channels = data['channels'] + for c in channels: + c_type = c['type'] + if c_type in (ChannelType.text.value, ChannelType.news.value): + self._add_channel(TextChannel(guild=self, data=c, state=self._state)) + elif c_type == ChannelType.voice.value: + self._add_channel(VoiceChannel(guild=self, data=c, state=self._state)) + elif c_type == ChannelType.category.value: + self._add_channel(CategoryChannel(guild=self, data=c, state=self._state)) + elif c_type == ChannelType.store.value: + self._add_channel(StoreChannel(guild=self, data=c, state=self._state)) + + @property + def channels(self): + """List[:class:`abc.GuildChannel`]: A list of channels that belongs to this guild.""" + return list(self._channels.values()) + + @property + def large(self): + """:class:`bool`: Indicates if the guild is a 'large' guild. + + A large guild is defined as having more than ``large_threshold`` count + members, which for this library is set to the maximum of 250. + """ + if self._large is None: + try: + return self._member_count >= 250 + except AttributeError: + return len(self._members) >= 250 + return self._large + + @property + def voice_channels(self): + """List[:class:`VoiceChannel`]: A list of voice channels that belongs to this guild. + + This is sorted by the position and are in UI order from top to bottom. + """ + r = [ch for ch in self._channels.values() if isinstance(ch, VoiceChannel)] + r.sort(key=lambda c: (c.position, c.id)) + return r + + @property + def me(self): + """Similar to :attr:`Client.user` except an instance of :class:`Member`. + This is essentially used to get the member version of yourself. + """ + self_id = self._state.user.id + return self.get_member(self_id) + + @property + def voice_client(self): + """Returns the :class:`VoiceClient` associated with this guild, if any.""" + return self._state._get_voice_client(self.id) + + @property + def text_channels(self): + """List[:class:`TextChannel`]: A list of text channels that belongs to this guild. + + This is sorted by the position and are in UI order from top to bottom. + """ + r = [ch for ch in self._channels.values() if isinstance(ch, TextChannel)] + r.sort(key=lambda c: (c.position, c.id)) + return r + + @property + def categories(self): + """List[:class:`CategoryChannel`]: A list of categories that belongs to this guild. + + This is sorted by the position and are in UI order from top to bottom. + """ + r = [ch for ch in self._channels.values() if isinstance(ch, CategoryChannel)] + r.sort(key=lambda c: (c.position, c.id)) + return r + + def by_category(self): + """Returns every :class:`CategoryChannel` and their associated channels. + + These channels and categories are sorted in the official Discord UI order. + + If the channels do not have a category, then the first element of the tuple is + ``None``. + + Returns + -------- + List[Tuple[Optional[:class:`CategoryChannel`], List[:class:`abc.GuildChannel`]]]: + The categories and their associated channels. + """ + grouped = defaultdict(list) + for channel in self._channels.values(): + if isinstance(channel, CategoryChannel): + continue + + grouped[channel.category_id].append(channel) + + def key(t): + k, v = t + return ((k.position, k.id) if k else (-1, -1), v) + + _get = self._channels.get + as_list = [(_get(k), v) for k, v in grouped.items()] + as_list.sort(key=key) + for _, channels in as_list: + channels.sort(key=lambda c: (c._sorting_bucket, c.position, c.id)) + return as_list + + def get_channel(self, channel_id): + """Returns a :class:`abc.GuildChannel` with the given ID. If not found, returns None.""" + return self._channels.get(channel_id) + + @property + def system_channel(self): + """Optional[:class:`TextChannel`]: Returns the guild's channel used for system messages. + + Currently this is only for new member joins. If no channel is set, then this returns ``None``. + """ + channel_id = self._system_channel_id + return channel_id and self._channels.get(channel_id) + + @property + def members(self): + """List[:class:`Member`]: A list of members that belong to this guild.""" + return list(self._members.values()) + + def get_member(self, user_id): + """Returns a :class:`Member` with the given ID. If not found, returns None.""" + return self._members.get(user_id) + + @property + def roles(self): + """Returns a :class:`list` of the guild's roles in hierarchy order. + + The first element of this list will be the lowest role in the + hierarchy. + """ + return sorted(self._roles.values()) + + def get_role(self, role_id): + """Returns a :class:`Role` with the given ID. If not found, returns None.""" + return self._roles.get(role_id) + + @utils.cached_slot_property('_default_role') + def default_role(self): + """Gets the @everyone role that all members have by default.""" + return utils.find(lambda r: r.is_default(), self._roles.values()) + + @property + def owner(self): + """:class:`Member`: The member that owns the guild.""" + return self.get_member(self.owner_id) + + @property + def icon_url(self): + """Returns the URL version of the guild's icon. Returns an empty string if it has no icon.""" + return self.icon_url_as() + + def icon_url_as(self, *, format='webp', size=1024): + """Returns a friendly URL version of the guild's icon. Returns an empty string if it has no icon. + + The format must be one of 'webp', 'jpeg', 'jpg', or 'png'. The + size must be a power of 2 between 16 and 4096. + + Parameters + ----------- + format: :class:`str` + The format to attempt to convert the icon to. + size: :class:`int` + The size of the image to display. + + Raises + ------ + InvalidArgument + Bad image format passed to ``format`` or invalid ``size``. + + Returns + -------- + :class:`Asset` + The resulting CDN asset. + """ + return Asset._from_guild_image(self._state, self.id, self.icon, 'icons', format=format, size=size) + + @property + def banner_url(self): + """Returns the URL version of the guild's banner. Returns an empty string if it has no banner.""" + return self.banner_url_as() + + def banner_url_as(self, *, format='webp', size=2048): + """Returns a friendly URL version of the guild's banner. Returns an empty string if it has no banner. + + The format must be one of 'webp', 'jpeg', or 'png'. The + size must be a power of 2 between 16 and 4096. + + Parameters + ----------- + format: :class:`str` + The format to attempt to convert the banner to. + size: :class:`int` + The size of the image to display. + + Raises + ------ + InvalidArgument + Bad image format passed to ``format`` or invalid ``size``. + + Returns + -------- + :class:`Asset` + The resulting CDN asset. + """ + return Asset._from_guild_image(self._state, self.id, self.banner, 'banners', format=format, size=size) + + @property + def splash_url(self): + """Returns the URL version of the guild's invite splash. Returns an empty string if it has no splash.""" + return self.splash_url_as() + + def splash_url_as(self, *, format='webp', size=2048): + """Returns a friendly URL version of the guild's invite splash. Returns an empty string if it has no splash. + + The format must be one of 'webp', 'jpeg', 'jpg', or 'png'. The + size must be a power of 2 between 16 and 4096. + + Parameters + ----------- + format: :class:`str` + The format to attempt to convert the splash to. + size: :class:`int` + The size of the image to display. + + Raises + ------ + InvalidArgument + Bad image format passed to ``format`` or invalid ``size``. + + Returns + -------- + :class:`Asset` + The resulting CDN asset. + """ + return Asset._from_guild_image(self._state, self.id, self.splash, 'splashes', format=format, size=size) + + @property + def member_count(self): + """Returns the true member count regardless of it being loaded fully or not.""" + return self._member_count + + @property + def chunked(self): + """Returns a boolean indicating if the guild is "chunked". + + A chunked guild means that :attr:`member_count` is equal to the + number of members stored in the internal :attr:`members` cache. + + If this value returns ``False``, then you should request for + offline members. + """ + count = getattr(self, '_member_count', None) + if count is None: + return False + return count == len(self._members) + + @property + def shard_id(self): + """Returns the shard ID for this guild if applicable.""" + count = self._state.shard_count + if count is None: + return None + return (self.id >> 22) % count + + @property + def created_at(self): + """Returns the guild's creation time in UTC.""" + return utils.snowflake_time(self.id) + + def get_member_named(self, name): + """Returns the first member found that matches the name provided. + + The name can have an optional discriminator argument, e.g. "Jake#0001" + or "Jake" will both do the lookup. However the former will give a more + precise result. Note that the discriminator must have all 4 digits + for this to work. + + If a nickname is passed, then it is looked up via the nickname. Note + however, that a nickname + discriminator combo will not lookup the nickname + but rather the username + discriminator combo due to nickname + discriminator + not being unique. + + If no member is found, ``None`` is returned. + + Parameters + ----------- + name: :class:`str` + The name of the member to lookup with an optional discriminator. + + Returns + -------- + :class:`Member` + The member in this guild with the associated name. If not found + then ``None`` is returned. + """ + + result = None + members = self.members + if len(name) > 5 and name[-5] == '#': + # The 5 length is checking to see if #0000 is in the string, + # as a#0000 has a length of 6, the minimum for a potential + # discriminator lookup. + potential_discriminator = name[-4:] + + # do the actual lookup and return if found + # if it isn't found then we'll do a full name lookup below. + result = utils.get(members, name=name[:-5], discriminator=potential_discriminator) + if result is not None: + return result + + def pred(m): + return m.nick == name or m.name == name + + return utils.find(pred, members) + + def _create_channel(self, name, overwrites, channel_type, category=None, **options): + if overwrites is None: + overwrites = {} + elif not isinstance(overwrites, dict): + raise InvalidArgument('overwrites parameter expects a dict.') + + perms = [] + for target, perm in overwrites.items(): + if not isinstance(perm, PermissionOverwrite): + raise InvalidArgument('Expected PermissionOverwrite received {0.__name__}'.format(type(perm))) + + allow, deny = perm.pair() + payload = { + 'allow': allow.value, + 'deny': deny.value, + 'id': target.id + } + + if isinstance(target, Role): + payload['type'] = 'role' + else: + payload['type'] = 'member' + + perms.append(payload) + + try: + options['rate_limit_per_user'] = options.pop('slowmode_delay') + except KeyError: + pass + + parent_id = category.id if category else None + return self._state.http.create_channel(self.id, channel_type.value, name=name, parent_id=parent_id, + permission_overwrites=perms, **options) + + async def create_text_channel(self, name, *, overwrites=None, category=None, reason=None, **options): + """|coro| + + Creates a :class:`TextChannel` for the guild. + + Note that you need the :attr:`~Permissions.manage_channels` permission + to create the channel. + + The ``overwrites`` parameter can be used to create a 'secret' + channel upon creation. This parameter expects a :class:`dict` of + overwrites with the target (either a :class:`Member` or a :class:`Role`) + as the key and a :class:`PermissionOverwrite` as the value. + + .. note:: + + Creating a channel of a specified position will not update the position of + other channels to follow suit. A follow-up call to :meth:`~TextChannel.edit` + will be required to update the position of the channel in the channel list. + + Examples + ---------- + + Creating a basic channel: + + .. code-block:: python3 + + channel = await guild.create_text_channel('cool-channel') + + Creating a "secret" channel: + + .. code-block:: python3 + + overwrites = { + guild.default_role: discord.PermissionOverwrite(read_messages=False), + guild.me: discord.PermissionOverwrite(read_messages=True) + } + + channel = await guild.create_text_channel('secret', overwrites=overwrites) + + Parameters + ----------- + name: :class:`str` + The channel's name. + overwrites + A :class:`dict` of target (either a role or a member) to + :class:`PermissionOverwrite` to apply upon creation of a channel. + Useful for creating secret channels. + category: Optional[:class:`CategoryChannel`] + The category to place the newly created channel under. + The permissions will be automatically synced to category if no + overwrites are provided. + position: :class:`int` + The position in the channel list. This is a number that starts + at 0. e.g. the top channel is position 0. + topic: Optional[:class:`str`] + The new channel's topic. + slowmode_delay: :class:`int` + Specifies the slowmode rate limit for user in this channel. + The maximum value possible is `120`. + nsfw: :class:`bool` + To mark the channel as NSFW or not. + reason: Optional[:class:`str`] + The reason for creating this channel. Shows up on the audit log. + + Raises + ------- + Forbidden + You do not have the proper permissions to create this channel. + HTTPException + Creating the channel failed. + InvalidArgument + The permission overwrite information is not in proper form. + + Returns + ------- + :class:`TextChannel` + The channel that was just created. + """ + data = await self._create_channel(name, overwrites, ChannelType.text, category, reason=reason, **options) + channel = TextChannel(state=self._state, guild=self, data=data) + + # temporarily add to the cache + self._channels[channel.id] = channel + return channel + + async def create_voice_channel(self, name, *, overwrites=None, category=None, reason=None, **options): + """|coro| + + This is similar to :meth:`create_text_channel` except makes a :class:`VoiceChannel` instead, in addition + to having the following new parameters. + + Parameters + ----------- + bitrate: :class:`int` + The channel's preferred audio bitrate in bits per second. + user_limit: :class:`int` + The channel's limit for number of members that can be in a voice channel. + """ + data = await self._create_channel(name, overwrites, ChannelType.voice, category, reason=reason, **options) + channel = VoiceChannel(state=self._state, guild=self, data=data) + + # temporarily add to the cache + self._channels[channel.id] = channel + return channel + + async def create_category(self, name, *, overwrites=None, reason=None): + """|coro| + + Same as :meth:`create_text_channel` except makes a :class:`CategoryChannel` instead. + + .. note:: + + The ``category`` parameter is not supported in this function since categories + cannot have categories. + """ + data = await self._create_channel(name, overwrites, ChannelType.category, reason=reason) + channel = CategoryChannel(state=self._state, guild=self, data=data) + + # temporarily add to the cache + self._channels[channel.id] = channel + return channel + + create_category_channel = create_category + + async def leave(self): + """|coro| + + Leaves the guild. + + .. note:: + + You cannot leave the guild that you own, you must delete it instead + via :meth:`delete`. + + Raises + -------- + HTTPException + Leaving the guild failed. + """ + await self._state.http.leave_guild(self.id) + + async def delete(self): + """|coro| + + Deletes the guild. You must be the guild owner to delete the + guild. + + Raises + -------- + HTTPException + Deleting the guild failed. + Forbidden + You do not have permissions to delete the guild. + """ + + await self._state.http.delete_guild(self.id) + + async def edit(self, *, reason=None, **fields): + """|coro| + + Edits the guild. + + You must have the :attr:`~Permissions.manage_guild` permission + to edit the guild. + + Parameters + ---------- + name: :class:`str` + The new name of the guild. + description: :class:`str` + The new description of the guild. This is only available to guilds that + contain `VERIFIED` in :attr:`Guild.features`. + icon: :class:`bytes` + A :term:`py:bytes-like object` representing the icon. Only PNG/JPEG supported. + Could be ``None`` to denote removal of the icon. + banner: :class:`bytes` + A :term:`py:bytes-like object` representing the banner. + Could be ``None`` to denote removal of the banner. + splash: :class:`bytes` + A :term:`py:bytes-like object` representing the invite splash. + Only PNG/JPEG supported. Could be ``None`` to denote removing the + splash. Only available for partnered guilds with ``INVITE_SPLASH`` + feature. + region: :class:`VoiceRegion` + The new region for the guild's voice communication. + afk_channel: Optional[:class:`VoiceChannel`] + The new channel that is the AFK channel. Could be ``None`` for no AFK channel. + afk_timeout: :class:`int` + The number of seconds until someone is moved to the AFK channel. + owner: :class:`Member` + The new owner of the guild to transfer ownership to. Note that you must + be owner of the guild to do this. + verification_level: :class:`VerificationLevel` + The new verification level for the guild. + default_notifications: :class:`NotificationLevel` + The new default notification level for the guild. + explicit_content_filter: :class:`ContentFilter` + The new explicit content filter for the guild. + vanity_code: :class:`str` + The new vanity code for the guild. + system_channel: Optional[:class:`TextChannel`] + The new channel that is used for the system channel. Could be ``None`` for no system channel. + reason: Optional[:class:`str`] + The reason for editing this guild. Shows up on the audit log. + + Raises + ------- + Forbidden + You do not have permissions to edit the guild. + HTTPException + Editing the guild failed. + InvalidArgument + The image format passed in to ``icon`` is invalid. It must be + PNG or JPG. This is also raised if you are not the owner of the + guild and request an ownership transfer. + """ + + http = self._state.http + try: + icon_bytes = fields['icon'] + except KeyError: + icon = self.icon + else: + if icon_bytes is not None: + icon = utils._bytes_to_base64_data(icon_bytes) + else: + icon = None + + try: + banner_bytes = fields['banner'] + except KeyError: + banner = self.banner + else: + if banner_bytes is not None: + banner = utils._bytes_to_base64_data(banner_bytes) + else: + banner = None + + try: + vanity_code = fields['vanity_code'] + except KeyError: + pass + else: + await http.change_vanity_code(self.id, vanity_code, reason=reason) + + try: + splash_bytes = fields['splash'] + except KeyError: + splash = self.splash + else: + if splash_bytes is not None: + splash = utils._bytes_to_base64_data(splash_bytes) + else: + splash = None + + fields['icon'] = icon + fields['banner'] = banner + fields['splash'] = splash + + try: + default_message_notifications = int(fields.pop('default_notifications')) + except (TypeError, KeyError): + pass + else: + fields['default_message_notifications'] = default_message_notifications + + try: + afk_channel = fields.pop('afk_channel') + except KeyError: + pass + else: + if afk_channel is None: + fields['afk_channel_id'] = afk_channel + else: + fields['afk_channel_id'] = afk_channel.id + + try: + system_channel = fields.pop('system_channel') + except KeyError: + pass + else: + if system_channel is None: + fields['system_channel_id'] = system_channel + else: + fields['system_channel_id'] = system_channel.id + + if 'owner' in fields: + if self.owner != self.me: + raise InvalidArgument('To transfer ownership you must be the owner of the guild.') + + fields['owner_id'] = fields['owner'].id + + if 'region' in fields: + fields['region'] = str(fields['region']) + + level = fields.get('verification_level', self.verification_level) + if not isinstance(level, VerificationLevel): + raise InvalidArgument('verification_level field must be of type VerificationLevel') + + fields['verification_level'] = level.value + + explicit_content_filter = fields.get('explicit_content_filter', self.explicit_content_filter) + if not isinstance(explicit_content_filter, ContentFilter): + raise InvalidArgument('explicit_content_filter field must be of type ContentFilter') + + fields['explicit_content_filter'] = explicit_content_filter.value + await http.edit_guild(self.id, reason=reason, **fields) + + async def fetch_member(self, member_id): + """|coro| + + Retreives a :class:`Member` from a guild ID, and a member ID. + + .. note:: + + This method is an API call. For general usage, consider :meth:`get_member` instead. + + Parameters + ----------- + member_id: :class:`int` + The member's ID to fetch from. + + Raises + ------- + Forbidden + You do not have access to the guild. + HTTPException + Getting the guild failed. + + Returns + -------- + :class:`Member` + The member from the member ID. + """ + data = await self._state.http.get_member(self.id, member_id) + return Member(data=data, state=self._state, guild=self) + + async def fetch_ban(self, user): + """|coro| + + Retrieves the :class:`BanEntry` for a user, which is a namedtuple + with a ``user`` and ``reason`` field. See :meth:`bans` for more + information. + + You must have the :attr:`~Permissions.ban_members` permission + to get this information. + + Parameters + ----------- + user: :class:`abc.Snowflake` + The user to get ban information from. + + Raises + ------ + Forbidden + You do not have proper permissions to get the information. + NotFound + This user is not banned. + HTTPException + An error occurred while fetching the information. + + Returns + ------- + BanEntry + The BanEntry object for the specified user. + """ + data = await self._state.http.get_ban(user.id, self.id) + return BanEntry( + user=User(state=self._state, data=data['user']), + reason=data['reason'] + ) + + async def bans(self): + """|coro| + + Retrieves all the users that are banned from the guild. + + This coroutine returns a :class:`list` of BanEntry objects, which is a + namedtuple with a ``user`` field to denote the :class:`User` + that got banned along with a ``reason`` field specifying + why the user was banned that could be set to ``None``. + + You must have the :attr:`~Permissions.ban_members` permission + to get this information. + + Raises + ------- + Forbidden + You do not have proper permissions to get the information. + HTTPException + An error occurred while fetching the information. + + Returns + -------- + List[BanEntry] + A list of BanEntry objects. + """ + + data = await self._state.http.get_bans(self.id) + return [BanEntry(user=User(state=self._state, data=e['user']), + reason=e['reason']) + for e in data] + + async def prune_members(self, *, days, reason=None): + """|coro| + + Prunes the guild from its inactive members. + + The inactive members are denoted if they have not logged on in + ``days`` number of days and they have no roles. + + You must have the :attr:`~Permissions.kick_members` permission + to use this. + + To check how many members you would prune without actually pruning, + see the :meth:`estimate_pruned_members` function. + + Parameters + ----------- + days: :class:`int` + The number of days before counting as inactive. + reason: Optional[:class:`str`] + The reason for doing this action. Shows up on the audit log. + + Raises + ------- + Forbidden + You do not have permissions to prune members. + HTTPException + An error occurred while pruning members. + InvalidArgument + An integer was not passed for ``days``. + + Returns + --------- + :class:`int` + The number of members pruned. + """ + + if not isinstance(days, int): + raise InvalidArgument('Expected int for ``days``, received {0.__class__.__name__} instead.'.format(days)) + + data = await self._state.http.prune_members(self.id, days, reason=reason) + return data['pruned'] + + async def webhooks(self): + """|coro| + + Gets the list of webhooks from this guild. + + Requires :attr:`~.Permissions.manage_webhooks` permissions. + + Raises + ------- + Forbidden + You don't have permissions to get the webhooks. + + Returns + -------- + List[:class:`Webhook`] + The webhooks for this guild. + """ + + data = await self._state.http.guild_webhooks(self.id) + return [Webhook.from_state(d, state=self._state) for d in data] + + async def estimate_pruned_members(self, *, days): + """|coro| + + Similar to :meth:`prune_members` except instead of actually + pruning members, it returns how many members it would prune + from the guild had it been called. + + Parameters + ----------- + days: :class:`int` + The number of days before counting as inactive. + + Raises + ------- + Forbidden + You do not have permissions to prune members. + HTTPException + An error occurred while fetching the prune members estimate. + InvalidArgument + An integer was not passed for ``days``. + + Returns + --------- + :class:`int` + The number of members estimated to be pruned. + """ + + if not isinstance(days, int): + raise InvalidArgument('Expected int for ``days``, received {0.__class__.__name__} instead.'.format(days)) + + data = await self._state.http.estimate_pruned_members(self.id, days) + return data['pruned'] + + async def invites(self): + """|coro| + + Returns a list of all active instant invites from the guild. + + You must have the :attr:`~Permissions.manage_guild` permission to get + this information. + + Raises + ------- + Forbidden + You do not have proper permissions to get the information. + HTTPException + An error occurred while fetching the information. + + Returns + ------- + List[:class:`Invite`] + The list of invites that are currently active. + """ + + data = await self._state.http.invites_from(self.id) + result = [] + for invite in data: + channel = self.get_channel(int(invite['channel']['id'])) + invite['channel'] = channel + invite['guild'] = self + result.append(Invite(state=self._state, data=invite)) + + return result + + async def fetch_emojis(self): + r"""|coro| + + Retrieves all custom :class:`Emoji`\s from the guild. + + .. note:: + + This method is an API call. For general usage, consider :attr:`emojis` instead. + + Raises + --------- + HTTPException + An error occurred fetching the emojis. + + Returns + -------- + List[:class:`Emoji`] + The retrieved emojis. + """ + data = await self._state.http.get_all_custom_emojis(self.id) + return [Emoji(guild=self, state=self._state, data=d) for d in data] + + async def fetch_emoji(self, emoji_id): + """|coro| + + Retrieves a custom :class:`Emoji` from the guild. + + .. note:: + + This method is an API call. + For general usage, consider iterating over :attr:`emojis` instead. + + Parameters + ------------- + emoji_id: :class:`int` + The emoji's ID. + + Raises + --------- + NotFound + The emoji requested could not be found. + HTTPException + An error occurred fetching the emoji. + + Returns + -------- + :class:`Emoji` + The retrieved emoji. + """ + data = await self._state.http.get_custom_emoji(self.id, emoji_id) + return Emoji(guild=self, state=self._state, data=data) + + async def create_custom_emoji(self, *, name, image, roles=None, reason=None): + r"""|coro| + + Creates a custom :class:`Emoji` for the guild. + + There is currently a limit of 50 static and animated emojis respectively per guild, + unless the guild has the ``MORE_EMOJI`` feature which extends the limit to 200. + + You must have the :attr:`~Permissions.manage_emojis` permission to + do this. + + Parameters + ----------- + name: :class:`str` + The emoji name. Must be at least 2 characters. + image: :class:`bytes` + The :term:`py:bytes-like object` representing the image data to use. + Only JPG, PNG and GIF images are supported. + roles: Optional[List[:class:`Role`]] + A :class:`list` of :class:`Role`\s that can use this emoji. Leave empty to make it available to everyone. + reason: Optional[:class:`str`] + The reason for creating this emoji. Shows up on the audit log. + + Raises + ------- + Forbidden + You are not allowed to create emojis. + HTTPException + An error occurred creating an emoji. + + Returns + -------- + :class:`Emoji` + The created emoji. + """ + + img = utils._bytes_to_base64_data(image) + if roles: + roles = [role.id for role in roles] + data = await self._state.http.create_custom_emoji(self.id, name, img, roles=roles, reason=reason) + return self._state.store_emoji(self, data) + + async def create_role(self, *, reason=None, **fields): + """|coro| + + Creates a :class:`Role` for the guild. + + All fields are optional. + + You must have the :attr:`~Permissions.manage_roles` permission to + do this. + + Parameters + ----------- + name: :class:`str` + The role name. Defaults to 'new role'. + permissions: :class:`Permissions` + The permissions to have. Defaults to no permissions. + colour: :class:`Colour` + The colour for the role. Defaults to :meth:`Colour.default`. + This is aliased to ``color`` as well. + hoist: :class:`bool` + Indicates if the role should be shown separately in the member list. + Defaults to False. + mentionable: :class:`bool` + Indicates if the role should be mentionable by others. + Defaults to False. + reason: Optional[:class:`str`] + The reason for creating this role. Shows up on the audit log. + + Raises + ------- + Forbidden + You do not have permissions to create the role. + HTTPException + Creating the role failed. + InvalidArgument + An invalid keyword argument was given. + + Returns + -------- + :class:`Role` + The newly created role. + """ + + try: + perms = fields.pop('permissions') + except KeyError: + fields['permissions'] = 0 + else: + fields['permissions'] = perms.value + + try: + colour = fields.pop('colour') + except KeyError: + colour = fields.get('color', Colour.default()) + finally: + fields['color'] = colour.value + + valid_keys = ('name', 'permissions', 'color', 'hoist', 'mentionable') + for key in fields: + if key not in valid_keys: + raise InvalidArgument('%r is not a valid field.' % key) + + data = await self._state.http.create_role(self.id, reason=reason, **fields) + role = Role(guild=self, data=data, state=self._state) + + # TODO: add to cache + return role + + async def kick(self, user, *, reason=None): + """|coro| + + Kicks a user from the guild. + + The user must meet the :class:`abc.Snowflake` abc. + + You must have the :attr:`~Permissions.kick_members` permission to + do this. + + Parameters + ----------- + user: :class:`abc.Snowflake` + The user to kick from their guild. + reason: Optional[:class:`str`] + The reason the user got kicked. + + Raises + ------- + Forbidden + You do not have the proper permissions to kick. + HTTPException + Kicking failed. + """ + await self._state.http.kick(user.id, self.id, reason=reason) + + async def ban(self, user, *, reason=None, delete_message_days=1): + """|coro| + + Bans a user from the guild. + + The user must meet the :class:`abc.Snowflake` abc. + + You must have the :attr:`~Permissions.ban_members` permission to + do this. + + Parameters + ----------- + user: :class:`abc.Snowflake` + The user to ban from their guild. + delete_message_days: :class:`int` + The number of days worth of messages to delete from the user + in the guild. The minimum is 0 and the maximum is 7. + reason: Optional[:class:`str`] + The reason the user got banned. + + Raises + ------- + Forbidden + You do not have the proper permissions to ban. + HTTPException + Banning failed. + """ + await self._state.http.ban(user.id, self.id, delete_message_days, reason=reason) + + async def unban(self, user, *, reason=None): + """|coro| + + Unbans a user from the guild. + + The user must meet the :class:`abc.Snowflake` abc. + + You must have the :attr:`~Permissions.ban_members` permission to + do this. + + Parameters + ----------- + user: :class:`abc.Snowflake` + The user to unban. + reason: Optional[:class:`str`] + The reason for doing this action. Shows up on the audit log. + + Raises + ------- + Forbidden + You do not have the proper permissions to unban. + HTTPException + Unbanning failed. + """ + await self._state.http.unban(user.id, self.id, reason=reason) + + async def vanity_invite(self): + """|coro| + + Returns the guild's special vanity invite. + + The guild must be partnered, i.e. have 'VANITY_URL' in + :attr:`~Guild.features`. + + You must have the :attr:`~Permissions.manage_guild` permission to use + this as well. + + Raises + ------- + Forbidden + You do not have the proper permissions to get this. + HTTPException + Retrieving the vanity invite failed. + + Returns + -------- + :class:`Invite` + The special vanity invite. + """ + + # we start with { code: abc } + payload = await self._state.http.get_vanity_code(self.id) + + # get the vanity URL channel since default channels aren't + # reliable or a thing anymore + data = await self._state.http.get_invite(payload['code']) + + payload['guild'] = self + payload['channel'] = self.get_channel(int(data['channel']['id'])) + payload['revoked'] = False + payload['temporary'] = False + payload['max_uses'] = 0 + payload['max_age'] = 0 + return Invite(state=self._state, data=payload) + + def ack(self): + """|coro| + + Marks every message in this guild as read. + + The user must not be a bot user. + + Raises + ------- + HTTPException + Acking failed. + ClientException + You must not be a bot user. + """ + + state = self._state + if state.is_bot: + raise ClientException('Must not be a bot account to ack messages.') + return state.http.ack_guild(self.id) + + def audit_logs(self, *, limit=100, before=None, after=None, oldest_first=None, user=None, action=None): + """Return an :class:`AsyncIterator` that enables receiving the guild's audit logs. + + You must have the :attr:`~Permissions.view_audit_log` permission to use this. + + Examples + ---------- + + Getting the first 100 entries: :: + + async for entry in guild.audit_logs(limit=100): + print('{0.user} did {0.action} to {0.target}'.format(entry)) + + Getting entries for a specific action: :: + + async for entry in guild.audit_logs(action=discord.AuditLogAction.ban): + print('{0.user} banned {0.target}'.format(entry)) + + Getting entries made by a specific user: :: + + entries = await guild.audit_logs(limit=None, user=guild.me).flatten() + await channel.send('I made {} moderation actions.'.format(len(entries))) + + Parameters + ----------- + limit: Optional[:class:`int`] + The number of entries to retrieve. If ``None`` retrieve all entries. + before: Union[:class:`abc.Snowflake`, datetime] + Retrieve entries before this date or entry. + If a date is provided it must be a timezone-naive datetime representing UTC time. + after: Union[:class:`abc.Snowflake`, datetime] + Retrieve entries after this date or entry. + If a date is provided it must be a timezone-naive datetime representing UTC time. + oldest_first: :class:`bool` + If set to true, return entries in oldest->newest order. Defaults to True if + ``after`` is specified, otherwise False. + user: :class:`abc.Snowflake` + The moderator to filter entries from. + action: :class:`AuditLogAction` + The action to filter with. + + Raises + ------- + Forbidden + You are not allowed to fetch audit logs + HTTPException + An error occurred while fetching the audit logs. + + Yields + -------- + :class:`AuditLogEntry` + The audit log entry. + """ + if user: + user = user.id + + if action: + action = action.value + + return AuditLogIterator(self, before=before, after=after, limit=limit, + oldest_first=oldest_first, user_id=user, action_type=action) + + async def widget(self): + """|coro| + + Returns the widget of the guild. + + .. note:: + + The guild must have the widget enabled to get this information. + + Raises + ------- + Forbidden + The widget for this guild is disabled. + HTTPException + Retrieving the widget failed. + + Returns + -------- + :class:`Widget` + The guild's widget. + """ + data = await self._state.http.get_widget(self.id) + + return Widget(state=self._state, data=data) diff --git a/venv/lib/python3.6/site-packages/discord/http.py b/venv/lib/python3.6/site-packages/discord/http.py new file mode 100644 index 0000000..24b81f9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/http.py @@ -0,0 +1,824 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import asyncio +import json +import logging +import sys +from urllib.parse import quote as _uriquote +import weakref + +import aiohttp + +from .errors import HTTPException, Forbidden, NotFound, LoginFailure, GatewayNotFound +from . import __version__, utils + +log = logging.getLogger(__name__) + +async def json_or_text(response): + text = await response.text(encoding='utf-8') + if response.headers['content-type'] == 'application/json': + return json.loads(text) + return text + +class Route: + BASE = 'https://discordapp.com/api/v7' + + def __init__(self, method, path, **parameters): + self.path = path + self.method = method + url = (self.BASE + self.path) + if parameters: + self.url = url.format(**{k: _uriquote(v) if isinstance(v, str) else v for k, v in parameters.items()}) + else: + self.url = url + + # major parameters: + self.channel_id = parameters.get('channel_id') + self.guild_id = parameters.get('guild_id') + + @property + def bucket(self): + # the bucket is just method + path w/ major parameters + return '{0.method}:{0.channel_id}:{0.guild_id}:{0.path}'.format(self) + +class MaybeUnlock: + def __init__(self, lock): + self.lock = lock + self._unlock = True + + def __enter__(self): + return self + + def defer(self): + self._unlock = False + + def __exit__(self, type, value, traceback): + if self._unlock: + self.lock.release() + +class HTTPClient: + """Represents an HTTP client sending HTTP requests to the Discord API.""" + + SUCCESS_LOG = '{method} {url} has received {text}' + REQUEST_LOG = '{method} {url} with {json} has returned {status}' + + def __init__(self, connector=None, *, proxy=None, proxy_auth=None, loop=None): + self.loop = asyncio.get_event_loop() if loop is None else loop + self.connector = connector + self.__session = None # filled in static_login + self._locks = weakref.WeakValueDictionary() + self._global_over = asyncio.Event(loop=self.loop) + self._global_over.set() + self.token = None + self.bot_token = False + self.proxy = proxy + self.proxy_auth = proxy_auth + + user_agent = 'DiscordBot (https://github.com/Rapptz/discord.py {0}) Python/{1[0]}.{1[1]} aiohttp/{2}' + self.user_agent = user_agent.format(__version__, sys.version_info, aiohttp.__version__) + + def recreate(self): + if self.__session.closed: + self.__session = aiohttp.ClientSession(connector=self.connector, loop=self.loop) + + async def request(self, route, *, files=None, header_bypass_delay=None, **kwargs): + bucket = route.bucket + method = route.method + url = route.url + + lock = self._locks.get(bucket) + if lock is None: + lock = asyncio.Lock(loop=self.loop) + if bucket is not None: + self._locks[bucket] = lock + + # header creation + headers = { + 'User-Agent': self.user_agent, + } + + if self.token is not None: + headers['Authorization'] = 'Bot ' + self.token if self.bot_token else self.token + # some checking if it's a JSON request + if 'json' in kwargs: + headers['Content-Type'] = 'application/json' + kwargs['data'] = utils.to_json(kwargs.pop('json')) + + try: + reason = kwargs.pop('reason') + except KeyError: + pass + else: + if reason: + headers['X-Audit-Log-Reason'] = _uriquote(reason, safe='/ ') + + kwargs['headers'] = headers + + # Proxy support + if self.proxy is not None: + kwargs['proxy'] = self.proxy + if self.proxy_auth is not None: + kwargs['proxy_auth'] = self.proxy_auth + + if not self._global_over.is_set(): + # wait until the global lock is complete + await self._global_over.wait() + + await lock.acquire() + with MaybeUnlock(lock) as maybe_lock: + for tries in range(5): + if files: + for f in files: + f.reset(seek=tries) + + async with self.__session.request(method, url, **kwargs) as r: + log.debug('%s %s with %s has returned %s', method, url, kwargs.get('data'), r.status) + + # even errors have text involved in them so this is safe to call + data = await json_or_text(r) + + # check if we have rate limit header information + remaining = r.headers.get('X-Ratelimit-Remaining') + if remaining == '0' and r.status != 429: + # we've depleted our current bucket + if header_bypass_delay is None: + delta = utils._parse_ratelimit_header(r) + else: + delta = header_bypass_delay + + log.debug('A rate limit bucket has been exhausted (bucket: %s, retry: %s).', bucket, delta) + maybe_lock.defer() + self.loop.call_later(delta, lock.release) + + # the request was successful so just return the text/json + if 300 > r.status >= 200: + log.debug('%s %s has received %s', method, url, data) + return data + + # we are being rate limited + if r.status == 429: + if not isinstance(data, dict): + # Banned by Cloudflare more than likely. + raise HTTPException(r, data) + + fmt = 'We are being rate limited. Retrying in %.2f seconds. Handled under the bucket "%s"' + + # sleep a bit + retry_after = data['retry_after'] / 1000.0 + log.warning(fmt, retry_after, bucket) + + # check if it's a global rate limit + is_global = data.get('global', False) + if is_global: + log.warning('Global rate limit has been hit. Retrying in %.2f seconds.', retry_after) + self._global_over.clear() + + await asyncio.sleep(retry_after, loop=self.loop) + log.debug('Done sleeping for the rate limit. Retrying...') + + # release the global lock now that the + # global rate limit has passed + if is_global: + self._global_over.set() + log.debug('Global rate limit is now over.') + + continue + + # we've received a 500 or 502, unconditional retry + if r.status in {500, 502}: + await asyncio.sleep(1 + tries * 2, loop=self.loop) + continue + + # the usual error cases + if r.status == 403: + raise Forbidden(r, data) + elif r.status == 404: + raise NotFound(r, data) + else: + raise HTTPException(r, data) + + # We've run out of retries, raise. + raise HTTPException(r, data) + + async def get_from_cdn(self, url): + async with self.__session.get(url) as resp: + if resp.status == 200: + return await resp.read() + elif resp.status == 404: + raise NotFound(resp, 'asset not found') + elif resp.status == 403: + raise Forbidden(resp, 'cannot retrieve asset') + else: + raise HTTPException(resp, 'failed to get asset') + + # state management + + async def close(self): + if self.__session: + await self.__session.close() + + def _token(self, token, *, bot=True): + self.token = token + self.bot_token = bot + self._ack_token = None + + # login management + + async def static_login(self, token, *, bot): + # Necessary to get aiohttp to stop complaining about session creation + self.__session = aiohttp.ClientSession(connector=self.connector, loop=self.loop) + old_token, old_bot = self.token, self.bot_token + self._token(token, bot=bot) + + try: + data = await self.request(Route('GET', '/users/@me')) + except HTTPException as exc: + self._token(old_token, bot=old_bot) + if exc.response.status == 401: + raise LoginFailure('Improper token has been passed.') from exc + raise + + return data + + def logout(self): + return self.request(Route('POST', '/auth/logout')) + + # Group functionality + + def start_group(self, user_id, recipients): + payload = { + 'recipients': recipients + } + + return self.request(Route('POST', '/users/{user_id}/channels', user_id=user_id), json=payload) + + def leave_group(self, channel_id): + return self.request(Route('DELETE', '/channels/{channel_id}', channel_id=channel_id)) + + def add_group_recipient(self, channel_id, user_id): + r = Route('PUT', '/channels/{channel_id}/recipients/{user_id}', channel_id=channel_id, user_id=user_id) + return self.request(r) + + def remove_group_recipient(self, channel_id, user_id): + r = Route('DELETE', '/channels/{channel_id}/recipients/{user_id}', channel_id=channel_id, user_id=user_id) + return self.request(r) + + def edit_group(self, channel_id, **options): + valid_keys = ('name', 'icon') + payload = { + k: v for k, v in options.items() if k in valid_keys + } + + return self.request(Route('PATCH', '/channels/{channel_id}', channel_id=channel_id), json=payload) + + def convert_group(self, channel_id): + return self.request(Route('POST', '/channels/{channel_id}/convert', channel_id=channel_id)) + + # Message management + + def start_private_message(self, user_id): + payload = { + 'recipient_id': user_id + } + + return self.request(Route('POST', '/users/@me/channels'), json=payload) + + def send_message(self, channel_id, content, *, tts=False, embed=None, nonce=None): + r = Route('POST', '/channels/{channel_id}/messages', channel_id=channel_id) + payload = {} + + if content: + payload['content'] = content + + if tts: + payload['tts'] = True + + if embed: + payload['embed'] = embed + + if nonce: + payload['nonce'] = nonce + + return self.request(r, json=payload) + + def send_typing(self, channel_id): + return self.request(Route('POST', '/channels/{channel_id}/typing', channel_id=channel_id)) + + def send_files(self, channel_id, *, files, content=None, tts=False, embed=None, nonce=None): + r = Route('POST', '/channels/{channel_id}/messages', channel_id=channel_id) + form = aiohttp.FormData() + + payload = {'tts': tts} + if content: + payload['content'] = content + if embed: + payload['embed'] = embed + if nonce: + payload['nonce'] = nonce + + form.add_field('payload_json', utils.to_json(payload)) + if len(files) == 1: + file = files[0] + form.add_field('file', file.fp, filename=file.filename, content_type='application/octet-stream') + else: + for index, file in enumerate(files): + form.add_field('file%s' % index, file.fp, filename=file.filename, content_type='application/octet-stream') + + return self.request(r, data=form, files=files) + + async def ack_message(self, channel_id, message_id): + r = Route('POST', '/channels/{channel_id}/messages/{message_id}/ack', channel_id=channel_id, message_id=message_id) + data = await self.request(r, json={'token': self._ack_token}) + self._ack_token = data['token'] + + def ack_guild(self, guild_id): + return self.request(Route('POST', '/guilds/{guild_id}/ack', guild_id=guild_id)) + + def delete_message(self, channel_id, message_id, *, reason=None): + r = Route('DELETE', '/channels/{channel_id}/messages/{message_id}', channel_id=channel_id, message_id=message_id) + return self.request(r, reason=reason) + + def delete_messages(self, channel_id, message_ids, *, reason=None): + r = Route('POST', '/channels/{channel_id}/messages/bulk_delete', channel_id=channel_id) + payload = { + 'messages': message_ids + } + + return self.request(r, json=payload, reason=reason) + + def edit_message(self, message_id, channel_id, **fields): + r = Route('PATCH', '/channels/{channel_id}/messages/{message_id}', channel_id=channel_id, message_id=message_id) + return self.request(r, json=fields) + + def add_reaction(self, message_id, channel_id, emoji): + r = Route('PUT', '/channels/{channel_id}/messages/{message_id}/reactions/{emoji}/@me', + channel_id=channel_id, message_id=message_id, emoji=emoji) + return self.request(r, header_bypass_delay=0.25) + + def remove_reaction(self, message_id, channel_id, emoji, member_id): + r = Route('DELETE', '/channels/{channel_id}/messages/{message_id}/reactions/{emoji}/{member_id}', + channel_id=channel_id, message_id=message_id, member_id=member_id, emoji=emoji) + return self.request(r, header_bypass_delay=0.25) + + def remove_own_reaction(self, message_id, channel_id, emoji): + r = Route('DELETE', '/channels/{channel_id}/messages/{message_id}/reactions/{emoji}/@me', + channel_id=channel_id, message_id=message_id, emoji=emoji) + return self.request(r, header_bypass_delay=0.25) + + def get_reaction_users(self, message_id, channel_id, emoji, limit, after=None): + r = Route('GET', '/channels/{channel_id}/messages/{message_id}/reactions/{emoji}', + channel_id=channel_id, message_id=message_id, emoji=emoji) + + params = {'limit': limit} + if after: + params['after'] = after + return self.request(r, params=params) + + def clear_reactions(self, message_id, channel_id): + r = Route('DELETE', '/channels/{channel_id}/messages/{message_id}/reactions', + channel_id=channel_id, message_id=message_id) + + return self.request(r) + + def get_message(self, channel_id, message_id): + r = Route('GET', '/channels/{channel_id}/messages/{message_id}', channel_id=channel_id, message_id=message_id) + return self.request(r) + + def logs_from(self, channel_id, limit, before=None, after=None, around=None): + params = { + 'limit': limit + } + + if before is not None: + params['before'] = before + if after is not None: + params['after'] = after + if around is not None: + params['around'] = around + + return self.request(Route('GET', '/channels/{channel_id}/messages', channel_id=channel_id), params=params) + + def pin_message(self, channel_id, message_id): + return self.request(Route('PUT', '/channels/{channel_id}/pins/{message_id}', + channel_id=channel_id, message_id=message_id)) + + def unpin_message(self, channel_id, message_id): + return self.request(Route('DELETE', '/channels/{channel_id}/pins/{message_id}', + channel_id=channel_id, message_id=message_id)) + + def pins_from(self, channel_id): + return self.request(Route('GET', '/channels/{channel_id}/pins', channel_id=channel_id)) + + # Member management + + def kick(self, user_id, guild_id, reason=None): + r = Route('DELETE', '/guilds/{guild_id}/members/{user_id}', guild_id=guild_id, user_id=user_id) + if reason: + # thanks aiohttp + r.url = '{0.url}?reason={1}'.format(r, _uriquote(reason)) + + return self.request(r) + + def ban(self, user_id, guild_id, delete_message_days=1, reason=None): + r = Route('PUT', '/guilds/{guild_id}/bans/{user_id}', guild_id=guild_id, user_id=user_id) + params = { + 'delete-message-days': delete_message_days, + } + + if reason: + # thanks aiohttp + r.url = '{0.url}?reason={1}'.format(r, _uriquote(reason)) + + return self.request(r, params=params) + + def unban(self, user_id, guild_id, *, reason=None): + r = Route('DELETE', '/guilds/{guild_id}/bans/{user_id}', guild_id=guild_id, user_id=user_id) + return self.request(r, reason=reason) + + def guild_voice_state(self, user_id, guild_id, *, mute=None, deafen=None, reason=None): + r = Route('PATCH', '/guilds/{guild_id}/members/{user_id}', guild_id=guild_id, user_id=user_id) + payload = {} + if mute is not None: + payload['mute'] = mute + + if deafen is not None: + payload['deaf'] = deafen + + return self.request(r, json=payload, reason=reason) + + def edit_profile(self, password, username, avatar, **fields): + payload = { + 'password': password, + 'username': username, + 'avatar': avatar + } + + if 'email' in fields: + payload['email'] = fields['email'] + + if 'new_password' in fields: + payload['new_password'] = fields['new_password'] + + return self.request(Route('PATCH', '/users/@me'), json=payload) + + def change_my_nickname(self, guild_id, nickname, *, reason=None): + r = Route('PATCH', '/guilds/{guild_id}/members/@me/nick', guild_id=guild_id) + payload = { + 'nick': nickname + } + return self.request(r, json=payload, reason=reason) + + def change_nickname(self, guild_id, user_id, nickname, *, reason=None): + r = Route('PATCH', '/guilds/{guild_id}/members/{user_id}', guild_id=guild_id, user_id=user_id) + payload = { + 'nick': nickname + } + return self.request(r, json=payload, reason=reason) + + def edit_member(self, guild_id, user_id, *, reason=None, **fields): + r = Route('PATCH', '/guilds/{guild_id}/members/{user_id}', guild_id=guild_id, user_id=user_id) + return self.request(r, json=fields, reason=reason) + + # Channel management + + def edit_channel(self, channel_id, *, reason=None, **options): + r = Route('PATCH', '/channels/{channel_id}', channel_id=channel_id) + valid_keys = ('name', 'parent_id', 'topic', 'bitrate', 'nsfw', + 'user_limit', 'position', 'permission_overwrites', 'rate_limit_per_user') + payload = { + k: v for k, v in options.items() if k in valid_keys + } + + return self.request(r, reason=reason, json=payload) + + def bulk_channel_update(self, guild_id, data, *, reason=None): + r = Route('PATCH', '/guilds/{guild_id}/channels', guild_id=guild_id) + return self.request(r, json=data, reason=reason) + + def create_channel(self, guild_id, channel_type, *, reason=None, **options): + payload = { + 'type': channel_type + } + + valid_keys = ('name', 'parent_id', 'topic', 'bitrate', 'nsfw', + 'user_limit', 'position', 'permission_overwrites', 'rate_limit_per_user') + payload.update({ + k: v for k, v in options.items() if k in valid_keys and v is not None + }) + + return self.request(Route('POST', '/guilds/{guild_id}/channels', guild_id=guild_id), json=payload, reason=reason) + + def delete_channel(self, channel_id, *, reason=None): + return self.request(Route('DELETE', '/channels/{channel_id}', channel_id=channel_id), reason=reason) + + # Webhook management + + def create_webhook(self, channel_id, *, name, avatar=None): + payload = { + 'name': name + } + if avatar is not None: + payload['avatar'] = avatar + + return self.request(Route('POST', '/channels/{channel_id}/webhooks', channel_id=channel_id), json=payload) + + def channel_webhooks(self, channel_id): + return self.request(Route('GET', '/channels/{channel_id}/webhooks', channel_id=channel_id)) + + def guild_webhooks(self, guild_id): + return self.request(Route('GET', '/guilds/{guild_id}/webhooks', guild_id=guild_id)) + + def get_webhook(self, webhook_id): + return self.request(Route('GET', '/webhooks/{webhook_id}', webhook_id=webhook_id)) + + # Guild management + + def get_guilds(self, limit, before=None, after=None): + params = { + 'limit': limit + } + + if before: + params['before'] = before + if after: + params['after'] = after + + return self.request(Route('GET', '/users/@me/guilds'), params=params) + + def leave_guild(self, guild_id): + return self.request(Route('DELETE', '/users/@me/guilds/{guild_id}', guild_id=guild_id)) + + def get_guild(self, guild_id): + return self.request(Route('GET', '/guilds/{guild_id}', guild_id=guild_id)) + + def delete_guild(self, guild_id): + return self.request(Route('DELETE', '/guilds/{guild_id}', guild_id=guild_id)) + + def create_guild(self, name, region, icon): + payload = { + 'name': name, + 'icon': icon, + 'region': region + } + + return self.request(Route('POST', '/guilds'), json=payload) + + def edit_guild(self, guild_id, *, reason=None, **fields): + valid_keys = ('name', 'region', 'icon', 'afk_timeout', 'owner_id', + 'afk_channel_id', 'splash', 'verification_level', + 'system_channel_id', 'default_message_notifications', + 'description', 'explicit_content_filter', 'banner') + + payload = { + k: v for k, v in fields.items() if k in valid_keys + } + + return self.request(Route('PATCH', '/guilds/{guild_id}', guild_id=guild_id), json=payload, reason=reason) + + def get_bans(self, guild_id): + return self.request(Route('GET', '/guilds/{guild_id}/bans', guild_id=guild_id)) + + def get_ban(self, user_id, guild_id): + return self.request(Route('GET', '/guilds/{guild_id}/bans/{user_id}', guild_id=guild_id, user_id=user_id)) + + def get_vanity_code(self, guild_id): + return self.request(Route('GET', '/guilds/{guild_id}/vanity-url', guild_id=guild_id)) + + def change_vanity_code(self, guild_id, code, *, reason=None): + payload = {'code': code} + return self.request(Route('PATCH', '/guilds/{guild_id}/vanity-url', guild_id=guild_id), json=payload, reason=reason) + + def get_member(self, guild_id, member_id): + return self.request(Route('GET', '/guilds/{guild_id}/members/{member_id}', guild_id=guild_id, member_id=member_id)) + + def prune_members(self, guild_id, days, *, reason=None): + params = { + 'days': days + } + return self.request(Route('POST', '/guilds/{guild_id}/prune', guild_id=guild_id), params=params, reason=reason) + + def estimate_pruned_members(self, guild_id, days): + params = { + 'days': days + } + return self.request(Route('GET', '/guilds/{guild_id}/prune', guild_id=guild_id), params=params) + + def get_all_custom_emojis(self, guild_id): + return self.request(Route('GET', '/guilds/{guild_id}/emojis', guild_id=guild_id)) + + def get_custom_emoji(self, guild_id, emoji_id): + return self.request(Route('GET', '/guilds/{guild_id}/emojis/{emoji_id}', guild_id=guild_id, emoji_id=emoji_id)) + + def create_custom_emoji(self, guild_id, name, image, *, roles=None, reason=None): + payload = { + 'name': name, + 'image': image, + 'roles': roles or [] + } + + r = Route('POST', '/guilds/{guild_id}/emojis', guild_id=guild_id) + return self.request(r, json=payload, reason=reason) + + def delete_custom_emoji(self, guild_id, emoji_id, *, reason=None): + r = Route('DELETE', '/guilds/{guild_id}/emojis/{emoji_id}', guild_id=guild_id, emoji_id=emoji_id) + return self.request(r, reason=reason) + + def edit_custom_emoji(self, guild_id, emoji_id, *, name, roles=None, reason=None): + payload = { + 'name': name, + 'roles': roles or [] + } + r = Route('PATCH', '/guilds/{guild_id}/emojis/{emoji_id}', guild_id=guild_id, emoji_id=emoji_id) + return self.request(r, json=payload, reason=reason) + + def get_audit_logs(self, guild_id, limit=100, before=None, after=None, user_id=None, action_type=None): + params = {'limit': limit} + if before: + params['before'] = before + if after: + params['after'] = after + if user_id: + params['user_id'] = user_id + if action_type: + params['action_type'] = action_type + + r = Route('GET', '/guilds/{guild_id}/audit-logs', guild_id=guild_id) + return self.request(r, params=params) + + def get_widget(self, guild_id): + return self.request(Route('GET', '/guilds/{guild_id}/widget.json', guild_id=guild_id)) + + # Invite management + + def create_invite(self, channel_id, *, reason=None, **options): + r = Route('POST', '/channels/{channel_id}/invites', channel_id=channel_id) + payload = { + 'max_age': options.get('max_age', 0), + 'max_uses': options.get('max_uses', 0), + 'temporary': options.get('temporary', False), + 'unique': options.get('unique', True) + } + + return self.request(r, reason=reason, json=payload) + + def get_invite(self, invite_id, *, with_counts=True): + params = { + 'with_counts': int(with_counts) + } + return self.request(Route('GET', '/invite/{invite_id}', invite_id=invite_id), params=params) + + def invites_from(self, guild_id): + return self.request(Route('GET', '/guilds/{guild_id}/invites', guild_id=guild_id)) + + def invites_from_channel(self, channel_id): + return self.request(Route('GET', '/channels/{channel_id}/invites', channel_id=channel_id)) + + def delete_invite(self, invite_id, *, reason=None): + return self.request(Route('DELETE', '/invite/{invite_id}', invite_id=invite_id), reason=reason) + + # Role management + + def edit_role(self, guild_id, role_id, *, reason=None, **fields): + r = Route('PATCH', '/guilds/{guild_id}/roles/{role_id}', guild_id=guild_id, role_id=role_id) + valid_keys = ('name', 'permissions', 'color', 'hoist', 'mentionable') + payload = { + k: v for k, v in fields.items() if k in valid_keys + } + return self.request(r, json=payload, reason=reason) + + def delete_role(self, guild_id, role_id, *, reason=None): + r = Route('DELETE', '/guilds/{guild_id}/roles/{role_id}', guild_id=guild_id, role_id=role_id) + return self.request(r, reason=reason) + + def replace_roles(self, user_id, guild_id, role_ids, *, reason=None): + return self.edit_member(guild_id=guild_id, user_id=user_id, roles=role_ids, reason=reason) + + def create_role(self, guild_id, *, reason=None, **fields): + r = Route('POST', '/guilds/{guild_id}/roles', guild_id=guild_id) + return self.request(r, json=fields, reason=reason) + + def move_role_position(self, guild_id, positions, *, reason=None): + r = Route('PATCH', '/guilds/{guild_id}/roles', guild_id=guild_id) + return self.request(r, json=positions, reason=reason) + + def add_role(self, guild_id, user_id, role_id, *, reason=None): + r = Route('PUT', '/guilds/{guild_id}/members/{user_id}/roles/{role_id}', + guild_id=guild_id, user_id=user_id, role_id=role_id) + return self.request(r, reason=reason) + + def remove_role(self, guild_id, user_id, role_id, *, reason=None): + r = Route('DELETE', '/guilds/{guild_id}/members/{user_id}/roles/{role_id}', + guild_id=guild_id, user_id=user_id, role_id=role_id) + return self.request(r, reason=reason) + + def edit_channel_permissions(self, channel_id, target, allow, deny, type, *, reason=None): + payload = { + 'id': target, + 'allow': allow, + 'deny': deny, + 'type': type + } + r = Route('PUT', '/channels/{channel_id}/permissions/{target}', channel_id=channel_id, target=target) + return self.request(r, json=payload, reason=reason) + + def delete_channel_permissions(self, channel_id, target, *, reason=None): + r = Route('DELETE', '/channels/{channel_id}/permissions/{target}', channel_id=channel_id, target=target) + return self.request(r, reason=reason) + + # Voice management + + def move_member(self, user_id, guild_id, channel_id, *, reason=None): + return self.edit_member(guild_id=guild_id, user_id=user_id, channel_id=channel_id, reason=reason) + + # Relationship related + + def remove_relationship(self, user_id): + r = Route('DELETE', '/users/@me/relationships/{user_id}', user_id=user_id) + return self.request(r) + + def add_relationship(self, user_id, type=None): + r = Route('PUT', '/users/@me/relationships/{user_id}', user_id=user_id) + payload = {} + if type is not None: + payload['type'] = type + + return self.request(r, json=payload) + + def send_friend_request(self, username, discriminator): + r = Route('POST', '/users/@me/relationships') + payload = { + 'username': username, + 'discriminator': int(discriminator) + } + return self.request(r, json=payload) + + # Misc + + def application_info(self): + return self.request(Route('GET', '/oauth2/applications/@me')) + + async def get_gateway(self, *, encoding='json', v=6, zlib=True): + try: + data = await self.request(Route('GET', '/gateway')) + except HTTPException as exc: + raise GatewayNotFound() from exc + if zlib: + value = '{0}?encoding={1}&v={2}&compress=zlib-stream' + else: + value = '{0}?encoding={1}&v={2}' + return value.format(data['url'], encoding, v) + + async def get_bot_gateway(self, *, encoding='json', v=6, zlib=True): + try: + data = await self.request(Route('GET', '/gateway/bot')) + except HTTPException as exc: + raise GatewayNotFound() from exc + + if zlib: + value = '{0}?encoding={1}&v={2}&compress=zlib-stream' + else: + value = '{0}?encoding={1}&v={2}' + return data['shards'], value.format(data['url'], encoding, v) + + def get_user_info(self, user_id): + return self.request(Route('GET', '/users/{user_id}', user_id=user_id)) + + def get_user_profile(self, user_id): + return self.request(Route('GET', '/users/{user_id}/profile', user_id=user_id)) + + def get_mutual_friends(self, user_id): + return self.request(Route('GET', '/users/{user_id}/relationships', user_id=user_id)) + + def change_hypesquad_house(self, house_id): + payload = {'house_id': house_id} + return self.request(Route('POST', '/hypesquad/online'), json=payload) + + def leave_hypesquad_house(self): + return self.request(Route('DELETE', '/hypesquad/online')) + + def edit_settings(self, **payload): + return self.request(Route('PATCH', '/users/@me/settings'), json=payload) diff --git a/venv/lib/python3.6/site-packages/discord/invite.py b/venv/lib/python3.6/site-packages/discord/invite.py new file mode 100644 index 0000000..e79eb89 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/invite.py @@ -0,0 +1,308 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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 .asset import Asset +from .utils import parse_time, snowflake_time +from .mixins import Hashable +from .enums import ChannelType, VerificationLevel, try_enum +from collections import namedtuple + +class PartialInviteChannel(namedtuple('PartialInviteChannel', 'id name type')): + """Represents a "partial" invite channel. + + This model will be given when the user is not part of the + guild the :class:`Invite` resolves to. + + .. container:: operations + + .. describe:: x == y + + Checks if two partial channels are the same. + + .. describe:: x != y + + Checks if two partial channels are not the same. + + .. describe:: hash(x) + + Return the partial channel's hash. + + .. describe:: str(x) + + Returns the partial channel's name. + + Attributes + ----------- + name: :class:`str` + The partial channel's name. + id: :class:`int` + The partial channel's ID. + type: :class:`ChannelType` + The partial channel's type. + """ + + __slots__ = () + + def __str__(self): + return self.name + + @property + def mention(self): + """:class:`str` : The string that allows you to mention the channel.""" + return '<#%s>' % self.id + + @property + def created_at(self): + """Returns the channel's creation time in UTC.""" + return snowflake_time(self.id) + +class PartialInviteGuild: + """Represents a "partial" invite guild. + + This model will be given when the user is not part of the + guild the :class:`Invite` resolves to. + + .. container:: operations + + .. describe:: x == y + + Checks if two partial guilds are the same. + + .. describe:: x != y + + Checks if two partial guilds are not the same. + + .. describe:: hash(x) + + Return the partial guild's hash. + + .. describe:: str(x) + + Returns the partial guild's name. + + Attributes + ----------- + name: :class:`str` + The partial guild's name. + id: :class:`int` + The partial guild's ID. + verification_level: :class:`VerificationLevel` + The partial guild's verification level. + features: List[:class:`str`] + A list of features the guild has. See :attr:`Guild.features` for more information. + icon: Optional[:class:`str`] + The partial guild's icon. + banner: Optional[:class:`str`] + The partial guild's banner. + splash: Optional[:class:`str`] + The partial guild's invite splash. + description: Optional[:class:`str`] + The partial guild's description. + """ + + __slots__ = ('_state', 'features', 'icon', 'banner', 'id', 'name', 'splash', + 'verification_level', 'description') + + def __init__(self, state, data, id): + self._state = state + self.id = id + self.name = data['name'] + self.features = data.get('features', []) + self.icon = data.get('icon') + self.banner = data.get('banner') + self.splash = data.get('splash') + self.verification_level = try_enum(VerificationLevel, data.get('verification_level')) + self.description = data.get('description') + + def __str__(self): + return self.name + + @property + def created_at(self): + """Returns the guild's creation time in UTC.""" + return snowflake_time(self.id) + + @property + def icon_url(self): + """Returns the URL version of the guild's icon. Returns an empty string if it has no icon.""" + return self.icon_url_as() + + def icon_url_as(self, *, format='webp', size=1024): + """:class:`Asset`: The same operation as :meth:`Guild.icon_url_as`.""" + return Asset._from_guild_image(self._state, self.id, self.icon, 'icons', format=format, size=size) + + @property + def banner_url(self): + """Returns the URL version of the guild's banner. Returns an empty string if it has no banner.""" + return self.banner_url_as() + + def banner_url_as(self, *, format='webp', size=2048): + """:class:`Asset`: The same operation as :meth:`Guild.banner_url_as`.""" + return Asset._from_guild_image(self._state, self.id, self.banner, 'banners', format=format, size=size) + + @property + def splash_url(self): + """Returns the URL version of the guild's invite splash. Returns an empty string if it has no splash.""" + return self.splash_url_as() + + def splash_url_as(self, *, format='webp', size=2048): + """:class:`Asset`: The same operation as :meth:`Guild.splash_url_as`.""" + return Asset._from_guild_image(self._state, self.id, self.splash, 'splashes', format=format, size=size) + +class Invite(Hashable): + """Represents a Discord :class:`Guild` or :class:`abc.GuildChannel` invite. + + Depending on the way this object was created, some of the attributes can + have a value of ``None``. + + .. container:: operations + + .. describe:: x == y + + Checks if two invites are equal. + + .. describe:: x != y + + Checks if two invites are not equal. + + .. describe:: hash(x) + + Returns the invite hash. + + .. describe:: str(x) + + Returns the invite URL. + + Attributes + ----------- + max_age: :class:`int` + How long the before the invite expires in seconds. A value of 0 indicates that it doesn't expire. + code: :class:`str` + The URL fragment used for the invite. + guild: Union[:class:`Guild`, :class:`PartialInviteGuild`] + The guild the invite is for. + revoked: :class:`bool` + Indicates if the invite has been revoked. + created_at: `datetime.datetime` + A datetime object denoting the time the invite was created. + temporary: :class:`bool` + Indicates that the invite grants temporary membership. + If True, members who joined via this invite will be kicked upon disconnect. + uses: :class:`int` + How many times the invite has been used. + max_uses: :class:`int` + How many times the invite can be used. + inviter: :class:`User` + The user who created the invite. + approximate_member_count: Optional[:class:`int`] + The approximate number of members in the guild. + approximate_presence_count: Optional[:class:`int`] + The approximate number of members currently active in the guild. + This includes idle, dnd, online, and invisible members. Offline members are excluded. + channel: Union[:class:`abc.GuildChannel`, :class:`PartialInviteChannel`] + The channel the invite is for. + """ + + __slots__ = ('max_age', 'code', 'guild', 'revoked', 'created_at', 'uses', + 'temporary', 'max_uses', 'inviter', 'channel', '_state', + 'approximate_member_count', 'approximate_presence_count' ) + + def __init__(self, *, state, data): + self._state = state + self.max_age = data.get('max_age') + self.code = data.get('code') + self.guild = data.get('guild') + self.revoked = data.get('revoked') + self.created_at = parse_time(data.get('created_at')) + self.temporary = data.get('temporary') + self.uses = data.get('uses') + self.max_uses = data.get('max_uses') + self.approximate_presence_count = data.get('approximate_presence_count') + self.approximate_member_count = data.get('approximate_member_count') + + inviter_data = data.get('inviter') + self.inviter = None if inviter_data is None else self._state.store_user(inviter_data) + self.channel = data.get('channel') + + @classmethod + def from_incomplete(cls, *, state, data): + guild_id = int(data['guild']['id']) + channel_id = int(data['channel']['id']) + guild = state._get_guild(guild_id) + if guild is not None: + channel = guild.get_channel(channel_id) + else: + channel_data = data['channel'] + guild_data = data['guild'] + channel_type = try_enum(ChannelType, channel_data['type']) + channel = PartialInviteChannel(id=channel_id, name=channel_data['name'], type=channel_type) + guild = PartialInviteGuild(state, guild_data, guild_id) + data['guild'] = guild + data['channel'] = channel + return cls(state=state, data=data) + + def __str__(self): + return self.url + + def __repr__(self): + return '<Invite code={0.code!r}>'.format(self) + + def __hash__(self): + return hash(self.code) + + @property + def id(self): + """Returns the proper code portion of the invite.""" + return self.code + + @property + def url(self): + """A property that retrieves the invite URL.""" + return 'http://discord.gg/' + self.code + + async def delete(self, *, reason=None): + """|coro| + + Revokes the instant invite. + + You must have the :attr:`~Permissions.manage_channels` permission to do this. + + Parameters + ----------- + reason: Optional[:class:`str`] + The reason for deleting this invite. Shows up on the audit log. + + Raises + ------- + Forbidden + You do not have permissions to revoke invites. + NotFound + The invite is invalid or expired. + HTTPException + Revoking the invite failed. + """ + + await self._state.http.delete_invite(self.code, reason=reason) diff --git a/venv/lib/python3.6/site-packages/discord/iterators.py b/venv/lib/python3.6/site-packages/discord/iterators.py new file mode 100644 index 0000000..8773792 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/iterators.py @@ -0,0 +1,589 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import asyncio +import datetime + +from .errors import NoMoreItems +from .utils import DISCORD_EPOCH, time_snowflake, maybe_coroutine +from .object import Object +from .audit_logs import AuditLogEntry + +OLDEST_OBJECT = Object(id=0) + +class _AsyncIterator: + __slots__ = () + + def get(self, **attrs): + def predicate(elem): + for attr, val in attrs.items(): + nested = attr.split('__') + obj = elem + for attribute in nested: + obj = getattr(obj, attribute) + + if obj != val: + return False + return True + + return self.find(predicate) + + async def find(self, predicate): + while True: + try: + elem = await self.next() + except NoMoreItems: + return None + + ret = await maybe_coroutine(predicate, elem) + if ret: + return elem + + def map(self, func): + return _MappedAsyncIterator(self, func) + + def filter(self, predicate): + return _FilteredAsyncIterator(self, predicate) + + async def flatten(self): + ret = [] + while True: + try: + item = await self.next() + except NoMoreItems: + return ret + else: + ret.append(item) + + def __aiter__(self): + return self + + async def __anext__(self): + try: + msg = await self.next() + except NoMoreItems: + raise StopAsyncIteration() + else: + return msg + +def _identity(x): + return x + +class _MappedAsyncIterator(_AsyncIterator): + def __init__(self, iterator, func): + self.iterator = iterator + self.func = func + + async def next(self): + # this raises NoMoreItems and will propagate appropriately + item = await self.iterator.next() + return await maybe_coroutine(self.func, item) + +class _FilteredAsyncIterator(_AsyncIterator): + def __init__(self, iterator, predicate): + self.iterator = iterator + + if predicate is None: + predicate = _identity + + self.predicate = predicate + + async def next(self): + getter = self.iterator.next + pred = self.predicate + while True: + # propagate NoMoreItems similar to _MappedAsyncIterator + item = await getter() + ret = await maybe_coroutine(pred, item) + if ret: + return item + +class ReactionIterator(_AsyncIterator): + def __init__(self, message, emoji, limit=100, after=None): + self.message = message + self.limit = limit + self.after = after + state = message._state + self.getter = state.http.get_reaction_users + self.state = state + self.emoji = emoji + self.guild = message.guild + self.channel_id = message.channel.id + self.users = asyncio.Queue(loop=state.loop) + + async def next(self): + if self.users.empty(): + await self.fill_users() + + try: + return self.users.get_nowait() + except asyncio.QueueEmpty: + raise NoMoreItems() + + async def fill_users(self): + # this is a hack because >circular imports< + from .user import User + + if self.limit > 0: + retrieve = self.limit if self.limit <= 100 else 100 + + after = self.after.id if self.after else None + data = await self.getter(self.message.id, self.channel_id, self.emoji, retrieve, after=after) + + if data: + self.limit -= retrieve + self.after = Object(id=int(data[-1]['id'])) + + if self.guild is None: + for element in reversed(data): + await self.users.put(User(state=self.state, data=element)) + else: + for element in reversed(data): + member_id = int(element['id']) + member = self.guild.get_member(member_id) + if member is not None: + await self.users.put(member) + else: + await self.users.put(User(state=self.state, data=element)) + +class HistoryIterator(_AsyncIterator): + """Iterator for receiving a channel's message history. + + The messages endpoint has two behaviours we care about here: + If `before` is specified, the messages endpoint returns the `limit` + newest messages before `before`, sorted with newest first. For filling over + 100 messages, update the `before` parameter to the oldest message received. + Messages will be returned in order by time. + If `after` is specified, it returns the `limit` oldest messages after + `after`, sorted with newest first. For filling over 100 messages, update the + `after` parameter to the newest message received. If messages are not + reversed, they will be out of order (99-0, 199-100, so on) + + A note that if both before and after are specified, before is ignored by the + messages endpoint. + + Parameters + ----------- + messageable: :class:`abc.Messageable` + Messageable class to retrieve message history from. + limit: :class:`int` + Maximum number of messages to retrieve + before: :class:`abc.Snowflake` + Message before which all messages must be. + after: :class:`abc.Snowflake` + Message after which all messages must be. + around: :class:`abc.Snowflake` + Message around which all messages must be. Limit max 101. Note that if + limit is an even number, this will return at most limit+1 messages. + oldest_first: :class:`bool` + If set to true, return messages in oldest->newest order. Defaults to + True if ``after`` is specified, otherwise False. + """ + + def __init__(self, messageable, limit, + before=None, after=None, around=None, oldest_first=None): + + if isinstance(before, datetime.datetime): + before = Object(id=time_snowflake(before, high=False)) + if isinstance(after, datetime.datetime): + after = Object(id=time_snowflake(after, high=True)) + if isinstance(around, datetime.datetime): + around = Object(id=time_snowflake(around)) + + if oldest_first is None: + self.reverse = after is not None + else: + self.reverse = oldest_first + + self.messageable = messageable + self.limit = limit + self.before = before + self.after = after or OLDEST_OBJECT + self.around = around + + self._filter = None # message dict -> bool + + self.state = self.messageable._state + self.logs_from = self.state.http.logs_from + self.messages = asyncio.Queue(loop=self.state.loop) + + if self.around: + if self.limit is None: + raise ValueError('history does not support around with limit=None') + if self.limit > 101: + raise ValueError("history max limit 101 when specifying around parameter") + elif self.limit == 101: + self.limit = 100 # Thanks discord + elif self.limit == 1: + raise ValueError("Use fetch_message.") + + self._retrieve_messages = self._retrieve_messages_around_strategy + if self.before and self.after: + self._filter = lambda m: self.after.id < int(m['id']) < self.before.id + elif self.before: + self._filter = lambda m: int(m['id']) < self.before.id + elif self.after: + self._filter = lambda m: self.after.id < int(m['id']) + else: + if self.reverse: + self._retrieve_messages = self._retrieve_messages_after_strategy + if (self.before): + self._filter = lambda m: int(m['id']) < self.before.id + else: + self._retrieve_messages = self._retrieve_messages_before_strategy + if (self.after and self.after != OLDEST_OBJECT): + self._filter = lambda m: int(m['id']) > self.after.id + + async def next(self): + if self.messages.empty(): + await self.fill_messages() + + try: + return self.messages.get_nowait() + except asyncio.QueueEmpty: + raise NoMoreItems() + + def _get_retrieve(self): + l = self.limit + if l is None: + r = 100 + elif l <= 100: + r = l + else: + r = 100 + + self.retrieve = r + return r > 0 + + async def flatten(self): + # this is similar to fill_messages except it uses a list instead + # of a queue to place the messages in. + result = [] + channel = await self.messageable._get_channel() + self.channel = channel + while self._get_retrieve(): + data = await self._retrieve_messages(self.retrieve) + if len(data) < 100: + self.limit = 0 # terminate the infinite loop + + if self.reverse: + data = reversed(data) + if self._filter: + data = filter(self._filter, data) + + for element in data: + result.append(self.state.create_message(channel=channel, data=element)) + return result + + async def fill_messages(self): + if not hasattr(self, 'channel'): + # do the required set up + channel = await self.messageable._get_channel() + self.channel = channel + + if self._get_retrieve(): + data = await self._retrieve_messages(self.retrieve) + if len(data) < 100: + self.limit = 0 # terminate the infinite loop + + if self.reverse: + data = reversed(data) + if self._filter: + data = filter(self._filter, data) + + channel = self.channel + for element in data: + await self.messages.put(self.state.create_message(channel=channel, data=element)) + + async def _retrieve_messages(self, retrieve): + """Retrieve messages and update next parameters.""" + pass + + async def _retrieve_messages_before_strategy(self, retrieve): + """Retrieve messages using before parameter.""" + before = self.before.id if self.before else None + data = await self.logs_from(self.channel.id, retrieve, before=before) + if len(data): + if self.limit is not None: + self.limit -= retrieve + self.before = Object(id=int(data[-1]['id'])) + return data + + async def _retrieve_messages_after_strategy(self, retrieve): + """Retrieve messages using after parameter.""" + after = self.after.id if self.after else None + data = await self.logs_from(self.channel.id, retrieve, after=after) + if len(data): + if self.limit is not None: + self.limit -= retrieve + self.after = Object(id=int(data[0]['id'])) + return data + + async def _retrieve_messages_around_strategy(self, retrieve): + """Retrieve messages using around parameter.""" + if self.around: + around = self.around.id if self.around else None + data = await self.logs_from(self.channel.id, retrieve, around=around) + self.around = None + return data + return [] + +class AuditLogIterator(_AsyncIterator): + def __init__(self, guild, limit=None, before=None, after=None, oldest_first=None, user_id=None, action_type=None): + if isinstance(before, datetime.datetime): + before = Object(id=time_snowflake(before, high=False)) + if isinstance(after, datetime.datetime): + after = Object(id=time_snowflake(after, high=True)) + + + if oldest_first is None: + self.reverse = after is not None + else: + self.reverse = oldest_first + + self.guild = guild + self.loop = guild._state.loop + self.request = guild._state.http.get_audit_logs + self.limit = limit + self.before = before + self.user_id = user_id + self.action_type = action_type + self.after = OLDEST_OBJECT + self._users = {} + self._state = guild._state + + + self._filter = None # entry dict -> bool + + self.entries = asyncio.Queue(loop=self.loop) + + + if self.reverse: + self._strategy = self._after_strategy + if self.before: + self._filter = lambda m: int(m['id']) < self.before.id + else: + self._strategy = self._before_strategy + if self.after and self.after != OLDEST_OBJECT: + self._filter = lambda m: int(m['id']) > self.after.id + + async def _before_strategy(self, retrieve): + before = self.before.id if self.before else None + data = await self.request(self.guild.id, limit=retrieve, user_id=self.user_id, + action_type=self.action_type, before=before) + + entries = data.get('audit_log_entries', []) + if len(data) and entries: + if self.limit is not None: + self.limit -= retrieve + self.before = Object(id=int(entries[-1]['id'])) + return data.get('users', []), entries + + async def _after_strategy(self, retrieve): + after = self.after.id if self.after else None + data = await self.request(self.guild.id, limit=retrieve, user_id=self.user_id, + action_type=self.action_type, after=after) + entries = data.get('audit_log_entries', []) + if len(data) and entries: + if self.limit is not None: + self.limit -= retrieve + self.after = Object(id=int(entries[0]['id'])) + return data.get('users', []), entries + + async def next(self): + if self.entries.empty(): + await self._fill() + + try: + return self.entries.get_nowait() + except asyncio.QueueEmpty: + raise NoMoreItems() + + def _get_retrieve(self): + l = self.limit + if l is None: + r = 100 + elif l <= 100: + r = l + else: + r = 100 + + self.retrieve = r + return r > 0 + + async def _fill(self): + from .user import User + + if self._get_retrieve(): + users, data = await self._strategy(self.retrieve) + if len(data) < 100: + self.limit = 0 # terminate the infinite loop + + if self.reverse: + data = reversed(data) + if self._filter: + data = filter(self._filter, data) + + for user in users: + u = User(data=user, state=self._state) + self._users[u.id] = u + + for element in data: + # TODO: remove this if statement later + if element['action_type'] is None: + continue + + await self.entries.put(AuditLogEntry(data=element, users=self._users, guild=self.guild)) + + +class GuildIterator(_AsyncIterator): + """Iterator for receiving the client's guilds. + + The guilds endpoint has the same two behaviours as described + in :class:`HistoryIterator`: + If `before` is specified, the guilds endpoint returns the `limit` + newest guilds before `before`, sorted with newest first. For filling over + 100 guilds, update the `before` parameter to the oldest guild received. + Guilds will be returned in order by time. + If `after` is specified, it returns the `limit` oldest guilds after `after`, + sorted with newest first. For filling over 100 guilds, update the `after` + parameter to the newest guild received, If guilds are not reversed, they + will be out of order (99-0, 199-100, so on) + + Not that if both before and after are specified, before is ignored by the + guilds endpoint. + + Parameters + ----------- + bot: :class:`discord.Client` + The client to retrieve the guilds from. + limit: :class:`int` + Maximum number of guilds to retrieve. + before: :class:`Snowflake` + Object before which all guilds must be. + after: :class:`Snowflake` + Object after which all guilds must be. + """ + def __init__(self, bot, limit, before=None, after=None): + + if isinstance(before, datetime.datetime): + before = Object(id=time_snowflake(before, high=False)) + if isinstance(after, datetime.datetime): + after = Object(id=time_snowflake(after, high=True)) + + self.bot = bot + self.limit = limit + self.before = before + self.after = after + + self._filter = None + + self.state = self.bot._connection + self.get_guilds = self.bot.http.get_guilds + self.guilds = asyncio.Queue(loop=self.state.loop) + + if self.before and self.after: + self._retrieve_guilds = self._retrieve_guilds_before_strategy + self._filter = lambda m: int(m['id']) > self.after.id + elif self.after: + self._retrieve_guilds = self._retrieve_guilds_after_strategy + else: + self._retrieve_guilds = self._retrieve_guilds_before_strategy + + async def next(self): + if self.guilds.empty(): + await self.fill_guilds() + + try: + return self.guilds.get_nowait() + except asyncio.QueueEmpty: + raise NoMoreItems() + + def _get_retrieve(self): + l = self.limit + if l is None: + r = 100 + elif l <= 100: + r = l + else: + r = 100 + + self.retrieve = r + return r > 0 + + def create_guild(self, data): + from .guild import Guild + return Guild(state=self.state, data=data) + + async def flatten(self): + result = [] + while self._get_retrieve(): + data = await self._retrieve_guilds(self.retrieve) + if len(data) < 100: + self.limit = 0 + + if self._filter: + data = filter(self._filter, data) + + for element in data: + result.append(self.create_guild(element)) + return result + + async def fill_guilds(self): + if self._get_retrieve(): + data = await self._retrieve_guilds(self.retrieve) + if self.limit is None or len(data) < 100: + self.limit = 0 + + if self._filter: + data = filter(self._filter, data) + + for element in data: + await self.guilds.put(self.create_guild(element)) + + async def _retrieve_guilds(self, retrieve): + """Retrieve guilds and update next parameters.""" + pass + + async def _retrieve_guilds_before_strategy(self, retrieve): + """Retrieve guilds using before parameter.""" + before = self.before.id if self.before else None + data = await self.get_guilds(retrieve, before=before) + if len(data): + if self.limit is not None: + self.limit -= retrieve + self.before = Object(id=int(data[-1]['id'])) + return data + + async def _retrieve_guilds_after_strategy(self, retrieve): + """Retrieve guilds using after parameter.""" + after = self.after.id if self.after else None + data = await self.get_guilds(retrieve, after=after) + if len(data): + if self.limit is not None: + self.limit -= retrieve + self.after = Object(id=int(data[0]['id'])) + return data diff --git a/venv/lib/python3.6/site-packages/discord/member.py b/venv/lib/python3.6/site-packages/discord/member.py new file mode 100644 index 0000000..6107038 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/member.py @@ -0,0 +1,635 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import itertools + +import discord.abc + +from . import utils +from .user import BaseUser, User +from .activity import create_activity +from .permissions import Permissions +from .enums import Status, try_enum +from .colour import Colour +from .object import Object + +class VoiceState: + """Represents a Discord user's voice state. + + Attributes + ------------ + deaf: :class:`bool` + Indicates if the user is currently deafened by the guild. + mute: :class:`bool` + Indicates if the user is currently muted by the guild. + self_mute: :class:`bool` + Indicates if the user is currently muted by their own accord. + self_deaf: :class:`bool` + Indicates if the user is currently deafened by their own accord. + self_video: :class:`bool` + Indicates if the user is currently broadcasting video. + afk: :class:`bool` + Indicates if the user is currently in the AFK channel in the guild. + channel: :class:`VoiceChannel` + The voice channel that the user is currently connected to. None if the user + is not currently in a voice channel. + """ + + __slots__ = ('session_id', 'deaf', 'mute', 'self_mute', + 'self_video', 'self_deaf', 'afk', 'channel') + + def __init__(self, *, data, channel=None): + self.session_id = data.get('session_id') + self._update(data, channel) + + def _update(self, data, channel): + self.self_mute = data.get('self_mute', False) + self.self_deaf = data.get('self_deaf', False) + self.self_video = data.get('self_video', False) + self.afk = data.get('suppress', False) + self.mute = data.get('mute', False) + self.deaf = data.get('deaf', False) + self.channel = channel + + def __repr__(self): + return '<VoiceState self_mute={0.self_mute} self_deaf={0.self_deaf} self_video={0.self_video} channel={0.channel!r}>'.format(self) + +def flatten_user(cls): + for attr, value in itertools.chain(BaseUser.__dict__.items(), User.__dict__.items()): + # ignore private/special methods + if attr.startswith('_'): + continue + + # don't override what we already have + if attr in cls.__dict__: + continue + + # if it's a slotted attribute or a property, redirect it + # slotted members are implemented as member_descriptors in Type.__dict__ + if not hasattr(value, '__annotations__'): + def getter(self, x=attr): + return getattr(self._user, x) + setattr(cls, attr, property(getter, doc='Equivalent to :attr:`User.%s`' % attr)) + else: + # probably a member function by now + def generate_function(x): + def general(self, *args, **kwargs): + return getattr(self._user, x)(*args, **kwargs) + + general.__name__ = x + return general + + func = generate_function(attr) + func.__doc__ = value.__doc__ + setattr(cls, attr, func) + + return cls + +_BaseUser = discord.abc.User + +@flatten_user +class Member(discord.abc.Messageable, _BaseUser): + """Represents a Discord member to a :class:`Guild`. + + This implements a lot of the functionality of :class:`User`. + + .. container:: operations + + .. describe:: x == y + + Checks if two members are equal. + Note that this works with :class:`User` instances too. + + .. describe:: x != y + + Checks if two members are not equal. + Note that this works with :class:`User` instances too. + + .. describe:: hash(x) + + Returns the member's hash. + + .. describe:: str(x) + + Returns the member's name with the discriminator. + + Attributes + ---------- + joined_at: Optional[:class:`datetime.datetime`] + A datetime object that specifies the date and time in UTC that the member joined the guild for + the first time. In certain cases, this can be ``None``. + activities: Tuple[Union[:class:`Game`, :class:`Streaming`, :class:`Spotify`, :class:`Activity`]] + The activities that the user is currently doing. + guild: :class:`Guild` + The guild that the member belongs to. + nick: Optional[:class:`str`] + The guild specific nickname of the user. + """ + + __slots__ = ('_roles', 'joined_at', '_client_status', 'activities', 'guild', 'nick', '_user', '_state') + + def __init__(self, *, data, guild, state): + self._state = state + self._user = state.store_user(data['user']) + self.guild = guild + self.joined_at = utils.parse_time(data.get('joined_at')) + self._update_roles(data) + self._client_status = { + None: 'offline' + } + self.activities = tuple(map(create_activity, data.get('activities', []))) + self.nick = data.get('nick', None) + + def __str__(self): + return str(self._user) + + def __repr__(self): + return '<Member id={1.id} name={1.name!r} discriminator={1.discriminator!r}' \ + ' bot={1.bot} nick={0.nick!r} guild={0.guild!r}>'.format(self, self._user) + + def __eq__(self, other): + return isinstance(other, _BaseUser) and other.id == self.id + + def __ne__(self, other): + return not self.__eq__(other) + + def __hash__(self): + return hash(self._user) + + @classmethod + def _from_message(cls, *, message, data): + author = message.author + data['user'] = { + attr: getattr(author, attr) + for attr in author.__slots__ + if attr[0] != '_' + } + return cls(data=data, guild=message.guild, state=message._state) + + @classmethod + def _from_presence_update(cls, *, data, guild, state): + clone = cls(data=data, guild=guild, state=state) + to_return = cls(data=data, guild=guild, state=state) + to_return._client_status = { + key: value + for key, value in data.get('client_status', {}).items() + } + to_return._client_status[None] = data['status'] + return to_return, clone + + @classmethod + def _copy(cls, member): + self = cls.__new__(cls) # to bypass __init__ + + self._roles = utils.SnowflakeList(member._roles, is_sorted=True) + self.joined_at = member.joined_at + self._client_status = member._client_status.copy() + self.guild = member.guild + self.nick = member.nick + self.activities = member.activities + self._state = member._state + + # Reference will not be copied unless necessary by PRESENCE_UPDATE + # See below + self._user = member._user + return self + + async def _get_channel(self): + ch = await self.create_dm() + return ch + + def _update_roles(self, data): + self._roles = utils.SnowflakeList(map(int, data['roles'])) + + def _update(self, data): + # the nickname change is optional, + # if it isn't in the payload then it didn't change + try: + self.nick = data['nick'] + except KeyError: + pass + + self._update_roles(data) + + def _presence_update(self, data, user): + self.activities = tuple(map(create_activity, data.get('activities', []))) + self._client_status = { + key: value + for key, value in data.get('client_status', {}).items() + } + self._client_status[None] = data['status'] + + if len(user) > 1: + u = self._user + original = (u.name, u.avatar, u.discriminator) + # These keys seem to always be available + modified = (user['username'], user['avatar'], user['discriminator']) + if original != modified: + to_return = User._copy(self._user) + u.name, u.avatar, u.discriminator = modified + # Signal to dispatch on_user_update + return to_return, u + return False + + @property + def status(self): + """:class:`Status`: The member's overall status. If the value is unknown, then it will be a :class:`str` instead.""" + return try_enum(Status, self._client_status[None]) + + @status.setter + def status(self, value): + # internal use only + self._client_status[None] = str(value) + + @property + def mobile_status(self): + """:class:`Status`: The member's status on a mobile device, if applicable.""" + return try_enum(Status, self._client_status.get('mobile', 'offline')) + + @property + def desktop_status(self): + """:class:`Status`: The member's status on the desktop client, if applicable.""" + return try_enum(Status, self._client_status.get('desktop', 'offline')) + + @property + def web_status(self): + """:class:`Status`: The member's status on the web client, if applicable.""" + return try_enum(Status, self._client_status.get('web', 'offline')) + + def is_on_mobile(self): + """:class:`bool`: A helper function that determines if a member is active on a mobile device.""" + return 'mobile' in self._client_status + + @property + def colour(self): + """A property that returns a :class:`Colour` denoting the rendered colour + for the member. If the default colour is the one rendered then an instance + of :meth:`Colour.default` is returned. + + There is an alias for this under ``color``. + """ + + roles = self.roles[1:] # remove @everyone + + # highest order of the colour is the one that gets rendered. + # if the highest is the default colour then the next one with a colour + # is chosen instead + for role in reversed(roles): + if role.colour.value: + return role.colour + return Colour.default() + + color = colour + + @property + def roles(self): + """A :class:`list` of :class:`Role` that the member belongs to. Note + that the first element of this list is always the default '@everyone' + role. + + These roles are sorted by their position in the role hierarchy. + """ + result = [] + g = self.guild + for role_id in self._roles: + role = g.get_role(role_id) + if role: + result.append(role) + result.append(g.default_role) + result.sort() + return result + + @property + def mention(self): + """Returns a string that mentions the member.""" + if self.nick: + return '<@!%s>' % self.id + return '<@%s>' % self.id + + @property + def display_name(self): + """Returns the user's display name. + + For regular users this is just their username, but + if they have a guild specific nickname then that + is returned instead. + """ + return self.nick if self.nick is not None else self.name + + @property + def activity(self): + """Returns a class Union[:class:`Game`, :class:`Streaming`, :class:`Spotify`, :class:`Activity`] for the primary + activity the user is currently doing. Could be None if no activity is being done. + + .. note:: + + A user may have multiple activities, these can be accessed under :attr:`activities`. + """ + if self.activities: + return self.activities[0] + + def mentioned_in(self, message): + """Checks if the member is mentioned in the specified message. + + Parameters + ----------- + message: :class:`Message` + The message to check if you're mentioned in. + """ + if self._user.mentioned_in(message): + return True + + for role in message.role_mentions: + has_role = utils.get(self.roles, id=role.id) is not None + if has_role: + return True + + return False + + def permissions_in(self, channel): + """An alias for :meth:`abc.GuildChannel.permissions_for`. + + Basically equivalent to: + + .. code-block:: python3 + + channel.permissions_for(self) + + Parameters + ----------- + channel: :class:`Channel` + The channel to check your permissions for. + """ + return channel.permissions_for(self) + + @property + def top_role(self): + """Returns the member's highest role. + + This is useful for figuring where a member stands in the role + hierarchy chain. + """ + return self.roles[-1] + + @property + def guild_permissions(self): + """Returns the member's guild permissions. + + This only takes into consideration the guild permissions + and not most of the implied permissions or any of the + channel permission overwrites. For 100% accurate permission + calculation, please use either :meth:`permissions_in` or + :meth:`abc.GuildChannel.permissions_for`. + + This does take into consideration guild ownership and the + administrator implication. + """ + + if self.guild.owner == self: + return Permissions.all() + + base = Permissions.none() + for r in self.roles: + base.value |= r.permissions.value + + if base.administrator: + return Permissions.all() + + return base + + @property + def voice(self): + """Optional[:class:`VoiceState`]: Returns the member's current voice state.""" + return self.guild._voice_state_for(self._user.id) + + async def ban(self, **kwargs): + """|coro| + + Bans this member. Equivalent to :meth:`Guild.ban` + """ + await self.guild.ban(self, **kwargs) + + async def unban(self, *, reason=None): + """|coro| + + Unbans this member. Equivalent to :meth:`Guild.unban` + """ + await self.guild.unban(self, reason=reason) + + async def kick(self, *, reason=None): + """|coro| + + Kicks this member. Equivalent to :meth:`Guild.kick` + """ + await self.guild.kick(self, reason=reason) + + async def edit(self, *, reason=None, **fields): + """|coro| + + Edits the member's data. + + Depending on the parameter passed, this requires different permissions listed below: + + +---------------+--------------------------------------+ + | Parameter | Permission | + +---------------+--------------------------------------+ + | nick | :attr:`Permissions.manage_nicknames` | + +---------------+--------------------------------------+ + | mute | :attr:`Permissions.mute_members` | + +---------------+--------------------------------------+ + | deafen | :attr:`Permissions.deafen_members` | + +---------------+--------------------------------------+ + | roles | :attr:`Permissions.manage_roles` | + +---------------+--------------------------------------+ + | voice_channel | :attr:`Permissions.move_members` | + +---------------+--------------------------------------+ + + All parameters are optional. + + Parameters + ----------- + nick: Optional[:class:`str`] + The member's new nickname. Use ``None`` to remove the nickname. + mute: Optional[:class:`bool`] + Indicates if the member should be guild muted or un-muted. + deafen: Optional[:class:`bool`] + Indicates if the member should be guild deafened or un-deafened. + roles: Optional[List[:class:`Roles`]] + The member's new list of roles. This *replaces* the roles. + voice_channel: Optional[:class:`VoiceChannel`] + The voice channel to move the member to. + reason: Optional[:class:`str`] + The reason for editing this member. Shows up on the audit log. + + Raises + ------- + Forbidden + You do not have the proper permissions to the action requested. + HTTPException + The operation failed. + """ + http = self._state.http + guild_id = self.guild.id + payload = {} + + try: + nick = fields['nick'] + except KeyError: + # nick not present so... + pass + else: + nick = nick if nick else '' + if self._state.self_id == self.id: + await http.change_my_nickname(guild_id, nick, reason=reason) + else: + payload['nick'] = nick + + deafen = fields.get('deafen') + if deafen is not None: + payload['deaf'] = deafen + + mute = fields.get('mute') + if mute is not None: + payload['mute'] = mute + + try: + vc = fields['voice_channel'] + except KeyError: + pass + else: + payload['channel_id'] = vc.id + + try: + roles = fields['roles'] + except KeyError: + pass + else: + payload['roles'] = tuple(r.id for r in roles) + + await http.edit_member(guild_id, self.id, reason=reason, **payload) + + # TODO: wait for WS event for modify-in-place behaviour + + async def move_to(self, channel, *, reason=None): + """|coro| + + Moves a member to a new voice channel (they must be connected first). + + You must have the :attr:`~Permissions.move_members` permission to + use this. + + This raises the same exceptions as :meth:`edit`. + + Parameters + ----------- + channel: :class:`VoiceChannel` + The new voice channel to move the member to. + reason: Optional[:class:`str`] + The reason for doing this action. Shows up on the audit log. + """ + await self.edit(voice_channel=channel, reason=reason) + + async def add_roles(self, *roles, reason=None, atomic=True): + r"""|coro| + + Gives the member a number of :class:`Role`\s. + + You must have the :attr:`~Permissions.manage_roles` permission to + use this. + + Parameters + ----------- + \*roles: :class:`Snowflake` + An argument list of :class:`abc.Snowflake` representing a :class:`Role` + to give to the member. + reason: Optional[:class:`str`] + The reason for adding these roles. Shows up on the audit log. + atomic: bool + Whether to atomically add roles. This will ensure that multiple + operations will always be applied regardless of the current + state of the cache. + + Raises + ------- + Forbidden + You do not have permissions to add these roles. + HTTPException + Adding roles failed. + """ + + if not atomic: + new_roles = utils._unique(Object(id=r.id) for s in (self.roles[1:], roles) for r in s) + await self.edit(roles=new_roles, reason=reason) + else: + req = self._state.http.add_role + guild_id = self.guild.id + user_id = self.id + for role in roles: + await req(guild_id, user_id, role.id, reason=reason) + + async def remove_roles(self, *roles, reason=None, atomic=True): + r"""|coro| + + Removes :class:`Role`\s from this member. + + You must have the :attr:`~Permissions.manage_roles` permission to + use this. + + Parameters + ----------- + \*roles: :class:`Snowflake` + An argument list of :class:`abc.Snowflake` representing a :class:`Role` + to remove from the member. + reason: Optional[:class:`str`] + The reason for removing these roles. Shows up on the audit log. + atomic: :class:`bool` + Whether to atomically remove roles. This will ensure that multiple + operations will always be applied regardless of the current + state of the cache. + + Raises + ------- + Forbidden + You do not have permissions to remove these roles. + HTTPException + Removing the roles failed. + """ + + if not atomic: + new_roles = [Object(id=r.id) for r in self.roles[1:]] # remove @everyone + for role in roles: + try: + new_roles.remove(Object(id=role.id)) + except ValueError: + pass + + await self.edit(roles=new_roles, reason=reason) + else: + req = self._state.http.remove_role + guild_id = self.guild.id + user_id = self.id + for role in roles: + await req(guild_id, user_id, role.id, reason=reason) diff --git a/venv/lib/python3.6/site-packages/discord/message.py b/venv/lib/python3.6/site-packages/discord/message.py new file mode 100644 index 0000000..7199af2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/message.py @@ -0,0 +1,805 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import asyncio +import datetime +import re +import io + +from . import utils +from .reaction import Reaction +from .emoji import Emoji, PartialEmoji +from .calls import CallMessage +from .enums import MessageType, try_enum +from .errors import InvalidArgument, ClientException, HTTPException +from .embeds import Embed +from .member import Member + +class Attachment: + """Represents an attachment from Discord. + + Attributes + ------------ + id: :class:`int` + The attachment ID. + size: :class:`int` + The attachment size in bytes. + height: Optional[:class:`int`] + The attachment's height, in pixels. Only applicable to images. + width: Optional[:class:`int`] + The attachment's width, in pixels. Only applicable to images. + filename: :class:`str` + The attachment's filename. + url: :class:`str` + The attachment URL. If the message this attachment was attached + to is deleted, then this will 404. + proxy_url: :class:`str` + The proxy URL. This is a cached version of the :attr:`~Attachment.url` in the + case of images. When the message is deleted, this URL might be valid for a few + minutes or not valid at all. + """ + + __slots__ = ('id', 'size', 'height', 'width', 'filename', 'url', 'proxy_url', '_http') + + def __init__(self, *, data, state): + self.id = int(data['id']) + self.size = data['size'] + self.height = data.get('height') + self.width = data.get('width') + self.filename = data['filename'] + self.url = data.get('url') + self.proxy_url = data.get('proxy_url') + self._http = state.http + + def is_spoiler(self): + """:class:`bool`: Whether this attachment contains a spoiler.""" + return self.filename.startswith('SPOILER_') + + async def save(self, fp, *, seek_begin=True, use_cached=False): + """|coro| + + Saves this attachment into a file-like object. + + Parameters + ----------- + fp: Union[BinaryIO, :class:`os.PathLike`] + The file-like object to save this attachment to or the filename + to use. If a filename is passed then a file is created with that + filename and used instead. + seek_begin: :class:`bool` + Whether to seek to the beginning of the file after saving is + successfully done. + use_cached: :class:`bool` + Whether to use :attr:`proxy_url` rather than :attr:`url` when downloading + the attachment. This will allow attachments to be saved after deletion + more often, compared to the regular URL which is generally deleted right + after the message is deleted. Note that this can still fail to download + deleted attachments if too much time has passed and it does not work + on some type of attachments. + + Raises + -------- + HTTPException + Saving the attachment failed. + NotFound + The attachment was deleted. + + Returns + -------- + :class:`int` + The number of bytes written. + """ + url = self.proxy_url if use_cached else self.url + data = await self._http.get_from_cdn(url) + if isinstance(fp, io.IOBase) and fp.writable(): + written = fp.write(data) + if seek_begin: + fp.seek(0) + return written + else: + with open(fp, 'wb') as f: + return f.write(data) + +class Message: + r"""Represents a message from Discord. + + There should be no need to create one of these manually. + + Attributes + ----------- + tts: :class:`bool` + Specifies if the message was done with text-to-speech. + type: :class:`MessageType` + The type of message. In most cases this should not be checked, but it is helpful + in cases where it might be a system message for :attr:`system_content`. + author + A :class:`Member` that sent the message. If :attr:`channel` is a + private channel or the user has the left the guild, then it is a :class:`User` instead. + content: :class:`str` + The actual contents of the message. + nonce + The value used by the discord guild and the client to verify that the message is successfully sent. + This is typically non-important. + embeds: List[:class:`Embed`] + A list of embeds the message has. + channel + The :class:`TextChannel` that the message was sent from. + Could be a :class:`DMChannel` or :class:`GroupChannel` if it's a private message. + call: Optional[:class:`CallMessage`] + The call that the message refers to. This is only applicable to messages of type + :attr:`MessageType.call`. + mention_everyone: :class:`bool` + Specifies if the message mentions everyone. + + .. note:: + + This does not check if the ``@everyone`` or the ``@here`` text is in the message itself. + Rather this boolean indicates if either the ``@everyone`` or the ``@here`` text is in the message + **and** it did end up mentioning. + + mentions: :class:`list` + A list of :class:`Member` that were mentioned. If the message is in a private message + then the list will be of :class:`User` instead. For messages that are not of type + :attr:`MessageType.default`\, this array can be used to aid in system messages. + For more information, see :attr:`system_content`. + + .. warning:: + + The order of the mentions list is not in any particular order so you should + not rely on it. This is a discord limitation, not one with the library. + + channel_mentions: :class:`list` + A list of :class:`abc.GuildChannel` that were mentioned. If the message is in a private message + then the list is always empty. + role_mentions: :class:`list` + A list of :class:`Role` that were mentioned. If the message is in a private message + then the list is always empty. + id: :class:`int` + The message ID. + webhook_id: Optional[:class:`int`] + If this message was sent by a webhook, then this is the webhook ID's that sent this + message. + attachments: List[:class:`Attachment`] + A list of attachments given to a message. + pinned: :class:`bool` + Specifies if the message is currently pinned. + reactions : List[:class:`Reaction`] + Reactions to a message. Reactions can be either custom emoji or standard unicode emoji. + activity: Optional[:class:`dict`] + The activity associated with this message. Sent with Rich-Presence related messages that for + example, request joining, spectating, or listening to or with another member. + + It is a dictionary with the following optional keys: + + - ``type``: An integer denoting the type of message activity being requested. + - ``party_id``: The party ID associated with the party. + application: Optional[:class:`dict`] + The rich presence enabled application associated with this message. + + It is a dictionary with the following keys: + + - ``id``: A string representing the application's ID. + - ``name``: A string representing the application's name. + - ``description``: A string representing the application's description. + - ``icon``: A string representing the icon ID of the application. + - ``cover_image``: A string representing the embed's image asset ID. + """ + + __slots__ = ('_edited_timestamp', 'tts', 'content', 'channel', 'webhook_id', + 'mention_everyone', 'embeds', 'id', 'mentions', 'author', + '_cs_channel_mentions', '_cs_raw_mentions', 'attachments', + '_cs_clean_content', '_cs_raw_channel_mentions', 'nonce', 'pinned', + 'role_mentions', '_cs_raw_role_mentions', 'type', 'call', + '_cs_system_content', '_cs_guild', '_state', 'reactions', + 'application', 'activity') + + def __init__(self, *, state, channel, data): + self._state = state + self.id = int(data['id']) + self.webhook_id = utils._get_as_snowflake(data, 'webhook_id') + self.reactions = [Reaction(message=self, data=d) for d in data.get('reactions', [])] + self.application = data.get('application') + self.activity = data.get('activity') + self._update(channel, data) + + def __repr__(self): + return '<Message id={0.id} pinned={0.pinned} author={0.author!r}>'.format(self) + + def _try_patch(self, data, key, transform=None): + try: + value = data[key] + except KeyError: + pass + else: + if transform is None: + setattr(self, key, value) + else: + setattr(self, key, transform(value)) + + def _add_reaction(self, data, emoji, user_id): + reaction = utils.find(lambda r: r.emoji == emoji, self.reactions) + is_me = data['me'] = user_id == self._state.self_id + + if reaction is None: + reaction = Reaction(message=self, data=data, emoji=emoji) + self.reactions.append(reaction) + else: + reaction.count += 1 + if is_me: + reaction.me = is_me + + return reaction + + def _remove_reaction(self, data, emoji, user_id): + reaction = utils.find(lambda r: r.emoji == emoji, self.reactions) + + if reaction is None: + # already removed? + raise ValueError('Emoji already removed?') + + # if reaction isn't in the list, we crash. This means discord + # sent bad data, or we stored improperly + reaction.count -= 1 + + if user_id == self._state.self_id: + reaction.me = False + if reaction.count == 0: + # this raises ValueError if something went wrong as well. + self.reactions.remove(reaction) + + return reaction + + def _update(self, channel, data): + self.channel = channel + self._edited_timestamp = utils.parse_time(data.get('edited_timestamp')) + self._try_patch(data, 'pinned') + self._try_patch(data, 'application') + self._try_patch(data, 'activity') + self._try_patch(data, 'mention_everyone') + self._try_patch(data, 'tts') + self._try_patch(data, 'type', lambda x: try_enum(MessageType, x)) + self._try_patch(data, 'content') + self._try_patch(data, 'attachments', lambda x: [Attachment(data=a, state=self._state) for a in x]) + self._try_patch(data, 'embeds', lambda x: list(map(Embed.from_dict, x))) + self._try_patch(data, 'nonce') + + for handler in ('author', 'member', 'mentions', 'mention_roles', 'call'): + try: + getattr(self, '_handle_%s' % handler)(data[handler]) + except KeyError: + continue + + # clear the cached properties + cached = filter(lambda attr: attr.startswith('_cs_'), self.__slots__) + for attr in cached: + try: + delattr(self, attr) + except AttributeError: + pass + + def _handle_author(self, author): + self.author = self._state.store_user(author) + if self.guild is not None: + found = self.guild.get_member(self.author.id) + if found is not None: + self.author = found + + def _handle_member(self, member): + # The gateway now gives us full Member objects sometimes with the following keys + # deaf, mute, joined_at, roles + # For the sake of performance I'm going to assume that the only + # field that needs *updating* would be the joined_at field. + # If there is no Member object (for some strange reason), then we can upgrade + # ourselves to a more "partial" member object. + author = self.author + try: + if author.joined_at is None: + author.joined_at = utils.parse_time(member.get('joined_at')) + except AttributeError: + self.author = Member._from_message(message=self, data=member) + + def _handle_mentions(self, mentions): + self.mentions = [] + if self.guild is None: + self.mentions = [self._state.store_user(m) for m in mentions] + return + + for mention in filter(None, mentions): + id_search = int(mention['id']) + member = self.guild.get_member(id_search) + if member is not None: + self.mentions.append(member) + + def _handle_mention_roles(self, role_mentions): + self.role_mentions = [] + if self.guild is not None: + for role_id in map(int, role_mentions): + role = self.guild.get_role(role_id) + if role is not None: + self.role_mentions.append(role) + + def _handle_call(self, call): + if call is None or self.type is not MessageType.call: + self.call = None + return + + # we get the participant source from the mentions array or + # the author + + participants = [] + for uid in map(int, call.get('participants', [])): + if uid == self.author.id: + participants.append(self.author) + else: + user = utils.find(lambda u: u.id == uid, self.mentions) + if user is not None: + participants.append(user) + + call['participants'] = participants + self.call = CallMessage(message=self, **call) + + @utils.cached_slot_property('_cs_guild') + def guild(self): + """Optional[:class:`Guild`]: The guild that the message belongs to, if applicable.""" + return getattr(self.channel, 'guild', None) + + @utils.cached_slot_property('_cs_raw_mentions') + def raw_mentions(self): + """A property that returns an array of user IDs matched with + the syntax of <@user_id> in the message content. + + This allows you to receive the user IDs of mentioned users + even in a private message context. + """ + return [int(x) for x in re.findall(r'<@!?([0-9]+)>', self.content)] + + @utils.cached_slot_property('_cs_raw_channel_mentions') + def raw_channel_mentions(self): + """A property that returns an array of channel IDs matched with + the syntax of <#channel_id> in the message content. + """ + return [int(x) for x in re.findall(r'<#([0-9]+)>', self.content)] + + @utils.cached_slot_property('_cs_raw_role_mentions') + def raw_role_mentions(self): + """A property that returns an array of role IDs matched with + the syntax of <@&role_id> in the message content. + """ + return [int(x) for x in re.findall(r'<@&([0-9]+)>', self.content)] + + @utils.cached_slot_property('_cs_channel_mentions') + def channel_mentions(self): + if self.guild is None: + return [] + it = filter(None, map(self.guild.get_channel, self.raw_channel_mentions)) + return utils._unique(it) + + @utils.cached_slot_property('_cs_clean_content') + def clean_content(self): + """A property that returns the content in a "cleaned up" + manner. This basically means that mentions are transformed + into the way the client shows it. e.g. ``<#id>`` will transform + into ``#name``. + + This will also transform @everyone and @here mentions into + non-mentions. + + .. note:: + + This *does not* escape markdown. If you want to escape + markdown then use :func:`utils.escape_markdown` along + with this function. + """ + + transformations = { + re.escape('<#%s>' % channel.id): '#' + channel.name + for channel in self.channel_mentions + } + + mention_transforms = { + re.escape('<@%s>' % member.id): '@' + member.display_name + for member in self.mentions + } + + # add the <@!user_id> cases as well.. + second_mention_transforms = { + re.escape('<@!%s>' % member.id): '@' + member.display_name + for member in self.mentions + } + + transformations.update(mention_transforms) + transformations.update(second_mention_transforms) + + if self.guild is not None: + role_transforms = { + re.escape('<@&%s>' % role.id): '@' + role.name + for role in self.role_mentions + } + transformations.update(role_transforms) + + def repl(obj): + return transformations.get(re.escape(obj.group(0)), '') + + pattern = re.compile('|'.join(transformations.keys())) + result = pattern.sub(repl, self.content) + + transformations = { + '@everyone': '@\u200beveryone', + '@here': '@\u200bhere' + } + + def repl2(obj): + return transformations.get(obj.group(0), '') + + pattern = re.compile('|'.join(transformations.keys())) + return pattern.sub(repl2, result) + + @property + def created_at(self): + """datetime.datetime: The message's creation time in UTC.""" + return utils.snowflake_time(self.id) + + @property + def edited_at(self): + """Optional[datetime.datetime]: A naive UTC datetime object containing the edited time of the message.""" + return self._edited_timestamp + + @property + def jump_url(self): + """:class:`str`: Returns a URL that allows the client to jump to this message.""" + guild_id = getattr(self.guild, 'id', '@me') + return 'https://discordapp.com/channels/{0}/{1.channel.id}/{1.id}'.format(guild_id, self) + + @utils.cached_slot_property('_cs_system_content') + def system_content(self): + r"""A property that returns the content that is rendered + regardless of the :attr:`Message.type`. + + In the case of :attr:`MessageType.default`\, this just returns the + regular :attr:`Message.content`. Otherwise this returns an English + message denoting the contents of the system message. + """ + + if self.type is MessageType.default: + return self.content + + if self.type is MessageType.pins_add: + return '{0.name} pinned a message to this channel.'.format(self.author) + + if self.type is MessageType.recipient_add: + return '{0.name} added {1.name} to the group.'.format(self.author, self.mentions[0]) + + if self.type is MessageType.recipient_remove: + return '{0.name} removed {1.name} from the group.'.format(self.author, self.mentions[0]) + + if self.type is MessageType.channel_name_change: + return '{0.author.name} changed the channel name: {0.content}'.format(self) + + if self.type is MessageType.channel_icon_change: + return '{0.author.name} changed the channel icon.'.format(self) + + if self.type is MessageType.new_member: + formats = [ + "{0} just joined the server - glhf!", + "{0} just joined. Everyone, look busy!", + "{0} just joined. Can I get a heal?", + "{0} joined your party.", + "{0} joined. You must construct additional pylons.", + "Ermagherd. {0} is here.", + "Welcome, {0}. Stay awhile and listen.", + "Welcome, {0}. We were expecting you ( ͡° ͜ʖ ͡°)", + "Welcome, {0}. We hope you brought pizza.", + "Welcome {0}. Leave your weapons by the door.", + "A wild {0} appeared.", + "Swoooosh. {0} just landed.", + "Brace yourselves. {0} just joined the server.", + "{0} just joined... or did they?", + "{0} just arrived. Seems OP - please nerf.", + "{0} just slid into the server.", + "A {0} has spawned in the server.", + "Big {0} showed up!", + "Where’s {0}? In the server!", + "{0} hopped into the server. Kangaroo!!", + "{0} just showed up. Hold my beer.", + "Challenger approaching - {0} has appeared!", + "It's a bird! It's a plane! Nevermind, it's just {0}.", + "It's {0}! Praise the sun! \\[T]/", + "Never gonna give {0} up. Never gonna let {0} down.", + "{0} has joined the battle bus.", + "Cheers, love! {0}'s here!", + "Hey! Listen! {0} has joined!", + "We've been expecting you {0}", + "It's dangerous to go alone, take {0}!", + "{0} has joined the server! It's super effective!", + "Cheers, love! {0} is here!", + "{0} is here, as the prophecy foretold.", + "{0} has arrived. Party's over.", + "Ready player {0}", + "{0} is here to kick butt and chew bubblegum. And {0} is all out of gum.", + "Hello. Is it {0} you're looking for?", + "{0} has joined. Stay a while and listen!", + "Roses are red, violets are blue, {0} joined this server with you", + ] + + # manually reconstruct the epoch with millisecond precision, because + # datetime.datetime.timestamp() doesn't return the exact posix + # timestamp with the precision that we need + created_at_ms = int((self.created_at - datetime.datetime(1970, 1, 1)).total_seconds() * 1000) + return formats[created_at_ms % len(formats)].format(self.author.name) + + if self.type is MessageType.call: + # we're at the call message type now, which is a bit more complicated. + # we can make the assumption that Message.channel is a PrivateChannel + # with the type ChannelType.group or ChannelType.private + call_ended = self.call.ended_timestamp is not None + + if self.channel.me in self.call.participants: + return '{0.author.name} started a call.'.format(self) + elif call_ended: + return 'You missed a call from {0.author.name}'.format(self) + else: + return '{0.author.name} started a call \N{EM DASH} Join the call.'.format(self) + + async def delete(self): + """|coro| + + Deletes the message. + + Your own messages could be deleted without any proper permissions. However to + delete other people's messages, you need the :attr:`~Permissions.manage_messages` + permission. + + Raises + ------ + Forbidden + You do not have proper permissions to delete the message. + HTTPException + Deleting the message failed. + """ + await self._state.http.delete_message(self.channel.id, self.id) + + async def edit(self, **fields): + """|coro| + + Edits the message. + + The content must be able to be transformed into a string via ``str(content)``. + + Parameters + ----------- + content: Optional[:class:`str`] + The new content to replace the message with. + Could be ``None`` to remove the content. + embed: Optional[:class:`Embed`] + The new embed to replace the original with. + Could be ``None`` to remove the embed. + delete_after: Optional[:class:`float`] + If provided, the number of seconds to wait in the background + before deleting the message we just edited. If the deletion fails, + then it is silently ignored. + + Raises + ------- + HTTPException + Editing the message failed. + """ + + try: + content = fields['content'] + except KeyError: + pass + else: + if content is not None: + fields['content'] = str(content) + + try: + embed = fields['embed'] + except KeyError: + pass + else: + if embed is not None: + fields['embed'] = embed.to_dict() + + data = await self._state.http.edit_message(self.id, self.channel.id, **fields) + self._update(channel=self.channel, data=data) + + try: + delete_after = fields['delete_after'] + except KeyError: + pass + else: + if delete_after is not None: + async def delete(): + await asyncio.sleep(delete_after, loop=self._state.loop) + try: + await self._state.http.delete_message(self.channel.id, self.id) + except HTTPException: + pass + + asyncio.ensure_future(delete(), loop=self._state.loop) + + async def pin(self): + """|coro| + + Pins the message. + + You must have the :attr:`~Permissions.manage_messages` permission to do + this in a non-private channel context. + + Raises + ------- + Forbidden + You do not have permissions to pin the message. + NotFound + The message or channel was not found or deleted. + HTTPException + Pinning the message failed, probably due to the channel + having more than 50 pinned messages. + """ + + await self._state.http.pin_message(self.channel.id, self.id) + self.pinned = True + + async def unpin(self): + """|coro| + + Unpins the message. + + You must have the :attr:`~Permissions.manage_messages` permission to do + this in a non-private channel context. + + Raises + ------- + Forbidden + You do not have permissions to unpin the message. + NotFound + The message or channel was not found or deleted. + HTTPException + Unpinning the message failed. + """ + + await self._state.http.unpin_message(self.channel.id, self.id) + self.pinned = False + + async def add_reaction(self, emoji): + """|coro| + + Add a reaction to the message. + + The emoji may be a unicode emoji or a custom guild :class:`Emoji`. + + You must have the :attr:`~Permissions.read_message_history` permission + to use this. If nobody else has reacted to the message using this + emoji, the :attr:`~Permissions.add_reactions` permission is required. + + Parameters + ------------ + emoji: Union[:class:`Emoji`, :class:`Reaction`, :class:`PartialEmoji`, :class:`str`] + The emoji to react with. + + Raises + -------- + HTTPException + Adding the reaction failed. + Forbidden + You do not have the proper permissions to react to the message. + NotFound + The emoji you specified was not found. + InvalidArgument + The emoji parameter is invalid. + """ + + emoji = self._emoji_reaction(emoji) + await self._state.http.add_reaction(self.id, self.channel.id, emoji) + + async def remove_reaction(self, emoji, member): + """|coro| + + Remove a reaction by the member from the message. + + The emoji may be a unicode emoji or a custom guild :class:`Emoji`. + + If the reaction is not your own (i.e. ``member`` parameter is not you) then + the :attr:`~Permissions.manage_messages` permission is needed. + + The ``member`` parameter must represent a member and meet + the :class:`abc.Snowflake` abc. + + Parameters + ------------ + emoji: Union[:class:`Emoji`, :class:`Reaction`, :class:`PartialEmoji`, :class:`str`] + The emoji to remove. + member: :class:`abc.Snowflake` + The member for which to remove the reaction. + + Raises + -------- + HTTPException + Removing the reaction failed. + Forbidden + You do not have the proper permissions to remove the reaction. + NotFound + The member or emoji you specified was not found. + InvalidArgument + The emoji parameter is invalid. + """ + + emoji = self._emoji_reaction(emoji) + + if member.id == self._state.self_id: + await self._state.http.remove_own_reaction(self.id, self.channel.id, emoji) + else: + await self._state.http.remove_reaction(self.id, self.channel.id, emoji, member.id) + + @staticmethod + def _emoji_reaction(emoji): + if isinstance(emoji, Reaction): + emoji = emoji.emoji + + if isinstance(emoji, Emoji): + return '%s:%s' % (emoji.name, emoji.id) + if isinstance(emoji, PartialEmoji): + return emoji._as_reaction() + if isinstance(emoji, str): + return emoji # this is okay + + raise InvalidArgument('emoji argument must be str, Emoji, or Reaction not {.__class__.__name__}.'.format(emoji)) + + async def clear_reactions(self): + """|coro| + + Removes all the reactions from the message. + + You need the :attr:`~Permissions.manage_messages` permission to use this. + + Raises + -------- + HTTPException + Removing the reactions failed. + Forbidden + You do not have the proper permissions to remove all the reactions. + """ + await self._state.http.clear_reactions(self.id, self.channel.id) + + def ack(self): + """|coro| + + Marks this message as read. + + The user must not be a bot user. + + Raises + ------- + HTTPException + Acking failed. + ClientException + You must not be a bot user. + """ + + state = self._state + if state.is_bot: + raise ClientException('Must not be a bot account to ack messages.') + return state.http.ack_message(self.channel.id, self.id) diff --git a/venv/lib/python3.6/site-packages/discord/mixins.py b/venv/lib/python3.6/site-packages/discord/mixins.py new file mode 100644 index 0000000..3717cf4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/mixins.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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. +""" + +class EqualityComparable: + __slots__ = () + + def __eq__(self, other): + return isinstance(other, self.__class__) and other.id == self.id + + def __ne__(self, other): + if isinstance(other, self.__class__): + return other.id != self.id + return True + +class Hashable(EqualityComparable): + __slots__ = () + + def __hash__(self): + return self.id >> 22 diff --git a/venv/lib/python3.6/site-packages/discord/object.py b/venv/lib/python3.6/site-packages/discord/object.py new file mode 100644 index 0000000..ea4fac9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/object.py @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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 . import utils +from .mixins import Hashable + +class Object(Hashable): + """Represents a generic Discord object. + + The purpose of this class is to allow you to create 'miniature' + versions of data classes if you want to pass in just an ID. Most functions + that take in a specific data class with an ID can also take in this class + as a substitute instead. Note that even though this is the case, not all + objects (if any) actually inherit from this class. + + There are also some cases where some websocket events are received + in :issue:`strange order <21>` and when such events happened you would + receive this class rather than the actual data class. These cases are + extremely rare. + + .. container:: operations + + .. describe:: x == y + + Checks if two objects are equal. + + .. describe:: x != y + + Checks if two objects are not equal. + + .. describe:: hash(x) + + Returns the object's hash. + + Attributes + ----------- + id: :class:`str` + The ID of the object. + """ + + def __init__(self, id): + self.id = id + + @property + def created_at(self): + """Returns the snowflake's creation time in UTC.""" + return utils.snowflake_time(self.id) diff --git a/venv/lib/python3.6/site-packages/discord/opus.py b/venv/lib/python3.6/site-packages/discord/opus.py new file mode 100644 index 0000000..c37be24 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/opus.py @@ -0,0 +1,278 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import array +import ctypes +import ctypes.util +import logging +import os.path +import sys + +from .errors import DiscordException + +log = logging.getLogger(__name__) +c_int_ptr = ctypes.POINTER(ctypes.c_int) +c_int16_ptr = ctypes.POINTER(ctypes.c_int16) +c_float_ptr = ctypes.POINTER(ctypes.c_float) + +class EncoderStruct(ctypes.Structure): + pass + +EncoderStructPtr = ctypes.POINTER(EncoderStruct) + +def _err_lt(result, func, args): + if result < 0: + log.info('error has happened in %s', func.__name__) + raise OpusError(result) + return result + +def _err_ne(result, func, args): + ret = args[-1]._obj + if ret.value != 0: + log.info('error has happened in %s', func.__name__) + raise OpusError(ret.value) + return result + +# A list of exported functions. +# The first argument is obviously the name. +# The second one are the types of arguments it takes. +# The third is the result type. +# The fourth is the error handler. +exported_functions = [ + ('opus_strerror', + [ctypes.c_int], ctypes.c_char_p, None), + ('opus_encoder_get_size', + [ctypes.c_int], ctypes.c_int, None), + ('opus_encoder_create', + [ctypes.c_int, ctypes.c_int, ctypes.c_int, c_int_ptr], EncoderStructPtr, _err_ne), + ('opus_encode', + [EncoderStructPtr, c_int16_ptr, ctypes.c_int, ctypes.c_char_p, ctypes.c_int32], ctypes.c_int32, _err_lt), + ('opus_encoder_ctl', + None, ctypes.c_int32, _err_lt), + ('opus_encoder_destroy', + [EncoderStructPtr], None, None), +] + +def libopus_loader(name): + # create the library... + lib = ctypes.cdll.LoadLibrary(name) + + # register the functions... + for item in exported_functions: + func = getattr(lib, item[0]) + + try: + if item[1]: + func.argtypes = item[1] + + func.restype = item[2] + except KeyError: + pass + + try: + if item[3]: + func.errcheck = item[3] + except KeyError: + log.exception("Error assigning check function to %s", func) + + return lib + +try: + if sys.platform == 'win32': + _basedir = os.path.dirname(os.path.abspath(__file__)) + _bitness = 'x64' if sys.maxsize > 2**32 else 'x86' + _filename = os.path.join(_basedir, 'bin', 'libopus-0.{}.dll'.format(_bitness)) + _lib = libopus_loader(_filename) + else: + _lib = libopus_loader(ctypes.util.find_library('opus')) +except Exception: + _lib = None + +def load_opus(name): + """Loads the libopus shared library for use with voice. + + If this function is not called then the library uses the function + `ctypes.util.find_library`__ and then loads that one + if available. + + .. _find library: https://docs.python.org/3.5/library/ctypes.html#finding-shared-libraries + __ `find library`_ + + Not loading a library leads to voice not working. + + This function propagates the exceptions thrown. + + .. note:: + + On Windows, this function should not need to be called as the binaries + are automatically loaded. + + .. warning:: + + The bitness of the library must match the bitness of your python + interpreter. If the library is 64-bit then your python interpreter + must be 64-bit as well. Usually if there's a mismatch in bitness then + the load will throw an exception. + + .. note:: + + On Windows, the .dll extension is not necessary. However, on Linux + the full extension is required to load the library, e.g. ``libopus.so.1``. + On Linux however, `find library`_ will usually find the library automatically + without you having to call this. + + Parameters + ---------- + name: :class:`str` + The filename of the shared library. + """ + global _lib + _lib = libopus_loader(name) + +def is_loaded(): + """Function to check if opus lib is successfully loaded either + via the ``ctypes.util.find_library`` call of :func:`load_opus`. + + This must return ``True`` for voice to work. + + Returns + ------- + :class:`bool` + Indicates if the opus library has been loaded. + """ + global _lib + return _lib is not None + +class OpusError(DiscordException): + """An exception that is thrown for libopus related errors. + + Attributes + ---------- + code: :class:`int` + The error code returned. + """ + + def __init__(self, code): + self.code = code + msg = _lib.opus_strerror(self.code).decode('utf-8') + log.info('"%s" has happened', msg) + super().__init__(msg) + +class OpusNotLoaded(DiscordException): + """An exception that is thrown for when libopus is not loaded.""" + pass + + +# Some constants... +OK = 0 +APPLICATION_AUDIO = 2049 +APPLICATION_VOIP = 2048 +APPLICATION_LOWDELAY = 2051 +CTL_SET_BITRATE = 4002 +CTL_SET_BANDWIDTH = 4008 +CTL_SET_FEC = 4012 +CTL_SET_PLP = 4014 +CTL_SET_SIGNAL = 4024 + +band_ctl = { + 'narrow': 1101, + 'medium': 1102, + 'wide': 1103, + 'superwide': 1104, + 'full': 1105, +} + +signal_ctl = { + 'auto': -1000, + 'voice': 3001, + 'music': 3002, +} + +class Encoder: + SAMPLING_RATE = 48000 + CHANNELS = 2 + FRAME_LENGTH = 20 + SAMPLE_SIZE = 4 # (bit_rate / 8) * CHANNELS (bit_rate == 16) + SAMPLES_PER_FRAME = int(SAMPLING_RATE / 1000 * FRAME_LENGTH) + + FRAME_SIZE = SAMPLES_PER_FRAME * SAMPLE_SIZE + + def __init__(self, application=APPLICATION_AUDIO): + self.application = application + + if not is_loaded(): + raise OpusNotLoaded() + + self._state = self._create_state() + self.set_bitrate(128) + self.set_fec(True) + self.set_expected_packet_loss_percent(0.15) + self.set_bandwidth('full') + self.set_signal_type('auto') + + def __del__(self): + if hasattr(self, '_state'): + _lib.opus_encoder_destroy(self._state) + self._state = None + + def _create_state(self): + ret = ctypes.c_int() + return _lib.opus_encoder_create(self.SAMPLING_RATE, self.CHANNELS, self.application, ctypes.byref(ret)) + + def set_bitrate(self, kbps): + kbps = min(128, max(16, int(kbps))) + + _lib.opus_encoder_ctl(self._state, CTL_SET_BITRATE, kbps * 1024) + return kbps + + def set_bandwidth(self, req): + if req not in band_ctl: + raise KeyError('%r is not a valid bandwidth setting. Try one of: %s' % (req, ','.join(band_ctl))) + + k = band_ctl[req] + _lib.opus_encoder_ctl(self._state, CTL_SET_BANDWIDTH, k) + + def set_signal_type(self, req): + if req not in signal_ctl: + raise KeyError('%r is not a valid signal setting. Try one of: %s' % (req, ','.join(signal_ctl))) + + k = signal_ctl[req] + _lib.opus_encoder_ctl(self._state, CTL_SET_SIGNAL, k) + + def set_fec(self, enabled=True): + _lib.opus_encoder_ctl(self._state, CTL_SET_FEC, 1 if enabled else 0) + + def set_expected_packet_loss_percent(self, percentage): + _lib.opus_encoder_ctl(self._state, CTL_SET_PLP, min(100, max(0, int(percentage * 100)))) + + def encode(self, pcm, frame_size): + max_data_bytes = len(pcm) + pcm = ctypes.cast(pcm, c_int16_ptr) + data = (ctypes.c_char * max_data_bytes)() + + ret = _lib.opus_encode(self._state, pcm, frame_size, data, max_data_bytes) + + return array.array('b', data[:ret]).tobytes() diff --git a/venv/lib/python3.6/site-packages/discord/permissions.py b/venv/lib/python3.6/site-packages/discord/permissions.py new file mode 100644 index 0000000..a72a629 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/permissions.py @@ -0,0 +1,624 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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. +""" + +class Permissions: + """Wraps up the Discord permission value. + + The properties provided are two way. You can set and retrieve individual + bits using the properties as if they were regular bools. This allows + you to edit permissions. + + .. container:: operations + + .. describe:: x == y + + Checks if two permissions are equal. + .. describe:: x != y + + Checks if two permissions are not equal. + .. describe:: x <= y + + Checks if a permission is a subset of another permission. + .. describe:: x >= y + + Checks if a permission is a superset of another permission. + .. describe:: x < y + + Checks if a permission is a strict subset of another permission. + .. describe:: x > y + + Checks if a permission is a strict superset of another permission. + .. describe:: hash(x) + + Return the permission's hash. + .. describe:: iter(x) + + Returns an iterator of ``(perm, value)`` pairs. This allows it + to be, for example, constructed as a dict or a list of pairs. + + Attributes + ----------- + value + The raw value. This value is a bit array field of a 53-bit integer + representing the currently available permissions. You should query + permissions via the properties rather than using this raw value. + """ + + __slots__ = ('value',) + def __init__(self, permissions=0): + if not isinstance(permissions, int): + raise TypeError('Expected int parameter, received %s instead.' % permissions.__class__.__name__) + + self.value = permissions + + def __eq__(self, other): + return isinstance(other, Permissions) and self.value == other.value + + def __ne__(self, other): + return not self.__eq__(other) + + def __hash__(self): + return hash(self.value) + + def __repr__(self): + return '<Permissions value=%s>' % self.value + + def _perm_iterator(self): + for attr in dir(self): + # check if it's a property, because if so it's a permission + is_property = isinstance(getattr(self.__class__, attr), property) + if is_property: + yield (attr, getattr(self, attr)) + + def __iter__(self): + return self._perm_iterator() + + def is_subset(self, other): + """Returns True if self has the same or fewer permissions as other.""" + if isinstance(other, Permissions): + return (self.value & other.value) == self.value + else: + raise TypeError("cannot compare {} with {}".format(self.__class__.__name__, other.__class__.__name__)) + + def is_superset(self, other): + """Returns True if self has the same or more permissions as other.""" + if isinstance(other, Permissions): + return (self.value | other.value) == self.value + else: + raise TypeError("cannot compare {} with {}".format(self.__class__.__name__, other.__class__.__name__)) + + def is_strict_subset(self, other): + """Returns True if the permissions on other are a strict subset of those on self.""" + return self.is_subset(other) and self != other + + def is_strict_superset(self, other): + """Returns True if the permissions on other are a strict superset of those on self.""" + return self.is_superset(other) and self != other + + __le__ = is_subset + __ge__ = is_superset + __lt__ = is_strict_subset + __gt__ = is_strict_superset + + @classmethod + def none(cls): + """A factory method that creates a :class:`Permissions` with all + permissions set to False.""" + return cls(0) + + @classmethod + def all(cls): + """A factory method that creates a :class:`Permissions` with all + permissions set to True.""" + return cls(0b01111111111101111111110111111111) + + @classmethod + def all_channel(cls): + """A :class:`Permissions` with all channel-specific permissions set to + True and the guild-specific ones set to False. The guild-specific + permissions are currently: + + - manage_guild + - kick_members + - ban_members + - administrator + - change_nickname + - manage_nicknames + """ + return cls(0b00110011111101111111110001010001) + + @classmethod + def general(cls): + """A factory method that creates a :class:`Permissions` with all + "General" permissions from the official Discord UI set to True.""" + return cls(0b01111100000000000000000010111111) + + @classmethod + def text(cls): + """A factory method that creates a :class:`Permissions` with all + "Text" permissions from the official Discord UI set to True.""" + return cls(0b00000000000001111111110001000000) + + @classmethod + def voice(cls): + """A factory method that creates a :class:`Permissions` with all + "Voice" permissions from the official Discord UI set to True.""" + return cls(0b00000011111100000000000100000000) + + def update(self, **kwargs): + r"""Bulk updates this permission object. + + Allows you to set multiple attributes by using keyword + arguments. The names must be equivalent to the properties + listed. Extraneous key/value pairs will be silently ignored. + + Parameters + ------------ + \*\*kwargs + A list of key/value pairs to bulk update permissions with. + """ + for key, value in kwargs.items(): + try: + is_property = isinstance(getattr(self.__class__, key), property) + except AttributeError: + continue + + if is_property: + setattr(self, key, value) + + def _bit(self, index): + return bool((self.value >> index) & 1) + + def _set(self, index, value): + if value is True: + self.value |= (1 << index) + elif value is False: + self.value &= ~(1 << index) + else: + raise TypeError('Value to set for Permissions must be a bool.') + + def handle_overwrite(self, allow, deny): + # Basically this is what's happening here. + # We have an original bit array, e.g. 1010 + # Then we have another bit array that is 'denied', e.g. 1111 + # And then we have the last one which is 'allowed', e.g. 0101 + # We want original OP denied to end up resulting in + # whatever is in denied to be set to 0. + # So 1010 OP 1111 -> 0000 + # Then we take this value and look at the allowed values. + # And whatever is allowed is set to 1. + # So 0000 OP2 0101 -> 0101 + # The OP is base & ~denied. + # The OP2 is base | allowed. + self.value = (self.value & ~deny) | allow + + @property + def create_instant_invite(self): + """Returns True if the user can create instant invites.""" + return self._bit(0) + + @create_instant_invite.setter + def create_instant_invite(self, value): + self._set(0, value) + + @property + def kick_members(self): + """Returns True if the user can kick users from the guild.""" + return self._bit(1) + + @kick_members.setter + def kick_members(self, value): + self._set(1, value) + + @property + def ban_members(self): + """Returns True if a user can ban users from the guild.""" + return self._bit(2) + + @ban_members.setter + def ban_members(self, value): + self._set(2, value) + + @property + def administrator(self): + """Returns True if a user is an administrator. This role overrides all other permissions. + + This also bypasses all channel-specific overrides. + """ + return self._bit(3) + + @administrator.setter + def administrator(self, value): + self._set(3, value) + + @property + def manage_channels(self): + """Returns True if a user can edit, delete, or create channels in the guild. + + This also corresponds to the "Manage Channel" channel-specific override.""" + return self._bit(4) + + @manage_channels.setter + def manage_channels(self, value): + self._set(4, value) + + @property + def manage_guild(self): + """Returns True if a user can edit guild properties.""" + return self._bit(5) + + @manage_guild.setter + def manage_guild(self, value): + self._set(5, value) + + @property + def add_reactions(self): + """Returns True if a user can add reactions to messages.""" + return self._bit(6) + + @add_reactions.setter + def add_reactions(self, value): + self._set(6, value) + + @property + def view_audit_log(self): + """Returns True if a user can view the guild's audit log.""" + return self._bit(7) + + @view_audit_log.setter + def view_audit_log(self, value): + self._set(7, value) + + @property + def priority_speaker(self): + """Returns True if a user can be more easily heard while talking.""" + return self._bit(8) + + @priority_speaker.setter + def priority_speaker(self, value): + self._set(8, value) + + # 1 unused + + @property + def read_messages(self): + """Returns True if a user can read messages from all or specific text channels.""" + return self._bit(10) + + @read_messages.setter + def read_messages(self, value): + self._set(10, value) + + @property + def send_messages(self): + """Returns True if a user can send messages from all or specific text channels.""" + return self._bit(11) + + @send_messages.setter + def send_messages(self, value): + self._set(11, value) + + @property + def send_tts_messages(self): + """Returns True if a user can send TTS messages from all or specific text channels.""" + return self._bit(12) + + @send_tts_messages.setter + def send_tts_messages(self, value): + self._set(12, value) + + @property + def manage_messages(self): + """Returns True if a user can delete or pin messages in a text channel. Note that there are currently no ways to edit other people's messages.""" + return self._bit(13) + + @manage_messages.setter + def manage_messages(self, value): + self._set(13, value) + + @property + def embed_links(self): + """Returns True if a user's messages will automatically be embedded by Discord.""" + return self._bit(14) + + @embed_links.setter + def embed_links(self, value): + self._set(14, value) + + @property + def attach_files(self): + """Returns True if a user can send files in their messages.""" + return self._bit(15) + + @attach_files.setter + def attach_files(self, value): + self._set(15, value) + + @property + def read_message_history(self): + """Returns True if a user can read a text channel's previous messages.""" + return self._bit(16) + + @read_message_history.setter + def read_message_history(self, value): + self._set(16, value) + + @property + def mention_everyone(self): + """Returns True if a user's @everyone or @here will mention everyone in the text channel.""" + return self._bit(17) + + @mention_everyone.setter + def mention_everyone(self, value): + self._set(17, value) + + @property + def external_emojis(self): + """Returns True if a user can use emojis from other guilds.""" + return self._bit(18) + + @external_emojis.setter + def external_emojis(self, value): + self._set(18, value) + + # 1 unused + + @property + def connect(self): + """Returns True if a user can connect to a voice channel.""" + return self._bit(20) + + @connect.setter + def connect(self, value): + self._set(20, value) + + @property + def speak(self): + """Returns True if a user can speak in a voice channel.""" + return self._bit(21) + + @speak.setter + def speak(self, value): + self._set(21, value) + + @property + def mute_members(self): + """Returns True if a user can mute other users.""" + return self._bit(22) + + @mute_members.setter + def mute_members(self, value): + self._set(22, value) + + @property + def deafen_members(self): + """Returns True if a user can deafen other users.""" + return self._bit(23) + + @deafen_members.setter + def deafen_members(self, value): + self._set(23, value) + + @property + def move_members(self): + """Returns True if a user can move users between other voice channels.""" + return self._bit(24) + + @move_members.setter + def move_members(self, value): + self._set(24, value) + + @property + def use_voice_activation(self): + """Returns True if a user can use voice activation in voice channels.""" + return self._bit(25) + + @use_voice_activation.setter + def use_voice_activation(self, value): + self._set(25, value) + + @property + def change_nickname(self): + """Returns True if a user can change their nickname in the guild.""" + return self._bit(26) + + @change_nickname.setter + def change_nickname(self, value): + self._set(26, value) + + @property + def manage_nicknames(self): + """Returns True if a user can change other user's nickname in the guild.""" + return self._bit(27) + + @manage_nicknames.setter + def manage_nicknames(self, value): + self._set(27, value) + + @property + def manage_roles(self): + """Returns True if a user can create or edit roles less than their role's position. + + This also corresponds to the "Manage Permissions" channel-specific override. + """ + return self._bit(28) + + @manage_roles.setter + def manage_roles(self, value): + self._set(28, value) + + @property + def manage_webhooks(self): + """Returns True if a user can create, edit, or delete webhooks.""" + return self._bit(29) + + @manage_webhooks.setter + def manage_webhooks(self, value): + self._set(29, value) + + @property + def manage_emojis(self): + """Returns True if a user can create, edit, or delete emojis.""" + return self._bit(30) + + @manage_emojis.setter + def manage_emojis(self, value): + self._set(30, value) + + # 1 unused + + # after these 32 bits, there's 21 more unused ones technically + +def augment_from_permissions(cls): + cls.VALID_NAMES = {name for name in dir(Permissions) if isinstance(getattr(Permissions, name), property)} + + # make descriptors for all the valid names + for name in cls.VALID_NAMES: + # god bless Python + def getter(self, x=name): + return self._values.get(x) + def setter(self, value, x=name): + self._set(x, value) + + prop = property(getter, setter) + setattr(cls, name, prop) + + return cls + +@augment_from_permissions +class PermissionOverwrite: + r"""A type that is used to represent a channel specific permission. + + Unlike a regular :class:`Permissions`\, the default value of a + permission is equivalent to ``None`` and not ``False``. Setting + a value to ``False`` is **explicitly** denying that permission, + while setting a value to ``True`` is **explicitly** allowing + that permission. + + The values supported by this are the same as :class:`Permissions` + with the added possibility of it being set to ``None``. + + Supported operations: + + +-----------+------------------------------------------+ + | Operation | Description | + +===========+==========================================+ + | x == y | Checks if two overwrites are equal. | + +-----------+------------------------------------------+ + | x != y | Checks if two overwrites are not equal. | + +-----------+------------------------------------------+ + | iter(x) | Returns an iterator of (perm, value) | + | | pairs. This allows this class to be used | + | | as an iterable in e.g. set/list/dict | + | | constructions. | + +-----------+------------------------------------------+ + + Parameters + ----------- + \*\*kwargs + Set the value of permissions by their name. + """ + + __slots__ = ('_values',) + + def __init__(self, **kwargs): + self._values = {} + + for key, value in kwargs.items(): + if key not in self.VALID_NAMES: + raise ValueError('no permission called {0}.'.format(key)) + + setattr(self, key, value) + + def __eq__(self, other): + return self._values == other._values + + def _set(self, key, value): + if value not in (True, None, False): + raise TypeError('Expected bool or NoneType, received {0.__class__.__name__}'.format(value)) + + self._values[key] = value + + def pair(self): + """Returns the (allow, deny) pair from this overwrite. + + The value of these pairs is :class:`Permissions`. + """ + + allow = Permissions.none() + deny = Permissions.none() + + for key, value in self._values.items(): + if value is True: + setattr(allow, key, True) + elif value is False: + setattr(deny, key, True) + + return allow, deny + + @classmethod + def from_pair(cls, allow, deny): + """Creates an overwrite from an allow/deny pair of :class:`Permissions`.""" + ret = cls() + for key, value in allow: + if value is True: + setattr(ret, key, True) + + for key, value in deny: + if value is True: + setattr(ret, key, False) + + return ret + + def is_empty(self): + """Checks if the permission overwrite is currently empty. + + An empty permission overwrite is one that has no overwrites set + to True or False. + """ + return all(x is None for x in self._values.values()) + + def update(self, **kwargs): + r"""Bulk updates this permission overwrite object. + + Allows you to set multiple attributes by using keyword + arguments. The names must be equivalent to the properties + listed. Extraneous key/value pairs will be silently ignored. + + Parameters + ------------ + \*\*kwargs + A list of key/value pairs to bulk update with. + """ + for key, value in kwargs.items(): + if key not in self.VALID_NAMES: + continue + + setattr(self, key, value) + + def __iter__(self): + for key in self.VALID_NAMES: + yield key, self._values.get(key) diff --git a/venv/lib/python3.6/site-packages/discord/player.py b/venv/lib/python3.6/site-packages/discord/player.py new file mode 100644 index 0000000..345edcb --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/player.py @@ -0,0 +1,344 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import threading +import subprocess +import audioop +import asyncio +import logging +import shlex +import time + +from .errors import ClientException +from .opus import Encoder as OpusEncoder + +log = logging.getLogger(__name__) + +__all__ = ['AudioSource', 'PCMAudio', 'FFmpegPCMAudio', 'PCMVolumeTransformer'] + +class AudioSource: + """Represents an audio stream. + + The audio stream can be Opus encoded or not, however if the audio stream + is not Opus encoded then the audio format must be 16-bit 48KHz stereo PCM. + + .. warning:: + + The audio source reads are done in a separate thread. + """ + + def read(self): + """Reads 20ms worth of audio. + + Subclasses must implement this. + + If the audio is complete, then returning an empty + :term:`py:bytes-like object` to signal this is the way to do so. + + If :meth:`is_opus` method returns ``True``, then it must return + 20ms worth of Opus encoded audio. Otherwise, it must be 20ms + worth of 16-bit 48KHz stereo PCM, which is about 3,840 bytes + per frame (20ms worth of audio). + + Returns + -------- + :class:`bytes` + A bytes like object that represents the PCM or Opus data. + """ + raise NotImplementedError + + def is_opus(self): + """Checks if the audio source is already encoded in Opus. + + Defaults to ``False``. + """ + return False + + def cleanup(self): + """Called when clean-up is needed to be done. + + Useful for clearing buffer data or processes after + it is done playing audio. + """ + pass + + def __del__(self): + self.cleanup() + +class PCMAudio(AudioSource): + """Represents raw 16-bit 48KHz stereo PCM audio source. + + Attributes + ----------- + stream: file-like object + A file-like object that reads byte data representing raw PCM. + """ + def __init__(self, stream): + self.stream = stream + + def read(self): + ret = self.stream.read(OpusEncoder.FRAME_SIZE) + if len(ret) != OpusEncoder.FRAME_SIZE: + return b'' + return ret + +class FFmpegPCMAudio(AudioSource): + """An audio source from FFmpeg (or AVConv). + + This launches a sub-process to a specific input file given. + + .. warning:: + + You must have the ffmpeg or avconv executable in your path environment + variable in order for this to work. + + Parameters + ------------ + source: Union[:class:`str`, BinaryIO] + The input that ffmpeg will take and convert to PCM bytes. + If ``pipe`` is True then this is a file-like object that is + passed to the stdin of ffmpeg. + executable: :class:`str` + The executable name (and path) to use. Defaults to ``ffmpeg``. + pipe: :class:`bool` + If true, denotes that ``source`` parameter will be passed + to the stdin of ffmpeg. Defaults to ``False``. + stderr: Optional[BinaryIO] + A file-like object to pass to the Popen constructor. + Could also be an instance of ``subprocess.PIPE``. + options: Optional[:class:`str`] + Extra command line arguments to pass to ffmpeg after the ``-i`` flag. + before_options: Optional[:class:`str`] + Extra command line arguments to pass to ffmpeg before the ``-i`` flag. + + Raises + -------- + ClientException + The subprocess failed to be created. + """ + + def __init__(self, source, *, executable='ffmpeg', pipe=False, stderr=None, before_options=None, options=None): + stdin = None if not pipe else source + + args = [executable] + + if isinstance(before_options, str): + args.extend(shlex.split(before_options)) + + args.append('-i') + args.append('-' if pipe else source) + args.extend(('-f', 's16le', '-ar', '48000', '-ac', '2', '-loglevel', 'warning')) + + if isinstance(options, str): + args.extend(shlex.split(options)) + + args.append('pipe:1') + + self._process = None + try: + self._process = subprocess.Popen(args, stdin=stdin, stdout=subprocess.PIPE, stderr=stderr) + self._stdout = self._process.stdout + except FileNotFoundError: + raise ClientException(executable + ' was not found.') from None + except subprocess.SubprocessError as exc: + raise ClientException('Popen failed: {0.__class__.__name__}: {0}'.format(exc)) from exc + + def read(self): + ret = self._stdout.read(OpusEncoder.FRAME_SIZE) + if len(ret) != OpusEncoder.FRAME_SIZE: + return b'' + return ret + + def cleanup(self): + proc = self._process + if proc is None: + return + + log.info('Preparing to terminate ffmpeg process %s.', proc.pid) + proc.kill() + if proc.poll() is None: + log.info('ffmpeg process %s has not terminated. Waiting to terminate...', proc.pid) + proc.communicate() + log.info('ffmpeg process %s should have terminated with a return code of %s.', proc.pid, proc.returncode) + else: + log.info('ffmpeg process %s successfully terminated with return code of %s.', proc.pid, proc.returncode) + + self._process = None + +class PCMVolumeTransformer(AudioSource): + """Transforms a previous :class:`AudioSource` to have volume controls. + + This does not work on audio sources that have :meth:`AudioSource.is_opus` + set to ``True``. + + Parameters + ------------ + original: :class:`AudioSource` + The original AudioSource to transform. + volume: float + The initial volume to set it to. + See :attr:`volume` for more info. + + Raises + ------- + TypeError + Not an audio source. + ClientException + The audio source is opus encoded. + """ + + def __init__(self, original, volume=1.0): + if not isinstance(original, AudioSource): + raise TypeError('expected AudioSource not {0.__class__.__name__}.'.format(original)) + + if original.is_opus(): + raise ClientException('AudioSource must not be Opus encoded.') + + self.original = original + self.volume = volume + + @property + def volume(self): + """Retrieves or sets the volume as a floating point percentage (e.g. 1.0 for 100%).""" + return self._volume + + @volume.setter + def volume(self, value): + self._volume = max(value, 0.0) + + def cleanup(self): + self.original.cleanup() + + def read(self): + ret = self.original.read() + return audioop.mul(ret, 2, min(self._volume, 2.0)) + +class AudioPlayer(threading.Thread): + DELAY = OpusEncoder.FRAME_LENGTH / 1000.0 + + def __init__(self, source, client, *, after=None): + threading.Thread.__init__(self) + self.daemon = True + self.source = source + self.client = client + self.after = after + + self._end = threading.Event() + self._resumed = threading.Event() + self._resumed.set() # we are not paused + self._current_error = None + self._connected = client._connected + self._lock = threading.Lock() + + if after is not None and not callable(after): + raise TypeError('Expected a callable for the "after" parameter.') + + def _do_run(self): + self.loops = 0 + self._start = time.time() + + # getattr lookup speed ups + play_audio = self.client.send_audio_packet + self._speak(True) + + while not self._end.is_set(): + # are we paused? + if not self._resumed.is_set(): + # wait until we aren't + self._resumed.wait() + continue + + # are we disconnected from voice? + if not self._connected.is_set(): + # wait until we are connected + self._connected.wait() + # reset our internal data + self.loops = 0 + self._start = time.time() + + self.loops += 1 + data = self.source.read() + + if not data: + self.stop() + break + + play_audio(data, encode=not self.source.is_opus()) + next_time = self._start + self.DELAY * self.loops + delay = max(0, self.DELAY + (next_time - time.time())) + time.sleep(delay) + + def run(self): + try: + self._do_run() + except Exception as exc: + self._current_error = exc + self.stop() + finally: + self.source.cleanup() + self._call_after() + + def _call_after(self): + if self.after is not None: + try: + self.after(self._current_error) + except Exception: + log.exception('Calling the after function failed.') + + def stop(self): + self._end.set() + self._resumed.set() + self._speak(False) + + def pause(self, *, update_speaking=True): + self._resumed.clear() + if update_speaking: + self._speak(False) + + def resume(self, *, update_speaking=True): + self.loops = 0 + self._start = time.time() + self._resumed.set() + if update_speaking: + self._speak(True) + + def is_playing(self): + return self._resumed.is_set() and not self._end.is_set() + + def is_paused(self): + return not self._end.is_set() and not self._resumed.is_set() + + def _set_source(self, source): + with self._lock: + self.pause(update_speaking=False) + self.source = source + self.resume(update_speaking=False) + + def _speak(self, speaking): + try: + asyncio.run_coroutine_threadsafe(self.client.ws.speak(speaking), self.client.loop) + except Exception as e: + log.info("Speaking call in player failed: %s", e) diff --git a/venv/lib/python3.6/site-packages/discord/raw_models.py b/venv/lib/python3.6/site-packages/discord/raw_models.py new file mode 100644 index 0000000..211216a --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/raw_models.py @@ -0,0 +1,151 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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. +""" + +class RawMessageDeleteEvent: + """Represents the event payload for a :func:`on_raw_message_delete` event. + + Attributes + ------------ + channel_id: :class:`int` + The channel ID where the deletion took place. + guild_id: Optional[:class:`int`] + The guild ID where the deletion took place, if applicable. + message_id: :class:`int` + The message ID that got deleted. + cached_message: Optional[:class:`Message`] + The cached message, if found in the internal message cache. + """ + + __slots__ = ('message_id', 'channel_id', 'guild_id', 'cached_message') + + def __init__(self, data): + self.message_id = int(data['id']) + self.channel_id = int(data['channel_id']) + self.cached_message = None + try: + self.guild_id = int(data['guild_id']) + except KeyError: + self.guild_id = None + +class RawBulkMessageDeleteEvent: + """Represents the event payload for a :func:`on_raw_bulk_message_delete` event. + + Attributes + ----------- + message_ids: Set[:class:`int`] + A :class:`set` of the message IDs that were deleted. + channel_id: :class:`int` + The channel ID where the message got deleted. + guild_id: Optional[:class:`int`] + The guild ID where the message got deleted, if applicable. + cached_messages: List[:class:`Message`] + The cached messages, if found in the internal message cache. + """ + + __slots__ = ('message_ids', 'channel_id', 'guild_id', 'cached_messages') + + def __init__(self, data): + self.message_ids = {int(x) for x in data.get('ids', [])} + self.channel_id = int(data['channel_id']) + self.cached_messages = [] + + try: + self.guild_id = int(data['guild_id']) + except KeyError: + self.guild_id = None + +class RawMessageUpdateEvent: + """Represents the payload for a :func:`on_raw_message_edit` event. + + Attributes + ----------- + message_id: :class:`int` + The message ID that got updated. + data: :class:`dict` + The raw data given by the + `gateway <https://discordapp.com/developers/docs/topics/gateway#message-update>`_ + """ + + __slots__ = ('message_id', 'data') + + def __init__(self, data): + self.message_id = int(data['id']) + self.data = data + +class RawReactionActionEvent: + """Represents the payload for a :func:`on_raw_reaction_add` or + :func:`on_raw_reaction_remove` event. + + Attributes + ----------- + message_id: :class:`int` + The message ID that got or lost a reaction. + user_id: :class:`int` + The user ID who added the reaction or whose reaction was removed. + channel_id: :class:`int` + The channel ID where the reaction got added or removed. + guild_id: Optional[:class:`int`] + The guild ID where the reaction got added or removed, if applicable. + emoji: :class:`PartialEmoji` + The custom or unicode emoji being used. + """ + + __slots__ = ('message_id', 'user_id', 'channel_id', 'guild_id', 'emoji') + + def __init__(self, data, emoji): + self.message_id = int(data['message_id']) + self.channel_id = int(data['channel_id']) + self.user_id = int(data['user_id']) + self.emoji = emoji + + try: + self.guild_id = int(data['guild_id']) + except KeyError: + self.guild_id = None + +class RawReactionClearEvent: + """Represents the payload for a :func:`on_raw_reaction_clear` event. + + Attributes + ----------- + message_id: :class:`int` + The message ID that got its reactions cleared. + channel_id: :class:`int` + The channel ID where the reactions got cleared. + guild_id: Optional[:class:`int`] + The guild ID where the reactions got cleared. + """ + + __slots__ = ('message_id', 'channel_id', 'guild_id') + + def __init__(self, data): + self.message_id = int(data['message_id']) + self.channel_id = int(data['channel_id']) + + try: + self.guild_id = int(data['guild_id']) + except KeyError: + self.guild_id = None diff --git a/venv/lib/python3.6/site-packages/discord/reaction.py b/venv/lib/python3.6/site-packages/discord/reaction.py new file mode 100644 index 0000000..a0cb80b --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/reaction.py @@ -0,0 +1,177 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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 .iterators import ReactionIterator + +class Reaction: + """Represents a reaction to a message. + + Depending on the way this object was created, some of the attributes can + have a value of ``None``. + + .. container:: operations + + .. describe:: x == y + + Checks if two reactions are equal. This works by checking if the emoji + is the same. So two messages with the same reaction will be considered + "equal". + + .. describe:: x != y + + Checks if two reactions are not equal. + + .. describe:: hash(x) + + Returns the reaction's hash. + + .. describe:: str(x) + + Returns the string form of the reaction's emoji. + + Attributes + ----------- + emoji: :class:`Emoji` or :class:`str` + The reaction emoji. May be a custom emoji, or a unicode emoji. + count: :class:`int` + Number of times this reaction was made + me: :class:`bool` + If the user sent this reaction. + message: :class:`Message` + Message this reaction is for. + """ + __slots__ = ('message', 'count', 'emoji', 'me') + + def __init__(self, *, message, data, emoji=None): + self.message = message + self.emoji = emoji or message._state.get_reaction_emoji(data['emoji']) + self.count = data.get('count', 1) + self.me = data.get('me') + + @property + def custom_emoji(self): + """:class:`bool`: If this is a custom emoji.""" + return not isinstance(self.emoji, str) + + def __eq__(self, other): + return isinstance(other, self.__class__) and other.emoji == self.emoji + + def __ne__(self, other): + if isinstance(other, self.__class__): + return other.emoji != self.emoji + return True + + def __hash__(self): + return hash(self.emoji) + + def __str__(self): + return str(self.emoji) + + def __repr__(self): + return '<Reaction emoji={0.emoji!r} me={0.me} count={0.count}>'.format(self) + + async def remove(self, user): + """|coro| + + Remove the reaction by the provided :class:`User` from the message. + + If the reaction is not your own (i.e. ``user`` parameter is not you) then + the :attr:`discord.permissions.Permissions.manage_messages` permission is needed. + + The ``user`` parameter must represent a user or member and meet + the :class:`abc.Snowflake` abc. + + Parameters + ----------- + user: :class:`abc.Snowflake` + The user or member from which to remove the reaction. + + Raises + ------- + HTTPException + Removing the reaction failed. + Forbidden + You do not have the proper permissions to remove the reaction. + NotFound + The user you specified, or the reaction's message was not found. + """ + + await self.message.remove_reaction(self.emoji, user) + + def users(self, limit=None, after=None): + """Returns an :class:`AsyncIterator` representing the users that have reacted to the message. + + The ``after`` parameter must represent a member + and meet the :class:`abc.Snowflake` abc. + + Examples + --------- + + Usage :: + + # I do not actually recommend doing this. + async for user in reaction.users(): + await channel.send('{0} has reacted with {1.emoji}!'.format(user, reaction)) + + Flattening into a list: :: + + users = await reaction.users().flatten() + # users is now a list... + winner = random.choice(users) + await channel.send('{} has won the raffle.'.format(winner)) + + Parameters + ------------ + limit: :class:`int` + The maximum number of results to return. + If not provided, returns all the users who + reacted to the message. + after: :class:`abc.Snowflake` + For pagination, reactions are sorted by member. + + Raises + -------- + HTTPException + Getting the users for the reaction failed. + + Yields + -------- + Union[:class:`User`, :class:`Member`] + The member (if retrievable) or the user that has reacted + to this message. The case where it can be a :class:`Member` is + in a guild message context. Sometimes it can be a :class:`User` + if the member has left the guild. + """ + + if self.custom_emoji: + emoji = '{0.name}:{0.id}'.format(self.emoji) + else: + emoji = self.emoji + + if limit is None: + limit = self.count + + return ReactionIterator(self.message, emoji, limit, after) diff --git a/venv/lib/python3.6/site-packages/discord/relationship.py b/venv/lib/python3.6/site-packages/discord/relationship.py new file mode 100644 index 0000000..a1bd2c1 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/relationship.py @@ -0,0 +1,78 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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 .enums import RelationshipType, try_enum + +class Relationship: + """Represents a relationship in Discord. + + A relationship is like a friendship, a person who is blocked, etc. + Only non-bot accounts can have relationships. + + Attributes + ----------- + user: :class:`User` + The user you have the relationship with. + type: :class:`RelationshipType` + The type of relationship you have. + """ + + __slots__ = ('type', 'user', '_state') + + def __init__(self, *, state, data): + self._state = state + self.type = try_enum(RelationshipType, data['type']) + self.user = state.store_user(data['user']) + + def __repr__(self): + return '<Relationship user={0.user!r} type={0.type!r}>'.format(self) + + async def delete(self): + """|coro| + + Deletes the relationship. + + Raises + ------ + HTTPException + Deleting the relationship failed. + """ + + await self._state.http.remove_relationship(self.user.id) + + async def accept(self): + """|coro| + + Accepts the relationship request. e.g. accepting a + friend request. + + Raises + ------- + HTTPException + Accepting the relationship failed. + """ + + await self._state.http.add_relationship(self.user.id) diff --git a/venv/lib/python3.6/site-packages/discord/role.py b/venv/lib/python3.6/site-packages/discord/role.py new file mode 100644 index 0000000..7fd435e --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/role.py @@ -0,0 +1,283 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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 .permissions import Permissions +from .errors import InvalidArgument +from .colour import Colour +from .mixins import Hashable +from .utils import snowflake_time + +class Role(Hashable): + """Represents a Discord role in a :class:`Guild`. + + .. container:: operations + + .. describe:: x == y + + Checks if two roles are equal. + + .. describe:: x != y + + Checks if two roles are not equal. + + .. describe:: x > y + + Checks if a role is higher than another in the hierarchy. + + .. describe:: x < y + + Checks if a role is lower than another in the hierarchy. + + .. describe:: x >= y + + Checks if a role is higher or equal to another in the hierarchy. + + .. describe:: x <= y + + Checks if a role is lower or equal to another in the hierarchy. + + .. describe:: hash(x) + + Return the role's hash. + + .. describe:: str(x) + + Returns the role's name. + + Attributes + ---------- + id: :class:`int` + The ID for the role. + name: :class:`str` + The name of the role. + permissions: :class:`Permissions` + Represents the role's permissions. + guild: :class:`Guild` + The guild the role belongs to. + colour: :class:`Colour` + Represents the role colour. An alias exists under ``color``. + hoist: :class:`bool` + Indicates if the role will be displayed separately from other members. + position: :class:`int` + The position of the role. This number is usually positive. The bottom + role has a position of 0. + managed: :class:`bool` + Indicates if the role is managed by the guild through some form of + integrations such as Twitch. + mentionable: :class:`bool` + Indicates if the role can be mentioned by users. + """ + + __slots__ = ('id', 'name', 'permissions', 'color', 'colour', 'position', + 'managed', 'mentionable', 'hoist', 'guild', '_state') + + def __init__(self, *, guild, state, data): + self.guild = guild + self._state = state + self.id = int(data['id']) + self._update(data) + + def __str__(self): + return self.name + + def __repr__(self): + return '<Role id={0.id} name={0.name!r}>'.format(self) + + def __lt__(self, other): + if not isinstance(other, Role) or not isinstance(self, Role): + return NotImplemented + + if self.guild != other.guild: + raise RuntimeError('cannot compare roles from two different guilds.') + + # the @everyone role is always the lowest role in hierarchy + guild_id = self.guild.id + if self.id == guild_id: + # everyone_role < everyone_role -> False + return other.id != guild_id + + if self.position < other.position: + return True + + if self.position == other.position: + return int(self.id) > int(other.id) + + return False + + def __le__(self, other): + r = Role.__lt__(other, self) + if r is NotImplemented: + return NotImplemented + return not r + + def __gt__(self, other): + return Role.__lt__(other, self) + + def __ge__(self, other): + r = Role.__lt__(self, other) + if r is NotImplemented: + return NotImplemented + return not r + + def _update(self, data): + self.name = data['name'] + self.permissions = Permissions(data.get('permissions', 0)) + self.position = data.get('position', 0) + self.colour = Colour(data.get('color', 0)) + self.hoist = data.get('hoist', False) + self.managed = data.get('managed', False) + self.mentionable = data.get('mentionable', False) + self.color = self.colour + + def is_default(self): + """Checks if the role is the default role.""" + return self.guild.id == self.id + + @property + def created_at(self): + """Returns the role's creation time in UTC.""" + return snowflake_time(self.id) + + @property + def mention(self): + """Returns a string that allows you to mention a role.""" + return '<@&%s>' % self.id + + @property + def members(self): + """Returns a :class:`list` of :class:`Member` with this role.""" + all_members = self.guild.members + if self.is_default(): + return all_members + + role_id = self.id + return [member for member in all_members if member._roles.has(role_id)] + + async def _move(self, position, reason): + if position <= 0: + raise InvalidArgument("Cannot move role to position 0 or below") + + if self.is_default(): + raise InvalidArgument("Cannot move default role") + + if self.position == position: + return # Save discord the extra request. + + http = self._state.http + + change_range = range(min(self.position, position), max(self.position, position) + 1) + roles = [r.id for r in self.guild.roles[1:] if r.position in change_range and r.id != self.id] + + if self.position > position: + roles.insert(0, self.id) + else: + roles.append(self.id) + + payload = [{"id": z[0], "position": z[1]} for z in zip(roles, change_range)] + await http.move_role_position(self.guild.id, payload, reason=reason) + + async def edit(self, *, reason=None, **fields): + """|coro| + + Edits the role. + + You must have the :attr:`~Permissions.manage_roles` permission to + use this. + + All fields are optional. + + Parameters + ----------- + name: :class:`str` + The new role name to change to. + permissions: :class:`Permissions` + The new permissions to change to. + colour: :class:`Colour` + The new colour to change to. (aliased to color as well) + hoist: :class:`bool` + Indicates if the role should be shown separately in the member list. + mentionable: :class:`bool` + Indicates if the role should be mentionable by others. + position: :class:`int` + The new role's position. This must be below your top role's + position or it will fail. + reason: Optional[:class:`str`] + The reason for editing this role. Shows up on the audit log. + + Raises + ------- + Forbidden + You do not have permissions to change the role. + HTTPException + Editing the role failed. + InvalidArgument + An invalid position was given or the default + role was asked to be moved. + """ + + position = fields.get('position') + if position is not None: + await self._move(position, reason=reason) + self.position = position + + try: + colour = fields['colour'] + except KeyError: + colour = fields.get('color', self.colour) + + payload = { + 'name': fields.get('name', self.name), + 'permissions': fields.get('permissions', self.permissions).value, + 'color': colour.value, + 'hoist': fields.get('hoist', self.hoist), + 'mentionable': fields.get('mentionable', self.mentionable) + } + + data = await self._state.http.edit_role(self.guild.id, self.id, reason=reason, **payload) + self._update(data) + + async def delete(self, *, reason=None): + """|coro| + + Deletes the role. + + You must have the :attr:`~Permissions.manage_roles` permission to + use this. + + Parameters + ----------- + reason: Optional[:class:`str`] + The reason for deleting this role. Shows up on the audit log. + + Raises + -------- + Forbidden + You do not have permissions to delete the role. + HTTPException + Deleting the role failed. + """ + + await self._state.http.delete_role(self.guild.id, self.id, reason=reason) diff --git a/venv/lib/python3.6/site-packages/discord/shard.py b/venv/lib/python3.6/site-packages/discord/shard.py new file mode 100644 index 0000000..b15b22a --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/shard.py @@ -0,0 +1,359 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import asyncio +import itertools +import logging + +import websockets + +from .state import AutoShardedConnectionState +from .client import Client +from .gateway import * +from .errors import ClientException, InvalidArgument +from . import utils +from .enums import Status + +log = logging.getLogger(__name__) + +class Shard: + def __init__(self, ws, client): + self.ws = ws + self._client = client + self._dispatch = client.dispatch + self.loop = self._client.loop + self._current = self.loop.create_future() + self._current.set_result(None) # we just need an already done future + self._pending = asyncio.Event(loop=self.loop) + self._pending_task = None + + @property + def id(self): + return self.ws.shard_id + + def is_pending(self): + return not self._pending.is_set() + + def complete_pending_reads(self): + self._pending.set() + + async def _pending_reads(self): + try: + while self.is_pending(): + await self.poll() + except asyncio.CancelledError: + pass + + def launch_pending_reads(self): + self._pending_task = asyncio.ensure_future(self._pending_reads(), loop=self.loop) + + def wait(self): + return self._pending_task + + async def poll(self): + try: + await self.ws.poll_event() + except ResumeWebSocket: + log.info('Got a request to RESUME the websocket at Shard ID %s.', self.id) + coro = DiscordWebSocket.from_client(self._client, resume=True, shard_id=self.id, + session=self.ws.session_id, sequence=self.ws.sequence) + self._dispatch('disconnect') + self.ws = await asyncio.wait_for(coro, timeout=180.0, loop=self.loop) + + def get_future(self): + if self._current.done(): + self._current = asyncio.ensure_future(self.poll(), loop=self.loop) + + return self._current + +class AutoShardedClient(Client): + """A client similar to :class:`Client` except it handles the complications + of sharding for the user into a more manageable and transparent single + process bot. + + When using this client, you will be able to use it as-if it was a regular + :class:`Client` with a single shard when implementation wise internally it + is split up into multiple shards. This allows you to not have to deal with + IPC or other complicated infrastructure. + + It is recommended to use this client only if you have surpassed at least + 1000 guilds. + + If no :attr:`shard_count` is provided, then the library will use the + Bot Gateway endpoint call to figure out how many shards to use. + + If a ``shard_ids`` parameter is given, then those shard IDs will be used + to launch the internal shards. Note that :attr:`shard_count` must be provided + if this is used. By default, when omitted, the client will launch shards from + 0 to ``shard_count - 1``. + + Attributes + ------------ + shard_ids: Optional[List[:class:`int`]] + An optional list of shard_ids to launch the shards with. + """ + def __init__(self, *args, loop=None, **kwargs): + kwargs.pop('shard_id', None) + self.shard_ids = kwargs.pop('shard_ids', None) + super().__init__(*args, loop=loop, **kwargs) + + if self.shard_ids is not None: + if self.shard_count is None: + raise ClientException('When passing manual shard_ids, you must provide a shard_count.') + elif not isinstance(self.shard_ids, (list, tuple)): + raise ClientException('shard_ids parameter must be a list or a tuple.') + + self._connection = AutoShardedConnectionState(dispatch=self.dispatch, chunker=self._chunker, + handlers=self._handlers, syncer=self._syncer, + http=self.http, loop=self.loop, **kwargs) + + # instead of a single websocket, we have multiple + # the key is the shard_id + self.shards = {} + + def _get_websocket(guild_id): + i = (guild_id >> 22) % self.shard_count + return self.shards[i].ws + + self._connection._get_websocket = _get_websocket + + async def _chunker(self, guild, *, shard_id=None): + try: + guild_id = guild.id + shard_id = shard_id or guild.shard_id + except AttributeError: + guild_id = [s.id for s in guild] + + payload = { + 'op': 8, + 'd': { + 'guild_id': guild_id, + 'query': '', + 'limit': 0 + } + } + + ws = self.shards[shard_id].ws + await ws.send_as_json(payload) + + @property + def latency(self): + """:class:`float`: Measures latency between a HEARTBEAT and a HEARTBEAT_ACK in seconds. + + This operates similarly to :meth:`.Client.latency` except it uses the average + latency of every shard's latency. To get a list of shard latency, check the + :attr:`latencies` property. Returns ``nan`` if there are no shards ready. + """ + if not self.shards: + return float('nan') + return sum(latency for _, latency in self.latencies) / len(self.shards) + + @property + def latencies(self): + """List[Tuple[:class:`int`, :class:`float`]]: A list of latencies between a HEARTBEAT and a HEARTBEAT_ACK in seconds. + + This returns a list of tuples with elements ``(shard_id, latency)``. + """ + return [(shard_id, shard.ws.latency) for shard_id, shard in self.shards.items()] + + async def request_offline_members(self, *guilds): + r"""|coro| + + Requests previously offline members from the guild to be filled up + into the :attr:`Guild.members` cache. This function is usually not + called. It should only be used if you have the ``fetch_offline_members`` + parameter set to ``False``. + + When the client logs on and connects to the websocket, Discord does + not provide the library with offline members if the number of members + in the guild is larger than 250. You can check if a guild is large + if :attr:`Guild.large` is ``True``. + + Parameters + ----------- + \*guilds: :class:`Guild` + An argument list of guilds to request offline members for. + + Raises + ------- + InvalidArgument + If any guild is unavailable or not large in the collection. + """ + if any(not g.large or g.unavailable for g in guilds): + raise InvalidArgument('An unavailable or non-large guild was passed.') + + _guilds = sorted(guilds, key=lambda g: g.shard_id) + for shard_id, sub_guilds in itertools.groupby(_guilds, key=lambda g: g.shard_id): + sub_guilds = list(sub_guilds) + await self._connection.request_offline_members(sub_guilds, shard_id=shard_id) + + async def launch_shard(self, gateway, shard_id): + try: + coro = websockets.connect(gateway, loop=self.loop, klass=DiscordWebSocket, compression=None) + ws = await asyncio.wait_for(coro, loop=self.loop, timeout=180.0) + except Exception: + log.info('Failed to connect for shard_id: %s. Retrying...', shard_id) + await asyncio.sleep(5.0, loop=self.loop) + return await self.launch_shard(gateway, shard_id) + + ws.token = self.http.token + ws._connection = self._connection + ws._dispatch = self.dispatch + ws.gateway = gateway + ws.shard_id = shard_id + ws.shard_count = self.shard_count + ws._max_heartbeat_timeout = self._connection.heartbeat_timeout + + try: + # OP HELLO + await asyncio.wait_for(ws.poll_event(), loop=self.loop, timeout=180.0) + await asyncio.wait_for(ws.identify(), loop=self.loop, timeout=180.0) + except asyncio.TimeoutError: + log.info('Timed out when connecting for shard_id: %s. Retrying...', shard_id) + await asyncio.sleep(5.0, loop=self.loop) + return await self.launch_shard(gateway, shard_id) + + # keep reading the shard while others connect + self.shards[shard_id] = ret = Shard(ws, self) + ret.launch_pending_reads() + await asyncio.sleep(5.0, loop=self.loop) + + async def launch_shards(self): + if self.shard_count is None: + self.shard_count, gateway = await self.http.get_bot_gateway() + else: + gateway = await self.http.get_gateway() + + self._connection.shard_count = self.shard_count + + shard_ids = self.shard_ids if self.shard_ids else range(self.shard_count) + + for shard_id in shard_ids: + await self.launch_shard(gateway, shard_id) + + shards_to_wait_for = [] + for shard in self.shards.values(): + shard.complete_pending_reads() + shards_to_wait_for.append(shard.wait()) + + # wait for all pending tasks to finish + await utils.sane_wait_for(shards_to_wait_for, timeout=300.0, loop=self.loop) + + async def _connect(self): + await self.launch_shards() + + while True: + pollers = [shard.get_future() for shard in self.shards.values()] + done, _ = await asyncio.wait(pollers, loop=self.loop, return_when=asyncio.FIRST_COMPLETED) + for f in done: + # we wanna re-raise to the main Client.connect handler if applicable + f.result() + + async def close(self): + """|coro| + + Closes the connection to discord. + """ + if self.is_closed(): + return + + self._closed.set() + + for vc in self.voice_clients: + try: + await vc.disconnect() + except Exception: + pass + + to_close = [shard.ws.close() for shard in self.shards.values()] + if to_close: + await asyncio.wait(to_close, loop=self.loop) + + await self.http.close() + + async def change_presence(self, *, activity=None, status=None, afk=False, shard_id=None): + """|coro| + + Changes the client's presence. + + The activity parameter is a :class:`Activity` object (not a string) that represents + the activity being done currently. This could also be the slimmed down versions, + :class:`Game` and :class:`Streaming`. + + Example: :: + + game = discord.Game("with the API") + await client.change_presence(status=discord.Status.idle, activity=game) + + Parameters + ---------- + activity: Optional[Union[:class:`Game`, :class:`Streaming`, :class:`Activity`]] + The activity being done. ``None`` if no currently active activity is done. + status: Optional[:class:`Status`] + Indicates what status to change to. If None, then + :attr:`Status.online` is used. + afk: :class:`bool` + Indicates if you are going AFK. This allows the discord + client to know how to handle push notifications better + for you in case you are actually idle and not lying. + shard_id: Optional[:class:`int`] + The shard_id to change the presence to. If not specified + or ``None``, then it will change the presence of every + shard the bot can see. + + Raises + ------ + InvalidArgument + If the ``activity`` parameter is not of proper type. + """ + + if status is None: + status = 'online' + status_enum = Status.online + elif status is Status.offline: + status = 'invisible' + status_enum = Status.offline + else: + status_enum = status + status = str(status) + + if shard_id is None: + for shard in self.shards.values(): + await shard.ws.change_presence(activity=activity, status=status, afk=afk) + + guilds = self._connection.guilds + else: + shard = self.shards[shard_id] + await shard.ws.change_presence(activity=activity, status=status, afk=afk) + guilds = [g for g in self._connection.guilds if g.shard_id == shard_id] + + for guild in guilds: + me = guild.me + if me is None: + continue + + me.activities = (activity,) + me.status = status_enum diff --git a/venv/lib/python3.6/site-packages/discord/state.py b/venv/lib/python3.6/site-packages/discord/state.py new file mode 100644 index 0000000..3d420a0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/state.py @@ -0,0 +1,1010 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import asyncio +from collections import deque, namedtuple, OrderedDict +import copy +import datetime +import enum +import itertools +import logging +import math +import weakref + +from .guild import Guild +from .activity import _ActivityTag +from .user import User, ClientUser +from .emoji import Emoji, PartialEmoji +from .message import Message +from .relationship import Relationship +from .channel import * +from .raw_models import * +from .member import Member +from .role import Role +from .enums import ChannelType, try_enum, Status +from . import utils +from .embeds import Embed + +class ListenerType(enum.Enum): + chunk = 0 + +Listener = namedtuple('Listener', ('type', 'future', 'predicate')) +log = logging.getLogger(__name__) +ReadyState = namedtuple('ReadyState', ('launch', 'guilds')) + +class ConnectionState: + def __init__(self, *, dispatch, chunker, handlers, syncer, http, loop, **options): + self.loop = loop + self.http = http + self.max_messages = max(options.get('max_messages', 5000), 100) + self.dispatch = dispatch + self.chunker = chunker + self.syncer = syncer + self.is_bot = None + self.handlers = handlers + self.shard_count = None + self._ready_task = None + self._fetch_offline = options.get('fetch_offline_members', True) + self.heartbeat_timeout = options.get('heartbeat_timeout', 60.0) + self._listeners = [] + + activity = options.get('activity', None) + if activity: + if not isinstance(activity, _ActivityTag): + raise TypeError('activity parameter must be one of Game, Streaming, or Activity.') + + activity = activity.to_dict() + + status = options.get('status', None) + if status: + if status is Status.offline: + status = 'invisible' + else: + status = str(status) + + self._activity = activity + self._status = status + + self.clear() + + def clear(self): + self.user = None + self._users = weakref.WeakValueDictionary() + self._emojis = {} + self._calls = {} + self._guilds = {} + self._voice_clients = {} + + # LRU of max size 128 + self._private_channels = OrderedDict() + # extra dict to look up private channels by user id + self._private_channels_by_user = {} + self._messages = deque(maxlen=self.max_messages) + + def process_listeners(self, listener_type, argument, result): + removed = [] + for i, listener in enumerate(self._listeners): + if listener.type != listener_type: + continue + + future = listener.future + if future.cancelled(): + removed.append(i) + continue + + try: + passed = listener.predicate(argument) + except Exception as exc: + future.set_exception(exc) + removed.append(i) + else: + if passed: + future.set_result(result) + removed.append(i) + if listener.type == ListenerType.chunk: + break + + for index in reversed(removed): + del self._listeners[index] + + def call_handlers(self, key, *args, **kwargs): + try: + func = self.handlers[key] + except KeyError: + pass + else: + func(*args, **kwargs) + + @property + def self_id(self): + u = self.user + return u.id if u else None + + @property + def voice_clients(self): + return list(self._voice_clients.values()) + + def _get_voice_client(self, guild_id): + return self._voice_clients.get(guild_id) + + def _add_voice_client(self, guild_id, voice): + self._voice_clients[guild_id] = voice + + def _remove_voice_client(self, guild_id): + self._voice_clients.pop(guild_id, None) + + def _update_references(self, ws): + for vc in self.voice_clients: + vc.main_ws = ws + + def store_user(self, data): + # this way is 300% faster than `dict.setdefault`. + user_id = int(data['id']) + try: + return self._users[user_id] + except KeyError: + user = User(state=self, data=data) + if user.discriminator != '0000': + self._users[user_id] = user + return user + + def get_user(self, id): + return self._users.get(id) + + def store_emoji(self, guild, data): + emoji_id = int(data['id']) + self._emojis[emoji_id] = emoji = Emoji(guild=guild, state=self, data=data) + return emoji + + @property + def guilds(self): + return list(self._guilds.values()) + + def _get_guild(self, guild_id): + return self._guilds.get(guild_id) + + def _add_guild(self, guild): + self._guilds[guild.id] = guild + + def _remove_guild(self, guild): + self._guilds.pop(guild.id, None) + + for emoji in guild.emojis: + self._emojis.pop(emoji.id, None) + + del guild + + @property + def emojis(self): + return list(self._emojis.values()) + + def get_emoji(self, emoji_id): + return self._emojis.get(emoji_id) + + @property + def private_channels(self): + return list(self._private_channels.values()) + + def _get_private_channel(self, channel_id): + try: + value = self._private_channels[channel_id] + except KeyError: + return None + else: + self._private_channels.move_to_end(channel_id) + return value + + def _get_private_channel_by_user(self, user_id): + return self._private_channels_by_user.get(user_id) + + def _add_private_channel(self, channel): + channel_id = channel.id + self._private_channels[channel_id] = channel + + if self.is_bot and len(self._private_channels) > 128: + _, to_remove = self._private_channels.popitem(last=False) + if isinstance(to_remove, DMChannel): + self._private_channels_by_user.pop(to_remove.recipient.id, None) + + if isinstance(channel, DMChannel): + self._private_channels_by_user[channel.recipient.id] = channel + + def add_dm_channel(self, data): + channel = DMChannel(me=self.user, state=self, data=data) + self._add_private_channel(channel) + return channel + + def _remove_private_channel(self, channel): + self._private_channels.pop(channel.id, None) + if isinstance(channel, DMChannel): + self._private_channels_by_user.pop(channel.recipient.id, None) + + def _get_message(self, msg_id): + return utils.find(lambda m: m.id == msg_id, reversed(self._messages)) + + def _add_guild_from_data(self, guild): + guild = Guild(data=guild, state=self) + self._add_guild(guild) + return guild + + def chunks_needed(self, guild): + for _ in range(math.ceil(guild._member_count / 1000)): + yield self.receive_chunk(guild.id) + + def _get_guild_channel(self, data): + try: + guild = self._get_guild(int(data['guild_id'])) + except KeyError: + channel = self.get_channel(int(data['channel_id'])) + guild = None + else: + channel = guild and guild.get_channel(int(data['channel_id'])) + + return channel, guild + + async def request_offline_members(self, guilds): + # get all the chunks + chunks = [] + for guild in guilds: + chunks.extend(self.chunks_needed(guild)) + + # we only want to request ~75 guilds per chunk request. + splits = [guilds[i:i + 75] for i in range(0, len(guilds), 75)] + for split in splits: + await self.chunker(split) + + # wait for the chunks + if chunks: + try: + await utils.sane_wait_for(chunks, timeout=len(chunks) * 30.0, loop=self.loop) + except asyncio.TimeoutError: + log.info('Somehow timed out waiting for chunks.') + + async def _delay_ready(self): + try: + launch = self._ready_state.launch + + # only real bots wait for GUILD_CREATE streaming + if self.is_bot: + while not launch.is_set(): + # this snippet of code is basically waiting 2 seconds + # until the last GUILD_CREATE was sent + launch.set() + await asyncio.sleep(2, loop=self.loop) + + guilds = next(zip(*self._ready_state.guilds), []) + if self._fetch_offline: + await self.request_offline_members(guilds) + + for guild, unavailable in self._ready_state.guilds: + if unavailable is False: + self.dispatch('guild_available', guild) + else: + self.dispatch('guild_join', guild) + + # remove the state + try: + del self._ready_state + except AttributeError: + pass # already been deleted somehow + + # call GUILD_SYNC after we're done chunking + if not self.is_bot: + log.info('Requesting GUILD_SYNC for %s guilds', len(self.guilds)) + await self.syncer([s.id for s in self.guilds]) + except asyncio.CancelledError: + pass + else: + # dispatch the event + self.call_handlers('ready') + self.dispatch('ready') + finally: + self._ready_task = None + + def parse_ready(self, data): + if self._ready_task is not None: + self._ready_task.cancel() + + self._ready_state = ReadyState(launch=asyncio.Event(), guilds=[]) + self.clear() + self.user = ClientUser(state=self, data=data['user']) + + guilds = self._ready_state.guilds + for guild_data in data['guilds']: + guild = self._add_guild_from_data(guild_data) + if (not self.is_bot and not guild.unavailable) or guild.large: + guilds.append((guild, guild.unavailable)) + + for relationship in data.get('relationships', []): + try: + r_id = int(relationship['id']) + except KeyError: + continue + else: + self.user._relationships[r_id] = Relationship(state=self, data=relationship) + + for pm in data.get('private_channels', []): + factory, _ = _channel_factory(pm['type']) + self._add_private_channel(factory(me=self.user, data=pm, state=self)) + + self.dispatch('connect') + self._ready_task = asyncio.ensure_future(self._delay_ready(), loop=self.loop) + + def parse_resumed(self, data): + self.dispatch('resumed') + + def parse_message_create(self, data): + channel, _ = self._get_guild_channel(data) + message = Message(channel=channel, data=data, state=self) + self.dispatch('message', message) + self._messages.append(message) + if channel and channel._type in (0, 5): + channel.last_message_id = message.id + + def parse_message_delete(self, data): + raw = RawMessageDeleteEvent(data) + found = self._get_message(raw.message_id) + raw.cached_message = found + self.dispatch('raw_message_delete', raw) + if found is not None: + self.dispatch('message_delete', found) + self._messages.remove(found) + + def parse_message_delete_bulk(self, data): + raw = RawBulkMessageDeleteEvent(data) + found_messages = [message for message in self._messages if message.id in raw.message_ids] + raw.cached_messages = found_messages + self.dispatch('raw_bulk_message_delete', raw) + if found_messages: + self.dispatch('bulk_message_delete', found_messages) + for msg in found_messages: + self._messages.remove(msg) + + def parse_message_update(self, data): + raw = RawMessageUpdateEvent(data) + self.dispatch('raw_message_edit', raw) + message = self._get_message(raw.message_id) + if message is not None: + older_message = copy.copy(message) + if 'call' in data: + # call state message edit + message._handle_call(data['call']) + elif 'content' not in data: + # embed only edit + message.embeds = [Embed.from_dict(d) for d in data['embeds']] + else: + message._update(channel=message.channel, data=data) + + self.dispatch('message_edit', older_message, message) + + def parse_message_reaction_add(self, data): + emoji_data = data['emoji'] + emoji_id = utils._get_as_snowflake(emoji_data, 'id') + emoji = PartialEmoji.with_state(self, animated=emoji_data['animated'], id=emoji_id, name=emoji_data['name']) + raw = RawReactionActionEvent(data, emoji) + self.dispatch('raw_reaction_add', raw) + + # rich interface here + message = self._get_message(raw.message_id) + if message is not None: + emoji = self._upgrade_partial_emoji(emoji) + reaction = message._add_reaction(data, emoji, raw.user_id) + user = self._get_reaction_user(message.channel, raw.user_id) + if user: + self.dispatch('reaction_add', reaction, user) + + def parse_message_reaction_remove_all(self, data): + raw = RawReactionClearEvent(data) + self.dispatch('raw_reaction_clear', raw) + + message = self._get_message(raw.message_id) + if message is not None: + old_reactions = message.reactions.copy() + message.reactions.clear() + self.dispatch('reaction_clear', message, old_reactions) + + def parse_message_reaction_remove(self, data): + emoji_data = data['emoji'] + emoji_id = utils._get_as_snowflake(emoji_data, 'id') + emoji = PartialEmoji.with_state(self, animated=emoji_data['animated'], id=emoji_id, name=emoji_data['name']) + raw = RawReactionActionEvent(data, emoji) + self.dispatch('raw_reaction_remove', raw) + + message = self._get_message(raw.message_id) + if message is not None: + emoji = self._upgrade_partial_emoji(emoji) + try: + reaction = message._remove_reaction(data, emoji, raw.user_id) + except (AttributeError, ValueError): # eventual consistency lol + pass + else: + user = self._get_reaction_user(message.channel, raw.user_id) + if user: + self.dispatch('reaction_remove', reaction, user) + + def parse_presence_update(self, data): + guild_id = utils._get_as_snowflake(data, 'guild_id') + guild = self._get_guild(guild_id) + if guild is None: + log.warning('PRESENCE_UPDATE referencing an unknown guild ID: %s. Discarding.', guild_id) + return + + user = data['user'] + member_id = int(user['id']) + member = guild.get_member(member_id) + if member is None: + if 'username' not in user: + # sometimes we receive 'incomplete' member data post-removal. + # skip these useless cases. + return + + member, old_member = Member._from_presence_update(guild=guild, data=data, state=self) + guild._add_member(member) + else: + old_member = Member._copy(member) + user_update = member._presence_update(data=data, user=user) + if user_update: + self.dispatch('user_update', user_update[0], user_update[1]) + + self.dispatch('member_update', old_member, member) + + def parse_user_update(self, data): + self.user = ClientUser(state=self, data=data) + + def parse_channel_delete(self, data): + guild = self._get_guild(utils._get_as_snowflake(data, 'guild_id')) + channel_id = int(data['id']) + if guild is not None: + channel = guild.get_channel(channel_id) + if channel is not None: + guild._remove_channel(channel) + self.dispatch('guild_channel_delete', channel) + else: + # the reason we're doing this is so it's also removed from the + # private channel by user cache as well + channel = self._get_private_channel(channel_id) + if channel is not None: + self._remove_private_channel(channel) + self.dispatch('private_channel_delete', channel) + + def parse_channel_update(self, data): + channel_type = try_enum(ChannelType, data.get('type')) + channel_id = int(data['id']) + if channel_type is ChannelType.group: + channel = self._get_private_channel(channel_id) + old_channel = copy.copy(channel) + channel._update_group(data) + self.dispatch('private_channel_update', old_channel, channel) + return + + guild_id = utils._get_as_snowflake(data, 'guild_id') + guild = self._get_guild(guild_id) + if guild is not None: + channel = guild.get_channel(channel_id) + if channel is not None: + old_channel = copy.copy(channel) + channel._update(guild, data) + self.dispatch('guild_channel_update', old_channel, channel) + else: + log.warning('CHANNEL_UPDATE referencing an unknown channel ID: %s. Discarding.', channel_id) + else: + log.warning('CHANNEL_UPDATE referencing an unknown guild ID: %s. Discarding.', guild_id) + + def parse_channel_create(self, data): + factory, ch_type = _channel_factory(data['type']) + if factory is None: + log.warning('CHANNEL_CREATE referencing an unknown channel type %s. Discarding.', data['type']) + return + + channel = None + + if ch_type in (ChannelType.group, ChannelType.private): + channel_id = int(data['id']) + if self._get_private_channel(channel_id) is None: + channel = factory(me=self.user, data=data, state=self) + self._add_private_channel(channel) + self.dispatch('private_channel_create', channel) + else: + guild_id = utils._get_as_snowflake(data, 'guild_id') + guild = self._get_guild(guild_id) + if guild is not None: + channel = factory(guild=guild, state=self, data=data) + guild._add_channel(channel) + self.dispatch('guild_channel_create', channel) + else: + log.warning('CHANNEL_CREATE referencing an unknown guild ID: %s. Discarding.', guild_id) + return + + def parse_channel_pins_update(self, data): + channel_id = int(data['channel_id']) + channel = self.get_channel(channel_id) + if channel is None: + log.warning('CHANNEL_PINS_UPDATE referencing an unknown channel ID: %s. Discarding.', channel_id) + return + + last_pin = utils.parse_time(data['last_pin_timestamp']) if data['last_pin_timestamp'] else None + + try: + # I have not imported discord.abc in this file + # the isinstance check is also 2x slower than just checking this attribute + # so we're just gonna check it since it's easier and faster and lazier + channel.guild + except AttributeError: + self.dispatch('private_channel_pins_update', channel, last_pin) + else: + self.dispatch('guild_channel_pins_update', channel, last_pin) + + def parse_channel_recipient_add(self, data): + channel = self._get_private_channel(int(data['channel_id'])) + user = self.store_user(data['user']) + channel.recipients.append(user) + self.dispatch('group_join', channel, user) + + def parse_channel_recipient_remove(self, data): + channel = self._get_private_channel(int(data['channel_id'])) + user = self.store_user(data['user']) + try: + channel.recipients.remove(user) + except ValueError: + pass + else: + self.dispatch('group_remove', channel, user) + + def parse_guild_member_add(self, data): + guild = self._get_guild(int(data['guild_id'])) + if guild is None: + log.warning('GUILD_MEMBER_ADD referencing an unknown guild ID: %s. Discarding.', data['guild_id']) + return + + member = Member(guild=guild, data=data, state=self) + guild._add_member(member) + guild._member_count += 1 + self.dispatch('member_join', member) + + def parse_guild_member_remove(self, data): + guild = self._get_guild(int(data['guild_id'])) + if guild is not None: + user_id = int(data['user']['id']) + member = guild.get_member(user_id) + if member is not None: + guild._remove_member(member) + guild._member_count -= 1 + self.dispatch('member_remove', member) + else: + log.warning('GUILD_MEMBER_REMOVE referencing an unknown guild ID: %s. Discarding.', data['guild_id']) + + def parse_guild_member_update(self, data): + guild = self._get_guild(int(data['guild_id'])) + user = data['user'] + user_id = int(user['id']) + if guild is None: + log.warning('GUILD_MEMBER_UPDATE referencing an unknown guild ID: %s. Discarding.', data['guild_id']) + return + + member = guild.get_member(user_id) + if member is not None: + old_member = copy.copy(member) + member._update(data) + self.dispatch('member_update', old_member, member) + else: + log.warning('GUILD_MEMBER_UPDATE referencing an unknown member ID: %s. Discarding.', user_id) + + def parse_guild_emojis_update(self, data): + guild = self._get_guild(int(data['guild_id'])) + if guild is None: + log.warning('GUILD_EMOJIS_UPDATE referencing an unknown guild ID: %s. Discarding.', data['guild_id']) + return + + before_emojis = guild.emojis + for emoji in before_emojis: + self._emojis.pop(emoji.id, None) + guild.emojis = tuple(map(lambda d: self.store_emoji(guild, d), data['emojis'])) + self.dispatch('guild_emojis_update', guild, before_emojis, guild.emojis) + + def _get_create_guild(self, data): + if data.get('unavailable') is False: + # GUILD_CREATE with unavailable in the response + # usually means that the guild has become available + # and is therefore in the cache + guild = self._get_guild(int(data['id'])) + if guild is not None: + guild.unavailable = False + guild._from_data(data) + return guild + + return self._add_guild_from_data(data) + + async def _chunk_and_dispatch(self, guild, unavailable): + chunks = list(self.chunks_needed(guild)) + await self.chunker(guild) + if chunks: + try: + await utils.sane_wait_for(chunks, timeout=len(chunks), loop=self.loop) + except asyncio.TimeoutError: + log.info('Somehow timed out waiting for chunks.') + + if unavailable is False: + self.dispatch('guild_available', guild) + else: + self.dispatch('guild_join', guild) + + def parse_guild_create(self, data): + unavailable = data.get('unavailable') + if unavailable is True: + # joined a guild with unavailable == True so.. + return + + guild = self._get_create_guild(data) + + # check if it requires chunking + if guild.large: + if unavailable is False: + # check if we're waiting for 'useful' READY + # and if we are, we don't want to dispatch any + # event such as guild_join or guild_available + # because we're still in the 'READY' phase. Or + # so we say. + try: + state = self._ready_state + state.launch.clear() + state.guilds.append((guild, unavailable)) + except AttributeError: + # the _ready_state attribute is only there during + # processing of useful READY. + pass + else: + return + + # since we're not waiting for 'useful' READY we'll just + # do the chunk request here if wanted + if self._fetch_offline: + asyncio.ensure_future(self._chunk_and_dispatch(guild, unavailable), loop=self.loop) + return + + # Dispatch available if newly available + if unavailable is False: + self.dispatch('guild_available', guild) + else: + self.dispatch('guild_join', guild) + + def parse_guild_sync(self, data): + guild = self._get_guild(int(data['id'])) + guild._sync(data) + + def parse_guild_update(self, data): + guild = self._get_guild(int(data['id'])) + if guild is not None: + old_guild = copy.copy(guild) + guild._from_data(data) + self.dispatch('guild_update', old_guild, guild) + else: + log.warning('GUILD_UPDATE referencing an unknown guild ID: %s. Discarding.', data['id']) + + def parse_guild_delete(self, data): + guild = self._get_guild(int(data['id'])) + if guild is None: + log.warning('GUILD_DELETE referencing an unknown guild ID: %s. Discarding.', data['id']) + return + + if data.get('unavailable', False) and guild is not None: + # GUILD_DELETE with unavailable being True means that the + # guild that was available is now currently unavailable + guild.unavailable = True + self.dispatch('guild_unavailable', guild) + return + + # do a cleanup of the messages cache + self._messages = deque((msg for msg in self._messages if msg.guild != guild), maxlen=self.max_messages) + + self._remove_guild(guild) + self.dispatch('guild_remove', guild) + + def parse_guild_ban_add(self, data): + # we make the assumption that GUILD_BAN_ADD is done + # before GUILD_MEMBER_REMOVE is called + # hence we don't remove it from cache or do anything + # strange with it, the main purpose of this event + # is mainly to dispatch to another event worth listening to for logging + guild = self._get_guild(int(data['guild_id'])) + if guild is not None: + try: + user = User(data=data['user'], state=self) + except KeyError: + pass + else: + member = guild.get_member(user.id) or user + self.dispatch('member_ban', guild, member) + + def parse_guild_ban_remove(self, data): + guild = self._get_guild(int(data['guild_id'])) + if guild is not None: + if 'user' in data: + user = self.store_user(data['user']) + self.dispatch('member_unban', guild, user) + + def parse_guild_role_create(self, data): + guild = self._get_guild(int(data['guild_id'])) + if guild is None: + log.warning('GUILD_ROLE_CREATE referencing an unknown guild ID: %s. Discarding.', data['guild_id']) + return + + role_data = data['role'] + role = Role(guild=guild, data=role_data, state=self) + guild._add_role(role) + self.dispatch('guild_role_create', role) + + def parse_guild_role_delete(self, data): + guild = self._get_guild(int(data['guild_id'])) + if guild is not None: + role_id = int(data['role_id']) + try: + role = guild._remove_role(role_id) + except KeyError: + return + else: + self.dispatch('guild_role_delete', role) + else: + log.warning('GUILD_ROLE_DELETE referencing an unknown guild ID: %s. Discarding.', data['guild_id']) + + def parse_guild_role_update(self, data): + guild = self._get_guild(int(data['guild_id'])) + if guild is not None: + role_data = data['role'] + role_id = int(role_data['id']) + role = guild.get_role(role_id) + if role is not None: + old_role = copy.copy(role) + role._update(role_data) + self.dispatch('guild_role_update', old_role, role) + else: + log.warning('GUILD_ROLE_UPDATE referencing an unknown guild ID: %s. Discarding.', data['guild_id']) + + def parse_guild_members_chunk(self, data): + guild_id = int(data['guild_id']) + guild = self._get_guild(guild_id) + members = data.get('members', []) + for member in members: + m = Member(guild=guild, data=member, state=self) + existing = guild.get_member(m.id) + if existing is None or existing.joined_at is None: + guild._add_member(m) + + log.info('Processed a chunk for %s members in guild ID %s.', len(members), guild_id) + self.process_listeners(ListenerType.chunk, guild, len(members)) + + def parse_guild_integrations_update(self, data): + guild = self._get_guild(int(data['guild_id'])) + if guild is not None: + self.dispatch('guild_integrations_update', guild) + else: + log.warning('GUILD_INTEGRATIONS_UPDATE referencing an unknown guild ID: %s. Discarding.', data['guild_id']) + + def parse_webhooks_update(self, data): + channel = self.get_channel(int(data['channel_id'])) + if channel is not None: + self.dispatch('webhooks_update', channel) + else: + log.warning('WEBHOOKS_UPDATE referencing an unknown channel ID: %s. Discarding.', data['channel_id']) + + def parse_voice_state_update(self, data): + guild = self._get_guild(utils._get_as_snowflake(data, 'guild_id')) + channel_id = utils._get_as_snowflake(data, 'channel_id') + if guild is not None: + if int(data['user_id']) == self.user.id: + voice = self._get_voice_client(guild.id) + if voice is not None: + ch = guild.get_channel(channel_id) + if ch is not None: + voice.channel = ch + + member, before, after = guild._update_voice_state(data, channel_id) + if member is not None: + self.dispatch('voice_state_update', member, before, after) + else: + log.warning('VOICE_STATE_UPDATE referencing an unknown member ID: %s. Discarding.', data['user_id']) + else: + # in here we're either at private or group calls + call = self._calls.get(channel_id) + if call is not None: + call._update_voice_state(data) + + def parse_voice_server_update(self, data): + try: + key_id = int(data['guild_id']) + except KeyError: + key_id = int(data['channel_id']) + + vc = self._get_voice_client(key_id) + if vc is not None: + asyncio.ensure_future(vc._create_socket(key_id, data)) + + def parse_typing_start(self, data): + channel, guild = self._get_guild_channel(data) + if channel is not None: + member = None + user_id = utils._get_as_snowflake(data, 'user_id') + if isinstance(channel, DMChannel): + member = channel.recipient + elif isinstance(channel, TextChannel) and guild is not None: + member = guild.get_member(user_id) + elif isinstance(channel, GroupChannel): + member = utils.find(lambda x: x.id == user_id, channel.recipients) + + if member is not None: + timestamp = datetime.datetime.utcfromtimestamp(data.get('timestamp')) + self.dispatch('typing', channel, member, timestamp) + + def parse_relationship_add(self, data): + key = int(data['id']) + old = self.user.get_relationship(key) + new = Relationship(state=self, data=data) + self.user._relationships[key] = new + if old is not None: + self.dispatch('relationship_update', old, new) + else: + self.dispatch('relationship_add', new) + + def parse_relationship_remove(self, data): + key = int(data['id']) + try: + old = self.user._relationships.pop(key) + except KeyError: + pass + else: + self.dispatch('relationship_remove', old) + + def _get_reaction_user(self, channel, user_id): + if isinstance(channel, TextChannel): + return channel.guild.get_member(user_id) + return self.get_user(user_id) + + def get_reaction_emoji(self, data): + emoji_id = utils._get_as_snowflake(data, 'id') + + if not emoji_id: + return data['name'] + + try: + return self._emojis[emoji_id] + except KeyError: + return PartialEmoji(animated=data['animated'], id=emoji_id, name=data['name']) + + def _upgrade_partial_emoji(self, emoji): + emoji_id = emoji.id + if not emoji_id: + return emoji.name + try: + return self._emojis[emoji_id] + except KeyError: + return emoji + + def get_channel(self, id): + if id is None: + return None + + pm = self._get_private_channel(id) + if pm is not None: + return pm + + for guild in self.guilds: + channel = guild.get_channel(id) + if channel is not None: + return channel + + def create_message(self, *, channel, data): + return Message(state=self, channel=channel, data=data) + + def receive_chunk(self, guild_id): + future = self.loop.create_future() + listener = Listener(ListenerType.chunk, future, lambda s: s.id == guild_id) + self._listeners.append(listener) + return future + +class AutoShardedConnectionState(ConnectionState): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self._ready_task = None + + async def request_offline_members(self, guilds, *, shard_id): + # get all the chunks + chunks = [] + for guild in guilds: + chunks.extend(self.chunks_needed(guild)) + + # we only want to request ~75 guilds per chunk request. + splits = [guilds[i:i + 75] for i in range(0, len(guilds), 75)] + for split in splits: + await self.chunker(split, shard_id=shard_id) + + # wait for the chunks + if chunks: + try: + await utils.sane_wait_for(chunks, timeout=len(chunks) * 30.0, loop=self.loop) + except asyncio.TimeoutError: + log.info('Somehow timed out waiting for chunks.') + + async def _delay_ready(self): + launch = self._ready_state.launch + while not launch.is_set(): + # this snippet of code is basically waiting 2 seconds + # until the last GUILD_CREATE was sent + launch.set() + await asyncio.sleep(2.0 * self.shard_count, loop=self.loop) + + if self._fetch_offline: + guilds = sorted(self._ready_state.guilds, key=lambda g: g[0].shard_id) + + for shard_id, sub_guilds_info in itertools.groupby(guilds, key=lambda g: g[0].shard_id): + sub_guilds, sub_available = zip(*sub_guilds_info) + await self.request_offline_members(sub_guilds, shard_id=shard_id) + + for guild, unavailable in zip(sub_guilds, sub_available): + if unavailable is False: + self.dispatch('guild_available', guild) + else: + self.dispatch('guild_join', guild) + self.dispatch('shard_ready', shard_id) + else: + for guild, unavailable in self._ready_state.guilds: + if unavailable is False: + self.dispatch('guild_available', guild) + else: + self.dispatch('guild_join', guild) + + # remove the state + try: + del self._ready_state + except AttributeError: + pass # already been deleted somehow + + # regular users cannot shard so we won't worry about it here. + + # clear the current task + self._ready_task = None + + # dispatch the event + self.call_handlers('ready') + self.dispatch('ready') + + def parse_ready(self, data): + if not hasattr(self, '_ready_state'): + self._ready_state = ReadyState(launch=asyncio.Event(), guilds=[]) + + self.user = ClientUser(state=self, data=data['user']) + + guilds = self._ready_state.guilds + for guild_data in data['guilds']: + guild = self._add_guild_from_data(guild_data) + if guild.large: + guilds.append((guild, guild.unavailable)) + + for pm in data.get('private_channels', []): + factory, _ = _channel_factory(pm['type']) + self._add_private_channel(factory(me=self.user, data=pm, state=self)) + + self.dispatch('connect') + if self._ready_task is None: + self._ready_task = asyncio.ensure_future(self._delay_ready(), loop=self.loop) diff --git a/venv/lib/python3.6/site-packages/discord/user.py b/venv/lib/python3.6/site-packages/discord/user.py new file mode 100644 index 0000000..cd67fed --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/user.py @@ -0,0 +1,770 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2017 Rapptz + +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 collections import namedtuple + +import discord.abc +from .utils import snowflake_time, _bytes_to_base64_data, parse_time +from .enums import DefaultAvatar, RelationshipType, UserFlags, HypeSquadHouse, PremiumType, try_enum +from .errors import ClientException +from .colour import Colour +from .asset import Asset + +class Profile(namedtuple('Profile', 'flags user mutual_guilds connected_accounts premium_since')): + __slots__ = () + + @property + def nitro(self): + return self.premium_since is not None + + premium = nitro + + def _has_flag(self, o): + v = o.value + return (self.flags & v) == v + + @property + def staff(self): + return self._has_flag(UserFlags.staff) + + @property + def partner(self): + return self._has_flag(UserFlags.partner) + + @property + def bug_hunter(self): + return self._has_flag(UserFlags.bug_hunter) + + @property + def early_supporter(self): + return self._has_flag(UserFlags.early_supporter) + + @property + def hypesquad(self): + return self._has_flag(UserFlags.hypesquad) + + @property + def hypesquad_houses(self): + flags = (UserFlags.hypesquad_bravery, UserFlags.hypesquad_brilliance, UserFlags.hypesquad_balance) + return [house for house, flag in zip(HypeSquadHouse, flags) if self._has_flag(flag)] + +_BaseUser = discord.abc.User + +class BaseUser(_BaseUser): + __slots__ = ('name', 'id', 'discriminator', 'avatar', 'bot', '_state') + + def __init__(self, *, state, data): + self._state = state + self.name = data['username'] + self.id = int(data['id']) + self.discriminator = data['discriminator'] + self.avatar = data['avatar'] + self.bot = data.get('bot', False) + + def __str__(self): + return '{0.name}#{0.discriminator}'.format(self) + + def __eq__(self, other): + return isinstance(other, _BaseUser) and other.id == self.id + + def __ne__(self, other): + return not self.__eq__(other) + + def __hash__(self): + return self.id >> 22 + + @classmethod + def _copy(cls, user): + self = cls.__new__(cls) # bypass __init__ + + self.name = user.name + self.id = user.id + self.discriminator = user.discriminator + self.avatar = user.avatar + self.bot = user.bot + self._state = user._state + + return self + + @property + def avatar_url(self): + """Returns a friendly URL version of the avatar the user has. + + If the user does not have a traditional avatar, their default + avatar URL is returned instead. + + This is equivalent to calling :meth:`avatar_url_as` with + the default parameters (i.e. webp/gif detection and a size of 1024). + """ + return self.avatar_url_as(format=None, size=1024) + + def is_avatar_animated(self): + """:class:`bool`: Returns True if the user has an animated avatar.""" + return bool(self.avatar and self.avatar.startswith('a_')) + + def avatar_url_as(self, *, format=None, static_format='webp', size=1024): + """Returns a friendly URL version of the avatar the user has. + + If the user does not have a traditional avatar, their default + avatar URL is returned instead. + + The format must be one of 'webp', 'jpeg', 'jpg', 'png' or 'gif', and + 'gif' is only valid for animated avatars. The size must be a power of 2 + between 16 and 1024. + + Parameters + ----------- + format: Optional[:class:`str`] + The format to attempt to convert the avatar to. + If the format is ``None``, then it is automatically + detected into either 'gif' or static_format depending on the + avatar being animated or not. + static_format: Optional[:class:`str`] + Format to attempt to convert only non-animated avatars to. + Defaults to 'webp' + size: :class:`int` + The size of the image to display. + + Raises + ------ + InvalidArgument + Bad image format passed to ``format`` or ``static_format``, or + invalid ``size``. + + Returns + -------- + :class:`Asset` + The resulting CDN asset. + """ + return Asset._from_avatar(self._state, self, format=format, static_format=static_format, size=size) + + @property + def default_avatar(self): + """Returns the default avatar for a given user. This is calculated by the user's discriminator""" + return DefaultAvatar(int(self.discriminator) % len(DefaultAvatar)) + + @property + def default_avatar_url(self): + """Returns a URL for a user's default avatar.""" + return Asset(self._state, 'https://cdn.discordapp.com/embed/avatars/{}.png'.format(self.default_avatar.value)) + + @property + def colour(self): + """A property that returns a :class:`Colour` denoting the rendered colour + for the user. This always returns :meth:`Colour.default`. + + There is an alias for this under ``color``. + """ + return Colour.default() + + color = colour + + @property + def mention(self): + """Returns a string that allows you to mention the given user.""" + return '<@{0.id}>'.format(self) + + def permissions_in(self, channel): + """An alias for :meth:`abc.GuildChannel.permissions_for`. + + Basically equivalent to: + + .. code-block:: python3 + + channel.permissions_for(self) + + Parameters + ----------- + channel: :class:`abc.GuildChannel` + The channel to check your permissions for. + """ + return channel.permissions_for(self) + + @property + def created_at(self): + """Returns the user's creation time in UTC. + + This is when the user's discord account was created.""" + return snowflake_time(self.id) + + @property + def display_name(self): + """Returns the user's display name. + + For regular users this is just their username, but + if they have a guild specific nickname then that + is returned instead. + """ + return self.name + + def mentioned_in(self, message): + """Checks if the user is mentioned in the specified message. + + Parameters + ----------- + message: :class:`Message` + The message to check if you're mentioned in. + """ + + if message.mention_everyone: + return True + + for user in message.mentions: + if user.id == self.id: + return True + + return False + +class ClientUser(BaseUser): + """Represents your Discord user. + + .. container:: operations + + .. describe:: x == y + + Checks if two users are equal. + + .. describe:: x != y + + Checks if two users are not equal. + + .. describe:: hash(x) + + Return the user's hash. + + .. describe:: str(x) + + Returns the user's name with discriminator. + + Attributes + ----------- + name: :class:`str` + The user's username. + id: :class:`int` + The user's unique ID. + discriminator: :class:`str` + The user's discriminator. This is given when the username has conflicts. + avatar: Optional[:class:`str`] + The avatar hash the user has. Could be None. + bot: :class:`bool` + Specifies if the user is a bot account. + verified: :class:`bool` + Specifies if the user is a verified account. + email: Optional[:class:`str`] + The email the user used when registering. + mfa_enabled: :class:`bool` + Specifies if the user has MFA turned on and working. + premium: :class:`bool` + Specifies if the user is a premium user (e.g. has Discord Nitro). + premium_type: :class:`PremiumType` + Specifies the type of premium a user has (e.g. Nitro or Nitro Classic). Could be None if the user is not premium. + """ + __slots__ = ('email', 'verified', 'mfa_enabled', 'premium', 'premium_type', '_relationships') + + def __init__(self, *, state, data): + super().__init__(state=state, data=data) + self.verified = data.get('verified', False) + self.email = data.get('email') + self.mfa_enabled = data.get('mfa_enabled', False) + self.premium = data.get('premium', False) + self.premium_type = try_enum(PremiumType, data.get('premium_type', None)) + self._relationships = {} + + def __repr__(self): + return '<ClientUser id={0.id} name={0.name!r} discriminator={0.discriminator!r}' \ + ' bot={0.bot} verified={0.verified} mfa_enabled={0.mfa_enabled}>'.format(self) + + + def get_relationship(self, user_id): + """Retrieves the :class:`Relationship` if applicable. + + Parameters + ----------- + user_id: :class:`int` + The user ID to check if we have a relationship with them. + + Returns + -------- + Optional[:class:`Relationship`] + The relationship if available or ``None`` + """ + return self._relationships.get(user_id) + + @property + def relationships(self): + """Returns a :class:`list` of :class:`Relationship` that the user has.""" + return list(self._relationships.values()) + + @property + def friends(self): + r"""Returns a :class:`list` of :class:`User`\s that the user is friends with.""" + return [r.user for r in self._relationships.values() if r.type is RelationshipType.friend] + + @property + def blocked(self): + r"""Returns a :class:`list` of :class:`User`\s that the user has blocked.""" + return [r.user for r in self._relationships.values() if r.type is RelationshipType.blocked] + + async def edit(self, **fields): + """|coro| + + Edits the current profile of the client. + + If a bot account is used then a password field is optional, + otherwise it is required. + + Note + ----- + To upload an avatar, a :term:`py:bytes-like object` must be passed in that + represents the image being uploaded. If this is done through a file + then the file must be opened via ``open('some_filename', 'rb')`` and + the :term:`py:bytes-like object` is given through the use of ``fp.read()``. + + The only image formats supported for uploading is JPEG and PNG. + + Parameters + ----------- + password: :class:`str` + The current password for the client's account. + Only applicable to user accounts. + new_password: :class:`str` + The new password you wish to change to. + Only applicable to user accounts. + email: :class:`str` + The new email you wish to change to. + Only applicable to user accounts. + house: Optional[:class:`HypeSquadHouse`] + The hypesquad house you wish to change to. + Could be ``None`` to leave the current house. + Only applicable to user accounts. + username: :class:`str` + The new username you wish to change to. + avatar: :class:`bytes` + A :term:`py:bytes-like object` representing the image to upload. + Could be ``None`` to denote no avatar. + + Raises + ------ + HTTPException + Editing your profile failed. + InvalidArgument + Wrong image format passed for ``avatar``. + ClientException + Password is required for non-bot accounts. + House field was not a HypeSquadHouse. + """ + + try: + avatar_bytes = fields['avatar'] + except KeyError: + avatar = self.avatar + else: + if avatar_bytes is not None: + avatar = _bytes_to_base64_data(avatar_bytes) + else: + avatar = None + + not_bot_account = not self.bot + password = fields.get('password') + if not_bot_account and password is None: + raise ClientException('Password is required for non-bot accounts.') + + args = { + 'password': password, + 'username': fields.get('username', self.name), + 'avatar': avatar + } + + if not_bot_account: + args['email'] = fields.get('email', self.email) + + if 'new_password' in fields: + args['new_password'] = fields['new_password'] + + http = self._state.http + + if 'house' in fields: + house = fields['house'] + if house is None: + await http.leave_hypesquad_house() + elif not isinstance(house, HypeSquadHouse): + raise ClientException('`house` parameter was not a HypeSquadHouse') + else: + value = house.value + + await http.change_hypesquad_house(value) + + data = await http.edit_profile(**args) + if not_bot_account: + self.email = data['email'] + try: + http._token(data['token'], bot=False) + except KeyError: + pass + + # manually update data by calling __init__ explicitly. + self.__init__(state=self._state, data=data) + + async def create_group(self, *recipients): + r"""|coro| + + Creates a group direct message with the recipients + provided. These recipients must be have a relationship + of type :attr:`RelationshipType.friend`. + + Bot accounts cannot create a group. + + Parameters + ----------- + \*recipients: :class:`User` + An argument :class:`list` of :class:`User` to have in + your group. + + Raises + ------- + HTTPException + Failed to create the group direct message. + ClientException + Attempted to create a group with only one recipient. + This does not include yourself. + + Returns + ------- + :class:`GroupChannel` + The new group channel. + """ + + from .channel import GroupChannel + + if len(recipients) < 2: + raise ClientException('You must have two or more recipients to create a group.') + + users = [str(u.id) for u in recipients] + data = await self._state.http.start_group(self.id, users) + return GroupChannel(me=self, data=data, state=self._state) + + async def edit_settings(self, **kwargs): + """|coro| + + Edits the client user's settings. Only applicable to user accounts. + + Parameters + ------- + afk_timeout: :class:`int` + How long (in seconds) the user needs to be AFK until Discord + sends push notifications to your mobile device. + animate_emojis: :class:`bool` + Whether or not to animate emojis in the chat. + convert_emoticons: :class:`bool` + Whether or not to automatically convert emoticons into emojis. + e.g. :-) -> 😃 + default_guilds_restricted: :class:`bool` + Whether or not to automatically disable DMs between you and + members of new guilds you join. + detect_platform_accounts: :class:`bool` + Whether or not to automatically detect accounts from services + like Steam and Blizzard when you open the Discord client. + developer_mode: :class:`bool` + Whether or not to enable developer mode. + disable_games_tab: :class:`bool` + Whether or not to disable the showing of the Games tab. + enable_tts_command: :class:`bool` + Whether or not to allow tts messages to be played/sent. + explicit_content_filter: :class:`UserContentFilter` + The filter for explicit content in all messages. + friend_source_flags: :class:`FriendFlags` + Who can add you as a friend. + gif_auto_play: :class:`bool` + Whether or not to automatically play gifs that are in the chat. + guild_positions: List[:class:`abc.Snowflake`] + A list of guilds in order of the guild/guild icons that are on + the left hand side of the UI. + inline_attachment_media: :class:`bool` + Whether or not to display attachments when they are uploaded in chat. + inline_embed_media: :class:`bool` + Whether or not to display videos and images from links posted in chat. + locale: :class:`str` + The RFC 3066 language identifier of the locale to use for the language + of the Discord client. + message_display_compact: :class:`bool` + Whether or not to use the compact Discord display mode. + render_embeds: :class:`bool` + Whether or not to render embeds that are sent in the chat. + render_reactions: :class:`bool` + Whether or not to render reactions that are added to messages. + restricted_guilds: List[:class:`abc.Snowflake`] + A list of guilds that you will not receive DMs from. + show_current_game: :class:`bool` + Whether or not to display the game that you are currently playing. + status: :class:`Status` + The clients status that is shown to others. + theme: :class:`Theme` + The theme of the Discord UI. + timezone_offset: :class:`int` + The timezone offset to use. + + Raises + ------- + HTTPException + Editing the settings failed. + Forbidden + The client is a bot user and not a user account. + + Returns + ------- + :class:`dict` + The client user's updated settings. + """ + payload = {} + + content_filter = kwargs.pop('explicit_content_filter', None) + if content_filter: + payload.update({'explicit_content_filter': content_filter.value}) + + friend_flags = kwargs.pop('friend_source_flags', None) + if friend_flags: + dicts = [{}, {'mutual_guilds': True}, {'mutual_friends': True}, + {'mutual_guilds': True, 'mutual_friends': True}, {'all': True}] + payload.update({'friend_source_flags': dicts[friend_flags.value]}) + + guild_positions = kwargs.pop('guild_positions', None) + if guild_positions: + guild_positions = [str(x.id) for x in guild_positions] + payload.update({'guild_positions': guild_positions}) + + restricted_guilds = kwargs.pop('restricted_guilds', None) + if restricted_guilds: + restricted_guilds = [str(x.id) for x in restricted_guilds] + payload.update({'restricted_guilds': restricted_guilds}) + + status = kwargs.pop('status', None) + if status: + payload.update({'status': status.value}) + + theme = kwargs.pop('theme', None) + if theme: + payload.update({'theme': theme.value}) + + payload.update(kwargs) + + data = await self._state.http.edit_settings(**payload) + return data + +class User(BaseUser, discord.abc.Messageable): + """Represents a Discord user. + + .. container:: operations + + .. describe:: x == y + + Checks if two users are equal. + + .. describe:: x != y + + Checks if two users are not equal. + + .. describe:: hash(x) + + Return the user's hash. + + .. describe:: str(x) + + Returns the user's name with discriminator. + + Attributes + ----------- + name: :class:`str` + The user's username. + id: :class:`int` + The user's unique ID. + discriminator: :class:`str` + The user's discriminator. This is given when the username has conflicts. + avatar: Optional[:class:`str`] + The avatar hash the user has. Could be None. + bot: :class:`bool` + Specifies if the user is a bot account. + """ + + __slots__ = ('__weakref__',) + + def __repr__(self): + return '<User id={0.id} name={0.name!r} discriminator={0.discriminator!r} bot={0.bot}>'.format(self) + + async def _get_channel(self): + ch = await self.create_dm() + return ch + + @property + def dm_channel(self): + """Returns the :class:`DMChannel` associated with this user if it exists. + + If this returns ``None``, you can create a DM channel by calling the + :meth:`create_dm` coroutine function. + """ + return self._state._get_private_channel_by_user(self.id) + + async def create_dm(self): + """Creates a :class:`DMChannel` with this user. + + This should be rarely called, as this is done transparently for most + people. + """ + found = self.dm_channel + if found is not None: + return found + + state = self._state + data = await state.http.start_private_message(self.id) + return state.add_dm_channel(data) + + @property + def relationship(self): + """Returns the :class:`Relationship` with this user if applicable, ``None`` otherwise.""" + return self._state.user.get_relationship(self.id) + + async def mutual_friends(self): + """|coro| + + Gets all mutual friends of this user. This can only be used by non-bot accounts + + Raises + ------- + Forbidden + Not allowed to get mutual friends of this user. + HTTPException + Getting mutual friends failed. + + Returns + ------- + List[:class:`User`] + The users that are mutual friends. + """ + state = self._state + mutuals = await state.http.get_mutual_friends(self.id) + return [User(state=state, data=friend) for friend in mutuals] + + def is_friend(self): + """:class:`bool`: Checks if the user is your friend.""" + r = self.relationship + if r is None: + return False + return r.type is RelationshipType.friend + + def is_blocked(self): + """:class:`bool`: Checks if the user is blocked.""" + r = self.relationship + if r is None: + return False + return r.type is RelationshipType.blocked + + async def block(self): + """|coro| + + Blocks the user. + + Raises + ------- + Forbidden + Not allowed to block this user. + HTTPException + Blocking the user failed. + """ + + await self._state.http.add_relationship(self.id, type=RelationshipType.blocked.value) + + async def unblock(self): + """|coro| + + Unblocks the user. + + Raises + ------- + Forbidden + Not allowed to unblock this user. + HTTPException + Unblocking the user failed. + """ + await self._state.http.remove_relationship(self.id) + + async def remove_friend(self): + """|coro| + + Removes the user as a friend. + + Raises + ------- + Forbidden + Not allowed to remove this user as a friend. + HTTPException + Removing the user as a friend failed. + """ + await self._state.http.remove_relationship(self.id) + + async def send_friend_request(self): + """|coro| + + Sends the user a friend request. + + Raises + ------- + Forbidden + Not allowed to send a friend request to the user. + HTTPException + Sending the friend request failed. + """ + await self._state.http.send_friend_request(username=self.name, discriminator=self.discriminator) + + async def profile(self): + """|coro| + + Gets the user's profile. This can only be used by non-bot accounts. + + Raises + ------- + Forbidden + Not allowed to fetch profiles. + HTTPException + Fetching the profile failed. + + Returns + -------- + :class:`Profile` + The profile of the user. + """ + + state = self._state + data = await state.http.get_user_profile(self.id) + + def transform(d): + return state._get_guild(int(d['id'])) + + since = data.get('premium_since') + mutual_guilds = list(filter(None, map(transform, data.get('mutual_guilds', [])))) + return Profile(flags=data['user'].get('flags', 0), + premium_since=parse_time(since), + mutual_guilds=mutual_guilds, + user=self, + connected_accounts=data['connected_accounts']) diff --git a/venv/lib/python3.6/site-packages/discord/utils.py b/venv/lib/python3.6/site-packages/discord/utils.py new file mode 100644 index 0000000..4dfc7a0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/utils.py @@ -0,0 +1,433 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import array +import asyncio +import unicodedata +from base64 import b64encode +from bisect import bisect_left +import datetime +from email.utils import parsedate_to_datetime +import functools +from inspect import isawaitable as _isawaitable +import json +import re +import warnings + +from .errors import InvalidArgument +from .object import Object + +DISCORD_EPOCH = 1420070400000 + +class cached_property: + def __init__(self, function): + self.function = function + self.__doc__ = getattr(function, '__doc__') + + def __get__(self, instance, owner): + if instance is None: + return self + + value = self.function(instance) + setattr(instance, self.function.__name__, value) + + return value + +class CachedSlotProperty: + def __init__(self, name, function): + self.name = name + self.function = function + self.__doc__ = getattr(function, '__doc__') + + def __get__(self, instance, owner): + if instance is None: + return self + + try: + return getattr(instance, self.name) + except AttributeError: + value = self.function(instance) + setattr(instance, self.name, value) + return value + +def cached_slot_property(name): + def decorator(func): + return CachedSlotProperty(name, func) + return decorator + +def parse_time(timestamp): + if timestamp: + return datetime.datetime(*map(int, re.split(r'[^\d]', timestamp.replace('+00:00', '')))) + return None + +def deprecated(instead=None): + def actual_decorator(func): + @functools.wraps(func) + def decorated(*args, **kwargs): + warnings.simplefilter('always', DeprecationWarning) # turn off filter + if instead: + fmt = "{0.__name__} is deprecated, use {1} instead." + else: + fmt = '{0.__name__} is deprecated.' + + warnings.warn(fmt.format(func, instead), stacklevel=3, category=DeprecationWarning) + warnings.simplefilter('default', DeprecationWarning) # reset filter + return func(*args, **kwargs) + return decorated + return actual_decorator + +def oauth_url(client_id, permissions=None, guild=None, redirect_uri=None): + """A helper function that returns the OAuth2 URL for inviting the bot + into guilds. + + Parameters + ----------- + client_id: :class:`str` + The client ID for your bot. + permissions: :class:`Permissions` + The permissions you're requesting. If not given then you won't be requesting any + permissions. + guild: :class:`Guild` + The guild to pre-select in the authorization screen, if available. + redirect_uri: :class:`str` + An optional valid redirect URI. + """ + url = 'https://discordapp.com/oauth2/authorize?client_id={}&scope=bot'.format(client_id) + if permissions is not None: + url = url + '&permissions=' + str(permissions.value) + if guild is not None: + url = url + "&guild_id=" + str(guild.id) + if redirect_uri is not None: + from urllib.parse import urlencode + url = url + "&response_type=code&" + urlencode({'redirect_uri': redirect_uri}) + return url + + +def snowflake_time(id): + """Returns the creation date in UTC of a discord id.""" + return datetime.datetime.utcfromtimestamp(((id >> 22) + DISCORD_EPOCH) / 1000) + +def time_snowflake(datetime_obj, high=False): + """Returns a numeric snowflake pretending to be created at the given date. + + When using as the lower end of a range, use time_snowflake(high=False) - 1 to be inclusive, high=True to be exclusive + When using as the higher end of a range, use time_snowflake(high=True) + 1 to be inclusive, high=False to be exclusive + + Parameters + ----------- + datetime_obj + A timezone-naive datetime object representing UTC time. + high: :class:`bool` + Whether or not to set the lower 22 bit to high or low. + """ + unix_seconds = (datetime_obj - type(datetime_obj)(1970, 1, 1)).total_seconds() + discord_millis = int(unix_seconds * 1000 - DISCORD_EPOCH) + + return (discord_millis << 22) + (2**22-1 if high else 0) + +def find(predicate, seq): + """A helper to return the first element found in the sequence + that meets the predicate. For example: :: + + member = find(lambda m: m.name == 'Mighty', channel.guild.members) + + would find the first :class:`Member` whose name is 'Mighty' and return it. + If an entry is not found, then ``None`` is returned. + + This is different from `filter`_ due to the fact it stops the moment it finds + a valid entry. + + + .. _filter: https://docs.python.org/3.6/library/functions.html#filter + + Parameters + ----------- + predicate + A function that returns a boolean-like result. + seq: iterable + The iterable to search through. + """ + + for element in seq: + if predicate(element): + return element + return None + +def get(iterable, **attrs): + r"""A helper that returns the first element in the iterable that meets + all the traits passed in ``attrs``. This is an alternative for + :func:`discord.utils.find`. + + When multiple attributes are specified, they are checked using + logical AND, not logical OR. Meaning they have to meet every + attribute passed in and not one of them. + + To have a nested attribute search (i.e. search by ``x.y``) then + pass in ``x__y`` as the keyword argument. + + If nothing is found that matches the attributes passed, then + ``None`` is returned. + + Examples + --------- + + Basic usage: + + .. code-block:: python3 + + member = discord.utils.get(message.guild.members, name='Foo') + + Multiple attribute matching: + + .. code-block:: python3 + + channel = discord.utils.get(guild.voice_channels, name='Foo', bitrate=64000) + + Nested attribute matching: + + .. code-block:: python3 + + channel = discord.utils.get(client.get_all_channels(), guild__name='Cool', name='general') + + Parameters + ----------- + iterable + An iterable to search through. + \*\*attrs + Keyword arguments that denote attributes to search with. + """ + + def predicate(elem): + for attr, val in attrs.items(): + nested = attr.split('__') + obj = elem + for attribute in nested: + obj = getattr(obj, attribute) + + if obj != val: + return False + return True + + return find(predicate, iterable) + + +def _unique(iterable): + seen = set() + adder = seen.add + return [x for x in iterable if not (x in seen or adder(x))] + +def _get_as_snowflake(data, key): + try: + value = data[key] + except KeyError: + return None + else: + return value and int(value) + +def _get_mime_type_for_image(data): + if data.startswith(b'\x89\x50\x4E\x47\x0D\x0A\x1A\x0A'): + return 'image/png' + elif data[6:10] in (b'JFIF', b'Exif'): + return 'image/jpeg' + elif data.startswith((b'\x47\x49\x46\x38\x37\x61', b'\x47\x49\x46\x38\x39\x61')): + return 'image/gif' + elif data.startswith(b'RIFF') and data[8:12] == b'WEBP': + return 'image/webp' + else: + raise InvalidArgument('Unsupported image type given') + +def _bytes_to_base64_data(data): + fmt = 'data:{mime};base64,{data}' + mime = _get_mime_type_for_image(data) + b64 = b64encode(data).decode('ascii') + return fmt.format(mime=mime, data=b64) + +def to_json(obj): + return json.dumps(obj, separators=(',', ':'), ensure_ascii=True) + +def _parse_ratelimit_header(request): + now = parsedate_to_datetime(request.headers['Date']) + reset = datetime.datetime.fromtimestamp(int(request.headers['X-Ratelimit-Reset']), datetime.timezone.utc) + return (reset - now).total_seconds() + +async def maybe_coroutine(f, *args, **kwargs): + value = f(*args, **kwargs) + if _isawaitable(value): + return await value + else: + return value + +async def async_all(gen, *, check=_isawaitable): + for elem in gen: + if check(elem): + elem = await elem + if not elem: + return False + return True + +async def sane_wait_for(futures, *, timeout, loop): + _, pending = await asyncio.wait(futures, timeout=timeout, loop=loop) + + if len(pending) != 0: + raise asyncio.TimeoutError() + +def valid_icon_size(size): + """Icons must be power of 2 within [16, 4096].""" + return not size & (size - 1) and size in range(16, 4097) + +class SnowflakeList(array.array): + """Internal data storage class to efficiently store a list of snowflakes. + + This should have the following characteristics: + + - Low memory usage + - O(n) iteration (obviously) + - O(n log n) initial creation if data is unsorted + - O(log n) search and indexing + - O(n) insertion + """ + + __slots__ = () + + def __new__(cls, data, *, is_sorted=False): + return array.array.__new__(cls, 'Q', data if is_sorted else sorted(data)) + + def add(self, element): + i = bisect_left(self, element) + self.insert(i, element) + + def get(self, element): + i = bisect_left(self, element) + return self[i] if i != len(self) and self[i] == element else None + + def has(self, element): + i = bisect_left(self, element) + return i != len(self) and self[i] == element + +_IS_ASCII = re.compile(r'^[\x00-\x7f]+$') + +def _string_width(string, *, _IS_ASCII=_IS_ASCII): + """Returns string's width.""" + match = _IS_ASCII.match(string) + if match: + return match.endpos + + UNICODE_WIDE_CHAR_TYPE = 'WFA' + width = 0 + func = unicodedata.east_asian_width + for char in string: + width += 2 if func(char) in UNICODE_WIDE_CHAR_TYPE else 1 + return width + +def resolve_invite(invite): + """ + Resolves an invite from a :class:`Invite`, URL or ID + + Parameters + ----------- + invite: Union[:class:`Invite`, :class:`Object`, :class:`str`] + The invite. + + Returns + -------- + :class:`str` + The invite code. + """ + from .invite import Invite # circular import + if isinstance(invite, Invite) or isinstance(invite, Object): + return invite.id + else: + rx = r'(?:https?\:\/\/)?discord(?:\.gg|app\.com\/invite)\/(.+)' + m = re.match(rx, invite) + if m: + return m.group(1) + return invite + +_MARKDOWN_ESCAPE_SUBREGEX = '|'.join(r'\{0}(?=([\s\S]*((?<!\{0})\{0})))'.format(c) + for c in ('*', '`', '_', '~', '|')) + +_MARKDOWN_ESCAPE_REGEX = re.compile(r'(?P<markdown>%s)' % _MARKDOWN_ESCAPE_SUBREGEX) + +def escape_markdown(text, *, as_needed=False, ignore_links=True): + r"""A helper function that escapes Discord's markdown. + + Parameters + ----------- + text: :class:`str` + The text to escape markdown from. + as_needed: :class:`bool` + Whether to escape the markdown characters as needed. This + means that it does not escape extraneous characters if it's + not necessary, e.g. ``**hello**`` is escaped into ``\*\*hello**`` + instead of ``\*\*hello\*\*``. Note however that this can open + you up to some clever syntax abuse. Defaults to ``False``. + ignore_links: :class:`bool` + Whether to leave links alone when escaping markdown. For example, + if a URL in the text contains characters such as ``_`` then it will + be left alone. This option is not supported with ``as_needed``. + Defaults to ``True``. + + Returns + -------- + :class:`str` + The text with the markdown special characters escaped with a slash. + """ + + if not as_needed: + url_regex = r'(?P<url>(?:https?|steam)://(?:-\.)?(?:[^\s/?\.#-]+\.?)+(?:/[^\s]*)?)' + def replacement(match): + groupdict = match.groupdict() + is_url = groupdict.get('url') + if is_url: + return is_url + return '\\' + groupdict['markdown'] + + regex = r'(?P<markdown>[_\\~|\*`])' + if ignore_links: + regex = '(?:%s|%s)' % (url_regex, regex) + return re.sub(regex, replacement, text) + else: + text = re.sub(r'\\', r'\\\\', text) + return _MARKDOWN_ESCAPE_REGEX.sub(r'\\\1', text) + +def escape_mentions(text): + """A helper function that escapes everyone, here, role, and user mentions. + + .. note:: + + This does not include channel mentions. + + Parameters + ----------- + text: :class:`str` + The text to escape mentions from. + + Returns + -------- + :class:`str` + The text with the mentions removed. + """ + return re.sub(r'@(everyone|here|[!&]?[0-9]{17,21})', '@\u200b\\1', text) diff --git a/venv/lib/python3.6/site-packages/discord/voice_client.py b/venv/lib/python3.6/site-packages/discord/voice_client.py new file mode 100644 index 0000000..be7a4d6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/voice_client.py @@ -0,0 +1,446 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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. +""" + +"""Some documentation to refer to: + +- Our main web socket (mWS) sends opcode 4 with a guild ID and channel ID. +- The mWS receives VOICE_STATE_UPDATE and VOICE_SERVER_UPDATE. +- We pull the session_id from VOICE_STATE_UPDATE. +- We pull the token, endpoint and server_id from VOICE_SERVER_UPDATE. +- Then we initiate the voice web socket (vWS) pointing to the endpoint. +- We send opcode 0 with the user_id, server_id, session_id and token using the vWS. +- The vWS sends back opcode 2 with an ssrc, port, modes(array) and hearbeat_interval. +- We send a UDP discovery packet to endpoint:port and receive our IP and our port in LE. +- Then we send our IP and port via vWS with opcode 1. +- When that's all done, we receive opcode 4 from the vWS. +- Finally we can transmit data to endpoint:port. +""" + +import asyncio +import socket +import logging +import struct +import threading + +from . import opus +from .backoff import ExponentialBackoff +from .gateway import * +from .errors import ClientException, ConnectionClosed +from .player import AudioPlayer, AudioSource + +try: + import nacl.secret + has_nacl = True +except ImportError: + has_nacl = False + + +log = logging.getLogger(__name__) + +class VoiceClient: + """Represents a Discord voice connection. + + You do not create these, you typically get them from + e.g. :meth:`VoiceChannel.connect`. + + Warning + -------- + In order to play audio, you must have loaded the opus library + through :func:`opus.load_opus`. + + If you don't do this then the library will not be able to + transmit audio. + + Attributes + ----------- + session_id: :class:`str` + The voice connection session ID. + token: :class:`str` + The voice connection token. + endpoint: :class:`str` + The endpoint we are connecting to. + channel: :class:`abc.Connectable` + The voice channel connected to. + loop + The event loop that the voice client is running on. + """ + def __init__(self, state, timeout, channel): + if not has_nacl: + raise RuntimeError("PyNaCl library needed in order to use voice") + + self.channel = channel + self.main_ws = None + self.timeout = timeout + self.ws = None + self.socket = None + self.loop = state.loop + self._state = state + # this will be used in the AudioPlayer thread + self._connected = threading.Event() + + self._handshaking = False + self._handshake_check = asyncio.Lock(loop=self.loop) + self._handshake_complete = asyncio.Event(loop=self.loop) + + self.mode = None + self._connections = 0 + self.sequence = 0 + self.timestamp = 0 + self._runner = None + self._player = None + self.encoder = opus.Encoder() + + warn_nacl = not has_nacl + supported_modes = ( + 'xsalsa20_poly1305_suffix', + 'xsalsa20_poly1305', + ) + + @property + def guild(self): + """Optional[:class:`Guild`]: The guild we're connected to, if applicable.""" + return getattr(self.channel, 'guild', None) + + @property + def user(self): + """:class:`ClientUser`: The user connected to voice (i.e. ourselves).""" + return self._state.user + + def checked_add(self, attr, value, limit): + val = getattr(self, attr) + if val + value > limit: + setattr(self, attr, 0) + else: + setattr(self, attr, val + value) + + # connection related + + async def start_handshake(self): + log.info('Starting voice handshake...') + + guild_id, channel_id = self.channel._get_voice_state_pair() + state = self._state + self.main_ws = ws = state._get_websocket(guild_id) + self._connections += 1 + + # request joining + await ws.voice_state(guild_id, channel_id) + + try: + await asyncio.wait_for(self._handshake_complete.wait(), timeout=self.timeout, loop=self.loop) + except asyncio.TimeoutError: + await self.terminate_handshake(remove=True) + raise + + log.info('Voice handshake complete. Endpoint found %s (IP: %s)', self.endpoint, self.endpoint_ip) + + async def terminate_handshake(self, *, remove=False): + guild_id, channel_id = self.channel._get_voice_state_pair() + self._handshake_complete.clear() + await self.main_ws.voice_state(guild_id, None, self_mute=True) + + log.info('The voice handshake is being terminated for Channel ID %s (Guild ID %s)', channel_id, guild_id) + if remove: + log.info('The voice client has been removed for Channel ID %s (Guild ID %s)', channel_id, guild_id) + key_id, _ = self.channel._get_voice_client_key() + self._state._remove_voice_client(key_id) + + async def _create_socket(self, server_id, data): + async with self._handshake_check: + if self._handshaking: + log.info("Ignoring voice server update while handshake is in progress") + return + self._handshaking = True + + self._connected.clear() + self.session_id = self.main_ws.session_id + self.server_id = server_id + self.token = data.get('token') + endpoint = data.get('endpoint') + + if endpoint is None or self.token is None: + log.warning('Awaiting endpoint... This requires waiting. ' \ + 'If timeout occurred considering raising the timeout and reconnecting.') + return + + self.endpoint = endpoint.replace(':80', '') + self.endpoint_ip = socket.gethostbyname(self.endpoint) + + if self.socket: + try: + self.socket.close() + except Exception: + pass + + self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + self.socket.setblocking(False) + + if self._handshake_complete.is_set(): + # terminate the websocket and handle the reconnect loop if necessary. + self._handshake_complete.clear() + await self.ws.close(4000) + return + + self._handshake_complete.set() + + async def connect(self, *, reconnect=True, _tries=0, do_handshake=True): + log.info('Connecting to voice...') + try: + del self.secret_key + except AttributeError: + pass + + if do_handshake: + await self.start_handshake() + + try: + self.ws = await DiscordVoiceWebSocket.from_client(self) + self._handshaking = False + self._connected.clear() + while not hasattr(self, 'secret_key'): + await self.ws.poll_event() + self._connected.set() + except (ConnectionClosed, asyncio.TimeoutError): + if reconnect and _tries < 5: + log.exception('Failed to connect to voice... Retrying...') + await asyncio.sleep(1 + _tries * 2.0, loop=self.loop) + await self.terminate_handshake() + await self.connect(reconnect=reconnect, _tries=_tries + 1) + else: + raise + + if self._runner is None: + self._runner = self.loop.create_task(self.poll_voice_ws(reconnect)) + + async def poll_voice_ws(self, reconnect): + backoff = ExponentialBackoff() + while True: + try: + await self.ws.poll_event() + except (ConnectionClosed, asyncio.TimeoutError) as exc: + if isinstance(exc, ConnectionClosed): + # The following close codes are undocumented so I will document them here. + # 1000 - normal closure (obviously) + # 4014 - voice channel has been deleted. + # 4015 - voice server has crashed + if exc.code in (1000, 4014, 4015): + await self.disconnect() + break + + if not reconnect: + await self.disconnect() + raise + + retry = backoff.delay() + log.exception('Disconnected from voice... Reconnecting in %.2fs.', retry) + self._connected.clear() + await asyncio.sleep(retry, loop=self.loop) + await self.terminate_handshake() + try: + await self.connect(reconnect=True) + except asyncio.TimeoutError: + # at this point we've retried 5 times... let's continue the loop. + log.warning('Could not connect to voice... Retrying...') + continue + + async def disconnect(self, *, force=False): + """|coro| + + Disconnects this voice client from voice. + """ + if not force and not self.is_connected(): + return + + self.stop() + self._connected.clear() + + try: + if self.ws: + await self.ws.close() + + await self.terminate_handshake(remove=True) + finally: + if self.socket: + self.socket.close() + + async def move_to(self, channel): + """|coro| + + Moves you to a different voice channel. + + Parameters + ----------- + channel: :class:`abc.Snowflake` + The channel to move to. Must be a voice channel. + """ + guild_id, _ = self.channel._get_voice_state_pair() + await self.main_ws.voice_state(guild_id, channel.id) + + def is_connected(self): + """:class:`bool`: Indicates if the voice client is connected to voice.""" + return self._connected.is_set() + + # audio related + + def _get_voice_packet(self, data): + header = bytearray(12) + + # Formulate rtp header + header[0] = 0x80 + header[1] = 0x78 + struct.pack_into('>H', header, 2, self.sequence) + struct.pack_into('>I', header, 4, self.timestamp) + struct.pack_into('>I', header, 8, self.ssrc) + + encrypt_packet = getattr(self, '_encrypt_' + self.mode) + return encrypt_packet(header, data) + + def _encrypt_xsalsa20_poly1305(self, header, data): + box = nacl.secret.SecretBox(bytes(self.secret_key)) + nonce = bytearray(24) + nonce[:12] = header + + return header + box.encrypt(bytes(data), bytes(nonce)).ciphertext + + def _encrypt_xsalsa20_poly1305_suffix(self, header, data): + box = nacl.secret.SecretBox(bytes(self.secret_key)) + nonce = nacl.utils.random(nacl.secret.SecretBox.NONCE_SIZE) + + return header + box.encrypt(bytes(data), nonce).ciphertext + nonce + + def play(self, source, *, after=None): + """Plays an :class:`AudioSource`. + + The finalizer, ``after`` is called after the source has been exhausted + or an error occurred. + + If an error happens while the audio player is running, the exception is + caught and the audio player is then stopped. + + Parameters + ----------- + source: :class:`AudioSource` + The audio source we're reading from. + after + The finalizer that is called after the stream is exhausted. + All exceptions it throws are silently discarded. This function + must have a single parameter, ``error``, that denotes an + optional exception that was raised during playing. + + Raises + ------- + ClientException + Already playing audio or not connected. + TypeError + source is not a :class:`AudioSource` or after is not a callable. + """ + + if not self.is_connected(): + raise ClientException('Not connected to voice.') + + if self.is_playing(): + raise ClientException('Already playing audio.') + + if not isinstance(source, AudioSource): + raise TypeError('source must an AudioSource not {0.__class__.__name__}'.format(source)) + + self._player = AudioPlayer(source, self, after=after) + self._player.start() + + def is_playing(self): + """Indicates if we're currently playing audio.""" + return self._player is not None and self._player.is_playing() + + def is_paused(self): + """Indicates if we're playing audio, but if we're paused.""" + return self._player is not None and self._player.is_paused() + + def stop(self): + """Stops playing audio.""" + if self._player: + self._player.stop() + self._player = None + + def pause(self): + """Pauses the audio playing.""" + if self._player: + self._player.pause() + + def resume(self): + """Resumes the audio playing.""" + if self._player: + self._player.resume() + + @property + def source(self): + """Optional[:class:`AudioSource`]: The audio source being played, if playing. + + This property can also be used to change the audio source currently being played. + """ + return self._player.source if self._player else None + + @source.setter + def source(self, value): + if not isinstance(value, AudioSource): + raise TypeError('expected AudioSource not {0.__class__.__name__}.'.format(value)) + + if self._player is None: + raise ValueError('Not playing anything.') + + self._player._set_source(value) + + def send_audio_packet(self, data, *, encode=True): + """Sends an audio packet composed of the data. + + You must be connected to play audio. + + Parameters + ---------- + data: bytes + The :term:`py:bytes-like object` denoting PCM or Opus voice data. + encode: bool + Indicates if ``data`` should be encoded into Opus. + + Raises + ------- + ClientException + You are not connected. + OpusError + Encoding the data failed. + """ + + self.checked_add('sequence', 1, 65535) + if encode: + encoded_data = self.encoder.encode(data, self.encoder.SAMPLES_PER_FRAME) + else: + encoded_data = data + packet = self._get_voice_packet(encoded_data) + try: + self.socket.sendto(packet, (self.endpoint_ip, self.voice_port)) + except BlockingIOError: + log.warning('A packet has been dropped (seq: %s, timestamp: %s)', self.sequence, self.timestamp) + + self.checked_add('timestamp', self.encoder.SAMPLES_PER_FRAME, 4294967295) diff --git a/venv/lib/python3.6/site-packages/discord/webhook.py b/venv/lib/python3.6/site-packages/discord/webhook.py new file mode 100644 index 0000000..d44a5e9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/webhook.py @@ -0,0 +1,729 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +""" + +import asyncio +import json +import time +import re + +import aiohttp + +from . import utils +from .errors import InvalidArgument, HTTPException, Forbidden, NotFound +from .user import BaseUser, User +from .asset import Asset + +__all__ = ['WebhookAdapter', 'AsyncWebhookAdapter', 'RequestsWebhookAdapter', 'Webhook'] + +class WebhookAdapter: + """Base class for all webhook adapters. + + Attributes + ------------ + webhook: :class:`Webhook` + The webhook that owns this adapter. + """ + + BASE = 'https://discordapp.com/api/v7' + + def _prepare(self, webhook): + self._webhook_id = webhook.id + self._webhook_token = webhook.token + self._request_url = '{0.BASE}/webhooks/{1}/{2}'.format(self, webhook.id, webhook.token) + self.webhook = webhook + + def request(self, verb, url, payload=None, multipart=None): + """Actually does the request. + + Subclasses must implement this. + + Parameters + ----------- + verb: :class:`str` + The HTTP verb to use for the request. + url: :class:`str` + The URL to send the request to. This will have + the query parameters already added to it, if any. + multipart: Optional[:class:`dict`] + A dict containing multipart form data to send with + the request. If a filename is being uploaded, then it will + be under a ``file`` key which will have a 3-element :class:`tuple` + denoting ``(filename, file, content_type)``. + payload: Optional[:class:`dict`] + The JSON to send with the request, if any. + """ + raise NotImplementedError() + + def delete_webhook(self): + return self.request('DELETE', self._request_url) + + def edit_webhook(self, **payload): + return self.request('PATCH', self._request_url, payload=payload) + + def handle_execution_response(self, data, *, wait): + """Transforms the webhook execution response into something + more meaningful. + + This is mainly used to convert the data into a :class:`Message` + if necessary. + + Subclasses must implement this. + + Parameters + ------------ + data + The data that was returned from the request. + wait: :class:`bool` + Whether the webhook execution was asked to wait or not. + """ + raise NotImplementedError() + + async def _wrap_coroutine_and_cleanup(self, coro, cleanup): + try: + return await coro + finally: + cleanup() + + def execute_webhook(self, *, payload, wait=False, file=None, files=None): + cleanup = None + if file is not None: + multipart = { + 'file': (file.filename, file.fp, 'application/octet-stream'), + 'payload_json': utils.to_json(payload) + } + data = None + cleanup = file.close + files_to_pass = [file] + elif files is not None: + multipart = { + 'payload_json': utils.to_json(payload) + } + for i, file in enumerate(files, start=1): + multipart['file%i' % i] = (file.filename, file.fp, 'application/octet-stream') + data = None + + def _anon(): + for f in files: + f.close() + + cleanup = _anon + files_to_pass = files + else: + data = payload + multipart = None + files_to_pass = None + + url = '%s?wait=%d' % (self._request_url, wait) + try: + maybe_coro = self.request('POST', url, multipart=multipart, payload=data, files=files_to_pass) + finally: + if cleanup is not None: + if not asyncio.iscoroutine(maybe_coro): + cleanup() + else: + maybe_coro = self._wrap_coroutine_and_cleanup(maybe_coro, cleanup) + return self.handle_execution_response(maybe_coro, wait=wait) + +class AsyncWebhookAdapter(WebhookAdapter): + """A webhook adapter suited for use with aiohttp. + + .. note:: + + You are responsible for cleaning up the client session. + + Parameters + ----------- + session: aiohttp.ClientSession + The session to use to send requests. + """ + + def __init__(self, session): + self.session = session + self.loop = asyncio.get_event_loop() + + async def request(self, verb, url, payload=None, multipart=None, *, files=None): + headers = {} + data = None + files = files or [] + if payload: + headers['Content-Type'] = 'application/json' + data = utils.to_json(payload) + + if multipart: + data = aiohttp.FormData() + for key, value in multipart.items(): + if key.startswith('file'): + data.add_field(key, value[1], filename=value[0], content_type=value[2]) + else: + data.add_field(key, value) + + for tries in range(5): + for file in files: + file.reset(seek=tries) + + async with self.session.request(verb, url, headers=headers, data=data) as r: + data = await r.text(encoding='utf-8') + if r.headers['Content-Type'] == 'application/json': + data = json.loads(data) + + # check if we have rate limit header information + remaining = r.headers.get('X-Ratelimit-Remaining') + if remaining == '0' and r.status != 429: + delta = utils._parse_ratelimit_header(r) + await asyncio.sleep(delta, loop=self.loop) + + if 300 > r.status >= 200: + return data + + # we are being rate limited + if r.status == 429: + retry_after = data['retry_after'] / 1000.0 + await asyncio.sleep(retry_after, loop=self.loop) + continue + + if r.status in (500, 502): + await asyncio.sleep(1 + tries * 2, loop=self.loop) + continue + + if r.status == 403: + raise Forbidden(r, data) + elif r.status == 404: + raise NotFound(r, data) + else: + raise HTTPException(r, data) + + async def handle_execution_response(self, response, *, wait): + data = await response + if not wait: + return data + + # transform into Message object + from .message import Message + return Message(data=data, state=self.webhook._state, channel=self.webhook.channel) + +class RequestsWebhookAdapter(WebhookAdapter): + """A webhook adapter suited for use with ``requests``. + + Only versions of requests higher than 2.13.0 are supported. + + Parameters + ----------- + session: Optional[`requests.Session <http://docs.python-requests.org/en/latest/api/#requests.Session>`_] + The requests session to use for sending requests. If not given then + each request will create a new session. Note if a session is given, + the webhook adapter **will not** clean it up for you. You must close + the session yourself. + sleep: :class:`bool` + Whether to sleep the thread when encountering a 429 or pre-emptive + rate limit or a 5xx status code. Defaults to ``True``. If set to + ``False`` then this will raise an :exc:`HTTPException` instead. + """ + + def __init__(self, session=None, *, sleep=True): + import requests + self.session = session or requests + self.sleep = sleep + + def request(self, verb, url, payload=None, multipart=None, *, files=None): + headers = {} + data = None + files = files or [] + if payload: + headers['Content-Type'] = 'application/json' + data = utils.to_json(payload) + + if multipart is not None: + data = {'payload_json': multipart.pop('payload_json')} + + for tries in range(5): + for file in files: + file.reset(seek=tries) + + r = self.session.request(verb, url, headers=headers, data=data, files=multipart) + r.encoding = 'utf-8' + data = r.text + + # compatibility with aiohttp + r.status = r.status_code + + if r.headers['Content-Type'] == 'application/json': + data = json.loads(data) + + # check if we have rate limit header information + remaining = r.headers.get('X-Ratelimit-Remaining') + if remaining == '0' and r.status != 429 and self.sleep: + delta = utils._parse_ratelimit_header(r) + time.sleep(delta) + + if 300 > r.status >= 200: + return data + + # we are being rate limited + if r.status == 429: + if self.sleep: + retry_after = data['retry_after'] / 1000.0 + time.sleep(retry_after) + continue + else: + raise HTTPException(r, data) + + if self.sleep and r.status in (500, 502): + time.sleep(1 + tries * 2) + continue + + if r.status == 403: + raise Forbidden(r, data) + elif r.status == 404: + raise NotFound(r, data) + else: + raise HTTPException(r, data) + + def handle_execution_response(self, response, *, wait): + if not wait: + return response + + # transform into Message object + from .message import Message + return Message(data=response, state=self.webhook._state, channel=self.webhook.channel) + +class _FriendlyHttpAttributeErrorHelper: + __slots__ = () + + def __getattr__(self, attr): + raise AttributeError('PartialWebhookState does not support http methods.') + +class _PartialWebhookState: + __slots__ = ('loop',) + + def __init__(self, adapter): + # Fetch the loop from the adapter if it's there + try: + self.loop = adapter.loop + except AttributeError: + self.loop = None + + def _get_guild(self, guild_id): + return None + + def store_user(self, data): + return BaseUser(state=self, data=data) + + @property + def is_bot(self): + return True + + @property + def http(self): + # Some data classes assign state.http and that should be kosher + # however, using it should result in a late-binding error. + return _FriendlyHttpAttributeErrorHelper() + + def __getattr__(self, attr): + raise AttributeError('PartialWebhookState does not support {0:!r}.'.format(attr)) + +class Webhook: + """Represents a Discord webhook. + + Webhooks are a form to send messages to channels in Discord without a + bot user or authentication. + + There are two main ways to use Webhooks. The first is through the ones + received by the library such as :meth:`.Guild.webhooks` and + :meth:`.TextChannel.webhooks`. The ones received by the library will + automatically have an adapter bound using the library's HTTP session. + Those webhooks will have :meth:`~.Webhook.send`, :meth:`~.Webhook.delete` and + :meth:`~.Webhook.edit` as coroutines. + + The second form involves creating a webhook object manually without having + it bound to a websocket connection using the :meth:`~.Webhook.from_url` or + :meth:`~.Webhook.partial` classmethods. This form allows finer grained control + over how requests are done, allowing you to mix async and sync code using either + ``aiohttp`` or ``requests``. + + For example, creating a webhook from a URL and using ``aiohttp``: + + .. code-block:: python3 + + from discord import Webhook, AsyncWebhookAdapter + import aiohttp + + async def foo(): + async with aiohttp.ClientSession() as session: + webhook = Webhook.from_url('url-here', adapter=AsyncWebhookAdapter(session)) + await webhook.send('Hello World', username='Foo') + + Or creating a webhook from an ID and token and using ``requests``: + + .. code-block:: python3 + + import requests + from discord import Webhook, RequestsWebhookAdapter + + webhook = Webhook.partial(123456, 'abcdefg', adapter=RequestsWebhookAdapter()) + webhook.send('Hello World', username='Foo') + + Attributes + ------------ + id: :class:`int` + The webhook's ID + token: :class:`str` + The authentication token of the webhook. + guild_id: Optional[:class:`int`] + The guild ID this webhook is for. + channel_id: Optional[:class:`int`] + The channel ID this webhook is for. + user: Optional[:class:`abc.User`] + The user this webhook was created by. If the webhook was + received without authentication then this will be ``None``. + name: Optional[:class:`str`] + The default name of the webhook. + avatar: Optional[:class:`str`] + The default avatar of the webhook. + """ + + __slots__ = ('id', 'guild_id', 'channel_id', 'user', 'name', 'avatar', + 'token', '_state', '_adapter') + + def __init__(self, data, *, adapter, state=None): + self.id = int(data['id']) + self.channel_id = utils._get_as_snowflake(data, 'channel_id') + self.guild_id = utils._get_as_snowflake(data, 'guild_id') + self.name = data.get('name') + self.avatar = data.get('avatar') + self.token = data['token'] + self._state = state or _PartialWebhookState(adapter) + self._adapter = adapter + self._adapter._prepare(self) + + user = data.get('user') + if user is None: + self.user = None + elif state is None: + self.user = BaseUser(state=None, data=user) + else: + self.user = User(state=state, data=user) + + def __repr__(self): + return '<Webhook id=%r>' % self.id + + @property + def url(self): + """Returns the webhook's url.""" + return 'https://discordapp.com/api/webhooks/{}/{}'.format(self.id, self.token) + + @classmethod + def partial(cls, id, token, *, adapter): + """Creates a partial :class:`Webhook`. + + A partial webhook is just a webhook object with an ID and a token. + + Parameters + ----------- + id: :class:`int` + The ID of the webhook. + token: :class:`str` + The authentication token of the webhook. + adapter: :class:`WebhookAdapter` + The webhook adapter to use when sending requests. This is + typically :class:`AsyncWebhookAdapter` for ``aiohttp`` or + :class:`RequestsWebhookAdapter` for ``requests``. + """ + + if not isinstance(adapter, WebhookAdapter): + raise TypeError('adapter must be a subclass of WebhookAdapter') + + data = { + 'id': id, + 'token': token + } + + return cls(data, adapter=adapter) + + @classmethod + def from_url(cls, url, *, adapter): + """Creates a partial :class:`Webhook` from a webhook URL. + + Parameters + ------------ + url: :class:`str` + The URL of the webhook. + adapter: :class:`WebhookAdapter` + The webhook adapter to use when sending requests. This is + typically :class:`AsyncWebhookAdapter` for ``aiohttp`` or + :class:`RequestsWebhookAdapter` for ``requests``. + + Raises + ------- + InvalidArgument + The URL is invalid. + """ + + m = re.search(r'discordapp.com/api/webhooks/(?P<id>[0-9]{17,21})/(?P<token>[A-Za-z0-9\.\-\_]{60,68})', url) + if m is None: + raise InvalidArgument('Invalid webhook URL given.') + return cls(m.groupdict(), adapter=adapter) + + @classmethod + def from_state(cls, data, state): + session = state.http._HTTPClient__session + return cls(data, adapter=AsyncWebhookAdapter(session=session), state=state) + + @property + def guild(self): + """Optional[:class:`Guild`]: The guild this webhook belongs to. + + If this is a partial webhook, then this will always return ``None``. + """ + return self._state._get_guild(self.guild_id) + + @property + def channel(self): + """Optional[:class:`TextChannel`]: The text channel this webhook belongs to. + + If this is a partial webhook, then this will always return ``None``. + """ + guild = self.guild + return guild and guild.get_channel(self.channel_id) + + @property + def created_at(self): + """Returns the webhook's creation time in UTC.""" + return utils.snowflake_time(self.id) + + @property + def avatar_url(self): + """Returns a friendly URL version of the avatar the webhook has. + + If the webhook does not have a traditional avatar, their default + avatar URL is returned instead. + + This is equivalent to calling :meth:`avatar_url_as` with the + default parameters. + """ + return self.avatar_url_as() + + def avatar_url_as(self, *, format=None, size=1024): + """Returns a friendly URL version of the avatar the webhook has. + + If the webhook does not have a traditional avatar, their default + avatar URL is returned instead. + + The format must be one of 'jpeg', 'jpg', or 'png'. + The size must be a power of 2 between 16 and 1024. + + Parameters + ----------- + format: Optional[:class:`str`] + The format to attempt to convert the avatar to. + If the format is ``None``, then it is equivalent to png. + size: :class:`int` + The size of the image to display. + + Raises + ------ + InvalidArgument + Bad image format passed to ``format`` or invalid ``size``. + + Returns + -------- + :class:`Asset` + The resulting CDN asset. + """ + if self.avatar is None: + # Default is always blurple apparently + return Asset(self._state, 'https://cdn.discordapp.com/embed/avatars/0.png') + + if not utils.valid_icon_size(size): + raise InvalidArgument("size must be a power of 2 between 16 and 1024") + + format = format or 'png' + + if format not in ('png', 'jpg', 'jpeg'): + raise InvalidArgument("format must be one of 'png', 'jpg', or 'jpeg'.") + + url = 'https://cdn.discordapp.com/avatars/{0.id}/{0.avatar}.{1}?size={2}'.format(self, format, size) + return Asset(self._state, url) + + def delete(self): + """|maybecoro| + + Deletes this Webhook. + + If the webhook is constructed with a :class:`RequestsWebhookAdapter` then this is + not a coroutine. + + Raises + ------- + HTTPException + Deleting the webhook failed. + NotFound + This webhook does not exist. + Forbidden + You do not have permissions to delete this webhook. + """ + return self._adapter.delete_webhook() + + def edit(self, **kwargs): + """|maybecoro| + + Edits this Webhook. + + If the webhook is constructed with a :class:`RequestsWebhookAdapter` then this is + not a coroutine. + + Parameters + ------------- + name: Optional[:class:`str`] + The webhook's new default name. + avatar: Optional[:class:`bytes`] + A :term:`py:bytes-like object` representing the webhook's new default avatar. + + Raises + ------- + HTTPException + Editing the webhook failed. + NotFound + This webhook does not exist. + Forbidden + You do not have permissions to edit this webhook. + """ + payload = {} + + try: + name = kwargs['name'] + except KeyError: + pass + else: + if name is not None: + payload['name'] = str(name) + else: + payload['name'] = None + + try: + avatar = kwargs['avatar'] + except KeyError: + pass + else: + if avatar is not None: + payload['avatar'] = utils._bytes_to_base64_data(avatar) + else: + payload['avatar'] = None + + return self._adapter.edit_webhook(**payload) + + def send(self, content=None, *, wait=False, username=None, avatar_url=None, tts=False, + file=None, files=None, embed=None, embeds=None): + """|maybecoro| + + Sends a message using the webhook. + + If the webhook is constructed with a :class:`RequestsWebhookAdapter` then this is + not a coroutine. + + The content must be a type that can convert to a string through ``str(content)``. + + To upload a single file, the ``file`` parameter should be used with a + single :class:`File` object. + + If the ``embed`` parameter is provided, it must be of type :class:`Embed` and + it must be a rich embed type. You cannot mix the ``embed`` parameter with the + ``embeds`` parameter, which must be a :class:`list` of :class:`Embed` objects to send. + + Parameters + ------------ + content: :class:`str` + The content of the message to send. + wait: :class:`bool` + Whether the server should wait before sending a response. This essentially + means that the return type of this function changes from ``None`` to + a :class:`Message` if set to ``True``. + username: :class:`str` + The username to send with this message. If no username is provided + then the default username for the webhook is used. + avatar_url: Union[:class:`str`, :class:`Asset`] + The avatar URL to send with this message. If no avatar URL is provided + then the default avatar for the webhook is used. + tts: :class:`bool` + Indicates if the message should be sent using text-to-speech. + file: :class:`File` + The file to upload. This cannot be mixed with ``files`` parameter. + files: List[:class:`File`] + A list of files to send with the content. This cannot be mixed with the + ``file`` parameter. + embed: :class:`Embed` + The rich embed for the content to send. This cannot be mixed with + ``embeds`` parameter. + embeds: List[:class:`Embed`] + A list of embeds to send with the content. Maximum of 10. This cannot + be mixed with the ``embed`` parameter. + + Raises + -------- + HTTPException + Sending the message failed. + NotFound + This webhook was not found. + Forbidden + The authorization token for the webhook is incorrect. + InvalidArgument + You specified both ``embed`` and ``embeds`` or the length of + ``embeds`` was invalid. + + Returns + --------- + Optional[:class:`Message`] + The message that was sent. + """ + + payload = {} + + if files is not None and file is not None: + raise InvalidArgument('Cannot mix file and files keyword arguments.') + if embeds is not None and embed is not None: + raise InvalidArgument('Cannot mix embed and embeds keyword arguments.') + + if embeds is not None: + if len(embeds) > 10: + raise InvalidArgument('embeds has a maximum of 10 elements.') + payload['embeds'] = [e.to_dict() for e in embeds] + + if embed is not None: + payload['embeds'] = [embed.to_dict()] + + if content is not None: + payload['content'] = str(content) + + payload['tts'] = tts + if avatar_url: + payload['avatar_url'] = str(avatar_url) + if username: + payload['username'] = username + + return self._adapter.execute_webhook(wait=wait, file=file, files=files, payload=payload) + + def execute(self, *args, **kwargs): + """An alias for :meth:`~.Webhook.send`.""" + return self.send(*args, **kwargs) diff --git a/venv/lib/python3.6/site-packages/discord/widget.py b/venv/lib/python3.6/site-packages/discord/widget.py new file mode 100644 index 0000000..8d55801 --- /dev/null +++ b/venv/lib/python3.6/site-packages/discord/widget.py @@ -0,0 +1,250 @@ +# -*- coding: utf-8 -*- + +""" +The MIT License (MIT) + +Copyright (c) 2015-2019 Rapptz + +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 .utils import snowflake_time, _get_as_snowflake, resolve_invite +from .user import BaseUser +from .activity import create_activity +from .invite import Invite +from .enums import Status, try_enum +from collections import namedtuple + +class WidgetChannel(namedtuple('WidgetChannel', 'id name position')): + """Represents a "partial" widget channel. + + .. container:: operations + + .. describe:: x == y + + Checks if two partial channels are the same. + + .. describe:: x != y + + Checks if two partial channels are not the same. + + .. describe:: hash(x) + + Return the partial channel's hash. + + .. describe:: str(x) + + Returns the partial channel's name. + + Attributes + ----------- + id: :class:`int` + The channel's ID. + name: :class:`str` + The channel's name. + position: :class:`int` + The channel's position + """ + __slots__ = () + + def __str__(self): + return self.name + + @property + def mention(self): + """:class:`str`: The string that allows you to mention the channel.""" + return '<#%s>' % self.id + + @property + def created_at(self): + """Returns the channel's creation time in UTC.""" + return snowflake_time(self.id) + +class WidgetMember(BaseUser): + """Represents a "partial" member of the widget's guild. + + .. container:: operations + + .. describe:: x == y + + Checks if two widget members are the same. + + .. describe:: x != y + + Checks if two widget members are not the same. + + .. describe:: hash(x) + + Return the widget member's hash. + + .. describe:: str(x) + + Returns the widget member's `name#discriminator`. + + Attributes + ----------- + id: :class:`int` + The member's ID. + name: :class:`str` + The member's username. + discriminator: :class:`str` + The member's discriminator. + bot: :class:`bool` + Whether the member is a bot. + status: :class:`Status` + The member's status. + nick: Optional[:class:`str`] + The member's nickname. + avatar: Optional[:class:`str`] + The member's avatar hash. + activity: Optional[Union[:class:`Activity`, :class:`Game`, :class:`Streaming`, :class:`Spotify`]] + The member's activity. + deafened: Optional[:class:`bool`] + Whether the member is currently deafened. + muted: Optional[:class:`bool`] + Whether the member is currently muted. + suppress: Optional[:class:`bool`] + Whether the member is currently being suppressed. + connected_channel: Optional[:class:`VoiceChannel`] + Which channel the member is connected to. + """ + __slots__ = ('name', 'status', 'nick', 'avatar', 'discriminator', + 'id', 'bot', 'activity', 'deafened', 'suppress', 'muted', + 'connected_channel') + + def __init__(self, *, state, data, connected_channel=None): + super().__init__(state=state, data=data) + self.nick = data.get('nick') + self.status = try_enum(Status, data.get('status')) + self.deafened = data.get('deaf', False) or data.get('self_deaf', False) + self.muted = data.get('mute', False) or data.get('self_mute', False) + self.suppress = data.get('suppress', False) + + try: + game = data['game'] + except KeyError: + self.activity = None + else: + self.activity = create_activity(game) + + self.connected_channel = connected_channel + + @property + def display_name(self): + """:class:`str`: Returns the member's display name.""" + return self.nick if self.nick else self.name + +class Widget: + """Represents a :class:`Guild` widget. + + .. container:: operations + + .. describe:: x == y + + Checks if two widgets are the same. + + .. describe:: x != y + + Checks if two widgets are not the same. + + .. describe:: str(x) + + Returns the widget's JSON URL. + + Attributes + ----------- + id: :class:`int` + The guild's ID. + name: :class:`str` + The guild's name. + channels: Optional[List[:class:`WidgetChannel`]] + The accessible voice channels in the guild. + members: Optional[List[:class:`Member`]] + The online members in the server. Offline members + do not appear in the widget. + """ + __slots__ = ('_state', 'channels', '_invite', 'id', 'members', 'name') + + def __init__(self, *, state, data): + self._state = state + self._invite = data['instant_invite'] + self.name = data['name'] + self.id = int(data['id']) + + self.channels = [] + for channel in data.get('channels', []): + _id = int(channel['id']) + self.channels.append(WidgetChannel(id=_id, name=channel['name'], position=channel['position'])) + + self.members = [] + channels = {channel.id: channel for channel in self.channels} + for member in data.get('members', []): + connected_channel = _get_as_snowflake(member, 'channel_id') + if connected_channel: + connected_channel = channels[connected_channel] + + self.members.append(WidgetMember(state=self._state, data=member, connected_channel=connected_channel)) + + def __str__(self): + return self.json_url + + def __eq__(self, other): + return self.id == other.id + + def __repr__(self): + return '<Widget id={0.id} name={0.name!r} invite={0.invite!r}>'.format(self) + + @property + def created_at(self): + """:class:`datetime.datetime`: Returns the member's creation time in UTC.""" + return snowflake_time(self.id) + + @property + def json_url(self): + """:class:`str`: The JSON URL of the widget.""" + return "https://discordapp.com/api/guilds/{0.id}/widget.json".format(self) + + @property + def invite_url(self): + """Optiona[:class:`str`]: The invite URL for the guild, if available.""" + return self._invite + + async def fetch_invite(self, *, with_counts=True): + """|coro| + + Retrieves an :class:`Invite` from a invite URL or ID. + This is the same as :meth:`Client.get_invite`; the invite + code is abstracted away. + + Parameters + ----------- + with_counts: :class:`bool` + Whether to include count information in the invite. This fills the + :attr:`Invite.approximate_member_count` and :attr:`Invite.approximate_presence_count` + fields. + + Returns + -------- + :class:`Invite` + The invite from the URL/ID. + """ + if self._invite: + invite_id = resolve_invite(self._invite) + data = await self._state.http.get_invite(invite_id, with_counts=with_counts) + return Invite.from_incomplete(state=self._state, data=data) diff --git a/venv/lib/python3.6/site-packages/easy-install.pth b/venv/lib/python3.6/site-packages/easy-install.pth new file mode 100644 index 0000000..4bcd7d7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/easy-install.pth @@ -0,0 +1,2 @@ +./setuptools-40.8.0-py3.6.egg +./pip-19.0.3-py3.6.egg diff --git a/venv/lib/python3.6/site-packages/idna-2.8.dist-info/INSTALLER b/venv/lib/python3.6/site-packages/idna-2.8.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna-2.8.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.6/site-packages/idna-2.8.dist-info/LICENSE.rst b/venv/lib/python3.6/site-packages/idna-2.8.dist-info/LICENSE.rst new file mode 100644 index 0000000..3ee64fb --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna-2.8.dist-info/LICENSE.rst @@ -0,0 +1,80 @@ +License +------- + +Copyright (c) 2013-2018, Kim Davies. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +#. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +#. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided with + the distribution. + +#. Neither the name of the copyright holder nor the names of the + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +#. THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS "AS IS" AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. + +Portions of the codec implementation and unit tests are derived from the +Python standard library, which carries the `Python Software Foundation +License <https://docs.python.org/2/license.html>`_: + + Copyright (c) 2001-2014 Python Software Foundation; All Rights Reserved + +Portions of the unit tests are derived from the Unicode standard, which +is subject to the Unicode, Inc. License Agreement: + + Copyright (c) 1991-2014 Unicode, Inc. All rights reserved. + Distributed under the Terms of Use in + <http://www.unicode.org/copyright.html>. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of the Unicode data files and any associated documentation + (the "Data Files") or Unicode software and any associated documentation + (the "Software") to deal in the Data Files or Software + without restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, and/or sell copies of + the Data Files or Software, and to permit persons to whom the Data Files + or Software are furnished to do so, provided that + + (a) this copyright and permission notice appear with all copies + of the Data Files or Software, + + (b) this copyright and permission notice appear in associated + documentation, and + + (c) there is clear notice in each modified Data File or in the Software + as well as in the documentation associated with the Data File(s) or + Software that the data or software has been modified. + + THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF + ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT OF THIRD PARTY RIGHTS. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS + NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL + DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THE DATA FILES OR SOFTWARE. + + Except as contained in this notice, the name of a copyright holder + shall not be used in advertising or otherwise to promote the sale, + use or other dealings in these Data Files or Software without prior + written authorization of the copyright holder. diff --git a/venv/lib/python3.6/site-packages/idna-2.8.dist-info/METADATA b/venv/lib/python3.6/site-packages/idna-2.8.dist-info/METADATA new file mode 100644 index 0000000..30fde02 --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna-2.8.dist-info/METADATA @@ -0,0 +1,239 @@ +Metadata-Version: 2.1 +Name: idna +Version: 2.8 +Summary: Internationalized Domain Names in Applications (IDNA) +Home-page: https://github.com/kjd/idna +Author: Kim Davies +Author-email: kim@cynosure.com.au +License: BSD-like +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: System Administrators +Classifier: License :: OSI Approved :: BSD License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Topic :: Internet :: Name Service (DNS) +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Topic :: Utilities +Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* + +Internationalized Domain Names in Applications (IDNA) +===================================================== + +Support for the Internationalised Domain Names in Applications +(IDNA) protocol as specified in `RFC 5891 <http://tools.ietf.org/html/rfc5891>`_. +This is the latest version of the protocol and is sometimes referred to as +“IDNA 2008”. + +This library also provides support for Unicode Technical Standard 46, +`Unicode IDNA Compatibility Processing <http://unicode.org/reports/tr46/>`_. + +This acts as a suitable replacement for the “encodings.idna” module that +comes with the Python standard library, but only supports the +old, deprecated IDNA specification (`RFC 3490 <http://tools.ietf.org/html/rfc3490>`_). + +Basic functions are simply executed: + +.. code-block:: pycon + + # Python 3 + >>> import idna + >>> idna.encode('ドメイン.テスト') + b'xn--eckwd4c7c.xn--zckzah' + >>> print(idna.decode('xn--eckwd4c7c.xn--zckzah')) + ドメイン.テスト + + # Python 2 + >>> import idna + >>> idna.encode(u'ドメイン.テスト') + 'xn--eckwd4c7c.xn--zckzah' + >>> print idna.decode('xn--eckwd4c7c.xn--zckzah') + ドメイン.テスト + +Packages +-------- + +The latest tagged release version is published in the PyPI repository: + +.. image:: https://badge.fury.io/py/idna.svg + :target: http://badge.fury.io/py/idna + + +Installation +------------ + +To install this library, you can use pip: + +.. code-block:: bash + + $ pip install idna + +Alternatively, you can install the package using the bundled setup script: + +.. code-block:: bash + + $ python setup.py install + +This library works with Python 2.7 and Python 3.4 or later. + + +Usage +----- + +For typical usage, the ``encode`` and ``decode`` functions will take a domain +name argument and perform a conversion to A-labels or U-labels respectively. + +.. code-block:: pycon + + # Python 3 + >>> import idna + >>> idna.encode('ドメイン.テスト') + b'xn--eckwd4c7c.xn--zckzah' + >>> print(idna.decode('xn--eckwd4c7c.xn--zckzah')) + ドメイン.テスト + +You may use the codec encoding and decoding methods using the +``idna.codec`` module: + +.. code-block:: pycon + + # Python 2 + >>> import idna.codec + >>> print u'домена.испытание'.encode('idna') + xn--80ahd1agd.xn--80akhbyknj4f + >>> print 'xn--80ahd1agd.xn--80akhbyknj4f'.decode('idna') + домена.испытание + +Conversions can be applied at a per-label basis using the ``ulabel`` or ``alabel`` +functions if necessary: + +.. code-block:: pycon + + # Python 2 + >>> idna.alabel(u'测试') + 'xn--0zwm56d' + +Compatibility Mapping (UTS #46) ++++++++++++++++++++++++++++++++ + +As described in `RFC 5895 <http://tools.ietf.org/html/rfc5895>`_, the IDNA +specification no longer normalizes input from different potential ways a user +may input a domain name. This functionality, known as a “mapping”, is now +considered by the specification to be a local user-interface issue distinct +from IDNA conversion functionality. + +This library provides one such mapping, that was developed by the Unicode +Consortium. Known as `Unicode IDNA Compatibility Processing <http://unicode.org/reports/tr46/>`_, +it provides for both a regular mapping for typical applications, as well as +a transitional mapping to help migrate from older IDNA 2003 applications. + +For example, “Königsgäßchen” is not a permissible label as *LATIN CAPITAL +LETTER K* is not allowed (nor are capital letters in general). UTS 46 will +convert this into lower case prior to applying the IDNA conversion. + +.. code-block:: pycon + + # Python 3 + >>> import idna + >>> idna.encode(u'Königsgäßchen') + ... + idna.core.InvalidCodepoint: Codepoint U+004B at position 1 of 'Königsgäßchen' not allowed + >>> idna.encode('Königsgäßchen', uts46=True) + b'xn--knigsgchen-b4a3dun' + >>> print(idna.decode('xn--knigsgchen-b4a3dun')) + königsgäßchen + +Transitional processing provides conversions to help transition from the older +2003 standard to the current standard. For example, in the original IDNA +specification, the *LATIN SMALL LETTER SHARP S* (ß) was converted into two +*LATIN SMALL LETTER S* (ss), whereas in the current IDNA specification this +conversion is not performed. + +.. code-block:: pycon + + # Python 2 + >>> idna.encode(u'Königsgäßchen', uts46=True, transitional=True) + 'xn--knigsgsschen-lcb0w' + +Implementors should use transitional processing with caution, only in rare +cases where conversion from legacy labels to current labels must be performed +(i.e. IDNA implementations that pre-date 2008). For typical applications +that just need to convert labels, transitional processing is unlikely to be +beneficial and could produce unexpected incompatible results. + +``encodings.idna`` Compatibility +++++++++++++++++++++++++++++++++ + +Function calls from the Python built-in ``encodings.idna`` module are +mapped to their IDNA 2008 equivalents using the ``idna.compat`` module. +Simply substitute the ``import`` clause in your code to refer to the +new module name. + +Exceptions +---------- + +All errors raised during the conversion following the specification should +raise an exception derived from the ``idna.IDNAError`` base class. + +More specific exceptions that may be generated as ``idna.IDNABidiError`` +when the error reflects an illegal combination of left-to-right and right-to-left +characters in a label; ``idna.InvalidCodepoint`` when a specific codepoint is +an illegal character in an IDN label (i.e. INVALID); and ``idna.InvalidCodepointContext`` +when the codepoint is illegal based on its positional context (i.e. it is CONTEXTO +or CONTEXTJ but the contextual requirements are not satisfied.) + +Building and Diagnostics +------------------------ + +The IDNA and UTS 46 functionality relies upon pre-calculated lookup tables for +performance. These tables are derived from computing against eligibility criteria +in the respective standards. These tables are computed using the command-line +script ``tools/idna-data``. + +This tool will fetch relevant tables from the Unicode Consortium and perform the +required calculations to identify eligibility. It has three main modes: + +* ``idna-data make-libdata``. Generates ``idnadata.py`` and ``uts46data.py``, + the pre-calculated lookup tables using for IDNA and UTS 46 conversions. Implementors + who wish to track this library against a different Unicode version may use this tool + to manually generate a different version of the ``idnadata.py`` and ``uts46data.py`` + files. + +* ``idna-data make-table``. Generate a table of the IDNA disposition + (e.g. PVALID, CONTEXTJ, CONTEXTO) in the format found in Appendix B.1 of RFC + 5892 and the pre-computed tables published by `IANA <http://iana.org/>`_. + +* ``idna-data U+0061``. Prints debugging output on the various properties + associated with an individual Unicode codepoint (in this case, U+0061), that are + used to assess the IDNA and UTS 46 status of a codepoint. This is helpful in debugging + or analysis. + +The tool accepts a number of arguments, described using ``idna-data -h``. Most notably, +the ``--version`` argument allows the specification of the version of Unicode to use +in computing the table data. For example, ``idna-data --version 9.0.0 make-libdata`` +will generate library data against Unicode 9.0.0. + +Note that this script requires Python 3, but all generated library data will work +in Python 2.7. + + +Testing +------- + +The library has a test suite based on each rule of the IDNA specification, as +well as tests that are provided as part of the Unicode Technical Standard 46, +`Unicode IDNA Compatibility Processing <http://unicode.org/reports/tr46/>`_. + +The tests are run automatically on each commit at Travis CI: + +.. image:: https://travis-ci.org/kjd/idna.svg?branch=master + :target: https://travis-ci.org/kjd/idna + + diff --git a/venv/lib/python3.6/site-packages/idna-2.8.dist-info/RECORD b/venv/lib/python3.6/site-packages/idna-2.8.dist-info/RECORD new file mode 100644 index 0000000..1d72bf0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna-2.8.dist-info/RECORD @@ -0,0 +1,22 @@ +idna-2.8.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +idna-2.8.dist-info/LICENSE.rst,sha256=DUvHq9SNz7FOJCVO5AQGZzf_AWcUTiIpFKIRO4eUaD4,3947 +idna-2.8.dist-info/METADATA,sha256=X4QsM_BLMPhl4gC8SEnXjvl5-gj7hvwAl7UCyR418so,8862 +idna-2.8.dist-info/RECORD,, +idna-2.8.dist-info/WHEEL,sha256=CihQvCnsGZQBGAHLEUMf0IdA4fRduS_NBUTMgCTtvPM,110 +idna-2.8.dist-info/top_level.txt,sha256=jSag9sEDqvSPftxOQy-ABfGV_RSy7oFh4zZJpODV8k0,5 +idna/__init__.py,sha256=9Nt7xpyet3DmOrPUGooDdAwmHZZu1qUAy2EaJ93kGiQ,58 +idna/__pycache__/__init__.cpython-36.pyc,, +idna/__pycache__/codec.cpython-36.pyc,, +idna/__pycache__/compat.cpython-36.pyc,, +idna/__pycache__/core.cpython-36.pyc,, +idna/__pycache__/idnadata.cpython-36.pyc,, +idna/__pycache__/intranges.cpython-36.pyc,, +idna/__pycache__/package_data.cpython-36.pyc,, +idna/__pycache__/uts46data.cpython-36.pyc,, +idna/codec.py,sha256=lvYb7yu7PhAqFaAIAdWcwgaWI2UmgseUua-1c0AsG0A,3299 +idna/compat.py,sha256=R-h29D-6mrnJzbXxymrWUW7iZUvy-26TQwZ0ij57i4U,232 +idna/core.py,sha256=JDCZZ_PLESqIgEbU8mPyoEufWwoOiIqygA17-QZIe3s,11733 +idna/idnadata.py,sha256=HXaPFw6_YAJ0qppACPu0YLAULtRs3QovRM_CCZHGdY0,40899 +idna/intranges.py,sha256=TY1lpxZIQWEP6tNqjZkFA5hgoMWOj1OBmnUG8ihT87E,1749 +idna/package_data.py,sha256=kIzeKKXEouXLR4srqwf9Q3zv-NffKSOz5aSDOJARPB0,21 +idna/uts46data.py,sha256=oLyNZ1pBaiBlj9zFzLFRd_P7J8MkRcgDisjExZR_4MY,198292 diff --git a/venv/lib/python3.6/site-packages/idna-2.8.dist-info/WHEEL b/venv/lib/python3.6/site-packages/idna-2.8.dist-info/WHEEL new file mode 100644 index 0000000..dea0e20 --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna-2.8.dist-info/WHEEL @@ -0,0 +1,6 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.32.2) +Root-Is-Purelib: true +Tag: py2-none-any +Tag: py3-none-any + diff --git a/venv/lib/python3.6/site-packages/idna-2.8.dist-info/top_level.txt b/venv/lib/python3.6/site-packages/idna-2.8.dist-info/top_level.txt new file mode 100644 index 0000000..c40472e --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna-2.8.dist-info/top_level.txt @@ -0,0 +1 @@ +idna diff --git a/venv/lib/python3.6/site-packages/idna/__init__.py b/venv/lib/python3.6/site-packages/idna/__init__.py new file mode 100644 index 0000000..847bf93 --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna/__init__.py @@ -0,0 +1,2 @@ +from .package_data import __version__ +from .core import * diff --git a/venv/lib/python3.6/site-packages/idna/codec.py b/venv/lib/python3.6/site-packages/idna/codec.py new file mode 100644 index 0000000..98c65ea --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna/codec.py @@ -0,0 +1,118 @@ +from .core import encode, decode, alabel, ulabel, IDNAError +import codecs +import re + +_unicode_dots_re = re.compile(u'[\u002e\u3002\uff0e\uff61]') + +class Codec(codecs.Codec): + + def encode(self, data, errors='strict'): + + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return "", 0 + + return encode(data), len(data) + + def decode(self, data, errors='strict'): + + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return u"", 0 + + return decode(data), len(data) + +class IncrementalEncoder(codecs.BufferedIncrementalEncoder): + def _buffer_encode(self, data, errors, final): + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return ("", 0) + + labels = _unicode_dots_re.split(data) + trailing_dot = u'' + if labels: + if not labels[-1]: + trailing_dot = '.' + del labels[-1] + elif not final: + # Keep potentially unfinished label until the next call + del labels[-1] + if labels: + trailing_dot = '.' + + result = [] + size = 0 + for label in labels: + result.append(alabel(label)) + if size: + size += 1 + size += len(label) + + # Join with U+002E + result = ".".join(result) + trailing_dot + size += len(trailing_dot) + return (result, size) + +class IncrementalDecoder(codecs.BufferedIncrementalDecoder): + def _buffer_decode(self, data, errors, final): + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return (u"", 0) + + # IDNA allows decoding to operate on Unicode strings, too. + if isinstance(data, unicode): + labels = _unicode_dots_re.split(data) + else: + # Must be ASCII string + data = str(data) + unicode(data, "ascii") + labels = data.split(".") + + trailing_dot = u'' + if labels: + if not labels[-1]: + trailing_dot = u'.' + del labels[-1] + elif not final: + # Keep potentially unfinished label until the next call + del labels[-1] + if labels: + trailing_dot = u'.' + + result = [] + size = 0 + for label in labels: + result.append(ulabel(label)) + if size: + size += 1 + size += len(label) + + result = u".".join(result) + trailing_dot + size += len(trailing_dot) + return (result, size) + + +class StreamWriter(Codec, codecs.StreamWriter): + pass + +class StreamReader(Codec, codecs.StreamReader): + pass + +def getregentry(): + return codecs.CodecInfo( + name='idna', + encode=Codec().encode, + decode=Codec().decode, + incrementalencoder=IncrementalEncoder, + incrementaldecoder=IncrementalDecoder, + streamwriter=StreamWriter, + streamreader=StreamReader, + ) diff --git a/venv/lib/python3.6/site-packages/idna/compat.py b/venv/lib/python3.6/site-packages/idna/compat.py new file mode 100644 index 0000000..4d47f33 --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna/compat.py @@ -0,0 +1,12 @@ +from .core import * +from .codec import * + +def ToASCII(label): + return encode(label) + +def ToUnicode(label): + return decode(label) + +def nameprep(s): + raise NotImplementedError("IDNA 2008 does not utilise nameprep protocol") + diff --git a/venv/lib/python3.6/site-packages/idna/core.py b/venv/lib/python3.6/site-packages/idna/core.py new file mode 100644 index 0000000..104624a --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna/core.py @@ -0,0 +1,396 @@ +from . import idnadata +import bisect +import unicodedata +import re +import sys +from .intranges import intranges_contain + +_virama_combining_class = 9 +_alabel_prefix = b'xn--' +_unicode_dots_re = re.compile(u'[\u002e\u3002\uff0e\uff61]') + +if sys.version_info[0] == 3: + unicode = str + unichr = chr + +class IDNAError(UnicodeError): + """ Base exception for all IDNA-encoding related problems """ + pass + + +class IDNABidiError(IDNAError): + """ Exception when bidirectional requirements are not satisfied """ + pass + + +class InvalidCodepoint(IDNAError): + """ Exception when a disallowed or unallocated codepoint is used """ + pass + + +class InvalidCodepointContext(IDNAError): + """ Exception when the codepoint is not valid in the context it is used """ + pass + + +def _combining_class(cp): + v = unicodedata.combining(unichr(cp)) + if v == 0: + if not unicodedata.name(unichr(cp)): + raise ValueError("Unknown character in unicodedata") + return v + +def _is_script(cp, script): + return intranges_contain(ord(cp), idnadata.scripts[script]) + +def _punycode(s): + return s.encode('punycode') + +def _unot(s): + return 'U+{0:04X}'.format(s) + + +def valid_label_length(label): + + if len(label) > 63: + return False + return True + + +def valid_string_length(label, trailing_dot): + + if len(label) > (254 if trailing_dot else 253): + return False + return True + + +def check_bidi(label, check_ltr=False): + + # Bidi rules should only be applied if string contains RTL characters + bidi_label = False + for (idx, cp) in enumerate(label, 1): + direction = unicodedata.bidirectional(cp) + if direction == '': + # String likely comes from a newer version of Unicode + raise IDNABidiError('Unknown directionality in label {0} at position {1}'.format(repr(label), idx)) + if direction in ['R', 'AL', 'AN']: + bidi_label = True + if not bidi_label and not check_ltr: + return True + + # Bidi rule 1 + direction = unicodedata.bidirectional(label[0]) + if direction in ['R', 'AL']: + rtl = True + elif direction == 'L': + rtl = False + else: + raise IDNABidiError('First codepoint in label {0} must be directionality L, R or AL'.format(repr(label))) + + valid_ending = False + number_type = False + for (idx, cp) in enumerate(label, 1): + direction = unicodedata.bidirectional(cp) + + if rtl: + # Bidi rule 2 + if not direction in ['R', 'AL', 'AN', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']: + raise IDNABidiError('Invalid direction for codepoint at position {0} in a right-to-left label'.format(idx)) + # Bidi rule 3 + if direction in ['R', 'AL', 'EN', 'AN']: + valid_ending = True + elif direction != 'NSM': + valid_ending = False + # Bidi rule 4 + if direction in ['AN', 'EN']: + if not number_type: + number_type = direction + else: + if number_type != direction: + raise IDNABidiError('Can not mix numeral types in a right-to-left label') + else: + # Bidi rule 5 + if not direction in ['L', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']: + raise IDNABidiError('Invalid direction for codepoint at position {0} in a left-to-right label'.format(idx)) + # Bidi rule 6 + if direction in ['L', 'EN']: + valid_ending = True + elif direction != 'NSM': + valid_ending = False + + if not valid_ending: + raise IDNABidiError('Label ends with illegal codepoint directionality') + + return True + + +def check_initial_combiner(label): + + if unicodedata.category(label[0])[0] == 'M': + raise IDNAError('Label begins with an illegal combining character') + return True + + +def check_hyphen_ok(label): + + if label[2:4] == '--': + raise IDNAError('Label has disallowed hyphens in 3rd and 4th position') + if label[0] == '-' or label[-1] == '-': + raise IDNAError('Label must not start or end with a hyphen') + return True + + +def check_nfc(label): + + if unicodedata.normalize('NFC', label) != label: + raise IDNAError('Label must be in Normalization Form C') + + +def valid_contextj(label, pos): + + cp_value = ord(label[pos]) + + if cp_value == 0x200c: + + if pos > 0: + if _combining_class(ord(label[pos - 1])) == _virama_combining_class: + return True + + ok = False + for i in range(pos-1, -1, -1): + joining_type = idnadata.joining_types.get(ord(label[i])) + if joining_type == ord('T'): + continue + if joining_type in [ord('L'), ord('D')]: + ok = True + break + + if not ok: + return False + + ok = False + for i in range(pos+1, len(label)): + joining_type = idnadata.joining_types.get(ord(label[i])) + if joining_type == ord('T'): + continue + if joining_type in [ord('R'), ord('D')]: + ok = True + break + return ok + + if cp_value == 0x200d: + + if pos > 0: + if _combining_class(ord(label[pos - 1])) == _virama_combining_class: + return True + return False + + else: + + return False + + +def valid_contexto(label, pos, exception=False): + + cp_value = ord(label[pos]) + + if cp_value == 0x00b7: + if 0 < pos < len(label)-1: + if ord(label[pos - 1]) == 0x006c and ord(label[pos + 1]) == 0x006c: + return True + return False + + elif cp_value == 0x0375: + if pos < len(label)-1 and len(label) > 1: + return _is_script(label[pos + 1], 'Greek') + return False + + elif cp_value == 0x05f3 or cp_value == 0x05f4: + if pos > 0: + return _is_script(label[pos - 1], 'Hebrew') + return False + + elif cp_value == 0x30fb: + for cp in label: + if cp == u'\u30fb': + continue + if _is_script(cp, 'Hiragana') or _is_script(cp, 'Katakana') or _is_script(cp, 'Han'): + return True + return False + + elif 0x660 <= cp_value <= 0x669: + for cp in label: + if 0x6f0 <= ord(cp) <= 0x06f9: + return False + return True + + elif 0x6f0 <= cp_value <= 0x6f9: + for cp in label: + if 0x660 <= ord(cp) <= 0x0669: + return False + return True + + +def check_label(label): + + if isinstance(label, (bytes, bytearray)): + label = label.decode('utf-8') + if len(label) == 0: + raise IDNAError('Empty Label') + + check_nfc(label) + check_hyphen_ok(label) + check_initial_combiner(label) + + for (pos, cp) in enumerate(label): + cp_value = ord(cp) + if intranges_contain(cp_value, idnadata.codepoint_classes['PVALID']): + continue + elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTJ']): + try: + if not valid_contextj(label, pos): + raise InvalidCodepointContext('Joiner {0} not allowed at position {1} in {2}'.format( + _unot(cp_value), pos+1, repr(label))) + except ValueError: + raise IDNAError('Unknown codepoint adjacent to joiner {0} at position {1} in {2}'.format( + _unot(cp_value), pos+1, repr(label))) + elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTO']): + if not valid_contexto(label, pos): + raise InvalidCodepointContext('Codepoint {0} not allowed at position {1} in {2}'.format(_unot(cp_value), pos+1, repr(label))) + else: + raise InvalidCodepoint('Codepoint {0} at position {1} of {2} not allowed'.format(_unot(cp_value), pos+1, repr(label))) + + check_bidi(label) + + +def alabel(label): + + try: + label = label.encode('ascii') + ulabel(label) + if not valid_label_length(label): + raise IDNAError('Label too long') + return label + except UnicodeEncodeError: + pass + + if not label: + raise IDNAError('No Input') + + label = unicode(label) + check_label(label) + label = _punycode(label) + label = _alabel_prefix + label + + if not valid_label_length(label): + raise IDNAError('Label too long') + + return label + + +def ulabel(label): + + if not isinstance(label, (bytes, bytearray)): + try: + label = label.encode('ascii') + except UnicodeEncodeError: + check_label(label) + return label + + label = label.lower() + if label.startswith(_alabel_prefix): + label = label[len(_alabel_prefix):] + else: + check_label(label) + return label.decode('ascii') + + label = label.decode('punycode') + check_label(label) + return label + + +def uts46_remap(domain, std3_rules=True, transitional=False): + """Re-map the characters in the string according to UTS46 processing.""" + from .uts46data import uts46data + output = u"" + try: + for pos, char in enumerate(domain): + code_point = ord(char) + uts46row = uts46data[code_point if code_point < 256 else + bisect.bisect_left(uts46data, (code_point, "Z")) - 1] + status = uts46row[1] + replacement = uts46row[2] if len(uts46row) == 3 else None + if (status == "V" or + (status == "D" and not transitional) or + (status == "3" and not std3_rules and replacement is None)): + output += char + elif replacement is not None and (status == "M" or + (status == "3" and not std3_rules) or + (status == "D" and transitional)): + output += replacement + elif status != "I": + raise IndexError() + return unicodedata.normalize("NFC", output) + except IndexError: + raise InvalidCodepoint( + "Codepoint {0} not allowed at position {1} in {2}".format( + _unot(code_point), pos + 1, repr(domain))) + + +def encode(s, strict=False, uts46=False, std3_rules=False, transitional=False): + + if isinstance(s, (bytes, bytearray)): + s = s.decode("ascii") + if uts46: + s = uts46_remap(s, std3_rules, transitional) + trailing_dot = False + result = [] + if strict: + labels = s.split('.') + else: + labels = _unicode_dots_re.split(s) + if not labels or labels == ['']: + raise IDNAError('Empty domain') + if labels[-1] == '': + del labels[-1] + trailing_dot = True + for label in labels: + s = alabel(label) + if s: + result.append(s) + else: + raise IDNAError('Empty label') + if trailing_dot: + result.append(b'') + s = b'.'.join(result) + if not valid_string_length(s, trailing_dot): + raise IDNAError('Domain too long') + return s + + +def decode(s, strict=False, uts46=False, std3_rules=False): + + if isinstance(s, (bytes, bytearray)): + s = s.decode("ascii") + if uts46: + s = uts46_remap(s, std3_rules, False) + trailing_dot = False + result = [] + if not strict: + labels = _unicode_dots_re.split(s) + else: + labels = s.split(u'.') + if not labels or labels == ['']: + raise IDNAError('Empty domain') + if not labels[-1]: + del labels[-1] + trailing_dot = True + for label in labels: + s = ulabel(label) + if s: + result.append(s) + else: + raise IDNAError('Empty label') + if trailing_dot: + result.append(u'') + return u'.'.join(result) diff --git a/venv/lib/python3.6/site-packages/idna/idnadata.py b/venv/lib/python3.6/site-packages/idna/idnadata.py new file mode 100644 index 0000000..a80c959 --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna/idnadata.py @@ -0,0 +1,1979 @@ +# This file is automatically generated by tools/idna-data + +__version__ = "11.0.0" +scripts = { + 'Greek': ( + 0x37000000374, + 0x37500000378, + 0x37a0000037e, + 0x37f00000380, + 0x38400000385, + 0x38600000387, + 0x3880000038b, + 0x38c0000038d, + 0x38e000003a2, + 0x3a3000003e2, + 0x3f000000400, + 0x1d2600001d2b, + 0x1d5d00001d62, + 0x1d6600001d6b, + 0x1dbf00001dc0, + 0x1f0000001f16, + 0x1f1800001f1e, + 0x1f2000001f46, + 0x1f4800001f4e, + 0x1f5000001f58, + 0x1f5900001f5a, + 0x1f5b00001f5c, + 0x1f5d00001f5e, + 0x1f5f00001f7e, + 0x1f8000001fb5, + 0x1fb600001fc5, + 0x1fc600001fd4, + 0x1fd600001fdc, + 0x1fdd00001ff0, + 0x1ff200001ff5, + 0x1ff600001fff, + 0x212600002127, + 0xab650000ab66, + 0x101400001018f, + 0x101a0000101a1, + 0x1d2000001d246, + ), + 'Han': ( + 0x2e8000002e9a, + 0x2e9b00002ef4, + 0x2f0000002fd6, + 0x300500003006, + 0x300700003008, + 0x30210000302a, + 0x30380000303c, + 0x340000004db6, + 0x4e0000009ff0, + 0xf9000000fa6e, + 0xfa700000fada, + 0x200000002a6d7, + 0x2a7000002b735, + 0x2b7400002b81e, + 0x2b8200002cea2, + 0x2ceb00002ebe1, + 0x2f8000002fa1e, + ), + 'Hebrew': ( + 0x591000005c8, + 0x5d0000005eb, + 0x5ef000005f5, + 0xfb1d0000fb37, + 0xfb380000fb3d, + 0xfb3e0000fb3f, + 0xfb400000fb42, + 0xfb430000fb45, + 0xfb460000fb50, + ), + 'Hiragana': ( + 0x304100003097, + 0x309d000030a0, + 0x1b0010001b11f, + 0x1f2000001f201, + ), + 'Katakana': ( + 0x30a1000030fb, + 0x30fd00003100, + 0x31f000003200, + 0x32d0000032ff, + 0x330000003358, + 0xff660000ff70, + 0xff710000ff9e, + 0x1b0000001b001, + ), +} +joining_types = { + 0x600: 85, + 0x601: 85, + 0x602: 85, + 0x603: 85, + 0x604: 85, + 0x605: 85, + 0x608: 85, + 0x60b: 85, + 0x620: 68, + 0x621: 85, + 0x622: 82, + 0x623: 82, + 0x624: 82, + 0x625: 82, + 0x626: 68, + 0x627: 82, + 0x628: 68, + 0x629: 82, + 0x62a: 68, + 0x62b: 68, + 0x62c: 68, + 0x62d: 68, + 0x62e: 68, + 0x62f: 82, + 0x630: 82, + 0x631: 82, + 0x632: 82, + 0x633: 68, + 0x634: 68, + 0x635: 68, + 0x636: 68, + 0x637: 68, + 0x638: 68, + 0x639: 68, + 0x63a: 68, + 0x63b: 68, + 0x63c: 68, + 0x63d: 68, + 0x63e: 68, + 0x63f: 68, + 0x640: 67, + 0x641: 68, + 0x642: 68, + 0x643: 68, + 0x644: 68, + 0x645: 68, + 0x646: 68, + 0x647: 68, + 0x648: 82, + 0x649: 68, + 0x64a: 68, + 0x66e: 68, + 0x66f: 68, + 0x671: 82, + 0x672: 82, + 0x673: 82, + 0x674: 85, + 0x675: 82, + 0x676: 82, + 0x677: 82, + 0x678: 68, + 0x679: 68, + 0x67a: 68, + 0x67b: 68, + 0x67c: 68, + 0x67d: 68, + 0x67e: 68, + 0x67f: 68, + 0x680: 68, + 0x681: 68, + 0x682: 68, + 0x683: 68, + 0x684: 68, + 0x685: 68, + 0x686: 68, + 0x687: 68, + 0x688: 82, + 0x689: 82, + 0x68a: 82, + 0x68b: 82, + 0x68c: 82, + 0x68d: 82, + 0x68e: 82, + 0x68f: 82, + 0x690: 82, + 0x691: 82, + 0x692: 82, + 0x693: 82, + 0x694: 82, + 0x695: 82, + 0x696: 82, + 0x697: 82, + 0x698: 82, + 0x699: 82, + 0x69a: 68, + 0x69b: 68, + 0x69c: 68, + 0x69d: 68, + 0x69e: 68, + 0x69f: 68, + 0x6a0: 68, + 0x6a1: 68, + 0x6a2: 68, + 0x6a3: 68, + 0x6a4: 68, + 0x6a5: 68, + 0x6a6: 68, + 0x6a7: 68, + 0x6a8: 68, + 0x6a9: 68, + 0x6aa: 68, + 0x6ab: 68, + 0x6ac: 68, + 0x6ad: 68, + 0x6ae: 68, + 0x6af: 68, + 0x6b0: 68, + 0x6b1: 68, + 0x6b2: 68, + 0x6b3: 68, + 0x6b4: 68, + 0x6b5: 68, + 0x6b6: 68, + 0x6b7: 68, + 0x6b8: 68, + 0x6b9: 68, + 0x6ba: 68, + 0x6bb: 68, + 0x6bc: 68, + 0x6bd: 68, + 0x6be: 68, + 0x6bf: 68, + 0x6c0: 82, + 0x6c1: 68, + 0x6c2: 68, + 0x6c3: 82, + 0x6c4: 82, + 0x6c5: 82, + 0x6c6: 82, + 0x6c7: 82, + 0x6c8: 82, + 0x6c9: 82, + 0x6ca: 82, + 0x6cb: 82, + 0x6cc: 68, + 0x6cd: 82, + 0x6ce: 68, + 0x6cf: 82, + 0x6d0: 68, + 0x6d1: 68, + 0x6d2: 82, + 0x6d3: 82, + 0x6d5: 82, + 0x6dd: 85, + 0x6ee: 82, + 0x6ef: 82, + 0x6fa: 68, + 0x6fb: 68, + 0x6fc: 68, + 0x6ff: 68, + 0x70f: 84, + 0x710: 82, + 0x712: 68, + 0x713: 68, + 0x714: 68, + 0x715: 82, + 0x716: 82, + 0x717: 82, + 0x718: 82, + 0x719: 82, + 0x71a: 68, + 0x71b: 68, + 0x71c: 68, + 0x71d: 68, + 0x71e: 82, + 0x71f: 68, + 0x720: 68, + 0x721: 68, + 0x722: 68, + 0x723: 68, + 0x724: 68, + 0x725: 68, + 0x726: 68, + 0x727: 68, + 0x728: 82, + 0x729: 68, + 0x72a: 82, + 0x72b: 68, + 0x72c: 82, + 0x72d: 68, + 0x72e: 68, + 0x72f: 82, + 0x74d: 82, + 0x74e: 68, + 0x74f: 68, + 0x750: 68, + 0x751: 68, + 0x752: 68, + 0x753: 68, + 0x754: 68, + 0x755: 68, + 0x756: 68, + 0x757: 68, + 0x758: 68, + 0x759: 82, + 0x75a: 82, + 0x75b: 82, + 0x75c: 68, + 0x75d: 68, + 0x75e: 68, + 0x75f: 68, + 0x760: 68, + 0x761: 68, + 0x762: 68, + 0x763: 68, + 0x764: 68, + 0x765: 68, + 0x766: 68, + 0x767: 68, + 0x768: 68, + 0x769: 68, + 0x76a: 68, + 0x76b: 82, + 0x76c: 82, + 0x76d: 68, + 0x76e: 68, + 0x76f: 68, + 0x770: 68, + 0x771: 82, + 0x772: 68, + 0x773: 82, + 0x774: 82, + 0x775: 68, + 0x776: 68, + 0x777: 68, + 0x778: 82, + 0x779: 82, + 0x77a: 68, + 0x77b: 68, + 0x77c: 68, + 0x77d: 68, + 0x77e: 68, + 0x77f: 68, + 0x7ca: 68, + 0x7cb: 68, + 0x7cc: 68, + 0x7cd: 68, + 0x7ce: 68, + 0x7cf: 68, + 0x7d0: 68, + 0x7d1: 68, + 0x7d2: 68, + 0x7d3: 68, + 0x7d4: 68, + 0x7d5: 68, + 0x7d6: 68, + 0x7d7: 68, + 0x7d8: 68, + 0x7d9: 68, + 0x7da: 68, + 0x7db: 68, + 0x7dc: 68, + 0x7dd: 68, + 0x7de: 68, + 0x7df: 68, + 0x7e0: 68, + 0x7e1: 68, + 0x7e2: 68, + 0x7e3: 68, + 0x7e4: 68, + 0x7e5: 68, + 0x7e6: 68, + 0x7e7: 68, + 0x7e8: 68, + 0x7e9: 68, + 0x7ea: 68, + 0x7fa: 67, + 0x840: 82, + 0x841: 68, + 0x842: 68, + 0x843: 68, + 0x844: 68, + 0x845: 68, + 0x846: 82, + 0x847: 82, + 0x848: 68, + 0x849: 82, + 0x84a: 68, + 0x84b: 68, + 0x84c: 68, + 0x84d: 68, + 0x84e: 68, + 0x84f: 68, + 0x850: 68, + 0x851: 68, + 0x852: 68, + 0x853: 68, + 0x854: 82, + 0x855: 68, + 0x856: 85, + 0x857: 85, + 0x858: 85, + 0x860: 68, + 0x861: 85, + 0x862: 68, + 0x863: 68, + 0x864: 68, + 0x865: 68, + 0x866: 85, + 0x867: 82, + 0x868: 68, + 0x869: 82, + 0x86a: 82, + 0x8a0: 68, + 0x8a1: 68, + 0x8a2: 68, + 0x8a3: 68, + 0x8a4: 68, + 0x8a5: 68, + 0x8a6: 68, + 0x8a7: 68, + 0x8a8: 68, + 0x8a9: 68, + 0x8aa: 82, + 0x8ab: 82, + 0x8ac: 82, + 0x8ad: 85, + 0x8ae: 82, + 0x8af: 68, + 0x8b0: 68, + 0x8b1: 82, + 0x8b2: 82, + 0x8b3: 68, + 0x8b4: 68, + 0x8b6: 68, + 0x8b7: 68, + 0x8b8: 68, + 0x8b9: 82, + 0x8ba: 68, + 0x8bb: 68, + 0x8bc: 68, + 0x8bd: 68, + 0x8e2: 85, + 0x1806: 85, + 0x1807: 68, + 0x180a: 67, + 0x180e: 85, + 0x1820: 68, + 0x1821: 68, + 0x1822: 68, + 0x1823: 68, + 0x1824: 68, + 0x1825: 68, + 0x1826: 68, + 0x1827: 68, + 0x1828: 68, + 0x1829: 68, + 0x182a: 68, + 0x182b: 68, + 0x182c: 68, + 0x182d: 68, + 0x182e: 68, + 0x182f: 68, + 0x1830: 68, + 0x1831: 68, + 0x1832: 68, + 0x1833: 68, + 0x1834: 68, + 0x1835: 68, + 0x1836: 68, + 0x1837: 68, + 0x1838: 68, + 0x1839: 68, + 0x183a: 68, + 0x183b: 68, + 0x183c: 68, + 0x183d: 68, + 0x183e: 68, + 0x183f: 68, + 0x1840: 68, + 0x1841: 68, + 0x1842: 68, + 0x1843: 68, + 0x1844: 68, + 0x1845: 68, + 0x1846: 68, + 0x1847: 68, + 0x1848: 68, + 0x1849: 68, + 0x184a: 68, + 0x184b: 68, + 0x184c: 68, + 0x184d: 68, + 0x184e: 68, + 0x184f: 68, + 0x1850: 68, + 0x1851: 68, + 0x1852: 68, + 0x1853: 68, + 0x1854: 68, + 0x1855: 68, + 0x1856: 68, + 0x1857: 68, + 0x1858: 68, + 0x1859: 68, + 0x185a: 68, + 0x185b: 68, + 0x185c: 68, + 0x185d: 68, + 0x185e: 68, + 0x185f: 68, + 0x1860: 68, + 0x1861: 68, + 0x1862: 68, + 0x1863: 68, + 0x1864: 68, + 0x1865: 68, + 0x1866: 68, + 0x1867: 68, + 0x1868: 68, + 0x1869: 68, + 0x186a: 68, + 0x186b: 68, + 0x186c: 68, + 0x186d: 68, + 0x186e: 68, + 0x186f: 68, + 0x1870: 68, + 0x1871: 68, + 0x1872: 68, + 0x1873: 68, + 0x1874: 68, + 0x1875: 68, + 0x1876: 68, + 0x1877: 68, + 0x1878: 68, + 0x1880: 85, + 0x1881: 85, + 0x1882: 85, + 0x1883: 85, + 0x1884: 85, + 0x1885: 84, + 0x1886: 84, + 0x1887: 68, + 0x1888: 68, + 0x1889: 68, + 0x188a: 68, + 0x188b: 68, + 0x188c: 68, + 0x188d: 68, + 0x188e: 68, + 0x188f: 68, + 0x1890: 68, + 0x1891: 68, + 0x1892: 68, + 0x1893: 68, + 0x1894: 68, + 0x1895: 68, + 0x1896: 68, + 0x1897: 68, + 0x1898: 68, + 0x1899: 68, + 0x189a: 68, + 0x189b: 68, + 0x189c: 68, + 0x189d: 68, + 0x189e: 68, + 0x189f: 68, + 0x18a0: 68, + 0x18a1: 68, + 0x18a2: 68, + 0x18a3: 68, + 0x18a4: 68, + 0x18a5: 68, + 0x18a6: 68, + 0x18a7: 68, + 0x18a8: 68, + 0x18aa: 68, + 0x200c: 85, + 0x200d: 67, + 0x202f: 85, + 0x2066: 85, + 0x2067: 85, + 0x2068: 85, + 0x2069: 85, + 0xa840: 68, + 0xa841: 68, + 0xa842: 68, + 0xa843: 68, + 0xa844: 68, + 0xa845: 68, + 0xa846: 68, + 0xa847: 68, + 0xa848: 68, + 0xa849: 68, + 0xa84a: 68, + 0xa84b: 68, + 0xa84c: 68, + 0xa84d: 68, + 0xa84e: 68, + 0xa84f: 68, + 0xa850: 68, + 0xa851: 68, + 0xa852: 68, + 0xa853: 68, + 0xa854: 68, + 0xa855: 68, + 0xa856: 68, + 0xa857: 68, + 0xa858: 68, + 0xa859: 68, + 0xa85a: 68, + 0xa85b: 68, + 0xa85c: 68, + 0xa85d: 68, + 0xa85e: 68, + 0xa85f: 68, + 0xa860: 68, + 0xa861: 68, + 0xa862: 68, + 0xa863: 68, + 0xa864: 68, + 0xa865: 68, + 0xa866: 68, + 0xa867: 68, + 0xa868: 68, + 0xa869: 68, + 0xa86a: 68, + 0xa86b: 68, + 0xa86c: 68, + 0xa86d: 68, + 0xa86e: 68, + 0xa86f: 68, + 0xa870: 68, + 0xa871: 68, + 0xa872: 76, + 0xa873: 85, + 0x10ac0: 68, + 0x10ac1: 68, + 0x10ac2: 68, + 0x10ac3: 68, + 0x10ac4: 68, + 0x10ac5: 82, + 0x10ac6: 85, + 0x10ac7: 82, + 0x10ac8: 85, + 0x10ac9: 82, + 0x10aca: 82, + 0x10acb: 85, + 0x10acc: 85, + 0x10acd: 76, + 0x10ace: 82, + 0x10acf: 82, + 0x10ad0: 82, + 0x10ad1: 82, + 0x10ad2: 82, + 0x10ad3: 68, + 0x10ad4: 68, + 0x10ad5: 68, + 0x10ad6: 68, + 0x10ad7: 76, + 0x10ad8: 68, + 0x10ad9: 68, + 0x10ada: 68, + 0x10adb: 68, + 0x10adc: 68, + 0x10add: 82, + 0x10ade: 68, + 0x10adf: 68, + 0x10ae0: 68, + 0x10ae1: 82, + 0x10ae2: 85, + 0x10ae3: 85, + 0x10ae4: 82, + 0x10aeb: 68, + 0x10aec: 68, + 0x10aed: 68, + 0x10aee: 68, + 0x10aef: 82, + 0x10b80: 68, + 0x10b81: 82, + 0x10b82: 68, + 0x10b83: 82, + 0x10b84: 82, + 0x10b85: 82, + 0x10b86: 68, + 0x10b87: 68, + 0x10b88: 68, + 0x10b89: 82, + 0x10b8a: 68, + 0x10b8b: 68, + 0x10b8c: 82, + 0x10b8d: 68, + 0x10b8e: 82, + 0x10b8f: 82, + 0x10b90: 68, + 0x10b91: 82, + 0x10ba9: 82, + 0x10baa: 82, + 0x10bab: 82, + 0x10bac: 82, + 0x10bad: 68, + 0x10bae: 68, + 0x10baf: 85, + 0x10d00: 76, + 0x10d01: 68, + 0x10d02: 68, + 0x10d03: 68, + 0x10d04: 68, + 0x10d05: 68, + 0x10d06: 68, + 0x10d07: 68, + 0x10d08: 68, + 0x10d09: 68, + 0x10d0a: 68, + 0x10d0b: 68, + 0x10d0c: 68, + 0x10d0d: 68, + 0x10d0e: 68, + 0x10d0f: 68, + 0x10d10: 68, + 0x10d11: 68, + 0x10d12: 68, + 0x10d13: 68, + 0x10d14: 68, + 0x10d15: 68, + 0x10d16: 68, + 0x10d17: 68, + 0x10d18: 68, + 0x10d19: 68, + 0x10d1a: 68, + 0x10d1b: 68, + 0x10d1c: 68, + 0x10d1d: 68, + 0x10d1e: 68, + 0x10d1f: 68, + 0x10d20: 68, + 0x10d21: 68, + 0x10d22: 82, + 0x10d23: 68, + 0x10f30: 68, + 0x10f31: 68, + 0x10f32: 68, + 0x10f33: 82, + 0x10f34: 68, + 0x10f35: 68, + 0x10f36: 68, + 0x10f37: 68, + 0x10f38: 68, + 0x10f39: 68, + 0x10f3a: 68, + 0x10f3b: 68, + 0x10f3c: 68, + 0x10f3d: 68, + 0x10f3e: 68, + 0x10f3f: 68, + 0x10f40: 68, + 0x10f41: 68, + 0x10f42: 68, + 0x10f43: 68, + 0x10f44: 68, + 0x10f45: 85, + 0x10f51: 68, + 0x10f52: 68, + 0x10f53: 68, + 0x10f54: 82, + 0x110bd: 85, + 0x110cd: 85, + 0x1e900: 68, + 0x1e901: 68, + 0x1e902: 68, + 0x1e903: 68, + 0x1e904: 68, + 0x1e905: 68, + 0x1e906: 68, + 0x1e907: 68, + 0x1e908: 68, + 0x1e909: 68, + 0x1e90a: 68, + 0x1e90b: 68, + 0x1e90c: 68, + 0x1e90d: 68, + 0x1e90e: 68, + 0x1e90f: 68, + 0x1e910: 68, + 0x1e911: 68, + 0x1e912: 68, + 0x1e913: 68, + 0x1e914: 68, + 0x1e915: 68, + 0x1e916: 68, + 0x1e917: 68, + 0x1e918: 68, + 0x1e919: 68, + 0x1e91a: 68, + 0x1e91b: 68, + 0x1e91c: 68, + 0x1e91d: 68, + 0x1e91e: 68, + 0x1e91f: 68, + 0x1e920: 68, + 0x1e921: 68, + 0x1e922: 68, + 0x1e923: 68, + 0x1e924: 68, + 0x1e925: 68, + 0x1e926: 68, + 0x1e927: 68, + 0x1e928: 68, + 0x1e929: 68, + 0x1e92a: 68, + 0x1e92b: 68, + 0x1e92c: 68, + 0x1e92d: 68, + 0x1e92e: 68, + 0x1e92f: 68, + 0x1e930: 68, + 0x1e931: 68, + 0x1e932: 68, + 0x1e933: 68, + 0x1e934: 68, + 0x1e935: 68, + 0x1e936: 68, + 0x1e937: 68, + 0x1e938: 68, + 0x1e939: 68, + 0x1e93a: 68, + 0x1e93b: 68, + 0x1e93c: 68, + 0x1e93d: 68, + 0x1e93e: 68, + 0x1e93f: 68, + 0x1e940: 68, + 0x1e941: 68, + 0x1e942: 68, + 0x1e943: 68, +} +codepoint_classes = { + 'PVALID': ( + 0x2d0000002e, + 0x300000003a, + 0x610000007b, + 0xdf000000f7, + 0xf800000100, + 0x10100000102, + 0x10300000104, + 0x10500000106, + 0x10700000108, + 0x1090000010a, + 0x10b0000010c, + 0x10d0000010e, + 0x10f00000110, + 0x11100000112, + 0x11300000114, + 0x11500000116, + 0x11700000118, + 0x1190000011a, + 0x11b0000011c, + 0x11d0000011e, + 0x11f00000120, + 0x12100000122, + 0x12300000124, + 0x12500000126, + 0x12700000128, + 0x1290000012a, + 0x12b0000012c, + 0x12d0000012e, + 0x12f00000130, + 0x13100000132, + 0x13500000136, + 0x13700000139, + 0x13a0000013b, + 0x13c0000013d, + 0x13e0000013f, + 0x14200000143, + 0x14400000145, + 0x14600000147, + 0x14800000149, + 0x14b0000014c, + 0x14d0000014e, + 0x14f00000150, + 0x15100000152, + 0x15300000154, + 0x15500000156, + 0x15700000158, + 0x1590000015a, + 0x15b0000015c, + 0x15d0000015e, + 0x15f00000160, + 0x16100000162, + 0x16300000164, + 0x16500000166, + 0x16700000168, + 0x1690000016a, + 0x16b0000016c, + 0x16d0000016e, + 0x16f00000170, + 0x17100000172, + 0x17300000174, + 0x17500000176, + 0x17700000178, + 0x17a0000017b, + 0x17c0000017d, + 0x17e0000017f, + 0x18000000181, + 0x18300000184, + 0x18500000186, + 0x18800000189, + 0x18c0000018e, + 0x19200000193, + 0x19500000196, + 0x1990000019c, + 0x19e0000019f, + 0x1a1000001a2, + 0x1a3000001a4, + 0x1a5000001a6, + 0x1a8000001a9, + 0x1aa000001ac, + 0x1ad000001ae, + 0x1b0000001b1, + 0x1b4000001b5, + 0x1b6000001b7, + 0x1b9000001bc, + 0x1bd000001c4, + 0x1ce000001cf, + 0x1d0000001d1, + 0x1d2000001d3, + 0x1d4000001d5, + 0x1d6000001d7, + 0x1d8000001d9, + 0x1da000001db, + 0x1dc000001de, + 0x1df000001e0, + 0x1e1000001e2, + 0x1e3000001e4, + 0x1e5000001e6, + 0x1e7000001e8, + 0x1e9000001ea, + 0x1eb000001ec, + 0x1ed000001ee, + 0x1ef000001f1, + 0x1f5000001f6, + 0x1f9000001fa, + 0x1fb000001fc, + 0x1fd000001fe, + 0x1ff00000200, + 0x20100000202, + 0x20300000204, + 0x20500000206, + 0x20700000208, + 0x2090000020a, + 0x20b0000020c, + 0x20d0000020e, + 0x20f00000210, + 0x21100000212, + 0x21300000214, + 0x21500000216, + 0x21700000218, + 0x2190000021a, + 0x21b0000021c, + 0x21d0000021e, + 0x21f00000220, + 0x22100000222, + 0x22300000224, + 0x22500000226, + 0x22700000228, + 0x2290000022a, + 0x22b0000022c, + 0x22d0000022e, + 0x22f00000230, + 0x23100000232, + 0x2330000023a, + 0x23c0000023d, + 0x23f00000241, + 0x24200000243, + 0x24700000248, + 0x2490000024a, + 0x24b0000024c, + 0x24d0000024e, + 0x24f000002b0, + 0x2b9000002c2, + 0x2c6000002d2, + 0x2ec000002ed, + 0x2ee000002ef, + 0x30000000340, + 0x34200000343, + 0x3460000034f, + 0x35000000370, + 0x37100000372, + 0x37300000374, + 0x37700000378, + 0x37b0000037e, + 0x39000000391, + 0x3ac000003cf, + 0x3d7000003d8, + 0x3d9000003da, + 0x3db000003dc, + 0x3dd000003de, + 0x3df000003e0, + 0x3e1000003e2, + 0x3e3000003e4, + 0x3e5000003e6, + 0x3e7000003e8, + 0x3e9000003ea, + 0x3eb000003ec, + 0x3ed000003ee, + 0x3ef000003f0, + 0x3f3000003f4, + 0x3f8000003f9, + 0x3fb000003fd, + 0x43000000460, + 0x46100000462, + 0x46300000464, + 0x46500000466, + 0x46700000468, + 0x4690000046a, + 0x46b0000046c, + 0x46d0000046e, + 0x46f00000470, + 0x47100000472, + 0x47300000474, + 0x47500000476, + 0x47700000478, + 0x4790000047a, + 0x47b0000047c, + 0x47d0000047e, + 0x47f00000480, + 0x48100000482, + 0x48300000488, + 0x48b0000048c, + 0x48d0000048e, + 0x48f00000490, + 0x49100000492, + 0x49300000494, + 0x49500000496, + 0x49700000498, + 0x4990000049a, + 0x49b0000049c, + 0x49d0000049e, + 0x49f000004a0, + 0x4a1000004a2, + 0x4a3000004a4, + 0x4a5000004a6, + 0x4a7000004a8, + 0x4a9000004aa, + 0x4ab000004ac, + 0x4ad000004ae, + 0x4af000004b0, + 0x4b1000004b2, + 0x4b3000004b4, + 0x4b5000004b6, + 0x4b7000004b8, + 0x4b9000004ba, + 0x4bb000004bc, + 0x4bd000004be, + 0x4bf000004c0, + 0x4c2000004c3, + 0x4c4000004c5, + 0x4c6000004c7, + 0x4c8000004c9, + 0x4ca000004cb, + 0x4cc000004cd, + 0x4ce000004d0, + 0x4d1000004d2, + 0x4d3000004d4, + 0x4d5000004d6, + 0x4d7000004d8, + 0x4d9000004da, + 0x4db000004dc, + 0x4dd000004de, + 0x4df000004e0, + 0x4e1000004e2, + 0x4e3000004e4, + 0x4e5000004e6, + 0x4e7000004e8, + 0x4e9000004ea, + 0x4eb000004ec, + 0x4ed000004ee, + 0x4ef000004f0, + 0x4f1000004f2, + 0x4f3000004f4, + 0x4f5000004f6, + 0x4f7000004f8, + 0x4f9000004fa, + 0x4fb000004fc, + 0x4fd000004fe, + 0x4ff00000500, + 0x50100000502, + 0x50300000504, + 0x50500000506, + 0x50700000508, + 0x5090000050a, + 0x50b0000050c, + 0x50d0000050e, + 0x50f00000510, + 0x51100000512, + 0x51300000514, + 0x51500000516, + 0x51700000518, + 0x5190000051a, + 0x51b0000051c, + 0x51d0000051e, + 0x51f00000520, + 0x52100000522, + 0x52300000524, + 0x52500000526, + 0x52700000528, + 0x5290000052a, + 0x52b0000052c, + 0x52d0000052e, + 0x52f00000530, + 0x5590000055a, + 0x56000000587, + 0x58800000589, + 0x591000005be, + 0x5bf000005c0, + 0x5c1000005c3, + 0x5c4000005c6, + 0x5c7000005c8, + 0x5d0000005eb, + 0x5ef000005f3, + 0x6100000061b, + 0x62000000640, + 0x64100000660, + 0x66e00000675, + 0x679000006d4, + 0x6d5000006dd, + 0x6df000006e9, + 0x6ea000006f0, + 0x6fa00000700, + 0x7100000074b, + 0x74d000007b2, + 0x7c0000007f6, + 0x7fd000007fe, + 0x8000000082e, + 0x8400000085c, + 0x8600000086b, + 0x8a0000008b5, + 0x8b6000008be, + 0x8d3000008e2, + 0x8e300000958, + 0x96000000964, + 0x96600000970, + 0x97100000984, + 0x9850000098d, + 0x98f00000991, + 0x993000009a9, + 0x9aa000009b1, + 0x9b2000009b3, + 0x9b6000009ba, + 0x9bc000009c5, + 0x9c7000009c9, + 0x9cb000009cf, + 0x9d7000009d8, + 0x9e0000009e4, + 0x9e6000009f2, + 0x9fc000009fd, + 0x9fe000009ff, + 0xa0100000a04, + 0xa0500000a0b, + 0xa0f00000a11, + 0xa1300000a29, + 0xa2a00000a31, + 0xa3200000a33, + 0xa3500000a36, + 0xa3800000a3a, + 0xa3c00000a3d, + 0xa3e00000a43, + 0xa4700000a49, + 0xa4b00000a4e, + 0xa5100000a52, + 0xa5c00000a5d, + 0xa6600000a76, + 0xa8100000a84, + 0xa8500000a8e, + 0xa8f00000a92, + 0xa9300000aa9, + 0xaaa00000ab1, + 0xab200000ab4, + 0xab500000aba, + 0xabc00000ac6, + 0xac700000aca, + 0xacb00000ace, + 0xad000000ad1, + 0xae000000ae4, + 0xae600000af0, + 0xaf900000b00, + 0xb0100000b04, + 0xb0500000b0d, + 0xb0f00000b11, + 0xb1300000b29, + 0xb2a00000b31, + 0xb3200000b34, + 0xb3500000b3a, + 0xb3c00000b45, + 0xb4700000b49, + 0xb4b00000b4e, + 0xb5600000b58, + 0xb5f00000b64, + 0xb6600000b70, + 0xb7100000b72, + 0xb8200000b84, + 0xb8500000b8b, + 0xb8e00000b91, + 0xb9200000b96, + 0xb9900000b9b, + 0xb9c00000b9d, + 0xb9e00000ba0, + 0xba300000ba5, + 0xba800000bab, + 0xbae00000bba, + 0xbbe00000bc3, + 0xbc600000bc9, + 0xbca00000bce, + 0xbd000000bd1, + 0xbd700000bd8, + 0xbe600000bf0, + 0xc0000000c0d, + 0xc0e00000c11, + 0xc1200000c29, + 0xc2a00000c3a, + 0xc3d00000c45, + 0xc4600000c49, + 0xc4a00000c4e, + 0xc5500000c57, + 0xc5800000c5b, + 0xc6000000c64, + 0xc6600000c70, + 0xc8000000c84, + 0xc8500000c8d, + 0xc8e00000c91, + 0xc9200000ca9, + 0xcaa00000cb4, + 0xcb500000cba, + 0xcbc00000cc5, + 0xcc600000cc9, + 0xcca00000cce, + 0xcd500000cd7, + 0xcde00000cdf, + 0xce000000ce4, + 0xce600000cf0, + 0xcf100000cf3, + 0xd0000000d04, + 0xd0500000d0d, + 0xd0e00000d11, + 0xd1200000d45, + 0xd4600000d49, + 0xd4a00000d4f, + 0xd5400000d58, + 0xd5f00000d64, + 0xd6600000d70, + 0xd7a00000d80, + 0xd8200000d84, + 0xd8500000d97, + 0xd9a00000db2, + 0xdb300000dbc, + 0xdbd00000dbe, + 0xdc000000dc7, + 0xdca00000dcb, + 0xdcf00000dd5, + 0xdd600000dd7, + 0xdd800000de0, + 0xde600000df0, + 0xdf200000df4, + 0xe0100000e33, + 0xe3400000e3b, + 0xe4000000e4f, + 0xe5000000e5a, + 0xe8100000e83, + 0xe8400000e85, + 0xe8700000e89, + 0xe8a00000e8b, + 0xe8d00000e8e, + 0xe9400000e98, + 0xe9900000ea0, + 0xea100000ea4, + 0xea500000ea6, + 0xea700000ea8, + 0xeaa00000eac, + 0xead00000eb3, + 0xeb400000eba, + 0xebb00000ebe, + 0xec000000ec5, + 0xec600000ec7, + 0xec800000ece, + 0xed000000eda, + 0xede00000ee0, + 0xf0000000f01, + 0xf0b00000f0c, + 0xf1800000f1a, + 0xf2000000f2a, + 0xf3500000f36, + 0xf3700000f38, + 0xf3900000f3a, + 0xf3e00000f43, + 0xf4400000f48, + 0xf4900000f4d, + 0xf4e00000f52, + 0xf5300000f57, + 0xf5800000f5c, + 0xf5d00000f69, + 0xf6a00000f6d, + 0xf7100000f73, + 0xf7400000f75, + 0xf7a00000f81, + 0xf8200000f85, + 0xf8600000f93, + 0xf9400000f98, + 0xf9900000f9d, + 0xf9e00000fa2, + 0xfa300000fa7, + 0xfa800000fac, + 0xfad00000fb9, + 0xfba00000fbd, + 0xfc600000fc7, + 0x10000000104a, + 0x10500000109e, + 0x10d0000010fb, + 0x10fd00001100, + 0x120000001249, + 0x124a0000124e, + 0x125000001257, + 0x125800001259, + 0x125a0000125e, + 0x126000001289, + 0x128a0000128e, + 0x1290000012b1, + 0x12b2000012b6, + 0x12b8000012bf, + 0x12c0000012c1, + 0x12c2000012c6, + 0x12c8000012d7, + 0x12d800001311, + 0x131200001316, + 0x13180000135b, + 0x135d00001360, + 0x138000001390, + 0x13a0000013f6, + 0x14010000166d, + 0x166f00001680, + 0x16810000169b, + 0x16a0000016eb, + 0x16f1000016f9, + 0x17000000170d, + 0x170e00001715, + 0x172000001735, + 0x174000001754, + 0x17600000176d, + 0x176e00001771, + 0x177200001774, + 0x1780000017b4, + 0x17b6000017d4, + 0x17d7000017d8, + 0x17dc000017de, + 0x17e0000017ea, + 0x18100000181a, + 0x182000001879, + 0x1880000018ab, + 0x18b0000018f6, + 0x19000000191f, + 0x19200000192c, + 0x19300000193c, + 0x19460000196e, + 0x197000001975, + 0x1980000019ac, + 0x19b0000019ca, + 0x19d0000019da, + 0x1a0000001a1c, + 0x1a2000001a5f, + 0x1a6000001a7d, + 0x1a7f00001a8a, + 0x1a9000001a9a, + 0x1aa700001aa8, + 0x1ab000001abe, + 0x1b0000001b4c, + 0x1b5000001b5a, + 0x1b6b00001b74, + 0x1b8000001bf4, + 0x1c0000001c38, + 0x1c4000001c4a, + 0x1c4d00001c7e, + 0x1cd000001cd3, + 0x1cd400001cfa, + 0x1d0000001d2c, + 0x1d2f00001d30, + 0x1d3b00001d3c, + 0x1d4e00001d4f, + 0x1d6b00001d78, + 0x1d7900001d9b, + 0x1dc000001dfa, + 0x1dfb00001e00, + 0x1e0100001e02, + 0x1e0300001e04, + 0x1e0500001e06, + 0x1e0700001e08, + 0x1e0900001e0a, + 0x1e0b00001e0c, + 0x1e0d00001e0e, + 0x1e0f00001e10, + 0x1e1100001e12, + 0x1e1300001e14, + 0x1e1500001e16, + 0x1e1700001e18, + 0x1e1900001e1a, + 0x1e1b00001e1c, + 0x1e1d00001e1e, + 0x1e1f00001e20, + 0x1e2100001e22, + 0x1e2300001e24, + 0x1e2500001e26, + 0x1e2700001e28, + 0x1e2900001e2a, + 0x1e2b00001e2c, + 0x1e2d00001e2e, + 0x1e2f00001e30, + 0x1e3100001e32, + 0x1e3300001e34, + 0x1e3500001e36, + 0x1e3700001e38, + 0x1e3900001e3a, + 0x1e3b00001e3c, + 0x1e3d00001e3e, + 0x1e3f00001e40, + 0x1e4100001e42, + 0x1e4300001e44, + 0x1e4500001e46, + 0x1e4700001e48, + 0x1e4900001e4a, + 0x1e4b00001e4c, + 0x1e4d00001e4e, + 0x1e4f00001e50, + 0x1e5100001e52, + 0x1e5300001e54, + 0x1e5500001e56, + 0x1e5700001e58, + 0x1e5900001e5a, + 0x1e5b00001e5c, + 0x1e5d00001e5e, + 0x1e5f00001e60, + 0x1e6100001e62, + 0x1e6300001e64, + 0x1e6500001e66, + 0x1e6700001e68, + 0x1e6900001e6a, + 0x1e6b00001e6c, + 0x1e6d00001e6e, + 0x1e6f00001e70, + 0x1e7100001e72, + 0x1e7300001e74, + 0x1e7500001e76, + 0x1e7700001e78, + 0x1e7900001e7a, + 0x1e7b00001e7c, + 0x1e7d00001e7e, + 0x1e7f00001e80, + 0x1e8100001e82, + 0x1e8300001e84, + 0x1e8500001e86, + 0x1e8700001e88, + 0x1e8900001e8a, + 0x1e8b00001e8c, + 0x1e8d00001e8e, + 0x1e8f00001e90, + 0x1e9100001e92, + 0x1e9300001e94, + 0x1e9500001e9a, + 0x1e9c00001e9e, + 0x1e9f00001ea0, + 0x1ea100001ea2, + 0x1ea300001ea4, + 0x1ea500001ea6, + 0x1ea700001ea8, + 0x1ea900001eaa, + 0x1eab00001eac, + 0x1ead00001eae, + 0x1eaf00001eb0, + 0x1eb100001eb2, + 0x1eb300001eb4, + 0x1eb500001eb6, + 0x1eb700001eb8, + 0x1eb900001eba, + 0x1ebb00001ebc, + 0x1ebd00001ebe, + 0x1ebf00001ec0, + 0x1ec100001ec2, + 0x1ec300001ec4, + 0x1ec500001ec6, + 0x1ec700001ec8, + 0x1ec900001eca, + 0x1ecb00001ecc, + 0x1ecd00001ece, + 0x1ecf00001ed0, + 0x1ed100001ed2, + 0x1ed300001ed4, + 0x1ed500001ed6, + 0x1ed700001ed8, + 0x1ed900001eda, + 0x1edb00001edc, + 0x1edd00001ede, + 0x1edf00001ee0, + 0x1ee100001ee2, + 0x1ee300001ee4, + 0x1ee500001ee6, + 0x1ee700001ee8, + 0x1ee900001eea, + 0x1eeb00001eec, + 0x1eed00001eee, + 0x1eef00001ef0, + 0x1ef100001ef2, + 0x1ef300001ef4, + 0x1ef500001ef6, + 0x1ef700001ef8, + 0x1ef900001efa, + 0x1efb00001efc, + 0x1efd00001efe, + 0x1eff00001f08, + 0x1f1000001f16, + 0x1f2000001f28, + 0x1f3000001f38, + 0x1f4000001f46, + 0x1f5000001f58, + 0x1f6000001f68, + 0x1f7000001f71, + 0x1f7200001f73, + 0x1f7400001f75, + 0x1f7600001f77, + 0x1f7800001f79, + 0x1f7a00001f7b, + 0x1f7c00001f7d, + 0x1fb000001fb2, + 0x1fb600001fb7, + 0x1fc600001fc7, + 0x1fd000001fd3, + 0x1fd600001fd8, + 0x1fe000001fe3, + 0x1fe400001fe8, + 0x1ff600001ff7, + 0x214e0000214f, + 0x218400002185, + 0x2c3000002c5f, + 0x2c6100002c62, + 0x2c6500002c67, + 0x2c6800002c69, + 0x2c6a00002c6b, + 0x2c6c00002c6d, + 0x2c7100002c72, + 0x2c7300002c75, + 0x2c7600002c7c, + 0x2c8100002c82, + 0x2c8300002c84, + 0x2c8500002c86, + 0x2c8700002c88, + 0x2c8900002c8a, + 0x2c8b00002c8c, + 0x2c8d00002c8e, + 0x2c8f00002c90, + 0x2c9100002c92, + 0x2c9300002c94, + 0x2c9500002c96, + 0x2c9700002c98, + 0x2c9900002c9a, + 0x2c9b00002c9c, + 0x2c9d00002c9e, + 0x2c9f00002ca0, + 0x2ca100002ca2, + 0x2ca300002ca4, + 0x2ca500002ca6, + 0x2ca700002ca8, + 0x2ca900002caa, + 0x2cab00002cac, + 0x2cad00002cae, + 0x2caf00002cb0, + 0x2cb100002cb2, + 0x2cb300002cb4, + 0x2cb500002cb6, + 0x2cb700002cb8, + 0x2cb900002cba, + 0x2cbb00002cbc, + 0x2cbd00002cbe, + 0x2cbf00002cc0, + 0x2cc100002cc2, + 0x2cc300002cc4, + 0x2cc500002cc6, + 0x2cc700002cc8, + 0x2cc900002cca, + 0x2ccb00002ccc, + 0x2ccd00002cce, + 0x2ccf00002cd0, + 0x2cd100002cd2, + 0x2cd300002cd4, + 0x2cd500002cd6, + 0x2cd700002cd8, + 0x2cd900002cda, + 0x2cdb00002cdc, + 0x2cdd00002cde, + 0x2cdf00002ce0, + 0x2ce100002ce2, + 0x2ce300002ce5, + 0x2cec00002ced, + 0x2cee00002cf2, + 0x2cf300002cf4, + 0x2d0000002d26, + 0x2d2700002d28, + 0x2d2d00002d2e, + 0x2d3000002d68, + 0x2d7f00002d97, + 0x2da000002da7, + 0x2da800002daf, + 0x2db000002db7, + 0x2db800002dbf, + 0x2dc000002dc7, + 0x2dc800002dcf, + 0x2dd000002dd7, + 0x2dd800002ddf, + 0x2de000002e00, + 0x2e2f00002e30, + 0x300500003008, + 0x302a0000302e, + 0x303c0000303d, + 0x304100003097, + 0x30990000309b, + 0x309d0000309f, + 0x30a1000030fb, + 0x30fc000030ff, + 0x310500003130, + 0x31a0000031bb, + 0x31f000003200, + 0x340000004db6, + 0x4e0000009ff0, + 0xa0000000a48d, + 0xa4d00000a4fe, + 0xa5000000a60d, + 0xa6100000a62c, + 0xa6410000a642, + 0xa6430000a644, + 0xa6450000a646, + 0xa6470000a648, + 0xa6490000a64a, + 0xa64b0000a64c, + 0xa64d0000a64e, + 0xa64f0000a650, + 0xa6510000a652, + 0xa6530000a654, + 0xa6550000a656, + 0xa6570000a658, + 0xa6590000a65a, + 0xa65b0000a65c, + 0xa65d0000a65e, + 0xa65f0000a660, + 0xa6610000a662, + 0xa6630000a664, + 0xa6650000a666, + 0xa6670000a668, + 0xa6690000a66a, + 0xa66b0000a66c, + 0xa66d0000a670, + 0xa6740000a67e, + 0xa67f0000a680, + 0xa6810000a682, + 0xa6830000a684, + 0xa6850000a686, + 0xa6870000a688, + 0xa6890000a68a, + 0xa68b0000a68c, + 0xa68d0000a68e, + 0xa68f0000a690, + 0xa6910000a692, + 0xa6930000a694, + 0xa6950000a696, + 0xa6970000a698, + 0xa6990000a69a, + 0xa69b0000a69c, + 0xa69e0000a6e6, + 0xa6f00000a6f2, + 0xa7170000a720, + 0xa7230000a724, + 0xa7250000a726, + 0xa7270000a728, + 0xa7290000a72a, + 0xa72b0000a72c, + 0xa72d0000a72e, + 0xa72f0000a732, + 0xa7330000a734, + 0xa7350000a736, + 0xa7370000a738, + 0xa7390000a73a, + 0xa73b0000a73c, + 0xa73d0000a73e, + 0xa73f0000a740, + 0xa7410000a742, + 0xa7430000a744, + 0xa7450000a746, + 0xa7470000a748, + 0xa7490000a74a, + 0xa74b0000a74c, + 0xa74d0000a74e, + 0xa74f0000a750, + 0xa7510000a752, + 0xa7530000a754, + 0xa7550000a756, + 0xa7570000a758, + 0xa7590000a75a, + 0xa75b0000a75c, + 0xa75d0000a75e, + 0xa75f0000a760, + 0xa7610000a762, + 0xa7630000a764, + 0xa7650000a766, + 0xa7670000a768, + 0xa7690000a76a, + 0xa76b0000a76c, + 0xa76d0000a76e, + 0xa76f0000a770, + 0xa7710000a779, + 0xa77a0000a77b, + 0xa77c0000a77d, + 0xa77f0000a780, + 0xa7810000a782, + 0xa7830000a784, + 0xa7850000a786, + 0xa7870000a789, + 0xa78c0000a78d, + 0xa78e0000a790, + 0xa7910000a792, + 0xa7930000a796, + 0xa7970000a798, + 0xa7990000a79a, + 0xa79b0000a79c, + 0xa79d0000a79e, + 0xa79f0000a7a0, + 0xa7a10000a7a2, + 0xa7a30000a7a4, + 0xa7a50000a7a6, + 0xa7a70000a7a8, + 0xa7a90000a7aa, + 0xa7af0000a7b0, + 0xa7b50000a7b6, + 0xa7b70000a7b8, + 0xa7b90000a7ba, + 0xa7f70000a7f8, + 0xa7fa0000a828, + 0xa8400000a874, + 0xa8800000a8c6, + 0xa8d00000a8da, + 0xa8e00000a8f8, + 0xa8fb0000a8fc, + 0xa8fd0000a92e, + 0xa9300000a954, + 0xa9800000a9c1, + 0xa9cf0000a9da, + 0xa9e00000a9ff, + 0xaa000000aa37, + 0xaa400000aa4e, + 0xaa500000aa5a, + 0xaa600000aa77, + 0xaa7a0000aac3, + 0xaadb0000aade, + 0xaae00000aaf0, + 0xaaf20000aaf7, + 0xab010000ab07, + 0xab090000ab0f, + 0xab110000ab17, + 0xab200000ab27, + 0xab280000ab2f, + 0xab300000ab5b, + 0xab600000ab66, + 0xabc00000abeb, + 0xabec0000abee, + 0xabf00000abfa, + 0xac000000d7a4, + 0xfa0e0000fa10, + 0xfa110000fa12, + 0xfa130000fa15, + 0xfa1f0000fa20, + 0xfa210000fa22, + 0xfa230000fa25, + 0xfa270000fa2a, + 0xfb1e0000fb1f, + 0xfe200000fe30, + 0xfe730000fe74, + 0x100000001000c, + 0x1000d00010027, + 0x100280001003b, + 0x1003c0001003e, + 0x1003f0001004e, + 0x100500001005e, + 0x10080000100fb, + 0x101fd000101fe, + 0x102800001029d, + 0x102a0000102d1, + 0x102e0000102e1, + 0x1030000010320, + 0x1032d00010341, + 0x103420001034a, + 0x103500001037b, + 0x103800001039e, + 0x103a0000103c4, + 0x103c8000103d0, + 0x104280001049e, + 0x104a0000104aa, + 0x104d8000104fc, + 0x1050000010528, + 0x1053000010564, + 0x1060000010737, + 0x1074000010756, + 0x1076000010768, + 0x1080000010806, + 0x1080800010809, + 0x1080a00010836, + 0x1083700010839, + 0x1083c0001083d, + 0x1083f00010856, + 0x1086000010877, + 0x108800001089f, + 0x108e0000108f3, + 0x108f4000108f6, + 0x1090000010916, + 0x109200001093a, + 0x10980000109b8, + 0x109be000109c0, + 0x10a0000010a04, + 0x10a0500010a07, + 0x10a0c00010a14, + 0x10a1500010a18, + 0x10a1900010a36, + 0x10a3800010a3b, + 0x10a3f00010a40, + 0x10a6000010a7d, + 0x10a8000010a9d, + 0x10ac000010ac8, + 0x10ac900010ae7, + 0x10b0000010b36, + 0x10b4000010b56, + 0x10b6000010b73, + 0x10b8000010b92, + 0x10c0000010c49, + 0x10cc000010cf3, + 0x10d0000010d28, + 0x10d3000010d3a, + 0x10f0000010f1d, + 0x10f2700010f28, + 0x10f3000010f51, + 0x1100000011047, + 0x1106600011070, + 0x1107f000110bb, + 0x110d0000110e9, + 0x110f0000110fa, + 0x1110000011135, + 0x1113600011140, + 0x1114400011147, + 0x1115000011174, + 0x1117600011177, + 0x11180000111c5, + 0x111c9000111cd, + 0x111d0000111db, + 0x111dc000111dd, + 0x1120000011212, + 0x1121300011238, + 0x1123e0001123f, + 0x1128000011287, + 0x1128800011289, + 0x1128a0001128e, + 0x1128f0001129e, + 0x1129f000112a9, + 0x112b0000112eb, + 0x112f0000112fa, + 0x1130000011304, + 0x113050001130d, + 0x1130f00011311, + 0x1131300011329, + 0x1132a00011331, + 0x1133200011334, + 0x113350001133a, + 0x1133b00011345, + 0x1134700011349, + 0x1134b0001134e, + 0x1135000011351, + 0x1135700011358, + 0x1135d00011364, + 0x113660001136d, + 0x1137000011375, + 0x114000001144b, + 0x114500001145a, + 0x1145e0001145f, + 0x11480000114c6, + 0x114c7000114c8, + 0x114d0000114da, + 0x11580000115b6, + 0x115b8000115c1, + 0x115d8000115de, + 0x1160000011641, + 0x1164400011645, + 0x116500001165a, + 0x11680000116b8, + 0x116c0000116ca, + 0x117000001171b, + 0x1171d0001172c, + 0x117300001173a, + 0x118000001183b, + 0x118c0000118ea, + 0x118ff00011900, + 0x11a0000011a3f, + 0x11a4700011a48, + 0x11a5000011a84, + 0x11a8600011a9a, + 0x11a9d00011a9e, + 0x11ac000011af9, + 0x11c0000011c09, + 0x11c0a00011c37, + 0x11c3800011c41, + 0x11c5000011c5a, + 0x11c7200011c90, + 0x11c9200011ca8, + 0x11ca900011cb7, + 0x11d0000011d07, + 0x11d0800011d0a, + 0x11d0b00011d37, + 0x11d3a00011d3b, + 0x11d3c00011d3e, + 0x11d3f00011d48, + 0x11d5000011d5a, + 0x11d6000011d66, + 0x11d6700011d69, + 0x11d6a00011d8f, + 0x11d9000011d92, + 0x11d9300011d99, + 0x11da000011daa, + 0x11ee000011ef7, + 0x120000001239a, + 0x1248000012544, + 0x130000001342f, + 0x1440000014647, + 0x1680000016a39, + 0x16a4000016a5f, + 0x16a6000016a6a, + 0x16ad000016aee, + 0x16af000016af5, + 0x16b0000016b37, + 0x16b4000016b44, + 0x16b5000016b5a, + 0x16b6300016b78, + 0x16b7d00016b90, + 0x16e6000016e80, + 0x16f0000016f45, + 0x16f5000016f7f, + 0x16f8f00016fa0, + 0x16fe000016fe2, + 0x17000000187f2, + 0x1880000018af3, + 0x1b0000001b11f, + 0x1b1700001b2fc, + 0x1bc000001bc6b, + 0x1bc700001bc7d, + 0x1bc800001bc89, + 0x1bc900001bc9a, + 0x1bc9d0001bc9f, + 0x1da000001da37, + 0x1da3b0001da6d, + 0x1da750001da76, + 0x1da840001da85, + 0x1da9b0001daa0, + 0x1daa10001dab0, + 0x1e0000001e007, + 0x1e0080001e019, + 0x1e01b0001e022, + 0x1e0230001e025, + 0x1e0260001e02b, + 0x1e8000001e8c5, + 0x1e8d00001e8d7, + 0x1e9220001e94b, + 0x1e9500001e95a, + 0x200000002a6d7, + 0x2a7000002b735, + 0x2b7400002b81e, + 0x2b8200002cea2, + 0x2ceb00002ebe1, + ), + 'CONTEXTJ': ( + 0x200c0000200e, + ), + 'CONTEXTO': ( + 0xb7000000b8, + 0x37500000376, + 0x5f3000005f5, + 0x6600000066a, + 0x6f0000006fa, + 0x30fb000030fc, + ), +} diff --git a/venv/lib/python3.6/site-packages/idna/intranges.py b/venv/lib/python3.6/site-packages/idna/intranges.py new file mode 100644 index 0000000..fa8a735 --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna/intranges.py @@ -0,0 +1,53 @@ +""" +Given a list of integers, made up of (hopefully) a small number of long runs +of consecutive integers, compute a representation of the form +((start1, end1), (start2, end2) ...). Then answer the question "was x present +in the original list?" in time O(log(# runs)). +""" + +import bisect + +def intranges_from_list(list_): + """Represent a list of integers as a sequence of ranges: + ((start_0, end_0), (start_1, end_1), ...), such that the original + integers are exactly those x such that start_i <= x < end_i for some i. + + Ranges are encoded as single integers (start << 32 | end), not as tuples. + """ + + sorted_list = sorted(list_) + ranges = [] + last_write = -1 + for i in range(len(sorted_list)): + if i+1 < len(sorted_list): + if sorted_list[i] == sorted_list[i+1]-1: + continue + current_range = sorted_list[last_write+1:i+1] + ranges.append(_encode_range(current_range[0], current_range[-1] + 1)) + last_write = i + + return tuple(ranges) + +def _encode_range(start, end): + return (start << 32) | end + +def _decode_range(r): + return (r >> 32), (r & ((1 << 32) - 1)) + + +def intranges_contain(int_, ranges): + """Determine if `int_` falls into one of the ranges in `ranges`.""" + tuple_ = _encode_range(int_, 0) + pos = bisect.bisect_left(ranges, tuple_) + # we could be immediately ahead of a tuple (start, end) + # with start < int_ <= end + if pos > 0: + left, right = _decode_range(ranges[pos-1]) + if left <= int_ < right: + return True + # or we could be immediately behind a tuple (int_, end) + if pos < len(ranges): + left, _ = _decode_range(ranges[pos]) + if left == int_: + return True + return False diff --git a/venv/lib/python3.6/site-packages/idna/package_data.py b/venv/lib/python3.6/site-packages/idna/package_data.py new file mode 100644 index 0000000..257e898 --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna/package_data.py @@ -0,0 +1,2 @@ +__version__ = '2.8' + diff --git a/venv/lib/python3.6/site-packages/idna/uts46data.py b/venv/lib/python3.6/site-packages/idna/uts46data.py new file mode 100644 index 0000000..a68ed4c --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna/uts46data.py @@ -0,0 +1,8205 @@ +# This file is automatically generated by tools/idna-data +# vim: set fileencoding=utf-8 : + +"""IDNA Mapping Table from UTS46.""" + + +__version__ = "11.0.0" +def _seg_0(): + return [ + (0x0, '3'), + (0x1, '3'), + (0x2, '3'), + (0x3, '3'), + (0x4, '3'), + (0x5, '3'), + (0x6, '3'), + (0x7, '3'), + (0x8, '3'), + (0x9, '3'), + (0xA, '3'), + (0xB, '3'), + (0xC, '3'), + (0xD, '3'), + (0xE, '3'), + (0xF, '3'), + (0x10, '3'), + (0x11, '3'), + (0x12, '3'), + (0x13, '3'), + (0x14, '3'), + (0x15, '3'), + (0x16, '3'), + (0x17, '3'), + (0x18, '3'), + (0x19, '3'), + (0x1A, '3'), + (0x1B, '3'), + (0x1C, '3'), + (0x1D, '3'), + (0x1E, '3'), + (0x1F, '3'), + (0x20, '3'), + (0x21, '3'), + (0x22, '3'), + (0x23, '3'), + (0x24, '3'), + (0x25, '3'), + (0x26, '3'), + (0x27, '3'), + (0x28, '3'), + (0x29, '3'), + (0x2A, '3'), + (0x2B, '3'), + (0x2C, '3'), + (0x2D, 'V'), + (0x2E, 'V'), + (0x2F, '3'), + (0x30, 'V'), + (0x31, 'V'), + (0x32, 'V'), + (0x33, 'V'), + (0x34, 'V'), + (0x35, 'V'), + (0x36, 'V'), + (0x37, 'V'), + (0x38, 'V'), + (0x39, 'V'), + (0x3A, '3'), + (0x3B, '3'), + (0x3C, '3'), + (0x3D, '3'), + (0x3E, '3'), + (0x3F, '3'), + (0x40, '3'), + (0x41, 'M', u'a'), + (0x42, 'M', u'b'), + (0x43, 'M', u'c'), + (0x44, 'M', u'd'), + (0x45, 'M', u'e'), + (0x46, 'M', u'f'), + (0x47, 'M', u'g'), + (0x48, 'M', u'h'), + (0x49, 'M', u'i'), + (0x4A, 'M', u'j'), + (0x4B, 'M', u'k'), + (0x4C, 'M', u'l'), + (0x4D, 'M', u'm'), + (0x4E, 'M', u'n'), + (0x4F, 'M', u'o'), + (0x50, 'M', u'p'), + (0x51, 'M', u'q'), + (0x52, 'M', u'r'), + (0x53, 'M', u's'), + (0x54, 'M', u't'), + (0x55, 'M', u'u'), + (0x56, 'M', u'v'), + (0x57, 'M', u'w'), + (0x58, 'M', u'x'), + (0x59, 'M', u'y'), + (0x5A, 'M', u'z'), + (0x5B, '3'), + (0x5C, '3'), + (0x5D, '3'), + (0x5E, '3'), + (0x5F, '3'), + (0x60, '3'), + (0x61, 'V'), + (0x62, 'V'), + (0x63, 'V'), + ] + +def _seg_1(): + return [ + (0x64, 'V'), + (0x65, 'V'), + (0x66, 'V'), + (0x67, 'V'), + (0x68, 'V'), + (0x69, 'V'), + (0x6A, 'V'), + (0x6B, 'V'), + (0x6C, 'V'), + (0x6D, 'V'), + (0x6E, 'V'), + (0x6F, 'V'), + (0x70, 'V'), + (0x71, 'V'), + (0x72, 'V'), + (0x73, 'V'), + (0x74, 'V'), + (0x75, 'V'), + (0x76, 'V'), + (0x77, 'V'), + (0x78, 'V'), + (0x79, 'V'), + (0x7A, 'V'), + (0x7B, '3'), + (0x7C, '3'), + (0x7D, '3'), + (0x7E, '3'), + (0x7F, '3'), + (0x80, 'X'), + (0x81, 'X'), + (0x82, 'X'), + (0x83, 'X'), + (0x84, 'X'), + (0x85, 'X'), + (0x86, 'X'), + (0x87, 'X'), + (0x88, 'X'), + (0x89, 'X'), + (0x8A, 'X'), + (0x8B, 'X'), + (0x8C, 'X'), + (0x8D, 'X'), + (0x8E, 'X'), + (0x8F, 'X'), + (0x90, 'X'), + (0x91, 'X'), + (0x92, 'X'), + (0x93, 'X'), + (0x94, 'X'), + (0x95, 'X'), + (0x96, 'X'), + (0x97, 'X'), + (0x98, 'X'), + (0x99, 'X'), + (0x9A, 'X'), + (0x9B, 'X'), + (0x9C, 'X'), + (0x9D, 'X'), + (0x9E, 'X'), + (0x9F, 'X'), + (0xA0, '3', u' '), + (0xA1, 'V'), + (0xA2, 'V'), + (0xA3, 'V'), + (0xA4, 'V'), + (0xA5, 'V'), + (0xA6, 'V'), + (0xA7, 'V'), + (0xA8, '3', u' ̈'), + (0xA9, 'V'), + (0xAA, 'M', u'a'), + (0xAB, 'V'), + (0xAC, 'V'), + (0xAD, 'I'), + (0xAE, 'V'), + (0xAF, '3', u' ̄'), + (0xB0, 'V'), + (0xB1, 'V'), + (0xB2, 'M', u'2'), + (0xB3, 'M', u'3'), + (0xB4, '3', u' ́'), + (0xB5, 'M', u'μ'), + (0xB6, 'V'), + (0xB7, 'V'), + (0xB8, '3', u' ̧'), + (0xB9, 'M', u'1'), + (0xBA, 'M', u'o'), + (0xBB, 'V'), + (0xBC, 'M', u'1⁄4'), + (0xBD, 'M', u'1⁄2'), + (0xBE, 'M', u'3⁄4'), + (0xBF, 'V'), + (0xC0, 'M', u'à'), + (0xC1, 'M', u'á'), + (0xC2, 'M', u'â'), + (0xC3, 'M', u'ã'), + (0xC4, 'M', u'ä'), + (0xC5, 'M', u'å'), + (0xC6, 'M', u'æ'), + (0xC7, 'M', u'ç'), + ] + +def _seg_2(): + return [ + (0xC8, 'M', u'è'), + (0xC9, 'M', u'é'), + (0xCA, 'M', u'ê'), + (0xCB, 'M', u'ë'), + (0xCC, 'M', u'ì'), + (0xCD, 'M', u'í'), + (0xCE, 'M', u'î'), + (0xCF, 'M', u'ï'), + (0xD0, 'M', u'ð'), + (0xD1, 'M', u'ñ'), + (0xD2, 'M', u'ò'), + (0xD3, 'M', u'ó'), + (0xD4, 'M', u'ô'), + (0xD5, 'M', u'õ'), + (0xD6, 'M', u'ö'), + (0xD7, 'V'), + (0xD8, 'M', u'ø'), + (0xD9, 'M', u'ù'), + (0xDA, 'M', u'ú'), + (0xDB, 'M', u'û'), + (0xDC, 'M', u'ü'), + (0xDD, 'M', u'ý'), + (0xDE, 'M', u'þ'), + (0xDF, 'D', u'ss'), + (0xE0, 'V'), + (0xE1, 'V'), + (0xE2, 'V'), + (0xE3, 'V'), + (0xE4, 'V'), + (0xE5, 'V'), + (0xE6, 'V'), + (0xE7, 'V'), + (0xE8, 'V'), + (0xE9, 'V'), + (0xEA, 'V'), + (0xEB, 'V'), + (0xEC, 'V'), + (0xED, 'V'), + (0xEE, 'V'), + (0xEF, 'V'), + (0xF0, 'V'), + (0xF1, 'V'), + (0xF2, 'V'), + (0xF3, 'V'), + (0xF4, 'V'), + (0xF5, 'V'), + (0xF6, 'V'), + (0xF7, 'V'), + (0xF8, 'V'), + (0xF9, 'V'), + (0xFA, 'V'), + (0xFB, 'V'), + (0xFC, 'V'), + (0xFD, 'V'), + (0xFE, 'V'), + (0xFF, 'V'), + (0x100, 'M', u'ā'), + (0x101, 'V'), + (0x102, 'M', u'ă'), + (0x103, 'V'), + (0x104, 'M', u'ą'), + (0x105, 'V'), + (0x106, 'M', u'ć'), + (0x107, 'V'), + (0x108, 'M', u'ĉ'), + (0x109, 'V'), + (0x10A, 'M', u'ċ'), + (0x10B, 'V'), + (0x10C, 'M', u'č'), + (0x10D, 'V'), + (0x10E, 'M', u'ď'), + (0x10F, 'V'), + (0x110, 'M', u'đ'), + (0x111, 'V'), + (0x112, 'M', u'ē'), + (0x113, 'V'), + (0x114, 'M', u'ĕ'), + (0x115, 'V'), + (0x116, 'M', u'ė'), + (0x117, 'V'), + (0x118, 'M', u'ę'), + (0x119, 'V'), + (0x11A, 'M', u'ě'), + (0x11B, 'V'), + (0x11C, 'M', u'ĝ'), + (0x11D, 'V'), + (0x11E, 'M', u'ğ'), + (0x11F, 'V'), + (0x120, 'M', u'ġ'), + (0x121, 'V'), + (0x122, 'M', u'ģ'), + (0x123, 'V'), + (0x124, 'M', u'ĥ'), + (0x125, 'V'), + (0x126, 'M', u'ħ'), + (0x127, 'V'), + (0x128, 'M', u'ĩ'), + (0x129, 'V'), + (0x12A, 'M', u'ī'), + (0x12B, 'V'), + ] + +def _seg_3(): + return [ + (0x12C, 'M', u'ĭ'), + (0x12D, 'V'), + (0x12E, 'M', u'į'), + (0x12F, 'V'), + (0x130, 'M', u'i̇'), + (0x131, 'V'), + (0x132, 'M', u'ij'), + (0x134, 'M', u'ĵ'), + (0x135, 'V'), + (0x136, 'M', u'ķ'), + (0x137, 'V'), + (0x139, 'M', u'ĺ'), + (0x13A, 'V'), + (0x13B, 'M', u'ļ'), + (0x13C, 'V'), + (0x13D, 'M', u'ľ'), + (0x13E, 'V'), + (0x13F, 'M', u'l·'), + (0x141, 'M', u'ł'), + (0x142, 'V'), + (0x143, 'M', u'ń'), + (0x144, 'V'), + (0x145, 'M', u'ņ'), + (0x146, 'V'), + (0x147, 'M', u'ň'), + (0x148, 'V'), + (0x149, 'M', u'ʼn'), + (0x14A, 'M', u'ŋ'), + (0x14B, 'V'), + (0x14C, 'M', u'ō'), + (0x14D, 'V'), + (0x14E, 'M', u'ŏ'), + (0x14F, 'V'), + (0x150, 'M', u'ő'), + (0x151, 'V'), + (0x152, 'M', u'œ'), + (0x153, 'V'), + (0x154, 'M', u'ŕ'), + (0x155, 'V'), + (0x156, 'M', u'ŗ'), + (0x157, 'V'), + (0x158, 'M', u'ř'), + (0x159, 'V'), + (0x15A, 'M', u'ś'), + (0x15B, 'V'), + (0x15C, 'M', u'ŝ'), + (0x15D, 'V'), + (0x15E, 'M', u'ş'), + (0x15F, 'V'), + (0x160, 'M', u'š'), + (0x161, 'V'), + (0x162, 'M', u'ţ'), + (0x163, 'V'), + (0x164, 'M', u'ť'), + (0x165, 'V'), + (0x166, 'M', u'ŧ'), + (0x167, 'V'), + (0x168, 'M', u'ũ'), + (0x169, 'V'), + (0x16A, 'M', u'ū'), + (0x16B, 'V'), + (0x16C, 'M', u'ŭ'), + (0x16D, 'V'), + (0x16E, 'M', u'ů'), + (0x16F, 'V'), + (0x170, 'M', u'ű'), + (0x171, 'V'), + (0x172, 'M', u'ų'), + (0x173, 'V'), + (0x174, 'M', u'ŵ'), + (0x175, 'V'), + (0x176, 'M', u'ŷ'), + (0x177, 'V'), + (0x178, 'M', u'ÿ'), + (0x179, 'M', u'ź'), + (0x17A, 'V'), + (0x17B, 'M', u'ż'), + (0x17C, 'V'), + (0x17D, 'M', u'ž'), + (0x17E, 'V'), + (0x17F, 'M', u's'), + (0x180, 'V'), + (0x181, 'M', u'ɓ'), + (0x182, 'M', u'ƃ'), + (0x183, 'V'), + (0x184, 'M', u'ƅ'), + (0x185, 'V'), + (0x186, 'M', u'ɔ'), + (0x187, 'M', u'ƈ'), + (0x188, 'V'), + (0x189, 'M', u'ɖ'), + (0x18A, 'M', u'ɗ'), + (0x18B, 'M', u'ƌ'), + (0x18C, 'V'), + (0x18E, 'M', u'ǝ'), + (0x18F, 'M', u'ə'), + (0x190, 'M', u'ɛ'), + (0x191, 'M', u'ƒ'), + (0x192, 'V'), + (0x193, 'M', u'ɠ'), + ] + +def _seg_4(): + return [ + (0x194, 'M', u'ɣ'), + (0x195, 'V'), + (0x196, 'M', u'ɩ'), + (0x197, 'M', u'ɨ'), + (0x198, 'M', u'ƙ'), + (0x199, 'V'), + (0x19C, 'M', u'ɯ'), + (0x19D, 'M', u'ɲ'), + (0x19E, 'V'), + (0x19F, 'M', u'ɵ'), + (0x1A0, 'M', u'ơ'), + (0x1A1, 'V'), + (0x1A2, 'M', u'ƣ'), + (0x1A3, 'V'), + (0x1A4, 'M', u'ƥ'), + (0x1A5, 'V'), + (0x1A6, 'M', u'ʀ'), + (0x1A7, 'M', u'ƨ'), + (0x1A8, 'V'), + (0x1A9, 'M', u'ʃ'), + (0x1AA, 'V'), + (0x1AC, 'M', u'ƭ'), + (0x1AD, 'V'), + (0x1AE, 'M', u'ʈ'), + (0x1AF, 'M', u'ư'), + (0x1B0, 'V'), + (0x1B1, 'M', u'ʊ'), + (0x1B2, 'M', u'ʋ'), + (0x1B3, 'M', u'ƴ'), + (0x1B4, 'V'), + (0x1B5, 'M', u'ƶ'), + (0x1B6, 'V'), + (0x1B7, 'M', u'ʒ'), + (0x1B8, 'M', u'ƹ'), + (0x1B9, 'V'), + (0x1BC, 'M', u'ƽ'), + (0x1BD, 'V'), + (0x1C4, 'M', u'dž'), + (0x1C7, 'M', u'lj'), + (0x1CA, 'M', u'nj'), + (0x1CD, 'M', u'ǎ'), + (0x1CE, 'V'), + (0x1CF, 'M', u'ǐ'), + (0x1D0, 'V'), + (0x1D1, 'M', u'ǒ'), + (0x1D2, 'V'), + (0x1D3, 'M', u'ǔ'), + (0x1D4, 'V'), + (0x1D5, 'M', u'ǖ'), + (0x1D6, 'V'), + (0x1D7, 'M', u'ǘ'), + (0x1D8, 'V'), + (0x1D9, 'M', u'ǚ'), + (0x1DA, 'V'), + (0x1DB, 'M', u'ǜ'), + (0x1DC, 'V'), + (0x1DE, 'M', u'ǟ'), + (0x1DF, 'V'), + (0x1E0, 'M', u'ǡ'), + (0x1E1, 'V'), + (0x1E2, 'M', u'ǣ'), + (0x1E3, 'V'), + (0x1E4, 'M', u'ǥ'), + (0x1E5, 'V'), + (0x1E6, 'M', u'ǧ'), + (0x1E7, 'V'), + (0x1E8, 'M', u'ǩ'), + (0x1E9, 'V'), + (0x1EA, 'M', u'ǫ'), + (0x1EB, 'V'), + (0x1EC, 'M', u'ǭ'), + (0x1ED, 'V'), + (0x1EE, 'M', u'ǯ'), + (0x1EF, 'V'), + (0x1F1, 'M', u'dz'), + (0x1F4, 'M', u'ǵ'), + (0x1F5, 'V'), + (0x1F6, 'M', u'ƕ'), + (0x1F7, 'M', u'ƿ'), + (0x1F8, 'M', u'ǹ'), + (0x1F9, 'V'), + (0x1FA, 'M', u'ǻ'), + (0x1FB, 'V'), + (0x1FC, 'M', u'ǽ'), + (0x1FD, 'V'), + (0x1FE, 'M', u'ǿ'), + (0x1FF, 'V'), + (0x200, 'M', u'ȁ'), + (0x201, 'V'), + (0x202, 'M', u'ȃ'), + (0x203, 'V'), + (0x204, 'M', u'ȅ'), + (0x205, 'V'), + (0x206, 'M', u'ȇ'), + (0x207, 'V'), + (0x208, 'M', u'ȉ'), + (0x209, 'V'), + (0x20A, 'M', u'ȋ'), + (0x20B, 'V'), + (0x20C, 'M', u'ȍ'), + ] + +def _seg_5(): + return [ + (0x20D, 'V'), + (0x20E, 'M', u'ȏ'), + (0x20F, 'V'), + (0x210, 'M', u'ȑ'), + (0x211, 'V'), + (0x212, 'M', u'ȓ'), + (0x213, 'V'), + (0x214, 'M', u'ȕ'), + (0x215, 'V'), + (0x216, 'M', u'ȗ'), + (0x217, 'V'), + (0x218, 'M', u'ș'), + (0x219, 'V'), + (0x21A, 'M', u'ț'), + (0x21B, 'V'), + (0x21C, 'M', u'ȝ'), + (0x21D, 'V'), + (0x21E, 'M', u'ȟ'), + (0x21F, 'V'), + (0x220, 'M', u'ƞ'), + (0x221, 'V'), + (0x222, 'M', u'ȣ'), + (0x223, 'V'), + (0x224, 'M', u'ȥ'), + (0x225, 'V'), + (0x226, 'M', u'ȧ'), + (0x227, 'V'), + (0x228, 'M', u'ȩ'), + (0x229, 'V'), + (0x22A, 'M', u'ȫ'), + (0x22B, 'V'), + (0x22C, 'M', u'ȭ'), + (0x22D, 'V'), + (0x22E, 'M', u'ȯ'), + (0x22F, 'V'), + (0x230, 'M', u'ȱ'), + (0x231, 'V'), + (0x232, 'M', u'ȳ'), + (0x233, 'V'), + (0x23A, 'M', u'ⱥ'), + (0x23B, 'M', u'ȼ'), + (0x23C, 'V'), + (0x23D, 'M', u'ƚ'), + (0x23E, 'M', u'ⱦ'), + (0x23F, 'V'), + (0x241, 'M', u'ɂ'), + (0x242, 'V'), + (0x243, 'M', u'ƀ'), + (0x244, 'M', u'ʉ'), + (0x245, 'M', u'ʌ'), + (0x246, 'M', u'ɇ'), + (0x247, 'V'), + (0x248, 'M', u'ɉ'), + (0x249, 'V'), + (0x24A, 'M', u'ɋ'), + (0x24B, 'V'), + (0x24C, 'M', u'ɍ'), + (0x24D, 'V'), + (0x24E, 'M', u'ɏ'), + (0x24F, 'V'), + (0x2B0, 'M', u'h'), + (0x2B1, 'M', u'ɦ'), + (0x2B2, 'M', u'j'), + (0x2B3, 'M', u'r'), + (0x2B4, 'M', u'ɹ'), + (0x2B5, 'M', u'ɻ'), + (0x2B6, 'M', u'ʁ'), + (0x2B7, 'M', u'w'), + (0x2B8, 'M', u'y'), + (0x2B9, 'V'), + (0x2D8, '3', u' ̆'), + (0x2D9, '3', u' ̇'), + (0x2DA, '3', u' ̊'), + (0x2DB, '3', u' ̨'), + (0x2DC, '3', u' ̃'), + (0x2DD, '3', u' ̋'), + (0x2DE, 'V'), + (0x2E0, 'M', u'ɣ'), + (0x2E1, 'M', u'l'), + (0x2E2, 'M', u's'), + (0x2E3, 'M', u'x'), + (0x2E4, 'M', u'ʕ'), + (0x2E5, 'V'), + (0x340, 'M', u'̀'), + (0x341, 'M', u'́'), + (0x342, 'V'), + (0x343, 'M', u'̓'), + (0x344, 'M', u'̈́'), + (0x345, 'M', u'ι'), + (0x346, 'V'), + (0x34F, 'I'), + (0x350, 'V'), + (0x370, 'M', u'ͱ'), + (0x371, 'V'), + (0x372, 'M', u'ͳ'), + (0x373, 'V'), + (0x374, 'M', u'ʹ'), + (0x375, 'V'), + (0x376, 'M', u'ͷ'), + (0x377, 'V'), + ] + +def _seg_6(): + return [ + (0x378, 'X'), + (0x37A, '3', u' ι'), + (0x37B, 'V'), + (0x37E, '3', u';'), + (0x37F, 'M', u'ϳ'), + (0x380, 'X'), + (0x384, '3', u' ́'), + (0x385, '3', u' ̈́'), + (0x386, 'M', u'ά'), + (0x387, 'M', u'·'), + (0x388, 'M', u'έ'), + (0x389, 'M', u'ή'), + (0x38A, 'M', u'ί'), + (0x38B, 'X'), + (0x38C, 'M', u'ό'), + (0x38D, 'X'), + (0x38E, 'M', u'ύ'), + (0x38F, 'M', u'ώ'), + (0x390, 'V'), + (0x391, 'M', u'α'), + (0x392, 'M', u'β'), + (0x393, 'M', u'γ'), + (0x394, 'M', u'δ'), + (0x395, 'M', u'ε'), + (0x396, 'M', u'ζ'), + (0x397, 'M', u'η'), + (0x398, 'M', u'θ'), + (0x399, 'M', u'ι'), + (0x39A, 'M', u'κ'), + (0x39B, 'M', u'λ'), + (0x39C, 'M', u'μ'), + (0x39D, 'M', u'ν'), + (0x39E, 'M', u'ξ'), + (0x39F, 'M', u'ο'), + (0x3A0, 'M', u'π'), + (0x3A1, 'M', u'ρ'), + (0x3A2, 'X'), + (0x3A3, 'M', u'σ'), + (0x3A4, 'M', u'τ'), + (0x3A5, 'M', u'υ'), + (0x3A6, 'M', u'φ'), + (0x3A7, 'M', u'χ'), + (0x3A8, 'M', u'ψ'), + (0x3A9, 'M', u'ω'), + (0x3AA, 'M', u'ϊ'), + (0x3AB, 'M', u'ϋ'), + (0x3AC, 'V'), + (0x3C2, 'D', u'σ'), + (0x3C3, 'V'), + (0x3CF, 'M', u'ϗ'), + (0x3D0, 'M', u'β'), + (0x3D1, 'M', u'θ'), + (0x3D2, 'M', u'υ'), + (0x3D3, 'M', u'ύ'), + (0x3D4, 'M', u'ϋ'), + (0x3D5, 'M', u'φ'), + (0x3D6, 'M', u'π'), + (0x3D7, 'V'), + (0x3D8, 'M', u'ϙ'), + (0x3D9, 'V'), + (0x3DA, 'M', u'ϛ'), + (0x3DB, 'V'), + (0x3DC, 'M', u'ϝ'), + (0x3DD, 'V'), + (0x3DE, 'M', u'ϟ'), + (0x3DF, 'V'), + (0x3E0, 'M', u'ϡ'), + (0x3E1, 'V'), + (0x3E2, 'M', u'ϣ'), + (0x3E3, 'V'), + (0x3E4, 'M', u'ϥ'), + (0x3E5, 'V'), + (0x3E6, 'M', u'ϧ'), + (0x3E7, 'V'), + (0x3E8, 'M', u'ϩ'), + (0x3E9, 'V'), + (0x3EA, 'M', u'ϫ'), + (0x3EB, 'V'), + (0x3EC, 'M', u'ϭ'), + (0x3ED, 'V'), + (0x3EE, 'M', u'ϯ'), + (0x3EF, 'V'), + (0x3F0, 'M', u'κ'), + (0x3F1, 'M', u'ρ'), + (0x3F2, 'M', u'σ'), + (0x3F3, 'V'), + (0x3F4, 'M', u'θ'), + (0x3F5, 'M', u'ε'), + (0x3F6, 'V'), + (0x3F7, 'M', u'ϸ'), + (0x3F8, 'V'), + (0x3F9, 'M', u'σ'), + (0x3FA, 'M', u'ϻ'), + (0x3FB, 'V'), + (0x3FD, 'M', u'ͻ'), + (0x3FE, 'M', u'ͼ'), + (0x3FF, 'M', u'ͽ'), + (0x400, 'M', u'ѐ'), + (0x401, 'M', u'ё'), + (0x402, 'M', u'ђ'), + ] + +def _seg_7(): + return [ + (0x403, 'M', u'ѓ'), + (0x404, 'M', u'є'), + (0x405, 'M', u'ѕ'), + (0x406, 'M', u'і'), + (0x407, 'M', u'ї'), + (0x408, 'M', u'ј'), + (0x409, 'M', u'љ'), + (0x40A, 'M', u'њ'), + (0x40B, 'M', u'ћ'), + (0x40C, 'M', u'ќ'), + (0x40D, 'M', u'ѝ'), + (0x40E, 'M', u'ў'), + (0x40F, 'M', u'џ'), + (0x410, 'M', u'а'), + (0x411, 'M', u'б'), + (0x412, 'M', u'в'), + (0x413, 'M', u'г'), + (0x414, 'M', u'д'), + (0x415, 'M', u'е'), + (0x416, 'M', u'ж'), + (0x417, 'M', u'з'), + (0x418, 'M', u'и'), + (0x419, 'M', u'й'), + (0x41A, 'M', u'к'), + (0x41B, 'M', u'л'), + (0x41C, 'M', u'м'), + (0x41D, 'M', u'н'), + (0x41E, 'M', u'о'), + (0x41F, 'M', u'п'), + (0x420, 'M', u'р'), + (0x421, 'M', u'с'), + (0x422, 'M', u'т'), + (0x423, 'M', u'у'), + (0x424, 'M', u'ф'), + (0x425, 'M', u'х'), + (0x426, 'M', u'ц'), + (0x427, 'M', u'ч'), + (0x428, 'M', u'ш'), + (0x429, 'M', u'щ'), + (0x42A, 'M', u'ъ'), + (0x42B, 'M', u'ы'), + (0x42C, 'M', u'ь'), + (0x42D, 'M', u'э'), + (0x42E, 'M', u'ю'), + (0x42F, 'M', u'я'), + (0x430, 'V'), + (0x460, 'M', u'ѡ'), + (0x461, 'V'), + (0x462, 'M', u'ѣ'), + (0x463, 'V'), + (0x464, 'M', u'ѥ'), + (0x465, 'V'), + (0x466, 'M', u'ѧ'), + (0x467, 'V'), + (0x468, 'M', u'ѩ'), + (0x469, 'V'), + (0x46A, 'M', u'ѫ'), + (0x46B, 'V'), + (0x46C, 'M', u'ѭ'), + (0x46D, 'V'), + (0x46E, 'M', u'ѯ'), + (0x46F, 'V'), + (0x470, 'M', u'ѱ'), + (0x471, 'V'), + (0x472, 'M', u'ѳ'), + (0x473, 'V'), + (0x474, 'M', u'ѵ'), + (0x475, 'V'), + (0x476, 'M', u'ѷ'), + (0x477, 'V'), + (0x478, 'M', u'ѹ'), + (0x479, 'V'), + (0x47A, 'M', u'ѻ'), + (0x47B, 'V'), + (0x47C, 'M', u'ѽ'), + (0x47D, 'V'), + (0x47E, 'M', u'ѿ'), + (0x47F, 'V'), + (0x480, 'M', u'ҁ'), + (0x481, 'V'), + (0x48A, 'M', u'ҋ'), + (0x48B, 'V'), + (0x48C, 'M', u'ҍ'), + (0x48D, 'V'), + (0x48E, 'M', u'ҏ'), + (0x48F, 'V'), + (0x490, 'M', u'ґ'), + (0x491, 'V'), + (0x492, 'M', u'ғ'), + (0x493, 'V'), + (0x494, 'M', u'ҕ'), + (0x495, 'V'), + (0x496, 'M', u'җ'), + (0x497, 'V'), + (0x498, 'M', u'ҙ'), + (0x499, 'V'), + (0x49A, 'M', u'қ'), + (0x49B, 'V'), + (0x49C, 'M', u'ҝ'), + (0x49D, 'V'), + ] + +def _seg_8(): + return [ + (0x49E, 'M', u'ҟ'), + (0x49F, 'V'), + (0x4A0, 'M', u'ҡ'), + (0x4A1, 'V'), + (0x4A2, 'M', u'ң'), + (0x4A3, 'V'), + (0x4A4, 'M', u'ҥ'), + (0x4A5, 'V'), + (0x4A6, 'M', u'ҧ'), + (0x4A7, 'V'), + (0x4A8, 'M', u'ҩ'), + (0x4A9, 'V'), + (0x4AA, 'M', u'ҫ'), + (0x4AB, 'V'), + (0x4AC, 'M', u'ҭ'), + (0x4AD, 'V'), + (0x4AE, 'M', u'ү'), + (0x4AF, 'V'), + (0x4B0, 'M', u'ұ'), + (0x4B1, 'V'), + (0x4B2, 'M', u'ҳ'), + (0x4B3, 'V'), + (0x4B4, 'M', u'ҵ'), + (0x4B5, 'V'), + (0x4B6, 'M', u'ҷ'), + (0x4B7, 'V'), + (0x4B8, 'M', u'ҹ'), + (0x4B9, 'V'), + (0x4BA, 'M', u'һ'), + (0x4BB, 'V'), + (0x4BC, 'M', u'ҽ'), + (0x4BD, 'V'), + (0x4BE, 'M', u'ҿ'), + (0x4BF, 'V'), + (0x4C0, 'X'), + (0x4C1, 'M', u'ӂ'), + (0x4C2, 'V'), + (0x4C3, 'M', u'ӄ'), + (0x4C4, 'V'), + (0x4C5, 'M', u'ӆ'), + (0x4C6, 'V'), + (0x4C7, 'M', u'ӈ'), + (0x4C8, 'V'), + (0x4C9, 'M', u'ӊ'), + (0x4CA, 'V'), + (0x4CB, 'M', u'ӌ'), + (0x4CC, 'V'), + (0x4CD, 'M', u'ӎ'), + (0x4CE, 'V'), + (0x4D0, 'M', u'ӑ'), + (0x4D1, 'V'), + (0x4D2, 'M', u'ӓ'), + (0x4D3, 'V'), + (0x4D4, 'M', u'ӕ'), + (0x4D5, 'V'), + (0x4D6, 'M', u'ӗ'), + (0x4D7, 'V'), + (0x4D8, 'M', u'ә'), + (0x4D9, 'V'), + (0x4DA, 'M', u'ӛ'), + (0x4DB, 'V'), + (0x4DC, 'M', u'ӝ'), + (0x4DD, 'V'), + (0x4DE, 'M', u'ӟ'), + (0x4DF, 'V'), + (0x4E0, 'M', u'ӡ'), + (0x4E1, 'V'), + (0x4E2, 'M', u'ӣ'), + (0x4E3, 'V'), + (0x4E4, 'M', u'ӥ'), + (0x4E5, 'V'), + (0x4E6, 'M', u'ӧ'), + (0x4E7, 'V'), + (0x4E8, 'M', u'ө'), + (0x4E9, 'V'), + (0x4EA, 'M', u'ӫ'), + (0x4EB, 'V'), + (0x4EC, 'M', u'ӭ'), + (0x4ED, 'V'), + (0x4EE, 'M', u'ӯ'), + (0x4EF, 'V'), + (0x4F0, 'M', u'ӱ'), + (0x4F1, 'V'), + (0x4F2, 'M', u'ӳ'), + (0x4F3, 'V'), + (0x4F4, 'M', u'ӵ'), + (0x4F5, 'V'), + (0x4F6, 'M', u'ӷ'), + (0x4F7, 'V'), + (0x4F8, 'M', u'ӹ'), + (0x4F9, 'V'), + (0x4FA, 'M', u'ӻ'), + (0x4FB, 'V'), + (0x4FC, 'M', u'ӽ'), + (0x4FD, 'V'), + (0x4FE, 'M', u'ӿ'), + (0x4FF, 'V'), + (0x500, 'M', u'ԁ'), + (0x501, 'V'), + (0x502, 'M', u'ԃ'), + ] + +def _seg_9(): + return [ + (0x503, 'V'), + (0x504, 'M', u'ԅ'), + (0x505, 'V'), + (0x506, 'M', u'ԇ'), + (0x507, 'V'), + (0x508, 'M', u'ԉ'), + (0x509, 'V'), + (0x50A, 'M', u'ԋ'), + (0x50B, 'V'), + (0x50C, 'M', u'ԍ'), + (0x50D, 'V'), + (0x50E, 'M', u'ԏ'), + (0x50F, 'V'), + (0x510, 'M', u'ԑ'), + (0x511, 'V'), + (0x512, 'M', u'ԓ'), + (0x513, 'V'), + (0x514, 'M', u'ԕ'), + (0x515, 'V'), + (0x516, 'M', u'ԗ'), + (0x517, 'V'), + (0x518, 'M', u'ԙ'), + (0x519, 'V'), + (0x51A, 'M', u'ԛ'), + (0x51B, 'V'), + (0x51C, 'M', u'ԝ'), + (0x51D, 'V'), + (0x51E, 'M', u'ԟ'), + (0x51F, 'V'), + (0x520, 'M', u'ԡ'), + (0x521, 'V'), + (0x522, 'M', u'ԣ'), + (0x523, 'V'), + (0x524, 'M', u'ԥ'), + (0x525, 'V'), + (0x526, 'M', u'ԧ'), + (0x527, 'V'), + (0x528, 'M', u'ԩ'), + (0x529, 'V'), + (0x52A, 'M', u'ԫ'), + (0x52B, 'V'), + (0x52C, 'M', u'ԭ'), + (0x52D, 'V'), + (0x52E, 'M', u'ԯ'), + (0x52F, 'V'), + (0x530, 'X'), + (0x531, 'M', u'ա'), + (0x532, 'M', u'բ'), + (0x533, 'M', u'գ'), + (0x534, 'M', u'դ'), + (0x535, 'M', u'ե'), + (0x536, 'M', u'զ'), + (0x537, 'M', u'է'), + (0x538, 'M', u'ը'), + (0x539, 'M', u'թ'), + (0x53A, 'M', u'ժ'), + (0x53B, 'M', u'ի'), + (0x53C, 'M', u'լ'), + (0x53D, 'M', u'խ'), + (0x53E, 'M', u'ծ'), + (0x53F, 'M', u'կ'), + (0x540, 'M', u'հ'), + (0x541, 'M', u'ձ'), + (0x542, 'M', u'ղ'), + (0x543, 'M', u'ճ'), + (0x544, 'M', u'մ'), + (0x545, 'M', u'յ'), + (0x546, 'M', u'ն'), + (0x547, 'M', u'շ'), + (0x548, 'M', u'ո'), + (0x549, 'M', u'չ'), + (0x54A, 'M', u'պ'), + (0x54B, 'M', u'ջ'), + (0x54C, 'M', u'ռ'), + (0x54D, 'M', u'ս'), + (0x54E, 'M', u'վ'), + (0x54F, 'M', u'տ'), + (0x550, 'M', u'ր'), + (0x551, 'M', u'ց'), + (0x552, 'M', u'ւ'), + (0x553, 'M', u'փ'), + (0x554, 'M', u'ք'), + (0x555, 'M', u'օ'), + (0x556, 'M', u'ֆ'), + (0x557, 'X'), + (0x559, 'V'), + (0x587, 'M', u'եւ'), + (0x588, 'V'), + (0x58B, 'X'), + (0x58D, 'V'), + (0x590, 'X'), + (0x591, 'V'), + (0x5C8, 'X'), + (0x5D0, 'V'), + (0x5EB, 'X'), + (0x5EF, 'V'), + (0x5F5, 'X'), + (0x606, 'V'), + (0x61C, 'X'), + (0x61E, 'V'), + ] + +def _seg_10(): + return [ + (0x675, 'M', u'اٴ'), + (0x676, 'M', u'وٴ'), + (0x677, 'M', u'ۇٴ'), + (0x678, 'M', u'يٴ'), + (0x679, 'V'), + (0x6DD, 'X'), + (0x6DE, 'V'), + (0x70E, 'X'), + (0x710, 'V'), + (0x74B, 'X'), + (0x74D, 'V'), + (0x7B2, 'X'), + (0x7C0, 'V'), + (0x7FB, 'X'), + (0x7FD, 'V'), + (0x82E, 'X'), + (0x830, 'V'), + (0x83F, 'X'), + (0x840, 'V'), + (0x85C, 'X'), + (0x85E, 'V'), + (0x85F, 'X'), + (0x860, 'V'), + (0x86B, 'X'), + (0x8A0, 'V'), + (0x8B5, 'X'), + (0x8B6, 'V'), + (0x8BE, 'X'), + (0x8D3, 'V'), + (0x8E2, 'X'), + (0x8E3, 'V'), + (0x958, 'M', u'क़'), + (0x959, 'M', u'ख़'), + (0x95A, 'M', u'ग़'), + (0x95B, 'M', u'ज़'), + (0x95C, 'M', u'ड़'), + (0x95D, 'M', u'ढ़'), + (0x95E, 'M', u'फ़'), + (0x95F, 'M', u'य़'), + (0x960, 'V'), + (0x984, 'X'), + (0x985, 'V'), + (0x98D, 'X'), + (0x98F, 'V'), + (0x991, 'X'), + (0x993, 'V'), + (0x9A9, 'X'), + (0x9AA, 'V'), + (0x9B1, 'X'), + (0x9B2, 'V'), + (0x9B3, 'X'), + (0x9B6, 'V'), + (0x9BA, 'X'), + (0x9BC, 'V'), + (0x9C5, 'X'), + (0x9C7, 'V'), + (0x9C9, 'X'), + (0x9CB, 'V'), + (0x9CF, 'X'), + (0x9D7, 'V'), + (0x9D8, 'X'), + (0x9DC, 'M', u'ড়'), + (0x9DD, 'M', u'ঢ়'), + (0x9DE, 'X'), + (0x9DF, 'M', u'য়'), + (0x9E0, 'V'), + (0x9E4, 'X'), + (0x9E6, 'V'), + (0x9FF, 'X'), + (0xA01, 'V'), + (0xA04, 'X'), + (0xA05, 'V'), + (0xA0B, 'X'), + (0xA0F, 'V'), + (0xA11, 'X'), + (0xA13, 'V'), + (0xA29, 'X'), + (0xA2A, 'V'), + (0xA31, 'X'), + (0xA32, 'V'), + (0xA33, 'M', u'ਲ਼'), + (0xA34, 'X'), + (0xA35, 'V'), + (0xA36, 'M', u'ਸ਼'), + (0xA37, 'X'), + (0xA38, 'V'), + (0xA3A, 'X'), + (0xA3C, 'V'), + (0xA3D, 'X'), + (0xA3E, 'V'), + (0xA43, 'X'), + (0xA47, 'V'), + (0xA49, 'X'), + (0xA4B, 'V'), + (0xA4E, 'X'), + (0xA51, 'V'), + (0xA52, 'X'), + (0xA59, 'M', u'ਖ਼'), + (0xA5A, 'M', u'ਗ਼'), + (0xA5B, 'M', u'ਜ਼'), + ] + +def _seg_11(): + return [ + (0xA5C, 'V'), + (0xA5D, 'X'), + (0xA5E, 'M', u'ਫ਼'), + (0xA5F, 'X'), + (0xA66, 'V'), + (0xA77, 'X'), + (0xA81, 'V'), + (0xA84, 'X'), + (0xA85, 'V'), + (0xA8E, 'X'), + (0xA8F, 'V'), + (0xA92, 'X'), + (0xA93, 'V'), + (0xAA9, 'X'), + (0xAAA, 'V'), + (0xAB1, 'X'), + (0xAB2, 'V'), + (0xAB4, 'X'), + (0xAB5, 'V'), + (0xABA, 'X'), + (0xABC, 'V'), + (0xAC6, 'X'), + (0xAC7, 'V'), + (0xACA, 'X'), + (0xACB, 'V'), + (0xACE, 'X'), + (0xAD0, 'V'), + (0xAD1, 'X'), + (0xAE0, 'V'), + (0xAE4, 'X'), + (0xAE6, 'V'), + (0xAF2, 'X'), + (0xAF9, 'V'), + (0xB00, 'X'), + (0xB01, 'V'), + (0xB04, 'X'), + (0xB05, 'V'), + (0xB0D, 'X'), + (0xB0F, 'V'), + (0xB11, 'X'), + (0xB13, 'V'), + (0xB29, 'X'), + (0xB2A, 'V'), + (0xB31, 'X'), + (0xB32, 'V'), + (0xB34, 'X'), + (0xB35, 'V'), + (0xB3A, 'X'), + (0xB3C, 'V'), + (0xB45, 'X'), + (0xB47, 'V'), + (0xB49, 'X'), + (0xB4B, 'V'), + (0xB4E, 'X'), + (0xB56, 'V'), + (0xB58, 'X'), + (0xB5C, 'M', u'ଡ଼'), + (0xB5D, 'M', u'ଢ଼'), + (0xB5E, 'X'), + (0xB5F, 'V'), + (0xB64, 'X'), + (0xB66, 'V'), + (0xB78, 'X'), + (0xB82, 'V'), + (0xB84, 'X'), + (0xB85, 'V'), + (0xB8B, 'X'), + (0xB8E, 'V'), + (0xB91, 'X'), + (0xB92, 'V'), + (0xB96, 'X'), + (0xB99, 'V'), + (0xB9B, 'X'), + (0xB9C, 'V'), + (0xB9D, 'X'), + (0xB9E, 'V'), + (0xBA0, 'X'), + (0xBA3, 'V'), + (0xBA5, 'X'), + (0xBA8, 'V'), + (0xBAB, 'X'), + (0xBAE, 'V'), + (0xBBA, 'X'), + (0xBBE, 'V'), + (0xBC3, 'X'), + (0xBC6, 'V'), + (0xBC9, 'X'), + (0xBCA, 'V'), + (0xBCE, 'X'), + (0xBD0, 'V'), + (0xBD1, 'X'), + (0xBD7, 'V'), + (0xBD8, 'X'), + (0xBE6, 'V'), + (0xBFB, 'X'), + (0xC00, 'V'), + (0xC0D, 'X'), + (0xC0E, 'V'), + (0xC11, 'X'), + (0xC12, 'V'), + ] + +def _seg_12(): + return [ + (0xC29, 'X'), + (0xC2A, 'V'), + (0xC3A, 'X'), + (0xC3D, 'V'), + (0xC45, 'X'), + (0xC46, 'V'), + (0xC49, 'X'), + (0xC4A, 'V'), + (0xC4E, 'X'), + (0xC55, 'V'), + (0xC57, 'X'), + (0xC58, 'V'), + (0xC5B, 'X'), + (0xC60, 'V'), + (0xC64, 'X'), + (0xC66, 'V'), + (0xC70, 'X'), + (0xC78, 'V'), + (0xC8D, 'X'), + (0xC8E, 'V'), + (0xC91, 'X'), + (0xC92, 'V'), + (0xCA9, 'X'), + (0xCAA, 'V'), + (0xCB4, 'X'), + (0xCB5, 'V'), + (0xCBA, 'X'), + (0xCBC, 'V'), + (0xCC5, 'X'), + (0xCC6, 'V'), + (0xCC9, 'X'), + (0xCCA, 'V'), + (0xCCE, 'X'), + (0xCD5, 'V'), + (0xCD7, 'X'), + (0xCDE, 'V'), + (0xCDF, 'X'), + (0xCE0, 'V'), + (0xCE4, 'X'), + (0xCE6, 'V'), + (0xCF0, 'X'), + (0xCF1, 'V'), + (0xCF3, 'X'), + (0xD00, 'V'), + (0xD04, 'X'), + (0xD05, 'V'), + (0xD0D, 'X'), + (0xD0E, 'V'), + (0xD11, 'X'), + (0xD12, 'V'), + (0xD45, 'X'), + (0xD46, 'V'), + (0xD49, 'X'), + (0xD4A, 'V'), + (0xD50, 'X'), + (0xD54, 'V'), + (0xD64, 'X'), + (0xD66, 'V'), + (0xD80, 'X'), + (0xD82, 'V'), + (0xD84, 'X'), + (0xD85, 'V'), + (0xD97, 'X'), + (0xD9A, 'V'), + (0xDB2, 'X'), + (0xDB3, 'V'), + (0xDBC, 'X'), + (0xDBD, 'V'), + (0xDBE, 'X'), + (0xDC0, 'V'), + (0xDC7, 'X'), + (0xDCA, 'V'), + (0xDCB, 'X'), + (0xDCF, 'V'), + (0xDD5, 'X'), + (0xDD6, 'V'), + (0xDD7, 'X'), + (0xDD8, 'V'), + (0xDE0, 'X'), + (0xDE6, 'V'), + (0xDF0, 'X'), + (0xDF2, 'V'), + (0xDF5, 'X'), + (0xE01, 'V'), + (0xE33, 'M', u'ํา'), + (0xE34, 'V'), + (0xE3B, 'X'), + (0xE3F, 'V'), + (0xE5C, 'X'), + (0xE81, 'V'), + (0xE83, 'X'), + (0xE84, 'V'), + (0xE85, 'X'), + (0xE87, 'V'), + (0xE89, 'X'), + (0xE8A, 'V'), + (0xE8B, 'X'), + (0xE8D, 'V'), + (0xE8E, 'X'), + (0xE94, 'V'), + ] + +def _seg_13(): + return [ + (0xE98, 'X'), + (0xE99, 'V'), + (0xEA0, 'X'), + (0xEA1, 'V'), + (0xEA4, 'X'), + (0xEA5, 'V'), + (0xEA6, 'X'), + (0xEA7, 'V'), + (0xEA8, 'X'), + (0xEAA, 'V'), + (0xEAC, 'X'), + (0xEAD, 'V'), + (0xEB3, 'M', u'ໍາ'), + (0xEB4, 'V'), + (0xEBA, 'X'), + (0xEBB, 'V'), + (0xEBE, 'X'), + (0xEC0, 'V'), + (0xEC5, 'X'), + (0xEC6, 'V'), + (0xEC7, 'X'), + (0xEC8, 'V'), + (0xECE, 'X'), + (0xED0, 'V'), + (0xEDA, 'X'), + (0xEDC, 'M', u'ຫນ'), + (0xEDD, 'M', u'ຫມ'), + (0xEDE, 'V'), + (0xEE0, 'X'), + (0xF00, 'V'), + (0xF0C, 'M', u'་'), + (0xF0D, 'V'), + (0xF43, 'M', u'གྷ'), + (0xF44, 'V'), + (0xF48, 'X'), + (0xF49, 'V'), + (0xF4D, 'M', u'ཌྷ'), + (0xF4E, 'V'), + (0xF52, 'M', u'དྷ'), + (0xF53, 'V'), + (0xF57, 'M', u'བྷ'), + (0xF58, 'V'), + (0xF5C, 'M', u'ཛྷ'), + (0xF5D, 'V'), + (0xF69, 'M', u'ཀྵ'), + (0xF6A, 'V'), + (0xF6D, 'X'), + (0xF71, 'V'), + (0xF73, 'M', u'ཱི'), + (0xF74, 'V'), + (0xF75, 'M', u'ཱུ'), + (0xF76, 'M', u'ྲྀ'), + (0xF77, 'M', u'ྲཱྀ'), + (0xF78, 'M', u'ླྀ'), + (0xF79, 'M', u'ླཱྀ'), + (0xF7A, 'V'), + (0xF81, 'M', u'ཱྀ'), + (0xF82, 'V'), + (0xF93, 'M', u'ྒྷ'), + (0xF94, 'V'), + (0xF98, 'X'), + (0xF99, 'V'), + (0xF9D, 'M', u'ྜྷ'), + (0xF9E, 'V'), + (0xFA2, 'M', u'ྡྷ'), + (0xFA3, 'V'), + (0xFA7, 'M', u'ྦྷ'), + (0xFA8, 'V'), + (0xFAC, 'M', u'ྫྷ'), + (0xFAD, 'V'), + (0xFB9, 'M', u'ྐྵ'), + (0xFBA, 'V'), + (0xFBD, 'X'), + (0xFBE, 'V'), + (0xFCD, 'X'), + (0xFCE, 'V'), + (0xFDB, 'X'), + (0x1000, 'V'), + (0x10A0, 'X'), + (0x10C7, 'M', u'ⴧ'), + (0x10C8, 'X'), + (0x10CD, 'M', u'ⴭ'), + (0x10CE, 'X'), + (0x10D0, 'V'), + (0x10FC, 'M', u'ნ'), + (0x10FD, 'V'), + (0x115F, 'X'), + (0x1161, 'V'), + (0x1249, 'X'), + (0x124A, 'V'), + (0x124E, 'X'), + (0x1250, 'V'), + (0x1257, 'X'), + (0x1258, 'V'), + (0x1259, 'X'), + (0x125A, 'V'), + (0x125E, 'X'), + (0x1260, 'V'), + (0x1289, 'X'), + (0x128A, 'V'), + ] + +def _seg_14(): + return [ + (0x128E, 'X'), + (0x1290, 'V'), + (0x12B1, 'X'), + (0x12B2, 'V'), + (0x12B6, 'X'), + (0x12B8, 'V'), + (0x12BF, 'X'), + (0x12C0, 'V'), + (0x12C1, 'X'), + (0x12C2, 'V'), + (0x12C6, 'X'), + (0x12C8, 'V'), + (0x12D7, 'X'), + (0x12D8, 'V'), + (0x1311, 'X'), + (0x1312, 'V'), + (0x1316, 'X'), + (0x1318, 'V'), + (0x135B, 'X'), + (0x135D, 'V'), + (0x137D, 'X'), + (0x1380, 'V'), + (0x139A, 'X'), + (0x13A0, 'V'), + (0x13F6, 'X'), + (0x13F8, 'M', u'Ᏸ'), + (0x13F9, 'M', u'Ᏹ'), + (0x13FA, 'M', u'Ᏺ'), + (0x13FB, 'M', u'Ᏻ'), + (0x13FC, 'M', u'Ᏼ'), + (0x13FD, 'M', u'Ᏽ'), + (0x13FE, 'X'), + (0x1400, 'V'), + (0x1680, 'X'), + (0x1681, 'V'), + (0x169D, 'X'), + (0x16A0, 'V'), + (0x16F9, 'X'), + (0x1700, 'V'), + (0x170D, 'X'), + (0x170E, 'V'), + (0x1715, 'X'), + (0x1720, 'V'), + (0x1737, 'X'), + (0x1740, 'V'), + (0x1754, 'X'), + (0x1760, 'V'), + (0x176D, 'X'), + (0x176E, 'V'), + (0x1771, 'X'), + (0x1772, 'V'), + (0x1774, 'X'), + (0x1780, 'V'), + (0x17B4, 'X'), + (0x17B6, 'V'), + (0x17DE, 'X'), + (0x17E0, 'V'), + (0x17EA, 'X'), + (0x17F0, 'V'), + (0x17FA, 'X'), + (0x1800, 'V'), + (0x1806, 'X'), + (0x1807, 'V'), + (0x180B, 'I'), + (0x180E, 'X'), + (0x1810, 'V'), + (0x181A, 'X'), + (0x1820, 'V'), + (0x1879, 'X'), + (0x1880, 'V'), + (0x18AB, 'X'), + (0x18B0, 'V'), + (0x18F6, 'X'), + (0x1900, 'V'), + (0x191F, 'X'), + (0x1920, 'V'), + (0x192C, 'X'), + (0x1930, 'V'), + (0x193C, 'X'), + (0x1940, 'V'), + (0x1941, 'X'), + (0x1944, 'V'), + (0x196E, 'X'), + (0x1970, 'V'), + (0x1975, 'X'), + (0x1980, 'V'), + (0x19AC, 'X'), + (0x19B0, 'V'), + (0x19CA, 'X'), + (0x19D0, 'V'), + (0x19DB, 'X'), + (0x19DE, 'V'), + (0x1A1C, 'X'), + (0x1A1E, 'V'), + (0x1A5F, 'X'), + (0x1A60, 'V'), + (0x1A7D, 'X'), + (0x1A7F, 'V'), + (0x1A8A, 'X'), + (0x1A90, 'V'), + ] + +def _seg_15(): + return [ + (0x1A9A, 'X'), + (0x1AA0, 'V'), + (0x1AAE, 'X'), + (0x1AB0, 'V'), + (0x1ABF, 'X'), + (0x1B00, 'V'), + (0x1B4C, 'X'), + (0x1B50, 'V'), + (0x1B7D, 'X'), + (0x1B80, 'V'), + (0x1BF4, 'X'), + (0x1BFC, 'V'), + (0x1C38, 'X'), + (0x1C3B, 'V'), + (0x1C4A, 'X'), + (0x1C4D, 'V'), + (0x1C80, 'M', u'в'), + (0x1C81, 'M', u'д'), + (0x1C82, 'M', u'о'), + (0x1C83, 'M', u'с'), + (0x1C84, 'M', u'т'), + (0x1C86, 'M', u'ъ'), + (0x1C87, 'M', u'ѣ'), + (0x1C88, 'M', u'ꙋ'), + (0x1C89, 'X'), + (0x1CC0, 'V'), + (0x1CC8, 'X'), + (0x1CD0, 'V'), + (0x1CFA, 'X'), + (0x1D00, 'V'), + (0x1D2C, 'M', u'a'), + (0x1D2D, 'M', u'æ'), + (0x1D2E, 'M', u'b'), + (0x1D2F, 'V'), + (0x1D30, 'M', u'd'), + (0x1D31, 'M', u'e'), + (0x1D32, 'M', u'ǝ'), + (0x1D33, 'M', u'g'), + (0x1D34, 'M', u'h'), + (0x1D35, 'M', u'i'), + (0x1D36, 'M', u'j'), + (0x1D37, 'M', u'k'), + (0x1D38, 'M', u'l'), + (0x1D39, 'M', u'm'), + (0x1D3A, 'M', u'n'), + (0x1D3B, 'V'), + (0x1D3C, 'M', u'o'), + (0x1D3D, 'M', u'ȣ'), + (0x1D3E, 'M', u'p'), + (0x1D3F, 'M', u'r'), + (0x1D40, 'M', u't'), + (0x1D41, 'M', u'u'), + (0x1D42, 'M', u'w'), + (0x1D43, 'M', u'a'), + (0x1D44, 'M', u'ɐ'), + (0x1D45, 'M', u'ɑ'), + (0x1D46, 'M', u'ᴂ'), + (0x1D47, 'M', u'b'), + (0x1D48, 'M', u'd'), + (0x1D49, 'M', u'e'), + (0x1D4A, 'M', u'ə'), + (0x1D4B, 'M', u'ɛ'), + (0x1D4C, 'M', u'ɜ'), + (0x1D4D, 'M', u'g'), + (0x1D4E, 'V'), + (0x1D4F, 'M', u'k'), + (0x1D50, 'M', u'm'), + (0x1D51, 'M', u'ŋ'), + (0x1D52, 'M', u'o'), + (0x1D53, 'M', u'ɔ'), + (0x1D54, 'M', u'ᴖ'), + (0x1D55, 'M', u'ᴗ'), + (0x1D56, 'M', u'p'), + (0x1D57, 'M', u't'), + (0x1D58, 'M', u'u'), + (0x1D59, 'M', u'ᴝ'), + (0x1D5A, 'M', u'ɯ'), + (0x1D5B, 'M', u'v'), + (0x1D5C, 'M', u'ᴥ'), + (0x1D5D, 'M', u'β'), + (0x1D5E, 'M', u'γ'), + (0x1D5F, 'M', u'δ'), + (0x1D60, 'M', u'φ'), + (0x1D61, 'M', u'χ'), + (0x1D62, 'M', u'i'), + (0x1D63, 'M', u'r'), + (0x1D64, 'M', u'u'), + (0x1D65, 'M', u'v'), + (0x1D66, 'M', u'β'), + (0x1D67, 'M', u'γ'), + (0x1D68, 'M', u'ρ'), + (0x1D69, 'M', u'φ'), + (0x1D6A, 'M', u'χ'), + (0x1D6B, 'V'), + (0x1D78, 'M', u'н'), + (0x1D79, 'V'), + (0x1D9B, 'M', u'ɒ'), + (0x1D9C, 'M', u'c'), + (0x1D9D, 'M', u'ɕ'), + (0x1D9E, 'M', u'ð'), + ] + +def _seg_16(): + return [ + (0x1D9F, 'M', u'ɜ'), + (0x1DA0, 'M', u'f'), + (0x1DA1, 'M', u'ɟ'), + (0x1DA2, 'M', u'ɡ'), + (0x1DA3, 'M', u'ɥ'), + (0x1DA4, 'M', u'ɨ'), + (0x1DA5, 'M', u'ɩ'), + (0x1DA6, 'M', u'ɪ'), + (0x1DA7, 'M', u'ᵻ'), + (0x1DA8, 'M', u'ʝ'), + (0x1DA9, 'M', u'ɭ'), + (0x1DAA, 'M', u'ᶅ'), + (0x1DAB, 'M', u'ʟ'), + (0x1DAC, 'M', u'ɱ'), + (0x1DAD, 'M', u'ɰ'), + (0x1DAE, 'M', u'ɲ'), + (0x1DAF, 'M', u'ɳ'), + (0x1DB0, 'M', u'ɴ'), + (0x1DB1, 'M', u'ɵ'), + (0x1DB2, 'M', u'ɸ'), + (0x1DB3, 'M', u'ʂ'), + (0x1DB4, 'M', u'ʃ'), + (0x1DB5, 'M', u'ƫ'), + (0x1DB6, 'M', u'ʉ'), + (0x1DB7, 'M', u'ʊ'), + (0x1DB8, 'M', u'ᴜ'), + (0x1DB9, 'M', u'ʋ'), + (0x1DBA, 'M', u'ʌ'), + (0x1DBB, 'M', u'z'), + (0x1DBC, 'M', u'ʐ'), + (0x1DBD, 'M', u'ʑ'), + (0x1DBE, 'M', u'ʒ'), + (0x1DBF, 'M', u'θ'), + (0x1DC0, 'V'), + (0x1DFA, 'X'), + (0x1DFB, 'V'), + (0x1E00, 'M', u'ḁ'), + (0x1E01, 'V'), + (0x1E02, 'M', u'ḃ'), + (0x1E03, 'V'), + (0x1E04, 'M', u'ḅ'), + (0x1E05, 'V'), + (0x1E06, 'M', u'ḇ'), + (0x1E07, 'V'), + (0x1E08, 'M', u'ḉ'), + (0x1E09, 'V'), + (0x1E0A, 'M', u'ḋ'), + (0x1E0B, 'V'), + (0x1E0C, 'M', u'ḍ'), + (0x1E0D, 'V'), + (0x1E0E, 'M', u'ḏ'), + (0x1E0F, 'V'), + (0x1E10, 'M', u'ḑ'), + (0x1E11, 'V'), + (0x1E12, 'M', u'ḓ'), + (0x1E13, 'V'), + (0x1E14, 'M', u'ḕ'), + (0x1E15, 'V'), + (0x1E16, 'M', u'ḗ'), + (0x1E17, 'V'), + (0x1E18, 'M', u'ḙ'), + (0x1E19, 'V'), + (0x1E1A, 'M', u'ḛ'), + (0x1E1B, 'V'), + (0x1E1C, 'M', u'ḝ'), + (0x1E1D, 'V'), + (0x1E1E, 'M', u'ḟ'), + (0x1E1F, 'V'), + (0x1E20, 'M', u'ḡ'), + (0x1E21, 'V'), + (0x1E22, 'M', u'ḣ'), + (0x1E23, 'V'), + (0x1E24, 'M', u'ḥ'), + (0x1E25, 'V'), + (0x1E26, 'M', u'ḧ'), + (0x1E27, 'V'), + (0x1E28, 'M', u'ḩ'), + (0x1E29, 'V'), + (0x1E2A, 'M', u'ḫ'), + (0x1E2B, 'V'), + (0x1E2C, 'M', u'ḭ'), + (0x1E2D, 'V'), + (0x1E2E, 'M', u'ḯ'), + (0x1E2F, 'V'), + (0x1E30, 'M', u'ḱ'), + (0x1E31, 'V'), + (0x1E32, 'M', u'ḳ'), + (0x1E33, 'V'), + (0x1E34, 'M', u'ḵ'), + (0x1E35, 'V'), + (0x1E36, 'M', u'ḷ'), + (0x1E37, 'V'), + (0x1E38, 'M', u'ḹ'), + (0x1E39, 'V'), + (0x1E3A, 'M', u'ḻ'), + (0x1E3B, 'V'), + (0x1E3C, 'M', u'ḽ'), + (0x1E3D, 'V'), + (0x1E3E, 'M', u'ḿ'), + (0x1E3F, 'V'), + ] + +def _seg_17(): + return [ + (0x1E40, 'M', u'ṁ'), + (0x1E41, 'V'), + (0x1E42, 'M', u'ṃ'), + (0x1E43, 'V'), + (0x1E44, 'M', u'ṅ'), + (0x1E45, 'V'), + (0x1E46, 'M', u'ṇ'), + (0x1E47, 'V'), + (0x1E48, 'M', u'ṉ'), + (0x1E49, 'V'), + (0x1E4A, 'M', u'ṋ'), + (0x1E4B, 'V'), + (0x1E4C, 'M', u'ṍ'), + (0x1E4D, 'V'), + (0x1E4E, 'M', u'ṏ'), + (0x1E4F, 'V'), + (0x1E50, 'M', u'ṑ'), + (0x1E51, 'V'), + (0x1E52, 'M', u'ṓ'), + (0x1E53, 'V'), + (0x1E54, 'M', u'ṕ'), + (0x1E55, 'V'), + (0x1E56, 'M', u'ṗ'), + (0x1E57, 'V'), + (0x1E58, 'M', u'ṙ'), + (0x1E59, 'V'), + (0x1E5A, 'M', u'ṛ'), + (0x1E5B, 'V'), + (0x1E5C, 'M', u'ṝ'), + (0x1E5D, 'V'), + (0x1E5E, 'M', u'ṟ'), + (0x1E5F, 'V'), + (0x1E60, 'M', u'ṡ'), + (0x1E61, 'V'), + (0x1E62, 'M', u'ṣ'), + (0x1E63, 'V'), + (0x1E64, 'M', u'ṥ'), + (0x1E65, 'V'), + (0x1E66, 'M', u'ṧ'), + (0x1E67, 'V'), + (0x1E68, 'M', u'ṩ'), + (0x1E69, 'V'), + (0x1E6A, 'M', u'ṫ'), + (0x1E6B, 'V'), + (0x1E6C, 'M', u'ṭ'), + (0x1E6D, 'V'), + (0x1E6E, 'M', u'ṯ'), + (0x1E6F, 'V'), + (0x1E70, 'M', u'ṱ'), + (0x1E71, 'V'), + (0x1E72, 'M', u'ṳ'), + (0x1E73, 'V'), + (0x1E74, 'M', u'ṵ'), + (0x1E75, 'V'), + (0x1E76, 'M', u'ṷ'), + (0x1E77, 'V'), + (0x1E78, 'M', u'ṹ'), + (0x1E79, 'V'), + (0x1E7A, 'M', u'ṻ'), + (0x1E7B, 'V'), + (0x1E7C, 'M', u'ṽ'), + (0x1E7D, 'V'), + (0x1E7E, 'M', u'ṿ'), + (0x1E7F, 'V'), + (0x1E80, 'M', u'ẁ'), + (0x1E81, 'V'), + (0x1E82, 'M', u'ẃ'), + (0x1E83, 'V'), + (0x1E84, 'M', u'ẅ'), + (0x1E85, 'V'), + (0x1E86, 'M', u'ẇ'), + (0x1E87, 'V'), + (0x1E88, 'M', u'ẉ'), + (0x1E89, 'V'), + (0x1E8A, 'M', u'ẋ'), + (0x1E8B, 'V'), + (0x1E8C, 'M', u'ẍ'), + (0x1E8D, 'V'), + (0x1E8E, 'M', u'ẏ'), + (0x1E8F, 'V'), + (0x1E90, 'M', u'ẑ'), + (0x1E91, 'V'), + (0x1E92, 'M', u'ẓ'), + (0x1E93, 'V'), + (0x1E94, 'M', u'ẕ'), + (0x1E95, 'V'), + (0x1E9A, 'M', u'aʾ'), + (0x1E9B, 'M', u'ṡ'), + (0x1E9C, 'V'), + (0x1E9E, 'M', u'ss'), + (0x1E9F, 'V'), + (0x1EA0, 'M', u'ạ'), + (0x1EA1, 'V'), + (0x1EA2, 'M', u'ả'), + (0x1EA3, 'V'), + (0x1EA4, 'M', u'ấ'), + (0x1EA5, 'V'), + (0x1EA6, 'M', u'ầ'), + (0x1EA7, 'V'), + (0x1EA8, 'M', u'ẩ'), + ] + +def _seg_18(): + return [ + (0x1EA9, 'V'), + (0x1EAA, 'M', u'ẫ'), + (0x1EAB, 'V'), + (0x1EAC, 'M', u'ậ'), + (0x1EAD, 'V'), + (0x1EAE, 'M', u'ắ'), + (0x1EAF, 'V'), + (0x1EB0, 'M', u'ằ'), + (0x1EB1, 'V'), + (0x1EB2, 'M', u'ẳ'), + (0x1EB3, 'V'), + (0x1EB4, 'M', u'ẵ'), + (0x1EB5, 'V'), + (0x1EB6, 'M', u'ặ'), + (0x1EB7, 'V'), + (0x1EB8, 'M', u'ẹ'), + (0x1EB9, 'V'), + (0x1EBA, 'M', u'ẻ'), + (0x1EBB, 'V'), + (0x1EBC, 'M', u'ẽ'), + (0x1EBD, 'V'), + (0x1EBE, 'M', u'ế'), + (0x1EBF, 'V'), + (0x1EC0, 'M', u'ề'), + (0x1EC1, 'V'), + (0x1EC2, 'M', u'ể'), + (0x1EC3, 'V'), + (0x1EC4, 'M', u'ễ'), + (0x1EC5, 'V'), + (0x1EC6, 'M', u'ệ'), + (0x1EC7, 'V'), + (0x1EC8, 'M', u'ỉ'), + (0x1EC9, 'V'), + (0x1ECA, 'M', u'ị'), + (0x1ECB, 'V'), + (0x1ECC, 'M', u'ọ'), + (0x1ECD, 'V'), + (0x1ECE, 'M', u'ỏ'), + (0x1ECF, 'V'), + (0x1ED0, 'M', u'ố'), + (0x1ED1, 'V'), + (0x1ED2, 'M', u'ồ'), + (0x1ED3, 'V'), + (0x1ED4, 'M', u'ổ'), + (0x1ED5, 'V'), + (0x1ED6, 'M', u'ỗ'), + (0x1ED7, 'V'), + (0x1ED8, 'M', u'ộ'), + (0x1ED9, 'V'), + (0x1EDA, 'M', u'ớ'), + (0x1EDB, 'V'), + (0x1EDC, 'M', u'ờ'), + (0x1EDD, 'V'), + (0x1EDE, 'M', u'ở'), + (0x1EDF, 'V'), + (0x1EE0, 'M', u'ỡ'), + (0x1EE1, 'V'), + (0x1EE2, 'M', u'ợ'), + (0x1EE3, 'V'), + (0x1EE4, 'M', u'ụ'), + (0x1EE5, 'V'), + (0x1EE6, 'M', u'ủ'), + (0x1EE7, 'V'), + (0x1EE8, 'M', u'ứ'), + (0x1EE9, 'V'), + (0x1EEA, 'M', u'ừ'), + (0x1EEB, 'V'), + (0x1EEC, 'M', u'ử'), + (0x1EED, 'V'), + (0x1EEE, 'M', u'ữ'), + (0x1EEF, 'V'), + (0x1EF0, 'M', u'ự'), + (0x1EF1, 'V'), + (0x1EF2, 'M', u'ỳ'), + (0x1EF3, 'V'), + (0x1EF4, 'M', u'ỵ'), + (0x1EF5, 'V'), + (0x1EF6, 'M', u'ỷ'), + (0x1EF7, 'V'), + (0x1EF8, 'M', u'ỹ'), + (0x1EF9, 'V'), + (0x1EFA, 'M', u'ỻ'), + (0x1EFB, 'V'), + (0x1EFC, 'M', u'ỽ'), + (0x1EFD, 'V'), + (0x1EFE, 'M', u'ỿ'), + (0x1EFF, 'V'), + (0x1F08, 'M', u'ἀ'), + (0x1F09, 'M', u'ἁ'), + (0x1F0A, 'M', u'ἂ'), + (0x1F0B, 'M', u'ἃ'), + (0x1F0C, 'M', u'ἄ'), + (0x1F0D, 'M', u'ἅ'), + (0x1F0E, 'M', u'ἆ'), + (0x1F0F, 'M', u'ἇ'), + (0x1F10, 'V'), + (0x1F16, 'X'), + (0x1F18, 'M', u'ἐ'), + (0x1F19, 'M', u'ἑ'), + (0x1F1A, 'M', u'ἒ'), + ] + +def _seg_19(): + return [ + (0x1F1B, 'M', u'ἓ'), + (0x1F1C, 'M', u'ἔ'), + (0x1F1D, 'M', u'ἕ'), + (0x1F1E, 'X'), + (0x1F20, 'V'), + (0x1F28, 'M', u'ἠ'), + (0x1F29, 'M', u'ἡ'), + (0x1F2A, 'M', u'ἢ'), + (0x1F2B, 'M', u'ἣ'), + (0x1F2C, 'M', u'ἤ'), + (0x1F2D, 'M', u'ἥ'), + (0x1F2E, 'M', u'ἦ'), + (0x1F2F, 'M', u'ἧ'), + (0x1F30, 'V'), + (0x1F38, 'M', u'ἰ'), + (0x1F39, 'M', u'ἱ'), + (0x1F3A, 'M', u'ἲ'), + (0x1F3B, 'M', u'ἳ'), + (0x1F3C, 'M', u'ἴ'), + (0x1F3D, 'M', u'ἵ'), + (0x1F3E, 'M', u'ἶ'), + (0x1F3F, 'M', u'ἷ'), + (0x1F40, 'V'), + (0x1F46, 'X'), + (0x1F48, 'M', u'ὀ'), + (0x1F49, 'M', u'ὁ'), + (0x1F4A, 'M', u'ὂ'), + (0x1F4B, 'M', u'ὃ'), + (0x1F4C, 'M', u'ὄ'), + (0x1F4D, 'M', u'ὅ'), + (0x1F4E, 'X'), + (0x1F50, 'V'), + (0x1F58, 'X'), + (0x1F59, 'M', u'ὑ'), + (0x1F5A, 'X'), + (0x1F5B, 'M', u'ὓ'), + (0x1F5C, 'X'), + (0x1F5D, 'M', u'ὕ'), + (0x1F5E, 'X'), + (0x1F5F, 'M', u'ὗ'), + (0x1F60, 'V'), + (0x1F68, 'M', u'ὠ'), + (0x1F69, 'M', u'ὡ'), + (0x1F6A, 'M', u'ὢ'), + (0x1F6B, 'M', u'ὣ'), + (0x1F6C, 'M', u'ὤ'), + (0x1F6D, 'M', u'ὥ'), + (0x1F6E, 'M', u'ὦ'), + (0x1F6F, 'M', u'ὧ'), + (0x1F70, 'V'), + (0x1F71, 'M', u'ά'), + (0x1F72, 'V'), + (0x1F73, 'M', u'έ'), + (0x1F74, 'V'), + (0x1F75, 'M', u'ή'), + (0x1F76, 'V'), + (0x1F77, 'M', u'ί'), + (0x1F78, 'V'), + (0x1F79, 'M', u'ό'), + (0x1F7A, 'V'), + (0x1F7B, 'M', u'ύ'), + (0x1F7C, 'V'), + (0x1F7D, 'M', u'ώ'), + (0x1F7E, 'X'), + (0x1F80, 'M', u'ἀι'), + (0x1F81, 'M', u'ἁι'), + (0x1F82, 'M', u'ἂι'), + (0x1F83, 'M', u'ἃι'), + (0x1F84, 'M', u'ἄι'), + (0x1F85, 'M', u'ἅι'), + (0x1F86, 'M', u'ἆι'), + (0x1F87, 'M', u'ἇι'), + (0x1F88, 'M', u'ἀι'), + (0x1F89, 'M', u'ἁι'), + (0x1F8A, 'M', u'ἂι'), + (0x1F8B, 'M', u'ἃι'), + (0x1F8C, 'M', u'ἄι'), + (0x1F8D, 'M', u'ἅι'), + (0x1F8E, 'M', u'ἆι'), + (0x1F8F, 'M', u'ἇι'), + (0x1F90, 'M', u'ἠι'), + (0x1F91, 'M', u'ἡι'), + (0x1F92, 'M', u'ἢι'), + (0x1F93, 'M', u'ἣι'), + (0x1F94, 'M', u'ἤι'), + (0x1F95, 'M', u'ἥι'), + (0x1F96, 'M', u'ἦι'), + (0x1F97, 'M', u'ἧι'), + (0x1F98, 'M', u'ἠι'), + (0x1F99, 'M', u'ἡι'), + (0x1F9A, 'M', u'ἢι'), + (0x1F9B, 'M', u'ἣι'), + (0x1F9C, 'M', u'ἤι'), + (0x1F9D, 'M', u'ἥι'), + (0x1F9E, 'M', u'ἦι'), + (0x1F9F, 'M', u'ἧι'), + (0x1FA0, 'M', u'ὠι'), + (0x1FA1, 'M', u'ὡι'), + (0x1FA2, 'M', u'ὢι'), + (0x1FA3, 'M', u'ὣι'), + ] + +def _seg_20(): + return [ + (0x1FA4, 'M', u'ὤι'), + (0x1FA5, 'M', u'ὥι'), + (0x1FA6, 'M', u'ὦι'), + (0x1FA7, 'M', u'ὧι'), + (0x1FA8, 'M', u'ὠι'), + (0x1FA9, 'M', u'ὡι'), + (0x1FAA, 'M', u'ὢι'), + (0x1FAB, 'M', u'ὣι'), + (0x1FAC, 'M', u'ὤι'), + (0x1FAD, 'M', u'ὥι'), + (0x1FAE, 'M', u'ὦι'), + (0x1FAF, 'M', u'ὧι'), + (0x1FB0, 'V'), + (0x1FB2, 'M', u'ὰι'), + (0x1FB3, 'M', u'αι'), + (0x1FB4, 'M', u'άι'), + (0x1FB5, 'X'), + (0x1FB6, 'V'), + (0x1FB7, 'M', u'ᾶι'), + (0x1FB8, 'M', u'ᾰ'), + (0x1FB9, 'M', u'ᾱ'), + (0x1FBA, 'M', u'ὰ'), + (0x1FBB, 'M', u'ά'), + (0x1FBC, 'M', u'αι'), + (0x1FBD, '3', u' ̓'), + (0x1FBE, 'M', u'ι'), + (0x1FBF, '3', u' ̓'), + (0x1FC0, '3', u' ͂'), + (0x1FC1, '3', u' ̈͂'), + (0x1FC2, 'M', u'ὴι'), + (0x1FC3, 'M', u'ηι'), + (0x1FC4, 'M', u'ήι'), + (0x1FC5, 'X'), + (0x1FC6, 'V'), + (0x1FC7, 'M', u'ῆι'), + (0x1FC8, 'M', u'ὲ'), + (0x1FC9, 'M', u'έ'), + (0x1FCA, 'M', u'ὴ'), + (0x1FCB, 'M', u'ή'), + (0x1FCC, 'M', u'ηι'), + (0x1FCD, '3', u' ̓̀'), + (0x1FCE, '3', u' ̓́'), + (0x1FCF, '3', u' ̓͂'), + (0x1FD0, 'V'), + (0x1FD3, 'M', u'ΐ'), + (0x1FD4, 'X'), + (0x1FD6, 'V'), + (0x1FD8, 'M', u'ῐ'), + (0x1FD9, 'M', u'ῑ'), + (0x1FDA, 'M', u'ὶ'), + (0x1FDB, 'M', u'ί'), + (0x1FDC, 'X'), + (0x1FDD, '3', u' ̔̀'), + (0x1FDE, '3', u' ̔́'), + (0x1FDF, '3', u' ̔͂'), + (0x1FE0, 'V'), + (0x1FE3, 'M', u'ΰ'), + (0x1FE4, 'V'), + (0x1FE8, 'M', u'ῠ'), + (0x1FE9, 'M', u'ῡ'), + (0x1FEA, 'M', u'ὺ'), + (0x1FEB, 'M', u'ύ'), + (0x1FEC, 'M', u'ῥ'), + (0x1FED, '3', u' ̈̀'), + (0x1FEE, '3', u' ̈́'), + (0x1FEF, '3', u'`'), + (0x1FF0, 'X'), + (0x1FF2, 'M', u'ὼι'), + (0x1FF3, 'M', u'ωι'), + (0x1FF4, 'M', u'ώι'), + (0x1FF5, 'X'), + (0x1FF6, 'V'), + (0x1FF7, 'M', u'ῶι'), + (0x1FF8, 'M', u'ὸ'), + (0x1FF9, 'M', u'ό'), + (0x1FFA, 'M', u'ὼ'), + (0x1FFB, 'M', u'ώ'), + (0x1FFC, 'M', u'ωι'), + (0x1FFD, '3', u' ́'), + (0x1FFE, '3', u' ̔'), + (0x1FFF, 'X'), + (0x2000, '3', u' '), + (0x200B, 'I'), + (0x200C, 'D', u''), + (0x200E, 'X'), + (0x2010, 'V'), + (0x2011, 'M', u'‐'), + (0x2012, 'V'), + (0x2017, '3', u' ̳'), + (0x2018, 'V'), + (0x2024, 'X'), + (0x2027, 'V'), + (0x2028, 'X'), + (0x202F, '3', u' '), + (0x2030, 'V'), + (0x2033, 'M', u'′′'), + (0x2034, 'M', u'′′′'), + (0x2035, 'V'), + (0x2036, 'M', u'‵‵'), + (0x2037, 'M', u'‵‵‵'), + ] + +def _seg_21(): + return [ + (0x2038, 'V'), + (0x203C, '3', u'!!'), + (0x203D, 'V'), + (0x203E, '3', u' ̅'), + (0x203F, 'V'), + (0x2047, '3', u'??'), + (0x2048, '3', u'?!'), + (0x2049, '3', u'!?'), + (0x204A, 'V'), + (0x2057, 'M', u'′′′′'), + (0x2058, 'V'), + (0x205F, '3', u' '), + (0x2060, 'I'), + (0x2061, 'X'), + (0x2064, 'I'), + (0x2065, 'X'), + (0x2070, 'M', u'0'), + (0x2071, 'M', u'i'), + (0x2072, 'X'), + (0x2074, 'M', u'4'), + (0x2075, 'M', u'5'), + (0x2076, 'M', u'6'), + (0x2077, 'M', u'7'), + (0x2078, 'M', u'8'), + (0x2079, 'M', u'9'), + (0x207A, '3', u'+'), + (0x207B, 'M', u'−'), + (0x207C, '3', u'='), + (0x207D, '3', u'('), + (0x207E, '3', u')'), + (0x207F, 'M', u'n'), + (0x2080, 'M', u'0'), + (0x2081, 'M', u'1'), + (0x2082, 'M', u'2'), + (0x2083, 'M', u'3'), + (0x2084, 'M', u'4'), + (0x2085, 'M', u'5'), + (0x2086, 'M', u'6'), + (0x2087, 'M', u'7'), + (0x2088, 'M', u'8'), + (0x2089, 'M', u'9'), + (0x208A, '3', u'+'), + (0x208B, 'M', u'−'), + (0x208C, '3', u'='), + (0x208D, '3', u'('), + (0x208E, '3', u')'), + (0x208F, 'X'), + (0x2090, 'M', u'a'), + (0x2091, 'M', u'e'), + (0x2092, 'M', u'o'), + (0x2093, 'M', u'x'), + (0x2094, 'M', u'ə'), + (0x2095, 'M', u'h'), + (0x2096, 'M', u'k'), + (0x2097, 'M', u'l'), + (0x2098, 'M', u'm'), + (0x2099, 'M', u'n'), + (0x209A, 'M', u'p'), + (0x209B, 'M', u's'), + (0x209C, 'M', u't'), + (0x209D, 'X'), + (0x20A0, 'V'), + (0x20A8, 'M', u'rs'), + (0x20A9, 'V'), + (0x20C0, 'X'), + (0x20D0, 'V'), + (0x20F1, 'X'), + (0x2100, '3', u'a/c'), + (0x2101, '3', u'a/s'), + (0x2102, 'M', u'c'), + (0x2103, 'M', u'°c'), + (0x2104, 'V'), + (0x2105, '3', u'c/o'), + (0x2106, '3', u'c/u'), + (0x2107, 'M', u'ɛ'), + (0x2108, 'V'), + (0x2109, 'M', u'°f'), + (0x210A, 'M', u'g'), + (0x210B, 'M', u'h'), + (0x210F, 'M', u'ħ'), + (0x2110, 'M', u'i'), + (0x2112, 'M', u'l'), + (0x2114, 'V'), + (0x2115, 'M', u'n'), + (0x2116, 'M', u'no'), + (0x2117, 'V'), + (0x2119, 'M', u'p'), + (0x211A, 'M', u'q'), + (0x211B, 'M', u'r'), + (0x211E, 'V'), + (0x2120, 'M', u'sm'), + (0x2121, 'M', u'tel'), + (0x2122, 'M', u'tm'), + (0x2123, 'V'), + (0x2124, 'M', u'z'), + (0x2125, 'V'), + (0x2126, 'M', u'ω'), + (0x2127, 'V'), + (0x2128, 'M', u'z'), + (0x2129, 'V'), + ] + +def _seg_22(): + return [ + (0x212A, 'M', u'k'), + (0x212B, 'M', u'å'), + (0x212C, 'M', u'b'), + (0x212D, 'M', u'c'), + (0x212E, 'V'), + (0x212F, 'M', u'e'), + (0x2131, 'M', u'f'), + (0x2132, 'X'), + (0x2133, 'M', u'm'), + (0x2134, 'M', u'o'), + (0x2135, 'M', u'א'), + (0x2136, 'M', u'ב'), + (0x2137, 'M', u'ג'), + (0x2138, 'M', u'ד'), + (0x2139, 'M', u'i'), + (0x213A, 'V'), + (0x213B, 'M', u'fax'), + (0x213C, 'M', u'π'), + (0x213D, 'M', u'γ'), + (0x213F, 'M', u'π'), + (0x2140, 'M', u'∑'), + (0x2141, 'V'), + (0x2145, 'M', u'd'), + (0x2147, 'M', u'e'), + (0x2148, 'M', u'i'), + (0x2149, 'M', u'j'), + (0x214A, 'V'), + (0x2150, 'M', u'1⁄7'), + (0x2151, 'M', u'1⁄9'), + (0x2152, 'M', u'1⁄10'), + (0x2153, 'M', u'1⁄3'), + (0x2154, 'M', u'2⁄3'), + (0x2155, 'M', u'1⁄5'), + (0x2156, 'M', u'2⁄5'), + (0x2157, 'M', u'3⁄5'), + (0x2158, 'M', u'4⁄5'), + (0x2159, 'M', u'1⁄6'), + (0x215A, 'M', u'5⁄6'), + (0x215B, 'M', u'1⁄8'), + (0x215C, 'M', u'3⁄8'), + (0x215D, 'M', u'5⁄8'), + (0x215E, 'M', u'7⁄8'), + (0x215F, 'M', u'1⁄'), + (0x2160, 'M', u'i'), + (0x2161, 'M', u'ii'), + (0x2162, 'M', u'iii'), + (0x2163, 'M', u'iv'), + (0x2164, 'M', u'v'), + (0x2165, 'M', u'vi'), + (0x2166, 'M', u'vii'), + (0x2167, 'M', u'viii'), + (0x2168, 'M', u'ix'), + (0x2169, 'M', u'x'), + (0x216A, 'M', u'xi'), + (0x216B, 'M', u'xii'), + (0x216C, 'M', u'l'), + (0x216D, 'M', u'c'), + (0x216E, 'M', u'd'), + (0x216F, 'M', u'm'), + (0x2170, 'M', u'i'), + (0x2171, 'M', u'ii'), + (0x2172, 'M', u'iii'), + (0x2173, 'M', u'iv'), + (0x2174, 'M', u'v'), + (0x2175, 'M', u'vi'), + (0x2176, 'M', u'vii'), + (0x2177, 'M', u'viii'), + (0x2178, 'M', u'ix'), + (0x2179, 'M', u'x'), + (0x217A, 'M', u'xi'), + (0x217B, 'M', u'xii'), + (0x217C, 'M', u'l'), + (0x217D, 'M', u'c'), + (0x217E, 'M', u'd'), + (0x217F, 'M', u'm'), + (0x2180, 'V'), + (0x2183, 'X'), + (0x2184, 'V'), + (0x2189, 'M', u'0⁄3'), + (0x218A, 'V'), + (0x218C, 'X'), + (0x2190, 'V'), + (0x222C, 'M', u'∫∫'), + (0x222D, 'M', u'∫∫∫'), + (0x222E, 'V'), + (0x222F, 'M', u'∮∮'), + (0x2230, 'M', u'∮∮∮'), + (0x2231, 'V'), + (0x2260, '3'), + (0x2261, 'V'), + (0x226E, '3'), + (0x2270, 'V'), + (0x2329, 'M', u'〈'), + (0x232A, 'M', u'〉'), + (0x232B, 'V'), + (0x2427, 'X'), + (0x2440, 'V'), + (0x244B, 'X'), + (0x2460, 'M', u'1'), + (0x2461, 'M', u'2'), + ] + +def _seg_23(): + return [ + (0x2462, 'M', u'3'), + (0x2463, 'M', u'4'), + (0x2464, 'M', u'5'), + (0x2465, 'M', u'6'), + (0x2466, 'M', u'7'), + (0x2467, 'M', u'8'), + (0x2468, 'M', u'9'), + (0x2469, 'M', u'10'), + (0x246A, 'M', u'11'), + (0x246B, 'M', u'12'), + (0x246C, 'M', u'13'), + (0x246D, 'M', u'14'), + (0x246E, 'M', u'15'), + (0x246F, 'M', u'16'), + (0x2470, 'M', u'17'), + (0x2471, 'M', u'18'), + (0x2472, 'M', u'19'), + (0x2473, 'M', u'20'), + (0x2474, '3', u'(1)'), + (0x2475, '3', u'(2)'), + (0x2476, '3', u'(3)'), + (0x2477, '3', u'(4)'), + (0x2478, '3', u'(5)'), + (0x2479, '3', u'(6)'), + (0x247A, '3', u'(7)'), + (0x247B, '3', u'(8)'), + (0x247C, '3', u'(9)'), + (0x247D, '3', u'(10)'), + (0x247E, '3', u'(11)'), + (0x247F, '3', u'(12)'), + (0x2480, '3', u'(13)'), + (0x2481, '3', u'(14)'), + (0x2482, '3', u'(15)'), + (0x2483, '3', u'(16)'), + (0x2484, '3', u'(17)'), + (0x2485, '3', u'(18)'), + (0x2486, '3', u'(19)'), + (0x2487, '3', u'(20)'), + (0x2488, 'X'), + (0x249C, '3', u'(a)'), + (0x249D, '3', u'(b)'), + (0x249E, '3', u'(c)'), + (0x249F, '3', u'(d)'), + (0x24A0, '3', u'(e)'), + (0x24A1, '3', u'(f)'), + (0x24A2, '3', u'(g)'), + (0x24A3, '3', u'(h)'), + (0x24A4, '3', u'(i)'), + (0x24A5, '3', u'(j)'), + (0x24A6, '3', u'(k)'), + (0x24A7, '3', u'(l)'), + (0x24A8, '3', u'(m)'), + (0x24A9, '3', u'(n)'), + (0x24AA, '3', u'(o)'), + (0x24AB, '3', u'(p)'), + (0x24AC, '3', u'(q)'), + (0x24AD, '3', u'(r)'), + (0x24AE, '3', u'(s)'), + (0x24AF, '3', u'(t)'), + (0x24B0, '3', u'(u)'), + (0x24B1, '3', u'(v)'), + (0x24B2, '3', u'(w)'), + (0x24B3, '3', u'(x)'), + (0x24B4, '3', u'(y)'), + (0x24B5, '3', u'(z)'), + (0x24B6, 'M', u'a'), + (0x24B7, 'M', u'b'), + (0x24B8, 'M', u'c'), + (0x24B9, 'M', u'd'), + (0x24BA, 'M', u'e'), + (0x24BB, 'M', u'f'), + (0x24BC, 'M', u'g'), + (0x24BD, 'M', u'h'), + (0x24BE, 'M', u'i'), + (0x24BF, 'M', u'j'), + (0x24C0, 'M', u'k'), + (0x24C1, 'M', u'l'), + (0x24C2, 'M', u'm'), + (0x24C3, 'M', u'n'), + (0x24C4, 'M', u'o'), + (0x24C5, 'M', u'p'), + (0x24C6, 'M', u'q'), + (0x24C7, 'M', u'r'), + (0x24C8, 'M', u's'), + (0x24C9, 'M', u't'), + (0x24CA, 'M', u'u'), + (0x24CB, 'M', u'v'), + (0x24CC, 'M', u'w'), + (0x24CD, 'M', u'x'), + (0x24CE, 'M', u'y'), + (0x24CF, 'M', u'z'), + (0x24D0, 'M', u'a'), + (0x24D1, 'M', u'b'), + (0x24D2, 'M', u'c'), + (0x24D3, 'M', u'd'), + (0x24D4, 'M', u'e'), + (0x24D5, 'M', u'f'), + (0x24D6, 'M', u'g'), + (0x24D7, 'M', u'h'), + (0x24D8, 'M', u'i'), + ] + +def _seg_24(): + return [ + (0x24D9, 'M', u'j'), + (0x24DA, 'M', u'k'), + (0x24DB, 'M', u'l'), + (0x24DC, 'M', u'm'), + (0x24DD, 'M', u'n'), + (0x24DE, 'M', u'o'), + (0x24DF, 'M', u'p'), + (0x24E0, 'M', u'q'), + (0x24E1, 'M', u'r'), + (0x24E2, 'M', u's'), + (0x24E3, 'M', u't'), + (0x24E4, 'M', u'u'), + (0x24E5, 'M', u'v'), + (0x24E6, 'M', u'w'), + (0x24E7, 'M', u'x'), + (0x24E8, 'M', u'y'), + (0x24E9, 'M', u'z'), + (0x24EA, 'M', u'0'), + (0x24EB, 'V'), + (0x2A0C, 'M', u'∫∫∫∫'), + (0x2A0D, 'V'), + (0x2A74, '3', u'::='), + (0x2A75, '3', u'=='), + (0x2A76, '3', u'==='), + (0x2A77, 'V'), + (0x2ADC, 'M', u'⫝̸'), + (0x2ADD, 'V'), + (0x2B74, 'X'), + (0x2B76, 'V'), + (0x2B96, 'X'), + (0x2B98, 'V'), + (0x2BC9, 'X'), + (0x2BCA, 'V'), + (0x2BFF, 'X'), + (0x2C00, 'M', u'ⰰ'), + (0x2C01, 'M', u'ⰱ'), + (0x2C02, 'M', u'ⰲ'), + (0x2C03, 'M', u'ⰳ'), + (0x2C04, 'M', u'ⰴ'), + (0x2C05, 'M', u'ⰵ'), + (0x2C06, 'M', u'ⰶ'), + (0x2C07, 'M', u'ⰷ'), + (0x2C08, 'M', u'ⰸ'), + (0x2C09, 'M', u'ⰹ'), + (0x2C0A, 'M', u'ⰺ'), + (0x2C0B, 'M', u'ⰻ'), + (0x2C0C, 'M', u'ⰼ'), + (0x2C0D, 'M', u'ⰽ'), + (0x2C0E, 'M', u'ⰾ'), + (0x2C0F, 'M', u'ⰿ'), + (0x2C10, 'M', u'ⱀ'), + (0x2C11, 'M', u'ⱁ'), + (0x2C12, 'M', u'ⱂ'), + (0x2C13, 'M', u'ⱃ'), + (0x2C14, 'M', u'ⱄ'), + (0x2C15, 'M', u'ⱅ'), + (0x2C16, 'M', u'ⱆ'), + (0x2C17, 'M', u'ⱇ'), + (0x2C18, 'M', u'ⱈ'), + (0x2C19, 'M', u'ⱉ'), + (0x2C1A, 'M', u'ⱊ'), + (0x2C1B, 'M', u'ⱋ'), + (0x2C1C, 'M', u'ⱌ'), + (0x2C1D, 'M', u'ⱍ'), + (0x2C1E, 'M', u'ⱎ'), + (0x2C1F, 'M', u'ⱏ'), + (0x2C20, 'M', u'ⱐ'), + (0x2C21, 'M', u'ⱑ'), + (0x2C22, 'M', u'ⱒ'), + (0x2C23, 'M', u'ⱓ'), + (0x2C24, 'M', u'ⱔ'), + (0x2C25, 'M', u'ⱕ'), + (0x2C26, 'M', u'ⱖ'), + (0x2C27, 'M', u'ⱗ'), + (0x2C28, 'M', u'ⱘ'), + (0x2C29, 'M', u'ⱙ'), + (0x2C2A, 'M', u'ⱚ'), + (0x2C2B, 'M', u'ⱛ'), + (0x2C2C, 'M', u'ⱜ'), + (0x2C2D, 'M', u'ⱝ'), + (0x2C2E, 'M', u'ⱞ'), + (0x2C2F, 'X'), + (0x2C30, 'V'), + (0x2C5F, 'X'), + (0x2C60, 'M', u'ⱡ'), + (0x2C61, 'V'), + (0x2C62, 'M', u'ɫ'), + (0x2C63, 'M', u'ᵽ'), + (0x2C64, 'M', u'ɽ'), + (0x2C65, 'V'), + (0x2C67, 'M', u'ⱨ'), + (0x2C68, 'V'), + (0x2C69, 'M', u'ⱪ'), + (0x2C6A, 'V'), + (0x2C6B, 'M', u'ⱬ'), + (0x2C6C, 'V'), + (0x2C6D, 'M', u'ɑ'), + (0x2C6E, 'M', u'ɱ'), + (0x2C6F, 'M', u'ɐ'), + (0x2C70, 'M', u'ɒ'), + ] + +def _seg_25(): + return [ + (0x2C71, 'V'), + (0x2C72, 'M', u'ⱳ'), + (0x2C73, 'V'), + (0x2C75, 'M', u'ⱶ'), + (0x2C76, 'V'), + (0x2C7C, 'M', u'j'), + (0x2C7D, 'M', u'v'), + (0x2C7E, 'M', u'ȿ'), + (0x2C7F, 'M', u'ɀ'), + (0x2C80, 'M', u'ⲁ'), + (0x2C81, 'V'), + (0x2C82, 'M', u'ⲃ'), + (0x2C83, 'V'), + (0x2C84, 'M', u'ⲅ'), + (0x2C85, 'V'), + (0x2C86, 'M', u'ⲇ'), + (0x2C87, 'V'), + (0x2C88, 'M', u'ⲉ'), + (0x2C89, 'V'), + (0x2C8A, 'M', u'ⲋ'), + (0x2C8B, 'V'), + (0x2C8C, 'M', u'ⲍ'), + (0x2C8D, 'V'), + (0x2C8E, 'M', u'ⲏ'), + (0x2C8F, 'V'), + (0x2C90, 'M', u'ⲑ'), + (0x2C91, 'V'), + (0x2C92, 'M', u'ⲓ'), + (0x2C93, 'V'), + (0x2C94, 'M', u'ⲕ'), + (0x2C95, 'V'), + (0x2C96, 'M', u'ⲗ'), + (0x2C97, 'V'), + (0x2C98, 'M', u'ⲙ'), + (0x2C99, 'V'), + (0x2C9A, 'M', u'ⲛ'), + (0x2C9B, 'V'), + (0x2C9C, 'M', u'ⲝ'), + (0x2C9D, 'V'), + (0x2C9E, 'M', u'ⲟ'), + (0x2C9F, 'V'), + (0x2CA0, 'M', u'ⲡ'), + (0x2CA1, 'V'), + (0x2CA2, 'M', u'ⲣ'), + (0x2CA3, 'V'), + (0x2CA4, 'M', u'ⲥ'), + (0x2CA5, 'V'), + (0x2CA6, 'M', u'ⲧ'), + (0x2CA7, 'V'), + (0x2CA8, 'M', u'ⲩ'), + (0x2CA9, 'V'), + (0x2CAA, 'M', u'ⲫ'), + (0x2CAB, 'V'), + (0x2CAC, 'M', u'ⲭ'), + (0x2CAD, 'V'), + (0x2CAE, 'M', u'ⲯ'), + (0x2CAF, 'V'), + (0x2CB0, 'M', u'ⲱ'), + (0x2CB1, 'V'), + (0x2CB2, 'M', u'ⲳ'), + (0x2CB3, 'V'), + (0x2CB4, 'M', u'ⲵ'), + (0x2CB5, 'V'), + (0x2CB6, 'M', u'ⲷ'), + (0x2CB7, 'V'), + (0x2CB8, 'M', u'ⲹ'), + (0x2CB9, 'V'), + (0x2CBA, 'M', u'ⲻ'), + (0x2CBB, 'V'), + (0x2CBC, 'M', u'ⲽ'), + (0x2CBD, 'V'), + (0x2CBE, 'M', u'ⲿ'), + (0x2CBF, 'V'), + (0x2CC0, 'M', u'ⳁ'), + (0x2CC1, 'V'), + (0x2CC2, 'M', u'ⳃ'), + (0x2CC3, 'V'), + (0x2CC4, 'M', u'ⳅ'), + (0x2CC5, 'V'), + (0x2CC6, 'M', u'ⳇ'), + (0x2CC7, 'V'), + (0x2CC8, 'M', u'ⳉ'), + (0x2CC9, 'V'), + (0x2CCA, 'M', u'ⳋ'), + (0x2CCB, 'V'), + (0x2CCC, 'M', u'ⳍ'), + (0x2CCD, 'V'), + (0x2CCE, 'M', u'ⳏ'), + (0x2CCF, 'V'), + (0x2CD0, 'M', u'ⳑ'), + (0x2CD1, 'V'), + (0x2CD2, 'M', u'ⳓ'), + (0x2CD3, 'V'), + (0x2CD4, 'M', u'ⳕ'), + (0x2CD5, 'V'), + (0x2CD6, 'M', u'ⳗ'), + (0x2CD7, 'V'), + (0x2CD8, 'M', u'ⳙ'), + (0x2CD9, 'V'), + (0x2CDA, 'M', u'ⳛ'), + ] + +def _seg_26(): + return [ + (0x2CDB, 'V'), + (0x2CDC, 'M', u'ⳝ'), + (0x2CDD, 'V'), + (0x2CDE, 'M', u'ⳟ'), + (0x2CDF, 'V'), + (0x2CE0, 'M', u'ⳡ'), + (0x2CE1, 'V'), + (0x2CE2, 'M', u'ⳣ'), + (0x2CE3, 'V'), + (0x2CEB, 'M', u'ⳬ'), + (0x2CEC, 'V'), + (0x2CED, 'M', u'ⳮ'), + (0x2CEE, 'V'), + (0x2CF2, 'M', u'ⳳ'), + (0x2CF3, 'V'), + (0x2CF4, 'X'), + (0x2CF9, 'V'), + (0x2D26, 'X'), + (0x2D27, 'V'), + (0x2D28, 'X'), + (0x2D2D, 'V'), + (0x2D2E, 'X'), + (0x2D30, 'V'), + (0x2D68, 'X'), + (0x2D6F, 'M', u'ⵡ'), + (0x2D70, 'V'), + (0x2D71, 'X'), + (0x2D7F, 'V'), + (0x2D97, 'X'), + (0x2DA0, 'V'), + (0x2DA7, 'X'), + (0x2DA8, 'V'), + (0x2DAF, 'X'), + (0x2DB0, 'V'), + (0x2DB7, 'X'), + (0x2DB8, 'V'), + (0x2DBF, 'X'), + (0x2DC0, 'V'), + (0x2DC7, 'X'), + (0x2DC8, 'V'), + (0x2DCF, 'X'), + (0x2DD0, 'V'), + (0x2DD7, 'X'), + (0x2DD8, 'V'), + (0x2DDF, 'X'), + (0x2DE0, 'V'), + (0x2E4F, 'X'), + (0x2E80, 'V'), + (0x2E9A, 'X'), + (0x2E9B, 'V'), + (0x2E9F, 'M', u'母'), + (0x2EA0, 'V'), + (0x2EF3, 'M', u'龟'), + (0x2EF4, 'X'), + (0x2F00, 'M', u'一'), + (0x2F01, 'M', u'丨'), + (0x2F02, 'M', u'丶'), + (0x2F03, 'M', u'丿'), + (0x2F04, 'M', u'乙'), + (0x2F05, 'M', u'亅'), + (0x2F06, 'M', u'二'), + (0x2F07, 'M', u'亠'), + (0x2F08, 'M', u'人'), + (0x2F09, 'M', u'儿'), + (0x2F0A, 'M', u'入'), + (0x2F0B, 'M', u'八'), + (0x2F0C, 'M', u'冂'), + (0x2F0D, 'M', u'冖'), + (0x2F0E, 'M', u'冫'), + (0x2F0F, 'M', u'几'), + (0x2F10, 'M', u'凵'), + (0x2F11, 'M', u'刀'), + (0x2F12, 'M', u'力'), + (0x2F13, 'M', u'勹'), + (0x2F14, 'M', u'匕'), + (0x2F15, 'M', u'匚'), + (0x2F16, 'M', u'匸'), + (0x2F17, 'M', u'十'), + (0x2F18, 'M', u'卜'), + (0x2F19, 'M', u'卩'), + (0x2F1A, 'M', u'厂'), + (0x2F1B, 'M', u'厶'), + (0x2F1C, 'M', u'又'), + (0x2F1D, 'M', u'口'), + (0x2F1E, 'M', u'囗'), + (0x2F1F, 'M', u'土'), + (0x2F20, 'M', u'士'), + (0x2F21, 'M', u'夂'), + (0x2F22, 'M', u'夊'), + (0x2F23, 'M', u'夕'), + (0x2F24, 'M', u'大'), + (0x2F25, 'M', u'女'), + (0x2F26, 'M', u'子'), + (0x2F27, 'M', u'宀'), + (0x2F28, 'M', u'寸'), + (0x2F29, 'M', u'小'), + (0x2F2A, 'M', u'尢'), + (0x2F2B, 'M', u'尸'), + (0x2F2C, 'M', u'屮'), + (0x2F2D, 'M', u'山'), + ] + +def _seg_27(): + return [ + (0x2F2E, 'M', u'巛'), + (0x2F2F, 'M', u'工'), + (0x2F30, 'M', u'己'), + (0x2F31, 'M', u'巾'), + (0x2F32, 'M', u'干'), + (0x2F33, 'M', u'幺'), + (0x2F34, 'M', u'广'), + (0x2F35, 'M', u'廴'), + (0x2F36, 'M', u'廾'), + (0x2F37, 'M', u'弋'), + (0x2F38, 'M', u'弓'), + (0x2F39, 'M', u'彐'), + (0x2F3A, 'M', u'彡'), + (0x2F3B, 'M', u'彳'), + (0x2F3C, 'M', u'心'), + (0x2F3D, 'M', u'戈'), + (0x2F3E, 'M', u'戶'), + (0x2F3F, 'M', u'手'), + (0x2F40, 'M', u'支'), + (0x2F41, 'M', u'攴'), + (0x2F42, 'M', u'文'), + (0x2F43, 'M', u'斗'), + (0x2F44, 'M', u'斤'), + (0x2F45, 'M', u'方'), + (0x2F46, 'M', u'无'), + (0x2F47, 'M', u'日'), + (0x2F48, 'M', u'曰'), + (0x2F49, 'M', u'月'), + (0x2F4A, 'M', u'木'), + (0x2F4B, 'M', u'欠'), + (0x2F4C, 'M', u'止'), + (0x2F4D, 'M', u'歹'), + (0x2F4E, 'M', u'殳'), + (0x2F4F, 'M', u'毋'), + (0x2F50, 'M', u'比'), + (0x2F51, 'M', u'毛'), + (0x2F52, 'M', u'氏'), + (0x2F53, 'M', u'气'), + (0x2F54, 'M', u'水'), + (0x2F55, 'M', u'火'), + (0x2F56, 'M', u'爪'), + (0x2F57, 'M', u'父'), + (0x2F58, 'M', u'爻'), + (0x2F59, 'M', u'爿'), + (0x2F5A, 'M', u'片'), + (0x2F5B, 'M', u'牙'), + (0x2F5C, 'M', u'牛'), + (0x2F5D, 'M', u'犬'), + (0x2F5E, 'M', u'玄'), + (0x2F5F, 'M', u'玉'), + (0x2F60, 'M', u'瓜'), + (0x2F61, 'M', u'瓦'), + (0x2F62, 'M', u'甘'), + (0x2F63, 'M', u'生'), + (0x2F64, 'M', u'用'), + (0x2F65, 'M', u'田'), + (0x2F66, 'M', u'疋'), + (0x2F67, 'M', u'疒'), + (0x2F68, 'M', u'癶'), + (0x2F69, 'M', u'白'), + (0x2F6A, 'M', u'皮'), + (0x2F6B, 'M', u'皿'), + (0x2F6C, 'M', u'目'), + (0x2F6D, 'M', u'矛'), + (0x2F6E, 'M', u'矢'), + (0x2F6F, 'M', u'石'), + (0x2F70, 'M', u'示'), + (0x2F71, 'M', u'禸'), + (0x2F72, 'M', u'禾'), + (0x2F73, 'M', u'穴'), + (0x2F74, 'M', u'立'), + (0x2F75, 'M', u'竹'), + (0x2F76, 'M', u'米'), + (0x2F77, 'M', u'糸'), + (0x2F78, 'M', u'缶'), + (0x2F79, 'M', u'网'), + (0x2F7A, 'M', u'羊'), + (0x2F7B, 'M', u'羽'), + (0x2F7C, 'M', u'老'), + (0x2F7D, 'M', u'而'), + (0x2F7E, 'M', u'耒'), + (0x2F7F, 'M', u'耳'), + (0x2F80, 'M', u'聿'), + (0x2F81, 'M', u'肉'), + (0x2F82, 'M', u'臣'), + (0x2F83, 'M', u'自'), + (0x2F84, 'M', u'至'), + (0x2F85, 'M', u'臼'), + (0x2F86, 'M', u'舌'), + (0x2F87, 'M', u'舛'), + (0x2F88, 'M', u'舟'), + (0x2F89, 'M', u'艮'), + (0x2F8A, 'M', u'色'), + (0x2F8B, 'M', u'艸'), + (0x2F8C, 'M', u'虍'), + (0x2F8D, 'M', u'虫'), + (0x2F8E, 'M', u'血'), + (0x2F8F, 'M', u'行'), + (0x2F90, 'M', u'衣'), + (0x2F91, 'M', u'襾'), + ] + +def _seg_28(): + return [ + (0x2F92, 'M', u'見'), + (0x2F93, 'M', u'角'), + (0x2F94, 'M', u'言'), + (0x2F95, 'M', u'谷'), + (0x2F96, 'M', u'豆'), + (0x2F97, 'M', u'豕'), + (0x2F98, 'M', u'豸'), + (0x2F99, 'M', u'貝'), + (0x2F9A, 'M', u'赤'), + (0x2F9B, 'M', u'走'), + (0x2F9C, 'M', u'足'), + (0x2F9D, 'M', u'身'), + (0x2F9E, 'M', u'車'), + (0x2F9F, 'M', u'辛'), + (0x2FA0, 'M', u'辰'), + (0x2FA1, 'M', u'辵'), + (0x2FA2, 'M', u'邑'), + (0x2FA3, 'M', u'酉'), + (0x2FA4, 'M', u'釆'), + (0x2FA5, 'M', u'里'), + (0x2FA6, 'M', u'金'), + (0x2FA7, 'M', u'長'), + (0x2FA8, 'M', u'門'), + (0x2FA9, 'M', u'阜'), + (0x2FAA, 'M', u'隶'), + (0x2FAB, 'M', u'隹'), + (0x2FAC, 'M', u'雨'), + (0x2FAD, 'M', u'靑'), + (0x2FAE, 'M', u'非'), + (0x2FAF, 'M', u'面'), + (0x2FB0, 'M', u'革'), + (0x2FB1, 'M', u'韋'), + (0x2FB2, 'M', u'韭'), + (0x2FB3, 'M', u'音'), + (0x2FB4, 'M', u'頁'), + (0x2FB5, 'M', u'風'), + (0x2FB6, 'M', u'飛'), + (0x2FB7, 'M', u'食'), + (0x2FB8, 'M', u'首'), + (0x2FB9, 'M', u'香'), + (0x2FBA, 'M', u'馬'), + (0x2FBB, 'M', u'骨'), + (0x2FBC, 'M', u'高'), + (0x2FBD, 'M', u'髟'), + (0x2FBE, 'M', u'鬥'), + (0x2FBF, 'M', u'鬯'), + (0x2FC0, 'M', u'鬲'), + (0x2FC1, 'M', u'鬼'), + (0x2FC2, 'M', u'魚'), + (0x2FC3, 'M', u'鳥'), + (0x2FC4, 'M', u'鹵'), + (0x2FC5, 'M', u'鹿'), + (0x2FC6, 'M', u'麥'), + (0x2FC7, 'M', u'麻'), + (0x2FC8, 'M', u'黃'), + (0x2FC9, 'M', u'黍'), + (0x2FCA, 'M', u'黑'), + (0x2FCB, 'M', u'黹'), + (0x2FCC, 'M', u'黽'), + (0x2FCD, 'M', u'鼎'), + (0x2FCE, 'M', u'鼓'), + (0x2FCF, 'M', u'鼠'), + (0x2FD0, 'M', u'鼻'), + (0x2FD1, 'M', u'齊'), + (0x2FD2, 'M', u'齒'), + (0x2FD3, 'M', u'龍'), + (0x2FD4, 'M', u'龜'), + (0x2FD5, 'M', u'龠'), + (0x2FD6, 'X'), + (0x3000, '3', u' '), + (0x3001, 'V'), + (0x3002, 'M', u'.'), + (0x3003, 'V'), + (0x3036, 'M', u'〒'), + (0x3037, 'V'), + (0x3038, 'M', u'十'), + (0x3039, 'M', u'卄'), + (0x303A, 'M', u'卅'), + (0x303B, 'V'), + (0x3040, 'X'), + (0x3041, 'V'), + (0x3097, 'X'), + (0x3099, 'V'), + (0x309B, '3', u' ゙'), + (0x309C, '3', u' ゚'), + (0x309D, 'V'), + (0x309F, 'M', u'より'), + (0x30A0, 'V'), + (0x30FF, 'M', u'コト'), + (0x3100, 'X'), + (0x3105, 'V'), + (0x3130, 'X'), + (0x3131, 'M', u'ᄀ'), + (0x3132, 'M', u'ᄁ'), + (0x3133, 'M', u'ᆪ'), + (0x3134, 'M', u'ᄂ'), + (0x3135, 'M', u'ᆬ'), + (0x3136, 'M', u'ᆭ'), + (0x3137, 'M', u'ᄃ'), + (0x3138, 'M', u'ᄄ'), + ] + +def _seg_29(): + return [ + (0x3139, 'M', u'ᄅ'), + (0x313A, 'M', u'ᆰ'), + (0x313B, 'M', u'ᆱ'), + (0x313C, 'M', u'ᆲ'), + (0x313D, 'M', u'ᆳ'), + (0x313E, 'M', u'ᆴ'), + (0x313F, 'M', u'ᆵ'), + (0x3140, 'M', u'ᄚ'), + (0x3141, 'M', u'ᄆ'), + (0x3142, 'M', u'ᄇ'), + (0x3143, 'M', u'ᄈ'), + (0x3144, 'M', u'ᄡ'), + (0x3145, 'M', u'ᄉ'), + (0x3146, 'M', u'ᄊ'), + (0x3147, 'M', u'ᄋ'), + (0x3148, 'M', u'ᄌ'), + (0x3149, 'M', u'ᄍ'), + (0x314A, 'M', u'ᄎ'), + (0x314B, 'M', u'ᄏ'), + (0x314C, 'M', u'ᄐ'), + (0x314D, 'M', u'ᄑ'), + (0x314E, 'M', u'ᄒ'), + (0x314F, 'M', u'ᅡ'), + (0x3150, 'M', u'ᅢ'), + (0x3151, 'M', u'ᅣ'), + (0x3152, 'M', u'ᅤ'), + (0x3153, 'M', u'ᅥ'), + (0x3154, 'M', u'ᅦ'), + (0x3155, 'M', u'ᅧ'), + (0x3156, 'M', u'ᅨ'), + (0x3157, 'M', u'ᅩ'), + (0x3158, 'M', u'ᅪ'), + (0x3159, 'M', u'ᅫ'), + (0x315A, 'M', u'ᅬ'), + (0x315B, 'M', u'ᅭ'), + (0x315C, 'M', u'ᅮ'), + (0x315D, 'M', u'ᅯ'), + (0x315E, 'M', u'ᅰ'), + (0x315F, 'M', u'ᅱ'), + (0x3160, 'M', u'ᅲ'), + (0x3161, 'M', u'ᅳ'), + (0x3162, 'M', u'ᅴ'), + (0x3163, 'M', u'ᅵ'), + (0x3164, 'X'), + (0x3165, 'M', u'ᄔ'), + (0x3166, 'M', u'ᄕ'), + (0x3167, 'M', u'ᇇ'), + (0x3168, 'M', u'ᇈ'), + (0x3169, 'M', u'ᇌ'), + (0x316A, 'M', u'ᇎ'), + (0x316B, 'M', u'ᇓ'), + (0x316C, 'M', u'ᇗ'), + (0x316D, 'M', u'ᇙ'), + (0x316E, 'M', u'ᄜ'), + (0x316F, 'M', u'ᇝ'), + (0x3170, 'M', u'ᇟ'), + (0x3171, 'M', u'ᄝ'), + (0x3172, 'M', u'ᄞ'), + (0x3173, 'M', u'ᄠ'), + (0x3174, 'M', u'ᄢ'), + (0x3175, 'M', u'ᄣ'), + (0x3176, 'M', u'ᄧ'), + (0x3177, 'M', u'ᄩ'), + (0x3178, 'M', u'ᄫ'), + (0x3179, 'M', u'ᄬ'), + (0x317A, 'M', u'ᄭ'), + (0x317B, 'M', u'ᄮ'), + (0x317C, 'M', u'ᄯ'), + (0x317D, 'M', u'ᄲ'), + (0x317E, 'M', u'ᄶ'), + (0x317F, 'M', u'ᅀ'), + (0x3180, 'M', u'ᅇ'), + (0x3181, 'M', u'ᅌ'), + (0x3182, 'M', u'ᇱ'), + (0x3183, 'M', u'ᇲ'), + (0x3184, 'M', u'ᅗ'), + (0x3185, 'M', u'ᅘ'), + (0x3186, 'M', u'ᅙ'), + (0x3187, 'M', u'ᆄ'), + (0x3188, 'M', u'ᆅ'), + (0x3189, 'M', u'ᆈ'), + (0x318A, 'M', u'ᆑ'), + (0x318B, 'M', u'ᆒ'), + (0x318C, 'M', u'ᆔ'), + (0x318D, 'M', u'ᆞ'), + (0x318E, 'M', u'ᆡ'), + (0x318F, 'X'), + (0x3190, 'V'), + (0x3192, 'M', u'一'), + (0x3193, 'M', u'二'), + (0x3194, 'M', u'三'), + (0x3195, 'M', u'四'), + (0x3196, 'M', u'上'), + (0x3197, 'M', u'中'), + (0x3198, 'M', u'下'), + (0x3199, 'M', u'甲'), + (0x319A, 'M', u'乙'), + (0x319B, 'M', u'丙'), + (0x319C, 'M', u'丁'), + (0x319D, 'M', u'天'), + ] + +def _seg_30(): + return [ + (0x319E, 'M', u'地'), + (0x319F, 'M', u'人'), + (0x31A0, 'V'), + (0x31BB, 'X'), + (0x31C0, 'V'), + (0x31E4, 'X'), + (0x31F0, 'V'), + (0x3200, '3', u'(ᄀ)'), + (0x3201, '3', u'(ᄂ)'), + (0x3202, '3', u'(ᄃ)'), + (0x3203, '3', u'(ᄅ)'), + (0x3204, '3', u'(ᄆ)'), + (0x3205, '3', u'(ᄇ)'), + (0x3206, '3', u'(ᄉ)'), + (0x3207, '3', u'(ᄋ)'), + (0x3208, '3', u'(ᄌ)'), + (0x3209, '3', u'(ᄎ)'), + (0x320A, '3', u'(ᄏ)'), + (0x320B, '3', u'(ᄐ)'), + (0x320C, '3', u'(ᄑ)'), + (0x320D, '3', u'(ᄒ)'), + (0x320E, '3', u'(가)'), + (0x320F, '3', u'(나)'), + (0x3210, '3', u'(다)'), + (0x3211, '3', u'(라)'), + (0x3212, '3', u'(마)'), + (0x3213, '3', u'(바)'), + (0x3214, '3', u'(사)'), + (0x3215, '3', u'(아)'), + (0x3216, '3', u'(자)'), + (0x3217, '3', u'(차)'), + (0x3218, '3', u'(카)'), + (0x3219, '3', u'(타)'), + (0x321A, '3', u'(파)'), + (0x321B, '3', u'(하)'), + (0x321C, '3', u'(주)'), + (0x321D, '3', u'(오전)'), + (0x321E, '3', u'(오후)'), + (0x321F, 'X'), + (0x3220, '3', u'(一)'), + (0x3221, '3', u'(二)'), + (0x3222, '3', u'(三)'), + (0x3223, '3', u'(四)'), + (0x3224, '3', u'(五)'), + (0x3225, '3', u'(六)'), + (0x3226, '3', u'(七)'), + (0x3227, '3', u'(八)'), + (0x3228, '3', u'(九)'), + (0x3229, '3', u'(十)'), + (0x322A, '3', u'(月)'), + (0x322B, '3', u'(火)'), + (0x322C, '3', u'(水)'), + (0x322D, '3', u'(木)'), + (0x322E, '3', u'(金)'), + (0x322F, '3', u'(土)'), + (0x3230, '3', u'(日)'), + (0x3231, '3', u'(株)'), + (0x3232, '3', u'(有)'), + (0x3233, '3', u'(社)'), + (0x3234, '3', u'(名)'), + (0x3235, '3', u'(特)'), + (0x3236, '3', u'(財)'), + (0x3237, '3', u'(祝)'), + (0x3238, '3', u'(労)'), + (0x3239, '3', u'(代)'), + (0x323A, '3', u'(呼)'), + (0x323B, '3', u'(学)'), + (0x323C, '3', u'(監)'), + (0x323D, '3', u'(企)'), + (0x323E, '3', u'(資)'), + (0x323F, '3', u'(協)'), + (0x3240, '3', u'(祭)'), + (0x3241, '3', u'(休)'), + (0x3242, '3', u'(自)'), + (0x3243, '3', u'(至)'), + (0x3244, 'M', u'問'), + (0x3245, 'M', u'幼'), + (0x3246, 'M', u'文'), + (0x3247, 'M', u'箏'), + (0x3248, 'V'), + (0x3250, 'M', u'pte'), + (0x3251, 'M', u'21'), + (0x3252, 'M', u'22'), + (0x3253, 'M', u'23'), + (0x3254, 'M', u'24'), + (0x3255, 'M', u'25'), + (0x3256, 'M', u'26'), + (0x3257, 'M', u'27'), + (0x3258, 'M', u'28'), + (0x3259, 'M', u'29'), + (0x325A, 'M', u'30'), + (0x325B, 'M', u'31'), + (0x325C, 'M', u'32'), + (0x325D, 'M', u'33'), + (0x325E, 'M', u'34'), + (0x325F, 'M', u'35'), + (0x3260, 'M', u'ᄀ'), + (0x3261, 'M', u'ᄂ'), + (0x3262, 'M', u'ᄃ'), + (0x3263, 'M', u'ᄅ'), + ] + +def _seg_31(): + return [ + (0x3264, 'M', u'ᄆ'), + (0x3265, 'M', u'ᄇ'), + (0x3266, 'M', u'ᄉ'), + (0x3267, 'M', u'ᄋ'), + (0x3268, 'M', u'ᄌ'), + (0x3269, 'M', u'ᄎ'), + (0x326A, 'M', u'ᄏ'), + (0x326B, 'M', u'ᄐ'), + (0x326C, 'M', u'ᄑ'), + (0x326D, 'M', u'ᄒ'), + (0x326E, 'M', u'가'), + (0x326F, 'M', u'나'), + (0x3270, 'M', u'다'), + (0x3271, 'M', u'라'), + (0x3272, 'M', u'마'), + (0x3273, 'M', u'바'), + (0x3274, 'M', u'사'), + (0x3275, 'M', u'아'), + (0x3276, 'M', u'자'), + (0x3277, 'M', u'차'), + (0x3278, 'M', u'카'), + (0x3279, 'M', u'타'), + (0x327A, 'M', u'파'), + (0x327B, 'M', u'하'), + (0x327C, 'M', u'참고'), + (0x327D, 'M', u'주의'), + (0x327E, 'M', u'우'), + (0x327F, 'V'), + (0x3280, 'M', u'一'), + (0x3281, 'M', u'二'), + (0x3282, 'M', u'三'), + (0x3283, 'M', u'四'), + (0x3284, 'M', u'五'), + (0x3285, 'M', u'六'), + (0x3286, 'M', u'七'), + (0x3287, 'M', u'八'), + (0x3288, 'M', u'九'), + (0x3289, 'M', u'十'), + (0x328A, 'M', u'月'), + (0x328B, 'M', u'火'), + (0x328C, 'M', u'水'), + (0x328D, 'M', u'木'), + (0x328E, 'M', u'金'), + (0x328F, 'M', u'土'), + (0x3290, 'M', u'日'), + (0x3291, 'M', u'株'), + (0x3292, 'M', u'有'), + (0x3293, 'M', u'社'), + (0x3294, 'M', u'名'), + (0x3295, 'M', u'特'), + (0x3296, 'M', u'財'), + (0x3297, 'M', u'祝'), + (0x3298, 'M', u'労'), + (0x3299, 'M', u'秘'), + (0x329A, 'M', u'男'), + (0x329B, 'M', u'女'), + (0x329C, 'M', u'適'), + (0x329D, 'M', u'優'), + (0x329E, 'M', u'印'), + (0x329F, 'M', u'注'), + (0x32A0, 'M', u'項'), + (0x32A1, 'M', u'休'), + (0x32A2, 'M', u'写'), + (0x32A3, 'M', u'正'), + (0x32A4, 'M', u'上'), + (0x32A5, 'M', u'中'), + (0x32A6, 'M', u'下'), + (0x32A7, 'M', u'左'), + (0x32A8, 'M', u'右'), + (0x32A9, 'M', u'医'), + (0x32AA, 'M', u'宗'), + (0x32AB, 'M', u'学'), + (0x32AC, 'M', u'監'), + (0x32AD, 'M', u'企'), + (0x32AE, 'M', u'資'), + (0x32AF, 'M', u'協'), + (0x32B0, 'M', u'夜'), + (0x32B1, 'M', u'36'), + (0x32B2, 'M', u'37'), + (0x32B3, 'M', u'38'), + (0x32B4, 'M', u'39'), + (0x32B5, 'M', u'40'), + (0x32B6, 'M', u'41'), + (0x32B7, 'M', u'42'), + (0x32B8, 'M', u'43'), + (0x32B9, 'M', u'44'), + (0x32BA, 'M', u'45'), + (0x32BB, 'M', u'46'), + (0x32BC, 'M', u'47'), + (0x32BD, 'M', u'48'), + (0x32BE, 'M', u'49'), + (0x32BF, 'M', u'50'), + (0x32C0, 'M', u'1月'), + (0x32C1, 'M', u'2月'), + (0x32C2, 'M', u'3月'), + (0x32C3, 'M', u'4月'), + (0x32C4, 'M', u'5月'), + (0x32C5, 'M', u'6月'), + (0x32C6, 'M', u'7月'), + (0x32C7, 'M', u'8月'), + ] + +def _seg_32(): + return [ + (0x32C8, 'M', u'9月'), + (0x32C9, 'M', u'10月'), + (0x32CA, 'M', u'11月'), + (0x32CB, 'M', u'12月'), + (0x32CC, 'M', u'hg'), + (0x32CD, 'M', u'erg'), + (0x32CE, 'M', u'ev'), + (0x32CF, 'M', u'ltd'), + (0x32D0, 'M', u'ア'), + (0x32D1, 'M', u'イ'), + (0x32D2, 'M', u'ウ'), + (0x32D3, 'M', u'エ'), + (0x32D4, 'M', u'オ'), + (0x32D5, 'M', u'カ'), + (0x32D6, 'M', u'キ'), + (0x32D7, 'M', u'ク'), + (0x32D8, 'M', u'ケ'), + (0x32D9, 'M', u'コ'), + (0x32DA, 'M', u'サ'), + (0x32DB, 'M', u'シ'), + (0x32DC, 'M', u'ス'), + (0x32DD, 'M', u'セ'), + (0x32DE, 'M', u'ソ'), + (0x32DF, 'M', u'タ'), + (0x32E0, 'M', u'チ'), + (0x32E1, 'M', u'ツ'), + (0x32E2, 'M', u'テ'), + (0x32E3, 'M', u'ト'), + (0x32E4, 'M', u'ナ'), + (0x32E5, 'M', u'ニ'), + (0x32E6, 'M', u'ヌ'), + (0x32E7, 'M', u'ネ'), + (0x32E8, 'M', u'ノ'), + (0x32E9, 'M', u'ハ'), + (0x32EA, 'M', u'ヒ'), + (0x32EB, 'M', u'フ'), + (0x32EC, 'M', u'ヘ'), + (0x32ED, 'M', u'ホ'), + (0x32EE, 'M', u'マ'), + (0x32EF, 'M', u'ミ'), + (0x32F0, 'M', u'ム'), + (0x32F1, 'M', u'メ'), + (0x32F2, 'M', u'モ'), + (0x32F3, 'M', u'ヤ'), + (0x32F4, 'M', u'ユ'), + (0x32F5, 'M', u'ヨ'), + (0x32F6, 'M', u'ラ'), + (0x32F7, 'M', u'リ'), + (0x32F8, 'M', u'ル'), + (0x32F9, 'M', u'レ'), + (0x32FA, 'M', u'ロ'), + (0x32FB, 'M', u'ワ'), + (0x32FC, 'M', u'ヰ'), + (0x32FD, 'M', u'ヱ'), + (0x32FE, 'M', u'ヲ'), + (0x32FF, 'X'), + (0x3300, 'M', u'アパート'), + (0x3301, 'M', u'アルファ'), + (0x3302, 'M', u'アンペア'), + (0x3303, 'M', u'アール'), + (0x3304, 'M', u'イニング'), + (0x3305, 'M', u'インチ'), + (0x3306, 'M', u'ウォン'), + (0x3307, 'M', u'エスクード'), + (0x3308, 'M', u'エーカー'), + (0x3309, 'M', u'オンス'), + (0x330A, 'M', u'オーム'), + (0x330B, 'M', u'カイリ'), + (0x330C, 'M', u'カラット'), + (0x330D, 'M', u'カロリー'), + (0x330E, 'M', u'ガロン'), + (0x330F, 'M', u'ガンマ'), + (0x3310, 'M', u'ギガ'), + (0x3311, 'M', u'ギニー'), + (0x3312, 'M', u'キュリー'), + (0x3313, 'M', u'ギルダー'), + (0x3314, 'M', u'キロ'), + (0x3315, 'M', u'キログラム'), + (0x3316, 'M', u'キロメートル'), + (0x3317, 'M', u'キロワット'), + (0x3318, 'M', u'グラム'), + (0x3319, 'M', u'グラムトン'), + (0x331A, 'M', u'クルゼイロ'), + (0x331B, 'M', u'クローネ'), + (0x331C, 'M', u'ケース'), + (0x331D, 'M', u'コルナ'), + (0x331E, 'M', u'コーポ'), + (0x331F, 'M', u'サイクル'), + (0x3320, 'M', u'サンチーム'), + (0x3321, 'M', u'シリング'), + (0x3322, 'M', u'センチ'), + (0x3323, 'M', u'セント'), + (0x3324, 'M', u'ダース'), + (0x3325, 'M', u'デシ'), + (0x3326, 'M', u'ドル'), + (0x3327, 'M', u'トン'), + (0x3328, 'M', u'ナノ'), + (0x3329, 'M', u'ノット'), + (0x332A, 'M', u'ハイツ'), + (0x332B, 'M', u'パーセント'), + ] + +def _seg_33(): + return [ + (0x332C, 'M', u'パーツ'), + (0x332D, 'M', u'バーレル'), + (0x332E, 'M', u'ピアストル'), + (0x332F, 'M', u'ピクル'), + (0x3330, 'M', u'ピコ'), + (0x3331, 'M', u'ビル'), + (0x3332, 'M', u'ファラッド'), + (0x3333, 'M', u'フィート'), + (0x3334, 'M', u'ブッシェル'), + (0x3335, 'M', u'フラン'), + (0x3336, 'M', u'ヘクタール'), + (0x3337, 'M', u'ペソ'), + (0x3338, 'M', u'ペニヒ'), + (0x3339, 'M', u'ヘルツ'), + (0x333A, 'M', u'ペンス'), + (0x333B, 'M', u'ページ'), + (0x333C, 'M', u'ベータ'), + (0x333D, 'M', u'ポイント'), + (0x333E, 'M', u'ボルト'), + (0x333F, 'M', u'ホン'), + (0x3340, 'M', u'ポンド'), + (0x3341, 'M', u'ホール'), + (0x3342, 'M', u'ホーン'), + (0x3343, 'M', u'マイクロ'), + (0x3344, 'M', u'マイル'), + (0x3345, 'M', u'マッハ'), + (0x3346, 'M', u'マルク'), + (0x3347, 'M', u'マンション'), + (0x3348, 'M', u'ミクロン'), + (0x3349, 'M', u'ミリ'), + (0x334A, 'M', u'ミリバール'), + (0x334B, 'M', u'メガ'), + (0x334C, 'M', u'メガトン'), + (0x334D, 'M', u'メートル'), + (0x334E, 'M', u'ヤード'), + (0x334F, 'M', u'ヤール'), + (0x3350, 'M', u'ユアン'), + (0x3351, 'M', u'リットル'), + (0x3352, 'M', u'リラ'), + (0x3353, 'M', u'ルピー'), + (0x3354, 'M', u'ルーブル'), + (0x3355, 'M', u'レム'), + (0x3356, 'M', u'レントゲン'), + (0x3357, 'M', u'ワット'), + (0x3358, 'M', u'0点'), + (0x3359, 'M', u'1点'), + (0x335A, 'M', u'2点'), + (0x335B, 'M', u'3点'), + (0x335C, 'M', u'4点'), + (0x335D, 'M', u'5点'), + (0x335E, 'M', u'6点'), + (0x335F, 'M', u'7点'), + (0x3360, 'M', u'8点'), + (0x3361, 'M', u'9点'), + (0x3362, 'M', u'10点'), + (0x3363, 'M', u'11点'), + (0x3364, 'M', u'12点'), + (0x3365, 'M', u'13点'), + (0x3366, 'M', u'14点'), + (0x3367, 'M', u'15点'), + (0x3368, 'M', u'16点'), + (0x3369, 'M', u'17点'), + (0x336A, 'M', u'18点'), + (0x336B, 'M', u'19点'), + (0x336C, 'M', u'20点'), + (0x336D, 'M', u'21点'), + (0x336E, 'M', u'22点'), + (0x336F, 'M', u'23点'), + (0x3370, 'M', u'24点'), + (0x3371, 'M', u'hpa'), + (0x3372, 'M', u'da'), + (0x3373, 'M', u'au'), + (0x3374, 'M', u'bar'), + (0x3375, 'M', u'ov'), + (0x3376, 'M', u'pc'), + (0x3377, 'M', u'dm'), + (0x3378, 'M', u'dm2'), + (0x3379, 'M', u'dm3'), + (0x337A, 'M', u'iu'), + (0x337B, 'M', u'平成'), + (0x337C, 'M', u'昭和'), + (0x337D, 'M', u'大正'), + (0x337E, 'M', u'明治'), + (0x337F, 'M', u'株式会社'), + (0x3380, 'M', u'pa'), + (0x3381, 'M', u'na'), + (0x3382, 'M', u'μa'), + (0x3383, 'M', u'ma'), + (0x3384, 'M', u'ka'), + (0x3385, 'M', u'kb'), + (0x3386, 'M', u'mb'), + (0x3387, 'M', u'gb'), + (0x3388, 'M', u'cal'), + (0x3389, 'M', u'kcal'), + (0x338A, 'M', u'pf'), + (0x338B, 'M', u'nf'), + (0x338C, 'M', u'μf'), + (0x338D, 'M', u'μg'), + (0x338E, 'M', u'mg'), + (0x338F, 'M', u'kg'), + ] + +def _seg_34(): + return [ + (0x3390, 'M', u'hz'), + (0x3391, 'M', u'khz'), + (0x3392, 'M', u'mhz'), + (0x3393, 'M', u'ghz'), + (0x3394, 'M', u'thz'), + (0x3395, 'M', u'μl'), + (0x3396, 'M', u'ml'), + (0x3397, 'M', u'dl'), + (0x3398, 'M', u'kl'), + (0x3399, 'M', u'fm'), + (0x339A, 'M', u'nm'), + (0x339B, 'M', u'μm'), + (0x339C, 'M', u'mm'), + (0x339D, 'M', u'cm'), + (0x339E, 'M', u'km'), + (0x339F, 'M', u'mm2'), + (0x33A0, 'M', u'cm2'), + (0x33A1, 'M', u'm2'), + (0x33A2, 'M', u'km2'), + (0x33A3, 'M', u'mm3'), + (0x33A4, 'M', u'cm3'), + (0x33A5, 'M', u'm3'), + (0x33A6, 'M', u'km3'), + (0x33A7, 'M', u'm∕s'), + (0x33A8, 'M', u'm∕s2'), + (0x33A9, 'M', u'pa'), + (0x33AA, 'M', u'kpa'), + (0x33AB, 'M', u'mpa'), + (0x33AC, 'M', u'gpa'), + (0x33AD, 'M', u'rad'), + (0x33AE, 'M', u'rad∕s'), + (0x33AF, 'M', u'rad∕s2'), + (0x33B0, 'M', u'ps'), + (0x33B1, 'M', u'ns'), + (0x33B2, 'M', u'μs'), + (0x33B3, 'M', u'ms'), + (0x33B4, 'M', u'pv'), + (0x33B5, 'M', u'nv'), + (0x33B6, 'M', u'μv'), + (0x33B7, 'M', u'mv'), + (0x33B8, 'M', u'kv'), + (0x33B9, 'M', u'mv'), + (0x33BA, 'M', u'pw'), + (0x33BB, 'M', u'nw'), + (0x33BC, 'M', u'μw'), + (0x33BD, 'M', u'mw'), + (0x33BE, 'M', u'kw'), + (0x33BF, 'M', u'mw'), + (0x33C0, 'M', u'kω'), + (0x33C1, 'M', u'mω'), + (0x33C2, 'X'), + (0x33C3, 'M', u'bq'), + (0x33C4, 'M', u'cc'), + (0x33C5, 'M', u'cd'), + (0x33C6, 'M', u'c∕kg'), + (0x33C7, 'X'), + (0x33C8, 'M', u'db'), + (0x33C9, 'M', u'gy'), + (0x33CA, 'M', u'ha'), + (0x33CB, 'M', u'hp'), + (0x33CC, 'M', u'in'), + (0x33CD, 'M', u'kk'), + (0x33CE, 'M', u'km'), + (0x33CF, 'M', u'kt'), + (0x33D0, 'M', u'lm'), + (0x33D1, 'M', u'ln'), + (0x33D2, 'M', u'log'), + (0x33D3, 'M', u'lx'), + (0x33D4, 'M', u'mb'), + (0x33D5, 'M', u'mil'), + (0x33D6, 'M', u'mol'), + (0x33D7, 'M', u'ph'), + (0x33D8, 'X'), + (0x33D9, 'M', u'ppm'), + (0x33DA, 'M', u'pr'), + (0x33DB, 'M', u'sr'), + (0x33DC, 'M', u'sv'), + (0x33DD, 'M', u'wb'), + (0x33DE, 'M', u'v∕m'), + (0x33DF, 'M', u'a∕m'), + (0x33E0, 'M', u'1日'), + (0x33E1, 'M', u'2日'), + (0x33E2, 'M', u'3日'), + (0x33E3, 'M', u'4日'), + (0x33E4, 'M', u'5日'), + (0x33E5, 'M', u'6日'), + (0x33E6, 'M', u'7日'), + (0x33E7, 'M', u'8日'), + (0x33E8, 'M', u'9日'), + (0x33E9, 'M', u'10日'), + (0x33EA, 'M', u'11日'), + (0x33EB, 'M', u'12日'), + (0x33EC, 'M', u'13日'), + (0x33ED, 'M', u'14日'), + (0x33EE, 'M', u'15日'), + (0x33EF, 'M', u'16日'), + (0x33F0, 'M', u'17日'), + (0x33F1, 'M', u'18日'), + (0x33F2, 'M', u'19日'), + (0x33F3, 'M', u'20日'), + ] + +def _seg_35(): + return [ + (0x33F4, 'M', u'21日'), + (0x33F5, 'M', u'22日'), + (0x33F6, 'M', u'23日'), + (0x33F7, 'M', u'24日'), + (0x33F8, 'M', u'25日'), + (0x33F9, 'M', u'26日'), + (0x33FA, 'M', u'27日'), + (0x33FB, 'M', u'28日'), + (0x33FC, 'M', u'29日'), + (0x33FD, 'M', u'30日'), + (0x33FE, 'M', u'31日'), + (0x33FF, 'M', u'gal'), + (0x3400, 'V'), + (0x4DB6, 'X'), + (0x4DC0, 'V'), + (0x9FF0, 'X'), + (0xA000, 'V'), + (0xA48D, 'X'), + (0xA490, 'V'), + (0xA4C7, 'X'), + (0xA4D0, 'V'), + (0xA62C, 'X'), + (0xA640, 'M', u'ꙁ'), + (0xA641, 'V'), + (0xA642, 'M', u'ꙃ'), + (0xA643, 'V'), + (0xA644, 'M', u'ꙅ'), + (0xA645, 'V'), + (0xA646, 'M', u'ꙇ'), + (0xA647, 'V'), + (0xA648, 'M', u'ꙉ'), + (0xA649, 'V'), + (0xA64A, 'M', u'ꙋ'), + (0xA64B, 'V'), + (0xA64C, 'M', u'ꙍ'), + (0xA64D, 'V'), + (0xA64E, 'M', u'ꙏ'), + (0xA64F, 'V'), + (0xA650, 'M', u'ꙑ'), + (0xA651, 'V'), + (0xA652, 'M', u'ꙓ'), + (0xA653, 'V'), + (0xA654, 'M', u'ꙕ'), + (0xA655, 'V'), + (0xA656, 'M', u'ꙗ'), + (0xA657, 'V'), + (0xA658, 'M', u'ꙙ'), + (0xA659, 'V'), + (0xA65A, 'M', u'ꙛ'), + (0xA65B, 'V'), + (0xA65C, 'M', u'ꙝ'), + (0xA65D, 'V'), + (0xA65E, 'M', u'ꙟ'), + (0xA65F, 'V'), + (0xA660, 'M', u'ꙡ'), + (0xA661, 'V'), + (0xA662, 'M', u'ꙣ'), + (0xA663, 'V'), + (0xA664, 'M', u'ꙥ'), + (0xA665, 'V'), + (0xA666, 'M', u'ꙧ'), + (0xA667, 'V'), + (0xA668, 'M', u'ꙩ'), + (0xA669, 'V'), + (0xA66A, 'M', u'ꙫ'), + (0xA66B, 'V'), + (0xA66C, 'M', u'ꙭ'), + (0xA66D, 'V'), + (0xA680, 'M', u'ꚁ'), + (0xA681, 'V'), + (0xA682, 'M', u'ꚃ'), + (0xA683, 'V'), + (0xA684, 'M', u'ꚅ'), + (0xA685, 'V'), + (0xA686, 'M', u'ꚇ'), + (0xA687, 'V'), + (0xA688, 'M', u'ꚉ'), + (0xA689, 'V'), + (0xA68A, 'M', u'ꚋ'), + (0xA68B, 'V'), + (0xA68C, 'M', u'ꚍ'), + (0xA68D, 'V'), + (0xA68E, 'M', u'ꚏ'), + (0xA68F, 'V'), + (0xA690, 'M', u'ꚑ'), + (0xA691, 'V'), + (0xA692, 'M', u'ꚓ'), + (0xA693, 'V'), + (0xA694, 'M', u'ꚕ'), + (0xA695, 'V'), + (0xA696, 'M', u'ꚗ'), + (0xA697, 'V'), + (0xA698, 'M', u'ꚙ'), + (0xA699, 'V'), + (0xA69A, 'M', u'ꚛ'), + (0xA69B, 'V'), + (0xA69C, 'M', u'ъ'), + (0xA69D, 'M', u'ь'), + (0xA69E, 'V'), + (0xA6F8, 'X'), + ] + +def _seg_36(): + return [ + (0xA700, 'V'), + (0xA722, 'M', u'ꜣ'), + (0xA723, 'V'), + (0xA724, 'M', u'ꜥ'), + (0xA725, 'V'), + (0xA726, 'M', u'ꜧ'), + (0xA727, 'V'), + (0xA728, 'M', u'ꜩ'), + (0xA729, 'V'), + (0xA72A, 'M', u'ꜫ'), + (0xA72B, 'V'), + (0xA72C, 'M', u'ꜭ'), + (0xA72D, 'V'), + (0xA72E, 'M', u'ꜯ'), + (0xA72F, 'V'), + (0xA732, 'M', u'ꜳ'), + (0xA733, 'V'), + (0xA734, 'M', u'ꜵ'), + (0xA735, 'V'), + (0xA736, 'M', u'ꜷ'), + (0xA737, 'V'), + (0xA738, 'M', u'ꜹ'), + (0xA739, 'V'), + (0xA73A, 'M', u'ꜻ'), + (0xA73B, 'V'), + (0xA73C, 'M', u'ꜽ'), + (0xA73D, 'V'), + (0xA73E, 'M', u'ꜿ'), + (0xA73F, 'V'), + (0xA740, 'M', u'ꝁ'), + (0xA741, 'V'), + (0xA742, 'M', u'ꝃ'), + (0xA743, 'V'), + (0xA744, 'M', u'ꝅ'), + (0xA745, 'V'), + (0xA746, 'M', u'ꝇ'), + (0xA747, 'V'), + (0xA748, 'M', u'ꝉ'), + (0xA749, 'V'), + (0xA74A, 'M', u'ꝋ'), + (0xA74B, 'V'), + (0xA74C, 'M', u'ꝍ'), + (0xA74D, 'V'), + (0xA74E, 'M', u'ꝏ'), + (0xA74F, 'V'), + (0xA750, 'M', u'ꝑ'), + (0xA751, 'V'), + (0xA752, 'M', u'ꝓ'), + (0xA753, 'V'), + (0xA754, 'M', u'ꝕ'), + (0xA755, 'V'), + (0xA756, 'M', u'ꝗ'), + (0xA757, 'V'), + (0xA758, 'M', u'ꝙ'), + (0xA759, 'V'), + (0xA75A, 'M', u'ꝛ'), + (0xA75B, 'V'), + (0xA75C, 'M', u'ꝝ'), + (0xA75D, 'V'), + (0xA75E, 'M', u'ꝟ'), + (0xA75F, 'V'), + (0xA760, 'M', u'ꝡ'), + (0xA761, 'V'), + (0xA762, 'M', u'ꝣ'), + (0xA763, 'V'), + (0xA764, 'M', u'ꝥ'), + (0xA765, 'V'), + (0xA766, 'M', u'ꝧ'), + (0xA767, 'V'), + (0xA768, 'M', u'ꝩ'), + (0xA769, 'V'), + (0xA76A, 'M', u'ꝫ'), + (0xA76B, 'V'), + (0xA76C, 'M', u'ꝭ'), + (0xA76D, 'V'), + (0xA76E, 'M', u'ꝯ'), + (0xA76F, 'V'), + (0xA770, 'M', u'ꝯ'), + (0xA771, 'V'), + (0xA779, 'M', u'ꝺ'), + (0xA77A, 'V'), + (0xA77B, 'M', u'ꝼ'), + (0xA77C, 'V'), + (0xA77D, 'M', u'ᵹ'), + (0xA77E, 'M', u'ꝿ'), + (0xA77F, 'V'), + (0xA780, 'M', u'ꞁ'), + (0xA781, 'V'), + (0xA782, 'M', u'ꞃ'), + (0xA783, 'V'), + (0xA784, 'M', u'ꞅ'), + (0xA785, 'V'), + (0xA786, 'M', u'ꞇ'), + (0xA787, 'V'), + (0xA78B, 'M', u'ꞌ'), + (0xA78C, 'V'), + (0xA78D, 'M', u'ɥ'), + (0xA78E, 'V'), + (0xA790, 'M', u'ꞑ'), + (0xA791, 'V'), + ] + +def _seg_37(): + return [ + (0xA792, 'M', u'ꞓ'), + (0xA793, 'V'), + (0xA796, 'M', u'ꞗ'), + (0xA797, 'V'), + (0xA798, 'M', u'ꞙ'), + (0xA799, 'V'), + (0xA79A, 'M', u'ꞛ'), + (0xA79B, 'V'), + (0xA79C, 'M', u'ꞝ'), + (0xA79D, 'V'), + (0xA79E, 'M', u'ꞟ'), + (0xA79F, 'V'), + (0xA7A0, 'M', u'ꞡ'), + (0xA7A1, 'V'), + (0xA7A2, 'M', u'ꞣ'), + (0xA7A3, 'V'), + (0xA7A4, 'M', u'ꞥ'), + (0xA7A5, 'V'), + (0xA7A6, 'M', u'ꞧ'), + (0xA7A7, 'V'), + (0xA7A8, 'M', u'ꞩ'), + (0xA7A9, 'V'), + (0xA7AA, 'M', u'ɦ'), + (0xA7AB, 'M', u'ɜ'), + (0xA7AC, 'M', u'ɡ'), + (0xA7AD, 'M', u'ɬ'), + (0xA7AE, 'M', u'ɪ'), + (0xA7AF, 'V'), + (0xA7B0, 'M', u'ʞ'), + (0xA7B1, 'M', u'ʇ'), + (0xA7B2, 'M', u'ʝ'), + (0xA7B3, 'M', u'ꭓ'), + (0xA7B4, 'M', u'ꞵ'), + (0xA7B5, 'V'), + (0xA7B6, 'M', u'ꞷ'), + (0xA7B7, 'V'), + (0xA7B8, 'X'), + (0xA7B9, 'V'), + (0xA7BA, 'X'), + (0xA7F7, 'V'), + (0xA7F8, 'M', u'ħ'), + (0xA7F9, 'M', u'œ'), + (0xA7FA, 'V'), + (0xA82C, 'X'), + (0xA830, 'V'), + (0xA83A, 'X'), + (0xA840, 'V'), + (0xA878, 'X'), + (0xA880, 'V'), + (0xA8C6, 'X'), + (0xA8CE, 'V'), + (0xA8DA, 'X'), + (0xA8E0, 'V'), + (0xA954, 'X'), + (0xA95F, 'V'), + (0xA97D, 'X'), + (0xA980, 'V'), + (0xA9CE, 'X'), + (0xA9CF, 'V'), + (0xA9DA, 'X'), + (0xA9DE, 'V'), + (0xA9FF, 'X'), + (0xAA00, 'V'), + (0xAA37, 'X'), + (0xAA40, 'V'), + (0xAA4E, 'X'), + (0xAA50, 'V'), + (0xAA5A, 'X'), + (0xAA5C, 'V'), + (0xAAC3, 'X'), + (0xAADB, 'V'), + (0xAAF7, 'X'), + (0xAB01, 'V'), + (0xAB07, 'X'), + (0xAB09, 'V'), + (0xAB0F, 'X'), + (0xAB11, 'V'), + (0xAB17, 'X'), + (0xAB20, 'V'), + (0xAB27, 'X'), + (0xAB28, 'V'), + (0xAB2F, 'X'), + (0xAB30, 'V'), + (0xAB5C, 'M', u'ꜧ'), + (0xAB5D, 'M', u'ꬷ'), + (0xAB5E, 'M', u'ɫ'), + (0xAB5F, 'M', u'ꭒ'), + (0xAB60, 'V'), + (0xAB66, 'X'), + (0xAB70, 'M', u'Ꭰ'), + (0xAB71, 'M', u'Ꭱ'), + (0xAB72, 'M', u'Ꭲ'), + (0xAB73, 'M', u'Ꭳ'), + (0xAB74, 'M', u'Ꭴ'), + (0xAB75, 'M', u'Ꭵ'), + (0xAB76, 'M', u'Ꭶ'), + (0xAB77, 'M', u'Ꭷ'), + (0xAB78, 'M', u'Ꭸ'), + (0xAB79, 'M', u'Ꭹ'), + (0xAB7A, 'M', u'Ꭺ'), + ] + +def _seg_38(): + return [ + (0xAB7B, 'M', u'Ꭻ'), + (0xAB7C, 'M', u'Ꭼ'), + (0xAB7D, 'M', u'Ꭽ'), + (0xAB7E, 'M', u'Ꭾ'), + (0xAB7F, 'M', u'Ꭿ'), + (0xAB80, 'M', u'Ꮀ'), + (0xAB81, 'M', u'Ꮁ'), + (0xAB82, 'M', u'Ꮂ'), + (0xAB83, 'M', u'Ꮃ'), + (0xAB84, 'M', u'Ꮄ'), + (0xAB85, 'M', u'Ꮅ'), + (0xAB86, 'M', u'Ꮆ'), + (0xAB87, 'M', u'Ꮇ'), + (0xAB88, 'M', u'Ꮈ'), + (0xAB89, 'M', u'Ꮉ'), + (0xAB8A, 'M', u'Ꮊ'), + (0xAB8B, 'M', u'Ꮋ'), + (0xAB8C, 'M', u'Ꮌ'), + (0xAB8D, 'M', u'Ꮍ'), + (0xAB8E, 'M', u'Ꮎ'), + (0xAB8F, 'M', u'Ꮏ'), + (0xAB90, 'M', u'Ꮐ'), + (0xAB91, 'M', u'Ꮑ'), + (0xAB92, 'M', u'Ꮒ'), + (0xAB93, 'M', u'Ꮓ'), + (0xAB94, 'M', u'Ꮔ'), + (0xAB95, 'M', u'Ꮕ'), + (0xAB96, 'M', u'Ꮖ'), + (0xAB97, 'M', u'Ꮗ'), + (0xAB98, 'M', u'Ꮘ'), + (0xAB99, 'M', u'Ꮙ'), + (0xAB9A, 'M', u'Ꮚ'), + (0xAB9B, 'M', u'Ꮛ'), + (0xAB9C, 'M', u'Ꮜ'), + (0xAB9D, 'M', u'Ꮝ'), + (0xAB9E, 'M', u'Ꮞ'), + (0xAB9F, 'M', u'Ꮟ'), + (0xABA0, 'M', u'Ꮠ'), + (0xABA1, 'M', u'Ꮡ'), + (0xABA2, 'M', u'Ꮢ'), + (0xABA3, 'M', u'Ꮣ'), + (0xABA4, 'M', u'Ꮤ'), + (0xABA5, 'M', u'Ꮥ'), + (0xABA6, 'M', u'Ꮦ'), + (0xABA7, 'M', u'Ꮧ'), + (0xABA8, 'M', u'Ꮨ'), + (0xABA9, 'M', u'Ꮩ'), + (0xABAA, 'M', u'Ꮪ'), + (0xABAB, 'M', u'Ꮫ'), + (0xABAC, 'M', u'Ꮬ'), + (0xABAD, 'M', u'Ꮭ'), + (0xABAE, 'M', u'Ꮮ'), + (0xABAF, 'M', u'Ꮯ'), + (0xABB0, 'M', u'Ꮰ'), + (0xABB1, 'M', u'Ꮱ'), + (0xABB2, 'M', u'Ꮲ'), + (0xABB3, 'M', u'Ꮳ'), + (0xABB4, 'M', u'Ꮴ'), + (0xABB5, 'M', u'Ꮵ'), + (0xABB6, 'M', u'Ꮶ'), + (0xABB7, 'M', u'Ꮷ'), + (0xABB8, 'M', u'Ꮸ'), + (0xABB9, 'M', u'Ꮹ'), + (0xABBA, 'M', u'Ꮺ'), + (0xABBB, 'M', u'Ꮻ'), + (0xABBC, 'M', u'Ꮼ'), + (0xABBD, 'M', u'Ꮽ'), + (0xABBE, 'M', u'Ꮾ'), + (0xABBF, 'M', u'Ꮿ'), + (0xABC0, 'V'), + (0xABEE, 'X'), + (0xABF0, 'V'), + (0xABFA, 'X'), + (0xAC00, 'V'), + (0xD7A4, 'X'), + (0xD7B0, 'V'), + (0xD7C7, 'X'), + (0xD7CB, 'V'), + (0xD7FC, 'X'), + (0xF900, 'M', u'豈'), + (0xF901, 'M', u'更'), + (0xF902, 'M', u'車'), + (0xF903, 'M', u'賈'), + (0xF904, 'M', u'滑'), + (0xF905, 'M', u'串'), + (0xF906, 'M', u'句'), + (0xF907, 'M', u'龜'), + (0xF909, 'M', u'契'), + (0xF90A, 'M', u'金'), + (0xF90B, 'M', u'喇'), + (0xF90C, 'M', u'奈'), + (0xF90D, 'M', u'懶'), + (0xF90E, 'M', u'癩'), + (0xF90F, 'M', u'羅'), + (0xF910, 'M', u'蘿'), + (0xF911, 'M', u'螺'), + (0xF912, 'M', u'裸'), + (0xF913, 'M', u'邏'), + (0xF914, 'M', u'樂'), + (0xF915, 'M', u'洛'), + ] + +def _seg_39(): + return [ + (0xF916, 'M', u'烙'), + (0xF917, 'M', u'珞'), + (0xF918, 'M', u'落'), + (0xF919, 'M', u'酪'), + (0xF91A, 'M', u'駱'), + (0xF91B, 'M', u'亂'), + (0xF91C, 'M', u'卵'), + (0xF91D, 'M', u'欄'), + (0xF91E, 'M', u'爛'), + (0xF91F, 'M', u'蘭'), + (0xF920, 'M', u'鸞'), + (0xF921, 'M', u'嵐'), + (0xF922, 'M', u'濫'), + (0xF923, 'M', u'藍'), + (0xF924, 'M', u'襤'), + (0xF925, 'M', u'拉'), + (0xF926, 'M', u'臘'), + (0xF927, 'M', u'蠟'), + (0xF928, 'M', u'廊'), + (0xF929, 'M', u'朗'), + (0xF92A, 'M', u'浪'), + (0xF92B, 'M', u'狼'), + (0xF92C, 'M', u'郎'), + (0xF92D, 'M', u'來'), + (0xF92E, 'M', u'冷'), + (0xF92F, 'M', u'勞'), + (0xF930, 'M', u'擄'), + (0xF931, 'M', u'櫓'), + (0xF932, 'M', u'爐'), + (0xF933, 'M', u'盧'), + (0xF934, 'M', u'老'), + (0xF935, 'M', u'蘆'), + (0xF936, 'M', u'虜'), + (0xF937, 'M', u'路'), + (0xF938, 'M', u'露'), + (0xF939, 'M', u'魯'), + (0xF93A, 'M', u'鷺'), + (0xF93B, 'M', u'碌'), + (0xF93C, 'M', u'祿'), + (0xF93D, 'M', u'綠'), + (0xF93E, 'M', u'菉'), + (0xF93F, 'M', u'錄'), + (0xF940, 'M', u'鹿'), + (0xF941, 'M', u'論'), + (0xF942, 'M', u'壟'), + (0xF943, 'M', u'弄'), + (0xF944, 'M', u'籠'), + (0xF945, 'M', u'聾'), + (0xF946, 'M', u'牢'), + (0xF947, 'M', u'磊'), + (0xF948, 'M', u'賂'), + (0xF949, 'M', u'雷'), + (0xF94A, 'M', u'壘'), + (0xF94B, 'M', u'屢'), + (0xF94C, 'M', u'樓'), + (0xF94D, 'M', u'淚'), + (0xF94E, 'M', u'漏'), + (0xF94F, 'M', u'累'), + (0xF950, 'M', u'縷'), + (0xF951, 'M', u'陋'), + (0xF952, 'M', u'勒'), + (0xF953, 'M', u'肋'), + (0xF954, 'M', u'凜'), + (0xF955, 'M', u'凌'), + (0xF956, 'M', u'稜'), + (0xF957, 'M', u'綾'), + (0xF958, 'M', u'菱'), + (0xF959, 'M', u'陵'), + (0xF95A, 'M', u'讀'), + (0xF95B, 'M', u'拏'), + (0xF95C, 'M', u'樂'), + (0xF95D, 'M', u'諾'), + (0xF95E, 'M', u'丹'), + (0xF95F, 'M', u'寧'), + (0xF960, 'M', u'怒'), + (0xF961, 'M', u'率'), + (0xF962, 'M', u'異'), + (0xF963, 'M', u'北'), + (0xF964, 'M', u'磻'), + (0xF965, 'M', u'便'), + (0xF966, 'M', u'復'), + (0xF967, 'M', u'不'), + (0xF968, 'M', u'泌'), + (0xF969, 'M', u'數'), + (0xF96A, 'M', u'索'), + (0xF96B, 'M', u'參'), + (0xF96C, 'M', u'塞'), + (0xF96D, 'M', u'省'), + (0xF96E, 'M', u'葉'), + (0xF96F, 'M', u'說'), + (0xF970, 'M', u'殺'), + (0xF971, 'M', u'辰'), + (0xF972, 'M', u'沈'), + (0xF973, 'M', u'拾'), + (0xF974, 'M', u'若'), + (0xF975, 'M', u'掠'), + (0xF976, 'M', u'略'), + (0xF977, 'M', u'亮'), + (0xF978, 'M', u'兩'), + (0xF979, 'M', u'凉'), + ] + +def _seg_40(): + return [ + (0xF97A, 'M', u'梁'), + (0xF97B, 'M', u'糧'), + (0xF97C, 'M', u'良'), + (0xF97D, 'M', u'諒'), + (0xF97E, 'M', u'量'), + (0xF97F, 'M', u'勵'), + (0xF980, 'M', u'呂'), + (0xF981, 'M', u'女'), + (0xF982, 'M', u'廬'), + (0xF983, 'M', u'旅'), + (0xF984, 'M', u'濾'), + (0xF985, 'M', u'礪'), + (0xF986, 'M', u'閭'), + (0xF987, 'M', u'驪'), + (0xF988, 'M', u'麗'), + (0xF989, 'M', u'黎'), + (0xF98A, 'M', u'力'), + (0xF98B, 'M', u'曆'), + (0xF98C, 'M', u'歷'), + (0xF98D, 'M', u'轢'), + (0xF98E, 'M', u'年'), + (0xF98F, 'M', u'憐'), + (0xF990, 'M', u'戀'), + (0xF991, 'M', u'撚'), + (0xF992, 'M', u'漣'), + (0xF993, 'M', u'煉'), + (0xF994, 'M', u'璉'), + (0xF995, 'M', u'秊'), + (0xF996, 'M', u'練'), + (0xF997, 'M', u'聯'), + (0xF998, 'M', u'輦'), + (0xF999, 'M', u'蓮'), + (0xF99A, 'M', u'連'), + (0xF99B, 'M', u'鍊'), + (0xF99C, 'M', u'列'), + (0xF99D, 'M', u'劣'), + (0xF99E, 'M', u'咽'), + (0xF99F, 'M', u'烈'), + (0xF9A0, 'M', u'裂'), + (0xF9A1, 'M', u'說'), + (0xF9A2, 'M', u'廉'), + (0xF9A3, 'M', u'念'), + (0xF9A4, 'M', u'捻'), + (0xF9A5, 'M', u'殮'), + (0xF9A6, 'M', u'簾'), + (0xF9A7, 'M', u'獵'), + (0xF9A8, 'M', u'令'), + (0xF9A9, 'M', u'囹'), + (0xF9AA, 'M', u'寧'), + (0xF9AB, 'M', u'嶺'), + (0xF9AC, 'M', u'怜'), + (0xF9AD, 'M', u'玲'), + (0xF9AE, 'M', u'瑩'), + (0xF9AF, 'M', u'羚'), + (0xF9B0, 'M', u'聆'), + (0xF9B1, 'M', u'鈴'), + (0xF9B2, 'M', u'零'), + (0xF9B3, 'M', u'靈'), + (0xF9B4, 'M', u'領'), + (0xF9B5, 'M', u'例'), + (0xF9B6, 'M', u'禮'), + (0xF9B7, 'M', u'醴'), + (0xF9B8, 'M', u'隸'), + (0xF9B9, 'M', u'惡'), + (0xF9BA, 'M', u'了'), + (0xF9BB, 'M', u'僚'), + (0xF9BC, 'M', u'寮'), + (0xF9BD, 'M', u'尿'), + (0xF9BE, 'M', u'料'), + (0xF9BF, 'M', u'樂'), + (0xF9C0, 'M', u'燎'), + (0xF9C1, 'M', u'療'), + (0xF9C2, 'M', u'蓼'), + (0xF9C3, 'M', u'遼'), + (0xF9C4, 'M', u'龍'), + (0xF9C5, 'M', u'暈'), + (0xF9C6, 'M', u'阮'), + (0xF9C7, 'M', u'劉'), + (0xF9C8, 'M', u'杻'), + (0xF9C9, 'M', u'柳'), + (0xF9CA, 'M', u'流'), + (0xF9CB, 'M', u'溜'), + (0xF9CC, 'M', u'琉'), + (0xF9CD, 'M', u'留'), + (0xF9CE, 'M', u'硫'), + (0xF9CF, 'M', u'紐'), + (0xF9D0, 'M', u'類'), + (0xF9D1, 'M', u'六'), + (0xF9D2, 'M', u'戮'), + (0xF9D3, 'M', u'陸'), + (0xF9D4, 'M', u'倫'), + (0xF9D5, 'M', u'崙'), + (0xF9D6, 'M', u'淪'), + (0xF9D7, 'M', u'輪'), + (0xF9D8, 'M', u'律'), + (0xF9D9, 'M', u'慄'), + (0xF9DA, 'M', u'栗'), + (0xF9DB, 'M', u'率'), + (0xF9DC, 'M', u'隆'), + (0xF9DD, 'M', u'利'), + ] + +def _seg_41(): + return [ + (0xF9DE, 'M', u'吏'), + (0xF9DF, 'M', u'履'), + (0xF9E0, 'M', u'易'), + (0xF9E1, 'M', u'李'), + (0xF9E2, 'M', u'梨'), + (0xF9E3, 'M', u'泥'), + (0xF9E4, 'M', u'理'), + (0xF9E5, 'M', u'痢'), + (0xF9E6, 'M', u'罹'), + (0xF9E7, 'M', u'裏'), + (0xF9E8, 'M', u'裡'), + (0xF9E9, 'M', u'里'), + (0xF9EA, 'M', u'離'), + (0xF9EB, 'M', u'匿'), + (0xF9EC, 'M', u'溺'), + (0xF9ED, 'M', u'吝'), + (0xF9EE, 'M', u'燐'), + (0xF9EF, 'M', u'璘'), + (0xF9F0, 'M', u'藺'), + (0xF9F1, 'M', u'隣'), + (0xF9F2, 'M', u'鱗'), + (0xF9F3, 'M', u'麟'), + (0xF9F4, 'M', u'林'), + (0xF9F5, 'M', u'淋'), + (0xF9F6, 'M', u'臨'), + (0xF9F7, 'M', u'立'), + (0xF9F8, 'M', u'笠'), + (0xF9F9, 'M', u'粒'), + (0xF9FA, 'M', u'狀'), + (0xF9FB, 'M', u'炙'), + (0xF9FC, 'M', u'識'), + (0xF9FD, 'M', u'什'), + (0xF9FE, 'M', u'茶'), + (0xF9FF, 'M', u'刺'), + (0xFA00, 'M', u'切'), + (0xFA01, 'M', u'度'), + (0xFA02, 'M', u'拓'), + (0xFA03, 'M', u'糖'), + (0xFA04, 'M', u'宅'), + (0xFA05, 'M', u'洞'), + (0xFA06, 'M', u'暴'), + (0xFA07, 'M', u'輻'), + (0xFA08, 'M', u'行'), + (0xFA09, 'M', u'降'), + (0xFA0A, 'M', u'見'), + (0xFA0B, 'M', u'廓'), + (0xFA0C, 'M', u'兀'), + (0xFA0D, 'M', u'嗀'), + (0xFA0E, 'V'), + (0xFA10, 'M', u'塚'), + (0xFA11, 'V'), + (0xFA12, 'M', u'晴'), + (0xFA13, 'V'), + (0xFA15, 'M', u'凞'), + (0xFA16, 'M', u'猪'), + (0xFA17, 'M', u'益'), + (0xFA18, 'M', u'礼'), + (0xFA19, 'M', u'神'), + (0xFA1A, 'M', u'祥'), + (0xFA1B, 'M', u'福'), + (0xFA1C, 'M', u'靖'), + (0xFA1D, 'M', u'精'), + (0xFA1E, 'M', u'羽'), + (0xFA1F, 'V'), + (0xFA20, 'M', u'蘒'), + (0xFA21, 'V'), + (0xFA22, 'M', u'諸'), + (0xFA23, 'V'), + (0xFA25, 'M', u'逸'), + (0xFA26, 'M', u'都'), + (0xFA27, 'V'), + (0xFA2A, 'M', u'飯'), + (0xFA2B, 'M', u'飼'), + (0xFA2C, 'M', u'館'), + (0xFA2D, 'M', u'鶴'), + (0xFA2E, 'M', u'郞'), + (0xFA2F, 'M', u'隷'), + (0xFA30, 'M', u'侮'), + (0xFA31, 'M', u'僧'), + (0xFA32, 'M', u'免'), + (0xFA33, 'M', u'勉'), + (0xFA34, 'M', u'勤'), + (0xFA35, 'M', u'卑'), + (0xFA36, 'M', u'喝'), + (0xFA37, 'M', u'嘆'), + (0xFA38, 'M', u'器'), + (0xFA39, 'M', u'塀'), + (0xFA3A, 'M', u'墨'), + (0xFA3B, 'M', u'層'), + (0xFA3C, 'M', u'屮'), + (0xFA3D, 'M', u'悔'), + (0xFA3E, 'M', u'慨'), + (0xFA3F, 'M', u'憎'), + (0xFA40, 'M', u'懲'), + (0xFA41, 'M', u'敏'), + (0xFA42, 'M', u'既'), + (0xFA43, 'M', u'暑'), + (0xFA44, 'M', u'梅'), + (0xFA45, 'M', u'海'), + (0xFA46, 'M', u'渚'), + ] + +def _seg_42(): + return [ + (0xFA47, 'M', u'漢'), + (0xFA48, 'M', u'煮'), + (0xFA49, 'M', u'爫'), + (0xFA4A, 'M', u'琢'), + (0xFA4B, 'M', u'碑'), + (0xFA4C, 'M', u'社'), + (0xFA4D, 'M', u'祉'), + (0xFA4E, 'M', u'祈'), + (0xFA4F, 'M', u'祐'), + (0xFA50, 'M', u'祖'), + (0xFA51, 'M', u'祝'), + (0xFA52, 'M', u'禍'), + (0xFA53, 'M', u'禎'), + (0xFA54, 'M', u'穀'), + (0xFA55, 'M', u'突'), + (0xFA56, 'M', u'節'), + (0xFA57, 'M', u'練'), + (0xFA58, 'M', u'縉'), + (0xFA59, 'M', u'繁'), + (0xFA5A, 'M', u'署'), + (0xFA5B, 'M', u'者'), + (0xFA5C, 'M', u'臭'), + (0xFA5D, 'M', u'艹'), + (0xFA5F, 'M', u'著'), + (0xFA60, 'M', u'褐'), + (0xFA61, 'M', u'視'), + (0xFA62, 'M', u'謁'), + (0xFA63, 'M', u'謹'), + (0xFA64, 'M', u'賓'), + (0xFA65, 'M', u'贈'), + (0xFA66, 'M', u'辶'), + (0xFA67, 'M', u'逸'), + (0xFA68, 'M', u'難'), + (0xFA69, 'M', u'響'), + (0xFA6A, 'M', u'頻'), + (0xFA6B, 'M', u'恵'), + (0xFA6C, 'M', u'𤋮'), + (0xFA6D, 'M', u'舘'), + (0xFA6E, 'X'), + (0xFA70, 'M', u'並'), + (0xFA71, 'M', u'况'), + (0xFA72, 'M', u'全'), + (0xFA73, 'M', u'侀'), + (0xFA74, 'M', u'充'), + (0xFA75, 'M', u'冀'), + (0xFA76, 'M', u'勇'), + (0xFA77, 'M', u'勺'), + (0xFA78, 'M', u'喝'), + (0xFA79, 'M', u'啕'), + (0xFA7A, 'M', u'喙'), + (0xFA7B, 'M', u'嗢'), + (0xFA7C, 'M', u'塚'), + (0xFA7D, 'M', u'墳'), + (0xFA7E, 'M', u'奄'), + (0xFA7F, 'M', u'奔'), + (0xFA80, 'M', u'婢'), + (0xFA81, 'M', u'嬨'), + (0xFA82, 'M', u'廒'), + (0xFA83, 'M', u'廙'), + (0xFA84, 'M', u'彩'), + (0xFA85, 'M', u'徭'), + (0xFA86, 'M', u'惘'), + (0xFA87, 'M', u'慎'), + (0xFA88, 'M', u'愈'), + (0xFA89, 'M', u'憎'), + (0xFA8A, 'M', u'慠'), + (0xFA8B, 'M', u'懲'), + (0xFA8C, 'M', u'戴'), + (0xFA8D, 'M', u'揄'), + (0xFA8E, 'M', u'搜'), + (0xFA8F, 'M', u'摒'), + (0xFA90, 'M', u'敖'), + (0xFA91, 'M', u'晴'), + (0xFA92, 'M', u'朗'), + (0xFA93, 'M', u'望'), + (0xFA94, 'M', u'杖'), + (0xFA95, 'M', u'歹'), + (0xFA96, 'M', u'殺'), + (0xFA97, 'M', u'流'), + (0xFA98, 'M', u'滛'), + (0xFA99, 'M', u'滋'), + (0xFA9A, 'M', u'漢'), + (0xFA9B, 'M', u'瀞'), + (0xFA9C, 'M', u'煮'), + (0xFA9D, 'M', u'瞧'), + (0xFA9E, 'M', u'爵'), + (0xFA9F, 'M', u'犯'), + (0xFAA0, 'M', u'猪'), + (0xFAA1, 'M', u'瑱'), + (0xFAA2, 'M', u'甆'), + (0xFAA3, 'M', u'画'), + (0xFAA4, 'M', u'瘝'), + (0xFAA5, 'M', u'瘟'), + (0xFAA6, 'M', u'益'), + (0xFAA7, 'M', u'盛'), + (0xFAA8, 'M', u'直'), + (0xFAA9, 'M', u'睊'), + (0xFAAA, 'M', u'着'), + (0xFAAB, 'M', u'磌'), + (0xFAAC, 'M', u'窱'), + ] + +def _seg_43(): + return [ + (0xFAAD, 'M', u'節'), + (0xFAAE, 'M', u'类'), + (0xFAAF, 'M', u'絛'), + (0xFAB0, 'M', u'練'), + (0xFAB1, 'M', u'缾'), + (0xFAB2, 'M', u'者'), + (0xFAB3, 'M', u'荒'), + (0xFAB4, 'M', u'華'), + (0xFAB5, 'M', u'蝹'), + (0xFAB6, 'M', u'襁'), + (0xFAB7, 'M', u'覆'), + (0xFAB8, 'M', u'視'), + (0xFAB9, 'M', u'調'), + (0xFABA, 'M', u'諸'), + (0xFABB, 'M', u'請'), + (0xFABC, 'M', u'謁'), + (0xFABD, 'M', u'諾'), + (0xFABE, 'M', u'諭'), + (0xFABF, 'M', u'謹'), + (0xFAC0, 'M', u'變'), + (0xFAC1, 'M', u'贈'), + (0xFAC2, 'M', u'輸'), + (0xFAC3, 'M', u'遲'), + (0xFAC4, 'M', u'醙'), + (0xFAC5, 'M', u'鉶'), + (0xFAC6, 'M', u'陼'), + (0xFAC7, 'M', u'難'), + (0xFAC8, 'M', u'靖'), + (0xFAC9, 'M', u'韛'), + (0xFACA, 'M', u'響'), + (0xFACB, 'M', u'頋'), + (0xFACC, 'M', u'頻'), + (0xFACD, 'M', u'鬒'), + (0xFACE, 'M', u'龜'), + (0xFACF, 'M', u'𢡊'), + (0xFAD0, 'M', u'𢡄'), + (0xFAD1, 'M', u'𣏕'), + (0xFAD2, 'M', u'㮝'), + (0xFAD3, 'M', u'䀘'), + (0xFAD4, 'M', u'䀹'), + (0xFAD5, 'M', u'𥉉'), + (0xFAD6, 'M', u'𥳐'), + (0xFAD7, 'M', u'𧻓'), + (0xFAD8, 'M', u'齃'), + (0xFAD9, 'M', u'龎'), + (0xFADA, 'X'), + (0xFB00, 'M', u'ff'), + (0xFB01, 'M', u'fi'), + (0xFB02, 'M', u'fl'), + (0xFB03, 'M', u'ffi'), + (0xFB04, 'M', u'ffl'), + (0xFB05, 'M', u'st'), + (0xFB07, 'X'), + (0xFB13, 'M', u'մն'), + (0xFB14, 'M', u'մե'), + (0xFB15, 'M', u'մի'), + (0xFB16, 'M', u'վն'), + (0xFB17, 'M', u'մխ'), + (0xFB18, 'X'), + (0xFB1D, 'M', u'יִ'), + (0xFB1E, 'V'), + (0xFB1F, 'M', u'ײַ'), + (0xFB20, 'M', u'ע'), + (0xFB21, 'M', u'א'), + (0xFB22, 'M', u'ד'), + (0xFB23, 'M', u'ה'), + (0xFB24, 'M', u'כ'), + (0xFB25, 'M', u'ל'), + (0xFB26, 'M', u'ם'), + (0xFB27, 'M', u'ר'), + (0xFB28, 'M', u'ת'), + (0xFB29, '3', u'+'), + (0xFB2A, 'M', u'שׁ'), + (0xFB2B, 'M', u'שׂ'), + (0xFB2C, 'M', u'שּׁ'), + (0xFB2D, 'M', u'שּׂ'), + (0xFB2E, 'M', u'אַ'), + (0xFB2F, 'M', u'אָ'), + (0xFB30, 'M', u'אּ'), + (0xFB31, 'M', u'בּ'), + (0xFB32, 'M', u'גּ'), + (0xFB33, 'M', u'דּ'), + (0xFB34, 'M', u'הּ'), + (0xFB35, 'M', u'וּ'), + (0xFB36, 'M', u'זּ'), + (0xFB37, 'X'), + (0xFB38, 'M', u'טּ'), + (0xFB39, 'M', u'יּ'), + (0xFB3A, 'M', u'ךּ'), + (0xFB3B, 'M', u'כּ'), + (0xFB3C, 'M', u'לּ'), + (0xFB3D, 'X'), + (0xFB3E, 'M', u'מּ'), + (0xFB3F, 'X'), + (0xFB40, 'M', u'נּ'), + (0xFB41, 'M', u'סּ'), + (0xFB42, 'X'), + (0xFB43, 'M', u'ףּ'), + (0xFB44, 'M', u'פּ'), + (0xFB45, 'X'), + ] + +def _seg_44(): + return [ + (0xFB46, 'M', u'צּ'), + (0xFB47, 'M', u'קּ'), + (0xFB48, 'M', u'רּ'), + (0xFB49, 'M', u'שּ'), + (0xFB4A, 'M', u'תּ'), + (0xFB4B, 'M', u'וֹ'), + (0xFB4C, 'M', u'בֿ'), + (0xFB4D, 'M', u'כֿ'), + (0xFB4E, 'M', u'פֿ'), + (0xFB4F, 'M', u'אל'), + (0xFB50, 'M', u'ٱ'), + (0xFB52, 'M', u'ٻ'), + (0xFB56, 'M', u'پ'), + (0xFB5A, 'M', u'ڀ'), + (0xFB5E, 'M', u'ٺ'), + (0xFB62, 'M', u'ٿ'), + (0xFB66, 'M', u'ٹ'), + (0xFB6A, 'M', u'ڤ'), + (0xFB6E, 'M', u'ڦ'), + (0xFB72, 'M', u'ڄ'), + (0xFB76, 'M', u'ڃ'), + (0xFB7A, 'M', u'چ'), + (0xFB7E, 'M', u'ڇ'), + (0xFB82, 'M', u'ڍ'), + (0xFB84, 'M', u'ڌ'), + (0xFB86, 'M', u'ڎ'), + (0xFB88, 'M', u'ڈ'), + (0xFB8A, 'M', u'ژ'), + (0xFB8C, 'M', u'ڑ'), + (0xFB8E, 'M', u'ک'), + (0xFB92, 'M', u'گ'), + (0xFB96, 'M', u'ڳ'), + (0xFB9A, 'M', u'ڱ'), + (0xFB9E, 'M', u'ں'), + (0xFBA0, 'M', u'ڻ'), + (0xFBA4, 'M', u'ۀ'), + (0xFBA6, 'M', u'ہ'), + (0xFBAA, 'M', u'ھ'), + (0xFBAE, 'M', u'ے'), + (0xFBB0, 'M', u'ۓ'), + (0xFBB2, 'V'), + (0xFBC2, 'X'), + (0xFBD3, 'M', u'ڭ'), + (0xFBD7, 'M', u'ۇ'), + (0xFBD9, 'M', u'ۆ'), + (0xFBDB, 'M', u'ۈ'), + (0xFBDD, 'M', u'ۇٴ'), + (0xFBDE, 'M', u'ۋ'), + (0xFBE0, 'M', u'ۅ'), + (0xFBE2, 'M', u'ۉ'), + (0xFBE4, 'M', u'ې'), + (0xFBE8, 'M', u'ى'), + (0xFBEA, 'M', u'ئا'), + (0xFBEC, 'M', u'ئە'), + (0xFBEE, 'M', u'ئو'), + (0xFBF0, 'M', u'ئۇ'), + (0xFBF2, 'M', u'ئۆ'), + (0xFBF4, 'M', u'ئۈ'), + (0xFBF6, 'M', u'ئې'), + (0xFBF9, 'M', u'ئى'), + (0xFBFC, 'M', u'ی'), + (0xFC00, 'M', u'ئج'), + (0xFC01, 'M', u'ئح'), + (0xFC02, 'M', u'ئم'), + (0xFC03, 'M', u'ئى'), + (0xFC04, 'M', u'ئي'), + (0xFC05, 'M', u'بج'), + (0xFC06, 'M', u'بح'), + (0xFC07, 'M', u'بخ'), + (0xFC08, 'M', u'بم'), + (0xFC09, 'M', u'بى'), + (0xFC0A, 'M', u'بي'), + (0xFC0B, 'M', u'تج'), + (0xFC0C, 'M', u'تح'), + (0xFC0D, 'M', u'تخ'), + (0xFC0E, 'M', u'تم'), + (0xFC0F, 'M', u'تى'), + (0xFC10, 'M', u'تي'), + (0xFC11, 'M', u'ثج'), + (0xFC12, 'M', u'ثم'), + (0xFC13, 'M', u'ثى'), + (0xFC14, 'M', u'ثي'), + (0xFC15, 'M', u'جح'), + (0xFC16, 'M', u'جم'), + (0xFC17, 'M', u'حج'), + (0xFC18, 'M', u'حم'), + (0xFC19, 'M', u'خج'), + (0xFC1A, 'M', u'خح'), + (0xFC1B, 'M', u'خم'), + (0xFC1C, 'M', u'سج'), + (0xFC1D, 'M', u'سح'), + (0xFC1E, 'M', u'سخ'), + (0xFC1F, 'M', u'سم'), + (0xFC20, 'M', u'صح'), + (0xFC21, 'M', u'صم'), + (0xFC22, 'M', u'ضج'), + (0xFC23, 'M', u'ضح'), + (0xFC24, 'M', u'ضخ'), + (0xFC25, 'M', u'ضم'), + (0xFC26, 'M', u'طح'), + ] + +def _seg_45(): + return [ + (0xFC27, 'M', u'طم'), + (0xFC28, 'M', u'ظم'), + (0xFC29, 'M', u'عج'), + (0xFC2A, 'M', u'عم'), + (0xFC2B, 'M', u'غج'), + (0xFC2C, 'M', u'غم'), + (0xFC2D, 'M', u'فج'), + (0xFC2E, 'M', u'فح'), + (0xFC2F, 'M', u'فخ'), + (0xFC30, 'M', u'فم'), + (0xFC31, 'M', u'فى'), + (0xFC32, 'M', u'في'), + (0xFC33, 'M', u'قح'), + (0xFC34, 'M', u'قم'), + (0xFC35, 'M', u'قى'), + (0xFC36, 'M', u'قي'), + (0xFC37, 'M', u'كا'), + (0xFC38, 'M', u'كج'), + (0xFC39, 'M', u'كح'), + (0xFC3A, 'M', u'كخ'), + (0xFC3B, 'M', u'كل'), + (0xFC3C, 'M', u'كم'), + (0xFC3D, 'M', u'كى'), + (0xFC3E, 'M', u'كي'), + (0xFC3F, 'M', u'لج'), + (0xFC40, 'M', u'لح'), + (0xFC41, 'M', u'لخ'), + (0xFC42, 'M', u'لم'), + (0xFC43, 'M', u'لى'), + (0xFC44, 'M', u'لي'), + (0xFC45, 'M', u'مج'), + (0xFC46, 'M', u'مح'), + (0xFC47, 'M', u'مخ'), + (0xFC48, 'M', u'مم'), + (0xFC49, 'M', u'مى'), + (0xFC4A, 'M', u'مي'), + (0xFC4B, 'M', u'نج'), + (0xFC4C, 'M', u'نح'), + (0xFC4D, 'M', u'نخ'), + (0xFC4E, 'M', u'نم'), + (0xFC4F, 'M', u'نى'), + (0xFC50, 'M', u'ني'), + (0xFC51, 'M', u'هج'), + (0xFC52, 'M', u'هم'), + (0xFC53, 'M', u'هى'), + (0xFC54, 'M', u'هي'), + (0xFC55, 'M', u'يج'), + (0xFC56, 'M', u'يح'), + (0xFC57, 'M', u'يخ'), + (0xFC58, 'M', u'يم'), + (0xFC59, 'M', u'يى'), + (0xFC5A, 'M', u'يي'), + (0xFC5B, 'M', u'ذٰ'), + (0xFC5C, 'M', u'رٰ'), + (0xFC5D, 'M', u'ىٰ'), + (0xFC5E, '3', u' ٌّ'), + (0xFC5F, '3', u' ٍّ'), + (0xFC60, '3', u' َّ'), + (0xFC61, '3', u' ُّ'), + (0xFC62, '3', u' ِّ'), + (0xFC63, '3', u' ّٰ'), + (0xFC64, 'M', u'ئر'), + (0xFC65, 'M', u'ئز'), + (0xFC66, 'M', u'ئم'), + (0xFC67, 'M', u'ئن'), + (0xFC68, 'M', u'ئى'), + (0xFC69, 'M', u'ئي'), + (0xFC6A, 'M', u'بر'), + (0xFC6B, 'M', u'بز'), + (0xFC6C, 'M', u'بم'), + (0xFC6D, 'M', u'بن'), + (0xFC6E, 'M', u'بى'), + (0xFC6F, 'M', u'بي'), + (0xFC70, 'M', u'تر'), + (0xFC71, 'M', u'تز'), + (0xFC72, 'M', u'تم'), + (0xFC73, 'M', u'تن'), + (0xFC74, 'M', u'تى'), + (0xFC75, 'M', u'تي'), + (0xFC76, 'M', u'ثر'), + (0xFC77, 'M', u'ثز'), + (0xFC78, 'M', u'ثم'), + (0xFC79, 'M', u'ثن'), + (0xFC7A, 'M', u'ثى'), + (0xFC7B, 'M', u'ثي'), + (0xFC7C, 'M', u'فى'), + (0xFC7D, 'M', u'في'), + (0xFC7E, 'M', u'قى'), + (0xFC7F, 'M', u'قي'), + (0xFC80, 'M', u'كا'), + (0xFC81, 'M', u'كل'), + (0xFC82, 'M', u'كم'), + (0xFC83, 'M', u'كى'), + (0xFC84, 'M', u'كي'), + (0xFC85, 'M', u'لم'), + (0xFC86, 'M', u'لى'), + (0xFC87, 'M', u'لي'), + (0xFC88, 'M', u'ما'), + (0xFC89, 'M', u'مم'), + (0xFC8A, 'M', u'نر'), + ] + +def _seg_46(): + return [ + (0xFC8B, 'M', u'نز'), + (0xFC8C, 'M', u'نم'), + (0xFC8D, 'M', u'نن'), + (0xFC8E, 'M', u'نى'), + (0xFC8F, 'M', u'ني'), + (0xFC90, 'M', u'ىٰ'), + (0xFC91, 'M', u'ير'), + (0xFC92, 'M', u'يز'), + (0xFC93, 'M', u'يم'), + (0xFC94, 'M', u'ين'), + (0xFC95, 'M', u'يى'), + (0xFC96, 'M', u'يي'), + (0xFC97, 'M', u'ئج'), + (0xFC98, 'M', u'ئح'), + (0xFC99, 'M', u'ئخ'), + (0xFC9A, 'M', u'ئم'), + (0xFC9B, 'M', u'ئه'), + (0xFC9C, 'M', u'بج'), + (0xFC9D, 'M', u'بح'), + (0xFC9E, 'M', u'بخ'), + (0xFC9F, 'M', u'بم'), + (0xFCA0, 'M', u'به'), + (0xFCA1, 'M', u'تج'), + (0xFCA2, 'M', u'تح'), + (0xFCA3, 'M', u'تخ'), + (0xFCA4, 'M', u'تم'), + (0xFCA5, 'M', u'ته'), + (0xFCA6, 'M', u'ثم'), + (0xFCA7, 'M', u'جح'), + (0xFCA8, 'M', u'جم'), + (0xFCA9, 'M', u'حج'), + (0xFCAA, 'M', u'حم'), + (0xFCAB, 'M', u'خج'), + (0xFCAC, 'M', u'خم'), + (0xFCAD, 'M', u'سج'), + (0xFCAE, 'M', u'سح'), + (0xFCAF, 'M', u'سخ'), + (0xFCB0, 'M', u'سم'), + (0xFCB1, 'M', u'صح'), + (0xFCB2, 'M', u'صخ'), + (0xFCB3, 'M', u'صم'), + (0xFCB4, 'M', u'ضج'), + (0xFCB5, 'M', u'ضح'), + (0xFCB6, 'M', u'ضخ'), + (0xFCB7, 'M', u'ضم'), + (0xFCB8, 'M', u'طح'), + (0xFCB9, 'M', u'ظم'), + (0xFCBA, 'M', u'عج'), + (0xFCBB, 'M', u'عم'), + (0xFCBC, 'M', u'غج'), + (0xFCBD, 'M', u'غم'), + (0xFCBE, 'M', u'فج'), + (0xFCBF, 'M', u'فح'), + (0xFCC0, 'M', u'فخ'), + (0xFCC1, 'M', u'فم'), + (0xFCC2, 'M', u'قح'), + (0xFCC3, 'M', u'قم'), + (0xFCC4, 'M', u'كج'), + (0xFCC5, 'M', u'كح'), + (0xFCC6, 'M', u'كخ'), + (0xFCC7, 'M', u'كل'), + (0xFCC8, 'M', u'كم'), + (0xFCC9, 'M', u'لج'), + (0xFCCA, 'M', u'لح'), + (0xFCCB, 'M', u'لخ'), + (0xFCCC, 'M', u'لم'), + (0xFCCD, 'M', u'له'), + (0xFCCE, 'M', u'مج'), + (0xFCCF, 'M', u'مح'), + (0xFCD0, 'M', u'مخ'), + (0xFCD1, 'M', u'مم'), + (0xFCD2, 'M', u'نج'), + (0xFCD3, 'M', u'نح'), + (0xFCD4, 'M', u'نخ'), + (0xFCD5, 'M', u'نم'), + (0xFCD6, 'M', u'نه'), + (0xFCD7, 'M', u'هج'), + (0xFCD8, 'M', u'هم'), + (0xFCD9, 'M', u'هٰ'), + (0xFCDA, 'M', u'يج'), + (0xFCDB, 'M', u'يح'), + (0xFCDC, 'M', u'يخ'), + (0xFCDD, 'M', u'يم'), + (0xFCDE, 'M', u'يه'), + (0xFCDF, 'M', u'ئم'), + (0xFCE0, 'M', u'ئه'), + (0xFCE1, 'M', u'بم'), + (0xFCE2, 'M', u'به'), + (0xFCE3, 'M', u'تم'), + (0xFCE4, 'M', u'ته'), + (0xFCE5, 'M', u'ثم'), + (0xFCE6, 'M', u'ثه'), + (0xFCE7, 'M', u'سم'), + (0xFCE8, 'M', u'سه'), + (0xFCE9, 'M', u'شم'), + (0xFCEA, 'M', u'شه'), + (0xFCEB, 'M', u'كل'), + (0xFCEC, 'M', u'كم'), + (0xFCED, 'M', u'لم'), + (0xFCEE, 'M', u'نم'), + ] + +def _seg_47(): + return [ + (0xFCEF, 'M', u'نه'), + (0xFCF0, 'M', u'يم'), + (0xFCF1, 'M', u'يه'), + (0xFCF2, 'M', u'ـَّ'), + (0xFCF3, 'M', u'ـُّ'), + (0xFCF4, 'M', u'ـِّ'), + (0xFCF5, 'M', u'طى'), + (0xFCF6, 'M', u'طي'), + (0xFCF7, 'M', u'عى'), + (0xFCF8, 'M', u'عي'), + (0xFCF9, 'M', u'غى'), + (0xFCFA, 'M', u'غي'), + (0xFCFB, 'M', u'سى'), + (0xFCFC, 'M', u'سي'), + (0xFCFD, 'M', u'شى'), + (0xFCFE, 'M', u'شي'), + (0xFCFF, 'M', u'حى'), + (0xFD00, 'M', u'حي'), + (0xFD01, 'M', u'جى'), + (0xFD02, 'M', u'جي'), + (0xFD03, 'M', u'خى'), + (0xFD04, 'M', u'خي'), + (0xFD05, 'M', u'صى'), + (0xFD06, 'M', u'صي'), + (0xFD07, 'M', u'ضى'), + (0xFD08, 'M', u'ضي'), + (0xFD09, 'M', u'شج'), + (0xFD0A, 'M', u'شح'), + (0xFD0B, 'M', u'شخ'), + (0xFD0C, 'M', u'شم'), + (0xFD0D, 'M', u'شر'), + (0xFD0E, 'M', u'سر'), + (0xFD0F, 'M', u'صر'), + (0xFD10, 'M', u'ضر'), + (0xFD11, 'M', u'طى'), + (0xFD12, 'M', u'طي'), + (0xFD13, 'M', u'عى'), + (0xFD14, 'M', u'عي'), + (0xFD15, 'M', u'غى'), + (0xFD16, 'M', u'غي'), + (0xFD17, 'M', u'سى'), + (0xFD18, 'M', u'سي'), + (0xFD19, 'M', u'شى'), + (0xFD1A, 'M', u'شي'), + (0xFD1B, 'M', u'حى'), + (0xFD1C, 'M', u'حي'), + (0xFD1D, 'M', u'جى'), + (0xFD1E, 'M', u'جي'), + (0xFD1F, 'M', u'خى'), + (0xFD20, 'M', u'خي'), + (0xFD21, 'M', u'صى'), + (0xFD22, 'M', u'صي'), + (0xFD23, 'M', u'ضى'), + (0xFD24, 'M', u'ضي'), + (0xFD25, 'M', u'شج'), + (0xFD26, 'M', u'شح'), + (0xFD27, 'M', u'شخ'), + (0xFD28, 'M', u'شم'), + (0xFD29, 'M', u'شر'), + (0xFD2A, 'M', u'سر'), + (0xFD2B, 'M', u'صر'), + (0xFD2C, 'M', u'ضر'), + (0xFD2D, 'M', u'شج'), + (0xFD2E, 'M', u'شح'), + (0xFD2F, 'M', u'شخ'), + (0xFD30, 'M', u'شم'), + (0xFD31, 'M', u'سه'), + (0xFD32, 'M', u'شه'), + (0xFD33, 'M', u'طم'), + (0xFD34, 'M', u'سج'), + (0xFD35, 'M', u'سح'), + (0xFD36, 'M', u'سخ'), + (0xFD37, 'M', u'شج'), + (0xFD38, 'M', u'شح'), + (0xFD39, 'M', u'شخ'), + (0xFD3A, 'M', u'طم'), + (0xFD3B, 'M', u'ظم'), + (0xFD3C, 'M', u'اً'), + (0xFD3E, 'V'), + (0xFD40, 'X'), + (0xFD50, 'M', u'تجم'), + (0xFD51, 'M', u'تحج'), + (0xFD53, 'M', u'تحم'), + (0xFD54, 'M', u'تخم'), + (0xFD55, 'M', u'تمج'), + (0xFD56, 'M', u'تمح'), + (0xFD57, 'M', u'تمخ'), + (0xFD58, 'M', u'جمح'), + (0xFD5A, 'M', u'حمي'), + (0xFD5B, 'M', u'حمى'), + (0xFD5C, 'M', u'سحج'), + (0xFD5D, 'M', u'سجح'), + (0xFD5E, 'M', u'سجى'), + (0xFD5F, 'M', u'سمح'), + (0xFD61, 'M', u'سمج'), + (0xFD62, 'M', u'سمم'), + (0xFD64, 'M', u'صحح'), + (0xFD66, 'M', u'صمم'), + (0xFD67, 'M', u'شحم'), + (0xFD69, 'M', u'شجي'), + ] + +def _seg_48(): + return [ + (0xFD6A, 'M', u'شمخ'), + (0xFD6C, 'M', u'شمم'), + (0xFD6E, 'M', u'ضحى'), + (0xFD6F, 'M', u'ضخم'), + (0xFD71, 'M', u'طمح'), + (0xFD73, 'M', u'طمم'), + (0xFD74, 'M', u'طمي'), + (0xFD75, 'M', u'عجم'), + (0xFD76, 'M', u'عمم'), + (0xFD78, 'M', u'عمى'), + (0xFD79, 'M', u'غمم'), + (0xFD7A, 'M', u'غمي'), + (0xFD7B, 'M', u'غمى'), + (0xFD7C, 'M', u'فخم'), + (0xFD7E, 'M', u'قمح'), + (0xFD7F, 'M', u'قمم'), + (0xFD80, 'M', u'لحم'), + (0xFD81, 'M', u'لحي'), + (0xFD82, 'M', u'لحى'), + (0xFD83, 'M', u'لجج'), + (0xFD85, 'M', u'لخم'), + (0xFD87, 'M', u'لمح'), + (0xFD89, 'M', u'محج'), + (0xFD8A, 'M', u'محم'), + (0xFD8B, 'M', u'محي'), + (0xFD8C, 'M', u'مجح'), + (0xFD8D, 'M', u'مجم'), + (0xFD8E, 'M', u'مخج'), + (0xFD8F, 'M', u'مخم'), + (0xFD90, 'X'), + (0xFD92, 'M', u'مجخ'), + (0xFD93, 'M', u'همج'), + (0xFD94, 'M', u'همم'), + (0xFD95, 'M', u'نحم'), + (0xFD96, 'M', u'نحى'), + (0xFD97, 'M', u'نجم'), + (0xFD99, 'M', u'نجى'), + (0xFD9A, 'M', u'نمي'), + (0xFD9B, 'M', u'نمى'), + (0xFD9C, 'M', u'يمم'), + (0xFD9E, 'M', u'بخي'), + (0xFD9F, 'M', u'تجي'), + (0xFDA0, 'M', u'تجى'), + (0xFDA1, 'M', u'تخي'), + (0xFDA2, 'M', u'تخى'), + (0xFDA3, 'M', u'تمي'), + (0xFDA4, 'M', u'تمى'), + (0xFDA5, 'M', u'جمي'), + (0xFDA6, 'M', u'جحى'), + (0xFDA7, 'M', u'جمى'), + (0xFDA8, 'M', u'سخى'), + (0xFDA9, 'M', u'صحي'), + (0xFDAA, 'M', u'شحي'), + (0xFDAB, 'M', u'ضحي'), + (0xFDAC, 'M', u'لجي'), + (0xFDAD, 'M', u'لمي'), + (0xFDAE, 'M', u'يحي'), + (0xFDAF, 'M', u'يجي'), + (0xFDB0, 'M', u'يمي'), + (0xFDB1, 'M', u'ممي'), + (0xFDB2, 'M', u'قمي'), + (0xFDB3, 'M', u'نحي'), + (0xFDB4, 'M', u'قمح'), + (0xFDB5, 'M', u'لحم'), + (0xFDB6, 'M', u'عمي'), + (0xFDB7, 'M', u'كمي'), + (0xFDB8, 'M', u'نجح'), + (0xFDB9, 'M', u'مخي'), + (0xFDBA, 'M', u'لجم'), + (0xFDBB, 'M', u'كمم'), + (0xFDBC, 'M', u'لجم'), + (0xFDBD, 'M', u'نجح'), + (0xFDBE, 'M', u'جحي'), + (0xFDBF, 'M', u'حجي'), + (0xFDC0, 'M', u'مجي'), + (0xFDC1, 'M', u'فمي'), + (0xFDC2, 'M', u'بحي'), + (0xFDC3, 'M', u'كمم'), + (0xFDC4, 'M', u'عجم'), + (0xFDC5, 'M', u'صمم'), + (0xFDC6, 'M', u'سخي'), + (0xFDC7, 'M', u'نجي'), + (0xFDC8, 'X'), + (0xFDF0, 'M', u'صلے'), + (0xFDF1, 'M', u'قلے'), + (0xFDF2, 'M', u'الله'), + (0xFDF3, 'M', u'اكبر'), + (0xFDF4, 'M', u'محمد'), + (0xFDF5, 'M', u'صلعم'), + (0xFDF6, 'M', u'رسول'), + (0xFDF7, 'M', u'عليه'), + (0xFDF8, 'M', u'وسلم'), + (0xFDF9, 'M', u'صلى'), + (0xFDFA, '3', u'صلى الله عليه وسلم'), + (0xFDFB, '3', u'جل جلاله'), + (0xFDFC, 'M', u'ریال'), + (0xFDFD, 'V'), + (0xFDFE, 'X'), + (0xFE00, 'I'), + (0xFE10, '3', u','), + ] + +def _seg_49(): + return [ + (0xFE11, 'M', u'、'), + (0xFE12, 'X'), + (0xFE13, '3', u':'), + (0xFE14, '3', u';'), + (0xFE15, '3', u'!'), + (0xFE16, '3', u'?'), + (0xFE17, 'M', u'〖'), + (0xFE18, 'M', u'〗'), + (0xFE19, 'X'), + (0xFE20, 'V'), + (0xFE30, 'X'), + (0xFE31, 'M', u'—'), + (0xFE32, 'M', u'–'), + (0xFE33, '3', u'_'), + (0xFE35, '3', u'('), + (0xFE36, '3', u')'), + (0xFE37, '3', u'{'), + (0xFE38, '3', u'}'), + (0xFE39, 'M', u'〔'), + (0xFE3A, 'M', u'〕'), + (0xFE3B, 'M', u'【'), + (0xFE3C, 'M', u'】'), + (0xFE3D, 'M', u'《'), + (0xFE3E, 'M', u'》'), + (0xFE3F, 'M', u'〈'), + (0xFE40, 'M', u'〉'), + (0xFE41, 'M', u'「'), + (0xFE42, 'M', u'」'), + (0xFE43, 'M', u'『'), + (0xFE44, 'M', u'』'), + (0xFE45, 'V'), + (0xFE47, '3', u'['), + (0xFE48, '3', u']'), + (0xFE49, '3', u' ̅'), + (0xFE4D, '3', u'_'), + (0xFE50, '3', u','), + (0xFE51, 'M', u'、'), + (0xFE52, 'X'), + (0xFE54, '3', u';'), + (0xFE55, '3', u':'), + (0xFE56, '3', u'?'), + (0xFE57, '3', u'!'), + (0xFE58, 'M', u'—'), + (0xFE59, '3', u'('), + (0xFE5A, '3', u')'), + (0xFE5B, '3', u'{'), + (0xFE5C, '3', u'}'), + (0xFE5D, 'M', u'〔'), + (0xFE5E, 'M', u'〕'), + (0xFE5F, '3', u'#'), + (0xFE60, '3', u'&'), + (0xFE61, '3', u'*'), + (0xFE62, '3', u'+'), + (0xFE63, 'M', u'-'), + (0xFE64, '3', u'<'), + (0xFE65, '3', u'>'), + (0xFE66, '3', u'='), + (0xFE67, 'X'), + (0xFE68, '3', u'\\'), + (0xFE69, '3', u'$'), + (0xFE6A, '3', u'%'), + (0xFE6B, '3', u'@'), + (0xFE6C, 'X'), + (0xFE70, '3', u' ً'), + (0xFE71, 'M', u'ـً'), + (0xFE72, '3', u' ٌ'), + (0xFE73, 'V'), + (0xFE74, '3', u' ٍ'), + (0xFE75, 'X'), + (0xFE76, '3', u' َ'), + (0xFE77, 'M', u'ـَ'), + (0xFE78, '3', u' ُ'), + (0xFE79, 'M', u'ـُ'), + (0xFE7A, '3', u' ِ'), + (0xFE7B, 'M', u'ـِ'), + (0xFE7C, '3', u' ّ'), + (0xFE7D, 'M', u'ـّ'), + (0xFE7E, '3', u' ْ'), + (0xFE7F, 'M', u'ـْ'), + (0xFE80, 'M', u'ء'), + (0xFE81, 'M', u'آ'), + (0xFE83, 'M', u'أ'), + (0xFE85, 'M', u'ؤ'), + (0xFE87, 'M', u'إ'), + (0xFE89, 'M', u'ئ'), + (0xFE8D, 'M', u'ا'), + (0xFE8F, 'M', u'ب'), + (0xFE93, 'M', u'ة'), + (0xFE95, 'M', u'ت'), + (0xFE99, 'M', u'ث'), + (0xFE9D, 'M', u'ج'), + (0xFEA1, 'M', u'ح'), + (0xFEA5, 'M', u'خ'), + (0xFEA9, 'M', u'د'), + (0xFEAB, 'M', u'ذ'), + (0xFEAD, 'M', u'ر'), + (0xFEAF, 'M', u'ز'), + (0xFEB1, 'M', u'س'), + (0xFEB5, 'M', u'ش'), + (0xFEB9, 'M', u'ص'), + ] + +def _seg_50(): + return [ + (0xFEBD, 'M', u'ض'), + (0xFEC1, 'M', u'ط'), + (0xFEC5, 'M', u'ظ'), + (0xFEC9, 'M', u'ع'), + (0xFECD, 'M', u'غ'), + (0xFED1, 'M', u'ف'), + (0xFED5, 'M', u'ق'), + (0xFED9, 'M', u'ك'), + (0xFEDD, 'M', u'ل'), + (0xFEE1, 'M', u'م'), + (0xFEE5, 'M', u'ن'), + (0xFEE9, 'M', u'ه'), + (0xFEED, 'M', u'و'), + (0xFEEF, 'M', u'ى'), + (0xFEF1, 'M', u'ي'), + (0xFEF5, 'M', u'لآ'), + (0xFEF7, 'M', u'لأ'), + (0xFEF9, 'M', u'لإ'), + (0xFEFB, 'M', u'لا'), + (0xFEFD, 'X'), + (0xFEFF, 'I'), + (0xFF00, 'X'), + (0xFF01, '3', u'!'), + (0xFF02, '3', u'"'), + (0xFF03, '3', u'#'), + (0xFF04, '3', u'$'), + (0xFF05, '3', u'%'), + (0xFF06, '3', u'&'), + (0xFF07, '3', u'\''), + (0xFF08, '3', u'('), + (0xFF09, '3', u')'), + (0xFF0A, '3', u'*'), + (0xFF0B, '3', u'+'), + (0xFF0C, '3', u','), + (0xFF0D, 'M', u'-'), + (0xFF0E, 'M', u'.'), + (0xFF0F, '3', u'/'), + (0xFF10, 'M', u'0'), + (0xFF11, 'M', u'1'), + (0xFF12, 'M', u'2'), + (0xFF13, 'M', u'3'), + (0xFF14, 'M', u'4'), + (0xFF15, 'M', u'5'), + (0xFF16, 'M', u'6'), + (0xFF17, 'M', u'7'), + (0xFF18, 'M', u'8'), + (0xFF19, 'M', u'9'), + (0xFF1A, '3', u':'), + (0xFF1B, '3', u';'), + (0xFF1C, '3', u'<'), + (0xFF1D, '3', u'='), + (0xFF1E, '3', u'>'), + (0xFF1F, '3', u'?'), + (0xFF20, '3', u'@'), + (0xFF21, 'M', u'a'), + (0xFF22, 'M', u'b'), + (0xFF23, 'M', u'c'), + (0xFF24, 'M', u'd'), + (0xFF25, 'M', u'e'), + (0xFF26, 'M', u'f'), + (0xFF27, 'M', u'g'), + (0xFF28, 'M', u'h'), + (0xFF29, 'M', u'i'), + (0xFF2A, 'M', u'j'), + (0xFF2B, 'M', u'k'), + (0xFF2C, 'M', u'l'), + (0xFF2D, 'M', u'm'), + (0xFF2E, 'M', u'n'), + (0xFF2F, 'M', u'o'), + (0xFF30, 'M', u'p'), + (0xFF31, 'M', u'q'), + (0xFF32, 'M', u'r'), + (0xFF33, 'M', u's'), + (0xFF34, 'M', u't'), + (0xFF35, 'M', u'u'), + (0xFF36, 'M', u'v'), + (0xFF37, 'M', u'w'), + (0xFF38, 'M', u'x'), + (0xFF39, 'M', u'y'), + (0xFF3A, 'M', u'z'), + (0xFF3B, '3', u'['), + (0xFF3C, '3', u'\\'), + (0xFF3D, '3', u']'), + (0xFF3E, '3', u'^'), + (0xFF3F, '3', u'_'), + (0xFF40, '3', u'`'), + (0xFF41, 'M', u'a'), + (0xFF42, 'M', u'b'), + (0xFF43, 'M', u'c'), + (0xFF44, 'M', u'd'), + (0xFF45, 'M', u'e'), + (0xFF46, 'M', u'f'), + (0xFF47, 'M', u'g'), + (0xFF48, 'M', u'h'), + (0xFF49, 'M', u'i'), + (0xFF4A, 'M', u'j'), + (0xFF4B, 'M', u'k'), + (0xFF4C, 'M', u'l'), + (0xFF4D, 'M', u'm'), + (0xFF4E, 'M', u'n'), + ] + +def _seg_51(): + return [ + (0xFF4F, 'M', u'o'), + (0xFF50, 'M', u'p'), + (0xFF51, 'M', u'q'), + (0xFF52, 'M', u'r'), + (0xFF53, 'M', u's'), + (0xFF54, 'M', u't'), + (0xFF55, 'M', u'u'), + (0xFF56, 'M', u'v'), + (0xFF57, 'M', u'w'), + (0xFF58, 'M', u'x'), + (0xFF59, 'M', u'y'), + (0xFF5A, 'M', u'z'), + (0xFF5B, '3', u'{'), + (0xFF5C, '3', u'|'), + (0xFF5D, '3', u'}'), + (0xFF5E, '3', u'~'), + (0xFF5F, 'M', u'⦅'), + (0xFF60, 'M', u'⦆'), + (0xFF61, 'M', u'.'), + (0xFF62, 'M', u'「'), + (0xFF63, 'M', u'」'), + (0xFF64, 'M', u'、'), + (0xFF65, 'M', u'・'), + (0xFF66, 'M', u'ヲ'), + (0xFF67, 'M', u'ァ'), + (0xFF68, 'M', u'ィ'), + (0xFF69, 'M', u'ゥ'), + (0xFF6A, 'M', u'ェ'), + (0xFF6B, 'M', u'ォ'), + (0xFF6C, 'M', u'ャ'), + (0xFF6D, 'M', u'ュ'), + (0xFF6E, 'M', u'ョ'), + (0xFF6F, 'M', u'ッ'), + (0xFF70, 'M', u'ー'), + (0xFF71, 'M', u'ア'), + (0xFF72, 'M', u'イ'), + (0xFF73, 'M', u'ウ'), + (0xFF74, 'M', u'エ'), + (0xFF75, 'M', u'オ'), + (0xFF76, 'M', u'カ'), + (0xFF77, 'M', u'キ'), + (0xFF78, 'M', u'ク'), + (0xFF79, 'M', u'ケ'), + (0xFF7A, 'M', u'コ'), + (0xFF7B, 'M', u'サ'), + (0xFF7C, 'M', u'シ'), + (0xFF7D, 'M', u'ス'), + (0xFF7E, 'M', u'セ'), + (0xFF7F, 'M', u'ソ'), + (0xFF80, 'M', u'タ'), + (0xFF81, 'M', u'チ'), + (0xFF82, 'M', u'ツ'), + (0xFF83, 'M', u'テ'), + (0xFF84, 'M', u'ト'), + (0xFF85, 'M', u'ナ'), + (0xFF86, 'M', u'ニ'), + (0xFF87, 'M', u'ヌ'), + (0xFF88, 'M', u'ネ'), + (0xFF89, 'M', u'ノ'), + (0xFF8A, 'M', u'ハ'), + (0xFF8B, 'M', u'ヒ'), + (0xFF8C, 'M', u'フ'), + (0xFF8D, 'M', u'ヘ'), + (0xFF8E, 'M', u'ホ'), + (0xFF8F, 'M', u'マ'), + (0xFF90, 'M', u'ミ'), + (0xFF91, 'M', u'ム'), + (0xFF92, 'M', u'メ'), + (0xFF93, 'M', u'モ'), + (0xFF94, 'M', u'ヤ'), + (0xFF95, 'M', u'ユ'), + (0xFF96, 'M', u'ヨ'), + (0xFF97, 'M', u'ラ'), + (0xFF98, 'M', u'リ'), + (0xFF99, 'M', u'ル'), + (0xFF9A, 'M', u'レ'), + (0xFF9B, 'M', u'ロ'), + (0xFF9C, 'M', u'ワ'), + (0xFF9D, 'M', u'ン'), + (0xFF9E, 'M', u'゙'), + (0xFF9F, 'M', u'゚'), + (0xFFA0, 'X'), + (0xFFA1, 'M', u'ᄀ'), + (0xFFA2, 'M', u'ᄁ'), + (0xFFA3, 'M', u'ᆪ'), + (0xFFA4, 'M', u'ᄂ'), + (0xFFA5, 'M', u'ᆬ'), + (0xFFA6, 'M', u'ᆭ'), + (0xFFA7, 'M', u'ᄃ'), + (0xFFA8, 'M', u'ᄄ'), + (0xFFA9, 'M', u'ᄅ'), + (0xFFAA, 'M', u'ᆰ'), + (0xFFAB, 'M', u'ᆱ'), + (0xFFAC, 'M', u'ᆲ'), + (0xFFAD, 'M', u'ᆳ'), + (0xFFAE, 'M', u'ᆴ'), + (0xFFAF, 'M', u'ᆵ'), + (0xFFB0, 'M', u'ᄚ'), + (0xFFB1, 'M', u'ᄆ'), + (0xFFB2, 'M', u'ᄇ'), + ] + +def _seg_52(): + return [ + (0xFFB3, 'M', u'ᄈ'), + (0xFFB4, 'M', u'ᄡ'), + (0xFFB5, 'M', u'ᄉ'), + (0xFFB6, 'M', u'ᄊ'), + (0xFFB7, 'M', u'ᄋ'), + (0xFFB8, 'M', u'ᄌ'), + (0xFFB9, 'M', u'ᄍ'), + (0xFFBA, 'M', u'ᄎ'), + (0xFFBB, 'M', u'ᄏ'), + (0xFFBC, 'M', u'ᄐ'), + (0xFFBD, 'M', u'ᄑ'), + (0xFFBE, 'M', u'ᄒ'), + (0xFFBF, 'X'), + (0xFFC2, 'M', u'ᅡ'), + (0xFFC3, 'M', u'ᅢ'), + (0xFFC4, 'M', u'ᅣ'), + (0xFFC5, 'M', u'ᅤ'), + (0xFFC6, 'M', u'ᅥ'), + (0xFFC7, 'M', u'ᅦ'), + (0xFFC8, 'X'), + (0xFFCA, 'M', u'ᅧ'), + (0xFFCB, 'M', u'ᅨ'), + (0xFFCC, 'M', u'ᅩ'), + (0xFFCD, 'M', u'ᅪ'), + (0xFFCE, 'M', u'ᅫ'), + (0xFFCF, 'M', u'ᅬ'), + (0xFFD0, 'X'), + (0xFFD2, 'M', u'ᅭ'), + (0xFFD3, 'M', u'ᅮ'), + (0xFFD4, 'M', u'ᅯ'), + (0xFFD5, 'M', u'ᅰ'), + (0xFFD6, 'M', u'ᅱ'), + (0xFFD7, 'M', u'ᅲ'), + (0xFFD8, 'X'), + (0xFFDA, 'M', u'ᅳ'), + (0xFFDB, 'M', u'ᅴ'), + (0xFFDC, 'M', u'ᅵ'), + (0xFFDD, 'X'), + (0xFFE0, 'M', u'¢'), + (0xFFE1, 'M', u'£'), + (0xFFE2, 'M', u'¬'), + (0xFFE3, '3', u' ̄'), + (0xFFE4, 'M', u'¦'), + (0xFFE5, 'M', u'¥'), + (0xFFE6, 'M', u'₩'), + (0xFFE7, 'X'), + (0xFFE8, 'M', u'│'), + (0xFFE9, 'M', u'←'), + (0xFFEA, 'M', u'↑'), + (0xFFEB, 'M', u'→'), + (0xFFEC, 'M', u'↓'), + (0xFFED, 'M', u'■'), + (0xFFEE, 'M', u'○'), + (0xFFEF, 'X'), + (0x10000, 'V'), + (0x1000C, 'X'), + (0x1000D, 'V'), + (0x10027, 'X'), + (0x10028, 'V'), + (0x1003B, 'X'), + (0x1003C, 'V'), + (0x1003E, 'X'), + (0x1003F, 'V'), + (0x1004E, 'X'), + (0x10050, 'V'), + (0x1005E, 'X'), + (0x10080, 'V'), + (0x100FB, 'X'), + (0x10100, 'V'), + (0x10103, 'X'), + (0x10107, 'V'), + (0x10134, 'X'), + (0x10137, 'V'), + (0x1018F, 'X'), + (0x10190, 'V'), + (0x1019C, 'X'), + (0x101A0, 'V'), + (0x101A1, 'X'), + (0x101D0, 'V'), + (0x101FE, 'X'), + (0x10280, 'V'), + (0x1029D, 'X'), + (0x102A0, 'V'), + (0x102D1, 'X'), + (0x102E0, 'V'), + (0x102FC, 'X'), + (0x10300, 'V'), + (0x10324, 'X'), + (0x1032D, 'V'), + (0x1034B, 'X'), + (0x10350, 'V'), + (0x1037B, 'X'), + (0x10380, 'V'), + (0x1039E, 'X'), + (0x1039F, 'V'), + (0x103C4, 'X'), + (0x103C8, 'V'), + (0x103D6, 'X'), + (0x10400, 'M', u'𐐨'), + (0x10401, 'M', u'𐐩'), + ] + +def _seg_53(): + return [ + (0x10402, 'M', u'𐐪'), + (0x10403, 'M', u'𐐫'), + (0x10404, 'M', u'𐐬'), + (0x10405, 'M', u'𐐭'), + (0x10406, 'M', u'𐐮'), + (0x10407, 'M', u'𐐯'), + (0x10408, 'M', u'𐐰'), + (0x10409, 'M', u'𐐱'), + (0x1040A, 'M', u'𐐲'), + (0x1040B, 'M', u'𐐳'), + (0x1040C, 'M', u'𐐴'), + (0x1040D, 'M', u'𐐵'), + (0x1040E, 'M', u'𐐶'), + (0x1040F, 'M', u'𐐷'), + (0x10410, 'M', u'𐐸'), + (0x10411, 'M', u'𐐹'), + (0x10412, 'M', u'𐐺'), + (0x10413, 'M', u'𐐻'), + (0x10414, 'M', u'𐐼'), + (0x10415, 'M', u'𐐽'), + (0x10416, 'M', u'𐐾'), + (0x10417, 'M', u'𐐿'), + (0x10418, 'M', u'𐑀'), + (0x10419, 'M', u'𐑁'), + (0x1041A, 'M', u'𐑂'), + (0x1041B, 'M', u'𐑃'), + (0x1041C, 'M', u'𐑄'), + (0x1041D, 'M', u'𐑅'), + (0x1041E, 'M', u'𐑆'), + (0x1041F, 'M', u'𐑇'), + (0x10420, 'M', u'𐑈'), + (0x10421, 'M', u'𐑉'), + (0x10422, 'M', u'𐑊'), + (0x10423, 'M', u'𐑋'), + (0x10424, 'M', u'𐑌'), + (0x10425, 'M', u'𐑍'), + (0x10426, 'M', u'𐑎'), + (0x10427, 'M', u'𐑏'), + (0x10428, 'V'), + (0x1049E, 'X'), + (0x104A0, 'V'), + (0x104AA, 'X'), + (0x104B0, 'M', u'𐓘'), + (0x104B1, 'M', u'𐓙'), + (0x104B2, 'M', u'𐓚'), + (0x104B3, 'M', u'𐓛'), + (0x104B4, 'M', u'𐓜'), + (0x104B5, 'M', u'𐓝'), + (0x104B6, 'M', u'𐓞'), + (0x104B7, 'M', u'𐓟'), + (0x104B8, 'M', u'𐓠'), + (0x104B9, 'M', u'𐓡'), + (0x104BA, 'M', u'𐓢'), + (0x104BB, 'M', u'𐓣'), + (0x104BC, 'M', u'𐓤'), + (0x104BD, 'M', u'𐓥'), + (0x104BE, 'M', u'𐓦'), + (0x104BF, 'M', u'𐓧'), + (0x104C0, 'M', u'𐓨'), + (0x104C1, 'M', u'𐓩'), + (0x104C2, 'M', u'𐓪'), + (0x104C3, 'M', u'𐓫'), + (0x104C4, 'M', u'𐓬'), + (0x104C5, 'M', u'𐓭'), + (0x104C6, 'M', u'𐓮'), + (0x104C7, 'M', u'𐓯'), + (0x104C8, 'M', u'𐓰'), + (0x104C9, 'M', u'𐓱'), + (0x104CA, 'M', u'𐓲'), + (0x104CB, 'M', u'𐓳'), + (0x104CC, 'M', u'𐓴'), + (0x104CD, 'M', u'𐓵'), + (0x104CE, 'M', u'𐓶'), + (0x104CF, 'M', u'𐓷'), + (0x104D0, 'M', u'𐓸'), + (0x104D1, 'M', u'𐓹'), + (0x104D2, 'M', u'𐓺'), + (0x104D3, 'M', u'𐓻'), + (0x104D4, 'X'), + (0x104D8, 'V'), + (0x104FC, 'X'), + (0x10500, 'V'), + (0x10528, 'X'), + (0x10530, 'V'), + (0x10564, 'X'), + (0x1056F, 'V'), + (0x10570, 'X'), + (0x10600, 'V'), + (0x10737, 'X'), + (0x10740, 'V'), + (0x10756, 'X'), + (0x10760, 'V'), + (0x10768, 'X'), + (0x10800, 'V'), + (0x10806, 'X'), + (0x10808, 'V'), + (0x10809, 'X'), + (0x1080A, 'V'), + (0x10836, 'X'), + (0x10837, 'V'), + ] + +def _seg_54(): + return [ + (0x10839, 'X'), + (0x1083C, 'V'), + (0x1083D, 'X'), + (0x1083F, 'V'), + (0x10856, 'X'), + (0x10857, 'V'), + (0x1089F, 'X'), + (0x108A7, 'V'), + (0x108B0, 'X'), + (0x108E0, 'V'), + (0x108F3, 'X'), + (0x108F4, 'V'), + (0x108F6, 'X'), + (0x108FB, 'V'), + (0x1091C, 'X'), + (0x1091F, 'V'), + (0x1093A, 'X'), + (0x1093F, 'V'), + (0x10940, 'X'), + (0x10980, 'V'), + (0x109B8, 'X'), + (0x109BC, 'V'), + (0x109D0, 'X'), + (0x109D2, 'V'), + (0x10A04, 'X'), + (0x10A05, 'V'), + (0x10A07, 'X'), + (0x10A0C, 'V'), + (0x10A14, 'X'), + (0x10A15, 'V'), + (0x10A18, 'X'), + (0x10A19, 'V'), + (0x10A36, 'X'), + (0x10A38, 'V'), + (0x10A3B, 'X'), + (0x10A3F, 'V'), + (0x10A49, 'X'), + (0x10A50, 'V'), + (0x10A59, 'X'), + (0x10A60, 'V'), + (0x10AA0, 'X'), + (0x10AC0, 'V'), + (0x10AE7, 'X'), + (0x10AEB, 'V'), + (0x10AF7, 'X'), + (0x10B00, 'V'), + (0x10B36, 'X'), + (0x10B39, 'V'), + (0x10B56, 'X'), + (0x10B58, 'V'), + (0x10B73, 'X'), + (0x10B78, 'V'), + (0x10B92, 'X'), + (0x10B99, 'V'), + (0x10B9D, 'X'), + (0x10BA9, 'V'), + (0x10BB0, 'X'), + (0x10C00, 'V'), + (0x10C49, 'X'), + (0x10C80, 'M', u'𐳀'), + (0x10C81, 'M', u'𐳁'), + (0x10C82, 'M', u'𐳂'), + (0x10C83, 'M', u'𐳃'), + (0x10C84, 'M', u'𐳄'), + (0x10C85, 'M', u'𐳅'), + (0x10C86, 'M', u'𐳆'), + (0x10C87, 'M', u'𐳇'), + (0x10C88, 'M', u'𐳈'), + (0x10C89, 'M', u'𐳉'), + (0x10C8A, 'M', u'𐳊'), + (0x10C8B, 'M', u'𐳋'), + (0x10C8C, 'M', u'𐳌'), + (0x10C8D, 'M', u'𐳍'), + (0x10C8E, 'M', u'𐳎'), + (0x10C8F, 'M', u'𐳏'), + (0x10C90, 'M', u'𐳐'), + (0x10C91, 'M', u'𐳑'), + (0x10C92, 'M', u'𐳒'), + (0x10C93, 'M', u'𐳓'), + (0x10C94, 'M', u'𐳔'), + (0x10C95, 'M', u'𐳕'), + (0x10C96, 'M', u'𐳖'), + (0x10C97, 'M', u'𐳗'), + (0x10C98, 'M', u'𐳘'), + (0x10C99, 'M', u'𐳙'), + (0x10C9A, 'M', u'𐳚'), + (0x10C9B, 'M', u'𐳛'), + (0x10C9C, 'M', u'𐳜'), + (0x10C9D, 'M', u'𐳝'), + (0x10C9E, 'M', u'𐳞'), + (0x10C9F, 'M', u'𐳟'), + (0x10CA0, 'M', u'𐳠'), + (0x10CA1, 'M', u'𐳡'), + (0x10CA2, 'M', u'𐳢'), + (0x10CA3, 'M', u'𐳣'), + (0x10CA4, 'M', u'𐳤'), + (0x10CA5, 'M', u'𐳥'), + (0x10CA6, 'M', u'𐳦'), + (0x10CA7, 'M', u'𐳧'), + (0x10CA8, 'M', u'𐳨'), + ] + +def _seg_55(): + return [ + (0x10CA9, 'M', u'𐳩'), + (0x10CAA, 'M', u'𐳪'), + (0x10CAB, 'M', u'𐳫'), + (0x10CAC, 'M', u'𐳬'), + (0x10CAD, 'M', u'𐳭'), + (0x10CAE, 'M', u'𐳮'), + (0x10CAF, 'M', u'𐳯'), + (0x10CB0, 'M', u'𐳰'), + (0x10CB1, 'M', u'𐳱'), + (0x10CB2, 'M', u'𐳲'), + (0x10CB3, 'X'), + (0x10CC0, 'V'), + (0x10CF3, 'X'), + (0x10CFA, 'V'), + (0x10D28, 'X'), + (0x10D30, 'V'), + (0x10D3A, 'X'), + (0x10E60, 'V'), + (0x10E7F, 'X'), + (0x10F00, 'V'), + (0x10F28, 'X'), + (0x10F30, 'V'), + (0x10F5A, 'X'), + (0x11000, 'V'), + (0x1104E, 'X'), + (0x11052, 'V'), + (0x11070, 'X'), + (0x1107F, 'V'), + (0x110BD, 'X'), + (0x110BE, 'V'), + (0x110C2, 'X'), + (0x110D0, 'V'), + (0x110E9, 'X'), + (0x110F0, 'V'), + (0x110FA, 'X'), + (0x11100, 'V'), + (0x11135, 'X'), + (0x11136, 'V'), + (0x11147, 'X'), + (0x11150, 'V'), + (0x11177, 'X'), + (0x11180, 'V'), + (0x111CE, 'X'), + (0x111D0, 'V'), + (0x111E0, 'X'), + (0x111E1, 'V'), + (0x111F5, 'X'), + (0x11200, 'V'), + (0x11212, 'X'), + (0x11213, 'V'), + (0x1123F, 'X'), + (0x11280, 'V'), + (0x11287, 'X'), + (0x11288, 'V'), + (0x11289, 'X'), + (0x1128A, 'V'), + (0x1128E, 'X'), + (0x1128F, 'V'), + (0x1129E, 'X'), + (0x1129F, 'V'), + (0x112AA, 'X'), + (0x112B0, 'V'), + (0x112EB, 'X'), + (0x112F0, 'V'), + (0x112FA, 'X'), + (0x11300, 'V'), + (0x11304, 'X'), + (0x11305, 'V'), + (0x1130D, 'X'), + (0x1130F, 'V'), + (0x11311, 'X'), + (0x11313, 'V'), + (0x11329, 'X'), + (0x1132A, 'V'), + (0x11331, 'X'), + (0x11332, 'V'), + (0x11334, 'X'), + (0x11335, 'V'), + (0x1133A, 'X'), + (0x1133B, 'V'), + (0x11345, 'X'), + (0x11347, 'V'), + (0x11349, 'X'), + (0x1134B, 'V'), + (0x1134E, 'X'), + (0x11350, 'V'), + (0x11351, 'X'), + (0x11357, 'V'), + (0x11358, 'X'), + (0x1135D, 'V'), + (0x11364, 'X'), + (0x11366, 'V'), + (0x1136D, 'X'), + (0x11370, 'V'), + (0x11375, 'X'), + (0x11400, 'V'), + (0x1145A, 'X'), + (0x1145B, 'V'), + (0x1145C, 'X'), + (0x1145D, 'V'), + ] + +def _seg_56(): + return [ + (0x1145F, 'X'), + (0x11480, 'V'), + (0x114C8, 'X'), + (0x114D0, 'V'), + (0x114DA, 'X'), + (0x11580, 'V'), + (0x115B6, 'X'), + (0x115B8, 'V'), + (0x115DE, 'X'), + (0x11600, 'V'), + (0x11645, 'X'), + (0x11650, 'V'), + (0x1165A, 'X'), + (0x11660, 'V'), + (0x1166D, 'X'), + (0x11680, 'V'), + (0x116B8, 'X'), + (0x116C0, 'V'), + (0x116CA, 'X'), + (0x11700, 'V'), + (0x1171B, 'X'), + (0x1171D, 'V'), + (0x1172C, 'X'), + (0x11730, 'V'), + (0x11740, 'X'), + (0x11800, 'V'), + (0x1183C, 'X'), + (0x118A0, 'M', u'𑣀'), + (0x118A1, 'M', u'𑣁'), + (0x118A2, 'M', u'𑣂'), + (0x118A3, 'M', u'𑣃'), + (0x118A4, 'M', u'𑣄'), + (0x118A5, 'M', u'𑣅'), + (0x118A6, 'M', u'𑣆'), + (0x118A7, 'M', u'𑣇'), + (0x118A8, 'M', u'𑣈'), + (0x118A9, 'M', u'𑣉'), + (0x118AA, 'M', u'𑣊'), + (0x118AB, 'M', u'𑣋'), + (0x118AC, 'M', u'𑣌'), + (0x118AD, 'M', u'𑣍'), + (0x118AE, 'M', u'𑣎'), + (0x118AF, 'M', u'𑣏'), + (0x118B0, 'M', u'𑣐'), + (0x118B1, 'M', u'𑣑'), + (0x118B2, 'M', u'𑣒'), + (0x118B3, 'M', u'𑣓'), + (0x118B4, 'M', u'𑣔'), + (0x118B5, 'M', u'𑣕'), + (0x118B6, 'M', u'𑣖'), + (0x118B7, 'M', u'𑣗'), + (0x118B8, 'M', u'𑣘'), + (0x118B9, 'M', u'𑣙'), + (0x118BA, 'M', u'𑣚'), + (0x118BB, 'M', u'𑣛'), + (0x118BC, 'M', u'𑣜'), + (0x118BD, 'M', u'𑣝'), + (0x118BE, 'M', u'𑣞'), + (0x118BF, 'M', u'𑣟'), + (0x118C0, 'V'), + (0x118F3, 'X'), + (0x118FF, 'V'), + (0x11900, 'X'), + (0x11A00, 'V'), + (0x11A48, 'X'), + (0x11A50, 'V'), + (0x11A84, 'X'), + (0x11A86, 'V'), + (0x11AA3, 'X'), + (0x11AC0, 'V'), + (0x11AF9, 'X'), + (0x11C00, 'V'), + (0x11C09, 'X'), + (0x11C0A, 'V'), + (0x11C37, 'X'), + (0x11C38, 'V'), + (0x11C46, 'X'), + (0x11C50, 'V'), + (0x11C6D, 'X'), + (0x11C70, 'V'), + (0x11C90, 'X'), + (0x11C92, 'V'), + (0x11CA8, 'X'), + (0x11CA9, 'V'), + (0x11CB7, 'X'), + (0x11D00, 'V'), + (0x11D07, 'X'), + (0x11D08, 'V'), + (0x11D0A, 'X'), + (0x11D0B, 'V'), + (0x11D37, 'X'), + (0x11D3A, 'V'), + (0x11D3B, 'X'), + (0x11D3C, 'V'), + (0x11D3E, 'X'), + (0x11D3F, 'V'), + (0x11D48, 'X'), + (0x11D50, 'V'), + (0x11D5A, 'X'), + (0x11D60, 'V'), + ] + +def _seg_57(): + return [ + (0x11D66, 'X'), + (0x11D67, 'V'), + (0x11D69, 'X'), + (0x11D6A, 'V'), + (0x11D8F, 'X'), + (0x11D90, 'V'), + (0x11D92, 'X'), + (0x11D93, 'V'), + (0x11D99, 'X'), + (0x11DA0, 'V'), + (0x11DAA, 'X'), + (0x11EE0, 'V'), + (0x11EF9, 'X'), + (0x12000, 'V'), + (0x1239A, 'X'), + (0x12400, 'V'), + (0x1246F, 'X'), + (0x12470, 'V'), + (0x12475, 'X'), + (0x12480, 'V'), + (0x12544, 'X'), + (0x13000, 'V'), + (0x1342F, 'X'), + (0x14400, 'V'), + (0x14647, 'X'), + (0x16800, 'V'), + (0x16A39, 'X'), + (0x16A40, 'V'), + (0x16A5F, 'X'), + (0x16A60, 'V'), + (0x16A6A, 'X'), + (0x16A6E, 'V'), + (0x16A70, 'X'), + (0x16AD0, 'V'), + (0x16AEE, 'X'), + (0x16AF0, 'V'), + (0x16AF6, 'X'), + (0x16B00, 'V'), + (0x16B46, 'X'), + (0x16B50, 'V'), + (0x16B5A, 'X'), + (0x16B5B, 'V'), + (0x16B62, 'X'), + (0x16B63, 'V'), + (0x16B78, 'X'), + (0x16B7D, 'V'), + (0x16B90, 'X'), + (0x16E60, 'V'), + (0x16E9B, 'X'), + (0x16F00, 'V'), + (0x16F45, 'X'), + (0x16F50, 'V'), + (0x16F7F, 'X'), + (0x16F8F, 'V'), + (0x16FA0, 'X'), + (0x16FE0, 'V'), + (0x16FE2, 'X'), + (0x17000, 'V'), + (0x187F2, 'X'), + (0x18800, 'V'), + (0x18AF3, 'X'), + (0x1B000, 'V'), + (0x1B11F, 'X'), + (0x1B170, 'V'), + (0x1B2FC, 'X'), + (0x1BC00, 'V'), + (0x1BC6B, 'X'), + (0x1BC70, 'V'), + (0x1BC7D, 'X'), + (0x1BC80, 'V'), + (0x1BC89, 'X'), + (0x1BC90, 'V'), + (0x1BC9A, 'X'), + (0x1BC9C, 'V'), + (0x1BCA0, 'I'), + (0x1BCA4, 'X'), + (0x1D000, 'V'), + (0x1D0F6, 'X'), + (0x1D100, 'V'), + (0x1D127, 'X'), + (0x1D129, 'V'), + (0x1D15E, 'M', u'𝅗𝅥'), + (0x1D15F, 'M', u'𝅘𝅥'), + (0x1D160, 'M', u'𝅘𝅥𝅮'), + (0x1D161, 'M', u'𝅘𝅥𝅯'), + (0x1D162, 'M', u'𝅘𝅥𝅰'), + (0x1D163, 'M', u'𝅘𝅥𝅱'), + (0x1D164, 'M', u'𝅘𝅥𝅲'), + (0x1D165, 'V'), + (0x1D173, 'X'), + (0x1D17B, 'V'), + (0x1D1BB, 'M', u'𝆹𝅥'), + (0x1D1BC, 'M', u'𝆺𝅥'), + (0x1D1BD, 'M', u'𝆹𝅥𝅮'), + (0x1D1BE, 'M', u'𝆺𝅥𝅮'), + (0x1D1BF, 'M', u'𝆹𝅥𝅯'), + (0x1D1C0, 'M', u'𝆺𝅥𝅯'), + (0x1D1C1, 'V'), + (0x1D1E9, 'X'), + (0x1D200, 'V'), + ] + +def _seg_58(): + return [ + (0x1D246, 'X'), + (0x1D2E0, 'V'), + (0x1D2F4, 'X'), + (0x1D300, 'V'), + (0x1D357, 'X'), + (0x1D360, 'V'), + (0x1D379, 'X'), + (0x1D400, 'M', u'a'), + (0x1D401, 'M', u'b'), + (0x1D402, 'M', u'c'), + (0x1D403, 'M', u'd'), + (0x1D404, 'M', u'e'), + (0x1D405, 'M', u'f'), + (0x1D406, 'M', u'g'), + (0x1D407, 'M', u'h'), + (0x1D408, 'M', u'i'), + (0x1D409, 'M', u'j'), + (0x1D40A, 'M', u'k'), + (0x1D40B, 'M', u'l'), + (0x1D40C, 'M', u'm'), + (0x1D40D, 'M', u'n'), + (0x1D40E, 'M', u'o'), + (0x1D40F, 'M', u'p'), + (0x1D410, 'M', u'q'), + (0x1D411, 'M', u'r'), + (0x1D412, 'M', u's'), + (0x1D413, 'M', u't'), + (0x1D414, 'M', u'u'), + (0x1D415, 'M', u'v'), + (0x1D416, 'M', u'w'), + (0x1D417, 'M', u'x'), + (0x1D418, 'M', u'y'), + (0x1D419, 'M', u'z'), + (0x1D41A, 'M', u'a'), + (0x1D41B, 'M', u'b'), + (0x1D41C, 'M', u'c'), + (0x1D41D, 'M', u'd'), + (0x1D41E, 'M', u'e'), + (0x1D41F, 'M', u'f'), + (0x1D420, 'M', u'g'), + (0x1D421, 'M', u'h'), + (0x1D422, 'M', u'i'), + (0x1D423, 'M', u'j'), + (0x1D424, 'M', u'k'), + (0x1D425, 'M', u'l'), + (0x1D426, 'M', u'm'), + (0x1D427, 'M', u'n'), + (0x1D428, 'M', u'o'), + (0x1D429, 'M', u'p'), + (0x1D42A, 'M', u'q'), + (0x1D42B, 'M', u'r'), + (0x1D42C, 'M', u's'), + (0x1D42D, 'M', u't'), + (0x1D42E, 'M', u'u'), + (0x1D42F, 'M', u'v'), + (0x1D430, 'M', u'w'), + (0x1D431, 'M', u'x'), + (0x1D432, 'M', u'y'), + (0x1D433, 'M', u'z'), + (0x1D434, 'M', u'a'), + (0x1D435, 'M', u'b'), + (0x1D436, 'M', u'c'), + (0x1D437, 'M', u'd'), + (0x1D438, 'M', u'e'), + (0x1D439, 'M', u'f'), + (0x1D43A, 'M', u'g'), + (0x1D43B, 'M', u'h'), + (0x1D43C, 'M', u'i'), + (0x1D43D, 'M', u'j'), + (0x1D43E, 'M', u'k'), + (0x1D43F, 'M', u'l'), + (0x1D440, 'M', u'm'), + (0x1D441, 'M', u'n'), + (0x1D442, 'M', u'o'), + (0x1D443, 'M', u'p'), + (0x1D444, 'M', u'q'), + (0x1D445, 'M', u'r'), + (0x1D446, 'M', u's'), + (0x1D447, 'M', u't'), + (0x1D448, 'M', u'u'), + (0x1D449, 'M', u'v'), + (0x1D44A, 'M', u'w'), + (0x1D44B, 'M', u'x'), + (0x1D44C, 'M', u'y'), + (0x1D44D, 'M', u'z'), + (0x1D44E, 'M', u'a'), + (0x1D44F, 'M', u'b'), + (0x1D450, 'M', u'c'), + (0x1D451, 'M', u'd'), + (0x1D452, 'M', u'e'), + (0x1D453, 'M', u'f'), + (0x1D454, 'M', u'g'), + (0x1D455, 'X'), + (0x1D456, 'M', u'i'), + (0x1D457, 'M', u'j'), + (0x1D458, 'M', u'k'), + (0x1D459, 'M', u'l'), + (0x1D45A, 'M', u'm'), + (0x1D45B, 'M', u'n'), + (0x1D45C, 'M', u'o'), + ] + +def _seg_59(): + return [ + (0x1D45D, 'M', u'p'), + (0x1D45E, 'M', u'q'), + (0x1D45F, 'M', u'r'), + (0x1D460, 'M', u's'), + (0x1D461, 'M', u't'), + (0x1D462, 'M', u'u'), + (0x1D463, 'M', u'v'), + (0x1D464, 'M', u'w'), + (0x1D465, 'M', u'x'), + (0x1D466, 'M', u'y'), + (0x1D467, 'M', u'z'), + (0x1D468, 'M', u'a'), + (0x1D469, 'M', u'b'), + (0x1D46A, 'M', u'c'), + (0x1D46B, 'M', u'd'), + (0x1D46C, 'M', u'e'), + (0x1D46D, 'M', u'f'), + (0x1D46E, 'M', u'g'), + (0x1D46F, 'M', u'h'), + (0x1D470, 'M', u'i'), + (0x1D471, 'M', u'j'), + (0x1D472, 'M', u'k'), + (0x1D473, 'M', u'l'), + (0x1D474, 'M', u'm'), + (0x1D475, 'M', u'n'), + (0x1D476, 'M', u'o'), + (0x1D477, 'M', u'p'), + (0x1D478, 'M', u'q'), + (0x1D479, 'M', u'r'), + (0x1D47A, 'M', u's'), + (0x1D47B, 'M', u't'), + (0x1D47C, 'M', u'u'), + (0x1D47D, 'M', u'v'), + (0x1D47E, 'M', u'w'), + (0x1D47F, 'M', u'x'), + (0x1D480, 'M', u'y'), + (0x1D481, 'M', u'z'), + (0x1D482, 'M', u'a'), + (0x1D483, 'M', u'b'), + (0x1D484, 'M', u'c'), + (0x1D485, 'M', u'd'), + (0x1D486, 'M', u'e'), + (0x1D487, 'M', u'f'), + (0x1D488, 'M', u'g'), + (0x1D489, 'M', u'h'), + (0x1D48A, 'M', u'i'), + (0x1D48B, 'M', u'j'), + (0x1D48C, 'M', u'k'), + (0x1D48D, 'M', u'l'), + (0x1D48E, 'M', u'm'), + (0x1D48F, 'M', u'n'), + (0x1D490, 'M', u'o'), + (0x1D491, 'M', u'p'), + (0x1D492, 'M', u'q'), + (0x1D493, 'M', u'r'), + (0x1D494, 'M', u's'), + (0x1D495, 'M', u't'), + (0x1D496, 'M', u'u'), + (0x1D497, 'M', u'v'), + (0x1D498, 'M', u'w'), + (0x1D499, 'M', u'x'), + (0x1D49A, 'M', u'y'), + (0x1D49B, 'M', u'z'), + (0x1D49C, 'M', u'a'), + (0x1D49D, 'X'), + (0x1D49E, 'M', u'c'), + (0x1D49F, 'M', u'd'), + (0x1D4A0, 'X'), + (0x1D4A2, 'M', u'g'), + (0x1D4A3, 'X'), + (0x1D4A5, 'M', u'j'), + (0x1D4A6, 'M', u'k'), + (0x1D4A7, 'X'), + (0x1D4A9, 'M', u'n'), + (0x1D4AA, 'M', u'o'), + (0x1D4AB, 'M', u'p'), + (0x1D4AC, 'M', u'q'), + (0x1D4AD, 'X'), + (0x1D4AE, 'M', u's'), + (0x1D4AF, 'M', u't'), + (0x1D4B0, 'M', u'u'), + (0x1D4B1, 'M', u'v'), + (0x1D4B2, 'M', u'w'), + (0x1D4B3, 'M', u'x'), + (0x1D4B4, 'M', u'y'), + (0x1D4B5, 'M', u'z'), + (0x1D4B6, 'M', u'a'), + (0x1D4B7, 'M', u'b'), + (0x1D4B8, 'M', u'c'), + (0x1D4B9, 'M', u'd'), + (0x1D4BA, 'X'), + (0x1D4BB, 'M', u'f'), + (0x1D4BC, 'X'), + (0x1D4BD, 'M', u'h'), + (0x1D4BE, 'M', u'i'), + (0x1D4BF, 'M', u'j'), + (0x1D4C0, 'M', u'k'), + (0x1D4C1, 'M', u'l'), + (0x1D4C2, 'M', u'm'), + (0x1D4C3, 'M', u'n'), + ] + +def _seg_60(): + return [ + (0x1D4C4, 'X'), + (0x1D4C5, 'M', u'p'), + (0x1D4C6, 'M', u'q'), + (0x1D4C7, 'M', u'r'), + (0x1D4C8, 'M', u's'), + (0x1D4C9, 'M', u't'), + (0x1D4CA, 'M', u'u'), + (0x1D4CB, 'M', u'v'), + (0x1D4CC, 'M', u'w'), + (0x1D4CD, 'M', u'x'), + (0x1D4CE, 'M', u'y'), + (0x1D4CF, 'M', u'z'), + (0x1D4D0, 'M', u'a'), + (0x1D4D1, 'M', u'b'), + (0x1D4D2, 'M', u'c'), + (0x1D4D3, 'M', u'd'), + (0x1D4D4, 'M', u'e'), + (0x1D4D5, 'M', u'f'), + (0x1D4D6, 'M', u'g'), + (0x1D4D7, 'M', u'h'), + (0x1D4D8, 'M', u'i'), + (0x1D4D9, 'M', u'j'), + (0x1D4DA, 'M', u'k'), + (0x1D4DB, 'M', u'l'), + (0x1D4DC, 'M', u'm'), + (0x1D4DD, 'M', u'n'), + (0x1D4DE, 'M', u'o'), + (0x1D4DF, 'M', u'p'), + (0x1D4E0, 'M', u'q'), + (0x1D4E1, 'M', u'r'), + (0x1D4E2, 'M', u's'), + (0x1D4E3, 'M', u't'), + (0x1D4E4, 'M', u'u'), + (0x1D4E5, 'M', u'v'), + (0x1D4E6, 'M', u'w'), + (0x1D4E7, 'M', u'x'), + (0x1D4E8, 'M', u'y'), + (0x1D4E9, 'M', u'z'), + (0x1D4EA, 'M', u'a'), + (0x1D4EB, 'M', u'b'), + (0x1D4EC, 'M', u'c'), + (0x1D4ED, 'M', u'd'), + (0x1D4EE, 'M', u'e'), + (0x1D4EF, 'M', u'f'), + (0x1D4F0, 'M', u'g'), + (0x1D4F1, 'M', u'h'), + (0x1D4F2, 'M', u'i'), + (0x1D4F3, 'M', u'j'), + (0x1D4F4, 'M', u'k'), + (0x1D4F5, 'M', u'l'), + (0x1D4F6, 'M', u'm'), + (0x1D4F7, 'M', u'n'), + (0x1D4F8, 'M', u'o'), + (0x1D4F9, 'M', u'p'), + (0x1D4FA, 'M', u'q'), + (0x1D4FB, 'M', u'r'), + (0x1D4FC, 'M', u's'), + (0x1D4FD, 'M', u't'), + (0x1D4FE, 'M', u'u'), + (0x1D4FF, 'M', u'v'), + (0x1D500, 'M', u'w'), + (0x1D501, 'M', u'x'), + (0x1D502, 'M', u'y'), + (0x1D503, 'M', u'z'), + (0x1D504, 'M', u'a'), + (0x1D505, 'M', u'b'), + (0x1D506, 'X'), + (0x1D507, 'M', u'd'), + (0x1D508, 'M', u'e'), + (0x1D509, 'M', u'f'), + (0x1D50A, 'M', u'g'), + (0x1D50B, 'X'), + (0x1D50D, 'M', u'j'), + (0x1D50E, 'M', u'k'), + (0x1D50F, 'M', u'l'), + (0x1D510, 'M', u'm'), + (0x1D511, 'M', u'n'), + (0x1D512, 'M', u'o'), + (0x1D513, 'M', u'p'), + (0x1D514, 'M', u'q'), + (0x1D515, 'X'), + (0x1D516, 'M', u's'), + (0x1D517, 'M', u't'), + (0x1D518, 'M', u'u'), + (0x1D519, 'M', u'v'), + (0x1D51A, 'M', u'w'), + (0x1D51B, 'M', u'x'), + (0x1D51C, 'M', u'y'), + (0x1D51D, 'X'), + (0x1D51E, 'M', u'a'), + (0x1D51F, 'M', u'b'), + (0x1D520, 'M', u'c'), + (0x1D521, 'M', u'd'), + (0x1D522, 'M', u'e'), + (0x1D523, 'M', u'f'), + (0x1D524, 'M', u'g'), + (0x1D525, 'M', u'h'), + (0x1D526, 'M', u'i'), + (0x1D527, 'M', u'j'), + (0x1D528, 'M', u'k'), + ] + +def _seg_61(): + return [ + (0x1D529, 'M', u'l'), + (0x1D52A, 'M', u'm'), + (0x1D52B, 'M', u'n'), + (0x1D52C, 'M', u'o'), + (0x1D52D, 'M', u'p'), + (0x1D52E, 'M', u'q'), + (0x1D52F, 'M', u'r'), + (0x1D530, 'M', u's'), + (0x1D531, 'M', u't'), + (0x1D532, 'M', u'u'), + (0x1D533, 'M', u'v'), + (0x1D534, 'M', u'w'), + (0x1D535, 'M', u'x'), + (0x1D536, 'M', u'y'), + (0x1D537, 'M', u'z'), + (0x1D538, 'M', u'a'), + (0x1D539, 'M', u'b'), + (0x1D53A, 'X'), + (0x1D53B, 'M', u'd'), + (0x1D53C, 'M', u'e'), + (0x1D53D, 'M', u'f'), + (0x1D53E, 'M', u'g'), + (0x1D53F, 'X'), + (0x1D540, 'M', u'i'), + (0x1D541, 'M', u'j'), + (0x1D542, 'M', u'k'), + (0x1D543, 'M', u'l'), + (0x1D544, 'M', u'm'), + (0x1D545, 'X'), + (0x1D546, 'M', u'o'), + (0x1D547, 'X'), + (0x1D54A, 'M', u's'), + (0x1D54B, 'M', u't'), + (0x1D54C, 'M', u'u'), + (0x1D54D, 'M', u'v'), + (0x1D54E, 'M', u'w'), + (0x1D54F, 'M', u'x'), + (0x1D550, 'M', u'y'), + (0x1D551, 'X'), + (0x1D552, 'M', u'a'), + (0x1D553, 'M', u'b'), + (0x1D554, 'M', u'c'), + (0x1D555, 'M', u'd'), + (0x1D556, 'M', u'e'), + (0x1D557, 'M', u'f'), + (0x1D558, 'M', u'g'), + (0x1D559, 'M', u'h'), + (0x1D55A, 'M', u'i'), + (0x1D55B, 'M', u'j'), + (0x1D55C, 'M', u'k'), + (0x1D55D, 'M', u'l'), + (0x1D55E, 'M', u'm'), + (0x1D55F, 'M', u'n'), + (0x1D560, 'M', u'o'), + (0x1D561, 'M', u'p'), + (0x1D562, 'M', u'q'), + (0x1D563, 'M', u'r'), + (0x1D564, 'M', u's'), + (0x1D565, 'M', u't'), + (0x1D566, 'M', u'u'), + (0x1D567, 'M', u'v'), + (0x1D568, 'M', u'w'), + (0x1D569, 'M', u'x'), + (0x1D56A, 'M', u'y'), + (0x1D56B, 'M', u'z'), + (0x1D56C, 'M', u'a'), + (0x1D56D, 'M', u'b'), + (0x1D56E, 'M', u'c'), + (0x1D56F, 'M', u'd'), + (0x1D570, 'M', u'e'), + (0x1D571, 'M', u'f'), + (0x1D572, 'M', u'g'), + (0x1D573, 'M', u'h'), + (0x1D574, 'M', u'i'), + (0x1D575, 'M', u'j'), + (0x1D576, 'M', u'k'), + (0x1D577, 'M', u'l'), + (0x1D578, 'M', u'm'), + (0x1D579, 'M', u'n'), + (0x1D57A, 'M', u'o'), + (0x1D57B, 'M', u'p'), + (0x1D57C, 'M', u'q'), + (0x1D57D, 'M', u'r'), + (0x1D57E, 'M', u's'), + (0x1D57F, 'M', u't'), + (0x1D580, 'M', u'u'), + (0x1D581, 'M', u'v'), + (0x1D582, 'M', u'w'), + (0x1D583, 'M', u'x'), + (0x1D584, 'M', u'y'), + (0x1D585, 'M', u'z'), + (0x1D586, 'M', u'a'), + (0x1D587, 'M', u'b'), + (0x1D588, 'M', u'c'), + (0x1D589, 'M', u'd'), + (0x1D58A, 'M', u'e'), + (0x1D58B, 'M', u'f'), + (0x1D58C, 'M', u'g'), + (0x1D58D, 'M', u'h'), + (0x1D58E, 'M', u'i'), + ] + +def _seg_62(): + return [ + (0x1D58F, 'M', u'j'), + (0x1D590, 'M', u'k'), + (0x1D591, 'M', u'l'), + (0x1D592, 'M', u'm'), + (0x1D593, 'M', u'n'), + (0x1D594, 'M', u'o'), + (0x1D595, 'M', u'p'), + (0x1D596, 'M', u'q'), + (0x1D597, 'M', u'r'), + (0x1D598, 'M', u's'), + (0x1D599, 'M', u't'), + (0x1D59A, 'M', u'u'), + (0x1D59B, 'M', u'v'), + (0x1D59C, 'M', u'w'), + (0x1D59D, 'M', u'x'), + (0x1D59E, 'M', u'y'), + (0x1D59F, 'M', u'z'), + (0x1D5A0, 'M', u'a'), + (0x1D5A1, 'M', u'b'), + (0x1D5A2, 'M', u'c'), + (0x1D5A3, 'M', u'd'), + (0x1D5A4, 'M', u'e'), + (0x1D5A5, 'M', u'f'), + (0x1D5A6, 'M', u'g'), + (0x1D5A7, 'M', u'h'), + (0x1D5A8, 'M', u'i'), + (0x1D5A9, 'M', u'j'), + (0x1D5AA, 'M', u'k'), + (0x1D5AB, 'M', u'l'), + (0x1D5AC, 'M', u'm'), + (0x1D5AD, 'M', u'n'), + (0x1D5AE, 'M', u'o'), + (0x1D5AF, 'M', u'p'), + (0x1D5B0, 'M', u'q'), + (0x1D5B1, 'M', u'r'), + (0x1D5B2, 'M', u's'), + (0x1D5B3, 'M', u't'), + (0x1D5B4, 'M', u'u'), + (0x1D5B5, 'M', u'v'), + (0x1D5B6, 'M', u'w'), + (0x1D5B7, 'M', u'x'), + (0x1D5B8, 'M', u'y'), + (0x1D5B9, 'M', u'z'), + (0x1D5BA, 'M', u'a'), + (0x1D5BB, 'M', u'b'), + (0x1D5BC, 'M', u'c'), + (0x1D5BD, 'M', u'd'), + (0x1D5BE, 'M', u'e'), + (0x1D5BF, 'M', u'f'), + (0x1D5C0, 'M', u'g'), + (0x1D5C1, 'M', u'h'), + (0x1D5C2, 'M', u'i'), + (0x1D5C3, 'M', u'j'), + (0x1D5C4, 'M', u'k'), + (0x1D5C5, 'M', u'l'), + (0x1D5C6, 'M', u'm'), + (0x1D5C7, 'M', u'n'), + (0x1D5C8, 'M', u'o'), + (0x1D5C9, 'M', u'p'), + (0x1D5CA, 'M', u'q'), + (0x1D5CB, 'M', u'r'), + (0x1D5CC, 'M', u's'), + (0x1D5CD, 'M', u't'), + (0x1D5CE, 'M', u'u'), + (0x1D5CF, 'M', u'v'), + (0x1D5D0, 'M', u'w'), + (0x1D5D1, 'M', u'x'), + (0x1D5D2, 'M', u'y'), + (0x1D5D3, 'M', u'z'), + (0x1D5D4, 'M', u'a'), + (0x1D5D5, 'M', u'b'), + (0x1D5D6, 'M', u'c'), + (0x1D5D7, 'M', u'd'), + (0x1D5D8, 'M', u'e'), + (0x1D5D9, 'M', u'f'), + (0x1D5DA, 'M', u'g'), + (0x1D5DB, 'M', u'h'), + (0x1D5DC, 'M', u'i'), + (0x1D5DD, 'M', u'j'), + (0x1D5DE, 'M', u'k'), + (0x1D5DF, 'M', u'l'), + (0x1D5E0, 'M', u'm'), + (0x1D5E1, 'M', u'n'), + (0x1D5E2, 'M', u'o'), + (0x1D5E3, 'M', u'p'), + (0x1D5E4, 'M', u'q'), + (0x1D5E5, 'M', u'r'), + (0x1D5E6, 'M', u's'), + (0x1D5E7, 'M', u't'), + (0x1D5E8, 'M', u'u'), + (0x1D5E9, 'M', u'v'), + (0x1D5EA, 'M', u'w'), + (0x1D5EB, 'M', u'x'), + (0x1D5EC, 'M', u'y'), + (0x1D5ED, 'M', u'z'), + (0x1D5EE, 'M', u'a'), + (0x1D5EF, 'M', u'b'), + (0x1D5F0, 'M', u'c'), + (0x1D5F1, 'M', u'd'), + (0x1D5F2, 'M', u'e'), + ] + +def _seg_63(): + return [ + (0x1D5F3, 'M', u'f'), + (0x1D5F4, 'M', u'g'), + (0x1D5F5, 'M', u'h'), + (0x1D5F6, 'M', u'i'), + (0x1D5F7, 'M', u'j'), + (0x1D5F8, 'M', u'k'), + (0x1D5F9, 'M', u'l'), + (0x1D5FA, 'M', u'm'), + (0x1D5FB, 'M', u'n'), + (0x1D5FC, 'M', u'o'), + (0x1D5FD, 'M', u'p'), + (0x1D5FE, 'M', u'q'), + (0x1D5FF, 'M', u'r'), + (0x1D600, 'M', u's'), + (0x1D601, 'M', u't'), + (0x1D602, 'M', u'u'), + (0x1D603, 'M', u'v'), + (0x1D604, 'M', u'w'), + (0x1D605, 'M', u'x'), + (0x1D606, 'M', u'y'), + (0x1D607, 'M', u'z'), + (0x1D608, 'M', u'a'), + (0x1D609, 'M', u'b'), + (0x1D60A, 'M', u'c'), + (0x1D60B, 'M', u'd'), + (0x1D60C, 'M', u'e'), + (0x1D60D, 'M', u'f'), + (0x1D60E, 'M', u'g'), + (0x1D60F, 'M', u'h'), + (0x1D610, 'M', u'i'), + (0x1D611, 'M', u'j'), + (0x1D612, 'M', u'k'), + (0x1D613, 'M', u'l'), + (0x1D614, 'M', u'm'), + (0x1D615, 'M', u'n'), + (0x1D616, 'M', u'o'), + (0x1D617, 'M', u'p'), + (0x1D618, 'M', u'q'), + (0x1D619, 'M', u'r'), + (0x1D61A, 'M', u's'), + (0x1D61B, 'M', u't'), + (0x1D61C, 'M', u'u'), + (0x1D61D, 'M', u'v'), + (0x1D61E, 'M', u'w'), + (0x1D61F, 'M', u'x'), + (0x1D620, 'M', u'y'), + (0x1D621, 'M', u'z'), + (0x1D622, 'M', u'a'), + (0x1D623, 'M', u'b'), + (0x1D624, 'M', u'c'), + (0x1D625, 'M', u'd'), + (0x1D626, 'M', u'e'), + (0x1D627, 'M', u'f'), + (0x1D628, 'M', u'g'), + (0x1D629, 'M', u'h'), + (0x1D62A, 'M', u'i'), + (0x1D62B, 'M', u'j'), + (0x1D62C, 'M', u'k'), + (0x1D62D, 'M', u'l'), + (0x1D62E, 'M', u'm'), + (0x1D62F, 'M', u'n'), + (0x1D630, 'M', u'o'), + (0x1D631, 'M', u'p'), + (0x1D632, 'M', u'q'), + (0x1D633, 'M', u'r'), + (0x1D634, 'M', u's'), + (0x1D635, 'M', u't'), + (0x1D636, 'M', u'u'), + (0x1D637, 'M', u'v'), + (0x1D638, 'M', u'w'), + (0x1D639, 'M', u'x'), + (0x1D63A, 'M', u'y'), + (0x1D63B, 'M', u'z'), + (0x1D63C, 'M', u'a'), + (0x1D63D, 'M', u'b'), + (0x1D63E, 'M', u'c'), + (0x1D63F, 'M', u'd'), + (0x1D640, 'M', u'e'), + (0x1D641, 'M', u'f'), + (0x1D642, 'M', u'g'), + (0x1D643, 'M', u'h'), + (0x1D644, 'M', u'i'), + (0x1D645, 'M', u'j'), + (0x1D646, 'M', u'k'), + (0x1D647, 'M', u'l'), + (0x1D648, 'M', u'm'), + (0x1D649, 'M', u'n'), + (0x1D64A, 'M', u'o'), + (0x1D64B, 'M', u'p'), + (0x1D64C, 'M', u'q'), + (0x1D64D, 'M', u'r'), + (0x1D64E, 'M', u's'), + (0x1D64F, 'M', u't'), + (0x1D650, 'M', u'u'), + (0x1D651, 'M', u'v'), + (0x1D652, 'M', u'w'), + (0x1D653, 'M', u'x'), + (0x1D654, 'M', u'y'), + (0x1D655, 'M', u'z'), + (0x1D656, 'M', u'a'), + ] + +def _seg_64(): + return [ + (0x1D657, 'M', u'b'), + (0x1D658, 'M', u'c'), + (0x1D659, 'M', u'd'), + (0x1D65A, 'M', u'e'), + (0x1D65B, 'M', u'f'), + (0x1D65C, 'M', u'g'), + (0x1D65D, 'M', u'h'), + (0x1D65E, 'M', u'i'), + (0x1D65F, 'M', u'j'), + (0x1D660, 'M', u'k'), + (0x1D661, 'M', u'l'), + (0x1D662, 'M', u'm'), + (0x1D663, 'M', u'n'), + (0x1D664, 'M', u'o'), + (0x1D665, 'M', u'p'), + (0x1D666, 'M', u'q'), + (0x1D667, 'M', u'r'), + (0x1D668, 'M', u's'), + (0x1D669, 'M', u't'), + (0x1D66A, 'M', u'u'), + (0x1D66B, 'M', u'v'), + (0x1D66C, 'M', u'w'), + (0x1D66D, 'M', u'x'), + (0x1D66E, 'M', u'y'), + (0x1D66F, 'M', u'z'), + (0x1D670, 'M', u'a'), + (0x1D671, 'M', u'b'), + (0x1D672, 'M', u'c'), + (0x1D673, 'M', u'd'), + (0x1D674, 'M', u'e'), + (0x1D675, 'M', u'f'), + (0x1D676, 'M', u'g'), + (0x1D677, 'M', u'h'), + (0x1D678, 'M', u'i'), + (0x1D679, 'M', u'j'), + (0x1D67A, 'M', u'k'), + (0x1D67B, 'M', u'l'), + (0x1D67C, 'M', u'm'), + (0x1D67D, 'M', u'n'), + (0x1D67E, 'M', u'o'), + (0x1D67F, 'M', u'p'), + (0x1D680, 'M', u'q'), + (0x1D681, 'M', u'r'), + (0x1D682, 'M', u's'), + (0x1D683, 'M', u't'), + (0x1D684, 'M', u'u'), + (0x1D685, 'M', u'v'), + (0x1D686, 'M', u'w'), + (0x1D687, 'M', u'x'), + (0x1D688, 'M', u'y'), + (0x1D689, 'M', u'z'), + (0x1D68A, 'M', u'a'), + (0x1D68B, 'M', u'b'), + (0x1D68C, 'M', u'c'), + (0x1D68D, 'M', u'd'), + (0x1D68E, 'M', u'e'), + (0x1D68F, 'M', u'f'), + (0x1D690, 'M', u'g'), + (0x1D691, 'M', u'h'), + (0x1D692, 'M', u'i'), + (0x1D693, 'M', u'j'), + (0x1D694, 'M', u'k'), + (0x1D695, 'M', u'l'), + (0x1D696, 'M', u'm'), + (0x1D697, 'M', u'n'), + (0x1D698, 'M', u'o'), + (0x1D699, 'M', u'p'), + (0x1D69A, 'M', u'q'), + (0x1D69B, 'M', u'r'), + (0x1D69C, 'M', u's'), + (0x1D69D, 'M', u't'), + (0x1D69E, 'M', u'u'), + (0x1D69F, 'M', u'v'), + (0x1D6A0, 'M', u'w'), + (0x1D6A1, 'M', u'x'), + (0x1D6A2, 'M', u'y'), + (0x1D6A3, 'M', u'z'), + (0x1D6A4, 'M', u'ı'), + (0x1D6A5, 'M', u'ȷ'), + (0x1D6A6, 'X'), + (0x1D6A8, 'M', u'α'), + (0x1D6A9, 'M', u'β'), + (0x1D6AA, 'M', u'γ'), + (0x1D6AB, 'M', u'δ'), + (0x1D6AC, 'M', u'ε'), + (0x1D6AD, 'M', u'ζ'), + (0x1D6AE, 'M', u'η'), + (0x1D6AF, 'M', u'θ'), + (0x1D6B0, 'M', u'ι'), + (0x1D6B1, 'M', u'κ'), + (0x1D6B2, 'M', u'λ'), + (0x1D6B3, 'M', u'μ'), + (0x1D6B4, 'M', u'ν'), + (0x1D6B5, 'M', u'ξ'), + (0x1D6B6, 'M', u'ο'), + (0x1D6B7, 'M', u'π'), + (0x1D6B8, 'M', u'ρ'), + (0x1D6B9, 'M', u'θ'), + (0x1D6BA, 'M', u'σ'), + (0x1D6BB, 'M', u'τ'), + ] + +def _seg_65(): + return [ + (0x1D6BC, 'M', u'υ'), + (0x1D6BD, 'M', u'φ'), + (0x1D6BE, 'M', u'χ'), + (0x1D6BF, 'M', u'ψ'), + (0x1D6C0, 'M', u'ω'), + (0x1D6C1, 'M', u'∇'), + (0x1D6C2, 'M', u'α'), + (0x1D6C3, 'M', u'β'), + (0x1D6C4, 'M', u'γ'), + (0x1D6C5, 'M', u'δ'), + (0x1D6C6, 'M', u'ε'), + (0x1D6C7, 'M', u'ζ'), + (0x1D6C8, 'M', u'η'), + (0x1D6C9, 'M', u'θ'), + (0x1D6CA, 'M', u'ι'), + (0x1D6CB, 'M', u'κ'), + (0x1D6CC, 'M', u'λ'), + (0x1D6CD, 'M', u'μ'), + (0x1D6CE, 'M', u'ν'), + (0x1D6CF, 'M', u'ξ'), + (0x1D6D0, 'M', u'ο'), + (0x1D6D1, 'M', u'π'), + (0x1D6D2, 'M', u'ρ'), + (0x1D6D3, 'M', u'σ'), + (0x1D6D5, 'M', u'τ'), + (0x1D6D6, 'M', u'υ'), + (0x1D6D7, 'M', u'φ'), + (0x1D6D8, 'M', u'χ'), + (0x1D6D9, 'M', u'ψ'), + (0x1D6DA, 'M', u'ω'), + (0x1D6DB, 'M', u'∂'), + (0x1D6DC, 'M', u'ε'), + (0x1D6DD, 'M', u'θ'), + (0x1D6DE, 'M', u'κ'), + (0x1D6DF, 'M', u'φ'), + (0x1D6E0, 'M', u'ρ'), + (0x1D6E1, 'M', u'π'), + (0x1D6E2, 'M', u'α'), + (0x1D6E3, 'M', u'β'), + (0x1D6E4, 'M', u'γ'), + (0x1D6E5, 'M', u'δ'), + (0x1D6E6, 'M', u'ε'), + (0x1D6E7, 'M', u'ζ'), + (0x1D6E8, 'M', u'η'), + (0x1D6E9, 'M', u'θ'), + (0x1D6EA, 'M', u'ι'), + (0x1D6EB, 'M', u'κ'), + (0x1D6EC, 'M', u'λ'), + (0x1D6ED, 'M', u'μ'), + (0x1D6EE, 'M', u'ν'), + (0x1D6EF, 'M', u'ξ'), + (0x1D6F0, 'M', u'ο'), + (0x1D6F1, 'M', u'π'), + (0x1D6F2, 'M', u'ρ'), + (0x1D6F3, 'M', u'θ'), + (0x1D6F4, 'M', u'σ'), + (0x1D6F5, 'M', u'τ'), + (0x1D6F6, 'M', u'υ'), + (0x1D6F7, 'M', u'φ'), + (0x1D6F8, 'M', u'χ'), + (0x1D6F9, 'M', u'ψ'), + (0x1D6FA, 'M', u'ω'), + (0x1D6FB, 'M', u'∇'), + (0x1D6FC, 'M', u'α'), + (0x1D6FD, 'M', u'β'), + (0x1D6FE, 'M', u'γ'), + (0x1D6FF, 'M', u'δ'), + (0x1D700, 'M', u'ε'), + (0x1D701, 'M', u'ζ'), + (0x1D702, 'M', u'η'), + (0x1D703, 'M', u'θ'), + (0x1D704, 'M', u'ι'), + (0x1D705, 'M', u'κ'), + (0x1D706, 'M', u'λ'), + (0x1D707, 'M', u'μ'), + (0x1D708, 'M', u'ν'), + (0x1D709, 'M', u'ξ'), + (0x1D70A, 'M', u'ο'), + (0x1D70B, 'M', u'π'), + (0x1D70C, 'M', u'ρ'), + (0x1D70D, 'M', u'σ'), + (0x1D70F, 'M', u'τ'), + (0x1D710, 'M', u'υ'), + (0x1D711, 'M', u'φ'), + (0x1D712, 'M', u'χ'), + (0x1D713, 'M', u'ψ'), + (0x1D714, 'M', u'ω'), + (0x1D715, 'M', u'∂'), + (0x1D716, 'M', u'ε'), + (0x1D717, 'M', u'θ'), + (0x1D718, 'M', u'κ'), + (0x1D719, 'M', u'φ'), + (0x1D71A, 'M', u'ρ'), + (0x1D71B, 'M', u'π'), + (0x1D71C, 'M', u'α'), + (0x1D71D, 'M', u'β'), + (0x1D71E, 'M', u'γ'), + (0x1D71F, 'M', u'δ'), + (0x1D720, 'M', u'ε'), + (0x1D721, 'M', u'ζ'), + ] + +def _seg_66(): + return [ + (0x1D722, 'M', u'η'), + (0x1D723, 'M', u'θ'), + (0x1D724, 'M', u'ι'), + (0x1D725, 'M', u'κ'), + (0x1D726, 'M', u'λ'), + (0x1D727, 'M', u'μ'), + (0x1D728, 'M', u'ν'), + (0x1D729, 'M', u'ξ'), + (0x1D72A, 'M', u'ο'), + (0x1D72B, 'M', u'π'), + (0x1D72C, 'M', u'ρ'), + (0x1D72D, 'M', u'θ'), + (0x1D72E, 'M', u'σ'), + (0x1D72F, 'M', u'τ'), + (0x1D730, 'M', u'υ'), + (0x1D731, 'M', u'φ'), + (0x1D732, 'M', u'χ'), + (0x1D733, 'M', u'ψ'), + (0x1D734, 'M', u'ω'), + (0x1D735, 'M', u'∇'), + (0x1D736, 'M', u'α'), + (0x1D737, 'M', u'β'), + (0x1D738, 'M', u'γ'), + (0x1D739, 'M', u'δ'), + (0x1D73A, 'M', u'ε'), + (0x1D73B, 'M', u'ζ'), + (0x1D73C, 'M', u'η'), + (0x1D73D, 'M', u'θ'), + (0x1D73E, 'M', u'ι'), + (0x1D73F, 'M', u'κ'), + (0x1D740, 'M', u'λ'), + (0x1D741, 'M', u'μ'), + (0x1D742, 'M', u'ν'), + (0x1D743, 'M', u'ξ'), + (0x1D744, 'M', u'ο'), + (0x1D745, 'M', u'π'), + (0x1D746, 'M', u'ρ'), + (0x1D747, 'M', u'σ'), + (0x1D749, 'M', u'τ'), + (0x1D74A, 'M', u'υ'), + (0x1D74B, 'M', u'φ'), + (0x1D74C, 'M', u'χ'), + (0x1D74D, 'M', u'ψ'), + (0x1D74E, 'M', u'ω'), + (0x1D74F, 'M', u'∂'), + (0x1D750, 'M', u'ε'), + (0x1D751, 'M', u'θ'), + (0x1D752, 'M', u'κ'), + (0x1D753, 'M', u'φ'), + (0x1D754, 'M', u'ρ'), + (0x1D755, 'M', u'π'), + (0x1D756, 'M', u'α'), + (0x1D757, 'M', u'β'), + (0x1D758, 'M', u'γ'), + (0x1D759, 'M', u'δ'), + (0x1D75A, 'M', u'ε'), + (0x1D75B, 'M', u'ζ'), + (0x1D75C, 'M', u'η'), + (0x1D75D, 'M', u'θ'), + (0x1D75E, 'M', u'ι'), + (0x1D75F, 'M', u'κ'), + (0x1D760, 'M', u'λ'), + (0x1D761, 'M', u'μ'), + (0x1D762, 'M', u'ν'), + (0x1D763, 'M', u'ξ'), + (0x1D764, 'M', u'ο'), + (0x1D765, 'M', u'π'), + (0x1D766, 'M', u'ρ'), + (0x1D767, 'M', u'θ'), + (0x1D768, 'M', u'σ'), + (0x1D769, 'M', u'τ'), + (0x1D76A, 'M', u'υ'), + (0x1D76B, 'M', u'φ'), + (0x1D76C, 'M', u'χ'), + (0x1D76D, 'M', u'ψ'), + (0x1D76E, 'M', u'ω'), + (0x1D76F, 'M', u'∇'), + (0x1D770, 'M', u'α'), + (0x1D771, 'M', u'β'), + (0x1D772, 'M', u'γ'), + (0x1D773, 'M', u'δ'), + (0x1D774, 'M', u'ε'), + (0x1D775, 'M', u'ζ'), + (0x1D776, 'M', u'η'), + (0x1D777, 'M', u'θ'), + (0x1D778, 'M', u'ι'), + (0x1D779, 'M', u'κ'), + (0x1D77A, 'M', u'λ'), + (0x1D77B, 'M', u'μ'), + (0x1D77C, 'M', u'ν'), + (0x1D77D, 'M', u'ξ'), + (0x1D77E, 'M', u'ο'), + (0x1D77F, 'M', u'π'), + (0x1D780, 'M', u'ρ'), + (0x1D781, 'M', u'σ'), + (0x1D783, 'M', u'τ'), + (0x1D784, 'M', u'υ'), + (0x1D785, 'M', u'φ'), + (0x1D786, 'M', u'χ'), + (0x1D787, 'M', u'ψ'), + ] + +def _seg_67(): + return [ + (0x1D788, 'M', u'ω'), + (0x1D789, 'M', u'∂'), + (0x1D78A, 'M', u'ε'), + (0x1D78B, 'M', u'θ'), + (0x1D78C, 'M', u'κ'), + (0x1D78D, 'M', u'φ'), + (0x1D78E, 'M', u'ρ'), + (0x1D78F, 'M', u'π'), + (0x1D790, 'M', u'α'), + (0x1D791, 'M', u'β'), + (0x1D792, 'M', u'γ'), + (0x1D793, 'M', u'δ'), + (0x1D794, 'M', u'ε'), + (0x1D795, 'M', u'ζ'), + (0x1D796, 'M', u'η'), + (0x1D797, 'M', u'θ'), + (0x1D798, 'M', u'ι'), + (0x1D799, 'M', u'κ'), + (0x1D79A, 'M', u'λ'), + (0x1D79B, 'M', u'μ'), + (0x1D79C, 'M', u'ν'), + (0x1D79D, 'M', u'ξ'), + (0x1D79E, 'M', u'ο'), + (0x1D79F, 'M', u'π'), + (0x1D7A0, 'M', u'ρ'), + (0x1D7A1, 'M', u'θ'), + (0x1D7A2, 'M', u'σ'), + (0x1D7A3, 'M', u'τ'), + (0x1D7A4, 'M', u'υ'), + (0x1D7A5, 'M', u'φ'), + (0x1D7A6, 'M', u'χ'), + (0x1D7A7, 'M', u'ψ'), + (0x1D7A8, 'M', u'ω'), + (0x1D7A9, 'M', u'∇'), + (0x1D7AA, 'M', u'α'), + (0x1D7AB, 'M', u'β'), + (0x1D7AC, 'M', u'γ'), + (0x1D7AD, 'M', u'δ'), + (0x1D7AE, 'M', u'ε'), + (0x1D7AF, 'M', u'ζ'), + (0x1D7B0, 'M', u'η'), + (0x1D7B1, 'M', u'θ'), + (0x1D7B2, 'M', u'ι'), + (0x1D7B3, 'M', u'κ'), + (0x1D7B4, 'M', u'λ'), + (0x1D7B5, 'M', u'μ'), + (0x1D7B6, 'M', u'ν'), + (0x1D7B7, 'M', u'ξ'), + (0x1D7B8, 'M', u'ο'), + (0x1D7B9, 'M', u'π'), + (0x1D7BA, 'M', u'ρ'), + (0x1D7BB, 'M', u'σ'), + (0x1D7BD, 'M', u'τ'), + (0x1D7BE, 'M', u'υ'), + (0x1D7BF, 'M', u'φ'), + (0x1D7C0, 'M', u'χ'), + (0x1D7C1, 'M', u'ψ'), + (0x1D7C2, 'M', u'ω'), + (0x1D7C3, 'M', u'∂'), + (0x1D7C4, 'M', u'ε'), + (0x1D7C5, 'M', u'θ'), + (0x1D7C6, 'M', u'κ'), + (0x1D7C7, 'M', u'φ'), + (0x1D7C8, 'M', u'ρ'), + (0x1D7C9, 'M', u'π'), + (0x1D7CA, 'M', u'ϝ'), + (0x1D7CC, 'X'), + (0x1D7CE, 'M', u'0'), + (0x1D7CF, 'M', u'1'), + (0x1D7D0, 'M', u'2'), + (0x1D7D1, 'M', u'3'), + (0x1D7D2, 'M', u'4'), + (0x1D7D3, 'M', u'5'), + (0x1D7D4, 'M', u'6'), + (0x1D7D5, 'M', u'7'), + (0x1D7D6, 'M', u'8'), + (0x1D7D7, 'M', u'9'), + (0x1D7D8, 'M', u'0'), + (0x1D7D9, 'M', u'1'), + (0x1D7DA, 'M', u'2'), + (0x1D7DB, 'M', u'3'), + (0x1D7DC, 'M', u'4'), + (0x1D7DD, 'M', u'5'), + (0x1D7DE, 'M', u'6'), + (0x1D7DF, 'M', u'7'), + (0x1D7E0, 'M', u'8'), + (0x1D7E1, 'M', u'9'), + (0x1D7E2, 'M', u'0'), + (0x1D7E3, 'M', u'1'), + (0x1D7E4, 'M', u'2'), + (0x1D7E5, 'M', u'3'), + (0x1D7E6, 'M', u'4'), + (0x1D7E7, 'M', u'5'), + (0x1D7E8, 'M', u'6'), + (0x1D7E9, 'M', u'7'), + (0x1D7EA, 'M', u'8'), + (0x1D7EB, 'M', u'9'), + (0x1D7EC, 'M', u'0'), + (0x1D7ED, 'M', u'1'), + (0x1D7EE, 'M', u'2'), + ] + +def _seg_68(): + return [ + (0x1D7EF, 'M', u'3'), + (0x1D7F0, 'M', u'4'), + (0x1D7F1, 'M', u'5'), + (0x1D7F2, 'M', u'6'), + (0x1D7F3, 'M', u'7'), + (0x1D7F4, 'M', u'8'), + (0x1D7F5, 'M', u'9'), + (0x1D7F6, 'M', u'0'), + (0x1D7F7, 'M', u'1'), + (0x1D7F8, 'M', u'2'), + (0x1D7F9, 'M', u'3'), + (0x1D7FA, 'M', u'4'), + (0x1D7FB, 'M', u'5'), + (0x1D7FC, 'M', u'6'), + (0x1D7FD, 'M', u'7'), + (0x1D7FE, 'M', u'8'), + (0x1D7FF, 'M', u'9'), + (0x1D800, 'V'), + (0x1DA8C, 'X'), + (0x1DA9B, 'V'), + (0x1DAA0, 'X'), + (0x1DAA1, 'V'), + (0x1DAB0, 'X'), + (0x1E000, 'V'), + (0x1E007, 'X'), + (0x1E008, 'V'), + (0x1E019, 'X'), + (0x1E01B, 'V'), + (0x1E022, 'X'), + (0x1E023, 'V'), + (0x1E025, 'X'), + (0x1E026, 'V'), + (0x1E02B, 'X'), + (0x1E800, 'V'), + (0x1E8C5, 'X'), + (0x1E8C7, 'V'), + (0x1E8D7, 'X'), + (0x1E900, 'M', u'𞤢'), + (0x1E901, 'M', u'𞤣'), + (0x1E902, 'M', u'𞤤'), + (0x1E903, 'M', u'𞤥'), + (0x1E904, 'M', u'𞤦'), + (0x1E905, 'M', u'𞤧'), + (0x1E906, 'M', u'𞤨'), + (0x1E907, 'M', u'𞤩'), + (0x1E908, 'M', u'𞤪'), + (0x1E909, 'M', u'𞤫'), + (0x1E90A, 'M', u'𞤬'), + (0x1E90B, 'M', u'𞤭'), + (0x1E90C, 'M', u'𞤮'), + (0x1E90D, 'M', u'𞤯'), + (0x1E90E, 'M', u'𞤰'), + (0x1E90F, 'M', u'𞤱'), + (0x1E910, 'M', u'𞤲'), + (0x1E911, 'M', u'𞤳'), + (0x1E912, 'M', u'𞤴'), + (0x1E913, 'M', u'𞤵'), + (0x1E914, 'M', u'𞤶'), + (0x1E915, 'M', u'𞤷'), + (0x1E916, 'M', u'𞤸'), + (0x1E917, 'M', u'𞤹'), + (0x1E918, 'M', u'𞤺'), + (0x1E919, 'M', u'𞤻'), + (0x1E91A, 'M', u'𞤼'), + (0x1E91B, 'M', u'𞤽'), + (0x1E91C, 'M', u'𞤾'), + (0x1E91D, 'M', u'𞤿'), + (0x1E91E, 'M', u'𞥀'), + (0x1E91F, 'M', u'𞥁'), + (0x1E920, 'M', u'𞥂'), + (0x1E921, 'M', u'𞥃'), + (0x1E922, 'V'), + (0x1E94B, 'X'), + (0x1E950, 'V'), + (0x1E95A, 'X'), + (0x1E95E, 'V'), + (0x1E960, 'X'), + (0x1EC71, 'V'), + (0x1ECB5, 'X'), + (0x1EE00, 'M', u'ا'), + (0x1EE01, 'M', u'ب'), + (0x1EE02, 'M', u'ج'), + (0x1EE03, 'M', u'د'), + (0x1EE04, 'X'), + (0x1EE05, 'M', u'و'), + (0x1EE06, 'M', u'ز'), + (0x1EE07, 'M', u'ح'), + (0x1EE08, 'M', u'ط'), + (0x1EE09, 'M', u'ي'), + (0x1EE0A, 'M', u'ك'), + (0x1EE0B, 'M', u'ل'), + (0x1EE0C, 'M', u'م'), + (0x1EE0D, 'M', u'ن'), + (0x1EE0E, 'M', u'س'), + (0x1EE0F, 'M', u'ع'), + (0x1EE10, 'M', u'ف'), + (0x1EE11, 'M', u'ص'), + (0x1EE12, 'M', u'ق'), + (0x1EE13, 'M', u'ر'), + (0x1EE14, 'M', u'ش'), + ] + +def _seg_69(): + return [ + (0x1EE15, 'M', u'ت'), + (0x1EE16, 'M', u'ث'), + (0x1EE17, 'M', u'خ'), + (0x1EE18, 'M', u'ذ'), + (0x1EE19, 'M', u'ض'), + (0x1EE1A, 'M', u'ظ'), + (0x1EE1B, 'M', u'غ'), + (0x1EE1C, 'M', u'ٮ'), + (0x1EE1D, 'M', u'ں'), + (0x1EE1E, 'M', u'ڡ'), + (0x1EE1F, 'M', u'ٯ'), + (0x1EE20, 'X'), + (0x1EE21, 'M', u'ب'), + (0x1EE22, 'M', u'ج'), + (0x1EE23, 'X'), + (0x1EE24, 'M', u'ه'), + (0x1EE25, 'X'), + (0x1EE27, 'M', u'ح'), + (0x1EE28, 'X'), + (0x1EE29, 'M', u'ي'), + (0x1EE2A, 'M', u'ك'), + (0x1EE2B, 'M', u'ل'), + (0x1EE2C, 'M', u'م'), + (0x1EE2D, 'M', u'ن'), + (0x1EE2E, 'M', u'س'), + (0x1EE2F, 'M', u'ع'), + (0x1EE30, 'M', u'ف'), + (0x1EE31, 'M', u'ص'), + (0x1EE32, 'M', u'ق'), + (0x1EE33, 'X'), + (0x1EE34, 'M', u'ش'), + (0x1EE35, 'M', u'ت'), + (0x1EE36, 'M', u'ث'), + (0x1EE37, 'M', u'خ'), + (0x1EE38, 'X'), + (0x1EE39, 'M', u'ض'), + (0x1EE3A, 'X'), + (0x1EE3B, 'M', u'غ'), + (0x1EE3C, 'X'), + (0x1EE42, 'M', u'ج'), + (0x1EE43, 'X'), + (0x1EE47, 'M', u'ح'), + (0x1EE48, 'X'), + (0x1EE49, 'M', u'ي'), + (0x1EE4A, 'X'), + (0x1EE4B, 'M', u'ل'), + (0x1EE4C, 'X'), + (0x1EE4D, 'M', u'ن'), + (0x1EE4E, 'M', u'س'), + (0x1EE4F, 'M', u'ع'), + (0x1EE50, 'X'), + (0x1EE51, 'M', u'ص'), + (0x1EE52, 'M', u'ق'), + (0x1EE53, 'X'), + (0x1EE54, 'M', u'ش'), + (0x1EE55, 'X'), + (0x1EE57, 'M', u'خ'), + (0x1EE58, 'X'), + (0x1EE59, 'M', u'ض'), + (0x1EE5A, 'X'), + (0x1EE5B, 'M', u'غ'), + (0x1EE5C, 'X'), + (0x1EE5D, 'M', u'ں'), + (0x1EE5E, 'X'), + (0x1EE5F, 'M', u'ٯ'), + (0x1EE60, 'X'), + (0x1EE61, 'M', u'ب'), + (0x1EE62, 'M', u'ج'), + (0x1EE63, 'X'), + (0x1EE64, 'M', u'ه'), + (0x1EE65, 'X'), + (0x1EE67, 'M', u'ح'), + (0x1EE68, 'M', u'ط'), + (0x1EE69, 'M', u'ي'), + (0x1EE6A, 'M', u'ك'), + (0x1EE6B, 'X'), + (0x1EE6C, 'M', u'م'), + (0x1EE6D, 'M', u'ن'), + (0x1EE6E, 'M', u'س'), + (0x1EE6F, 'M', u'ع'), + (0x1EE70, 'M', u'ف'), + (0x1EE71, 'M', u'ص'), + (0x1EE72, 'M', u'ق'), + (0x1EE73, 'X'), + (0x1EE74, 'M', u'ش'), + (0x1EE75, 'M', u'ت'), + (0x1EE76, 'M', u'ث'), + (0x1EE77, 'M', u'خ'), + (0x1EE78, 'X'), + (0x1EE79, 'M', u'ض'), + (0x1EE7A, 'M', u'ظ'), + (0x1EE7B, 'M', u'غ'), + (0x1EE7C, 'M', u'ٮ'), + (0x1EE7D, 'X'), + (0x1EE7E, 'M', u'ڡ'), + (0x1EE7F, 'X'), + (0x1EE80, 'M', u'ا'), + (0x1EE81, 'M', u'ب'), + (0x1EE82, 'M', u'ج'), + (0x1EE83, 'M', u'د'), + ] + +def _seg_70(): + return [ + (0x1EE84, 'M', u'ه'), + (0x1EE85, 'M', u'و'), + (0x1EE86, 'M', u'ز'), + (0x1EE87, 'M', u'ح'), + (0x1EE88, 'M', u'ط'), + (0x1EE89, 'M', u'ي'), + (0x1EE8A, 'X'), + (0x1EE8B, 'M', u'ل'), + (0x1EE8C, 'M', u'م'), + (0x1EE8D, 'M', u'ن'), + (0x1EE8E, 'M', u'س'), + (0x1EE8F, 'M', u'ع'), + (0x1EE90, 'M', u'ف'), + (0x1EE91, 'M', u'ص'), + (0x1EE92, 'M', u'ق'), + (0x1EE93, 'M', u'ر'), + (0x1EE94, 'M', u'ش'), + (0x1EE95, 'M', u'ت'), + (0x1EE96, 'M', u'ث'), + (0x1EE97, 'M', u'خ'), + (0x1EE98, 'M', u'ذ'), + (0x1EE99, 'M', u'ض'), + (0x1EE9A, 'M', u'ظ'), + (0x1EE9B, 'M', u'غ'), + (0x1EE9C, 'X'), + (0x1EEA1, 'M', u'ب'), + (0x1EEA2, 'M', u'ج'), + (0x1EEA3, 'M', u'د'), + (0x1EEA4, 'X'), + (0x1EEA5, 'M', u'و'), + (0x1EEA6, 'M', u'ز'), + (0x1EEA7, 'M', u'ح'), + (0x1EEA8, 'M', u'ط'), + (0x1EEA9, 'M', u'ي'), + (0x1EEAA, 'X'), + (0x1EEAB, 'M', u'ل'), + (0x1EEAC, 'M', u'م'), + (0x1EEAD, 'M', u'ن'), + (0x1EEAE, 'M', u'س'), + (0x1EEAF, 'M', u'ع'), + (0x1EEB0, 'M', u'ف'), + (0x1EEB1, 'M', u'ص'), + (0x1EEB2, 'M', u'ق'), + (0x1EEB3, 'M', u'ر'), + (0x1EEB4, 'M', u'ش'), + (0x1EEB5, 'M', u'ت'), + (0x1EEB6, 'M', u'ث'), + (0x1EEB7, 'M', u'خ'), + (0x1EEB8, 'M', u'ذ'), + (0x1EEB9, 'M', u'ض'), + (0x1EEBA, 'M', u'ظ'), + (0x1EEBB, 'M', u'غ'), + (0x1EEBC, 'X'), + (0x1EEF0, 'V'), + (0x1EEF2, 'X'), + (0x1F000, 'V'), + (0x1F02C, 'X'), + (0x1F030, 'V'), + (0x1F094, 'X'), + (0x1F0A0, 'V'), + (0x1F0AF, 'X'), + (0x1F0B1, 'V'), + (0x1F0C0, 'X'), + (0x1F0C1, 'V'), + (0x1F0D0, 'X'), + (0x1F0D1, 'V'), + (0x1F0F6, 'X'), + (0x1F101, '3', u'0,'), + (0x1F102, '3', u'1,'), + (0x1F103, '3', u'2,'), + (0x1F104, '3', u'3,'), + (0x1F105, '3', u'4,'), + (0x1F106, '3', u'5,'), + (0x1F107, '3', u'6,'), + (0x1F108, '3', u'7,'), + (0x1F109, '3', u'8,'), + (0x1F10A, '3', u'9,'), + (0x1F10B, 'V'), + (0x1F10D, 'X'), + (0x1F110, '3', u'(a)'), + (0x1F111, '3', u'(b)'), + (0x1F112, '3', u'(c)'), + (0x1F113, '3', u'(d)'), + (0x1F114, '3', u'(e)'), + (0x1F115, '3', u'(f)'), + (0x1F116, '3', u'(g)'), + (0x1F117, '3', u'(h)'), + (0x1F118, '3', u'(i)'), + (0x1F119, '3', u'(j)'), + (0x1F11A, '3', u'(k)'), + (0x1F11B, '3', u'(l)'), + (0x1F11C, '3', u'(m)'), + (0x1F11D, '3', u'(n)'), + (0x1F11E, '3', u'(o)'), + (0x1F11F, '3', u'(p)'), + (0x1F120, '3', u'(q)'), + (0x1F121, '3', u'(r)'), + (0x1F122, '3', u'(s)'), + (0x1F123, '3', u'(t)'), + (0x1F124, '3', u'(u)'), + ] + +def _seg_71(): + return [ + (0x1F125, '3', u'(v)'), + (0x1F126, '3', u'(w)'), + (0x1F127, '3', u'(x)'), + (0x1F128, '3', u'(y)'), + (0x1F129, '3', u'(z)'), + (0x1F12A, 'M', u'〔s〕'), + (0x1F12B, 'M', u'c'), + (0x1F12C, 'M', u'r'), + (0x1F12D, 'M', u'cd'), + (0x1F12E, 'M', u'wz'), + (0x1F12F, 'V'), + (0x1F130, 'M', u'a'), + (0x1F131, 'M', u'b'), + (0x1F132, 'M', u'c'), + (0x1F133, 'M', u'd'), + (0x1F134, 'M', u'e'), + (0x1F135, 'M', u'f'), + (0x1F136, 'M', u'g'), + (0x1F137, 'M', u'h'), + (0x1F138, 'M', u'i'), + (0x1F139, 'M', u'j'), + (0x1F13A, 'M', u'k'), + (0x1F13B, 'M', u'l'), + (0x1F13C, 'M', u'm'), + (0x1F13D, 'M', u'n'), + (0x1F13E, 'M', u'o'), + (0x1F13F, 'M', u'p'), + (0x1F140, 'M', u'q'), + (0x1F141, 'M', u'r'), + (0x1F142, 'M', u's'), + (0x1F143, 'M', u't'), + (0x1F144, 'M', u'u'), + (0x1F145, 'M', u'v'), + (0x1F146, 'M', u'w'), + (0x1F147, 'M', u'x'), + (0x1F148, 'M', u'y'), + (0x1F149, 'M', u'z'), + (0x1F14A, 'M', u'hv'), + (0x1F14B, 'M', u'mv'), + (0x1F14C, 'M', u'sd'), + (0x1F14D, 'M', u'ss'), + (0x1F14E, 'M', u'ppv'), + (0x1F14F, 'M', u'wc'), + (0x1F150, 'V'), + (0x1F16A, 'M', u'mc'), + (0x1F16B, 'M', u'md'), + (0x1F16C, 'X'), + (0x1F170, 'V'), + (0x1F190, 'M', u'dj'), + (0x1F191, 'V'), + (0x1F1AD, 'X'), + (0x1F1E6, 'V'), + (0x1F200, 'M', u'ほか'), + (0x1F201, 'M', u'ココ'), + (0x1F202, 'M', u'サ'), + (0x1F203, 'X'), + (0x1F210, 'M', u'手'), + (0x1F211, 'M', u'字'), + (0x1F212, 'M', u'双'), + (0x1F213, 'M', u'デ'), + (0x1F214, 'M', u'二'), + (0x1F215, 'M', u'多'), + (0x1F216, 'M', u'解'), + (0x1F217, 'M', u'天'), + (0x1F218, 'M', u'交'), + (0x1F219, 'M', u'映'), + (0x1F21A, 'M', u'無'), + (0x1F21B, 'M', u'料'), + (0x1F21C, 'M', u'前'), + (0x1F21D, 'M', u'後'), + (0x1F21E, 'M', u'再'), + (0x1F21F, 'M', u'新'), + (0x1F220, 'M', u'初'), + (0x1F221, 'M', u'終'), + (0x1F222, 'M', u'生'), + (0x1F223, 'M', u'販'), + (0x1F224, 'M', u'声'), + (0x1F225, 'M', u'吹'), + (0x1F226, 'M', u'演'), + (0x1F227, 'M', u'投'), + (0x1F228, 'M', u'捕'), + (0x1F229, 'M', u'一'), + (0x1F22A, 'M', u'三'), + (0x1F22B, 'M', u'遊'), + (0x1F22C, 'M', u'左'), + (0x1F22D, 'M', u'中'), + (0x1F22E, 'M', u'右'), + (0x1F22F, 'M', u'指'), + (0x1F230, 'M', u'走'), + (0x1F231, 'M', u'打'), + (0x1F232, 'M', u'禁'), + (0x1F233, 'M', u'空'), + (0x1F234, 'M', u'合'), + (0x1F235, 'M', u'満'), + (0x1F236, 'M', u'有'), + (0x1F237, 'M', u'月'), + (0x1F238, 'M', u'申'), + (0x1F239, 'M', u'割'), + (0x1F23A, 'M', u'営'), + (0x1F23B, 'M', u'配'), + ] + +def _seg_72(): + return [ + (0x1F23C, 'X'), + (0x1F240, 'M', u'〔本〕'), + (0x1F241, 'M', u'〔三〕'), + (0x1F242, 'M', u'〔二〕'), + (0x1F243, 'M', u'〔安〕'), + (0x1F244, 'M', u'〔点〕'), + (0x1F245, 'M', u'〔打〕'), + (0x1F246, 'M', u'〔盗〕'), + (0x1F247, 'M', u'〔勝〕'), + (0x1F248, 'M', u'〔敗〕'), + (0x1F249, 'X'), + (0x1F250, 'M', u'得'), + (0x1F251, 'M', u'可'), + (0x1F252, 'X'), + (0x1F260, 'V'), + (0x1F266, 'X'), + (0x1F300, 'V'), + (0x1F6D5, 'X'), + (0x1F6E0, 'V'), + (0x1F6ED, 'X'), + (0x1F6F0, 'V'), + (0x1F6FA, 'X'), + (0x1F700, 'V'), + (0x1F774, 'X'), + (0x1F780, 'V'), + (0x1F7D9, 'X'), + (0x1F800, 'V'), + (0x1F80C, 'X'), + (0x1F810, 'V'), + (0x1F848, 'X'), + (0x1F850, 'V'), + (0x1F85A, 'X'), + (0x1F860, 'V'), + (0x1F888, 'X'), + (0x1F890, 'V'), + (0x1F8AE, 'X'), + (0x1F900, 'V'), + (0x1F90C, 'X'), + (0x1F910, 'V'), + (0x1F93F, 'X'), + (0x1F940, 'V'), + (0x1F971, 'X'), + (0x1F973, 'V'), + (0x1F977, 'X'), + (0x1F97A, 'V'), + (0x1F97B, 'X'), + (0x1F97C, 'V'), + (0x1F9A3, 'X'), + (0x1F9B0, 'V'), + (0x1F9BA, 'X'), + (0x1F9C0, 'V'), + (0x1F9C3, 'X'), + (0x1F9D0, 'V'), + (0x1FA00, 'X'), + (0x1FA60, 'V'), + (0x1FA6E, 'X'), + (0x20000, 'V'), + (0x2A6D7, 'X'), + (0x2A700, 'V'), + (0x2B735, 'X'), + (0x2B740, 'V'), + (0x2B81E, 'X'), + (0x2B820, 'V'), + (0x2CEA2, 'X'), + (0x2CEB0, 'V'), + (0x2EBE1, 'X'), + (0x2F800, 'M', u'丽'), + (0x2F801, 'M', u'丸'), + (0x2F802, 'M', u'乁'), + (0x2F803, 'M', u'𠄢'), + (0x2F804, 'M', u'你'), + (0x2F805, 'M', u'侮'), + (0x2F806, 'M', u'侻'), + (0x2F807, 'M', u'倂'), + (0x2F808, 'M', u'偺'), + (0x2F809, 'M', u'備'), + (0x2F80A, 'M', u'僧'), + (0x2F80B, 'M', u'像'), + (0x2F80C, 'M', u'㒞'), + (0x2F80D, 'M', u'𠘺'), + (0x2F80E, 'M', u'免'), + (0x2F80F, 'M', u'兔'), + (0x2F810, 'M', u'兤'), + (0x2F811, 'M', u'具'), + (0x2F812, 'M', u'𠔜'), + (0x2F813, 'M', u'㒹'), + (0x2F814, 'M', u'內'), + (0x2F815, 'M', u'再'), + (0x2F816, 'M', u'𠕋'), + (0x2F817, 'M', u'冗'), + (0x2F818, 'M', u'冤'), + (0x2F819, 'M', u'仌'), + (0x2F81A, 'M', u'冬'), + (0x2F81B, 'M', u'况'), + (0x2F81C, 'M', u'𩇟'), + (0x2F81D, 'M', u'凵'), + (0x2F81E, 'M', u'刃'), + (0x2F81F, 'M', u'㓟'), + (0x2F820, 'M', u'刻'), + (0x2F821, 'M', u'剆'), + ] + +def _seg_73(): + return [ + (0x2F822, 'M', u'割'), + (0x2F823, 'M', u'剷'), + (0x2F824, 'M', u'㔕'), + (0x2F825, 'M', u'勇'), + (0x2F826, 'M', u'勉'), + (0x2F827, 'M', u'勤'), + (0x2F828, 'M', u'勺'), + (0x2F829, 'M', u'包'), + (0x2F82A, 'M', u'匆'), + (0x2F82B, 'M', u'北'), + (0x2F82C, 'M', u'卉'), + (0x2F82D, 'M', u'卑'), + (0x2F82E, 'M', u'博'), + (0x2F82F, 'M', u'即'), + (0x2F830, 'M', u'卽'), + (0x2F831, 'M', u'卿'), + (0x2F834, 'M', u'𠨬'), + (0x2F835, 'M', u'灰'), + (0x2F836, 'M', u'及'), + (0x2F837, 'M', u'叟'), + (0x2F838, 'M', u'𠭣'), + (0x2F839, 'M', u'叫'), + (0x2F83A, 'M', u'叱'), + (0x2F83B, 'M', u'吆'), + (0x2F83C, 'M', u'咞'), + (0x2F83D, 'M', u'吸'), + (0x2F83E, 'M', u'呈'), + (0x2F83F, 'M', u'周'), + (0x2F840, 'M', u'咢'), + (0x2F841, 'M', u'哶'), + (0x2F842, 'M', u'唐'), + (0x2F843, 'M', u'啓'), + (0x2F844, 'M', u'啣'), + (0x2F845, 'M', u'善'), + (0x2F847, 'M', u'喙'), + (0x2F848, 'M', u'喫'), + (0x2F849, 'M', u'喳'), + (0x2F84A, 'M', u'嗂'), + (0x2F84B, 'M', u'圖'), + (0x2F84C, 'M', u'嘆'), + (0x2F84D, 'M', u'圗'), + (0x2F84E, 'M', u'噑'), + (0x2F84F, 'M', u'噴'), + (0x2F850, 'M', u'切'), + (0x2F851, 'M', u'壮'), + (0x2F852, 'M', u'城'), + (0x2F853, 'M', u'埴'), + (0x2F854, 'M', u'堍'), + (0x2F855, 'M', u'型'), + (0x2F856, 'M', u'堲'), + (0x2F857, 'M', u'報'), + (0x2F858, 'M', u'墬'), + (0x2F859, 'M', u'𡓤'), + (0x2F85A, 'M', u'売'), + (0x2F85B, 'M', u'壷'), + (0x2F85C, 'M', u'夆'), + (0x2F85D, 'M', u'多'), + (0x2F85E, 'M', u'夢'), + (0x2F85F, 'M', u'奢'), + (0x2F860, 'M', u'𡚨'), + (0x2F861, 'M', u'𡛪'), + (0x2F862, 'M', u'姬'), + (0x2F863, 'M', u'娛'), + (0x2F864, 'M', u'娧'), + (0x2F865, 'M', u'姘'), + (0x2F866, 'M', u'婦'), + (0x2F867, 'M', u'㛮'), + (0x2F868, 'X'), + (0x2F869, 'M', u'嬈'), + (0x2F86A, 'M', u'嬾'), + (0x2F86C, 'M', u'𡧈'), + (0x2F86D, 'M', u'寃'), + (0x2F86E, 'M', u'寘'), + (0x2F86F, 'M', u'寧'), + (0x2F870, 'M', u'寳'), + (0x2F871, 'M', u'𡬘'), + (0x2F872, 'M', u'寿'), + (0x2F873, 'M', u'将'), + (0x2F874, 'X'), + (0x2F875, 'M', u'尢'), + (0x2F876, 'M', u'㞁'), + (0x2F877, 'M', u'屠'), + (0x2F878, 'M', u'屮'), + (0x2F879, 'M', u'峀'), + (0x2F87A, 'M', u'岍'), + (0x2F87B, 'M', u'𡷤'), + (0x2F87C, 'M', u'嵃'), + (0x2F87D, 'M', u'𡷦'), + (0x2F87E, 'M', u'嵮'), + (0x2F87F, 'M', u'嵫'), + (0x2F880, 'M', u'嵼'), + (0x2F881, 'M', u'巡'), + (0x2F882, 'M', u'巢'), + (0x2F883, 'M', u'㠯'), + (0x2F884, 'M', u'巽'), + (0x2F885, 'M', u'帨'), + (0x2F886, 'M', u'帽'), + (0x2F887, 'M', u'幩'), + (0x2F888, 'M', u'㡢'), + (0x2F889, 'M', u'𢆃'), + ] + +def _seg_74(): + return [ + (0x2F88A, 'M', u'㡼'), + (0x2F88B, 'M', u'庰'), + (0x2F88C, 'M', u'庳'), + (0x2F88D, 'M', u'庶'), + (0x2F88E, 'M', u'廊'), + (0x2F88F, 'M', u'𪎒'), + (0x2F890, 'M', u'廾'), + (0x2F891, 'M', u'𢌱'), + (0x2F893, 'M', u'舁'), + (0x2F894, 'M', u'弢'), + (0x2F896, 'M', u'㣇'), + (0x2F897, 'M', u'𣊸'), + (0x2F898, 'M', u'𦇚'), + (0x2F899, 'M', u'形'), + (0x2F89A, 'M', u'彫'), + (0x2F89B, 'M', u'㣣'), + (0x2F89C, 'M', u'徚'), + (0x2F89D, 'M', u'忍'), + (0x2F89E, 'M', u'志'), + (0x2F89F, 'M', u'忹'), + (0x2F8A0, 'M', u'悁'), + (0x2F8A1, 'M', u'㤺'), + (0x2F8A2, 'M', u'㤜'), + (0x2F8A3, 'M', u'悔'), + (0x2F8A4, 'M', u'𢛔'), + (0x2F8A5, 'M', u'惇'), + (0x2F8A6, 'M', u'慈'), + (0x2F8A7, 'M', u'慌'), + (0x2F8A8, 'M', u'慎'), + (0x2F8A9, 'M', u'慌'), + (0x2F8AA, 'M', u'慺'), + (0x2F8AB, 'M', u'憎'), + (0x2F8AC, 'M', u'憲'), + (0x2F8AD, 'M', u'憤'), + (0x2F8AE, 'M', u'憯'), + (0x2F8AF, 'M', u'懞'), + (0x2F8B0, 'M', u'懲'), + (0x2F8B1, 'M', u'懶'), + (0x2F8B2, 'M', u'成'), + (0x2F8B3, 'M', u'戛'), + (0x2F8B4, 'M', u'扝'), + (0x2F8B5, 'M', u'抱'), + (0x2F8B6, 'M', u'拔'), + (0x2F8B7, 'M', u'捐'), + (0x2F8B8, 'M', u'𢬌'), + (0x2F8B9, 'M', u'挽'), + (0x2F8BA, 'M', u'拼'), + (0x2F8BB, 'M', u'捨'), + (0x2F8BC, 'M', u'掃'), + (0x2F8BD, 'M', u'揤'), + (0x2F8BE, 'M', u'𢯱'), + (0x2F8BF, 'M', u'搢'), + (0x2F8C0, 'M', u'揅'), + (0x2F8C1, 'M', u'掩'), + (0x2F8C2, 'M', u'㨮'), + (0x2F8C3, 'M', u'摩'), + (0x2F8C4, 'M', u'摾'), + (0x2F8C5, 'M', u'撝'), + (0x2F8C6, 'M', u'摷'), + (0x2F8C7, 'M', u'㩬'), + (0x2F8C8, 'M', u'敏'), + (0x2F8C9, 'M', u'敬'), + (0x2F8CA, 'M', u'𣀊'), + (0x2F8CB, 'M', u'旣'), + (0x2F8CC, 'M', u'書'), + (0x2F8CD, 'M', u'晉'), + (0x2F8CE, 'M', u'㬙'), + (0x2F8CF, 'M', u'暑'), + (0x2F8D0, 'M', u'㬈'), + (0x2F8D1, 'M', u'㫤'), + (0x2F8D2, 'M', u'冒'), + (0x2F8D3, 'M', u'冕'), + (0x2F8D4, 'M', u'最'), + (0x2F8D5, 'M', u'暜'), + (0x2F8D6, 'M', u'肭'), + (0x2F8D7, 'M', u'䏙'), + (0x2F8D8, 'M', u'朗'), + (0x2F8D9, 'M', u'望'), + (0x2F8DA, 'M', u'朡'), + (0x2F8DB, 'M', u'杞'), + (0x2F8DC, 'M', u'杓'), + (0x2F8DD, 'M', u'𣏃'), + (0x2F8DE, 'M', u'㭉'), + (0x2F8DF, 'M', u'柺'), + (0x2F8E0, 'M', u'枅'), + (0x2F8E1, 'M', u'桒'), + (0x2F8E2, 'M', u'梅'), + (0x2F8E3, 'M', u'𣑭'), + (0x2F8E4, 'M', u'梎'), + (0x2F8E5, 'M', u'栟'), + (0x2F8E6, 'M', u'椔'), + (0x2F8E7, 'M', u'㮝'), + (0x2F8E8, 'M', u'楂'), + (0x2F8E9, 'M', u'榣'), + (0x2F8EA, 'M', u'槪'), + (0x2F8EB, 'M', u'檨'), + (0x2F8EC, 'M', u'𣚣'), + (0x2F8ED, 'M', u'櫛'), + (0x2F8EE, 'M', u'㰘'), + (0x2F8EF, 'M', u'次'), + ] + +def _seg_75(): + return [ + (0x2F8F0, 'M', u'𣢧'), + (0x2F8F1, 'M', u'歔'), + (0x2F8F2, 'M', u'㱎'), + (0x2F8F3, 'M', u'歲'), + (0x2F8F4, 'M', u'殟'), + (0x2F8F5, 'M', u'殺'), + (0x2F8F6, 'M', u'殻'), + (0x2F8F7, 'M', u'𣪍'), + (0x2F8F8, 'M', u'𡴋'), + (0x2F8F9, 'M', u'𣫺'), + (0x2F8FA, 'M', u'汎'), + (0x2F8FB, 'M', u'𣲼'), + (0x2F8FC, 'M', u'沿'), + (0x2F8FD, 'M', u'泍'), + (0x2F8FE, 'M', u'汧'), + (0x2F8FF, 'M', u'洖'), + (0x2F900, 'M', u'派'), + (0x2F901, 'M', u'海'), + (0x2F902, 'M', u'流'), + (0x2F903, 'M', u'浩'), + (0x2F904, 'M', u'浸'), + (0x2F905, 'M', u'涅'), + (0x2F906, 'M', u'𣴞'), + (0x2F907, 'M', u'洴'), + (0x2F908, 'M', u'港'), + (0x2F909, 'M', u'湮'), + (0x2F90A, 'M', u'㴳'), + (0x2F90B, 'M', u'滋'), + (0x2F90C, 'M', u'滇'), + (0x2F90D, 'M', u'𣻑'), + (0x2F90E, 'M', u'淹'), + (0x2F90F, 'M', u'潮'), + (0x2F910, 'M', u'𣽞'), + (0x2F911, 'M', u'𣾎'), + (0x2F912, 'M', u'濆'), + (0x2F913, 'M', u'瀹'), + (0x2F914, 'M', u'瀞'), + (0x2F915, 'M', u'瀛'), + (0x2F916, 'M', u'㶖'), + (0x2F917, 'M', u'灊'), + (0x2F918, 'M', u'災'), + (0x2F919, 'M', u'灷'), + (0x2F91A, 'M', u'炭'), + (0x2F91B, 'M', u'𠔥'), + (0x2F91C, 'M', u'煅'), + (0x2F91D, 'M', u'𤉣'), + (0x2F91E, 'M', u'熜'), + (0x2F91F, 'X'), + (0x2F920, 'M', u'爨'), + (0x2F921, 'M', u'爵'), + (0x2F922, 'M', u'牐'), + (0x2F923, 'M', u'𤘈'), + (0x2F924, 'M', u'犀'), + (0x2F925, 'M', u'犕'), + (0x2F926, 'M', u'𤜵'), + (0x2F927, 'M', u'𤠔'), + (0x2F928, 'M', u'獺'), + (0x2F929, 'M', u'王'), + (0x2F92A, 'M', u'㺬'), + (0x2F92B, 'M', u'玥'), + (0x2F92C, 'M', u'㺸'), + (0x2F92E, 'M', u'瑇'), + (0x2F92F, 'M', u'瑜'), + (0x2F930, 'M', u'瑱'), + (0x2F931, 'M', u'璅'), + (0x2F932, 'M', u'瓊'), + (0x2F933, 'M', u'㼛'), + (0x2F934, 'M', u'甤'), + (0x2F935, 'M', u'𤰶'), + (0x2F936, 'M', u'甾'), + (0x2F937, 'M', u'𤲒'), + (0x2F938, 'M', u'異'), + (0x2F939, 'M', u'𢆟'), + (0x2F93A, 'M', u'瘐'), + (0x2F93B, 'M', u'𤾡'), + (0x2F93C, 'M', u'𤾸'), + (0x2F93D, 'M', u'𥁄'), + (0x2F93E, 'M', u'㿼'), + (0x2F93F, 'M', u'䀈'), + (0x2F940, 'M', u'直'), + (0x2F941, 'M', u'𥃳'), + (0x2F942, 'M', u'𥃲'), + (0x2F943, 'M', u'𥄙'), + (0x2F944, 'M', u'𥄳'), + (0x2F945, 'M', u'眞'), + (0x2F946, 'M', u'真'), + (0x2F948, 'M', u'睊'), + (0x2F949, 'M', u'䀹'), + (0x2F94A, 'M', u'瞋'), + (0x2F94B, 'M', u'䁆'), + (0x2F94C, 'M', u'䂖'), + (0x2F94D, 'M', u'𥐝'), + (0x2F94E, 'M', u'硎'), + (0x2F94F, 'M', u'碌'), + (0x2F950, 'M', u'磌'), + (0x2F951, 'M', u'䃣'), + (0x2F952, 'M', u'𥘦'), + (0x2F953, 'M', u'祖'), + (0x2F954, 'M', u'𥚚'), + (0x2F955, 'M', u'𥛅'), + ] + +def _seg_76(): + return [ + (0x2F956, 'M', u'福'), + (0x2F957, 'M', u'秫'), + (0x2F958, 'M', u'䄯'), + (0x2F959, 'M', u'穀'), + (0x2F95A, 'M', u'穊'), + (0x2F95B, 'M', u'穏'), + (0x2F95C, 'M', u'𥥼'), + (0x2F95D, 'M', u'𥪧'), + (0x2F95F, 'X'), + (0x2F960, 'M', u'䈂'), + (0x2F961, 'M', u'𥮫'), + (0x2F962, 'M', u'篆'), + (0x2F963, 'M', u'築'), + (0x2F964, 'M', u'䈧'), + (0x2F965, 'M', u'𥲀'), + (0x2F966, 'M', u'糒'), + (0x2F967, 'M', u'䊠'), + (0x2F968, 'M', u'糨'), + (0x2F969, 'M', u'糣'), + (0x2F96A, 'M', u'紀'), + (0x2F96B, 'M', u'𥾆'), + (0x2F96C, 'M', u'絣'), + (0x2F96D, 'M', u'䌁'), + (0x2F96E, 'M', u'緇'), + (0x2F96F, 'M', u'縂'), + (0x2F970, 'M', u'繅'), + (0x2F971, 'M', u'䌴'), + (0x2F972, 'M', u'𦈨'), + (0x2F973, 'M', u'𦉇'), + (0x2F974, 'M', u'䍙'), + (0x2F975, 'M', u'𦋙'), + (0x2F976, 'M', u'罺'), + (0x2F977, 'M', u'𦌾'), + (0x2F978, 'M', u'羕'), + (0x2F979, 'M', u'翺'), + (0x2F97A, 'M', u'者'), + (0x2F97B, 'M', u'𦓚'), + (0x2F97C, 'M', u'𦔣'), + (0x2F97D, 'M', u'聠'), + (0x2F97E, 'M', u'𦖨'), + (0x2F97F, 'M', u'聰'), + (0x2F980, 'M', u'𣍟'), + (0x2F981, 'M', u'䏕'), + (0x2F982, 'M', u'育'), + (0x2F983, 'M', u'脃'), + (0x2F984, 'M', u'䐋'), + (0x2F985, 'M', u'脾'), + (0x2F986, 'M', u'媵'), + (0x2F987, 'M', u'𦞧'), + (0x2F988, 'M', u'𦞵'), + (0x2F989, 'M', u'𣎓'), + (0x2F98A, 'M', u'𣎜'), + (0x2F98B, 'M', u'舁'), + (0x2F98C, 'M', u'舄'), + (0x2F98D, 'M', u'辞'), + (0x2F98E, 'M', u'䑫'), + (0x2F98F, 'M', u'芑'), + (0x2F990, 'M', u'芋'), + (0x2F991, 'M', u'芝'), + (0x2F992, 'M', u'劳'), + (0x2F993, 'M', u'花'), + (0x2F994, 'M', u'芳'), + (0x2F995, 'M', u'芽'), + (0x2F996, 'M', u'苦'), + (0x2F997, 'M', u'𦬼'), + (0x2F998, 'M', u'若'), + (0x2F999, 'M', u'茝'), + (0x2F99A, 'M', u'荣'), + (0x2F99B, 'M', u'莭'), + (0x2F99C, 'M', u'茣'), + (0x2F99D, 'M', u'莽'), + (0x2F99E, 'M', u'菧'), + (0x2F99F, 'M', u'著'), + (0x2F9A0, 'M', u'荓'), + (0x2F9A1, 'M', u'菊'), + (0x2F9A2, 'M', u'菌'), + (0x2F9A3, 'M', u'菜'), + (0x2F9A4, 'M', u'𦰶'), + (0x2F9A5, 'M', u'𦵫'), + (0x2F9A6, 'M', u'𦳕'), + (0x2F9A7, 'M', u'䔫'), + (0x2F9A8, 'M', u'蓱'), + (0x2F9A9, 'M', u'蓳'), + (0x2F9AA, 'M', u'蔖'), + (0x2F9AB, 'M', u'𧏊'), + (0x2F9AC, 'M', u'蕤'), + (0x2F9AD, 'M', u'𦼬'), + (0x2F9AE, 'M', u'䕝'), + (0x2F9AF, 'M', u'䕡'), + (0x2F9B0, 'M', u'𦾱'), + (0x2F9B1, 'M', u'𧃒'), + (0x2F9B2, 'M', u'䕫'), + (0x2F9B3, 'M', u'虐'), + (0x2F9B4, 'M', u'虜'), + (0x2F9B5, 'M', u'虧'), + (0x2F9B6, 'M', u'虩'), + (0x2F9B7, 'M', u'蚩'), + (0x2F9B8, 'M', u'蚈'), + (0x2F9B9, 'M', u'蜎'), + (0x2F9BA, 'M', u'蛢'), + ] + +def _seg_77(): + return [ + (0x2F9BB, 'M', u'蝹'), + (0x2F9BC, 'M', u'蜨'), + (0x2F9BD, 'M', u'蝫'), + (0x2F9BE, 'M', u'螆'), + (0x2F9BF, 'X'), + (0x2F9C0, 'M', u'蟡'), + (0x2F9C1, 'M', u'蠁'), + (0x2F9C2, 'M', u'䗹'), + (0x2F9C3, 'M', u'衠'), + (0x2F9C4, 'M', u'衣'), + (0x2F9C5, 'M', u'𧙧'), + (0x2F9C6, 'M', u'裗'), + (0x2F9C7, 'M', u'裞'), + (0x2F9C8, 'M', u'䘵'), + (0x2F9C9, 'M', u'裺'), + (0x2F9CA, 'M', u'㒻'), + (0x2F9CB, 'M', u'𧢮'), + (0x2F9CC, 'M', u'𧥦'), + (0x2F9CD, 'M', u'䚾'), + (0x2F9CE, 'M', u'䛇'), + (0x2F9CF, 'M', u'誠'), + (0x2F9D0, 'M', u'諭'), + (0x2F9D1, 'M', u'變'), + (0x2F9D2, 'M', u'豕'), + (0x2F9D3, 'M', u'𧲨'), + (0x2F9D4, 'M', u'貫'), + (0x2F9D5, 'M', u'賁'), + (0x2F9D6, 'M', u'贛'), + (0x2F9D7, 'M', u'起'), + (0x2F9D8, 'M', u'𧼯'), + (0x2F9D9, 'M', u'𠠄'), + (0x2F9DA, 'M', u'跋'), + (0x2F9DB, 'M', u'趼'), + (0x2F9DC, 'M', u'跰'), + (0x2F9DD, 'M', u'𠣞'), + (0x2F9DE, 'M', u'軔'), + (0x2F9DF, 'M', u'輸'), + (0x2F9E0, 'M', u'𨗒'), + (0x2F9E1, 'M', u'𨗭'), + (0x2F9E2, 'M', u'邔'), + (0x2F9E3, 'M', u'郱'), + (0x2F9E4, 'M', u'鄑'), + (0x2F9E5, 'M', u'𨜮'), + (0x2F9E6, 'M', u'鄛'), + (0x2F9E7, 'M', u'鈸'), + (0x2F9E8, 'M', u'鋗'), + (0x2F9E9, 'M', u'鋘'), + (0x2F9EA, 'M', u'鉼'), + (0x2F9EB, 'M', u'鏹'), + (0x2F9EC, 'M', u'鐕'), + (0x2F9ED, 'M', u'𨯺'), + (0x2F9EE, 'M', u'開'), + (0x2F9EF, 'M', u'䦕'), + (0x2F9F0, 'M', u'閷'), + (0x2F9F1, 'M', u'𨵷'), + (0x2F9F2, 'M', u'䧦'), + (0x2F9F3, 'M', u'雃'), + (0x2F9F4, 'M', u'嶲'), + (0x2F9F5, 'M', u'霣'), + (0x2F9F6, 'M', u'𩅅'), + (0x2F9F7, 'M', u'𩈚'), + (0x2F9F8, 'M', u'䩮'), + (0x2F9F9, 'M', u'䩶'), + (0x2F9FA, 'M', u'韠'), + (0x2F9FB, 'M', u'𩐊'), + (0x2F9FC, 'M', u'䪲'), + (0x2F9FD, 'M', u'𩒖'), + (0x2F9FE, 'M', u'頋'), + (0x2FA00, 'M', u'頩'), + (0x2FA01, 'M', u'𩖶'), + (0x2FA02, 'M', u'飢'), + (0x2FA03, 'M', u'䬳'), + (0x2FA04, 'M', u'餩'), + (0x2FA05, 'M', u'馧'), + (0x2FA06, 'M', u'駂'), + (0x2FA07, 'M', u'駾'), + (0x2FA08, 'M', u'䯎'), + (0x2FA09, 'M', u'𩬰'), + (0x2FA0A, 'M', u'鬒'), + (0x2FA0B, 'M', u'鱀'), + (0x2FA0C, 'M', u'鳽'), + (0x2FA0D, 'M', u'䳎'), + (0x2FA0E, 'M', u'䳭'), + (0x2FA0F, 'M', u'鵧'), + (0x2FA10, 'M', u'𪃎'), + (0x2FA11, 'M', u'䳸'), + (0x2FA12, 'M', u'𪄅'), + (0x2FA13, 'M', u'𪈎'), + (0x2FA14, 'M', u'𪊑'), + (0x2FA15, 'M', u'麻'), + (0x2FA16, 'M', u'䵖'), + (0x2FA17, 'M', u'黹'), + (0x2FA18, 'M', u'黾'), + (0x2FA19, 'M', u'鼅'), + (0x2FA1A, 'M', u'鼏'), + (0x2FA1B, 'M', u'鼖'), + (0x2FA1C, 'M', u'鼻'), + (0x2FA1D, 'M', u'𪘀'), + (0x2FA1E, 'X'), + (0xE0100, 'I'), + ] + +def _seg_78(): + return [ + (0xE01F0, 'X'), + ] + +uts46data = tuple( + _seg_0() + + _seg_1() + + _seg_2() + + _seg_3() + + _seg_4() + + _seg_5() + + _seg_6() + + _seg_7() + + _seg_8() + + _seg_9() + + _seg_10() + + _seg_11() + + _seg_12() + + _seg_13() + + _seg_14() + + _seg_15() + + _seg_16() + + _seg_17() + + _seg_18() + + _seg_19() + + _seg_20() + + _seg_21() + + _seg_22() + + _seg_23() + + _seg_24() + + _seg_25() + + _seg_26() + + _seg_27() + + _seg_28() + + _seg_29() + + _seg_30() + + _seg_31() + + _seg_32() + + _seg_33() + + _seg_34() + + _seg_35() + + _seg_36() + + _seg_37() + + _seg_38() + + _seg_39() + + _seg_40() + + _seg_41() + + _seg_42() + + _seg_43() + + _seg_44() + + _seg_45() + + _seg_46() + + _seg_47() + + _seg_48() + + _seg_49() + + _seg_50() + + _seg_51() + + _seg_52() + + _seg_53() + + _seg_54() + + _seg_55() + + _seg_56() + + _seg_57() + + _seg_58() + + _seg_59() + + _seg_60() + + _seg_61() + + _seg_62() + + _seg_63() + + _seg_64() + + _seg_65() + + _seg_66() + + _seg_67() + + _seg_68() + + _seg_69() + + _seg_70() + + _seg_71() + + _seg_72() + + _seg_73() + + _seg_74() + + _seg_75() + + _seg_76() + + _seg_77() + + _seg_78() +) diff --git a/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/PKG-INFO b/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/PKG-INFO new file mode 100644 index 0000000..54ea221 --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/PKG-INFO @@ -0,0 +1,81 @@ +Metadata-Version: 1.1 +Name: idna-ssl +Version: 1.1.0 +Summary: Patch ssl.match_hostname for Unicode(idna) domains support +Home-page: https://github.com/aio-libs/idna-ssl +Author: Victor Kovtun +Author-email: hellysmile@gmail.com +License: UNKNOWN +Description: idna-ssl + ======== + + :info: Patch ssl.match_hostname for Unicode(idna) domains support + + .. image:: https://travis-ci.com/aio-libs/idna-ssl.svg?branch=master + :target: https://travis-ci.com/aio-libs/idna-ssl + + .. image:: https://img.shields.io/pypi/v/idna_ssl.svg + :target: https://pypi.python.org/pypi/idna_ssl + + .. image:: https://codecov.io/gh/aio-libs/idna-ssl/branch/master/graph/badge.svg + :target: https://codecov.io/gh/aio-libs/idna-ssl + + Installation + ------------ + + .. code-block:: shell + + pip install idna-ssl + + Usage + ----- + + .. code-block:: python + + from idna_ssl import patch_match_hostname # noqa isort:skip + patch_match_hostname() # noqa isort:skip + + import asyncio + + import aiohttp + + URL = 'https://цфоут.мвд.рф/news/item/8065038/' + + + async def main(): + async with aiohttp.ClientSession() as session: + async with session.get(URL) as response: + print(response) + + + loop = asyncio.get_event_loop() + loop.run_until_complete(main()) + + Motivation + ---------- + + * Here is 100% backward capability + * Related aiohttp `issue <https://github.com/aio-libs/aiohttp/issues/949>`_ + * Related Python `bug <https://bugs.python.org/issue31872>`_ + * Related Python `pull request <https://github.com/python/cpython/pull/3462>`_ + * It is fixed (by January 27 2018) in upcoming Python 3.7, but `IDNA2008 <https://tools.ietf.org/html/rfc5895>`_ is still broken + + Thanks + ------ + + The library was donated by `Ocean S.A. <https://ocean.io/>`_ + + Thanks to the company for contribution. + +Keywords: ssl,Unicode,idna,match_hostname +Platform: UNKNOWN +Classifier: Development Status :: 4 - Beta +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 diff --git a/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/SOURCES.txt b/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/SOURCES.txt new file mode 100644 index 0000000..0ed8815 --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/SOURCES.txt @@ -0,0 +1,12 @@ +LICENSE +MANIFEST.in +README.rst +idna_ssl.py +setup.cfg +setup.py +idna_ssl.egg-info/PKG-INFO +idna_ssl.egg-info/SOURCES.txt +idna_ssl.egg-info/dependency_links.txt +idna_ssl.egg-info/not-zip-safe +idna_ssl.egg-info/requires.txt +idna_ssl.egg-info/top_level.txt \ No newline at end of file diff --git a/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/dependency_links.txt b/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/installed-files.txt b/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/installed-files.txt new file mode 100644 index 0000000..7677786 --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/installed-files.txt @@ -0,0 +1,8 @@ +../__pycache__/idna_ssl.cpython-36.pyc +../idna_ssl.py +PKG-INFO +SOURCES.txt +dependency_links.txt +not-zip-safe +requires.txt +top_level.txt diff --git a/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/not-zip-safe b/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/not-zip-safe new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/not-zip-safe @@ -0,0 +1 @@ + diff --git a/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/requires.txt b/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/requires.txt new file mode 100644 index 0000000..af5772d --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/requires.txt @@ -0,0 +1 @@ +idna>=2.0 diff --git a/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/top_level.txt b/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/top_level.txt new file mode 100644 index 0000000..15da36a --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna_ssl-1.1.0-py3.6.egg-info/top_level.txt @@ -0,0 +1 @@ +idna_ssl diff --git a/venv/lib/python3.6/site-packages/idna_ssl.py b/venv/lib/python3.6/site-packages/idna_ssl.py new file mode 100644 index 0000000..59db9bd --- /dev/null +++ b/venv/lib/python3.6/site-packages/idna_ssl.py @@ -0,0 +1,40 @@ +import ssl +import sys + +import idna + +__version__ = '1.1.0' + +real_match_hostname = ssl.match_hostname + +PY_370 = sys.version_info >= (3, 7, 0) + + +def patched_match_hostname(cert, hostname): + try: + hostname = idna.encode(hostname, uts46=True).decode('ascii') + except UnicodeError: + hostname = hostname.encode('idna').decode('ascii') + + return real_match_hostname(cert, hostname) + + +def patch_match_hostname(): + if PY_370: + return + + if hasattr(ssl.match_hostname, 'patched'): + return + + ssl.match_hostname = patched_match_hostname + ssl.match_hostname.patched = True + + +def reset_match_hostname(): + if PY_370: + return + + if not hasattr(ssl.match_hostname, 'patched'): + return + + ssl.match_hostname = real_match_hostname diff --git a/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/INSTALLER b/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/LICENSE b/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/LICENSE new file mode 100644 index 0000000..99a9e21 --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/LICENSE @@ -0,0 +1,201 @@ + 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 2016-2017 Andrew Svetlov + + 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/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/METADATA b/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/METADATA new file mode 100644 index 0000000..feb488f --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/METADATA @@ -0,0 +1,113 @@ +Metadata-Version: 2.1 +Name: multidict +Version: 4.5.2 +Summary: multidict implementation +Home-page: https://github.com/aio-libs/multidict +Author: Andrew Svetlov +Author-email: andrew.svetlov@gmail.com +License: Apache 2 +Project-URL: Chat: Gitter, https://gitter.im/aio-libs/Lobby +Project-URL: CI: AppVeyor, https://ci.appveyor.com/project/asvetlov/multidict +Project-URL: CI: Circle, https://circleci.com/gh/aio-libs/multidict +Project-URL: CI: Shippable, https://app.shippable.com/github/aio-libs/multidict +Project-URL: CI: Travis, https://travis-ci.com/aio-libs/multidict +Project-URL: Coverage: codecov, https://codecov.io/github/aio-libs/multidict +Project-URL: Docs: RTD, https://multidict.readthedocs.io +Project-URL: GitHub: issues, https://github.com/aio-libs/multidict/issues +Project-URL: GitHub: repo, https://github.com/aio-libs/multidict +Platform: UNKNOWN +Classifier: License :: OSI Approved :: Apache Software License +Classifier: Intended Audience :: Developers +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Development Status :: 5 - Production/Stable +Requires-Python: >=3.4.1 + +========= +multidict +========= + +.. image:: https://img.shields.io/pypi/v/multidict.svg + :target: https://pypi.org/project/multidict + +.. image:: https://readthedocs.org/projects/multidict/badge/?version=latest + :target: http://multidict.readthedocs.org/en/latest/?badge=latest + +.. image:: https://img.shields.io/travis-ci/com/aio-libs/multidict/master.svg + :align: right + :target: http://travis-ci.com/aio-libs/multidict + +.. image:: https://img.shields.io/appveyor/ci/aio-libs/multidict/master.svg?label=Windows%20build%20%40%20Appveyor + :align: right + :target: https://ci.appveyor.com/project/aio-libs/multidict/branch/master + +.. image:: https://img.shields.io/pypi/pyversions/multidict.svg + :target: https://pypi.org/project/multidict + +.. image:: https://codecov.io/gh/aio-libs/multidict/branch/master/graph/badge.svg + :target: https://codecov.io/gh/aio-libs/multidict + :alt: Coverage metrics + +.. image:: https://badges.gitter.im/Join%20Chat.svg + :target: https://gitter.im/aio-libs/Lobby + :alt: Chat on Gitter + +Multidict is dict-like collection of *key-value pairs* where key +might be occurred more than once in the container. + +Introduction +------------ + +*HTTP Headers* and *URL query string* require specific data structure: +*multidict*. It behaves mostly like a regular ``dict`` but it may have +several *values* for the same *key* and *preserves insertion ordering*. + +The *key* is ``str`` (or ``istr`` for case-insensitive dictionaries). + +``multidict`` has four multidict classes: +``MultiDict``, ``MultiDictProxy``, ``CIMultiDict`` +and ``CIMultiDictProxy``. + +Immutable proxies (``MultiDictProxy`` and +``CIMultiDictProxy``) provide a dynamic view for the +proxied multidict, the view reflects underlying collection changes. They +implement the ``collections.abc.Mapping`` interface. + +Regular mutable (``MultiDict`` and ``CIMultiDict``) classes +implement ``collections.abc.MutableMapping`` and allows to change +their own content. + + +*Case insensitive* (``CIMultiDict`` and +``CIMultiDictProxy``) ones assume the *keys* are case +insensitive, e.g.:: + + >>> dct = CIMultiDict(key='val') + >>> 'Key' in dct + True + >>> dct['Key'] + 'val' + +*Keys* should be ``str`` or ``istr`` instances. + +The library has optional Cython_ optimization for sake of speed. + + +License +------- + +Apache 2 + + +.. _aiohttp: https://github.com/KeepSafe/aiohttp +.. _Cython: http://cython.org/ + + +Changelog +--------- +See `RTD page <http://multidict.readthedocs.org/en/latest/changes.html>`_. + diff --git a/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/RECORD b/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/RECORD new file mode 100644 index 0000000..99c0a3b --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/RECORD @@ -0,0 +1,32 @@ +multidict-4.5.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +multidict-4.5.2.dist-info/LICENSE,sha256=ocWCVRMnnTCFoLpGiA4UjqNxDBSbuu3PLRFgWl7TxK0,11349 +multidict-4.5.2.dist-info/METADATA,sha256=CyBPSI_h0RLmmywFIgtSiUdgEVtdqzL9bI0JuejDNxo,3821 +multidict-4.5.2.dist-info/RECORD,, +multidict-4.5.2.dist-info/WHEEL,sha256=3E7Ufb0sclzIFi481P8ZW7dVDuh1OlhoQ4UXZwnlEiE,109 +multidict-4.5.2.dist-info/top_level.txt,sha256=-euDElkk5_qkmfIJ7WiqCab02ZlSFZWynejKg59qZQQ,10 +multidict/__init__.py,sha256=o3oD5wIrM1QEj5LU_YkC-vTI7puvCikQUhQk9wBA_5M,1022 +multidict/__init__.pyi,sha256=kAHhYr7VXGKpfdJDeJXF2rcx2wLR-l2w6IfmSIf4GME,5192 +multidict/__pycache__/__init__.cpython-36.pyc,, +multidict/__pycache__/_abc.cpython-36.pyc,, +multidict/__pycache__/_compat.cpython-36.pyc,, +multidict/__pycache__/_multidict_base.cpython-36.pyc,, +multidict/__pycache__/_multidict_py.cpython-36.pyc,, +multidict/_abc.py,sha256=_aLgYPF_fzxjLDbJLYhkps_I2SpfuW4mzSngmFqcotM,1028 +multidict/_compat.py,sha256=MiMrhp9IYSGRmzYvehQlFHwZgFTCnMoPnM7eEteUFO8,212 +multidict/_istr.c,sha256=YXwlwqq8tk4Jpu2NpImjVCYzZKKrbH5aWEj9k4O1wW4,6775 +multidict/_istr.cpython-36m-x86_64-linux-gnu.so,sha256=2Mc5kzQwJXDfHEdHRJEZQKvFtaa1yWa5KnpYMFKG4JQ,30563 +multidict/_multidict.c,sha256=eNDiu3PfVIAQ7C7BO8j_bhgDdtAhrcx-rkVPbyAQOuY,465551 +multidict/_multidict.cpython-36m-x86_64-linux-gnu.so,sha256=ZS1HtEfrL6fvNoEYGNiDUINFZwapGtWyHnTzI6vPeq0,665715 +multidict/_multidict.pyx,sha256=fHkKYZHNqCwKWnzQJE7BrrC_wJKHMsNpCIp0ffohv9w,10302 +multidict/_multidict_base.py,sha256=L1u51Y0IS12sPqab_f2a_SjMFBYAvu8hclavUBrVLPk,3608 +multidict/_multidict_iter.c,sha256=OEFN_e0qJaOc_fmWF5_fTfFPeGzzsQoiWhV7aJ9WJHg,9765 +multidict/_multidict_iter.h,sha256=iIIZc_bFNg0xJCMh062oZ_vLlSJswcYhqk_2cUi2f78,335 +multidict/_multidict_iter.pxd,sha256=nOm3ikD7RWNdlopZBNAMdl4KNI8a9fFa2HlATSrSq0A,265 +multidict/_multidict_py.py,sha256=A0plbnlSM1dEjS2yq1s_Hr1kFU0IS9VGrZa6X0IoJxE,14061 +multidict/_multidict_views.c,sha256=GdkV8RjgjRfe2bEVDHDOyyJACT-kF_9Y6zxusC7E9Gg,19176 +multidict/_multidict_views.h,sha256=Y8thnzr3T82IQYbypI0gWBV4QzO52C3TgOZGHrWdRMc,335 +multidict/_multidict_views.pxd,sha256=wHHA5i1x6hh_S5N2SOkH7A1qTJxtU4NCyPmWiUgOonw,264 +multidict/_pair_list.c,sha256=_r_vdFZKBpQcdvMWWvpOEHHtj0CkiagnO-ASaRfB1wI,29253 +multidict/_pair_list.h,sha256=_oBuEFQttuhuE48v5SZ9Z7WLqSZMfA3lp1SZTS3F8OY,1526 +multidict/_pair_list.pxd,sha256=MwO5rmxyxCJqPQrtYZFEpuviiHEnHHLnI9jO8OEZjQc,1761 +multidict/py.typed,sha256=e9bmbH3UFxsabQrnNFPG9qxIXztwbcM6IKDYnvZwprY,15 diff --git a/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/WHEEL b/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/WHEEL new file mode 100644 index 0000000..07c36aa --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.32.3) +Root-Is-Purelib: false +Tag: cp36-cp36m-manylinux1_x86_64 + diff --git a/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/top_level.txt b/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/top_level.txt new file mode 100644 index 0000000..afcecdf --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict-4.5.2.dist-info/top_level.txt @@ -0,0 +1 @@ +multidict diff --git a/venv/lib/python3.6/site-packages/multidict/__init__.py b/venv/lib/python3.6/site-packages/multidict/__init__.py new file mode 100644 index 0000000..b8ede43 --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/__init__.py @@ -0,0 +1,33 @@ +"""Multidict implementation. + +HTTP Headers and URL query string require specific data structure: +multidict. It behaves mostly like a dict but it can have +several values for the same key. +""" + +from ._compat import USE_CYTHON_EXTENSIONS + + +__all__ = ('MultiMapping', 'MutableMultiMapping', + 'MultiDictProxy', 'CIMultiDictProxy', + 'MultiDict', 'CIMultiDict', 'upstr', 'istr') + +__version__ = '4.5.2' + + +from ._abc import MultiMapping, MutableMultiMapping + +try: + if not USE_CYTHON_EXTENSIONS: + raise ImportError + from ._multidict import (MultiDictProxy, + CIMultiDictProxy, + MultiDict, + CIMultiDict, + upstr, istr) +except ImportError: # pragma: no cover + from ._multidict_py import (MultiDictProxy, + CIMultiDictProxy, + MultiDict, + CIMultiDict, + upstr, istr) diff --git a/venv/lib/python3.6/site-packages/multidict/__init__.pyi b/venv/lib/python3.6/site-packages/multidict/__init__.pyi new file mode 100644 index 0000000..9369d96 --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/__init__.pyi @@ -0,0 +1,202 @@ +import abc +from typing import (Mapping, MutableMapping, List, Union, Iterable, + Iterator, TypeVar, Generic, Tuple, Dict, Optional, + overload) + + +class istr(str): + pass + + +upstr = istr + +_S = Union[str, istr] + +_T = TypeVar('_T') + +_T_co = TypeVar('_T_co', covariant=True) + +_D = TypeVar('_D') + + +class MultiMapping(Mapping[_S, _T_co]): + @overload + @abc.abstractmethod + def getall(self, key: _S) -> List[_T_co]: ... + + @overload + @abc.abstractmethod + def getall(self, key: _S, default: _D) -> Union[List[_T_co], _D]: ... + + @overload + @abc.abstractmethod + def getone(self, key: _S) -> _T_co: ... + + @overload + @abc.abstractmethod + def getone(self, key: _S, default: _D) -> Union[_T_co, _D]: ... + + +_Arg = Union[Mapping[_S, _T], + Dict[_S, _T], + MultiMapping[_T], + Iterable[Tuple[_S, _T]]] + + +class MutableMultiMapping(MultiMapping[_T], + MutableMapping[_S, _T], + Generic[_T]): + + @abc.abstractmethod + def add(self, key: _S, value: _T) -> None: ... + + @abc.abstractmethod + def extend(self, arg: _Arg[_T] = ..., **kwargs: _T) -> None: ... + + @overload + @abc.abstractmethod + def popone(self, key: _S) -> _T: ... + + @overload + @abc.abstractmethod + def popone(self, key: _S, default: _D) -> Union[_T, _D]: ... + + @overload + @abc.abstractmethod + def popall(self, key: _S) -> List[_T]: ... + + @overload + @abc.abstractmethod + def popall(self, key: _S, default: _D) -> Union[List[_T], _D]: ... + + +class MultiDict(MutableMultiMapping[_T], Generic[_T]): + def __init__(self, arg: _Arg[_T] = ..., **kwargs: _T) -> None: ... + + def copy(self) -> MultiDict[_T]: ... + + def __getitem__(self, k: _S) -> _T: ... + + def __setitem__(self, k: _S, v: _T) -> None: ... + + def __delitem__(self, v: _S) -> None: ... + + def __iter__(self) -> Iterator[_S]: ... + + def __len__(self) -> int: ... + + @overload + def getall(self, key: _S) -> List[_T]: ... + @overload + def getall(self, key: _S, default: _D) -> Union[List[_T], _D]: ... + + @overload + def getone(self, key: _S) -> _T: ... + @overload + def getone(self, key: _S, default: _D) -> Union[_T, _D]: ... + + def add(self, key: _S, value: _T) -> None: ... + + def extend(self, arg: _Arg[_T] = ..., **kwargs: _T) -> None: ... + + @overload + def popone(self, key: _S) -> _T: ... + @overload + def popone(self, key: _S, default: _D) -> Union[_T, _D]: ... + + @overload + def popall(self, key: _S) -> List[_T]: ... + @overload + def popall(self, key: _S, default: _D) -> Union[List[_T], _D]: ... + + +class CIMultiDict(MutableMultiMapping[_T], Generic[_T]): + def __init__(self, arg: _Arg[_T] = ..., **kwargs: _T) -> None: ... + + def copy(self) -> MultiDict[_T]: ... + + def __getitem__(self, k: _S) -> _T: ... + + def __setitem__(self, k: _S, v: _T) -> None: ... + + def __delitem__(self, v: _S) -> None: ... + + def __iter__(self) -> Iterator[_S]: ... + + def __len__(self) -> int: ... + + @overload + def getall(self, key: _S) -> List[_T]: ... + @overload + def getall(self, key: _S, default: _D) -> Union[List[_T], _D]: ... + + @overload + def getone(self, key: _S) -> _T: ... + @overload + def getone(self, key: _S, default: _D) -> Union[_T, _D]: ... + + def add(self, key: _S, value: _T) -> None: ... + + def extend(self, arg: _Arg[_T] = ..., **kwargs: _T) -> None: ... + + @overload + def popone(self, key: _S) -> _T: ... + @overload + def popone(self, key: _S, default: _D) -> Union[_T, _D]: ... + + @overload + def popall(self, key: _S) -> List[_T]: ... + @overload + def popall(self, key: _S, default: _D) -> Union[List[_T], _D]: ... + + +class MultiDictProxy(MultiMapping[_T], Generic[_T]): + def __init__(self, arg: Union[MultiMapping[_T], + MutableMultiMapping[_T]]) -> None: ... + + def copy(self) -> MultiDict[_T]: ... + + def __getitem__(self, k: _S) -> _T: ... + + def __iter__(self) -> Iterator[_S]: ... + + def __len__(self) -> int: ... + + @overload + def getall(self, key: _S) -> List[_T]: ... + @overload + def getall(self, key: _S, default: _D) -> Union[List[_T], _D]: ... + + @overload + def getone(self, key: _S) -> _T: ... + @overload + def getone(self, key: _S, default: _D) -> Union[_T, _D]: ... + + +class CIMultiDictProxy(MultiMapping[_T], Generic[_T]): + def __init__(self, arg: Union[MultiMapping[_T], + MutableMultiMapping[_T]]) -> None: ... + + def __getitem__(self, k: _S) -> _T: ... + + def __iter__(self) -> Iterator[_S]: ... + + def __len__(self) -> int: ... + + @overload + def getall(self, key: _S) -> List[_T]: ... + @overload + def getall(self, key: _S, default: _D) -> Union[List[_T], _D]: ... + + @overload + def getone(self, key: _S) -> _T: ... + @overload + def getone(self, key: _S, default: _D) -> Union[_T, _D]: ... + + def copy(self) -> CIMultiDict[_T]: ... + + +def getversion(md: Union[MultiDict[_T], + CIMultiDict[_T], + MultiDictProxy[_T], + CIMultiDictProxy[_T]]) -> int: ... diff --git a/venv/lib/python3.6/site-packages/multidict/_abc.py b/venv/lib/python3.6/site-packages/multidict/_abc.py new file mode 100644 index 0000000..9df2dc9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_abc.py @@ -0,0 +1,42 @@ +import abc + +from collections.abc import Mapping, MutableMapping + + +class _TypingMeta(abc.ABCMeta): + # A fake metaclass to satisfy typing deps in runtime + # basically MultiMapping[str] and other generic-like type instantiations + # are emulated. + # Note: real type hints are provided by __init__.pyi stub file + def __getitem__(self, key): + return self + + +class MultiMapping(Mapping, metaclass=_TypingMeta): + + @abc.abstractmethod + def getall(self, key, default=None): + raise KeyError + + @abc.abstractmethod + def getone(self, key, default=None): + raise KeyError + + +class MutableMultiMapping(MultiMapping, MutableMapping): + + @abc.abstractmethod + def add(self, key, value): + raise NotImplementedError + + @abc.abstractmethod + def extend(self, *args, **kwargs): + raise NotImplementedError + + @abc.abstractmethod + def popone(self, key, default=None): + raise KeyError + + @abc.abstractmethod + def popall(self, key, default=None): + raise KeyError diff --git a/venv/lib/python3.6/site-packages/multidict/_compat.py b/venv/lib/python3.6/site-packages/multidict/_compat.py new file mode 100644 index 0000000..137a0b9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_compat.py @@ -0,0 +1,9 @@ +import os +import platform + + +NO_EXTENSIONS = bool(os.environ.get('MULTIDICT_NO_EXTENSIONS')) + +PYPY = platform.python_implementation() == 'PyPy' + +USE_CYTHON_EXTENSIONS = USE_CYTHON = not NO_EXTENSIONS and not PYPY diff --git a/venv/lib/python3.6/site-packages/multidict/_istr.c b/venv/lib/python3.6/site-packages/multidict/_istr.c new file mode 100644 index 0000000..083cba3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_istr.c @@ -0,0 +1,238 @@ +#include "Python.h" +#include "structmember.h" + +PyDoc_STRVAR(istr__doc__, "istr class implementation"); + +/* We link this module statically for convenience. If compiled as a shared + library instead, some compilers don't allow addresses of Python objects + defined in other libraries to be used in static initializers here. The + DEFERRED_ADDRESS macro is used to tag the slots where such addresses + appear; the module init function must fill in the tagged slots at runtime. + The argument is for documentation -- the macro ignores it. +*/ +#define DEFERRED_ADDRESS(ADDR) 0 + + +typedef struct { + PyUnicodeObject str; + PyObject * canonical; +} istrobject; + +typedef struct { + PyObject *title; + PyObject *emptystr; + PyObject *emptydict; +} ModData; + +static struct PyModuleDef _istrmodule; +static PyTypeObject istr_type; + +static ModData * +modstate(PyObject *mod) +{ + return (ModData*)PyModule_GetState(mod); +} + +static ModData * +global_state(void) +{ + return modstate(PyState_FindModule(&_istrmodule)); +} + + + +static PyObject * +istr_title(istrobject *self, PyObject *args) +{ + if (!PyArg_ParseTuple(args, ":title")) + return NULL; + Py_INCREF(self); + return (PyObject*)self; +} + +static PyObject * +istr_str(istrobject *self) +{ + Py_INCREF(self->canonical); + return self->canonical; +} + +static PyMethodDef istr_methods[] = { + {"title", (PyCFunction)istr_title, METH_VARARGS, + PyDoc_STR("title()")}, + {NULL, NULL}, +}; + + +void istr_dealloc(istrobject *self) +{ + Py_XDECREF(self->canonical); + PyUnicode_Type.tp_dealloc((PyObject*)self); +} + +static PyObject * +istr_new(PyTypeObject *type, PyObject *args, PyObject *kwds) +{ + PyObject *x = NULL; + static char *kwlist[] = {"object", "encoding", "errors", 0}; + char *encoding = NULL; + char *errors = NULL; + PyObject *s = NULL; + PyObject *tmp = NULL; + PyObject * new_args = NULL; + PyObject * ret = NULL; + + ModData * state = global_state(); + + if (!PyArg_ParseTupleAndKeywords(args, kwds, "|Oss:str", + kwlist, &x, &encoding, &errors)) + return NULL; + if (x == NULL) { + s = state->emptystr; + Py_INCREF(s); + } + else if (PyObject_IsInstance(x, (PyObject*)&istr_type)) { + Py_INCREF(x); + return x; + } + else { + if (encoding == NULL && errors == NULL) { + tmp = PyObject_Str(x); + } else { + tmp = PyUnicode_FromEncodedObject(x, encoding, errors); + } + if (!tmp) { + goto finish; + } + s = PyObject_CallMethodObjArgs(tmp, state->title, NULL); + } + if (!s) + goto finish; + + new_args = PyTuple_Pack(1, s); + if (!new_args) { + goto finish; + } + ret = PyUnicode_Type.tp_new(type, new_args, state->emptydict); + if (!ret) { + goto finish; + } + ((istrobject*)ret)->canonical = s; + s = NULL; /* the reference is stollen by .canonical */ +finish: + Py_XDECREF(tmp); + Py_XDECREF(s); + Py_XDECREF(new_args); + return ret; +} + +static PyTypeObject istr_type = { + PyVarObject_HEAD_INIT(DEFERRED_ADDRESS(&PyType_Type), 0) + "multidict._istr.istr", + sizeof(istrobject), + 0, + (destructor)istr_dealloc, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + (reprfunc)istr_str, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_UNICODE_SUBCLASS, + /* tp_flags */ + 0, /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + istr_methods, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + DEFERRED_ADDRESS(&PyUnicode_Type), /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + 0, /* tp_init */ + 0, /* tp_alloc */ + (newfunc)istr_new, /* tp_new */ +}; + + +static int mod_clear(PyObject *m) +{ + Py_CLEAR(modstate(m)->title); + Py_CLEAR(modstate(m)->emptystr); + Py_CLEAR(modstate(m)->emptydict); + return 0; +} + + +static struct PyModuleDef _istrmodule = { + PyModuleDef_HEAD_INIT, + "multidict._istr", + istr__doc__, + sizeof(ModData), + NULL, /* m_methods */ + NULL, /* m_reload */ + NULL, /* m_traverse */ + mod_clear, /* m_clear */ + NULL /* m_free */ +}; + + +PyObject* PyInit__istr(void) +{ + PyObject * tmp; + PyObject *mod; + + mod = PyState_FindModule(&_istrmodule); + if (mod) { + Py_INCREF(mod); + return mod; + } + + istr_type.tp_base = &PyUnicode_Type; + if (PyType_Ready(&istr_type) < 0) { + return NULL; + } + + mod = PyModule_Create(&_istrmodule); + if (!mod) { + return NULL; + } + tmp = PyUnicode_FromString("title"); + if (!tmp) { + goto err; + } + modstate(mod)->title = tmp; + tmp = PyUnicode_New(0, 0); + if (!tmp) { + goto err; + } + modstate(mod)->emptystr = tmp; + tmp = PyUnicode_FromString("title"); + if(!tmp) { + goto err; + } + modstate(mod)->title = tmp; + + Py_INCREF(&istr_type); + if (PyModule_AddObject(mod, "istr", (PyObject *)&istr_type) < 0) + goto err; + + return mod; +err: + Py_DECREF(mod); + return NULL; +} diff --git a/venv/lib/python3.6/site-packages/multidict/_istr.cpython-36m-x86_64-linux-gnu.so b/venv/lib/python3.6/site-packages/multidict/_istr.cpython-36m-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..54e1039c805715c0da937d99736604988c39bbf7 GIT binary patch literal 30563 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 AnE(I) literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/multidict/_multidict.c b/venv/lib/python3.6/site-packages/multidict/_multidict.c new file mode 100644 index 0000000..2939856 --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_multidict.c @@ -0,0 +1,11710 @@ +/* Generated by Cython 0.29.1 */ + +/* BEGIN: Cython Metadata +{ + "distutils": { + "depends": [ + "multidict/_multidict_iter.h", + "multidict/_multidict_views.h", + "multidict/_pair_list.h" + ], + "extra_compile_args": [ + "-O2", + "-std=c99", + "-Wall", + "-Wsign-compare", + "-Wconversion", + "-fno-strict-aliasing" + ], + "include_dirs": [ + "./multidict" + ], + "name": "multidict._multidict", + "sources": [ + "multidict/_multidict.pyx", + "multidict/_pair_list.c", + "multidict/_multidict_iter.c", + "multidict/_multidict_views.c" + ] + }, + "module_name": "multidict._multidict" +} +END: Cython Metadata */ + +#define PY_SSIZE_T_CLEAN +#include "Python.h" +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) + #error Cython requires Python 2.6+ or Python 3.3+. +#else +#define CYTHON_ABI "0_29_1" +#define CYTHON_HEX_VERSION 0x001D01F0 +#define CYTHON_FUTURE_DIVISION 0 +#include <stddef.h> +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x02070000 + #define HAVE_LONG_LONG + #endif +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #ifndef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 1 + #endif + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #ifndef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #endif +#endif +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #include "longintrepr.h" + #undef SHIFT + #undef BASE + #undef MASK + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1/(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include <stdint.h> +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#ifndef CYTHON_INLINE + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #elif defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_INLINE inline + #else + #define CYTHON_INLINE + #endif +#endif + +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#ifndef METH_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif +#if CYTHON_USE_DICT_VERSIONS +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ + } +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(p) +#endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; // PyThread_create_key reports success always +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif // TSS (Thread Specific Storage) API +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) +#else + #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) + #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact + #define PyObject_Unicode PyObject_Str +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t PyInt_AsLong +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : (Py_INCREF(func), func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(WIN32) || defined(MS_WINDOWS) + #define _USE_MATH_DEFINES +#endif +#include <math.h> +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif +#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) +#define __Pyx_truncl trunc +#else +#define __Pyx_truncl truncl +#endif + + +#define __PYX_ERR(f_index, lineno, Ln_error) \ +{ \ + __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \ +} + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__multidict___multidict +#define __PYX_HAVE_API__multidict___multidict +/* Early includes */ +#include <string.h> +#include <stdio.h> +#include "_multidict_iter.h" +#include "_multidict_views.h" +#include <stdint.h> +#include "_pair_list.h" +#ifdef _OPENMP +#include <omp.h> +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0 +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include <cstdlib> + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +#if CYTHON_ASSUME_SAFE_MACROS +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ +static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + + +static const char *__pyx_f[] = { + "multidict/_multidict.pyx", + "stringsource", + "type.pxd", +}; + +/*--- Type declarations ---*/ +struct __pyx_obj_9multidict_10_multidict__Base; +struct __pyx_obj_9multidict_10_multidict_MultiDictProxy; +struct __pyx_obj_9multidict_10_multidict_CIMultiDictProxy; +struct __pyx_obj_9multidict_10_multidict_MultiDict; +struct __pyx_obj_9multidict_10_multidict_CIMultiDict; + +/* "multidict/_multidict.pyx":29 + * + * + * cdef class _Base: # <<<<<<<<<<<<<< + * + * cdef object _impl + */ +struct __pyx_obj_9multidict_10_multidict__Base { + PyObject_HEAD + struct __pyx_vtabstruct_9multidict_10_multidict__Base *__pyx_vtab; + PyObject *_impl; +}; + + +/* "multidict/_multidict.pyx":137 + * + * + * cdef class MultiDictProxy(_Base): # <<<<<<<<<<<<<< + * _proxy_classes = (MultiDict, MultiDictProxy) + * _base_class = MultiDict + */ +struct __pyx_obj_9multidict_10_multidict_MultiDictProxy { + struct __pyx_obj_9multidict_10_multidict__Base __pyx_base; +}; + + +/* "multidict/_multidict.pyx":164 + * + * + * cdef class CIMultiDictProxy(MultiDictProxy): # <<<<<<<<<<<<<< + * _proxy_classes = (CIMultiDict, CIMultiDictProxy) + * _base_class = CIMultiDict + */ +struct __pyx_obj_9multidict_10_multidict_CIMultiDictProxy { + struct __pyx_obj_9multidict_10_multidict_MultiDictProxy __pyx_base; +}; + + +/* "multidict/_multidict.pyx":185 + * + * + * cdef class MultiDict(_Base): # <<<<<<<<<<<<<< + * """An ordered dictionary that can have multiple values for each key.""" + * + */ +struct __pyx_obj_9multidict_10_multidict_MultiDict { + struct __pyx_obj_9multidict_10_multidict__Base __pyx_base; +}; + + +/* "multidict/_multidict.pyx":341 + * + * + * cdef class CIMultiDict(MultiDict): # <<<<<<<<<<<<<< + * """An ordered dictionary that can have multiple values for each key.""" + * + */ +struct __pyx_obj_9multidict_10_multidict_CIMultiDict { + struct __pyx_obj_9multidict_10_multidict_MultiDict __pyx_base; +}; + + + +/* "multidict/_multidict.pyx":29 + * + * + * cdef class _Base: # <<<<<<<<<<<<<< + * + * cdef object _impl + */ + +struct __pyx_vtabstruct_9multidict_10_multidict__Base { + PyObject *(*_getone)(struct __pyx_obj_9multidict_10_multidict__Base *, PyObject *, PyObject *); + PyObject *(*_contains)(struct __pyx_obj_9multidict_10_multidict__Base *, PyObject *); + PyObject *(*keys)(struct __pyx_obj_9multidict_10_multidict__Base *, int __pyx_skip_dispatch); +}; +static struct __pyx_vtabstruct_9multidict_10_multidict__Base *__pyx_vtabptr_9multidict_10_multidict__Base; + + +/* "multidict/_multidict.pyx":137 + * + * + * cdef class MultiDictProxy(_Base): # <<<<<<<<<<<<<< + * _proxy_classes = (MultiDict, MultiDictProxy) + * _base_class = MultiDict + */ + +struct __pyx_vtabstruct_9multidict_10_multidict_MultiDictProxy { + struct __pyx_vtabstruct_9multidict_10_multidict__Base __pyx_base; +}; +static struct __pyx_vtabstruct_9multidict_10_multidict_MultiDictProxy *__pyx_vtabptr_9multidict_10_multidict_MultiDictProxy; + + +/* "multidict/_multidict.pyx":164 + * + * + * cdef class CIMultiDictProxy(MultiDictProxy): # <<<<<<<<<<<<<< + * _proxy_classes = (CIMultiDict, CIMultiDictProxy) + * _base_class = CIMultiDict + */ + +struct __pyx_vtabstruct_9multidict_10_multidict_CIMultiDictProxy { + struct __pyx_vtabstruct_9multidict_10_multidict_MultiDictProxy __pyx_base; +}; +static struct __pyx_vtabstruct_9multidict_10_multidict_CIMultiDictProxy *__pyx_vtabptr_9multidict_10_multidict_CIMultiDictProxy; + + +/* "multidict/_multidict.pyx":185 + * + * + * cdef class MultiDict(_Base): # <<<<<<<<<<<<<< + * """An ordered dictionary that can have multiple values for each key.""" + * + */ + +struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict { + struct __pyx_vtabstruct_9multidict_10_multidict__Base __pyx_base; + PyObject *(*_extend)(struct __pyx_obj_9multidict_10_multidict_MultiDict *, PyObject *, PyObject *, PyObject *, int); + PyObject *(*_update_items)(struct __pyx_obj_9multidict_10_multidict_MultiDict *, PyObject *); + PyObject *(*_append_items)(struct __pyx_obj_9multidict_10_multidict_MultiDict *, PyObject *); + PyObject *(*_append_items_seq)(struct __pyx_obj_9multidict_10_multidict_MultiDict *, PyObject *, PyObject *); + PyObject *(*_add)(struct __pyx_obj_9multidict_10_multidict_MultiDict *, PyObject *, PyObject *); + PyObject *(*_replace)(struct __pyx_obj_9multidict_10_multidict_MultiDict *, PyObject *, PyObject *); +}; +static struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict *__pyx_vtabptr_9multidict_10_multidict_MultiDict; + + +/* "multidict/_multidict.pyx":341 + * + * + * cdef class CIMultiDict(MultiDict): # <<<<<<<<<<<<<< + * """An ordered dictionary that can have multiple values for each key.""" + * + */ + +struct __pyx_vtabstruct_9multidict_10_multidict_CIMultiDict { + struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict __pyx_base; +}; +static struct __pyx_vtabstruct_9multidict_10_multidict_CIMultiDict *__pyx_vtabptr_9multidict_10_multidict_CIMultiDict; + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* ArgTypeTest.proto */ +#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ + ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\ + __Pyx__ArgTypeTest(obj, type, name, exact)) +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* GetTopmostException.proto */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); +#endif + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* SaveResetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +#else +#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) +#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) +#endif + +/* PyErrExceptionMatches.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); +#else +#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) +#endif + +/* GetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallNoArg.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); +#else +#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) +#endif + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* RaiseTooManyValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); + +/* RaiseNeedMoreValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); + +/* IterFinish.proto */ +static CYTHON_INLINE int __Pyx_IterFinish(void); + +/* UnpackItemEndCheck.proto */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); + +/* ListAppend.proto */ +#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS +static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) { + PyListObject* L = (PyListObject*) list; + Py_ssize_t len = Py_SIZE(list); + if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) { + Py_INCREF(x); + PyList_SET_ITEM(list, len, x); + Py_SIZE(list) = len+1; + return 0; + } + return PyList_Append(list, x); +} +#else +#define __Pyx_PyList_Append(L,x) PyList_Append(L,x) +#endif + +/* StringJoin.proto */ +#if PY_MAJOR_VERSION < 3 +#define __Pyx_PyString_Join __Pyx_PyBytes_Join +#define __Pyx_PyBaseString_Join(s, v) (PyUnicode_CheckExact(s) ? PyUnicode_Join(s, v) : __Pyx_PyBytes_Join(s, v)) +#else +#define __Pyx_PyString_Join PyUnicode_Join +#define __Pyx_PyBaseString_Join PyUnicode_Join +#endif +#if CYTHON_COMPILING_IN_CPYTHON + #if PY_MAJOR_VERSION < 3 + #define __Pyx_PyBytes_Join _PyString_Join + #else + #define __Pyx_PyBytes_Join _PyBytes_Join + #endif +#else +static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values); +#endif + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +#define __Pyx_GetModuleGlobalNameUncached(var, name) {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* GetAttr.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *); + +/* GetAttr3.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *); + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* ExtTypeTest.proto */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); + +/* PyObjectCall2Args.proto */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); + +/* KeywordStringCheck.proto */ +static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); + +/* GetItemInt.proto */ +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); + +/* HasAttr.proto */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *); + +/* py_dict_items.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d); + +/* UnpackUnboundCMethod.proto */ +typedef struct { + PyObject *type; + PyObject **method_name; + PyCFunction func; + PyObject *method; + int flag; +} __Pyx_CachedCFunction; + +/* CallUnboundCMethod0.proto */ +static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_CallUnboundCMethod0(cfunc, self)\ + (likely((cfunc)->func) ?\ + (likely((cfunc)->flag == METH_NOARGS) ? (*((cfunc)->func))(self, NULL) :\ + (PY_VERSION_HEX >= 0x030600B1 && likely((cfunc)->flag == METH_FASTCALL) ?\ + (PY_VERSION_HEX >= 0x030700A0 ?\ + (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0) :\ + (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL)) :\ + (PY_VERSION_HEX >= 0x030700A0 && (cfunc)->flag == (METH_FASTCALL | METH_KEYWORDS) ?\ + (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL) :\ + (likely((cfunc)->flag == (METH_VARARGS | METH_KEYWORDS)) ? ((*(PyCFunctionWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, __pyx_empty_tuple, NULL)) :\ + ((cfunc)->flag == METH_VARARGS ? (*((cfunc)->func))(self, __pyx_empty_tuple) :\ + __Pyx__CallUnboundCMethod0(cfunc, self)))))) :\ + __Pyx__CallUnboundCMethod0(cfunc, self)) +#else +#define __Pyx_CallUnboundCMethod0(cfunc, self) __Pyx__CallUnboundCMethod0(cfunc, self) +#endif + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* ImportFrom.proto */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); + +/* PyObject_GenericGetAttrNoDict.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr +#endif + +/* PyObject_GenericGetAttr.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr +#endif + +/* SetVTable.proto */ +static int __Pyx_SetVtable(PyObject *dict, void *vtable); + +/* SetupReduce.proto */ +static int __Pyx_setup_reduce(PyObject* type_obj); + +/* TypeImport.proto */ +#ifndef __PYX_HAVE_RT_ImportType_proto +#define __PYX_HAVE_RT_ImportType_proto +enum __Pyx_ImportType_CheckSize { + __Pyx_ImportType_CheckSize_Error = 0, + __Pyx_ImportType_CheckSize_Warn = 1, + __Pyx_ImportType_CheckSize_Ignore = 2 +}; +static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); +#endif + +/* GetNameInClass.proto */ +#define __Pyx_GetNameInClass(var, nmspace, name) (var) = __Pyx__GetNameInClass(nmspace, name) +static PyObject *__Pyx__GetNameInClass(PyObject *nmspace, PyObject *name); + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + +static PyObject *__pyx_f_9multidict_10_multidict_5_Base__getone(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default); /* proto*/ +static PyObject *__pyx_f_9multidict_10_multidict_5_Base__contains(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_key); /* proto*/ +static PyObject *__pyx_f_9multidict_10_multidict_5_Base_keys(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/ +static PyObject *__pyx_f_9multidict_10_multidict_9MultiDict__extend(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs, PyObject *__pyx_v_name, int __pyx_v_do_add); /* proto*/ +static PyObject *__pyx_f_9multidict_10_multidict_9MultiDict__update_items(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_impl); /* proto*/ +static PyObject *__pyx_f_9multidict_10_multidict_9MultiDict__append_items(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_impl); /* proto*/ +static PyObject *__pyx_f_9multidict_10_multidict_9MultiDict__append_items_seq(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_arg, PyObject *__pyx_v_name); /* proto*/ +static PyObject *__pyx_f_9multidict_10_multidict_9MultiDict__add(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto*/ +static PyObject *__pyx_f_9multidict_10_multidict_9MultiDict__replace(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto*/ + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'libc.stdio' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.type' */ +static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; + +/* Module declarations from 'cpython' */ + +/* Module declarations from 'cpython.object' */ + +/* Module declarations from 'multidict._multidict_iter' */ + +/* Module declarations from 'multidict._multidict_views' */ + +/* Module declarations from 'libc.stdint' */ + +/* Module declarations from 'multidict._pair_list' */ + +/* Module declarations from 'multidict._multidict' */ +static PyTypeObject *__pyx_ptype_9multidict_10_multidict__Base = 0; +static PyTypeObject *__pyx_ptype_9multidict_10_multidict_MultiDictProxy = 0; +static PyTypeObject *__pyx_ptype_9multidict_10_multidict_CIMultiDictProxy = 0; +static PyTypeObject *__pyx_ptype_9multidict_10_multidict_MultiDict = 0; +static PyTypeObject *__pyx_ptype_9multidict_10_multidict_CIMultiDict = 0; +static PyObject *__pyx_v_9multidict_10_multidict__marker = 0; +static PyObject *__pyx_v_9multidict_10_multidict__istr = 0; +static PyObject *__pyx_f_9multidict_10_multidict___pyx_unpickle__Base__set_state(struct __pyx_obj_9multidict_10_multidict__Base *, PyObject *); /*proto*/ +#define __Pyx_MODULE_NAME "multidict._multidict" +extern int __pyx_module_is_main_multidict___multidict; +int __pyx_module_is_main_multidict___multidict = 0; + +/* Implementation of 'multidict._multidict' */ +static PyObject *__pyx_builtin_object; +static PyObject *__pyx_builtin_KeyError; +static PyObject *__pyx_builtin_NotImplemented; +static PyObject *__pyx_builtin_TypeError; +static const char __pyx_k_r[] = "'{}': {!r}"; +static const char __pyx_k__3[] = ", "; +static const char __pyx_k__4[] = "<{}({})>"; +static const char __pyx_k_md[] = "md"; +static const char __pyx_k_or[] = " or "; +static const char __pyx_k_Set[] = "Set"; +static const char __pyx_k_abc[] = "abc"; +static const char __pyx_k_arg[] = "arg"; +static const char __pyx_k_key[] = "key"; +static const char __pyx_k_new[] = "__new__"; +static const char __pyx_k_pop[] = "pop"; +static const char __pyx_k_sys[] = "sys"; +static const char __pyx_k_Base[] = "_Base"; +static const char __pyx_k_copy[] = "copy"; +static const char __pyx_k_dict[] = "__dict__"; +static const char __pyx_k_istr[] = "_istr"; +static const char __pyx_k_join[] = "join"; +static const char __pyx_k_keys[] = "keys"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_abc_2[] = "_abc"; +static const char __pyx_k_class[] = "__class__"; +static const char __pyx_k_items[] = "items"; +static const char __pyx_k_upstr[] = "upstr"; +static const char __pyx_k_value[] = "value"; +static const char __pyx_k_extend[] = "extend"; +static const char __pyx_k_format[] = "format"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_istr_2[] = "istr"; +static const char __pyx_k_object[] = "object"; +static const char __pyx_k_pickle[] = "pickle"; +static const char __pyx_k_popone[] = "popone"; +static const char __pyx_k_reduce[] = "__reduce__"; +static const char __pyx_k_update[] = "update"; +static const char __pyx_k_Mapping[] = "Mapping"; +static const char __pyx_k_default[] = "default"; +static const char __pyx_k_Iterable[] = "Iterable"; +static const char __pyx_k_KeyError[] = "KeyError"; +static const char __pyx_k_getstate[] = "__getstate__"; +static const char __pyx_k_pyx_type[] = "__pyx_type"; +static const char __pyx_k_register[] = "register"; +static const char __pyx_k_setstate[] = "__setstate__"; +static const char __pyx_k_MultiDict[] = "MultiDict"; +static const char __pyx_k_TypeError[] = "TypeError"; +static const char __pyx_k_pyx_state[] = "__pyx_state"; +static const char __pyx_k_reduce_ex[] = "__reduce_ex__"; +static const char __pyx_k_base_class[] = "_base_class"; +static const char __pyx_k_getversion[] = "getversion"; +static const char __pyx_k_pyx_result[] = "__pyx_result"; +static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__"; +static const char __pyx_k_CIMultiDict[] = "CIMultiDict"; +static const char __pyx_k_PickleError[] = "PickleError"; +static const char __pyx_k_collections[] = "collections"; +static const char __pyx_k_MultiMapping[] = "MultiMapping"; +static const char __pyx_k_pyx_checksum[] = "__pyx_checksum"; +static const char __pyx_k_stringsource[] = "stringsource"; +static const char __pyx_k_proxy_classes[] = "_proxy_classes"; +static const char __pyx_k_reduce_cython[] = "__reduce_cython__"; +static const char __pyx_k_MultiDictProxy[] = "MultiDictProxy"; +static const char __pyx_k_NotImplemented[] = "NotImplemented"; +static const char __pyx_k_collections_abc[] = "collections.abc"; +static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError"; +static const char __pyx_k_setstate_cython[] = "__setstate_cython__"; +static const char __pyx_k_CIMultiDictProxy[] = "CIMultiDictProxy"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_pyx_unpickle__Base[] = "__pyx_unpickle__Base"; +static const char __pyx_k_MutableMultiMapping[] = "MutableMultiMapping"; +static const char __pyx_k_can_t_pickle_objects[] = "can't pickle {} objects"; +static const char __pyx_k_multidict__multidict[] = "multidict._multidict"; +static const char __pyx_k_multidict__multidict_pyx[] = "multidict/_multidict.pyx"; +static const char __pyx_k_ctor_requires_instance_not[] = "ctor requires {} instance, not {}"; +static const char __pyx_k_MultiDict_keys_should_be_either[] = "MultiDict keys should be either str or subclasses of str"; +static const char __pyx_k_takes_at_most_1_positional_argu[] = "{} takes at most 1 positional argument ({} given)"; +static const char __pyx_k_takes_either_dict_or_list_of_ke[] = "{} takes either dict or list of (key, value) tuples"; +static const char __pyx_k_Incompatible_checksums_s_vs_0x4d[] = "Incompatible checksums (%s vs 0x4d872fe = (_impl))"; +static PyObject *__pyx_n_s_Base; +static PyObject *__pyx_n_s_CIMultiDict; +static PyObject *__pyx_n_s_CIMultiDictProxy; +static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x4d; +static PyObject *__pyx_n_s_Iterable; +static PyObject *__pyx_n_s_KeyError; +static PyObject *__pyx_n_s_Mapping; +static PyObject *__pyx_n_s_MultiDict; +static PyObject *__pyx_n_s_MultiDictProxy; +static PyObject *__pyx_kp_s_MultiDict_keys_should_be_either; +static PyObject *__pyx_n_s_MultiMapping; +static PyObject *__pyx_n_s_MutableMultiMapping; +static PyObject *__pyx_n_s_NotImplemented; +static PyObject *__pyx_n_s_PickleError; +static PyObject *__pyx_n_s_Set; +static PyObject *__pyx_n_s_TypeError; +static PyObject *__pyx_kp_s__3; +static PyObject *__pyx_kp_s__4; +static PyObject *__pyx_n_s_abc; +static PyObject *__pyx_n_s_abc_2; +static PyObject *__pyx_n_s_arg; +static PyObject *__pyx_n_s_base_class; +static PyObject *__pyx_kp_s_can_t_pickle_objects; +static PyObject *__pyx_n_s_class; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_collections; +static PyObject *__pyx_n_s_collections_abc; +static PyObject *__pyx_n_s_copy; +static PyObject *__pyx_kp_s_ctor_requires_instance_not; +static PyObject *__pyx_n_s_default; +static PyObject *__pyx_n_s_dict; +static PyObject *__pyx_n_s_extend; +static PyObject *__pyx_n_s_format; +static PyObject *__pyx_n_s_getstate; +static PyObject *__pyx_n_s_getversion; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_n_s_istr; +static PyObject *__pyx_n_s_istr_2; +static PyObject *__pyx_n_s_items; +static PyObject *__pyx_n_s_join; +static PyObject *__pyx_n_s_key; +static PyObject *__pyx_n_s_keys; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_md; +static PyObject *__pyx_n_s_multidict__multidict; +static PyObject *__pyx_kp_s_multidict__multidict_pyx; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_n_s_new; +static PyObject *__pyx_n_s_object; +static PyObject *__pyx_kp_s_or; +static PyObject *__pyx_n_s_pickle; +static PyObject *__pyx_n_s_pop; +static PyObject *__pyx_n_s_popone; +static PyObject *__pyx_n_s_proxy_classes; +static PyObject *__pyx_n_s_pyx_PickleError; +static PyObject *__pyx_n_s_pyx_checksum; +static PyObject *__pyx_n_s_pyx_result; +static PyObject *__pyx_n_s_pyx_state; +static PyObject *__pyx_n_s_pyx_type; +static PyObject *__pyx_n_s_pyx_unpickle__Base; +static PyObject *__pyx_n_s_pyx_vtable; +static PyObject *__pyx_kp_s_r; +static PyObject *__pyx_n_s_reduce; +static PyObject *__pyx_n_s_reduce_cython; +static PyObject *__pyx_n_s_reduce_ex; +static PyObject *__pyx_n_s_register; +static PyObject *__pyx_n_s_setstate; +static PyObject *__pyx_n_s_setstate_cython; +static PyObject *__pyx_kp_s_stringsource; +static PyObject *__pyx_n_s_sys; +static PyObject *__pyx_kp_s_takes_at_most_1_positional_argu; +static PyObject *__pyx_kp_s_takes_either_dict_or_list_of_ke; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_update; +static PyObject *__pyx_n_s_upstr; +static PyObject *__pyx_n_s_value; +static PyObject *__pyx_pf_9multidict_10_multidict_getversion(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_md); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_impl(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_2getall(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_4getone(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_6__getitem__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_key); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_8get(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default); /* proto */ +static int __pyx_pf_9multidict_10_multidict_5_Base_10__contains__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_key); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_12__iter__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self); /* proto */ +static Py_ssize_t __pyx_pf_9multidict_10_multidict_5_Base_14__len__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_16keys(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_18items(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_20values(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_22__repr__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_24__eq__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_arg); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_26__reduce_cython__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_28__setstate_cython__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static int __pyx_pf_9multidict_10_multidict_14MultiDictProxy___init__(struct __pyx_obj_9multidict_10_multidict_MultiDictProxy *__pyx_v_self, PyObject *__pyx_v_arg); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_14MultiDictProxy_2__reduce__(struct __pyx_obj_9multidict_10_multidict_MultiDictProxy *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_14MultiDictProxy_4copy(struct __pyx_obj_9multidict_10_multidict_MultiDictProxy *__pyx_v_self); /* proto */ +static int __pyx_pf_9multidict_10_multidict_9MultiDict___init__(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_2__reduce__(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_4add(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_6copy(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_8extend(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_10clear(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self); /* proto */ +static int __pyx_pf_9multidict_10_multidict_9MultiDict_12__setitem__(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_9multidict_10_multidict_9MultiDict_14__delitem__(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_16setdefault(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_18popone(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_20popall(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_22popitem(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_24update(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ +static int __pyx_pf_9multidict_10_multidict_11CIMultiDict___init__(struct __pyx_obj_9multidict_10_multidict_CIMultiDict *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_11CIMultiDict_2__reduce__(struct __pyx_obj_9multidict_10_multidict_CIMultiDict *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_11CIMultiDict_4copy(struct __pyx_obj_9multidict_10_multidict_CIMultiDict *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_9multidict_10_multidict_2__pyx_unpickle__Base(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_tp_new_9multidict_10_multidict__Base(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_9multidict_10_multidict_MultiDictProxy(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_9multidict_10_multidict_CIMultiDictProxy(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_9multidict_10_multidict_MultiDict(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_9multidict_10_multidict_CIMultiDict(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_items = {0, &__pyx_n_s_items, 0, 0, 0}; +static PyObject *__pyx_int_81294078; +static PyObject *__pyx_k_; +static PyObject *__pyx_k__2; +static PyObject *__pyx_k__6; +static PyObject *__pyx_k__7; +static PyObject *__pyx_tuple__5; +static PyObject *__pyx_tuple__8; +static PyObject *__pyx_tuple__10; +static PyObject *__pyx_codeobj__9; +static PyObject *__pyx_codeobj__11; +/* Late includes */ + +/* "multidict/_multidict.pyx":25 + * multidict_views_init() + * + * def getversion(_Base md): # <<<<<<<<<<<<<< + * return pair_list_version(md._impl) + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_1getversion(PyObject *__pyx_self, PyObject *__pyx_v_md); /*proto*/ +static PyMethodDef __pyx_mdef_9multidict_10_multidict_1getversion = {"getversion", (PyCFunction)__pyx_pw_9multidict_10_multidict_1getversion, METH_O, 0}; +static PyObject *__pyx_pw_9multidict_10_multidict_1getversion(PyObject *__pyx_self, PyObject *__pyx_v_md) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("getversion (wrapper)", 0); + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_md), __pyx_ptype_9multidict_10_multidict__Base, 1, "md", 0))) __PYX_ERR(0, 25, __pyx_L1_error) + __pyx_r = __pyx_pf_9multidict_10_multidict_getversion(__pyx_self, ((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_md)); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_getversion(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_md) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + __Pyx_RefNannySetupContext("getversion", 0); + + /* "multidict/_multidict.pyx":26 + * + * def getversion(_Base md): + * return pair_list_version(md._impl) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __pyx_v_md->_impl; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_From_uint64_t(pair_list_version(__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":25 + * multidict_views_init() + * + * def getversion(_Base md): # <<<<<<<<<<<<<< + * return pair_list_version(md._impl) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("multidict._multidict.getversion", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":33 + * cdef object _impl + * + * def impl(self): # <<<<<<<<<<<<<< + * return self._impl + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_1impl(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_1impl(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("impl (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_5_Base_impl(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_impl(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("impl", 0); + + /* "multidict/_multidict.pyx":34 + * + * def impl(self): + * return self._impl # <<<<<<<<<<<<<< + * + * def getall(self, key, default=_marker): + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->_impl); + __pyx_r = __pyx_v_self->_impl; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":33 + * cdef object _impl + * + * def impl(self): # <<<<<<<<<<<<<< + * return self._impl + * + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":36 + * return self._impl + * + * def getall(self, key, default=_marker): # <<<<<<<<<<<<<< + * """Return a list of all values matching the key.""" + * try: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_3getall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_5_Base_2getall[] = "Return a list of all values matching the key."; +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_3getall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_key = 0; + PyObject *__pyx_v_default = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("getall (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_default,0}; + PyObject* values[2] = {0,0}; + values[1] = __pyx_k_; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_default); + if (value) { values[1] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getall") < 0)) __PYX_ERR(0, 36, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_key = values[0]; + __pyx_v_default = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("getall", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 36, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("multidict._multidict._Base.getall", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_9multidict_10_multidict_5_Base_2getall(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_self), __pyx_v_key, __pyx_v_default); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_2getall(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + int __pyx_t_9; + __Pyx_RefNannySetupContext("getall", 0); + + /* "multidict/_multidict.pyx":38 + * def getall(self, key, default=_marker): + * """Return a list of all values matching the key.""" + * try: # <<<<<<<<<<<<<< + * return pair_list_get_all(self._impl, key) + * except KeyError: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "multidict/_multidict.pyx":39 + * """Return a list of all values matching the key.""" + * try: + * return pair_list_get_all(self._impl, key) # <<<<<<<<<<<<<< + * except KeyError: + * if default is not _marker: + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __pyx_v_self->_impl; + __Pyx_INCREF(__pyx_t_4); + __pyx_t_5 = pair_list_get_all(__pyx_t_4, __pyx_v_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 39, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L7_try_return; + + /* "multidict/_multidict.pyx":38 + * def getall(self, key, default=_marker): + * """Return a list of all values matching the key.""" + * try: # <<<<<<<<<<<<<< + * return pair_list_get_all(self._impl, key) + * except KeyError: + */ + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "multidict/_multidict.pyx":40 + * try: + * return pair_list_get_all(self._impl, key) + * except KeyError: # <<<<<<<<<<<<<< + * if default is not _marker: + * return default + */ + __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError); + if (__pyx_t_6) { + __Pyx_AddTraceback("multidict._multidict._Base.getall", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_7) < 0) __PYX_ERR(0, 40, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_7); + + /* "multidict/_multidict.pyx":41 + * return pair_list_get_all(self._impl, key) + * except KeyError: + * if default is not _marker: # <<<<<<<<<<<<<< + * return default + * else: + */ + __pyx_t_8 = (__pyx_v_default != __pyx_v_9multidict_10_multidict__marker); + __pyx_t_9 = (__pyx_t_8 != 0); + if (likely(__pyx_t_9)) { + + /* "multidict/_multidict.pyx":42 + * except KeyError: + * if default is not _marker: + * return default # <<<<<<<<<<<<<< + * else: + * raise + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_default); + __pyx_r = __pyx_v_default; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L6_except_return; + + /* "multidict/_multidict.pyx":41 + * return pair_list_get_all(self._impl, key) + * except KeyError: + * if default is not _marker: # <<<<<<<<<<<<<< + * return default + * else: + */ + } + + /* "multidict/_multidict.pyx":44 + * return default + * else: + * raise # <<<<<<<<<<<<<< + * + * def getone(self, key, default=_marker): + */ + /*else*/ { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_4, __pyx_t_7); + __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_7 = 0; + __PYX_ERR(0, 44, __pyx_L5_except_error) + } + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "multidict/_multidict.pyx":38 + * def getall(self, key, default=_marker): + * """Return a list of all values matching the key.""" + * try: # <<<<<<<<<<<<<< + * return pair_list_get_all(self._impl, key) + * except KeyError: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L7_try_return:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L0; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L0; + } + + /* "multidict/_multidict.pyx":36 + * return self._impl + * + * def getall(self, key, default=_marker): # <<<<<<<<<<<<<< + * """Return a list of all values matching the key.""" + * try: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("multidict._multidict._Base.getall", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":46 + * raise + * + * def getone(self, key, default=_marker): # <<<<<<<<<<<<<< + * """Get first value matching the key.""" + * return self._getone(key, default) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_5getone(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_5_Base_4getone[] = "Get first value matching the key."; +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_5getone(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_key = 0; + PyObject *__pyx_v_default = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("getone (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_default,0}; + PyObject* values[2] = {0,0}; + values[1] = __pyx_k__2; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_default); + if (value) { values[1] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getone") < 0)) __PYX_ERR(0, 46, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_key = values[0]; + __pyx_v_default = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("getone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 46, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("multidict._multidict._Base.getone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_9multidict_10_multidict_5_Base_4getone(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_self), __pyx_v_key, __pyx_v_default); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_4getone(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("getone", 0); + + /* "multidict/_multidict.pyx":48 + * def getone(self, key, default=_marker): + * """Get first value matching the key.""" + * return self._getone(key, default) # <<<<<<<<<<<<<< + * + * cdef _getone(self, key, default): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = ((struct __pyx_vtabstruct_9multidict_10_multidict__Base *)__pyx_v_self->__pyx_vtab)->_getone(__pyx_v_self, __pyx_v_key, __pyx_v_default); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":46 + * raise + * + * def getone(self, key, default=_marker): # <<<<<<<<<<<<<< + * """Get first value matching the key.""" + * return self._getone(key, default) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict._Base.getone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":50 + * return self._getone(key, default) + * + * cdef _getone(self, key, default): # <<<<<<<<<<<<<< + * try: + * return pair_list_get_one(self._impl, key) + */ + +static PyObject *__pyx_f_9multidict_10_multidict_5_Base__getone(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + int __pyx_t_9; + __Pyx_RefNannySetupContext("_getone", 0); + + /* "multidict/_multidict.pyx":51 + * + * cdef _getone(self, key, default): + * try: # <<<<<<<<<<<<<< + * return pair_list_get_one(self._impl, key) + * except KeyError: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "multidict/_multidict.pyx":52 + * cdef _getone(self, key, default): + * try: + * return pair_list_get_one(self._impl, key) # <<<<<<<<<<<<<< + * except KeyError: + * if default is not _marker: + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __pyx_v_self->_impl; + __Pyx_INCREF(__pyx_t_4); + __pyx_t_5 = pair_list_get_one(__pyx_t_4, __pyx_v_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 52, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L7_try_return; + + /* "multidict/_multidict.pyx":51 + * + * cdef _getone(self, key, default): + * try: # <<<<<<<<<<<<<< + * return pair_list_get_one(self._impl, key) + * except KeyError: + */ + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "multidict/_multidict.pyx":53 + * try: + * return pair_list_get_one(self._impl, key) + * except KeyError: # <<<<<<<<<<<<<< + * if default is not _marker: + * return default + */ + __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError); + if (__pyx_t_6) { + __Pyx_AddTraceback("multidict._multidict._Base._getone", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_7) < 0) __PYX_ERR(0, 53, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_7); + + /* "multidict/_multidict.pyx":54 + * return pair_list_get_one(self._impl, key) + * except KeyError: + * if default is not _marker: # <<<<<<<<<<<<<< + * return default + * else: + */ + __pyx_t_8 = (__pyx_v_default != __pyx_v_9multidict_10_multidict__marker); + __pyx_t_9 = (__pyx_t_8 != 0); + if (likely(__pyx_t_9)) { + + /* "multidict/_multidict.pyx":55 + * except KeyError: + * if default is not _marker: + * return default # <<<<<<<<<<<<<< + * else: + * raise + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_default); + __pyx_r = __pyx_v_default; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L6_except_return; + + /* "multidict/_multidict.pyx":54 + * return pair_list_get_one(self._impl, key) + * except KeyError: + * if default is not _marker: # <<<<<<<<<<<<<< + * return default + * else: + */ + } + + /* "multidict/_multidict.pyx":57 + * return default + * else: + * raise # <<<<<<<<<<<<<< + * + * # Mapping interface # + */ + /*else*/ { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_4, __pyx_t_7); + __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_7 = 0; + __PYX_ERR(0, 57, __pyx_L5_except_error) + } + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "multidict/_multidict.pyx":51 + * + * cdef _getone(self, key, default): + * try: # <<<<<<<<<<<<<< + * return pair_list_get_one(self._impl, key) + * except KeyError: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L7_try_return:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L0; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L0; + } + + /* "multidict/_multidict.pyx":50 + * return self._getone(key, default) + * + * cdef _getone(self, key, default): # <<<<<<<<<<<<<< + * try: + * return pair_list_get_one(self._impl, key) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("multidict._multidict._Base._getone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":61 + * # Mapping interface # + * + * def __getitem__(self, key): # <<<<<<<<<<<<<< + * return self._getone(key, _marker) + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_7__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_7__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_5_Base_6__getitem__(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_self), ((PyObject *)__pyx_v_key)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_6__getitem__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_key) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + __Pyx_RefNannySetupContext("__getitem__", 0); + + /* "multidict/_multidict.pyx":62 + * + * def __getitem__(self, key): + * return self._getone(key, _marker) # <<<<<<<<<<<<<< + * + * def get(self, key, default=None): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __pyx_v_9multidict_10_multidict__marker; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_2 = ((struct __pyx_vtabstruct_9multidict_10_multidict__Base *)__pyx_v_self->__pyx_vtab)->_getone(__pyx_v_self, __pyx_v_key, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 62, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":61 + * # Mapping interface # + * + * def __getitem__(self, key): # <<<<<<<<<<<<<< + * return self._getone(key, _marker) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("multidict._multidict._Base.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":64 + * return self._getone(key, _marker) + * + * def get(self, key, default=None): # <<<<<<<<<<<<<< + * """Get first value matching the key. + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_9get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_5_Base_8get[] = "Get first value matching the key.\n\n The method is alias for .getone().\n "; +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_9get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_key = 0; + PyObject *__pyx_v_default = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_default,0}; + PyObject* values[2] = {0,0}; + values[1] = ((PyObject *)Py_None); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_default); + if (value) { values[1] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get") < 0)) __PYX_ERR(0, 64, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_key = values[0]; + __pyx_v_default = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("get", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 64, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("multidict._multidict._Base.get", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_9multidict_10_multidict_5_Base_8get(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_self), __pyx_v_key, __pyx_v_default); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_8get(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("get", 0); + + /* "multidict/_multidict.pyx":69 + * The method is alias for .getone(). + * """ + * return self._getone(key, default) # <<<<<<<<<<<<<< + * + * def __contains__(self, key): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = ((struct __pyx_vtabstruct_9multidict_10_multidict__Base *)__pyx_v_self->__pyx_vtab)->_getone(__pyx_v_self, __pyx_v_key, __pyx_v_default); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":64 + * return self._getone(key, _marker) + * + * def get(self, key, default=None): # <<<<<<<<<<<<<< + * """Get first value matching the key. + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict._Base.get", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":71 + * return self._getone(key, default) + * + * def __contains__(self, key): # <<<<<<<<<<<<<< + * return self._contains(key) + * + */ + +/* Python wrapper */ +static int __pyx_pw_9multidict_10_multidict_5_Base_11__contains__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/ +static int __pyx_pw_9multidict_10_multidict_5_Base_11__contains__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__contains__ (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_5_Base_10__contains__(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_self), ((PyObject *)__pyx_v_key)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_9multidict_10_multidict_5_Base_10__contains__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_key) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + __Pyx_RefNannySetupContext("__contains__", 0); + + /* "multidict/_multidict.pyx":72 + * + * def __contains__(self, key): + * return self._contains(key) # <<<<<<<<<<<<<< + * + * cdef _contains(self, key): + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_9multidict_10_multidict__Base *)__pyx_v_self->__pyx_vtab)->_contains(__pyx_v_self, __pyx_v_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 72, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_2; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":71 + * return self._getone(key, default) + * + * def __contains__(self, key): # <<<<<<<<<<<<<< + * return self._contains(key) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict._Base.__contains__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":74 + * return self._contains(key) + * + * cdef _contains(self, key): # <<<<<<<<<<<<<< + * return pair_list_contains(self._impl, key) + * + */ + +static PyObject *__pyx_f_9multidict_10_multidict_5_Base__contains(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_key) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + __Pyx_RefNannySetupContext("_contains", 0); + + /* "multidict/_multidict.pyx":75 + * + * cdef _contains(self, key): + * return pair_list_contains(self._impl, key) # <<<<<<<<<<<<<< + * + * def __iter__(self): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __pyx_v_self->_impl; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_2 = pair_list_contains(__pyx_t_1, __pyx_v_key); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 75, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 75, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":74 + * return self._contains(key) + * + * cdef _contains(self, key): # <<<<<<<<<<<<<< + * return pair_list_contains(self._impl, key) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict._Base._contains", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":77 + * return pair_list_contains(self._impl, key) + * + * def __iter__(self): # <<<<<<<<<<<<<< + * return iter(self.keys()) + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_13__iter__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_13__iter__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__iter__ (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_5_Base_12__iter__(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_12__iter__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + __Pyx_RefNannySetupContext("__iter__", 0); + + /* "multidict/_multidict.pyx":78 + * + * def __iter__(self): + * return iter(self.keys()) # <<<<<<<<<<<<<< + * + * def __len__(self): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = ((struct __pyx_vtabstruct_9multidict_10_multidict__Base *)__pyx_v_self->__pyx_vtab)->keys(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 78, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 78, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":77 + * return pair_list_contains(self._impl, key) + * + * def __iter__(self): # <<<<<<<<<<<<<< + * return iter(self.keys()) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("multidict._multidict._Base.__iter__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":80 + * return iter(self.keys()) + * + * def __len__(self): # <<<<<<<<<<<<<< + * return pair_list_len(self._impl) + * + */ + +/* Python wrapper */ +static Py_ssize_t __pyx_pw_9multidict_10_multidict_5_Base_15__len__(PyObject *__pyx_v_self); /*proto*/ +static Py_ssize_t __pyx_pw_9multidict_10_multidict_5_Base_15__len__(PyObject *__pyx_v_self) { + Py_ssize_t __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__len__ (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_5_Base_14__len__(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static Py_ssize_t __pyx_pf_9multidict_10_multidict_5_Base_14__len__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self) { + Py_ssize_t __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + __Pyx_RefNannySetupContext("__len__", 0); + + /* "multidict/_multidict.pyx":81 + * + * def __len__(self): + * return pair_list_len(self._impl) # <<<<<<<<<<<<<< + * + * cpdef keys(self): + */ + __pyx_t_1 = __pyx_v_self->_impl; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_2 = pair_list_len(__pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 81, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_2; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":80 + * return iter(self.keys()) + * + * def __len__(self): # <<<<<<<<<<<<<< + * return pair_list_len(self._impl) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict._Base.__len__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":83 + * return pair_list_len(self._impl) + * + * cpdef keys(self): # <<<<<<<<<<<<<< + * """Return a new view of the dictionary's keys.""" + * return multidict_keysview_new(self) + */ + +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_17keys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_f_9multidict_10_multidict_5_Base_keys(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, int __pyx_skip_dispatch) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + __Pyx_RefNannySetupContext("keys", 0); + /* Check if called by wrapper */ + if (unlikely(__pyx_skip_dispatch)) ; + /* Check if overridden in Python */ + else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) { + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP + static PY_UINT64_T tp_dict_version = 0, obj_dict_version = 0; + if (likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict && tp_dict_version == __PYX_GET_DICT_VERSION(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) && (!Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset || obj_dict_version == __PYX_GET_DICT_VERSION(_PyObject_GetDictPtr(((PyObject *)__pyx_v_self)))))); + else { + PY_UINT64_T type_dict_guard = (likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict)) ? __PYX_GET_DICT_VERSION(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) : 0; + #endif + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_keys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 83, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_9multidict_10_multidict_5_Base_17keys)) { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 83, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L0; + } + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP + tp_dict_version = likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) ? __PYX_GET_DICT_VERSION(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dict) : 0; + obj_dict_version = likely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset) ? __PYX_GET_DICT_VERSION(_PyObject_GetDictPtr(((PyObject *)__pyx_v_self))) : 0; + if (unlikely(type_dict_guard != tp_dict_version)) { + tp_dict_version = obj_dict_version = 0; + } + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP + } + #endif + } + + /* "multidict/_multidict.pyx":85 + * cpdef keys(self): + * """Return a new view of the dictionary's keys.""" + * return multidict_keysview_new(self) # <<<<<<<<<<<<<< + * + * def items(self): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = multidict_keysview_new(((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":83 + * return pair_list_len(self._impl) + * + * cpdef keys(self): # <<<<<<<<<<<<<< + * """Return a new view of the dictionary's keys.""" + * return multidict_keysview_new(self) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("multidict._multidict._Base.keys", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_17keys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_5_Base_16keys[] = "Return a new view of the dictionary's keys."; +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_17keys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("keys (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_5_Base_16keys(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_16keys(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("keys", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __pyx_f_9multidict_10_multidict_5_Base_keys(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 83, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict._Base.keys", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":87 + * return multidict_keysview_new(self) + * + * def items(self): # <<<<<<<<<<<<<< + * """Return a new view of the dictionary's items *(key, value) pairs).""" + * return multidict_itemsview_new(self) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_19items(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_5_Base_18items[] = "Return a new view of the dictionary's items *(key, value) pairs)."; +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_19items(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("items (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_5_Base_18items(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_18items(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("items", 0); + + /* "multidict/_multidict.pyx":89 + * def items(self): + * """Return a new view of the dictionary's items *(key, value) pairs).""" + * return multidict_itemsview_new(self) # <<<<<<<<<<<<<< + * + * def values(self): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = multidict_itemsview_new(((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":87 + * return multidict_keysview_new(self) + * + * def items(self): # <<<<<<<<<<<<<< + * """Return a new view of the dictionary's items *(key, value) pairs).""" + * return multidict_itemsview_new(self) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict._Base.items", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":91 + * return multidict_itemsview_new(self) + * + * def values(self): # <<<<<<<<<<<<<< + * """Return a new view of the dictionary's values.""" + * return multidict_valuesview_new(self) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_21values(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_5_Base_20values[] = "Return a new view of the dictionary's values."; +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_21values(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("values (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_5_Base_20values(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_20values(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("values", 0); + + /* "multidict/_multidict.pyx":93 + * def values(self): + * """Return a new view of the dictionary's values.""" + * return multidict_valuesview_new(self) # <<<<<<<<<<<<<< + * + * def __repr__(self): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = multidict_valuesview_new(((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 93, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":91 + * return multidict_itemsview_new(self) + * + * def values(self): # <<<<<<<<<<<<<< + * """Return a new view of the dictionary's values.""" + * return multidict_valuesview_new(self) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict._Base.values", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":95 + * return multidict_valuesview_new(self) + * + * def __repr__(self): # <<<<<<<<<<<<<< + * lst = [] + * for k, v in self.items(): + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_23__repr__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_23__repr__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_5_Base_22__repr__(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_22__repr__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self) { + PyObject *__pyx_v_lst = NULL; + PyObject *__pyx_v_k = NULL; + PyObject *__pyx_v_v = NULL; + PyObject *__pyx_v_body = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + PyObject *(*__pyx_t_5)(PyObject *); + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *(*__pyx_t_8)(PyObject *); + int __pyx_t_9; + int __pyx_t_10; + __Pyx_RefNannySetupContext("__repr__", 0); + + /* "multidict/_multidict.pyx":96 + * + * def __repr__(self): + * lst = [] # <<<<<<<<<<<<<< + * for k, v in self.items(): + * lst.append("'{}': {!r}".format(k, v)) + */ + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_lst = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":97 + * def __repr__(self): + * lst = [] + * for k, v in self.items(): # <<<<<<<<<<<<<< + * lst.append("'{}': {!r}".format(k, v)) + * body = ', '.join(lst) + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_items); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { + __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0; + __pyx_t_5 = NULL; + } else { + __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 97, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (;;) { + if (likely(!__pyx_t_5)) { + if (likely(PyList_CheckExact(__pyx_t_2))) { + if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 97, __pyx_L1_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } else { + if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 97, __pyx_L1_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } + } else { + __pyx_t_1 = __pyx_t_5(__pyx_t_2); + if (unlikely(!__pyx_t_1)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 97, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_1); + } + if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { + PyObject* sequence = __pyx_t_1; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 97, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_3 = PyList_GET_ITEM(sequence, 0); + __pyx_t_6 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_6); + #else + __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; + index = 0; __pyx_t_3 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_3)) goto __pyx_L5_unpacking_failed; + __Pyx_GOTREF(__pyx_t_3); + index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed; + __Pyx_GOTREF(__pyx_t_6); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 97, __pyx_L1_error) + __pyx_t_8 = NULL; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L6_unpacking_done; + __pyx_L5_unpacking_failed:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_8 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 97, __pyx_L1_error) + __pyx_L6_unpacking_done:; + } + __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_3); + __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_6); + __pyx_t_6 = 0; + + /* "multidict/_multidict.pyx":98 + * lst = [] + * for k, v in self.items(): + * lst.append("'{}': {!r}".format(k, v)) # <<<<<<<<<<<<<< + * body = ', '.join(lst) + * return '<{}({})>'.format(self.__class__.__name__, body) + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_r, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_k, __pyx_v_v}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_k, __pyx_v_v}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_7 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_k); + __Pyx_GIVEREF(__pyx_v_k); + PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_9, __pyx_v_k); + __Pyx_INCREF(__pyx_v_v); + __Pyx_GIVEREF(__pyx_v_v); + PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_9, __pyx_v_v); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_lst, __pyx_t_1); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":97 + * def __repr__(self): + * lst = [] + * for k, v in self.items(): # <<<<<<<<<<<<<< + * lst.append("'{}': {!r}".format(k, v)) + * body = ', '.join(lst) + */ + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "multidict/_multidict.pyx":99 + * for k, v in self.items(): + * lst.append("'{}': {!r}".format(k, v)) + * body = ', '.join(lst) # <<<<<<<<<<<<<< + * return '<{}({})>'.format(self.__class__.__name__, body) + * + */ + __pyx_t_2 = __Pyx_PyString_Join(__pyx_kp_s__3, __pyx_v_lst); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_v_body = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "multidict/_multidict.pyx":100 + * lst.append("'{}': {!r}".format(k, v)) + * body = ', '.join(lst) + * return '<{}({})>'.format(self.__class__.__name__, body) # <<<<<<<<<<<<<< + * + * def __eq__(self, arg): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s__4, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_7, __pyx_v_body}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_7, __pyx_v_body}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + { + __pyx_t_3 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_6) { + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = NULL; + } + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_9, __pyx_t_7); + __Pyx_INCREF(__pyx_v_body); + __Pyx_GIVEREF(__pyx_v_body); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_9, __pyx_v_body); + __pyx_t_7 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":95 + * return multidict_valuesview_new(self) + * + * def __repr__(self): # <<<<<<<<<<<<<< + * lst = [] + * for k, v in self.items(): + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("multidict._multidict._Base.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_lst); + __Pyx_XDECREF(__pyx_v_k); + __Pyx_XDECREF(__pyx_v_v); + __Pyx_XDECREF(__pyx_v_body); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":102 + * return '<{}({})>'.format(self.__class__.__name__, body) + * + * def __eq__(self, arg): # <<<<<<<<<<<<<< + * cdef Py_ssize_t pos1 + * cdef PyObject *identity1 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_25__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_arg); /*proto*/ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_25__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_arg) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_5_Base_24__eq__(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_self), ((PyObject *)__pyx_v_arg)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_24__eq__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v_arg) { + Py_ssize_t __pyx_v_pos1; + PyObject *__pyx_v_identity1; + PyObject *__pyx_v_value1; + Py_hash_t __pyx_v_h1; + Py_ssize_t __pyx_v_pos2; + PyObject *__pyx_v_identity2; + PyObject *__pyx_v_value2; + Py_hash_t __pyx_v_h2; + struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_other = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + __Pyx_RefNannySetupContext("__eq__", 0); + + /* "multidict/_multidict.pyx":115 + * cdef _Base other + * + * if isinstance(arg, _Base): # <<<<<<<<<<<<<< + * other = <_Base>arg + * if pair_list_len(self._impl) != pair_list_len(other._impl): + */ + __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_9multidict_10_multidict__Base); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "multidict/_multidict.pyx":116 + * + * if isinstance(arg, _Base): + * other = <_Base>arg # <<<<<<<<<<<<<< + * if pair_list_len(self._impl) != pair_list_len(other._impl): + * return False + */ + __pyx_t_3 = __pyx_v_arg; + __Pyx_INCREF(__pyx_t_3); + __pyx_v_other = ((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_t_3); + __pyx_t_3 = 0; + + /* "multidict/_multidict.pyx":117 + * if isinstance(arg, _Base): + * other = <_Base>arg + * if pair_list_len(self._impl) != pair_list_len(other._impl): # <<<<<<<<<<<<<< + * return False + * pos1 = pos2 = 0 + */ + __pyx_t_3 = __pyx_v_self->_impl; + __Pyx_INCREF(__pyx_t_3); + __pyx_t_4 = pair_list_len(__pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 117, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_v_other->_impl; + __Pyx_INCREF(__pyx_t_3); + __pyx_t_5 = pair_list_len(__pyx_t_3); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 117, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_2 = ((__pyx_t_4 != __pyx_t_5) != 0); + if (__pyx_t_2) { + + /* "multidict/_multidict.pyx":118 + * other = <_Base>arg + * if pair_list_len(self._impl) != pair_list_len(other._impl): + * return False # <<<<<<<<<<<<<< + * pos1 = pos2 = 0 + * while (_pair_list_next(self._impl, &pos1, &identity1, + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":117 + * if isinstance(arg, _Base): + * other = <_Base>arg + * if pair_list_len(self._impl) != pair_list_len(other._impl): # <<<<<<<<<<<<<< + * return False + * pos1 = pos2 = 0 + */ + } + + /* "multidict/_multidict.pyx":119 + * if pair_list_len(self._impl) != pair_list_len(other._impl): + * return False + * pos1 = pos2 = 0 # <<<<<<<<<<<<<< + * while (_pair_list_next(self._impl, &pos1, &identity1, + * NULL, &value1, &h1) and + */ + __pyx_v_pos1 = 0; + __pyx_v_pos2 = 0; + + /* "multidict/_multidict.pyx":120 + * return False + * pos1 = pos2 = 0 + * while (_pair_list_next(self._impl, &pos1, &identity1, # <<<<<<<<<<<<<< + * NULL, &value1, &h1) and + * _pair_list_next(other._impl, &pos2, &identity2, + */ + while (1) { + + /* "multidict/_multidict.pyx":121 + * pos1 = pos2 = 0 + * while (_pair_list_next(self._impl, &pos1, &identity1, + * NULL, &value1, &h1) and # <<<<<<<<<<<<<< + * _pair_list_next(other._impl, &pos2, &identity2, + * NULL, &value2, &h2)): + */ + __pyx_t_3 = __pyx_v_self->_impl; + __Pyx_INCREF(__pyx_t_3); + + /* "multidict/_multidict.pyx":120 + * return False + * pos1 = pos2 = 0 + * while (_pair_list_next(self._impl, &pos1, &identity1, # <<<<<<<<<<<<<< + * NULL, &value1, &h1) and + * _pair_list_next(other._impl, &pos2, &identity2, + */ + __pyx_t_5 = _pair_list_next(__pyx_t_3, (&__pyx_v_pos1), (&__pyx_v_identity1), NULL, (&__pyx_v_value1), (&__pyx_v_h1)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 120, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_1 = (__pyx_t_5 != 0); + if (__pyx_t_1) { + } else { + __pyx_t_2 = __pyx_t_1; + goto __pyx_L7_bool_binop_done; + } + + /* "multidict/_multidict.pyx":122 + * while (_pair_list_next(self._impl, &pos1, &identity1, + * NULL, &value1, &h1) and + * _pair_list_next(other._impl, &pos2, &identity2, # <<<<<<<<<<<<<< + * NULL, &value2, &h2)): + * if h1 != h2: + */ + __pyx_t_3 = __pyx_v_other->_impl; + __Pyx_INCREF(__pyx_t_3); + + /* "multidict/_multidict.pyx":123 + * NULL, &value1, &h1) and + * _pair_list_next(other._impl, &pos2, &identity2, + * NULL, &value2, &h2)): # <<<<<<<<<<<<<< + * if h1 != h2: + * return False + */ + __pyx_t_5 = _pair_list_next(__pyx_t_3, (&__pyx_v_pos2), (&__pyx_v_identity2), NULL, (&__pyx_v_value2), (&__pyx_v_h2)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 122, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "multidict/_multidict.pyx":122 + * while (_pair_list_next(self._impl, &pos1, &identity1, + * NULL, &value1, &h1) and + * _pair_list_next(other._impl, &pos2, &identity2, # <<<<<<<<<<<<<< + * NULL, &value2, &h2)): + * if h1 != h2: + */ + __pyx_t_1 = (__pyx_t_5 != 0); + __pyx_t_2 = __pyx_t_1; + __pyx_L7_bool_binop_done:; + if (!__pyx_t_2) break; + + /* "multidict/_multidict.pyx":124 + * _pair_list_next(other._impl, &pos2, &identity2, + * NULL, &value2, &h2)): + * if h1 != h2: # <<<<<<<<<<<<<< + * return False + * if PyObject_RichCompare(<object>identity1, <object>identity2, Py_NE): + */ + __pyx_t_2 = ((__pyx_v_h1 != __pyx_v_h2) != 0); + if (__pyx_t_2) { + + /* "multidict/_multidict.pyx":125 + * NULL, &value2, &h2)): + * if h1 != h2: + * return False # <<<<<<<<<<<<<< + * if PyObject_RichCompare(<object>identity1, <object>identity2, Py_NE): + * return False + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":124 + * _pair_list_next(other._impl, &pos2, &identity2, + * NULL, &value2, &h2)): + * if h1 != h2: # <<<<<<<<<<<<<< + * return False + * if PyObject_RichCompare(<object>identity1, <object>identity2, Py_NE): + */ + } + + /* "multidict/_multidict.pyx":126 + * if h1 != h2: + * return False + * if PyObject_RichCompare(<object>identity1, <object>identity2, Py_NE): # <<<<<<<<<<<<<< + * return False + * if PyObject_RichCompare(<object>value1, <object>value2, Py_NE): + */ + __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_v_identity1), ((PyObject *)__pyx_v_identity2), Py_NE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 126, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 126, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_2) { + + /* "multidict/_multidict.pyx":127 + * return False + * if PyObject_RichCompare(<object>identity1, <object>identity2, Py_NE): + * return False # <<<<<<<<<<<<<< + * if PyObject_RichCompare(<object>value1, <object>value2, Py_NE): + * return False + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":126 + * if h1 != h2: + * return False + * if PyObject_RichCompare(<object>identity1, <object>identity2, Py_NE): # <<<<<<<<<<<<<< + * return False + * if PyObject_RichCompare(<object>value1, <object>value2, Py_NE): + */ + } + + /* "multidict/_multidict.pyx":128 + * if PyObject_RichCompare(<object>identity1, <object>identity2, Py_NE): + * return False + * if PyObject_RichCompare(<object>value1, <object>value2, Py_NE): # <<<<<<<<<<<<<< + * return False + * return True + */ + __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_v_value1), ((PyObject *)__pyx_v_value2), Py_NE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 128, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 128, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_2) { + + /* "multidict/_multidict.pyx":129 + * return False + * if PyObject_RichCompare(<object>value1, <object>value2, Py_NE): + * return False # <<<<<<<<<<<<<< + * return True + * elif isinstance(arg, abc.Mapping): + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":128 + * if PyObject_RichCompare(<object>identity1, <object>identity2, Py_NE): + * return False + * if PyObject_RichCompare(<object>value1, <object>value2, Py_NE): # <<<<<<<<<<<<<< + * return False + * return True + */ + } + } + + /* "multidict/_multidict.pyx":130 + * if PyObject_RichCompare(<object>value1, <object>value2, Py_NE): + * return False + * return True # <<<<<<<<<<<<<< + * elif isinstance(arg, abc.Mapping): + * return bool(pair_list_eq_to_mapping(self._impl, arg)) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_True); + __pyx_r = Py_True; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":115 + * cdef _Base other + * + * if isinstance(arg, _Base): # <<<<<<<<<<<<<< + * other = <_Base>arg + * if pair_list_len(self._impl) != pair_list_len(other._impl): + */ + } + + /* "multidict/_multidict.pyx":131 + * return False + * return True + * elif isinstance(arg, abc.Mapping): # <<<<<<<<<<<<<< + * return bool(pair_list_eq_to_mapping(self._impl, arg)) + * else: + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_abc); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 131, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Mapping); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 131, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_2 = PyObject_IsInstance(__pyx_v_arg, __pyx_t_6); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 131, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "multidict/_multidict.pyx":132 + * return True + * elif isinstance(arg, abc.Mapping): + * return bool(pair_list_eq_to_mapping(self._impl, arg)) # <<<<<<<<<<<<<< + * else: + * return NotImplemented + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __pyx_v_self->_impl; + __Pyx_INCREF(__pyx_t_6); + __pyx_t_5 = pair_list_eq_to_mapping(__pyx_t_6, __pyx_v_arg); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 132, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 132, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 132, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_PyBool_FromLong((!(!__pyx_t_1))); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 132, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":131 + * return False + * return True + * elif isinstance(arg, abc.Mapping): # <<<<<<<<<<<<<< + * return bool(pair_list_eq_to_mapping(self._impl, arg)) + * else: + */ + } + + /* "multidict/_multidict.pyx":134 + * return bool(pair_list_eq_to_mapping(self._impl, arg)) + * else: + * return NotImplemented # <<<<<<<<<<<<<< + * + * + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_builtin_NotImplemented); + __pyx_r = __pyx_builtin_NotImplemented; + goto __pyx_L0; + } + + /* "multidict/_multidict.pyx":102 + * return '<{}({})>'.format(self.__class__.__name__, body) + * + * def __eq__(self, arg): # <<<<<<<<<<<<<< + * cdef Py_ssize_t pos1 + * cdef PyObject *identity1 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("multidict._multidict._Base.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_other); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_27__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_27__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_5_Base_26__reduce_cython__(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_26__reduce_cython__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self._impl,) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_self->_impl); + __Pyx_GIVEREF(__pyx_v_self->_impl); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->_impl); + __pyx_v_state = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self._impl,) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v__dict = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":7 + * state = (self._impl,) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_2 = (__pyx_v__dict != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict); + __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4)); + __pyx_t_4 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self._impl is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self._impl,) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self._impl is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle__Base, (type(self), 0x4d872fe, None), state + */ + /*else*/ { + __pyx_t_3 = (__pyx_v_self->_impl != Py_None); + __pyx_v_use_setstate = __pyx_t_3; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self._impl is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle__Base, (type(self), 0x4d872fe, None), state + * else: + */ + __pyx_t_3 = (__pyx_v_use_setstate != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":13 + * use_setstate = self._impl is not None + * if use_setstate: + * return __pyx_unpickle__Base, (type(self), 0x4d872fe, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle__Base, (type(self), 0x4d872fe, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle__Base); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_81294078); + __Pyx_GIVEREF(__pyx_int_81294078); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_81294078); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state); + __pyx_t_4 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self._impl is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle__Base, (type(self), 0x4d872fe, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle__Base, (type(self), 0x4d872fe, None), state + * else: + * return __pyx_unpickle__Base, (type(self), 0x4d872fe, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle__Base__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle__Base); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_81294078); + __Pyx_GIVEREF(__pyx_int_81294078); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_81294078); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __pyx_t_5 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("multidict._multidict._Base.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle__Base, (type(self), 0x4d872fe, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle__Base__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_29__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_9multidict_10_multidict_5_Base_29__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_5_Base_28__setstate_cython__(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_5_Base_28__setstate_cython__(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle__Base, (type(self), 0x4d872fe, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle__Base__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_9multidict_10_multidict___pyx_unpickle__Base__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle__Base, (type(self), 0x4d872fe, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle__Base__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict._Base.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":141 + * _base_class = MultiDict + * + * def __init__(self, arg): # <<<<<<<<<<<<<< + * cdef _Base base + * if not isinstance(arg, self._proxy_classes): + */ + +/* Python wrapper */ +static int __pyx_pw_9multidict_10_multidict_14MultiDictProxy_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_9multidict_10_multidict_14MultiDictProxy_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_arg = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_arg,0}; + PyObject* values[1] = {0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_arg)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 141, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + } + __pyx_v_arg = values[0]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 141, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("multidict._multidict.MultiDictProxy.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_9multidict_10_multidict_14MultiDictProxy___init__(((struct __pyx_obj_9multidict_10_multidict_MultiDictProxy *)__pyx_v_self), __pyx_v_arg); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_9multidict_10_multidict_14MultiDictProxy___init__(struct __pyx_obj_9multidict_10_multidict_MultiDictProxy *__pyx_v_self, PyObject *__pyx_v_arg) { + struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v_base = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + __Pyx_RefNannySetupContext("__init__", 0); + + /* "multidict/_multidict.pyx":143 + * def __init__(self, arg): + * cdef _Base base + * if not isinstance(arg, self._proxy_classes): # <<<<<<<<<<<<<< + * raise TypeError( + * 'ctor requires {} instance' + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_proxy_classes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 143, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyObject_IsInstance(__pyx_v_arg, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 143, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0); + if (unlikely(__pyx_t_3)) { + + /* "multidict/_multidict.pyx":146 + * raise TypeError( + * 'ctor requires {} instance' + * ', not {}'.format( # <<<<<<<<<<<<<< + * ' or '.join(self._proxy_classes), + * type(arg))) + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_ctor_requires_instance_not, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + + /* "multidict/_multidict.pyx":147 + * 'ctor requires {} instance' + * ', not {}'.format( + * ' or '.join(self._proxy_classes), # <<<<<<<<<<<<<< + * type(arg))) + * + */ + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_proxy_classes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 147, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyString_Join(__pyx_kp_s_or, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 147, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "multidict/_multidict.pyx":148 + * ', not {}'.format( + * ' or '.join(self._proxy_classes), + * type(arg))) # <<<<<<<<<<<<<< + * + * base = arg + */ + __pyx_t_5 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_6, ((PyObject *)Py_TYPE(__pyx_v_arg))}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_6, ((PyObject *)Py_TYPE(__pyx_v_arg))}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + { + __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_6); + __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_arg))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_v_arg))); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, ((PyObject *)Py_TYPE(__pyx_v_arg))); + __pyx_t_6 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "multidict/_multidict.pyx":144 + * cdef _Base base + * if not isinstance(arg, self._proxy_classes): + * raise TypeError( # <<<<<<<<<<<<<< + * 'ctor requires {} instance' + * ', not {}'.format( + */ + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 144, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 144, __pyx_L1_error) + + /* "multidict/_multidict.pyx":143 + * def __init__(self, arg): + * cdef _Base base + * if not isinstance(arg, self._proxy_classes): # <<<<<<<<<<<<<< + * raise TypeError( + * 'ctor requires {} instance' + */ + } + + /* "multidict/_multidict.pyx":150 + * type(arg))) + * + * base = arg # <<<<<<<<<<<<<< + * self._impl = base._impl + * + */ + if (!(likely(((__pyx_v_arg) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_arg, __pyx_ptype_9multidict_10_multidict__Base))))) __PYX_ERR(0, 150, __pyx_L1_error) + __pyx_t_4 = __pyx_v_arg; + __Pyx_INCREF(__pyx_t_4); + __pyx_v_base = ((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_t_4); + __pyx_t_4 = 0; + + /* "multidict/_multidict.pyx":151 + * + * base = arg + * self._impl = base._impl # <<<<<<<<<<<<<< + * + * def __reduce__(self): + */ + __pyx_t_4 = __pyx_v_base->_impl; + __Pyx_INCREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_v_self->__pyx_base._impl); + __Pyx_DECREF(__pyx_v_self->__pyx_base._impl); + __pyx_v_self->__pyx_base._impl = __pyx_t_4; + __pyx_t_4 = 0; + + /* "multidict/_multidict.pyx":141 + * _base_class = MultiDict + * + * def __init__(self, arg): # <<<<<<<<<<<<<< + * cdef _Base base + * if not isinstance(arg, self._proxy_classes): + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("multidict._multidict.MultiDictProxy.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_base); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":153 + * self._impl = base._impl + * + * def __reduce__(self): # <<<<<<<<<<<<<< + * raise TypeError("can't pickle {} objects" + * .format(self.__class__.__name__)) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_14MultiDictProxy_3__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_9multidict_10_multidict_14MultiDictProxy_3__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce__ (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_14MultiDictProxy_2__reduce__(((struct __pyx_obj_9multidict_10_multidict_MultiDictProxy *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_14MultiDictProxy_2__reduce__(struct __pyx_obj_9multidict_10_multidict_MultiDictProxy *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + __Pyx_RefNannySetupContext("__reduce__", 0); + + /* "multidict/_multidict.pyx":155 + * def __reduce__(self): + * raise TypeError("can't pickle {} objects" + * .format(self.__class__.__name__)) # <<<<<<<<<<<<<< + * + * def copy(self): + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_can_t_pickle_objects, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 155, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 155, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 155, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 155, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "multidict/_multidict.pyx":154 + * + * def __reduce__(self): + * raise TypeError("can't pickle {} objects" # <<<<<<<<<<<<<< + * .format(self.__class__.__name__)) + * + */ + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 154, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_2, 0, 0, 0); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __PYX_ERR(0, 154, __pyx_L1_error) + + /* "multidict/_multidict.pyx":153 + * self._impl = base._impl + * + * def __reduce__(self): # <<<<<<<<<<<<<< + * raise TypeError("can't pickle {} objects" + * .format(self.__class__.__name__)) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("multidict._multidict.MultiDictProxy.__reduce__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":157 + * .format(self.__class__.__name__)) + * + * def copy(self): # <<<<<<<<<<<<<< + * """Return a copy of itself.""" + * return self._base_class(self) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_14MultiDictProxy_5copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_14MultiDictProxy_4copy[] = "Return a copy of itself."; +static PyObject *__pyx_pw_9multidict_10_multidict_14MultiDictProxy_5copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("copy (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_14MultiDictProxy_4copy(((struct __pyx_obj_9multidict_10_multidict_MultiDictProxy *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_14MultiDictProxy_4copy(struct __pyx_obj_9multidict_10_multidict_MultiDictProxy *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("copy", 0); + + /* "multidict/_multidict.pyx":159 + * def copy(self): + * """Return a copy of itself.""" + * return self._base_class(self) # <<<<<<<<<<<<<< + * + * MultiMapping.register(MultiDictProxy) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_base_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 159, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, ((PyObject *)__pyx_v_self)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_self)); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 159, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":157 + * .format(self.__class__.__name__)) + * + * def copy(self): # <<<<<<<<<<<<<< + * """Return a copy of itself.""" + * return self._base_class(self) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("multidict._multidict.MultiDictProxy.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":172 + * + * + * cdef str _str(key): # <<<<<<<<<<<<<< + * typ = type(key) + * if typ is str: + */ + +static PyObject *__pyx_f_9multidict_10_multidict__str(PyObject *__pyx_v_key) { + PyTypeObject *__pyx_v_typ = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("_str", 0); + + /* "multidict/_multidict.pyx":173 + * + * cdef str _str(key): + * typ = type(key) # <<<<<<<<<<<<<< + * if typ is str: + * return <str>key + */ + __Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_key))); + __pyx_v_typ = ((PyTypeObject*)((PyObject *)Py_TYPE(__pyx_v_key))); + + /* "multidict/_multidict.pyx":174 + * cdef str _str(key): + * typ = type(key) + * if typ is str: # <<<<<<<<<<<<<< + * return <str>key + * if typ is _istr: + */ + __pyx_t_1 = (__pyx_v_typ == (&PyString_Type)); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "multidict/_multidict.pyx":175 + * typ = type(key) + * if typ is str: + * return <str>key # <<<<<<<<<<<<<< + * if typ is _istr: + * return PyObject_Str(key) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject*)__pyx_v_key)); + __pyx_r = ((PyObject*)__pyx_v_key); + goto __pyx_L0; + + /* "multidict/_multidict.pyx":174 + * cdef str _str(key): + * typ = type(key) + * if typ is str: # <<<<<<<<<<<<<< + * return <str>key + * if typ is _istr: + */ + } + + /* "multidict/_multidict.pyx":176 + * if typ is str: + * return <str>key + * if typ is _istr: # <<<<<<<<<<<<<< + * return PyObject_Str(key) + * elif issubclass(typ, str): + */ + __pyx_t_2 = (__pyx_v_typ == ((PyTypeObject*)__pyx_v_9multidict_10_multidict__istr)); + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "multidict/_multidict.pyx":177 + * return <str>key + * if typ is _istr: + * return PyObject_Str(key) # <<<<<<<<<<<<<< + * elif issubclass(typ, str): + * return str(key) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = PyObject_Str(__pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 177, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(0, 177, __pyx_L1_error) + __pyx_r = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":176 + * if typ is str: + * return <str>key + * if typ is _istr: # <<<<<<<<<<<<<< + * return PyObject_Str(key) + * elif issubclass(typ, str): + */ + } + + /* "multidict/_multidict.pyx":178 + * if typ is _istr: + * return PyObject_Str(key) + * elif issubclass(typ, str): # <<<<<<<<<<<<<< + * return str(key) + * else: + */ + __pyx_t_1 = PyObject_IsSubclass(((PyObject *)__pyx_v_typ), ((PyObject *)(&PyString_Type))); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 178, __pyx_L1_error) + __pyx_t_2 = (__pyx_t_1 != 0); + if (likely(__pyx_t_2)) { + + /* "multidict/_multidict.pyx":179 + * return PyObject_Str(key) + * elif issubclass(typ, str): + * return str(key) # <<<<<<<<<<<<<< + * else: + * raise TypeError("MultiDict keys should be either str " + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 179, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(0, 179, __pyx_L1_error) + __pyx_r = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":178 + * if typ is _istr: + * return PyObject_Str(key) + * elif issubclass(typ, str): # <<<<<<<<<<<<<< + * return str(key) + * else: + */ + } + + /* "multidict/_multidict.pyx":181 + * return str(key) + * else: + * raise TypeError("MultiDict keys should be either str " # <<<<<<<<<<<<<< + * "or subclasses of str") + * + */ + /*else*/ { + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 181, __pyx_L1_error) + } + + /* "multidict/_multidict.pyx":172 + * + * + * cdef str _str(key): # <<<<<<<<<<<<<< + * typ = type(key) + * if typ is str: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("multidict._multidict._str", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_typ); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":188 + * """An ordered dictionary that can have multiple values for each key.""" + * + * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<< + * self._impl = pair_list_new() + * self._extend(args, kwargs, 'MultiDict', True) + */ + +/* Python wrapper */ +static int __pyx_pw_9multidict_10_multidict_9MultiDict_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_9multidict_10_multidict_9MultiDict_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_args = 0; + PyObject *__pyx_v_kwargs = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; + __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; + __Pyx_GOTREF(__pyx_v_kwargs); + __Pyx_INCREF(__pyx_args); + __pyx_v_args = __pyx_args; + __pyx_r = __pyx_pf_9multidict_10_multidict_9MultiDict___init__(((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_XDECREF(__pyx_v_kwargs); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_9multidict_10_multidict_9MultiDict___init__(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__init__", 0); + + /* "multidict/_multidict.pyx":189 + * + * def __init__(self, *args, **kwargs): + * self._impl = pair_list_new() # <<<<<<<<<<<<<< + * self._extend(args, kwargs, 'MultiDict', True) + * + */ + __pyx_t_1 = pair_list_new(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 189, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->__pyx_base._impl); + __Pyx_DECREF(__pyx_v_self->__pyx_base._impl); + __pyx_v_self->__pyx_base._impl = __pyx_t_1; + __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":190 + * def __init__(self, *args, **kwargs): + * self._impl = pair_list_new() + * self._extend(args, kwargs, 'MultiDict', True) # <<<<<<<<<<<<<< + * + * def __reduce__(self): + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict *)__pyx_v_self->__pyx_base.__pyx_vtab)->_extend(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, __pyx_n_s_MultiDict, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 190, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":188 + * """An ordered dictionary that can have multiple values for each key.""" + * + * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<< + * self._impl = pair_list_new() + * self._extend(args, kwargs, 'MultiDict', True) + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict.MultiDict.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":192 + * self._extend(args, kwargs, 'MultiDict', True) + * + * def __reduce__(self): # <<<<<<<<<<<<<< + * return ( + * self.__class__, + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_3__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_3__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce__ (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_9MultiDict_2__reduce__(((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_2__reduce__(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + __Pyx_RefNannySetupContext("__reduce__", 0); + + /* "multidict/_multidict.pyx":193 + * + * def __reduce__(self): + * return ( # <<<<<<<<<<<<<< + * self.__class__, + * (list(self.items()),) + */ + __Pyx_XDECREF(__pyx_r); + + /* "multidict/_multidict.pyx":194 + * def __reduce__(self): + * return ( + * self.__class__, # <<<<<<<<<<<<<< + * (list(self.items()),) + * ) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 194, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + + /* "multidict/_multidict.pyx":195 + * return ( + * self.__class__, + * (list(self.items()),) # <<<<<<<<<<<<<< + * ) + * + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 195, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 195, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PySequence_List(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 195, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 195, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); + __pyx_t_3 = 0; + + /* "multidict/_multidict.pyx":194 + * def __reduce__(self): + * return ( + * self.__class__, # <<<<<<<<<<<<<< + * (list(self.items()),) + * ) + */ + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 194, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":192 + * self._extend(args, kwargs, 'MultiDict', True) + * + * def __reduce__(self): # <<<<<<<<<<<<<< + * return ( + * self.__class__, + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("multidict._multidict.MultiDict.__reduce__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":198 + * ) + * + * cdef _extend(self, tuple args, dict kwargs, name, bint do_add): # <<<<<<<<<<<<<< + * cdef object key + * cdef object value + */ + +static PyObject *__pyx_f_9multidict_10_multidict_9MultiDict__extend(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs, PyObject *__pyx_v_name, int __pyx_v_do_add) { + PyObject *__pyx_v_arg = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + Py_ssize_t __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + int __pyx_t_10; + __Pyx_RefNannySetupContext("_extend", 0); + + /* "multidict/_multidict.pyx":204 + * cdef object i + * + * if len(args) > 1: # <<<<<<<<<<<<<< + * raise TypeError("{} takes at most 1 positional argument" + * " ({} given)".format(name, len(args))) + */ + if (unlikely(__pyx_v_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(0, 204, __pyx_L1_error) + } + __pyx_t_1 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 204, __pyx_L1_error) + __pyx_t_2 = ((__pyx_t_1 > 1) != 0); + if (unlikely(__pyx_t_2)) { + + /* "multidict/_multidict.pyx":206 + * if len(args) > 1: + * raise TypeError("{} takes at most 1 positional argument" + * " ({} given)".format(name, len(args))) # <<<<<<<<<<<<<< + * + * if args: + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_takes_at_most_1_positional_argu, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 206, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (unlikely(__pyx_v_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(0, 206, __pyx_L1_error) + } + __pyx_t_1 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 206, __pyx_L1_error) + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 206, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_name, __pyx_t_5}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 206, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_name, __pyx_t_5}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 206, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 206, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_6) { + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL; + } + __Pyx_INCREF(__pyx_v_name); + __Pyx_GIVEREF(__pyx_v_name); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_name); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 206, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "multidict/_multidict.pyx":205 + * + * if len(args) > 1: + * raise TypeError("{} takes at most 1 positional argument" # <<<<<<<<<<<<<< + * " ({} given)".format(name, len(args))) + * + */ + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 205, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 205, __pyx_L1_error) + + /* "multidict/_multidict.pyx":204 + * cdef object i + * + * if len(args) > 1: # <<<<<<<<<<<<<< + * raise TypeError("{} takes at most 1 positional argument" + * " ({} given)".format(name, len(args))) + */ + } + + /* "multidict/_multidict.pyx":208 + * " ({} given)".format(name, len(args))) + * + * if args: # <<<<<<<<<<<<<< + * arg = args[0] + * if isinstance(arg, _Base) and not kwargs: + */ + __pyx_t_2 = (__pyx_v_args != Py_None)&&(PyTuple_GET_SIZE(__pyx_v_args) != 0); + if (__pyx_t_2) { + + /* "multidict/_multidict.pyx":209 + * + * if args: + * arg = args[0] # <<<<<<<<<<<<<< + * if isinstance(arg, _Base) and not kwargs: + * if do_add: + */ + if (unlikely(__pyx_v_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 209, __pyx_L1_error) + } + __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 209, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_v_arg = __pyx_t_4; + __pyx_t_4 = 0; + + /* "multidict/_multidict.pyx":210 + * if args: + * arg = args[0] + * if isinstance(arg, _Base) and not kwargs: # <<<<<<<<<<<<<< + * if do_add: + * self._append_items((<_Base>arg)._impl) + */ + __pyx_t_9 = __Pyx_TypeCheck(__pyx_v_arg, __pyx_ptype_9multidict_10_multidict__Base); + __pyx_t_10 = (__pyx_t_9 != 0); + if (__pyx_t_10) { + } else { + __pyx_t_2 = __pyx_t_10; + goto __pyx_L6_bool_binop_done; + } + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_kwargs); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 210, __pyx_L1_error) + __pyx_t_9 = ((!__pyx_t_10) != 0); + __pyx_t_2 = __pyx_t_9; + __pyx_L6_bool_binop_done:; + if (__pyx_t_2) { + + /* "multidict/_multidict.pyx":211 + * arg = args[0] + * if isinstance(arg, _Base) and not kwargs: + * if do_add: # <<<<<<<<<<<<<< + * self._append_items((<_Base>arg)._impl) + * else: + */ + __pyx_t_2 = (__pyx_v_do_add != 0); + if (__pyx_t_2) { + + /* "multidict/_multidict.pyx":212 + * if isinstance(arg, _Base) and not kwargs: + * if do_add: + * self._append_items((<_Base>arg)._impl) # <<<<<<<<<<<<<< + * else: + * self._update_items((<_Base>arg)._impl) + */ + __pyx_t_4 = ((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_arg)->_impl; + __Pyx_INCREF(__pyx_t_4); + __pyx_t_3 = ((struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict *)__pyx_v_self->__pyx_base.__pyx_vtab)->_append_items(__pyx_v_self, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 212, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "multidict/_multidict.pyx":211 + * arg = args[0] + * if isinstance(arg, _Base) and not kwargs: + * if do_add: # <<<<<<<<<<<<<< + * self._append_items((<_Base>arg)._impl) + * else: + */ + goto __pyx_L8; + } + + /* "multidict/_multidict.pyx":214 + * self._append_items((<_Base>arg)._impl) + * else: + * self._update_items((<_Base>arg)._impl) # <<<<<<<<<<<<<< + * else: + * if hasattr(arg, 'items'): + */ + /*else*/ { + __pyx_t_3 = ((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v_arg)->_impl; + __Pyx_INCREF(__pyx_t_3); + __pyx_t_4 = ((struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict *)__pyx_v_self->__pyx_base.__pyx_vtab)->_update_items(__pyx_v_self, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 214, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __pyx_L8:; + + /* "multidict/_multidict.pyx":210 + * if args: + * arg = args[0] + * if isinstance(arg, _Base) and not kwargs: # <<<<<<<<<<<<<< + * if do_add: + * self._append_items((<_Base>arg)._impl) + */ + goto __pyx_L5; + } + + /* "multidict/_multidict.pyx":216 + * self._update_items((<_Base>arg)._impl) + * else: + * if hasattr(arg, 'items'): # <<<<<<<<<<<<<< + * arg = arg.items() + * if kwargs: + */ + /*else*/ { + __pyx_t_2 = __Pyx_HasAttr(__pyx_v_arg, __pyx_n_s_items); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 216, __pyx_L1_error) + __pyx_t_9 = (__pyx_t_2 != 0); + if (__pyx_t_9) { + + /* "multidict/_multidict.pyx":217 + * else: + * if hasattr(arg, 'items'): + * arg = arg.items() # <<<<<<<<<<<<<< + * if kwargs: + * arg = list(arg) + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 217, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 217, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_arg, __pyx_t_4); + __pyx_t_4 = 0; + + /* "multidict/_multidict.pyx":216 + * self._update_items((<_Base>arg)._impl) + * else: + * if hasattr(arg, 'items'): # <<<<<<<<<<<<<< + * arg = arg.items() + * if kwargs: + */ + } + + /* "multidict/_multidict.pyx":218 + * if hasattr(arg, 'items'): + * arg = arg.items() + * if kwargs: # <<<<<<<<<<<<<< + * arg = list(arg) + * arg.extend(list(kwargs.items())) + */ + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_kwargs); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 218, __pyx_L1_error) + if (__pyx_t_9) { + + /* "multidict/_multidict.pyx":219 + * arg = arg.items() + * if kwargs: + * arg = list(arg) # <<<<<<<<<<<<<< + * arg.extend(list(kwargs.items())) + * if do_add: + */ + __pyx_t_4 = PySequence_List(__pyx_v_arg); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 219, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF_SET(__pyx_v_arg, __pyx_t_4); + __pyx_t_4 = 0; + + /* "multidict/_multidict.pyx":220 + * if kwargs: + * arg = list(arg) + * arg.extend(list(kwargs.items())) # <<<<<<<<<<<<<< + * if do_add: + * self._append_items_seq(arg, name) + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_extend); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (unlikely(__pyx_v_kwargs == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items"); + __PYX_ERR(0, 220, __pyx_L1_error) + } + __pyx_t_8 = __Pyx_PyDict_Items(__pyx_v_kwargs); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_5 = PySequence_List(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "multidict/_multidict.pyx":218 + * if hasattr(arg, 'items'): + * arg = arg.items() + * if kwargs: # <<<<<<<<<<<<<< + * arg = list(arg) + * arg.extend(list(kwargs.items())) + */ + } + + /* "multidict/_multidict.pyx":221 + * arg = list(arg) + * arg.extend(list(kwargs.items())) + * if do_add: # <<<<<<<<<<<<<< + * self._append_items_seq(arg, name) + * else: + */ + __pyx_t_9 = (__pyx_v_do_add != 0); + if (__pyx_t_9) { + + /* "multidict/_multidict.pyx":222 + * arg.extend(list(kwargs.items())) + * if do_add: + * self._append_items_seq(arg, name) # <<<<<<<<<<<<<< + * else: + * pair_list_update_from_seq(self._impl, arg) + */ + __pyx_t_4 = ((struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict *)__pyx_v_self->__pyx_base.__pyx_vtab)->_append_items_seq(__pyx_v_self, __pyx_v_arg, __pyx_v_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 222, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "multidict/_multidict.pyx":221 + * arg = list(arg) + * arg.extend(list(kwargs.items())) + * if do_add: # <<<<<<<<<<<<<< + * self._append_items_seq(arg, name) + * else: + */ + goto __pyx_L11; + } + + /* "multidict/_multidict.pyx":224 + * self._append_items_seq(arg, name) + * else: + * pair_list_update_from_seq(self._impl, arg) # <<<<<<<<<<<<<< + * else: + * arg = list(kwargs.items()) + */ + /*else*/ { + __pyx_t_4 = __pyx_v_self->__pyx_base._impl; + __Pyx_INCREF(__pyx_t_4); + __pyx_t_7 = pair_list_update_from_seq(__pyx_t_4, __pyx_v_arg); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 224, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __pyx_L11:; + } + __pyx_L5:; + + /* "multidict/_multidict.pyx":208 + * " ({} given)".format(name, len(args))) + * + * if args: # <<<<<<<<<<<<<< + * arg = args[0] + * if isinstance(arg, _Base) and not kwargs: + */ + goto __pyx_L4; + } + + /* "multidict/_multidict.pyx":226 + * pair_list_update_from_seq(self._impl, arg) + * else: + * arg = list(kwargs.items()) # <<<<<<<<<<<<<< + * if do_add: + * self._append_items_seq(arg, name) + */ + /*else*/ { + if (unlikely(__pyx_v_kwargs == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items"); + __PYX_ERR(0, 226, __pyx_L1_error) + } + __pyx_t_4 = __Pyx_PyDict_Items(__pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 226, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PySequence_List(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 226, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_arg = __pyx_t_3; + __pyx_t_3 = 0; + + /* "multidict/_multidict.pyx":227 + * else: + * arg = list(kwargs.items()) + * if do_add: # <<<<<<<<<<<<<< + * self._append_items_seq(arg, name) + * else: + */ + __pyx_t_9 = (__pyx_v_do_add != 0); + if (__pyx_t_9) { + + /* "multidict/_multidict.pyx":228 + * arg = list(kwargs.items()) + * if do_add: + * self._append_items_seq(arg, name) # <<<<<<<<<<<<<< + * else: + * pair_list_update_from_seq(self._impl, arg) + */ + __pyx_t_3 = ((struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict *)__pyx_v_self->__pyx_base.__pyx_vtab)->_append_items_seq(__pyx_v_self, __pyx_v_arg, __pyx_v_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 228, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "multidict/_multidict.pyx":227 + * else: + * arg = list(kwargs.items()) + * if do_add: # <<<<<<<<<<<<<< + * self._append_items_seq(arg, name) + * else: + */ + goto __pyx_L12; + } + + /* "multidict/_multidict.pyx":230 + * self._append_items_seq(arg, name) + * else: + * pair_list_update_from_seq(self._impl, arg) # <<<<<<<<<<<<<< + * + * cdef object _update_items(self, object impl): + */ + /*else*/ { + __pyx_t_3 = __pyx_v_self->__pyx_base._impl; + __Pyx_INCREF(__pyx_t_3); + __pyx_t_7 = pair_list_update_from_seq(__pyx_t_3, __pyx_v_arg); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 230, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __pyx_L12:; + } + __pyx_L4:; + + /* "multidict/_multidict.pyx":198 + * ) + * + * cdef _extend(self, tuple args, dict kwargs, name, bint do_add): # <<<<<<<<<<<<<< + * cdef object key + * cdef object value + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("multidict._multidict.MultiDict._extend", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_arg); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":232 + * pair_list_update_from_seq(self._impl, arg) + * + * cdef object _update_items(self, object impl): # <<<<<<<<<<<<<< + * pair_list_update(self._impl, impl) + * + */ + +static PyObject *__pyx_f_9multidict_10_multidict_9MultiDict__update_items(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_impl) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + __Pyx_RefNannySetupContext("_update_items", 0); + + /* "multidict/_multidict.pyx":233 + * + * cdef object _update_items(self, object impl): + * pair_list_update(self._impl, impl) # <<<<<<<<<<<<<< + * + * cdef object _append_items(self, object impl): + */ + __pyx_t_1 = __pyx_v_self->__pyx_base._impl; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_2 = pair_list_update(__pyx_t_1, __pyx_v_impl); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 233, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":232 + * pair_list_update_from_seq(self._impl, arg) + * + * cdef object _update_items(self, object impl): # <<<<<<<<<<<<<< + * pair_list_update(self._impl, impl) + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict.MultiDict._update_items", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":235 + * pair_list_update(self._impl, impl) + * + * cdef object _append_items(self, object impl): # <<<<<<<<<<<<<< + * cdef PyObject *key + * cdef PyObject *val + */ + +static PyObject *__pyx_f_9multidict_10_multidict_9MultiDict__append_items(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_impl) { + PyObject *__pyx_v_key; + PyObject *__pyx_v_val; + Py_ssize_t __pyx_v_pos; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("_append_items", 0); + + /* "multidict/_multidict.pyx":239 + * cdef PyObject *val + * cdef Py_ssize_t pos + * pos = 0 # <<<<<<<<<<<<<< + * while _pair_list_next(impl, &pos, NULL, &key, &val, NULL): + * self._add(<object>key, <object>val) + */ + __pyx_v_pos = 0; + + /* "multidict/_multidict.pyx":240 + * cdef Py_ssize_t pos + * pos = 0 + * while _pair_list_next(impl, &pos, NULL, &key, &val, NULL): # <<<<<<<<<<<<<< + * self._add(<object>key, <object>val) + * + */ + while (1) { + __pyx_t_1 = _pair_list_next(__pyx_v_impl, (&__pyx_v_pos), NULL, (&__pyx_v_key), (&__pyx_v_val), NULL); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 240, __pyx_L1_error) + __pyx_t_2 = (__pyx_t_1 != 0); + if (!__pyx_t_2) break; + + /* "multidict/_multidict.pyx":241 + * pos = 0 + * while _pair_list_next(impl, &pos, NULL, &key, &val, NULL): + * self._add(<object>key, <object>val) # <<<<<<<<<<<<<< + * + * cdef object _append_items_seq(self, object arg, object name): + */ + __pyx_t_3 = ((struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict *)__pyx_v_self->__pyx_base.__pyx_vtab)->_add(__pyx_v_self, ((PyObject *)__pyx_v_key), ((PyObject *)__pyx_v_val)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 241, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + + /* "multidict/_multidict.pyx":235 + * pair_list_update(self._impl, impl) + * + * cdef object _append_items(self, object impl): # <<<<<<<<<<<<<< + * cdef PyObject *key + * cdef PyObject *val + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("multidict._multidict.MultiDict._append_items", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":243 + * self._add(<object>key, <object>val) + * + * cdef object _append_items_seq(self, object arg, object name): # <<<<<<<<<<<<<< + * cdef object i + * cdef object key + */ + +static PyObject *__pyx_f_9multidict_10_multidict_9MultiDict__append_items_seq(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_arg, PyObject *__pyx_v_name) { + PyObject *__pyx_v_i = 0; + PyObject *__pyx_v_key = 0; + PyObject *__pyx_v_value = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + PyObject *(*__pyx_t_3)(PyObject *); + PyObject *__pyx_t_4 = NULL; + Py_ssize_t __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + __Pyx_RefNannySetupContext("_append_items_seq", 0); + + /* "multidict/_multidict.pyx":247 + * cdef object key + * cdef object value + * for i in arg: # <<<<<<<<<<<<<< + * if not len(i) == 2: + * raise TypeError( + */ + if (likely(PyList_CheckExact(__pyx_v_arg)) || PyTuple_CheckExact(__pyx_v_arg)) { + __pyx_t_1 = __pyx_v_arg; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; + __pyx_t_3 = NULL; + } else { + __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 247, __pyx_L1_error) + } + for (;;) { + if (likely(!__pyx_t_3)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 247, __pyx_L1_error) + #else + __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 247, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } else { + if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 247, __pyx_L1_error) + #else + __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 247, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } + } else { + __pyx_t_4 = __pyx_t_3(__pyx_t_1); + if (unlikely(!__pyx_t_4)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 247, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_4); + } + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4); + __pyx_t_4 = 0; + + /* "multidict/_multidict.pyx":248 + * cdef object value + * for i in arg: + * if not len(i) == 2: # <<<<<<<<<<<<<< + * raise TypeError( + * "{} takes either dict or list of (key, value) " + */ + __pyx_t_5 = PyObject_Length(__pyx_v_i); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 248, __pyx_L1_error) + __pyx_t_6 = ((!((__pyx_t_5 == 2) != 0)) != 0); + if (unlikely(__pyx_t_6)) { + + /* "multidict/_multidict.pyx":251 + * raise TypeError( + * "{} takes either dict or list of (key, value) " + * "tuples".format(name)) # <<<<<<<<<<<<<< + * key = i[0] + * value = i[1] + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_takes_either_dict_or_list_of_ke, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 251, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_v_name) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_name); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 251, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "multidict/_multidict.pyx":249 + * for i in arg: + * if not len(i) == 2: + * raise TypeError( # <<<<<<<<<<<<<< + * "{} takes either dict or list of (key, value) " + * "tuples".format(name)) + */ + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 249, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_7, 0, 0, 0); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __PYX_ERR(0, 249, __pyx_L1_error) + + /* "multidict/_multidict.pyx":248 + * cdef object value + * for i in arg: + * if not len(i) == 2: # <<<<<<<<<<<<<< + * raise TypeError( + * "{} takes either dict or list of (key, value) " + */ + } + + /* "multidict/_multidict.pyx":252 + * "{} takes either dict or list of (key, value) " + * "tuples".format(name)) + * key = i[0] # <<<<<<<<<<<<<< + * value = i[1] + * self._add(key, value) + */ + __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_i, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 252, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_7); + __pyx_t_7 = 0; + + /* "multidict/_multidict.pyx":253 + * "tuples".format(name)) + * key = i[0] + * value = i[1] # <<<<<<<<<<<<<< + * self._add(key, value) + * + */ + __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_i, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 253, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_7); + __pyx_t_7 = 0; + + /* "multidict/_multidict.pyx":254 + * key = i[0] + * value = i[1] + * self._add(key, value) # <<<<<<<<<<<<<< + * + * cdef _add(self, key, value): + */ + __pyx_t_7 = ((struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict *)__pyx_v_self->__pyx_base.__pyx_vtab)->_add(__pyx_v_self, __pyx_v_key, __pyx_v_value); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 254, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "multidict/_multidict.pyx":247 + * cdef object key + * cdef object value + * for i in arg: # <<<<<<<<<<<<<< + * if not len(i) == 2: + * raise TypeError( + */ + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":243 + * self._add(<object>key, <object>val) + * + * cdef object _append_items_seq(self, object arg, object name): # <<<<<<<<<<<<<< + * cdef object i + * cdef object key + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("multidict._multidict.MultiDict._append_items_seq", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_i); + __Pyx_XDECREF(__pyx_v_key); + __Pyx_XDECREF(__pyx_v_value); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":256 + * self._add(key, value) + * + * cdef _add(self, key, value): # <<<<<<<<<<<<<< + * pair_list_add(self._impl, key, value); + * + */ + +static PyObject *__pyx_f_9multidict_10_multidict_9MultiDict__add(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + __Pyx_RefNannySetupContext("_add", 0); + + /* "multidict/_multidict.pyx":257 + * + * cdef _add(self, key, value): + * pair_list_add(self._impl, key, value); # <<<<<<<<<<<<<< + * + * cdef _replace(self, key, value): + */ + __pyx_t_1 = __pyx_v_self->__pyx_base._impl; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_2 = pair_list_add(__pyx_t_1, __pyx_v_key, __pyx_v_value); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 257, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":256 + * self._add(key, value) + * + * cdef _add(self, key, value): # <<<<<<<<<<<<<< + * pair_list_add(self._impl, key, value); + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict.MultiDict._add", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":259 + * pair_list_add(self._impl, key, value); + * + * cdef _replace(self, key, value): # <<<<<<<<<<<<<< + * pair_list_replace(self._impl, key, value) + * + */ + +static PyObject *__pyx_f_9multidict_10_multidict_9MultiDict__replace(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + __Pyx_RefNannySetupContext("_replace", 0); + + /* "multidict/_multidict.pyx":260 + * + * cdef _replace(self, key, value): + * pair_list_replace(self._impl, key, value) # <<<<<<<<<<<<<< + * + * def add(self, key, value): + */ + __pyx_t_1 = __pyx_v_self->__pyx_base._impl; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_2 = pair_list_replace(__pyx_t_1, __pyx_v_key, __pyx_v_value); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 260, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":259 + * pair_list_add(self._impl, key, value); + * + * cdef _replace(self, key, value): # <<<<<<<<<<<<<< + * pair_list_replace(self._impl, key, value) + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict.MultiDict._replace", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":262 + * pair_list_replace(self._impl, key, value) + * + * def add(self, key, value): # <<<<<<<<<<<<<< + * """Add the key and value, not overwriting any previous value.""" + * self._add(key, value) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_5add(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_9MultiDict_4add[] = "Add the key and value, not overwriting any previous value."; +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_5add(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_key = 0; + PyObject *__pyx_v_value = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("add (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_value,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("add", 1, 2, 2, 1); __PYX_ERR(0, 262, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "add") < 0)) __PYX_ERR(0, 262, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_key = values[0]; + __pyx_v_value = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("add", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 262, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("multidict._multidict.MultiDict.add", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_9multidict_10_multidict_9MultiDict_4add(((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_v_self), __pyx_v_key, __pyx_v_value); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_4add(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("add", 0); + + /* "multidict/_multidict.pyx":264 + * def add(self, key, value): + * """Add the key and value, not overwriting any previous value.""" + * self._add(key, value) # <<<<<<<<<<<<<< + * + * def copy(self): + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict *)__pyx_v_self->__pyx_base.__pyx_vtab)->_add(__pyx_v_self, __pyx_v_key, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 264, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":262 + * pair_list_replace(self._impl, key, value) + * + * def add(self, key, value): # <<<<<<<<<<<<<< + * """Add the key and value, not overwriting any previous value.""" + * self._add(key, value) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict.MultiDict.add", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":266 + * self._add(key, value) + * + * def copy(self): # <<<<<<<<<<<<<< + * """Return a copy of itself.""" + * ret = MultiDict() + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_7copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_9MultiDict_6copy[] = "Return a copy of itself."; +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_7copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("copy (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_9MultiDict_6copy(((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_6copy(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self) { + struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_ret = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("copy", 0); + + /* "multidict/_multidict.pyx":268 + * def copy(self): + * """Return a copy of itself.""" + * ret = MultiDict() # <<<<<<<<<<<<<< + * ret._extend((list(self.items()),), {}, 'copy', True) + * return ret + */ + __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9multidict_10_multidict_MultiDict)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 268, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_ret = ((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":269 + * """Return a copy of itself.""" + * ret = MultiDict() + * ret._extend((list(self.items()),), {}, 'copy', True) # <<<<<<<<<<<<<< + * return ret + * + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_items); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 269, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 269, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 269, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = ((struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict *)__pyx_v_ret->__pyx_base.__pyx_vtab)->_extend(__pyx_v_ret, ((PyObject*)__pyx_t_1), ((PyObject*)__pyx_t_2), __pyx_n_s_copy, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 269, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "multidict/_multidict.pyx":270 + * ret = MultiDict() + * ret._extend((list(self.items()),), {}, 'copy', True) + * return ret # <<<<<<<<<<<<<< + * + * def extend(self, *args, **kwargs): + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_ret)); + __pyx_r = ((PyObject *)__pyx_v_ret); + goto __pyx_L0; + + /* "multidict/_multidict.pyx":266 + * self._add(key, value) + * + * def copy(self): # <<<<<<<<<<<<<< + * """Return a copy of itself.""" + * ret = MultiDict() + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("multidict._multidict.MultiDict.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_ret); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":272 + * return ret + * + * def extend(self, *args, **kwargs): # <<<<<<<<<<<<<< + * """Extend current MultiDict with more values. + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_9extend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_9MultiDict_8extend[] = "Extend current MultiDict with more values.\n\n This method must be used instead of update.\n "; +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_9extend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_args = 0; + PyObject *__pyx_v_kwargs = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("extend (wrapper)", 0); + if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "extend", 1))) return NULL; + __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; + __Pyx_GOTREF(__pyx_v_kwargs); + __Pyx_INCREF(__pyx_args); + __pyx_v_args = __pyx_args; + __pyx_r = __pyx_pf_9multidict_10_multidict_9MultiDict_8extend(((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_XDECREF(__pyx_v_kwargs); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_8extend(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("extend", 0); + + /* "multidict/_multidict.pyx":277 + * This method must be used instead of update. + * """ + * self._extend(args, kwargs, "extend", True) # <<<<<<<<<<<<<< + * + * def clear(self): + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict *)__pyx_v_self->__pyx_base.__pyx_vtab)->_extend(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, __pyx_n_s_extend, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 277, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":272 + * return ret + * + * def extend(self, *args, **kwargs): # <<<<<<<<<<<<<< + * """Extend current MultiDict with more values. + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict.MultiDict.extend", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":279 + * self._extend(args, kwargs, "extend", True) + * + * def clear(self): # <<<<<<<<<<<<<< + * """Remove all items from MultiDict""" + * pair_list_clear(self._impl) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_11clear(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_9MultiDict_10clear[] = "Remove all items from MultiDict"; +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_11clear(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("clear (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_9MultiDict_10clear(((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_10clear(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + __Pyx_RefNannySetupContext("clear", 0); + + /* "multidict/_multidict.pyx":281 + * def clear(self): + * """Remove all items from MultiDict""" + * pair_list_clear(self._impl) # <<<<<<<<<<<<<< + * + * # MutableMapping interface # + */ + __pyx_t_1 = __pyx_v_self->__pyx_base._impl; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_2 = pair_list_clear(__pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 281, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":279 + * self._extend(args, kwargs, "extend", True) + * + * def clear(self): # <<<<<<<<<<<<<< + * """Remove all items from MultiDict""" + * pair_list_clear(self._impl) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict.MultiDict.clear", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":285 + * # MutableMapping interface # + * + * def __setitem__(self, key, value): # <<<<<<<<<<<<<< + * self._replace(key, value) + * + */ + +/* Python wrapper */ +static int __pyx_pw_9multidict_10_multidict_9MultiDict_13__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_9multidict_10_multidict_9MultiDict_13__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_9MultiDict_12__setitem__(((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_v_self), ((PyObject *)__pyx_v_key), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_9multidict_10_multidict_9MultiDict_12__setitem__(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__setitem__", 0); + + /* "multidict/_multidict.pyx":286 + * + * def __setitem__(self, key, value): + * self._replace(key, value) # <<<<<<<<<<<<<< + * + * def __delitem__(self, key): + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict *)__pyx_v_self->__pyx_base.__pyx_vtab)->_replace(__pyx_v_self, __pyx_v_key, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 286, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":285 + * # MutableMapping interface # + * + * def __setitem__(self, key, value): # <<<<<<<<<<<<<< + * self._replace(key, value) + * + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict.MultiDict.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":288 + * self._replace(key, value) + * + * def __delitem__(self, key): # <<<<<<<<<<<<<< + * pair_list_del(self._impl, key) + * + */ + +/* Python wrapper */ +static int __pyx_pw_9multidict_10_multidict_9MultiDict_15__delitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/ +static int __pyx_pw_9multidict_10_multidict_9MultiDict_15__delitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__delitem__ (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_9MultiDict_14__delitem__(((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_v_self), ((PyObject *)__pyx_v_key)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_9multidict_10_multidict_9MultiDict_14__delitem__(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + __Pyx_RefNannySetupContext("__delitem__", 0); + + /* "multidict/_multidict.pyx":289 + * + * def __delitem__(self, key): + * pair_list_del(self._impl, key) # <<<<<<<<<<<<<< + * + * def setdefault(self, key, default=None): + */ + __pyx_t_1 = __pyx_v_self->__pyx_base._impl; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_2 = pair_list_del(__pyx_t_1, __pyx_v_key); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 289, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":288 + * self._replace(key, value) + * + * def __delitem__(self, key): # <<<<<<<<<<<<<< + * pair_list_del(self._impl, key) + * + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict.MultiDict.__delitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":291 + * pair_list_del(self._impl, key) + * + * def setdefault(self, key, default=None): # <<<<<<<<<<<<<< + * """Return value for key, set value to default if key is not present.""" + * return pair_list_set_default(self._impl, key, default) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_17setdefault(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_9MultiDict_16setdefault[] = "Return value for key, set value to default if key is not present."; +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_17setdefault(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_key = 0; + PyObject *__pyx_v_default = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("setdefault (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_default,0}; + PyObject* values[2] = {0,0}; + values[1] = ((PyObject *)Py_None); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_default); + if (value) { values[1] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "setdefault") < 0)) __PYX_ERR(0, 291, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_key = values[0]; + __pyx_v_default = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("setdefault", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 291, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("multidict._multidict.MultiDict.setdefault", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_9multidict_10_multidict_9MultiDict_16setdefault(((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_v_self), __pyx_v_key, __pyx_v_default); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_16setdefault(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + __Pyx_RefNannySetupContext("setdefault", 0); + + /* "multidict/_multidict.pyx":293 + * def setdefault(self, key, default=None): + * """Return value for key, set value to default if key is not present.""" + * return pair_list_set_default(self._impl, key, default) # <<<<<<<<<<<<<< + * + * def popone(self, key, default=_marker): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __pyx_v_self->__pyx_base._impl; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_2 = pair_list_set_default(__pyx_t_1, __pyx_v_key, __pyx_v_default); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 293, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":291 + * pair_list_del(self._impl, key) + * + * def setdefault(self, key, default=None): # <<<<<<<<<<<<<< + * """Return value for key, set value to default if key is not present.""" + * return pair_list_set_default(self._impl, key, default) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("multidict._multidict.MultiDict.setdefault", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":295 + * return pair_list_set_default(self._impl, key, default) + * + * def popone(self, key, default=_marker): # <<<<<<<<<<<<<< + * """Remove the last occurrence of key and return the corresponding + * value. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_19popone(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_9MultiDict_18popone[] = "Remove the last occurrence of key and return the corresponding\n value.\n\n If key is not found, default is returned if given, otherwise\n KeyError is raised.\n\n "; +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_19popone(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_key = 0; + PyObject *__pyx_v_default = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("popone (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_default,0}; + PyObject* values[2] = {0,0}; + values[1] = __pyx_k__6; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_default); + if (value) { values[1] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "popone") < 0)) __PYX_ERR(0, 295, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_key = values[0]; + __pyx_v_default = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("popone", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 295, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("multidict._multidict.MultiDict.popone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_9multidict_10_multidict_9MultiDict_18popone(((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_v_self), __pyx_v_key, __pyx_v_default); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_18popone(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + int __pyx_t_9; + __Pyx_RefNannySetupContext("popone", 0); + + /* "multidict/_multidict.pyx":303 + * + * """ + * try: # <<<<<<<<<<<<<< + * return pair_list_pop_one(self._impl, key) + * except KeyError: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "multidict/_multidict.pyx":304 + * """ + * try: + * return pair_list_pop_one(self._impl, key) # <<<<<<<<<<<<<< + * except KeyError: + * if default is _marker: + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __pyx_v_self->__pyx_base._impl; + __Pyx_INCREF(__pyx_t_4); + __pyx_t_5 = pair_list_pop_one(__pyx_t_4, __pyx_v_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 304, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L7_try_return; + + /* "multidict/_multidict.pyx":303 + * + * """ + * try: # <<<<<<<<<<<<<< + * return pair_list_pop_one(self._impl, key) + * except KeyError: + */ + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "multidict/_multidict.pyx":305 + * try: + * return pair_list_pop_one(self._impl, key) + * except KeyError: # <<<<<<<<<<<<<< + * if default is _marker: + * raise + */ + __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError); + if (__pyx_t_6) { + __Pyx_AddTraceback("multidict._multidict.MultiDict.popone", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_7) < 0) __PYX_ERR(0, 305, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_7); + + /* "multidict/_multidict.pyx":306 + * return pair_list_pop_one(self._impl, key) + * except KeyError: + * if default is _marker: # <<<<<<<<<<<<<< + * raise + * else: + */ + __pyx_t_8 = (__pyx_v_default == __pyx_v_9multidict_10_multidict__marker); + __pyx_t_9 = (__pyx_t_8 != 0); + if (unlikely(__pyx_t_9)) { + + /* "multidict/_multidict.pyx":307 + * except KeyError: + * if default is _marker: + * raise # <<<<<<<<<<<<<< + * else: + * return default + */ + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_4, __pyx_t_7); + __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_7 = 0; + __PYX_ERR(0, 307, __pyx_L5_except_error) + + /* "multidict/_multidict.pyx":306 + * return pair_list_pop_one(self._impl, key) + * except KeyError: + * if default is _marker: # <<<<<<<<<<<<<< + * raise + * else: + */ + } + + /* "multidict/_multidict.pyx":309 + * raise + * else: + * return default # <<<<<<<<<<<<<< + * + * pop = popone + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_default); + __pyx_r = __pyx_v_default; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L6_except_return; + } + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "multidict/_multidict.pyx":303 + * + * """ + * try: # <<<<<<<<<<<<<< + * return pair_list_pop_one(self._impl, key) + * except KeyError: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L7_try_return:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L0; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L0; + } + + /* "multidict/_multidict.pyx":295 + * return pair_list_set_default(self._impl, key, default) + * + * def popone(self, key, default=_marker): # <<<<<<<<<<<<<< + * """Remove the last occurrence of key and return the corresponding + * value. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("multidict._multidict.MultiDict.popone", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":313 + * pop = popone + * + * def popall(self, key, default=_marker): # <<<<<<<<<<<<<< + * """Remove all occurrences of key and return the list of corresponding + * values. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_21popall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_9MultiDict_20popall[] = "Remove all occurrences of key and return the list of corresponding\n values.\n\n If key is not found, default is returned if given, otherwise\n KeyError is raised.\n\n "; +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_21popall(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_key = 0; + PyObject *__pyx_v_default = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("popall (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_default,0}; + PyObject* values[2] = {0,0}; + values[1] = __pyx_k__7; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_default); + if (value) { values[1] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "popall") < 0)) __PYX_ERR(0, 313, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_key = values[0]; + __pyx_v_default = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("popall", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 313, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("multidict._multidict.MultiDict.popall", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_9multidict_10_multidict_9MultiDict_20popall(((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_v_self), __pyx_v_key, __pyx_v_default); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_20popall(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_default) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + int __pyx_t_9; + __Pyx_RefNannySetupContext("popall", 0); + + /* "multidict/_multidict.pyx":321 + * + * """ + * try: # <<<<<<<<<<<<<< + * return pair_list_pop_all(self._impl, key) + * except KeyError: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "multidict/_multidict.pyx":322 + * """ + * try: + * return pair_list_pop_all(self._impl, key) # <<<<<<<<<<<<<< + * except KeyError: + * if default is _marker: + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __pyx_v_self->__pyx_base._impl; + __Pyx_INCREF(__pyx_t_4); + __pyx_t_5 = pair_list_pop_all(__pyx_t_4, __pyx_v_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 322, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L7_try_return; + + /* "multidict/_multidict.pyx":321 + * + * """ + * try: # <<<<<<<<<<<<<< + * return pair_list_pop_all(self._impl, key) + * except KeyError: + */ + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "multidict/_multidict.pyx":323 + * try: + * return pair_list_pop_all(self._impl, key) + * except KeyError: # <<<<<<<<<<<<<< + * if default is _marker: + * raise + */ + __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError); + if (__pyx_t_6) { + __Pyx_AddTraceback("multidict._multidict.MultiDict.popall", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_7) < 0) __PYX_ERR(0, 323, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_7); + + /* "multidict/_multidict.pyx":324 + * return pair_list_pop_all(self._impl, key) + * except KeyError: + * if default is _marker: # <<<<<<<<<<<<<< + * raise + * else: + */ + __pyx_t_8 = (__pyx_v_default == __pyx_v_9multidict_10_multidict__marker); + __pyx_t_9 = (__pyx_t_8 != 0); + if (unlikely(__pyx_t_9)) { + + /* "multidict/_multidict.pyx":325 + * except KeyError: + * if default is _marker: + * raise # <<<<<<<<<<<<<< + * else: + * return default + */ + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_4, __pyx_t_7); + __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_7 = 0; + __PYX_ERR(0, 325, __pyx_L5_except_error) + + /* "multidict/_multidict.pyx":324 + * return pair_list_pop_all(self._impl, key) + * except KeyError: + * if default is _marker: # <<<<<<<<<<<<<< + * raise + * else: + */ + } + + /* "multidict/_multidict.pyx":327 + * raise + * else: + * return default # <<<<<<<<<<<<<< + * + * def popitem(self): + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_default); + __pyx_r = __pyx_v_default; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L6_except_return; + } + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "multidict/_multidict.pyx":321 + * + * """ + * try: # <<<<<<<<<<<<<< + * return pair_list_pop_all(self._impl, key) + * except KeyError: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L7_try_return:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L0; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L0; + } + + /* "multidict/_multidict.pyx":313 + * pop = popone + * + * def popall(self, key, default=_marker): # <<<<<<<<<<<<<< + * """Remove all occurrences of key and return the list of corresponding + * values. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("multidict._multidict.MultiDict.popall", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":329 + * return default + * + * def popitem(self): # <<<<<<<<<<<<<< + * """Remove and return an arbitrary (key, value) pair.""" + * return pair_list_pop_item(self._impl) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_23popitem(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_9MultiDict_22popitem[] = "Remove and return an arbitrary (key, value) pair."; +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_23popitem(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("popitem (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_9MultiDict_22popitem(((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_22popitem(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + __Pyx_RefNannySetupContext("popitem", 0); + + /* "multidict/_multidict.pyx":331 + * def popitem(self): + * """Remove and return an arbitrary (key, value) pair.""" + * return pair_list_pop_item(self._impl) # <<<<<<<<<<<<<< + * + * def update(self, *args, **kwargs): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __pyx_v_self->__pyx_base._impl; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_2 = pair_list_pop_item(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 331, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":329 + * return default + * + * def popitem(self): # <<<<<<<<<<<<<< + * """Remove and return an arbitrary (key, value) pair.""" + * return pair_list_pop_item(self._impl) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("multidict._multidict.MultiDict.popitem", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":333 + * return pair_list_pop_item(self._impl) + * + * def update(self, *args, **kwargs): # <<<<<<<<<<<<<< + * """Update the dictionary from *other*, overwriting existing keys.""" + * self._extend(args, kwargs, "update", False) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_25update(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_9MultiDict_24update[] = "Update the dictionary from *other*, overwriting existing keys."; +static PyObject *__pyx_pw_9multidict_10_multidict_9MultiDict_25update(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_args = 0; + PyObject *__pyx_v_kwargs = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("update (wrapper)", 0); + if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "update", 1))) return NULL; + __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; + __Pyx_GOTREF(__pyx_v_kwargs); + __Pyx_INCREF(__pyx_args); + __pyx_v_args = __pyx_args; + __pyx_r = __pyx_pf_9multidict_10_multidict_9MultiDict_24update(((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_XDECREF(__pyx_v_kwargs); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_9MultiDict_24update(struct __pyx_obj_9multidict_10_multidict_MultiDict *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("update", 0); + + /* "multidict/_multidict.pyx":335 + * def update(self, *args, **kwargs): + * """Update the dictionary from *other*, overwriting existing keys.""" + * self._extend(args, kwargs, "update", False) # <<<<<<<<<<<<<< + * + * + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict *)__pyx_v_self->__pyx_base.__pyx_vtab)->_extend(__pyx_v_self, __pyx_v_args, __pyx_v_kwargs, __pyx_n_s_update, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 335, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":333 + * return pair_list_pop_item(self._impl) + * + * def update(self, *args, **kwargs): # <<<<<<<<<<<<<< + * """Update the dictionary from *other*, overwriting existing keys.""" + * self._extend(args, kwargs, "update", False) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict.MultiDict.update", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":344 + * """An ordered dictionary that can have multiple values for each key.""" + * + * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<< + * self._impl = ci_pair_list_new() + * self._extend(args, kwargs, 'CIMultiDict', True) + */ + +/* Python wrapper */ +static int __pyx_pw_9multidict_10_multidict_11CIMultiDict_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_9multidict_10_multidict_11CIMultiDict_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_args = 0; + PyObject *__pyx_v_kwargs = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1; + __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return -1; + __Pyx_GOTREF(__pyx_v_kwargs); + __Pyx_INCREF(__pyx_args); + __pyx_v_args = __pyx_args; + __pyx_r = __pyx_pf_9multidict_10_multidict_11CIMultiDict___init__(((struct __pyx_obj_9multidict_10_multidict_CIMultiDict *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_XDECREF(__pyx_v_kwargs); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_9multidict_10_multidict_11CIMultiDict___init__(struct __pyx_obj_9multidict_10_multidict_CIMultiDict *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__init__", 0); + + /* "multidict/_multidict.pyx":345 + * + * def __init__(self, *args, **kwargs): + * self._impl = ci_pair_list_new() # <<<<<<<<<<<<<< + * self._extend(args, kwargs, 'CIMultiDict', True) + * + */ + __pyx_t_1 = ci_pair_list_new(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 345, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->__pyx_base.__pyx_base._impl); + __Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx_base._impl); + __pyx_v_self->__pyx_base.__pyx_base._impl = __pyx_t_1; + __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":346 + * def __init__(self, *args, **kwargs): + * self._impl = ci_pair_list_new() + * self._extend(args, kwargs, 'CIMultiDict', True) # <<<<<<<<<<<<<< + * + * def __reduce__(self): + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_9multidict_10_multidict_CIMultiDict *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base._extend(((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs, __pyx_n_s_CIMultiDict, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 346, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":344 + * """An ordered dictionary that can have multiple values for each key.""" + * + * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<< + * self._impl = ci_pair_list_new() + * self._extend(args, kwargs, 'CIMultiDict', True) + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("multidict._multidict.CIMultiDict.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":348 + * self._extend(args, kwargs, 'CIMultiDict', True) + * + * def __reduce__(self): # <<<<<<<<<<<<<< + * return ( + * self.__class__, + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_11CIMultiDict_3__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_9multidict_10_multidict_11CIMultiDict_3__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce__ (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_11CIMultiDict_2__reduce__(((struct __pyx_obj_9multidict_10_multidict_CIMultiDict *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_11CIMultiDict_2__reduce__(struct __pyx_obj_9multidict_10_multidict_CIMultiDict *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + __Pyx_RefNannySetupContext("__reduce__", 0); + + /* "multidict/_multidict.pyx":349 + * + * def __reduce__(self): + * return ( # <<<<<<<<<<<<<< + * self.__class__, + * (list(self.items()),), + */ + __Pyx_XDECREF(__pyx_r); + + /* "multidict/_multidict.pyx":350 + * def __reduce__(self): + * return ( + * self.__class__, # <<<<<<<<<<<<<< + * (list(self.items()),), + * ) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_class); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 350, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + + /* "multidict/_multidict.pyx":351 + * return ( + * self.__class__, + * (list(self.items()),), # <<<<<<<<<<<<<< + * ) + * + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 351, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 351, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PySequence_List(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 351, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 351, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); + __pyx_t_3 = 0; + + /* "multidict/_multidict.pyx":350 + * def __reduce__(self): + * return ( + * self.__class__, # <<<<<<<<<<<<<< + * (list(self.items()),), + * ) + */ + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 350, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "multidict/_multidict.pyx":348 + * self._extend(args, kwargs, 'CIMultiDict', True) + * + * def __reduce__(self): # <<<<<<<<<<<<<< + * return ( + * self.__class__, + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("multidict._multidict.CIMultiDict.__reduce__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "multidict/_multidict.pyx":354 + * ) + * + * def copy(self): # <<<<<<<<<<<<<< + * """Return a copy of itself.""" + * ret = CIMultiDict() + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_11CIMultiDict_5copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_9multidict_10_multidict_11CIMultiDict_4copy[] = "Return a copy of itself."; +static PyObject *__pyx_pw_9multidict_10_multidict_11CIMultiDict_5copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("copy (wrapper)", 0); + __pyx_r = __pyx_pf_9multidict_10_multidict_11CIMultiDict_4copy(((struct __pyx_obj_9multidict_10_multidict_CIMultiDict *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_11CIMultiDict_4copy(struct __pyx_obj_9multidict_10_multidict_CIMultiDict *__pyx_v_self) { + struct __pyx_obj_9multidict_10_multidict_CIMultiDict *__pyx_v_ret = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("copy", 0); + + /* "multidict/_multidict.pyx":356 + * def copy(self): + * """Return a copy of itself.""" + * ret = CIMultiDict() # <<<<<<<<<<<<<< + * ret._extend((list(self.items()),), {}, 'copy', True) + * return ret + */ + __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_9multidict_10_multidict_CIMultiDict)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 356, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_ret = ((struct __pyx_obj_9multidict_10_multidict_CIMultiDict *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":357 + * """Return a copy of itself.""" + * ret = CIMultiDict() + * ret._extend((list(self.items()),), {}, 'copy', True) # <<<<<<<<<<<<<< + * return ret + * + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_items); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 357, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 357, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 357, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 357, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 357, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = ((struct __pyx_vtabstruct_9multidict_10_multidict_CIMultiDict *)__pyx_v_ret->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base._extend(((struct __pyx_obj_9multidict_10_multidict_MultiDict *)__pyx_v_ret), ((PyObject*)__pyx_t_1), ((PyObject*)__pyx_t_2), __pyx_n_s_copy, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 357, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "multidict/_multidict.pyx":358 + * ret = CIMultiDict() + * ret._extend((list(self.items()),), {}, 'copy', True) + * return ret # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_ret)); + __pyx_r = ((PyObject *)__pyx_v_ret); + goto __pyx_L0; + + /* "multidict/_multidict.pyx":354 + * ) + * + * def copy(self): # <<<<<<<<<<<<<< + * """Return a copy of itself.""" + * ret = CIMultiDict() + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("multidict._multidict.CIMultiDict.copy", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_ret); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle__Base(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_9multidict_10_multidict_3__pyx_unpickle__Base(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_9multidict_10_multidict_3__pyx_unpickle__Base = {"__pyx_unpickle__Base", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9multidict_10_multidict_3__pyx_unpickle__Base, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_9multidict_10_multidict_3__pyx_unpickle__Base(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle__Base (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__Base", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__Base", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle__Base") < 0)) __PYX_ERR(1, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__Base", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("multidict._multidict.__pyx_unpickle__Base", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_9multidict_10_multidict_2__pyx_unpickle__Base(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_9multidict_10_multidict_2__pyx_unpickle__Base(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + __Pyx_RefNannySetupContext("__pyx_unpickle__Base", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum != 0x4d872fe: # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x4d872fe = (_impl))" % __pyx_checksum) + */ + __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x4d872fe) != 0); + if (__pyx_t_1) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum != 0x4d872fe: + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x4d872fe = (_impl))" % __pyx_checksum) + * __pyx_result = _Base.__new__(__pyx_type) + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError); + __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_2); + __pyx_v___pyx_PickleError = __pyx_t_2; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum != 0x4d872fe: + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x4d872fe = (_impl))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = _Base.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x4d, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum != 0x4d872fe: # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x4d872fe = (_impl))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x4d872fe = (_impl))" % __pyx_checksum) + * __pyx_result = _Base.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle__Base__set_state(<_Base> __pyx_result, __pyx_state) + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_9multidict_10_multidict__Base), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v___pyx_result = __pyx_t_3; + __pyx_t_3 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x4d872fe = (_impl))" % __pyx_checksum) + * __pyx_result = _Base.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle__Base__set_state(<_Base> __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_1 = (__pyx_v___pyx_state != Py_None); + __pyx_t_6 = (__pyx_t_1 != 0); + if (__pyx_t_6) { + + /* "(tree fragment)":9 + * __pyx_result = _Base.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle__Base__set_state(<_Base> __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle__Base__set_state(_Base __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_3 = __pyx_f_9multidict_10_multidict___pyx_unpickle__Base__set_state(((struct __pyx_obj_9multidict_10_multidict__Base *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x4d872fe = (_impl))" % __pyx_checksum) + * __pyx_result = _Base.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle__Base__set_state(<_Base> __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle__Base__set_state(<_Base> __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle__Base__set_state(_Base __pyx_result, tuple __pyx_state): + * __pyx_result._impl = __pyx_state[0] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle__Base(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("multidict._multidict.__pyx_unpickle__Base", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle__Base__set_state(<_Base> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle__Base__set_state(_Base __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._impl = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_9multidict_10_multidict___pyx_unpickle__Base__set_state(struct __pyx_obj_9multidict_10_multidict__Base *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + __Pyx_RefNannySetupContext("__pyx_unpickle__Base__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle__Base__set_state(_Base __pyx_result, tuple __pyx_state): + * __pyx_result._impl = __pyx_state[0] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[1]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->_impl); + __Pyx_DECREF(__pyx_v___pyx_result->_impl); + __pyx_v___pyx_result->_impl = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle__Base__set_state(_Base __pyx_result, tuple __pyx_state): + * __pyx_result._impl = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[1]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(1, 13, __pyx_L1_error) + } + __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_4 = ((__pyx_t_3 > 1) != 0); + if (__pyx_t_4) { + } else { + __pyx_t_2 = __pyx_t_4; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_5 = (__pyx_t_4 != 0); + __pyx_t_2 = __pyx_t_5; + __pyx_L4_bool_binop_done:; + if (__pyx_t_2) { + + /* "(tree fragment)":14 + * __pyx_result._impl = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[1]) # <<<<<<<<<<<<<< + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 14, __pyx_L1_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle__Base__set_state(_Base __pyx_result, tuple __pyx_state): + * __pyx_result._impl = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[1]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle__Base__set_state(<_Base> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle__Base__set_state(_Base __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._impl = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("multidict._multidict.__pyx_unpickle__Base__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} +static struct __pyx_vtabstruct_9multidict_10_multidict__Base __pyx_vtable_9multidict_10_multidict__Base; + +static PyObject *__pyx_tp_new_9multidict_10_multidict__Base(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_9multidict_10_multidict__Base *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_9multidict_10_multidict__Base *)o); + p->__pyx_vtab = __pyx_vtabptr_9multidict_10_multidict__Base; + p->_impl = Py_None; Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_9multidict_10_multidict__Base(PyObject *o) { + struct __pyx_obj_9multidict_10_multidict__Base *p = (struct __pyx_obj_9multidict_10_multidict__Base *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->_impl); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_9multidict_10_multidict__Base(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_9multidict_10_multidict__Base *p = (struct __pyx_obj_9multidict_10_multidict__Base *)o; + if (p->_impl) { + e = (*v)(p->_impl, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_9multidict_10_multidict__Base(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_9multidict_10_multidict__Base *p = (struct __pyx_obj_9multidict_10_multidict__Base *)o; + tmp = ((PyObject*)p->_impl); + p->_impl = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} +static PyObject *__pyx_sq_item_9multidict_10_multidict__Base(PyObject *o, Py_ssize_t i) { + PyObject *r; + PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0; + r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x); + Py_DECREF(x); + return r; +} + +static PyObject *__pyx_tp_richcompare_9multidict_10_multidict__Base(PyObject *o1, PyObject *o2, int op) { + switch (op) { + case Py_EQ: { + return __pyx_pw_9multidict_10_multidict_5_Base_25__eq__(o1, o2); + } + case Py_NE: { + PyObject *ret; + ret = __pyx_pw_9multidict_10_multidict_5_Base_25__eq__(o1, o2); + if (likely(ret && ret != Py_NotImplemented)) { + int b = __Pyx_PyObject_IsTrue(ret); Py_DECREF(ret); + if (unlikely(b < 0)) return NULL; + ret = (b) ? Py_False : Py_True; + Py_INCREF(ret); + } + return ret; + } + default: { + return __Pyx_NewRef(Py_NotImplemented); + } + } +} + +static PyMethodDef __pyx_methods_9multidict_10_multidict__Base[] = { + {"impl", (PyCFunction)__pyx_pw_9multidict_10_multidict_5_Base_1impl, METH_NOARGS, 0}, + {"getall", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9multidict_10_multidict_5_Base_3getall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9multidict_10_multidict_5_Base_2getall}, + {"getone", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9multidict_10_multidict_5_Base_5getone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9multidict_10_multidict_5_Base_4getone}, + {"get", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9multidict_10_multidict_5_Base_9get, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9multidict_10_multidict_5_Base_8get}, + {"keys", (PyCFunction)__pyx_pw_9multidict_10_multidict_5_Base_17keys, METH_NOARGS, __pyx_doc_9multidict_10_multidict_5_Base_16keys}, + {"items", (PyCFunction)__pyx_pw_9multidict_10_multidict_5_Base_19items, METH_NOARGS, __pyx_doc_9multidict_10_multidict_5_Base_18items}, + {"values", (PyCFunction)__pyx_pw_9multidict_10_multidict_5_Base_21values, METH_NOARGS, __pyx_doc_9multidict_10_multidict_5_Base_20values}, + {"__reduce_cython__", (PyCFunction)__pyx_pw_9multidict_10_multidict_5_Base_27__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_9multidict_10_multidict_5_Base_29__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static PySequenceMethods __pyx_tp_as_sequence__Base = { + __pyx_pw_9multidict_10_multidict_5_Base_15__len__, /*sq_length*/ + 0, /*sq_concat*/ + 0, /*sq_repeat*/ + __pyx_sq_item_9multidict_10_multidict__Base, /*sq_item*/ + 0, /*sq_slice*/ + 0, /*sq_ass_item*/ + 0, /*sq_ass_slice*/ + __pyx_pw_9multidict_10_multidict_5_Base_11__contains__, /*sq_contains*/ + 0, /*sq_inplace_concat*/ + 0, /*sq_inplace_repeat*/ +}; + +static PyMappingMethods __pyx_tp_as_mapping__Base = { + __pyx_pw_9multidict_10_multidict_5_Base_15__len__, /*mp_length*/ + __pyx_pw_9multidict_10_multidict_5_Base_7__getitem__, /*mp_subscript*/ + 0, /*mp_ass_subscript*/ +}; + +static PyTypeObject __pyx_type_9multidict_10_multidict__Base = { + PyVarObject_HEAD_INIT(0, 0) + "multidict._multidict._Base", /*tp_name*/ + sizeof(struct __pyx_obj_9multidict_10_multidict__Base), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_9multidict_10_multidict__Base, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + __pyx_pw_9multidict_10_multidict_5_Base_23__repr__, /*tp_repr*/ + 0, /*tp_as_number*/ + &__pyx_tp_as_sequence__Base, /*tp_as_sequence*/ + &__pyx_tp_as_mapping__Base, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_9multidict_10_multidict__Base, /*tp_traverse*/ + __pyx_tp_clear_9multidict_10_multidict__Base, /*tp_clear*/ + __pyx_tp_richcompare_9multidict_10_multidict__Base, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + __pyx_pw_9multidict_10_multidict_5_Base_13__iter__, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_9multidict_10_multidict__Base, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_9multidict_10_multidict__Base, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; +static struct __pyx_vtabstruct_9multidict_10_multidict_MultiDictProxy __pyx_vtable_9multidict_10_multidict_MultiDictProxy; + +static PyObject *__pyx_tp_new_9multidict_10_multidict_MultiDictProxy(PyTypeObject *t, PyObject *a, PyObject *k) { + struct __pyx_obj_9multidict_10_multidict_MultiDictProxy *p; + PyObject *o = __pyx_tp_new_9multidict_10_multidict__Base(t, a, k); + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_9multidict_10_multidict_MultiDictProxy *)o); + p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9multidict_10_multidict__Base*)__pyx_vtabptr_9multidict_10_multidict_MultiDictProxy; + return o; +} + +static PyMethodDef __pyx_methods_9multidict_10_multidict_MultiDictProxy[] = { + {"__reduce__", (PyCFunction)__pyx_pw_9multidict_10_multidict_14MultiDictProxy_3__reduce__, METH_NOARGS, 0}, + {"copy", (PyCFunction)__pyx_pw_9multidict_10_multidict_14MultiDictProxy_5copy, METH_NOARGS, __pyx_doc_9multidict_10_multidict_14MultiDictProxy_4copy}, + {0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_9multidict_10_multidict_MultiDictProxy = { + PyVarObject_HEAD_INIT(0, 0) + "multidict._multidict.MultiDictProxy", /*tp_name*/ + sizeof(struct __pyx_obj_9multidict_10_multidict_MultiDictProxy), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_9multidict_10_multidict__Base, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + #if CYTHON_COMPILING_IN_PYPY + __pyx_pw_9multidict_10_multidict_5_Base_23__repr__, /*tp_repr*/ + #else + 0, /*tp_repr*/ + #endif + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_9multidict_10_multidict__Base, /*tp_traverse*/ + __pyx_tp_clear_9multidict_10_multidict__Base, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + #if CYTHON_COMPILING_IN_PYPY + __pyx_pw_9multidict_10_multidict_5_Base_13__iter__, /*tp_iter*/ + #else + 0, /*tp_iter*/ + #endif + 0, /*tp_iternext*/ + __pyx_methods_9multidict_10_multidict_MultiDictProxy, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_9multidict_10_multidict_14MultiDictProxy_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_9multidict_10_multidict_MultiDictProxy, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; +static struct __pyx_vtabstruct_9multidict_10_multidict_CIMultiDictProxy __pyx_vtable_9multidict_10_multidict_CIMultiDictProxy; + +static PyObject *__pyx_tp_new_9multidict_10_multidict_CIMultiDictProxy(PyTypeObject *t, PyObject *a, PyObject *k) { + struct __pyx_obj_9multidict_10_multidict_CIMultiDictProxy *p; + PyObject *o = __pyx_tp_new_9multidict_10_multidict_MultiDictProxy(t, a, k); + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_9multidict_10_multidict_CIMultiDictProxy *)o); + p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9multidict_10_multidict__Base*)__pyx_vtabptr_9multidict_10_multidict_CIMultiDictProxy; + return o; +} + +static PyTypeObject __pyx_type_9multidict_10_multidict_CIMultiDictProxy = { + PyVarObject_HEAD_INIT(0, 0) + "multidict._multidict.CIMultiDictProxy", /*tp_name*/ + sizeof(struct __pyx_obj_9multidict_10_multidict_CIMultiDictProxy), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_9multidict_10_multidict__Base, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + #if CYTHON_COMPILING_IN_PYPY + __pyx_pw_9multidict_10_multidict_5_Base_23__repr__, /*tp_repr*/ + #else + 0, /*tp_repr*/ + #endif + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_9multidict_10_multidict__Base, /*tp_traverse*/ + __pyx_tp_clear_9multidict_10_multidict__Base, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + #if CYTHON_COMPILING_IN_PYPY + __pyx_pw_9multidict_10_multidict_5_Base_13__iter__, /*tp_iter*/ + #else + 0, /*tp_iter*/ + #endif + 0, /*tp_iternext*/ + 0, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + #if CYTHON_COMPILING_IN_PYPY + __pyx_pw_9multidict_10_multidict_14MultiDictProxy_1__init__, /*tp_init*/ + #else + 0, /*tp_init*/ + #endif + 0, /*tp_alloc*/ + __pyx_tp_new_9multidict_10_multidict_CIMultiDictProxy, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; +static struct __pyx_vtabstruct_9multidict_10_multidict_MultiDict __pyx_vtable_9multidict_10_multidict_MultiDict; + +static PyObject *__pyx_tp_new_9multidict_10_multidict_MultiDict(PyTypeObject *t, PyObject *a, PyObject *k) { + struct __pyx_obj_9multidict_10_multidict_MultiDict *p; + PyObject *o = __pyx_tp_new_9multidict_10_multidict__Base(t, a, k); + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_9multidict_10_multidict_MultiDict *)o); + p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9multidict_10_multidict__Base*)__pyx_vtabptr_9multidict_10_multidict_MultiDict; + return o; +} + +static int __pyx_mp_ass_subscript_9multidict_10_multidict_MultiDict(PyObject *o, PyObject *i, PyObject *v) { + if (v) { + return __pyx_pw_9multidict_10_multidict_9MultiDict_13__setitem__(o, i, v); + } + else { + return __pyx_pw_9multidict_10_multidict_9MultiDict_15__delitem__(o, i); + } +} + +static PyMethodDef __pyx_methods_9multidict_10_multidict_MultiDict[] = { + {"__reduce__", (PyCFunction)__pyx_pw_9multidict_10_multidict_9MultiDict_3__reduce__, METH_NOARGS, 0}, + {"add", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9multidict_10_multidict_9MultiDict_5add, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9multidict_10_multidict_9MultiDict_4add}, + {"copy", (PyCFunction)__pyx_pw_9multidict_10_multidict_9MultiDict_7copy, METH_NOARGS, __pyx_doc_9multidict_10_multidict_9MultiDict_6copy}, + {"extend", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9multidict_10_multidict_9MultiDict_9extend, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9multidict_10_multidict_9MultiDict_8extend}, + {"clear", (PyCFunction)__pyx_pw_9multidict_10_multidict_9MultiDict_11clear, METH_NOARGS, __pyx_doc_9multidict_10_multidict_9MultiDict_10clear}, + {"setdefault", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9multidict_10_multidict_9MultiDict_17setdefault, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9multidict_10_multidict_9MultiDict_16setdefault}, + {"popone", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9multidict_10_multidict_9MultiDict_19popone, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9multidict_10_multidict_9MultiDict_18popone}, + {"popall", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9multidict_10_multidict_9MultiDict_21popall, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9multidict_10_multidict_9MultiDict_20popall}, + {"popitem", (PyCFunction)__pyx_pw_9multidict_10_multidict_9MultiDict_23popitem, METH_NOARGS, __pyx_doc_9multidict_10_multidict_9MultiDict_22popitem}, + {"update", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_9multidict_10_multidict_9MultiDict_25update, METH_VARARGS|METH_KEYWORDS, __pyx_doc_9multidict_10_multidict_9MultiDict_24update}, + {0, 0, 0, 0} +}; + +static PyMappingMethods __pyx_tp_as_mapping_MultiDict = { + #if CYTHON_COMPILING_IN_PYPY + __pyx_pw_9multidict_10_multidict_5_Base_15__len__, /*mp_length*/ + #else + 0, /*mp_length*/ + #endif + #if CYTHON_COMPILING_IN_PYPY + __pyx_pw_9multidict_10_multidict_5_Base_7__getitem__, /*mp_subscript*/ + #else + 0, /*mp_subscript*/ + #endif + __pyx_mp_ass_subscript_9multidict_10_multidict_MultiDict, /*mp_ass_subscript*/ +}; + +static PyTypeObject __pyx_type_9multidict_10_multidict_MultiDict = { + PyVarObject_HEAD_INIT(0, 0) + "multidict._multidict.MultiDict", /*tp_name*/ + sizeof(struct __pyx_obj_9multidict_10_multidict_MultiDict), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_9multidict_10_multidict__Base, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + #if CYTHON_COMPILING_IN_PYPY + __pyx_pw_9multidict_10_multidict_5_Base_23__repr__, /*tp_repr*/ + #else + 0, /*tp_repr*/ + #endif + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + &__pyx_tp_as_mapping_MultiDict, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + "An ordered dictionary that can have multiple values for each key.", /*tp_doc*/ + __pyx_tp_traverse_9multidict_10_multidict__Base, /*tp_traverse*/ + __pyx_tp_clear_9multidict_10_multidict__Base, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + #if CYTHON_COMPILING_IN_PYPY + __pyx_pw_9multidict_10_multidict_5_Base_13__iter__, /*tp_iter*/ + #else + 0, /*tp_iter*/ + #endif + 0, /*tp_iternext*/ + __pyx_methods_9multidict_10_multidict_MultiDict, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_9multidict_10_multidict_9MultiDict_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_9multidict_10_multidict_MultiDict, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; +static struct __pyx_vtabstruct_9multidict_10_multidict_CIMultiDict __pyx_vtable_9multidict_10_multidict_CIMultiDict; + +static PyObject *__pyx_tp_new_9multidict_10_multidict_CIMultiDict(PyTypeObject *t, PyObject *a, PyObject *k) { + struct __pyx_obj_9multidict_10_multidict_CIMultiDict *p; + PyObject *o = __pyx_tp_new_9multidict_10_multidict_MultiDict(t, a, k); + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_9multidict_10_multidict_CIMultiDict *)o); + p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9multidict_10_multidict__Base*)__pyx_vtabptr_9multidict_10_multidict_CIMultiDict; + return o; +} + +static PyMethodDef __pyx_methods_9multidict_10_multidict_CIMultiDict[] = { + {"__reduce__", (PyCFunction)__pyx_pw_9multidict_10_multidict_11CIMultiDict_3__reduce__, METH_NOARGS, 0}, + {"copy", (PyCFunction)__pyx_pw_9multidict_10_multidict_11CIMultiDict_5copy, METH_NOARGS, __pyx_doc_9multidict_10_multidict_11CIMultiDict_4copy}, + {0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_9multidict_10_multidict_CIMultiDict = { + PyVarObject_HEAD_INIT(0, 0) + "multidict._multidict.CIMultiDict", /*tp_name*/ + sizeof(struct __pyx_obj_9multidict_10_multidict_CIMultiDict), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_9multidict_10_multidict__Base, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + #if CYTHON_COMPILING_IN_PYPY + __pyx_pw_9multidict_10_multidict_5_Base_23__repr__, /*tp_repr*/ + #else + 0, /*tp_repr*/ + #endif + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + "An ordered dictionary that can have multiple values for each key.", /*tp_doc*/ + __pyx_tp_traverse_9multidict_10_multidict__Base, /*tp_traverse*/ + __pyx_tp_clear_9multidict_10_multidict__Base, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + #if CYTHON_COMPILING_IN_PYPY + __pyx_pw_9multidict_10_multidict_5_Base_13__iter__, /*tp_iter*/ + #else + 0, /*tp_iter*/ + #endif + 0, /*tp_iternext*/ + __pyx_methods_9multidict_10_multidict_CIMultiDict, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_9multidict_10_multidict_11CIMultiDict_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_9multidict_10_multidict_CIMultiDict, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec__multidict(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec__multidict}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "_multidict", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_n_s_Base, __pyx_k_Base, sizeof(__pyx_k_Base), 0, 0, 1, 1}, + {&__pyx_n_s_CIMultiDict, __pyx_k_CIMultiDict, sizeof(__pyx_k_CIMultiDict), 0, 0, 1, 1}, + {&__pyx_n_s_CIMultiDictProxy, __pyx_k_CIMultiDictProxy, sizeof(__pyx_k_CIMultiDictProxy), 0, 0, 1, 1}, + {&__pyx_kp_s_Incompatible_checksums_s_vs_0x4d, __pyx_k_Incompatible_checksums_s_vs_0x4d, sizeof(__pyx_k_Incompatible_checksums_s_vs_0x4d), 0, 0, 1, 0}, + {&__pyx_n_s_Iterable, __pyx_k_Iterable, sizeof(__pyx_k_Iterable), 0, 0, 1, 1}, + {&__pyx_n_s_KeyError, __pyx_k_KeyError, sizeof(__pyx_k_KeyError), 0, 0, 1, 1}, + {&__pyx_n_s_Mapping, __pyx_k_Mapping, sizeof(__pyx_k_Mapping), 0, 0, 1, 1}, + {&__pyx_n_s_MultiDict, __pyx_k_MultiDict, sizeof(__pyx_k_MultiDict), 0, 0, 1, 1}, + {&__pyx_n_s_MultiDictProxy, __pyx_k_MultiDictProxy, sizeof(__pyx_k_MultiDictProxy), 0, 0, 1, 1}, + {&__pyx_kp_s_MultiDict_keys_should_be_either, __pyx_k_MultiDict_keys_should_be_either, sizeof(__pyx_k_MultiDict_keys_should_be_either), 0, 0, 1, 0}, + {&__pyx_n_s_MultiMapping, __pyx_k_MultiMapping, sizeof(__pyx_k_MultiMapping), 0, 0, 1, 1}, + {&__pyx_n_s_MutableMultiMapping, __pyx_k_MutableMultiMapping, sizeof(__pyx_k_MutableMultiMapping), 0, 0, 1, 1}, + {&__pyx_n_s_NotImplemented, __pyx_k_NotImplemented, sizeof(__pyx_k_NotImplemented), 0, 0, 1, 1}, + {&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1}, + {&__pyx_n_s_Set, __pyx_k_Set, sizeof(__pyx_k_Set), 0, 0, 1, 1}, + {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, + {&__pyx_kp_s__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 0, 1, 0}, + {&__pyx_kp_s__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 0, 1, 0}, + {&__pyx_n_s_abc, __pyx_k_abc, sizeof(__pyx_k_abc), 0, 0, 1, 1}, + {&__pyx_n_s_abc_2, __pyx_k_abc_2, sizeof(__pyx_k_abc_2), 0, 0, 1, 1}, + {&__pyx_n_s_arg, __pyx_k_arg, sizeof(__pyx_k_arg), 0, 0, 1, 1}, + {&__pyx_n_s_base_class, __pyx_k_base_class, sizeof(__pyx_k_base_class), 0, 0, 1, 1}, + {&__pyx_kp_s_can_t_pickle_objects, __pyx_k_can_t_pickle_objects, sizeof(__pyx_k_can_t_pickle_objects), 0, 0, 1, 0}, + {&__pyx_n_s_class, __pyx_k_class, sizeof(__pyx_k_class), 0, 0, 1, 1}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_collections, __pyx_k_collections, sizeof(__pyx_k_collections), 0, 0, 1, 1}, + {&__pyx_n_s_collections_abc, __pyx_k_collections_abc, sizeof(__pyx_k_collections_abc), 0, 0, 1, 1}, + {&__pyx_n_s_copy, __pyx_k_copy, sizeof(__pyx_k_copy), 0, 0, 1, 1}, + {&__pyx_kp_s_ctor_requires_instance_not, __pyx_k_ctor_requires_instance_not, sizeof(__pyx_k_ctor_requires_instance_not), 0, 0, 1, 0}, + {&__pyx_n_s_default, __pyx_k_default, sizeof(__pyx_k_default), 0, 0, 1, 1}, + {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1}, + {&__pyx_n_s_extend, __pyx_k_extend, sizeof(__pyx_k_extend), 0, 0, 1, 1}, + {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, + {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1}, + {&__pyx_n_s_getversion, __pyx_k_getversion, sizeof(__pyx_k_getversion), 0, 0, 1, 1}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_istr, __pyx_k_istr, sizeof(__pyx_k_istr), 0, 0, 1, 1}, + {&__pyx_n_s_istr_2, __pyx_k_istr_2, sizeof(__pyx_k_istr_2), 0, 0, 1, 1}, + {&__pyx_n_s_items, __pyx_k_items, sizeof(__pyx_k_items), 0, 0, 1, 1}, + {&__pyx_n_s_join, __pyx_k_join, sizeof(__pyx_k_join), 0, 0, 1, 1}, + {&__pyx_n_s_key, __pyx_k_key, sizeof(__pyx_k_key), 0, 0, 1, 1}, + {&__pyx_n_s_keys, __pyx_k_keys, sizeof(__pyx_k_keys), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_md, __pyx_k_md, sizeof(__pyx_k_md), 0, 0, 1, 1}, + {&__pyx_n_s_multidict__multidict, __pyx_k_multidict__multidict, sizeof(__pyx_k_multidict__multidict), 0, 0, 1, 1}, + {&__pyx_kp_s_multidict__multidict_pyx, __pyx_k_multidict__multidict_pyx, sizeof(__pyx_k_multidict__multidict_pyx), 0, 0, 1, 0}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1}, + {&__pyx_n_s_object, __pyx_k_object, sizeof(__pyx_k_object), 0, 0, 1, 1}, + {&__pyx_kp_s_or, __pyx_k_or, sizeof(__pyx_k_or), 0, 0, 1, 0}, + {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1}, + {&__pyx_n_s_pop, __pyx_k_pop, sizeof(__pyx_k_pop), 0, 0, 1, 1}, + {&__pyx_n_s_popone, __pyx_k_popone, sizeof(__pyx_k_popone), 0, 0, 1, 1}, + {&__pyx_n_s_proxy_classes, __pyx_k_proxy_classes, sizeof(__pyx_k_proxy_classes), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_type, __pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle__Base, __pyx_k_pyx_unpickle__Base, sizeof(__pyx_k_pyx_unpickle__Base), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1}, + {&__pyx_kp_s_r, __pyx_k_r, sizeof(__pyx_k_r), 0, 0, 1, 0}, + {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1}, + {&__pyx_n_s_register, __pyx_k_register, sizeof(__pyx_k_register), 0, 0, 1, 1}, + {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1}, + {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1}, + {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0}, + {&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1}, + {&__pyx_kp_s_takes_at_most_1_positional_argu, __pyx_k_takes_at_most_1_positional_argu, sizeof(__pyx_k_takes_at_most_1_positional_argu), 0, 0, 1, 0}, + {&__pyx_kp_s_takes_either_dict_or_list_of_ke, __pyx_k_takes_either_dict_or_list_of_ke, sizeof(__pyx_k_takes_either_dict_or_list_of_ke), 0, 0, 1, 0}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1}, + {&__pyx_n_s_upstr, __pyx_k_upstr, sizeof(__pyx_k_upstr), 0, 0, 1, 1}, + {&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_n_s_object); if (!__pyx_builtin_object) __PYX_ERR(0, 16, __pyx_L1_error) + __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) __PYX_ERR(0, 40, __pyx_L1_error) + __pyx_builtin_NotImplemented = __Pyx_GetBuiltinName(__pyx_n_s_NotImplemented); if (!__pyx_builtin_NotImplemented) __PYX_ERR(0, 134, __pyx_L1_error) + __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(0, 144, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "multidict/_multidict.pyx":181 + * return str(key) + * else: + * raise TypeError("MultiDict keys should be either str " # <<<<<<<<<<<<<< + * "or subclasses of str") + * + */ + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_MultiDict_keys_should_be_either); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 181, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__5); + __Pyx_GIVEREF(__pyx_tuple__5); + + /* "multidict/_multidict.pyx":25 + * multidict_views_init() + * + * def getversion(_Base md): # <<<<<<<<<<<<<< + * return pair_list_version(md._impl) + * + */ + __pyx_tuple__8 = PyTuple_Pack(1, __pyx_n_s_md); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__8); + __Pyx_GIVEREF(__pyx_tuple__8); + __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__8, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_multidict__multidict_pyx, __pyx_n_s_getversion, 25, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 25, __pyx_L1_error) + + /* "(tree fragment)":1 + * def __pyx_unpickle__Base(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_tuple__10 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__10); + __Pyx_GIVEREF(__pyx_tuple__10); + __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__10, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle__Base, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + __pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type; + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + __pyx_int_81294078 = PyInt_FromLong(81294078L); if (unlikely(!__pyx_int_81294078)) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __pyx_v_9multidict_10_multidict__marker = Py_None; Py_INCREF(Py_None); + __pyx_v_9multidict_10_multidict__istr = Py_None; Py_INCREF(Py_None); + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + __pyx_vtabptr_9multidict_10_multidict__Base = &__pyx_vtable_9multidict_10_multidict__Base; + __pyx_vtable_9multidict_10_multidict__Base._getone = (PyObject *(*)(struct __pyx_obj_9multidict_10_multidict__Base *, PyObject *, PyObject *))__pyx_f_9multidict_10_multidict_5_Base__getone; + __pyx_vtable_9multidict_10_multidict__Base._contains = (PyObject *(*)(struct __pyx_obj_9multidict_10_multidict__Base *, PyObject *))__pyx_f_9multidict_10_multidict_5_Base__contains; + __pyx_vtable_9multidict_10_multidict__Base.keys = (PyObject *(*)(struct __pyx_obj_9multidict_10_multidict__Base *, int __pyx_skip_dispatch))__pyx_f_9multidict_10_multidict_5_Base_keys; + if (PyType_Ready(&__pyx_type_9multidict_10_multidict__Base) < 0) __PYX_ERR(0, 29, __pyx_L1_error) + __pyx_type_9multidict_10_multidict__Base.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9multidict_10_multidict__Base.tp_dictoffset && __pyx_type_9multidict_10_multidict__Base.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_9multidict_10_multidict__Base.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (__Pyx_SetVtable(__pyx_type_9multidict_10_multidict__Base.tp_dict, __pyx_vtabptr_9multidict_10_multidict__Base) < 0) __PYX_ERR(0, 29, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Base, (PyObject *)&__pyx_type_9multidict_10_multidict__Base) < 0) __PYX_ERR(0, 29, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_9multidict_10_multidict__Base) < 0) __PYX_ERR(0, 29, __pyx_L1_error) + __pyx_ptype_9multidict_10_multidict__Base = &__pyx_type_9multidict_10_multidict__Base; + __pyx_vtabptr_9multidict_10_multidict_MultiDictProxy = &__pyx_vtable_9multidict_10_multidict_MultiDictProxy; + __pyx_vtable_9multidict_10_multidict_MultiDictProxy.__pyx_base = *__pyx_vtabptr_9multidict_10_multidict__Base; + __pyx_type_9multidict_10_multidict_MultiDictProxy.tp_base = __pyx_ptype_9multidict_10_multidict__Base; + if (PyType_Ready(&__pyx_type_9multidict_10_multidict_MultiDictProxy) < 0) __PYX_ERR(0, 137, __pyx_L1_error) + __pyx_type_9multidict_10_multidict_MultiDictProxy.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9multidict_10_multidict_MultiDictProxy.tp_dictoffset && __pyx_type_9multidict_10_multidict_MultiDictProxy.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_9multidict_10_multidict_MultiDictProxy.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (__Pyx_SetVtable(__pyx_type_9multidict_10_multidict_MultiDictProxy.tp_dict, __pyx_vtabptr_9multidict_10_multidict_MultiDictProxy) < 0) __PYX_ERR(0, 137, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MultiDictProxy, (PyObject *)&__pyx_type_9multidict_10_multidict_MultiDictProxy) < 0) __PYX_ERR(0, 137, __pyx_L1_error) + __pyx_ptype_9multidict_10_multidict_MultiDictProxy = &__pyx_type_9multidict_10_multidict_MultiDictProxy; + __pyx_vtabptr_9multidict_10_multidict_CIMultiDictProxy = &__pyx_vtable_9multidict_10_multidict_CIMultiDictProxy; + __pyx_vtable_9multidict_10_multidict_CIMultiDictProxy.__pyx_base = *__pyx_vtabptr_9multidict_10_multidict_MultiDictProxy; + __pyx_type_9multidict_10_multidict_CIMultiDictProxy.tp_base = __pyx_ptype_9multidict_10_multidict_MultiDictProxy; + if (PyType_Ready(&__pyx_type_9multidict_10_multidict_CIMultiDictProxy) < 0) __PYX_ERR(0, 164, __pyx_L1_error) + __pyx_type_9multidict_10_multidict_CIMultiDictProxy.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9multidict_10_multidict_CIMultiDictProxy.tp_dictoffset && __pyx_type_9multidict_10_multidict_CIMultiDictProxy.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_9multidict_10_multidict_CIMultiDictProxy.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (__Pyx_SetVtable(__pyx_type_9multidict_10_multidict_CIMultiDictProxy.tp_dict, __pyx_vtabptr_9multidict_10_multidict_CIMultiDictProxy) < 0) __PYX_ERR(0, 164, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CIMultiDictProxy, (PyObject *)&__pyx_type_9multidict_10_multidict_CIMultiDictProxy) < 0) __PYX_ERR(0, 164, __pyx_L1_error) + __pyx_ptype_9multidict_10_multidict_CIMultiDictProxy = &__pyx_type_9multidict_10_multidict_CIMultiDictProxy; + __pyx_vtabptr_9multidict_10_multidict_MultiDict = &__pyx_vtable_9multidict_10_multidict_MultiDict; + __pyx_vtable_9multidict_10_multidict_MultiDict.__pyx_base = *__pyx_vtabptr_9multidict_10_multidict__Base; + __pyx_vtable_9multidict_10_multidict_MultiDict._extend = (PyObject *(*)(struct __pyx_obj_9multidict_10_multidict_MultiDict *, PyObject *, PyObject *, PyObject *, int))__pyx_f_9multidict_10_multidict_9MultiDict__extend; + __pyx_vtable_9multidict_10_multidict_MultiDict._update_items = (PyObject *(*)(struct __pyx_obj_9multidict_10_multidict_MultiDict *, PyObject *))__pyx_f_9multidict_10_multidict_9MultiDict__update_items; + __pyx_vtable_9multidict_10_multidict_MultiDict._append_items = (PyObject *(*)(struct __pyx_obj_9multidict_10_multidict_MultiDict *, PyObject *))__pyx_f_9multidict_10_multidict_9MultiDict__append_items; + __pyx_vtable_9multidict_10_multidict_MultiDict._append_items_seq = (PyObject *(*)(struct __pyx_obj_9multidict_10_multidict_MultiDict *, PyObject *, PyObject *))__pyx_f_9multidict_10_multidict_9MultiDict__append_items_seq; + __pyx_vtable_9multidict_10_multidict_MultiDict._add = (PyObject *(*)(struct __pyx_obj_9multidict_10_multidict_MultiDict *, PyObject *, PyObject *))__pyx_f_9multidict_10_multidict_9MultiDict__add; + __pyx_vtable_9multidict_10_multidict_MultiDict._replace = (PyObject *(*)(struct __pyx_obj_9multidict_10_multidict_MultiDict *, PyObject *, PyObject *))__pyx_f_9multidict_10_multidict_9MultiDict__replace; + __pyx_type_9multidict_10_multidict_MultiDict.tp_base = __pyx_ptype_9multidict_10_multidict__Base; + if (PyType_Ready(&__pyx_type_9multidict_10_multidict_MultiDict) < 0) __PYX_ERR(0, 185, __pyx_L1_error) + __pyx_type_9multidict_10_multidict_MultiDict.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9multidict_10_multidict_MultiDict.tp_dictoffset && __pyx_type_9multidict_10_multidict_MultiDict.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_9multidict_10_multidict_MultiDict.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (__Pyx_SetVtable(__pyx_type_9multidict_10_multidict_MultiDict.tp_dict, __pyx_vtabptr_9multidict_10_multidict_MultiDict) < 0) __PYX_ERR(0, 185, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_MultiDict, (PyObject *)&__pyx_type_9multidict_10_multidict_MultiDict) < 0) __PYX_ERR(0, 185, __pyx_L1_error) + __pyx_ptype_9multidict_10_multidict_MultiDict = &__pyx_type_9multidict_10_multidict_MultiDict; + __pyx_vtabptr_9multidict_10_multidict_CIMultiDict = &__pyx_vtable_9multidict_10_multidict_CIMultiDict; + __pyx_vtable_9multidict_10_multidict_CIMultiDict.__pyx_base = *__pyx_vtabptr_9multidict_10_multidict_MultiDict; + __pyx_type_9multidict_10_multidict_CIMultiDict.tp_base = __pyx_ptype_9multidict_10_multidict_MultiDict; + if (PyType_Ready(&__pyx_type_9multidict_10_multidict_CIMultiDict) < 0) __PYX_ERR(0, 341, __pyx_L1_error) + __pyx_type_9multidict_10_multidict_CIMultiDict.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_9multidict_10_multidict_CIMultiDict.tp_dictoffset && __pyx_type_9multidict_10_multidict_CIMultiDict.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_9multidict_10_multidict_CIMultiDict.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (__Pyx_SetVtable(__pyx_type_9multidict_10_multidict_CIMultiDict.tp_dict, __pyx_vtabptr_9multidict_10_multidict_CIMultiDict) < 0) __PYX_ERR(0, 341, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CIMultiDict, (PyObject *)&__pyx_type_9multidict_10_multidict_CIMultiDict) < 0) __PYX_ERR(0, 341, __pyx_L1_error) + __pyx_ptype_9multidict_10_multidict_CIMultiDict = &__pyx_type_9multidict_10_multidict_CIMultiDict; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", + #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 + sizeof(PyTypeObject), + #else + sizeof(PyHeapTypeObject), + #endif + __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#if PY_MAJOR_VERSION < 3 +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC void +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#else +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC init_multidict(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC init_multidict(void) +#else +__Pyx_PyMODINIT_FUNC PyInit__multidict(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit__multidict(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec__multidict(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module '_multidict' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #if CYTHON_REFNANNY +__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); +if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); +} +#endif + __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit__multidict(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + #ifdef WITH_THREAD /* Python build with threading support? */ + PyEval_InitThreads(); + #endif + #endif + /*--- Module creation code ---*/ + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("_multidict", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + #if CYTHON_COMPILING_IN_PYPY + Py_INCREF(__pyx_b); + #endif + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main_multidict___multidict) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "multidict._multidict")) { + if (unlikely(PyDict_SetItemString(modules, "multidict._multidict", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Global type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + if (unlikely(__Pyx_modinit_type_init_code() != 0)) goto __pyx_L1_error; + if (unlikely(__Pyx_modinit_type_import_code() != 0)) goto __pyx_L1_error; + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_function_import_code(); + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + + /* "multidict/_multidict.pyx":3 + * from __future__ import absolute_import + * + * import sys # <<<<<<<<<<<<<< + * from collections import abc + * from collections.abc import Iterable, Set + */ + __pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) __PYX_ERR(0, 3, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":4 + * + * import sys + * from collections import abc # <<<<<<<<<<<<<< + * from collections.abc import Iterable, Set + * + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_abc); + __Pyx_GIVEREF(__pyx_n_s_abc); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_abc); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_collections, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_abc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_abc, __pyx_t_1) < 0) __PYX_ERR(0, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "multidict/_multidict.pyx":5 + * import sys + * from collections import abc + * from collections.abc import Iterable, Set # <<<<<<<<<<<<<< + * + * from cpython.object cimport PyObject_Str, Py_NE, PyObject_RichCompare + */ + __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_Iterable); + __Pyx_GIVEREF(__pyx_n_s_Iterable); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Iterable); + __Pyx_INCREF(__pyx_n_s_Set); + __Pyx_GIVEREF(__pyx_n_s_Set); + PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_Set); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_collections_abc, __pyx_t_2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Iterable); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_Iterable, __pyx_t_2) < 0) __PYX_ERR(0, 5, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Set); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_Set, __pyx_t_2) < 0) __PYX_ERR(0, 5, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":9 + * from cpython.object cimport PyObject_Str, Py_NE, PyObject_RichCompare + * + * from ._abc import MultiMapping, MutableMultiMapping # <<<<<<<<<<<<<< + * from ._istr import istr + * + */ + __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_MultiMapping); + __Pyx_GIVEREF(__pyx_n_s_MultiMapping); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_MultiMapping); + __Pyx_INCREF(__pyx_n_s_MutableMultiMapping); + __Pyx_GIVEREF(__pyx_n_s_MutableMultiMapping); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_MutableMultiMapping); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_abc_2, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_MultiMapping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_MultiMapping, __pyx_t_1) < 0) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_MutableMultiMapping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_MutableMultiMapping, __pyx_t_1) < 0) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "multidict/_multidict.pyx":10 + * + * from ._abc import MultiMapping, MutableMultiMapping + * from ._istr import istr # <<<<<<<<<<<<<< + * + * from ._multidict_iter cimport * + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_istr_2); + __Pyx_GIVEREF(__pyx_n_s_istr_2); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_istr_2); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_istr, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_istr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_istr_2, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":16 + * from ._pair_list cimport * + * + * cdef object _marker = object() # <<<<<<<<<<<<<< + * + * upstr = istr # for relaxing backward compatibility problems + */ + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_builtin_object); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_v_9multidict_10_multidict__marker); + __Pyx_DECREF_SET(__pyx_v_9multidict_10_multidict__marker, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":18 + * cdef object _marker = object() + * + * upstr = istr # for relaxing backward compatibility problems # <<<<<<<<<<<<<< + * cdef object _istr = istr + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_istr_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_upstr, __pyx_t_1) < 0) __PYX_ERR(0, 18, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":19 + * + * upstr = istr # for relaxing backward compatibility problems + * cdef object _istr = istr # <<<<<<<<<<<<<< + * + * pair_list_init(istr) + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_istr_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_v_9multidict_10_multidict__istr); + __Pyx_DECREF_SET(__pyx_v_9multidict_10_multidict__istr, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":21 + * cdef object _istr = istr + * + * pair_list_init(istr) # <<<<<<<<<<<<<< + * # multidict_iter_init() + * multidict_views_init() + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_istr_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = pair_list_init(__pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 21, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":23 + * pair_list_init(istr) + * # multidict_iter_init() + * multidict_views_init() # <<<<<<<<<<<<<< + * + * def getversion(_Base md): + */ + __pyx_t_3 = multidict_views_init(); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 23, __pyx_L1_error) + + /* "multidict/_multidict.pyx":25 + * multidict_views_init() + * + * def getversion(_Base md): # <<<<<<<<<<<<<< + * return pair_list_version(md._impl) + * + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9multidict_10_multidict_1getversion, NULL, __pyx_n_s_multidict__multidict); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_getversion, __pyx_t_1) < 0) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":36 + * return self._impl + * + * def getall(self, key, default=_marker): # <<<<<<<<<<<<<< + * """Return a list of all values matching the key.""" + * try: + */ + __Pyx_INCREF(__pyx_v_9multidict_10_multidict__marker); + __pyx_k_ = __pyx_v_9multidict_10_multidict__marker; + __Pyx_GIVEREF(__pyx_v_9multidict_10_multidict__marker); + + /* "multidict/_multidict.pyx":46 + * raise + * + * def getone(self, key, default=_marker): # <<<<<<<<<<<<<< + * """Get first value matching the key.""" + * return self._getone(key, default) + */ + __Pyx_INCREF(__pyx_v_9multidict_10_multidict__marker); + __pyx_k__2 = __pyx_v_9multidict_10_multidict__marker; + __Pyx_GIVEREF(__pyx_v_9multidict_10_multidict__marker); + + /* "multidict/_multidict.pyx":138 + * + * cdef class MultiDictProxy(_Base): + * _proxy_classes = (MultiDict, MultiDictProxy) # <<<<<<<<<<<<<< + * _base_class = MultiDict + * + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 138, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)__pyx_ptype_9multidict_10_multidict_MultiDict)); + __Pyx_GIVEREF(((PyObject *)__pyx_ptype_9multidict_10_multidict_MultiDict)); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_9multidict_10_multidict_MultiDict)); + __Pyx_INCREF(((PyObject *)__pyx_ptype_9multidict_10_multidict_MultiDictProxy)); + __Pyx_GIVEREF(((PyObject *)__pyx_ptype_9multidict_10_multidict_MultiDictProxy)); + PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_ptype_9multidict_10_multidict_MultiDictProxy)); + if (PyDict_SetItem((PyObject *)__pyx_ptype_9multidict_10_multidict_MultiDictProxy->tp_dict, __pyx_n_s_proxy_classes, __pyx_t_1) < 0) __PYX_ERR(0, 138, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + PyType_Modified(__pyx_ptype_9multidict_10_multidict_MultiDictProxy); + + /* "multidict/_multidict.pyx":139 + * cdef class MultiDictProxy(_Base): + * _proxy_classes = (MultiDict, MultiDictProxy) + * _base_class = MultiDict # <<<<<<<<<<<<<< + * + * def __init__(self, arg): + */ + if (PyDict_SetItem((PyObject *)__pyx_ptype_9multidict_10_multidict_MultiDictProxy->tp_dict, __pyx_n_s_base_class, ((PyObject *)__pyx_ptype_9multidict_10_multidict_MultiDict)) < 0) __PYX_ERR(0, 139, __pyx_L1_error) + PyType_Modified(__pyx_ptype_9multidict_10_multidict_MultiDictProxy); + + /* "multidict/_multidict.pyx":161 + * return self._base_class(self) + * + * MultiMapping.register(MultiDictProxy) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_MultiMapping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 161, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_register); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 161, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_ptype_9multidict_10_multidict_MultiDictProxy)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 161, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":165 + * + * cdef class CIMultiDictProxy(MultiDictProxy): + * _proxy_classes = (CIMultiDict, CIMultiDictProxy) # <<<<<<<<<<<<<< + * _base_class = CIMultiDict + * + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)__pyx_ptype_9multidict_10_multidict_CIMultiDict)); + __Pyx_GIVEREF(((PyObject *)__pyx_ptype_9multidict_10_multidict_CIMultiDict)); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_9multidict_10_multidict_CIMultiDict)); + __Pyx_INCREF(((PyObject *)__pyx_ptype_9multidict_10_multidict_CIMultiDictProxy)); + __Pyx_GIVEREF(((PyObject *)__pyx_ptype_9multidict_10_multidict_CIMultiDictProxy)); + PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_ptype_9multidict_10_multidict_CIMultiDictProxy)); + if (PyDict_SetItem((PyObject *)__pyx_ptype_9multidict_10_multidict_CIMultiDictProxy->tp_dict, __pyx_n_s_proxy_classes, __pyx_t_1) < 0) __PYX_ERR(0, 165, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + PyType_Modified(__pyx_ptype_9multidict_10_multidict_CIMultiDictProxy); + + /* "multidict/_multidict.pyx":166 + * cdef class CIMultiDictProxy(MultiDictProxy): + * _proxy_classes = (CIMultiDict, CIMultiDictProxy) + * _base_class = CIMultiDict # <<<<<<<<<<<<<< + * + * + */ + if (PyDict_SetItem((PyObject *)__pyx_ptype_9multidict_10_multidict_CIMultiDictProxy->tp_dict, __pyx_n_s_base_class, ((PyObject *)__pyx_ptype_9multidict_10_multidict_CIMultiDict)) < 0) __PYX_ERR(0, 166, __pyx_L1_error) + PyType_Modified(__pyx_ptype_9multidict_10_multidict_CIMultiDictProxy); + + /* "multidict/_multidict.pyx":169 + * + * + * MultiMapping.register(CIMultiDictProxy) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_MultiMapping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_register); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 169, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_ptype_9multidict_10_multidict_CIMultiDictProxy)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":295 + * return pair_list_set_default(self._impl, key, default) + * + * def popone(self, key, default=_marker): # <<<<<<<<<<<<<< + * """Remove the last occurrence of key and return the corresponding + * value. + */ + __Pyx_INCREF(__pyx_v_9multidict_10_multidict__marker); + __pyx_k__6 = __pyx_v_9multidict_10_multidict__marker; + __Pyx_GIVEREF(__pyx_v_9multidict_10_multidict__marker); + + /* "multidict/_multidict.pyx":311 + * return default + * + * pop = popone # <<<<<<<<<<<<<< + * + * def popall(self, key, default=_marker): + */ + __Pyx_GetNameInClass(__pyx_t_1, (PyObject *)__pyx_ptype_9multidict_10_multidict_MultiDict, __pyx_n_s_popone); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 311, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem((PyObject *)__pyx_ptype_9multidict_10_multidict_MultiDict->tp_dict, __pyx_n_s_pop, __pyx_t_1) < 0) __PYX_ERR(0, 311, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + PyType_Modified(__pyx_ptype_9multidict_10_multidict_MultiDict); + + /* "multidict/_multidict.pyx":313 + * pop = popone + * + * def popall(self, key, default=_marker): # <<<<<<<<<<<<<< + * """Remove all occurrences of key and return the list of corresponding + * values. + */ + __Pyx_INCREF(__pyx_v_9multidict_10_multidict__marker); + __pyx_k__7 = __pyx_v_9multidict_10_multidict__marker; + __Pyx_GIVEREF(__pyx_v_9multidict_10_multidict__marker); + + /* "multidict/_multidict.pyx":338 + * + * + * MutableMultiMapping.register(MultiDict) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_MutableMultiMapping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_register); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 338, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_ptype_9multidict_10_multidict_MultiDict)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":361 + * + * + * MutableMultiMapping.register(CIMultiDict) # <<<<<<<<<<<<<< + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_MutableMultiMapping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 361, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_register); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 361, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_ptype_9multidict_10_multidict_CIMultiDict)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 361, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":1 + * def __pyx_unpickle__Base(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9multidict_10_multidict_3__pyx_unpickle__Base, NULL, __pyx_n_s_multidict__multidict); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle__Base, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "multidict/_multidict.pyx":1 + * from __future__ import absolute_import # <<<<<<<<<<<<<< + * + * import sys + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init multidict._multidict", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init multidict._multidict"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* ArgTypeTest */ +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact) +{ + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + else if (exact) { + #if PY_MAJOR_VERSION == 2 + if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; + #endif + } + else { + if (likely(__Pyx_TypeCheck(obj, type))) return 1; + } + PyErr_Format(PyExc_TypeError, + "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)", + name, type->tp_name, Py_TYPE(obj)->tp_name); + return 0; +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* GetTopmostException */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) +{ + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* SaveResetException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* PyErrExceptionMatches */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i<n; i++) { + if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1; + } +#endif + for (i=0; i<n; i++) { + if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1; + } + return 0; +} +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) { + PyObject *exc_type = tstate->curexc_type; + if (exc_type == err) return 1; + if (unlikely(!exc_type)) return 0; + if (unlikely(PyTuple_Check(err))) + return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); + return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); +} +#endif + +/* GetException */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif + return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; +} + +/* PyErrFetchRestore */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* PyFunctionFastCall */ +#if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCall */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = func->ob_type->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallMethO */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallNoArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, NULL, 0); + } +#endif +#ifdef __Pyx_CyFunction_USED + if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) +#else + if (likely(PyCFunction_Check(func))) +#endif + { + if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { + return __Pyx_PyObject_CallMethO(func, NULL); + } + } + return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); +} +#endif + +/* PyCFunctionFastCall */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyObjectCallOneArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* RaiseTooManyValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { + PyErr_Format(PyExc_ValueError, + "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); +} + +/* RaiseNeedMoreValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { + PyErr_Format(PyExc_ValueError, + "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", + index, (index == 1) ? "" : "s"); +} + +/* IterFinish */ +static CYTHON_INLINE int __Pyx_IterFinish(void) { +#if CYTHON_FAST_THREAD_STATE + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* exc_type = tstate->curexc_type; + if (unlikely(exc_type)) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) { + PyObject *exc_value, *exc_tb; + exc_value = tstate->curexc_value; + exc_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; + Py_DECREF(exc_type); + Py_XDECREF(exc_value); + Py_XDECREF(exc_tb); + return 0; + } else { + return -1; + } + } + return 0; +#else + if (unlikely(PyErr_Occurred())) { + if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) { + PyErr_Clear(); + return 0; + } else { + return -1; + } + } + return 0; +#endif +} + +/* UnpackItemEndCheck */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { + if (unlikely(retval)) { + Py_DECREF(retval); + __Pyx_RaiseTooManyValuesError(expected); + return -1; + } else { + return __Pyx_IterFinish(); + } + return 0; +} + +/* StringJoin */ +#if !CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values) { + return PyObject_CallMethodObjArgs(sep, __pyx_n_s_join, values, NULL); +} +#endif + +/* GetModuleGlobalName */ +#if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* GetAttr */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) { +#if CYTHON_USE_TYPE_SLOTS +#if PY_MAJOR_VERSION >= 3 + if (likely(PyUnicode_Check(n))) +#else + if (likely(PyString_Check(n))) +#endif + return __Pyx_PyObject_GetAttrStr(o, n); +#endif + return PyObject_GetAttr(o, n); +} + +/* GetAttr3 */ +static PyObject *__Pyx_GetAttr3Default(PyObject *d) { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) + return NULL; + __Pyx_PyErr_Clear(); + Py_INCREF(d); + return d; +} +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) { + PyObject *r = __Pyx_GetAttr(o, n); + return (likely(r)) ? r : __Pyx_GetAttr3Default(d); +} + +/* RaiseException */ +#if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* ExtTypeTest */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + if (likely(__Pyx_TypeCheck(obj, type))) + return 1; + PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", + Py_TYPE(obj)->tp_name, type->tp_name); + return 0; +} + +/* PyObjectCall2Args */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { + PyObject *args, *result = NULL; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyFunction_FastCall(function, args, 2); + } + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyCFunction_FastCall(function, args, 2); + } + #endif + args = PyTuple_New(2); + if (unlikely(!args)) goto done; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + Py_INCREF(function); + result = __Pyx_PyObject_Call(function, args, NULL); + Py_DECREF(args); + Py_DECREF(function); +done: + return result; +} + +/* KeywordStringCheck */ +static int __Pyx_CheckKeywordStrings( + PyObject *kwdict, + const char* function_name, + int kw_allowed) +{ + PyObject* key = 0; + Py_ssize_t pos = 0; +#if CYTHON_COMPILING_IN_PYPY + if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0)) + goto invalid_keyword; + return 1; +#else + while (PyDict_Next(kwdict, &pos, &key, 0)) { + #if PY_MAJOR_VERSION < 3 + if (unlikely(!PyString_Check(key))) + #endif + if (unlikely(!PyUnicode_Check(key))) + goto invalid_keyword_type; + } + if ((!kw_allowed) && unlikely(key)) + goto invalid_keyword; + return 1; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + return 0; +#endif +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif + return 0; +} + +/* GetItemInt */ +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyList_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyTuple_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return NULL; + PyErr_Clear(); + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +} + +/* HasAttr */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) { + PyObject *r; + if (unlikely(!__Pyx_PyBaseString_Check(n))) { + PyErr_SetString(PyExc_TypeError, + "hasattr(): attribute name must be string"); + return -1; + } + r = __Pyx_GetAttr(o, n); + if (unlikely(!r)) { + PyErr_Clear(); + return 0; + } else { + Py_DECREF(r); + return 1; + } +} + +/* UnpackUnboundCMethod */ +static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) { + PyObject *method; + method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name); + if (unlikely(!method)) + return -1; + target->method = method; +#if CYTHON_COMPILING_IN_CPYTHON + #if PY_MAJOR_VERSION >= 3 + if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type))) + #endif + { + PyMethodDescrObject *descr = (PyMethodDescrObject*) method; + target->func = descr->d_method->ml_meth; + target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS); + } +#endif + return 0; +} + +/* CallUnboundCMethod0 */ +static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) { + PyObject *args, *result = NULL; + if (unlikely(!cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; +#if CYTHON_ASSUME_SAFE_MACROS + args = PyTuple_New(1); + if (unlikely(!args)) goto bad; + Py_INCREF(self); + PyTuple_SET_ITEM(args, 0, self); +#else + args = PyTuple_Pack(1, self); + if (unlikely(!args)) goto bad; +#endif + result = __Pyx_PyObject_Call(cfunc->method, args, NULL); + Py_DECREF(args); +bad: + return result; +} + +/* py_dict_items */ +static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d) { + if (PY_MAJOR_VERSION >= 3) + return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyDict_Type_items, d); + else + return PyDict_Items(d); +} + +/* Import */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if (strchr(__Pyx_MODULE_NAME, '.')) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* ImportFrom */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { + PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); + if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Format(PyExc_ImportError, + #if PY_MAJOR_VERSION < 3 + "cannot import name %.230s", PyString_AS_STRING(name)); + #else + "cannot import name %S", name); + #endif + } + return value; +} + +/* PyObject_GenericGetAttrNoDict */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, attr_name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(attr_name)); +#endif + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { + PyObject *descr; + PyTypeObject *tp = Py_TYPE(obj); + if (unlikely(!PyString_Check(attr_name))) { + return PyObject_GenericGetAttr(obj, attr_name); + } + assert(!tp->tp_dictoffset); + descr = _PyType_Lookup(tp, attr_name); + if (unlikely(!descr)) { + return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); + } + Py_INCREF(descr); + #if PY_MAJOR_VERSION < 3 + if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) + #endif + { + descrgetfunc f = Py_TYPE(descr)->tp_descr_get; + if (unlikely(f)) { + PyObject *res = f(descr, obj, (PyObject *)tp); + Py_DECREF(descr); + return res; + } + } + return descr; +} +#endif + +/* PyObject_GenericGetAttr */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) { + if (unlikely(Py_TYPE(obj)->tp_dictoffset)) { + return PyObject_GenericGetAttr(obj, attr_name); + } + return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name); +} +#endif + +/* SetVTable */ +static int __Pyx_SetVtable(PyObject *dict, void *vtable) { +#if PY_VERSION_HEX >= 0x02070000 + PyObject *ob = PyCapsule_New(vtable, 0, 0); +#else + PyObject *ob = PyCObject_FromVoidPtr(vtable, 0); +#endif + if (!ob) + goto bad; + if (PyDict_SetItem(dict, __pyx_n_s_pyx_vtable, ob) < 0) + goto bad; + Py_DECREF(ob); + return 0; +bad: + Py_XDECREF(ob); + return -1; +} + +/* SetupReduce */ +static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) { + int ret; + PyObject *name_attr; + name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name); + if (likely(name_attr)) { + ret = PyObject_RichCompareBool(name_attr, name, Py_EQ); + } else { + ret = -1; + } + if (unlikely(ret < 0)) { + PyErr_Clear(); + ret = 0; + } + Py_XDECREF(name_attr); + return ret; +} +static int __Pyx_setup_reduce(PyObject* type_obj) { + int ret = 0; + PyObject *object_reduce = NULL; + PyObject *object_reduce_ex = NULL; + PyObject *reduce = NULL; + PyObject *reduce_ex = NULL; + PyObject *reduce_cython = NULL; + PyObject *setstate = NULL; + PyObject *setstate_cython = NULL; +#if CYTHON_USE_PYTYPE_LOOKUP + if (_PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate)) goto GOOD; +#else + if (PyObject_HasAttr(type_obj, __pyx_n_s_getstate)) goto GOOD; +#endif +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD; +#else + object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD; +#endif + reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto BAD; + if (reduce_ex == object_reduce_ex) { +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD; +#else + object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD; +#endif + reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto BAD; + if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) { + reduce_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_cython); if (unlikely(!reduce_cython)) goto BAD; + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto BAD; + setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate); + if (!setstate) PyErr_Clear(); + if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) { + setstate_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate_cython); if (unlikely(!setstate_cython)) goto BAD; + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto BAD; + } + PyType_Modified((PyTypeObject*)type_obj); + } + } + goto GOOD; +BAD: + if (!PyErr_Occurred()) + PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name); + ret = -1; +GOOD: +#if !CYTHON_USE_PYTYPE_LOOKUP + Py_XDECREF(object_reduce); + Py_XDECREF(object_reduce_ex); +#endif + Py_XDECREF(reduce); + Py_XDECREF(reduce_ex); + Py_XDECREF(reduce_cython); + Py_XDECREF(setstate); + Py_XDECREF(setstate_cython); + return ret; +} + +/* TypeImport */ +#ifndef __PYX_HAVE_RT_ImportType +#define __PYX_HAVE_RT_ImportType +static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, + size_t size, enum __Pyx_ImportType_CheckSize check_size) +{ + PyObject *result = 0; + char warning[200]; + Py_ssize_t basicsize; +#ifdef Py_LIMITED_API + PyObject *py_basicsize; +#endif + result = PyObject_GetAttrString(module, class_name); + if (!result) + goto bad; + if (!PyType_Check(result)) { + PyErr_Format(PyExc_TypeError, + "%.200s.%.200s is not a type object", + module_name, class_name); + goto bad; + } +#ifndef Py_LIMITED_API + basicsize = ((PyTypeObject *)result)->tp_basicsize; +#else + py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); + if (!py_basicsize) + goto bad; + basicsize = PyLong_AsSsize_t(py_basicsize); + Py_DECREF(py_basicsize); + py_basicsize = 0; + if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; +#endif + if ((size_t)basicsize < size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; + } + return (PyTypeObject *)result; +bad: + Py_XDECREF(result); + return NULL; +} +#endif + +/* GetNameInClass */ +static PyObject *__Pyx_GetGlobalNameAfterAttributeLookup(PyObject *name) { + PyObject *result; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) + return NULL; + __Pyx_PyErr_Clear(); + __Pyx_GetModuleGlobalNameUncached(result, name); + return result; +} +static PyObject *__Pyx__GetNameInClass(PyObject *nmspace, PyObject *name) { + PyObject *result; + result = __Pyx_PyObject_GetAttrStr(nmspace, name); + if (!result) { + result = __Pyx_GetGlobalNameAfterAttributeLookup(name); + } + return result; +} + +/* CLineInTraceback */ +#ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#endif + +/* CodeObjectCache */ +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ +#include "compile.h" +#include "frameobject.h" +#include "traceback.h" +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyObject *py_srcfile = 0; + PyObject *py_funcname = 0; + #if PY_MAJOR_VERSION < 3 + py_srcfile = PyString_FromString(filename); + #else + py_srcfile = PyUnicode_FromString(filename); + #endif + if (!py_srcfile) goto bad; + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + #else + py_funcname = PyUnicode_FromString(funcname); + #endif + } + if (!py_funcname) goto bad; + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + Py_DECREF(py_funcname); + return py_code; +bad: + Py_XDECREF(py_srcfile); + Py_XDECREF(py_funcname); + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + py_code = __pyx_find_code_object(c_line ? -c_line : py_line); + if (!py_code) { + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) goto bad; + __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); + } + py_frame = PyFrame_New( + tstate, /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +/* CIntFromPyVerify */ +#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value) { + const uint64_t neg_one = (uint64_t) ((uint64_t) 0 - (uint64_t) 1), const_zero = (uint64_t) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(uint64_t) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(uint64_t) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(uint64_t) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint64_t) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(uint64_t), + little, !is_unsigned); + } +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { + const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(int) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(int) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(int) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(int), + little, !is_unsigned); + } +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* CIntFromPy */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { + const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* FastTypeChecks */ +#if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i<n; i++) { + if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1; + } +#endif + for (i=0; i<n; i++) { + PyObject *t = PyTuple_GET_ITEM(tuple, i); + #if PY_MAJOR_VERSION < 3 + if (likely(exc_type == t)) return 1; + #endif + if (likely(PyExceptionClass_Check(t))) { + if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1; + } else { + } + } + return 0; +} +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) { + if (likely(err == exc_type)) return 1; + if (likely(PyExceptionClass_Check(err))) { + if (likely(PyExceptionClass_Check(exc_type))) { + return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type); + } else if (likely(PyTuple_Check(exc_type))) { + return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type); + } else { + } + } + return PyErr_GivenExceptionMatches(err, exc_type); +} +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) { + assert(PyExceptionClass_Check(exc_type1)); + assert(PyExceptionClass_Check(exc_type2)); + if (likely(err == exc_type1 || err == exc_type2)) return 1; + if (likely(PyExceptionClass_Check(err))) { + return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2); + } + return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2)); +} +#endif + +/* CheckBinaryVersion */ +static int __Pyx_check_binary_version(void) { + char ctversion[4], rtversion[4]; + PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); + PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); + if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { + char message[200]; + PyOS_snprintf(message, sizeof(message), + "compiletime version %s of module '%.100s' " + "does not match runtime version %s", + ctversion, __Pyx_MODULE_NAME, rtversion); + return PyErr_WarnEx(NULL, message, 1); + } + return 0; +} + +/* InitStrings */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + if (PyObject_Hash(*t->p) == -1) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +} +#else +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(PyUnicode_IS_ASCII(o))) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +} +#endif +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS + PyNumberMethods *m; +#endif + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(PyLong_Check(x))) +#endif + return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS + m = Py_TYPE(x)->tp_as_number; + #if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(b); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/venv/lib/python3.6/site-packages/multidict/_multidict.cpython-36m-x86_64-linux-gnu.so b/venv/lib/python3.6/site-packages/multidict/_multidict.cpython-36m-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..f0913d7a37e149af6e132d1e9302f6225bc7adcf GIT binary patch literal 665715 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/multidict/_multidict.pyx b/venv/lib/python3.6/site-packages/multidict/_multidict.pyx new file mode 100644 index 0000000..adc631f --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_multidict.pyx @@ -0,0 +1,362 @@ +from __future__ import absolute_import + +import sys +from collections import abc +from collections.abc import Iterable, Set + +from cpython.object cimport PyObject_Str, Py_NE, PyObject_RichCompare + +from ._abc import MultiMapping, MutableMultiMapping +from ._istr import istr + +from ._multidict_iter cimport * +from ._multidict_views cimport * +from ._pair_list cimport * + +cdef object _marker = object() + +upstr = istr # for relaxing backward compatibility problems +cdef object _istr = istr + +pair_list_init(istr) +# multidict_iter_init() +multidict_views_init() + +def getversion(_Base md): + return pair_list_version(md._impl) + + +cdef class _Base: + + cdef object _impl + + def impl(self): + return self._impl + + def getall(self, key, default=_marker): + """Return a list of all values matching the key.""" + try: + return pair_list_get_all(self._impl, key) + except KeyError: + if default is not _marker: + return default + else: + raise + + def getone(self, key, default=_marker): + """Get first value matching the key.""" + return self._getone(key, default) + + cdef _getone(self, key, default): + try: + return pair_list_get_one(self._impl, key) + except KeyError: + if default is not _marker: + return default + else: + raise + + # Mapping interface # + + def __getitem__(self, key): + return self._getone(key, _marker) + + def get(self, key, default=None): + """Get first value matching the key. + + The method is alias for .getone(). + """ + return self._getone(key, default) + + def __contains__(self, key): + return self._contains(key) + + cdef _contains(self, key): + return pair_list_contains(self._impl, key) + + def __iter__(self): + return iter(self.keys()) + + def __len__(self): + return pair_list_len(self._impl) + + cpdef keys(self): + """Return a new view of the dictionary's keys.""" + return multidict_keysview_new(self) + + def items(self): + """Return a new view of the dictionary's items *(key, value) pairs).""" + return multidict_itemsview_new(self) + + def values(self): + """Return a new view of the dictionary's values.""" + return multidict_valuesview_new(self) + + def __repr__(self): + lst = [] + for k, v in self.items(): + lst.append("'{}': {!r}".format(k, v)) + body = ', '.join(lst) + return '<{}({})>'.format(self.__class__.__name__, body) + + def __eq__(self, arg): + cdef Py_ssize_t pos1 + cdef PyObject *identity1 + cdef PyObject *value1 + cdef Py_hash_t h1 + + cdef Py_ssize_t pos2 + cdef PyObject *identity2 + cdef PyObject *value2 + cdef Py_hash_t h2 + + cdef _Base other + + if isinstance(arg, _Base): + other = <_Base>arg + if pair_list_len(self._impl) != pair_list_len(other._impl): + return False + pos1 = pos2 = 0 + while (_pair_list_next(self._impl, &pos1, &identity1, + NULL, &value1, &h1) and + _pair_list_next(other._impl, &pos2, &identity2, + NULL, &value2, &h2)): + if h1 != h2: + return False + if PyObject_RichCompare(<object>identity1, <object>identity2, Py_NE): + return False + if PyObject_RichCompare(<object>value1, <object>value2, Py_NE): + return False + return True + elif isinstance(arg, abc.Mapping): + return bool(pair_list_eq_to_mapping(self._impl, arg)) + else: + return NotImplemented + + +cdef class MultiDictProxy(_Base): + _proxy_classes = (MultiDict, MultiDictProxy) + _base_class = MultiDict + + def __init__(self, arg): + cdef _Base base + if not isinstance(arg, self._proxy_classes): + raise TypeError( + 'ctor requires {} instance' + ', not {}'.format( + ' or '.join(self._proxy_classes), + type(arg))) + + base = arg + self._impl = base._impl + + def __reduce__(self): + raise TypeError("can't pickle {} objects" + .format(self.__class__.__name__)) + + def copy(self): + """Return a copy of itself.""" + return self._base_class(self) + +MultiMapping.register(MultiDictProxy) + + +cdef class CIMultiDictProxy(MultiDictProxy): + _proxy_classes = (CIMultiDict, CIMultiDictProxy) + _base_class = CIMultiDict + + +MultiMapping.register(CIMultiDictProxy) + + +cdef str _str(key): + typ = type(key) + if typ is str: + return <str>key + if typ is _istr: + return PyObject_Str(key) + elif issubclass(typ, str): + return str(key) + else: + raise TypeError("MultiDict keys should be either str " + "or subclasses of str") + + +cdef class MultiDict(_Base): + """An ordered dictionary that can have multiple values for each key.""" + + def __init__(self, *args, **kwargs): + self._impl = pair_list_new() + self._extend(args, kwargs, 'MultiDict', True) + + def __reduce__(self): + return ( + self.__class__, + (list(self.items()),) + ) + + cdef _extend(self, tuple args, dict kwargs, name, bint do_add): + cdef object key + cdef object value + cdef object arg + cdef object i + + if len(args) > 1: + raise TypeError("{} takes at most 1 positional argument" + " ({} given)".format(name, len(args))) + + if args: + arg = args[0] + if isinstance(arg, _Base) and not kwargs: + if do_add: + self._append_items((<_Base>arg)._impl) + else: + self._update_items((<_Base>arg)._impl) + else: + if hasattr(arg, 'items'): + arg = arg.items() + if kwargs: + arg = list(arg) + arg.extend(list(kwargs.items())) + if do_add: + self._append_items_seq(arg, name) + else: + pair_list_update_from_seq(self._impl, arg) + else: + arg = list(kwargs.items()) + if do_add: + self._append_items_seq(arg, name) + else: + pair_list_update_from_seq(self._impl, arg) + + cdef object _update_items(self, object impl): + pair_list_update(self._impl, impl) + + cdef object _append_items(self, object impl): + cdef PyObject *key + cdef PyObject *val + cdef Py_ssize_t pos + pos = 0 + while _pair_list_next(impl, &pos, NULL, &key, &val, NULL): + self._add(<object>key, <object>val) + + cdef object _append_items_seq(self, object arg, object name): + cdef object i + cdef object key + cdef object value + for i in arg: + if not len(i) == 2: + raise TypeError( + "{} takes either dict or list of (key, value) " + "tuples".format(name)) + key = i[0] + value = i[1] + self._add(key, value) + + cdef _add(self, key, value): + pair_list_add(self._impl, key, value); + + cdef _replace(self, key, value): + pair_list_replace(self._impl, key, value) + + def add(self, key, value): + """Add the key and value, not overwriting any previous value.""" + self._add(key, value) + + def copy(self): + """Return a copy of itself.""" + ret = MultiDict() + ret._extend((list(self.items()),), {}, 'copy', True) + return ret + + def extend(self, *args, **kwargs): + """Extend current MultiDict with more values. + + This method must be used instead of update. + """ + self._extend(args, kwargs, "extend", True) + + def clear(self): + """Remove all items from MultiDict""" + pair_list_clear(self._impl) + + # MutableMapping interface # + + def __setitem__(self, key, value): + self._replace(key, value) + + def __delitem__(self, key): + pair_list_del(self._impl, key) + + def setdefault(self, key, default=None): + """Return value for key, set value to default if key is not present.""" + return pair_list_set_default(self._impl, key, default) + + def popone(self, key, default=_marker): + """Remove the last occurrence of key and return the corresponding + value. + + If key is not found, default is returned if given, otherwise + KeyError is raised. + + """ + try: + return pair_list_pop_one(self._impl, key) + except KeyError: + if default is _marker: + raise + else: + return default + + pop = popone + + def popall(self, key, default=_marker): + """Remove all occurrences of key and return the list of corresponding + values. + + If key is not found, default is returned if given, otherwise + KeyError is raised. + + """ + try: + return pair_list_pop_all(self._impl, key) + except KeyError: + if default is _marker: + raise + else: + return default + + def popitem(self): + """Remove and return an arbitrary (key, value) pair.""" + return pair_list_pop_item(self._impl) + + def update(self, *args, **kwargs): + """Update the dictionary from *other*, overwriting existing keys.""" + self._extend(args, kwargs, "update", False) + + +MutableMultiMapping.register(MultiDict) + + +cdef class CIMultiDict(MultiDict): + """An ordered dictionary that can have multiple values for each key.""" + + def __init__(self, *args, **kwargs): + self._impl = ci_pair_list_new() + self._extend(args, kwargs, 'CIMultiDict', True) + + def __reduce__(self): + return ( + self.__class__, + (list(self.items()),), + ) + + def copy(self): + """Return a copy of itself.""" + ret = CIMultiDict() + ret._extend((list(self.items()),), {}, 'copy', True) + return ret + + +MutableMultiMapping.register(CIMultiDict) + diff --git a/venv/lib/python3.6/site-packages/multidict/_multidict_base.py b/venv/lib/python3.6/site-packages/multidict/_multidict_base.py new file mode 100644 index 0000000..75a7423 --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_multidict_base.py @@ -0,0 +1,137 @@ +from collections import abc +from collections.abc import Set, Iterable + + +def _abc_itemsview_register(view_cls): + abc.ItemsView.register(view_cls) + + +def _abc_keysview_register(view_cls): + abc.KeysView.register(view_cls) + + +def _abc_valuesview_register(view_cls): + abc.ValuesView.register(view_cls) + + +def _viewbaseset_richcmp(view, other, op): + if op == 0: # < + if not isinstance(other, Set): + return NotImplemented + return len(view) < len(other) and view <= other + elif op == 1: # <= + if not isinstance(other, Set): + return NotImplemented + if len(view) > len(other): + return False + for elem in view: + if elem not in other: + return False + return True + elif op == 2: # == + if not isinstance(other, Set): + return NotImplemented + return len(view) == len(other) and view <= other + elif op == 3: # != + return not view == other + elif op == 4: # > + if not isinstance(other, Set): + return NotImplemented + return len(view) > len(other) and view >= other + elif op == 5: # >= + if not isinstance(other, Set): + return NotImplemented + if len(view) < len(other): + return False + for elem in other: + if elem not in view: + return False + return True + + +def _viewbaseset_and(view, other): + if not isinstance(other, Iterable): + return NotImplemented + if isinstance(view, Set): + view = set(iter(view)) + if isinstance(other, Set): + other = set(iter(other)) + if not isinstance(other, Set): + other = set(iter(other)) + return view & other + + +def _viewbaseset_or(view, other): + if not isinstance(other, Iterable): + return NotImplemented + if isinstance(view, Set): + view = set(iter(view)) + if isinstance(other, Set): + other = set(iter(other)) + if not isinstance(other, Set): + other = set(iter(other)) + return view | other + + +def _viewbaseset_sub(view, other): + if not isinstance(other, Iterable): + return NotImplemented + if isinstance(view, Set): + view = set(iter(view)) + if isinstance(other, Set): + other = set(iter(other)) + if not isinstance(other, Set): + other = set(iter(other)) + return view - other + + +def _viewbaseset_xor(view, other): + if not isinstance(other, Iterable): + return NotImplemented + if isinstance(view, Set): + view = set(iter(view)) + if isinstance(other, Set): + other = set(iter(other)) + if not isinstance(other, Set): + other = set(iter(other)) + return view ^ other + + +def _itemsview_isdisjoint(view, other): + 'Return True if two sets have a null intersection.' + for v in other: + if v in view: + return False + return True + + +def _itemsview_repr(view): + lst = [] + for k, v in view: + lst.append("{!r}: {!r}".format(k, v)) + body = ', '.join(lst) + return '{}({})'.format(view.__class__.__name__, body) + + +def _keysview_isdisjoint(view, other): + 'Return True if two sets have a null intersection.' + for k in other: + if k in view: + return False + return True + + +def _keysview_repr(view): + lst = [] + for k in view: + lst.append("{!r}".format(k)) + body = ', '.join(lst) + return '{}({})'.format(view.__class__.__name__, body) + + +def _valuesview_repr(view): + lst = [] + for v in view: + lst.append("{!r}".format(v)) + body = ', '.join(lst) + return '{}({})'.format(view.__class__.__name__, body) diff --git a/venv/lib/python3.6/site-packages/multidict/_multidict_iter.c b/venv/lib/python3.6/site-packages/multidict/_multidict_iter.c new file mode 100644 index 0000000..31fadca --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_multidict_iter.c @@ -0,0 +1,272 @@ +#include "_pair_list.h" + +#include <Python.h> + +// fix for VisualC complier used by Python 3.4 +#ifdef __GNUC__ +#define INLINE inline +#else +#define INLINE +#endif + +static PyTypeObject multidict_items_iter_type; +static PyTypeObject multidict_values_iter_type; +static PyTypeObject multidict_keys_iter_type; + +typedef struct multidict_iter { + PyObject_HEAD + PyObject *impl; + Py_ssize_t current; + uint64_t version; +} MultidictIter; + +static INLINE void +_init_iter(MultidictIter *it, PyObject *impl) +{ + Py_INCREF(impl); + + it->impl = impl; + it->current = 0; + it->version = pair_list_version(impl); +} + +PyObject * +multidict_items_iter_new(PyObject *impl) +{ + MultidictIter *it = PyObject_GC_New( + MultidictIter, &multidict_items_iter_type); + if (it == NULL) { + return NULL; + } + + _init_iter(it, impl); + + return (PyObject *)it; +} + +PyObject * +multidict_keys_iter_new(PyObject *impl) +{ + MultidictIter *it = PyObject_GC_New( + MultidictIter, &multidict_keys_iter_type); + if (it == NULL) { + return NULL; + } + + _init_iter(it, impl); + + return (PyObject *)it; +} + +PyObject * +multidict_values_iter_new(PyObject *impl) +{ + MultidictIter *it = PyObject_GC_New( + MultidictIter, &multidict_values_iter_type); + if (it == NULL) { + return NULL; + } + + _init_iter(it, impl); + + return (PyObject *)it; +} + +static PyObject * +multidict_items_iter_iternext(MultidictIter *self) +{ + PyObject *key = NULL; + PyObject *value = NULL; + PyObject *ret = NULL; + + if (self->version != pair_list_version(self->impl)) { + PyErr_SetString(PyExc_RuntimeError, "Dictionary changed during iteration"); + return NULL; + } + + if (!_pair_list_next(self->impl, &self->current, NULL, &key, &value, NULL)) { + PyErr_SetNone(PyExc_StopIteration); + return NULL; + } + + ret = PyTuple_Pack(2, key, value); + if (ret == NULL) { + return NULL; + } + + return ret; +} + +static PyObject * +multidict_values_iter_iternext(MultidictIter *self) +{ + PyObject *value = NULL; + + if (self->version != pair_list_version(self->impl)) { + PyErr_SetString(PyExc_RuntimeError, "Dictionary changed during iteration"); + return NULL; + } + + if (!pair_list_next(self->impl, &self->current, NULL, NULL, &value)) { + PyErr_SetNone(PyExc_StopIteration); + return NULL; + } + + Py_INCREF(value); + + return value; +} + +static PyObject * +multidict_keys_iter_iternext(MultidictIter *self) +{ + PyObject *key = NULL; + + if (self->version != pair_list_version(self->impl)) { + PyErr_SetString(PyExc_RuntimeError, "Dictionary changed during iteration"); + return NULL; + } + + if (!pair_list_next(self->impl, &self->current, NULL, &key, NULL)) { + PyErr_SetNone(PyExc_StopIteration); + return NULL; + } + + Py_INCREF(key); + + return key; +} + +static void +multidict_iter_dealloc(MultidictIter *self) +{ + PyObject_GC_UnTrack(self); + Py_XDECREF(self->impl); + PyObject_GC_Del(self); +} + +static int +multidict_iter_traverse(MultidictIter *self, visitproc visit, void *arg) +{ + Py_VISIT(self->impl); + return 0; +} + +static int +multidict_iter_clear(MultidictIter *self) +{ + Py_CLEAR(self->impl); + return 0; +} + +/***********************************************************************/ + +/* We link this module statically for convenience. If compiled as a shared + library instead, some compilers don't allow addresses of Python objects + defined in other libraries to be used in static initializers here. The + DEFERRED_ADDRESS macro is used to tag the slots where such addresses + appear; the module init function must fill in the tagged slots at runtime. + The argument is for documentation -- the macro ignores it. +*/ +#define DEFERRED_ADDRESS(ADDR) 0 + +static PyTypeObject multidict_items_iter_type = { + PyVarObject_HEAD_INIT(DEFERRED_ADDRESS(&PyType_Type), 0) + "multidict._multidict_iter._itemsiter", /* tp_name */ + sizeof(MultidictIter), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor)multidict_iter_dealloc, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, /* tp_flags */ + 0, /* tp_doc */ + (traverseproc)multidict_iter_traverse, /* tp_traverse */ + (inquiry)multidict_iter_clear, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + PyObject_SelfIter, /* tp_iter */ + (iternextfunc)multidict_items_iter_iternext, /* tp_iternext */ +}; + +static PyTypeObject multidict_values_iter_type = { + PyVarObject_HEAD_INIT(DEFERRED_ADDRESS(&PyType_Type), 0) + "multidict._multidict_iter._valuesiter", /* tp_name */ + sizeof(MultidictIter), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor)multidict_iter_dealloc, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, /* tp_flags */ + 0, /* tp_doc */ + (traverseproc)multidict_iter_traverse, /* tp_traverse */ + (inquiry)multidict_iter_clear, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + PyObject_SelfIter, /* tp_iter */ + (iternextfunc)multidict_values_iter_iternext, /* tp_iternext */ +}; + +static PyTypeObject multidict_keys_iter_type = { + PyVarObject_HEAD_INIT(DEFERRED_ADDRESS(&PyType_Type), 0) + "multidict._multidict_iter._keysiter", /* tp_name */ + sizeof(MultidictIter), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor)multidict_iter_dealloc, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, /* tp_flags */ + 0, /* tp_doc */ + (traverseproc)multidict_iter_traverse, /* tp_traverse */ + (inquiry)multidict_iter_clear, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + PyObject_SelfIter, /* tp_iter */ + (iternextfunc)multidict_keys_iter_iternext, /* tp_iternext */ +}; + +int +multidict_iter_init() +{ + if (PyType_Ready(&multidict_items_iter_type) < 0 || + PyType_Ready(&multidict_values_iter_type) < 0 || + PyType_Ready(&multidict_keys_iter_type) < 0) { + return -1; + } + return 0; +} diff --git a/venv/lib/python3.6/site-packages/multidict/_multidict_iter.h b/venv/lib/python3.6/site-packages/multidict/_multidict_iter.h new file mode 100644 index 0000000..551fa4f --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_multidict_iter.h @@ -0,0 +1,20 @@ +#ifndef _MULTIDICT_ITER_H +#define _MULTIDICT_ITER_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "Python.h" + +PyObject *multidict_items_iter_new(PyObject *impl); +PyObject *multidict_keys_iter_new(PyObject *impl); +PyObject *multidict_values_iter_new(PyObject *impl); + +int multidict_iter_init(); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/venv/lib/python3.6/site-packages/multidict/_multidict_iter.pxd b/venv/lib/python3.6/site-packages/multidict/_multidict_iter.pxd new file mode 100644 index 0000000..e064176 --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_multidict_iter.pxd @@ -0,0 +1,9 @@ +from cpython.object cimport PyObject + +cdef extern from "_multidict_iter.h": + + object multidict_items_iter_new(object impl) + object multidict_keys_iter_new(object impl) + object multidict_values_iter_new(object impl) + + int multidict_iter_init() except -1 diff --git a/venv/lib/python3.6/site-packages/multidict/_multidict_py.py b/venv/lib/python3.6/site-packages/multidict/_multidict_py.py new file mode 100644 index 0000000..841ed1f --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_multidict_py.py @@ -0,0 +1,492 @@ +from array import array +from collections import abc +import sys + +from ._abc import MultiMapping, MutableMultiMapping + + +_marker = object() + + +class istr(str): + + """Case insensitive str.""" + + __is_istr__ = True + + def __new__(cls, val='', + encoding=sys.getdefaultencoding(), errors='strict'): + if getattr(val, '__is_istr__', False): + # Faster than instance check + return val + if type(val) is str: + pass + else: + val = str(val) + val = val.title() + return str.__new__(cls, val) + + def title(self): + return self + + +upstr = istr # for relaxing backward compatibility problems + + +def getversion(md): + if not isinstance(md, _Base): + raise TypeError("Parameter should be multidict or proxy") + return md._impl._version + + +_version = array('Q', [0]) + + +class _Impl: + __slots__ = ('_items', '_version') + + def __init__(self): + self._items = [] + self.incr_version() + + def incr_version(self): + global _version + v = _version + v[0] += 1 + self._version = v[0] + + +class _Base: + + def _title(self, key): + return key + + def getall(self, key, default=_marker): + """Return a list of all values matching the key.""" + identity = self._title(key) + res = [v for i, k, v in self._impl._items if i == identity] + if res: + return res + if not res and default is not _marker: + return default + raise KeyError('Key not found: %r' % key) + + def getone(self, key, default=_marker): + """Get first value matching the key.""" + identity = self._title(key) + for i, k, v in self._impl._items: + if i == identity: + return v + if default is not _marker: + return default + raise KeyError('Key not found: %r' % key) + + # Mapping interface # + + def __getitem__(self, key): + return self.getone(key) + + def get(self, key, default=None): + """Get first value matching the key. + + The method is alias for .getone(). + """ + return self.getone(key, default) + + def __iter__(self): + return iter(self.keys()) + + def __len__(self): + return len(self._impl._items) + + def keys(self): + """Return a new view of the dictionary's keys.""" + return _KeysView(self._impl) + + def items(self): + """Return a new view of the dictionary's items *(key, value) pairs).""" + return _ItemsView(self._impl) + + def values(self): + """Return a new view of the dictionary's values.""" + return _ValuesView(self._impl) + + def __eq__(self, other): + if not isinstance(other, abc.Mapping): + return NotImplemented + if isinstance(other, _Base): + lft = self._impl._items + rht = other._impl._items + if len(lft) != len(rht): + return False + for (i1, k2, v1), (i2, k2, v2) in zip(lft, rht): + if i1 != i2 or v1 != v2: + return False + return True + if len(self._impl._items) != len(other): + return False + for k, v in self.items(): + nv = other.get(k, _marker) + if v != nv: + return False + return True + + def __contains__(self, key): + identity = self._title(key) + for i, k, v in self._impl._items: + if i == identity: + return True + return False + + def __repr__(self): + body = ', '.join("'{}': {!r}".format(k, v) for k, v in self.items()) + return '<{}({})>'.format(self.__class__.__name__, body) + + +class MultiDictProxy(_Base, MultiMapping): + + def __init__(self, arg): + if not isinstance(arg, (MultiDict, MultiDictProxy)): + raise TypeError( + 'ctor requires MultiDict or MultiDictProxy instance' + ', not {}'.format( + type(arg))) + + self._impl = arg._impl + + def __reduce__(self): + raise TypeError("can't pickle {} objects".format( + self.__class__.__name__)) + + def copy(self): + """Return a copy of itself.""" + return MultiDict(self.items()) + + +class CIMultiDictProxy(MultiDictProxy): + + def __init__(self, arg): + if not isinstance(arg, (CIMultiDict, CIMultiDictProxy)): + raise TypeError( + 'ctor requires CIMultiDict or CIMultiDictProxy instance' + ', not {}'.format( + type(arg))) + + self._impl = arg._impl + + def _title(self, key): + return key.title() + + def copy(self): + """Return a copy of itself.""" + return CIMultiDict(self.items()) + + +class MultiDict(_Base, MutableMultiMapping): + + def __init__(self, *args, **kwargs): + self._impl = _Impl() + + self._extend(args, kwargs, self.__class__.__name__, + self._extend_items) + + def __reduce__(self): + return (self.__class__, (list(self.items()),)) + + def _title(self, key): + return key + + def _key(self, key): + if isinstance(key, str): + return key + else: + raise TypeError("MultiDict keys should be either str " + "or subclasses of str") + + def add(self, key, value): + identity = self._title(key) + self._impl._items.append((identity, self._key(key), value)) + self._impl.incr_version() + + def copy(self): + """Return a copy of itself.""" + cls = self.__class__ + return cls(self.items()) + + __copy__ = copy + + def extend(self, *args, **kwargs): + """Extend current MultiDict with more values. + + This method must be used instead of update. + """ + self._extend(args, kwargs, 'extend', self._extend_items) + + def _extend(self, args, kwargs, name, method): + if len(args) > 1: + raise TypeError("{} takes at most 1 positional argument" + " ({} given)".format(name, len(args))) + if args: + arg = args[0] + if isinstance(args[0], (MultiDict, MultiDictProxy)) and not kwargs: + items = arg._impl._items + else: + if hasattr(arg, 'items'): + arg = arg.items() + if kwargs: + arg = list(arg) + arg.extend(list(kwargs.items())) + items = [] + for item in arg: + if not len(item) == 2: + raise TypeError( + "{} takes either dict or list of (key, value) " + "tuples".format(name)) + items.append((self._title(item[0]), + self._key(item[0]), + item[1])) + + method(items) + else: + method([(self._title(key), self._key(key), value) + for key, value in kwargs.items()]) + + def _extend_items(self, items): + for identity, key, value in items: + self.add(key, value) + + def clear(self): + """Remove all items from MultiDict.""" + self._impl._items.clear() + self._impl.incr_version() + + # Mapping interface # + + def __setitem__(self, key, value): + self._replace(key, value) + + def __delitem__(self, key): + identity = self._title(key) + items = self._impl._items + found = False + for i in range(len(items) - 1, -1, -1): + if items[i][0] == identity: + del items[i] + found = True + if not found: + raise KeyError(key) + else: + self._impl.incr_version() + + def setdefault(self, key, default=None): + """Return value for key, set value to default if key is not present.""" + identity = self._title(key) + for i, k, v in self._impl._items: + if i == identity: + return v + self.add(key, default) + return default + + def popone(self, key, default=_marker): + """Remove specified key and return the corresponding value. + + If key is not found, d is returned if given, otherwise + KeyError is raised. + + """ + identity = self._title(key) + for i in range(len(self._impl._items)): + if self._impl._items[i][0] == identity: + value = self._impl._items[i][2] + del self._impl._items[i] + self._impl.incr_version() + return value + if default is _marker: + raise KeyError(key) + else: + return default + + pop = popone + + def popall(self, key, default=_marker): + """Remove all occurrences of key and return the list of corresponding + values. + + If key is not found, default is returned if given, otherwise + KeyError is raised. + + """ + found = False + identity = self._title(key) + ret = [] + for i in range(len(self._impl._items)-1, -1, -1): + item = self._impl._items[i] + if item[0] == identity: + ret.append(item[2]) + del self._impl._items[i] + self._impl.incr_version() + found = True + if not found: + if default is _marker: + raise KeyError(key) + else: + return default + else: + ret.reverse() + return ret + + def popitem(self): + """Remove and return an arbitrary (key, value) pair.""" + if self._impl._items: + i = self._impl._items.pop(0) + self._impl.incr_version() + return i[1], i[2] + else: + raise KeyError("empty multidict") + + def update(self, *args, **kwargs): + """Update the dictionary from *other*, overwriting existing keys.""" + self._extend(args, kwargs, 'update', self._update_items) + + def _update_items(self, items): + if not items: + return + used_keys = {} + for identity, key, value in items: + start = used_keys.get(identity, 0) + for i in range(start, len(self._impl._items)): + item = self._impl._items[i] + if item[0] == identity: + used_keys[identity] = i + 1 + self._impl._items[i] = (identity, key, value) + break + else: + self._impl._items.append((identity, key, value)) + used_keys[identity] = len(self._impl._items) + + # drop tails + i = 0 + while i < len(self._impl._items): + item = self._impl._items[i] + identity = item[0] + pos = used_keys.get(identity) + if pos is None: + i += 1 + continue + if i >= pos: + del self._impl._items[i] + else: + i += 1 + + self._impl.incr_version() + + def _replace(self, key, value): + key = self._key(key) + identity = self._title(key) + items = self._impl._items + + for i in range(len(items)): + item = items[i] + if item[0] == identity: + items[i] = (identity, key, value) + # i points to last found item + rgt = i + self._impl.incr_version() + break + else: + self._impl._items.append((identity, key, value)) + self._impl.incr_version() + return + + # remove all tail items + i = rgt + 1 + while i < len(items): + item = items[i] + if item[0] == identity: + del items[i] + else: + i += 1 + + +class CIMultiDict(MultiDict): + + def _title(self, key): + return key.title() + + +class _ViewBase: + + def __init__(self, impl): + self._impl = impl + self._version = impl._version + + def __len__(self): + return len(self._impl._items) + + +class _ItemsView(_ViewBase, abc.ItemsView): + + def __contains__(self, item): + assert isinstance(item, tuple) or isinstance(item, list) + assert len(item) == 2 + for i, k, v in self._impl._items: + if item[0] == k and item[1] == v: + return True + return False + + def __iter__(self): + for i, k, v in self._impl._items: + if self._version != self._impl._version: + raise RuntimeError("Dictionary changed during iteration") + yield k, v + + def __repr__(self): + lst = [] + for item in self._impl._items: + lst.append("{!r}: {!r}".format(item[1], item[2])) + body = ', '.join(lst) + return '{}({})'.format(self.__class__.__name__, body) + + +class _ValuesView(_ViewBase, abc.ValuesView): + + def __contains__(self, value): + for item in self._impl._items: + if item[2] == value: + return True + return False + + def __iter__(self): + for item in self._impl._items: + if self._version != self._impl._version: + raise RuntimeError("Dictionary changed during iteration") + yield item[2] + + def __repr__(self): + lst = [] + for item in self._impl._items: + lst.append("{!r}".format(item[2])) + body = ', '.join(lst) + return '{}({})'.format(self.__class__.__name__, body) + + +class _KeysView(_ViewBase, abc.KeysView): + + def __contains__(self, key): + for item in self._impl._items: + if item[1] == key: + return True + return False + + def __iter__(self): + for item in self._impl._items: + if self._version != self._impl._version: + raise RuntimeError("Dictionary changed during iteration") + yield item[1] + + def __repr__(self): + lst = [] + for item in self._impl._items: + lst.append("{!r}".format(item[1])) + body = ', '.join(lst) + return '{}({})'.format(self.__class__.__name__, body) diff --git a/venv/lib/python3.6/site-packages/multidict/_multidict_views.c b/venv/lib/python3.6/site-packages/multidict/_multidict_views.c new file mode 100644 index 0000000..446310a --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_multidict_views.c @@ -0,0 +1,586 @@ +#include "_multidict_views.h" +#include "_multidict_iter.h" +#include "_pair_list.h" + +#include <Python.h> + +// fix for VisualC complier used by Python 3.4 +#ifdef __GNUC__ +#define INLINE inline +#else +#define INLINE +#endif + +/* We link this module statically for convenience. If compiled as a shared + library instead, some compilers don't allow addresses of Python objects + defined in other libraries to be used in static initializers here. The + DEFERRED_ADDRESS macro is used to tag the slots where such addresses + appear; the module init function must fill in the tagged slots at runtime. + The argument is for documentation -- the macro ignores it. +*/ +#define DEFERRED_ADDRESS(ADDR) 0 + +_Py_IDENTIFIER(impl); + +static PyTypeObject multidict_itemsview_type; +static PyTypeObject multidict_valuesview_type; +static PyTypeObject multidict_keysview_type; + +static PyObject *viewbaseset_richcmp_func; +static PyObject *viewbaseset_and_func; +static PyObject *viewbaseset_or_func; +static PyObject *viewbaseset_sub_func; +static PyObject *viewbaseset_xor_func; + +static PyObject *abc_itemsview_register_func; +static PyObject *abc_keysview_register_func; +static PyObject *abc_valuesview_register_func; + +static PyObject *itemsview_isdisjoint_func; +static PyObject *itemsview_repr_func; + +static PyObject *keysview_repr_func; +static PyObject *keysview_isdisjoint_func; + +static PyObject *valuesview_repr_func; + +typedef struct { + PyObject_HEAD + PyObject *md; +} _Multidict_ViewObject; + + +/********** Base **********/ + +static INLINE void +_init_view(_Multidict_ViewObject *self, PyObject *md) +{ + Py_INCREF(md); + self->md = md; +} + +static void +multidict_view_dealloc(_Multidict_ViewObject *self) +{ + PyObject_GC_UnTrack(self); + Py_XDECREF(self->md); + PyObject_GC_Del(self); +} + +static int +multidict_view_traverse(_Multidict_ViewObject *self, visitproc visit, void *arg) +{ + Py_VISIT(self->md); + return 0; +} + +static int +multidict_view_clear(_Multidict_ViewObject *self) +{ + Py_CLEAR(self->md); + return 0; +} + +static Py_ssize_t +multidict_view_len(_Multidict_ViewObject *self) +{ + Py_ssize_t ret; + PyObject *impl = _PyObject_CallMethodId(self->md, &PyId_impl, NULL); + if (impl == NULL) { + return 0; + } + ret = pair_list_len(impl); + Py_DECREF(impl); + return ret; +} + +static PyObject * +multidict_view_richcompare(PyObject *self, PyObject *other, int op) +{ + PyObject *ret; + PyObject *op_obj = PyLong_FromLong(op); + if (op_obj == NULL) { + return NULL; + } + ret = PyObject_CallFunctionObjArgs( + viewbaseset_richcmp_func, self, other, op_obj, NULL); + Py_DECREF(op_obj); + return ret; +} + +static PyObject * +multidict_view_and(PyObject *self, PyObject *other) +{ + return PyObject_CallFunctionObjArgs( + viewbaseset_and_func, self, other, NULL); +} + +static PyObject * +multidict_view_or(PyObject *self, PyObject *other) +{ + return PyObject_CallFunctionObjArgs( + viewbaseset_or_func, self, other, NULL); +} + +static PyObject * +multidict_view_sub(PyObject *self, PyObject *other) +{ + return PyObject_CallFunctionObjArgs( + viewbaseset_sub_func, self, other, NULL); +} + +static PyObject * +multidict_view_xor(PyObject *self, PyObject *other) +{ + return PyObject_CallFunctionObjArgs( + viewbaseset_xor_func, self, other, NULL); +} + +static PyNumberMethods multidict_view_as_number = { + 0, /* nb_add */ + (binaryfunc)multidict_view_sub, /* nb_subtract */ + 0, /* nb_multiply */ + 0, /* nb_remainder */ + 0, /* nb_divmod */ + 0, /* nb_power */ + 0, /* nb_negative */ + 0, /* nb_positive */ + 0, /* nb_absolute */ + 0, /* nb_bool */ + 0, /* nb_invert */ + 0, /* nb_lshift */ + 0, /* nb_rshift */ + (binaryfunc)multidict_view_and, /* nb_and */ + (binaryfunc)multidict_view_xor, /* nb_xor */ + (binaryfunc)multidict_view_or, /* nb_or */ +}; + +/********** Items **********/ + +PyObject * +multidict_itemsview_new(PyObject *md) +{ + _Multidict_ViewObject *mv = PyObject_GC_New( + _Multidict_ViewObject, &multidict_itemsview_type); + if (mv == NULL) { + return NULL; + } + + _init_view(mv, md); + + return (PyObject *)mv; +} + +static PyObject * +multidict_itemsview_iter(_Multidict_ViewObject *self) +{ + PyObject *iter; + PyObject *impl = _PyObject_CallMethodId(self->md, &PyId_impl, NULL); + if (impl == NULL) { + return NULL; + } + iter = multidict_items_iter_new(impl); + Py_DECREF(impl); + return iter; +} + +static PyObject * +multidict_itemsview_repr(_Multidict_ViewObject *self) +{ + return PyObject_CallFunctionObjArgs( + itemsview_repr_func, self, NULL); +} + +static PyObject * +multidict_itemsview_isdisjoint(_Multidict_ViewObject *self, PyObject *other) +{ + return PyObject_CallFunctionObjArgs( + itemsview_isdisjoint_func, self, other, NULL); +} + +PyDoc_STRVAR(itemsview_isdisjoint_doc, + "Return True if two sets have a null intersection."); + +static PyMethodDef multidict_itemsview_methods[] = { + { + "isdisjoint", + (PyCFunction)multidict_itemsview_isdisjoint, + METH_O, + itemsview_isdisjoint_doc + }, + { + NULL, + NULL + } /* sentinel */ +}; + +static int +multidict_itemsview_contains(_Multidict_ViewObject *self, PyObject *obj) +{ + PyObject *akey = NULL, + *aval = NULL, + *bkey = NULL, + *bval = NULL, + *iter = NULL, + *item = NULL; + int ret1, ret2; + + if (!PyTuple_Check(obj) || PyTuple_GET_SIZE(obj) != 2) { + return 0; + } + + bkey = PyTuple_GET_ITEM(obj, 0); + bval = PyTuple_GET_ITEM(obj, 1); + + iter = multidict_itemsview_iter(self); + if (iter == NULL) { + return 0; + } + + while ((item = PyIter_Next(iter)) != NULL) { + akey = PyTuple_GET_ITEM(item, 0); + aval = PyTuple_GET_ITEM(item, 1); + + ret1 = PyObject_RichCompareBool(akey, bkey, Py_EQ); + if (ret1 < 0) { + Py_DECREF(iter); + Py_DECREF(item); + return -1; + } + ret2 = PyObject_RichCompareBool(aval, bval, Py_EQ); + if (ret2 < 0) { + Py_DECREF(iter); + Py_DECREF(item); + return -1; + } + if (ret1 > 0 && ret2 > 0) + { + Py_DECREF(iter); + Py_DECREF(item); + return 1; + } + + Py_DECREF(item); + } + + Py_DECREF(iter); + + if (PyErr_Occurred()) { + return -1; + } + + return 0; +} + +static PySequenceMethods multidict_itemsview_as_sequence = { + (lenfunc)multidict_view_len, /* sq_length */ + 0, /* sq_concat */ + 0, /* sq_repeat */ + 0, /* sq_item */ + 0, /* sq_slice */ + 0, /* sq_ass_item */ + 0, /* sq_ass_slice */ + (objobjproc)multidict_itemsview_contains, /* sq_contains */ +}; + +static PyTypeObject multidict_itemsview_type = { + PyVarObject_HEAD_INIT(DEFERRED_ADDRESS(&PyType_Type), 0) + "_ItemsView", /* tp_name */ + sizeof(_Multidict_ViewObject), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor)multidict_view_dealloc, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + (reprfunc)multidict_itemsview_repr, /* tp_repr */ + &multidict_view_as_number, /* tp_as_number */ + &multidict_itemsview_as_sequence, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + PyObject_GenericGetAttr, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, /* tp_flags */ + 0, /* tp_doc */ + (traverseproc)multidict_view_traverse, /* tp_traverse */ + (inquiry)multidict_view_clear, /* tp_clear */ + multidict_view_richcompare, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + (getiterfunc)multidict_itemsview_iter, /* tp_iter */ + 0, /* tp_iternext */ + multidict_itemsview_methods, /* tp_methods */ +}; + + +/********** Keys **********/ + +PyObject * +multidict_keysview_new(PyObject *md) +{ + _Multidict_ViewObject *mv = PyObject_GC_New( + _Multidict_ViewObject, &multidict_keysview_type); + if (mv == NULL) { + return NULL; + } + + _init_view(mv, md); + + return (PyObject *)mv; +} + +static PyObject * +multidict_keysview_iter(_Multidict_ViewObject *self) +{ + PyObject *iter; + PyObject *impl = _PyObject_CallMethodId(self->md, &PyId_impl, NULL); + if (impl == NULL) { + return NULL; + } + iter = multidict_keys_iter_new(impl); + Py_DECREF(impl); + return iter; +} + +static PyObject * +multidict_keysview_repr(_Multidict_ViewObject *self) +{ + return PyObject_CallFunctionObjArgs( + keysview_repr_func, self, NULL); +} + +static PyObject * +multidict_keysview_isdisjoint(_Multidict_ViewObject *self, PyObject *other) +{ + return PyObject_CallFunctionObjArgs( + keysview_isdisjoint_func, self, other, NULL); +} + +PyDoc_STRVAR(keysview_isdisjoint_doc, + "Return True if two sets have a null intersection."); + +static PyMethodDef multidict_keysview_methods[] = { + { + "isdisjoint", + (PyCFunction)multidict_keysview_isdisjoint, + METH_O, + keysview_isdisjoint_doc + }, + { + NULL, + NULL + } /* sentinel */ +}; + +static int +multidict_keysview_contains(_Multidict_ViewObject *self, PyObject *key) +{ + int ret; + PyObject *impl = _PyObject_CallMethodId(self->md, &PyId_impl, NULL); + if (impl == NULL) { + return -1; + } + ret = pair_list_contains(impl, key); + Py_DECREF(impl); + return ret; +} + +static PySequenceMethods multidict_keysview_as_sequence = { + (lenfunc)multidict_view_len, /* sq_length */ + 0, /* sq_concat */ + 0, /* sq_repeat */ + 0, /* sq_item */ + 0, /* sq_slice */ + 0, /* sq_ass_item */ + 0, /* sq_ass_slice */ + (objobjproc)multidict_keysview_contains, /* sq_contains */ +}; + +static PyTypeObject multidict_keysview_type = { + PyVarObject_HEAD_INIT(DEFERRED_ADDRESS(&PyType_Type), 0) + "_KeysView", /* tp_name */ + sizeof(_Multidict_ViewObject), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor)multidict_view_dealloc, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + (reprfunc)multidict_keysview_repr, /* tp_repr */ + &multidict_view_as_number, /* tp_as_number */ + &multidict_keysview_as_sequence, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + PyObject_GenericGetAttr, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, /* tp_flags */ + 0, /* tp_doc */ + (traverseproc)multidict_view_traverse, /* tp_traverse */ + (inquiry)multidict_view_clear, /* tp_clear */ + multidict_view_richcompare, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + (getiterfunc)multidict_keysview_iter, /* tp_iter */ + 0, /* tp_iternext */ + multidict_keysview_methods, /* tp_methods */ +}; + + +/********** Values **********/ + +PyObject * +multidict_valuesview_new(PyObject *md) +{ + _Multidict_ViewObject *mv = PyObject_GC_New( + _Multidict_ViewObject, &multidict_valuesview_type); + if (mv == NULL) { + return NULL; + } + + _init_view(mv, md); + + return (PyObject *)mv; +} + +static PyObject * +multidict_valuesview_iter(_Multidict_ViewObject *self) +{ + PyObject *iter; + PyObject *impl = _PyObject_CallMethodId(self->md, &PyId_impl, NULL); + if (impl == NULL) { + return NULL; + } + iter = multidict_values_iter_new(impl); + Py_DECREF(impl); + return iter; +} + +static PyObject * +multidict_valuesview_repr(_Multidict_ViewObject *self) +{ + return PyObject_CallFunctionObjArgs( + valuesview_repr_func, self, NULL); +} + +static PySequenceMethods multidict_valuesview_as_sequence = { + (lenfunc)multidict_view_len, /* sq_length */ + 0, /* sq_concat */ + 0, /* sq_repeat */ + 0, /* sq_item */ + 0, /* sq_slice */ + 0, /* sq_ass_item */ + 0, /* sq_ass_slice */ + (objobjproc)0, /* sq_contains */ +}; + +static PyTypeObject multidict_valuesview_type = { + PyVarObject_HEAD_INIT(DEFERRED_ADDRESS(&PyType_Type), 0) + "_ValuesView", /* tp_name */ + sizeof(_Multidict_ViewObject), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor)multidict_view_dealloc, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + (reprfunc)multidict_valuesview_repr, /* tp_repr */ + 0, /* tp_as_number */ + &multidict_valuesview_as_sequence, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + PyObject_GenericGetAttr, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, /* tp_flags */ + 0, /* tp_doc */ + (traverseproc)multidict_view_traverse, /* tp_traverse */ + (inquiry)multidict_view_clear, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + (getiterfunc)multidict_valuesview_iter, /* tp_iter */ + 0, /* tp_iternext */ +}; + +int +multidict_views_init() +{ + PyObject *reg_func_call_result = NULL; + PyObject *module = PyImport_ImportModule("multidict._multidict_base"); + if (module == NULL) { + goto fail; + } + +#define GET_MOD_ATTR(VAR, NAME) \ + VAR = PyObject_GetAttrString(module, NAME); \ + if (VAR == NULL) { \ + goto fail; \ + } + + GET_MOD_ATTR(viewbaseset_richcmp_func, "_viewbaseset_richcmp"); + GET_MOD_ATTR(viewbaseset_and_func, "_viewbaseset_and"); + GET_MOD_ATTR(viewbaseset_or_func, "_viewbaseset_or"); + GET_MOD_ATTR(viewbaseset_sub_func, "_viewbaseset_sub"); + GET_MOD_ATTR(viewbaseset_xor_func, "_viewbaseset_xor"); + + GET_MOD_ATTR(abc_itemsview_register_func, "_abc_itemsview_register"); + GET_MOD_ATTR(abc_keysview_register_func, "_abc_keysview_register"); + GET_MOD_ATTR(abc_valuesview_register_func, "_abc_valuesview_register"); + + GET_MOD_ATTR(itemsview_repr_func, "_itemsview_isdisjoint"); + GET_MOD_ATTR(itemsview_repr_func, "_itemsview_repr"); + + GET_MOD_ATTR(keysview_repr_func, "_keysview_repr"); + GET_MOD_ATTR(keysview_isdisjoint_func, "_keysview_isdisjoint"); + + GET_MOD_ATTR(valuesview_repr_func, "_valuesview_repr"); + + if (multidict_iter_init() < 0) { + goto fail; + } + + if (PyType_Ready(&multidict_itemsview_type) < 0 || + PyType_Ready(&multidict_valuesview_type) < 0 || + PyType_Ready(&multidict_keysview_type) < 0) + { + goto fail; + } + + // abc.ItemsView.register(_ItemsView) + reg_func_call_result = PyObject_CallFunctionObjArgs( + abc_itemsview_register_func, (PyObject*)&multidict_itemsview_type, NULL); + if (reg_func_call_result == NULL) { + goto fail; + } + Py_DECREF(reg_func_call_result); + + // abc.KeysView.register(_KeysView) + reg_func_call_result = PyObject_CallFunctionObjArgs( + abc_keysview_register_func, (PyObject*)&multidict_keysview_type, NULL); + if (reg_func_call_result == NULL) { + goto fail; + } + Py_DECREF(reg_func_call_result); + + // abc.ValuesView.register(_KeysView) + reg_func_call_result = PyObject_CallFunctionObjArgs( + abc_valuesview_register_func, (PyObject*)&multidict_valuesview_type, NULL); + if (reg_func_call_result == NULL) { + goto fail; + } + Py_DECREF(reg_func_call_result); + + Py_DECREF(module); + return 0; + +fail: + Py_CLEAR(module); + return -1; + +#undef GET_MOD_ATTR +} diff --git a/venv/lib/python3.6/site-packages/multidict/_multidict_views.h b/venv/lib/python3.6/site-packages/multidict/_multidict_views.h new file mode 100644 index 0000000..322f1ab --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_multidict_views.h @@ -0,0 +1,20 @@ +#ifndef _MULTIDICT_VIEWS_H +#define _MULTIDICT_VIEWS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "Python.h" + +PyObject *multidict_itemsview_new(PyObject *impl); +PyObject *multidict_keysview_new(PyObject *impl); +PyObject *multidict_valuesview_new(PyObject *impl); + +int multidict_views_init(); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/venv/lib/python3.6/site-packages/multidict/_multidict_views.pxd b/venv/lib/python3.6/site-packages/multidict/_multidict_views.pxd new file mode 100644 index 0000000..a4ab53a --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_multidict_views.pxd @@ -0,0 +1,9 @@ +from cpython.object cimport PyObject + +cdef extern from "_multidict_views.h": + + object multidict_itemsview_new(object impl) + object multidict_keysview_new(object impl) + object multidict_valuesview_new(object impl) + + int multidict_views_init() except -1 diff --git a/venv/lib/python3.6/site-packages/multidict/_pair_list.c b/venv/lib/python3.6/site-packages/multidict/_pair_list.c new file mode 100644 index 0000000..e69949a --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_pair_list.c @@ -0,0 +1,1296 @@ +#include <string.h> +#include "_pair_list.h" + +#include <Python.h> + +// fix for VisualC complier used by Python 3.4 +#ifdef __GNUC__ +#define INLINE inline +#else +#define INLINE +#endif + + +#define MIN_LIST_CAPACITY 32 + +static PyTypeObject pair_list_type; +static PyObject * _istr_type; + + +_Py_IDENTIFIER(lower); + + +typedef PyObject * (*calc_identity_func)(PyObject *key); + + +/* Global counter used to set ma_version_tag field of dictionary. + * It is incremented each time that a dictionary is created and each + * time that a dictionary is modified. */ +static uint64_t pair_list_global_version = 0; + +#define NEXT_VERSION() (++pair_list_global_version) + + +typedef struct pair { + PyObject *identity; // 8 + PyObject *key; // 8 + PyObject *value; // 8 + Py_hash_t hash; // 8 +} pair_t; + + +typedef struct pair_list { // 24 for GC prefix, 82 in total + PyObject_HEAD // 16 + Py_ssize_t capacity; // 8 + Py_ssize_t size; // 8 + uint64_t version; // 8 + calc_identity_func calc_identity; // 8 + pair_t *pairs; // 8 +} pair_list_t; + + +static INLINE int +str_cmp(PyObject *s1, PyObject *s2) +{ + PyObject *ret = PyUnicode_RichCompare(s1, s2, Py_EQ); + if (ret == Py_True) { + Py_DECREF(ret); + return 1; + } + else if (ret == NULL) { + return -1; + } + else { + Py_DECREF(ret); + return 0; + } +} + + +static INLINE PyObject * +key_to_str(PyObject *key) +{ + PyTypeObject *type = Py_TYPE(key); + if (PyUnicode_CheckExact(key)) { + Py_INCREF(key); + return key; + } + if ((PyObject *)type == _istr_type) { + return PyObject_Str(key); + } + if (PyUnicode_Check(key)) { + return PyObject_Str(key); + } + PyErr_SetString(PyExc_TypeError, + "MultiDict keys should be either str " + "or subclasses of str"); + return NULL; +} + + +static PyObject * +ci_key_to_str(PyObject *key) +{ + PyTypeObject *type = Py_TYPE(key); + if ((PyObject *)type == _istr_type) { + return _PyObject_CallMethodId(key, &PyId_lower, NULL); + } + if (PyUnicode_Check(key)) { + return _PyObject_CallMethodId(key, &PyId_lower, NULL); + } + PyErr_SetString(PyExc_TypeError, + "CIMultiDict keys should be either str " + "or subclasses of str"); + return NULL; +} + +static INLINE pair_t * +pair_list_get(pair_list_t *list, Py_ssize_t i) +{ + pair_t *item = list->pairs + i; + return item; +} + +static int +pair_list_resize(pair_list_t *list, Py_ssize_t new_capacity) +{ + pair_t *new_pairs; + // TODO: use more smart algo for capacity grow + if (new_capacity < MIN_LIST_CAPACITY) { + new_capacity = MIN_LIST_CAPACITY; + } + if (list->capacity == new_capacity) { + // No need to resize + return 0; + } + + new_pairs = PyMem_Resize(list->pairs, pair_t, (size_t)new_capacity); + + if (NULL == new_pairs) { + // if not enought mem for realloc we do nothing, just return false + return -1; + } + + list->pairs = new_pairs; + list->capacity = new_capacity; + + return 0; +} + + +static PyObject * +_pair_list_new(calc_identity_func calc_identity) +{ + pair_list_t *list = PyObject_GC_New(pair_list_t, &pair_list_type); + if (list == NULL) { + return NULL; + } + + // TODO: align size of pair to the nearest power of 2 + list->pairs = PyMem_New(pair_t, MIN_LIST_CAPACITY); + if (list->pairs == NULL) { + return NULL; + } + + list->capacity = MIN_LIST_CAPACITY; + list->size = 0; + list->version = NEXT_VERSION(); + list->calc_identity = calc_identity; + + return (PyObject *)list; +} + +PyObject * +pair_list_new(void) +{ + return _pair_list_new(key_to_str); +} + + +PyObject * +ci_pair_list_new(void) +{ + return _pair_list_new(ci_key_to_str); +} + + +void +pair_list_dealloc(pair_list_t *list) +{ + pair_t *pair; + Py_ssize_t pos; + + PyObject_GC_UnTrack(list); + Py_TRASHCAN_SAFE_BEGIN(list); + + for (pos = 0; pos < list->size; pos++) { + pair = pair_list_get(list, pos); + + Py_XDECREF(pair->identity); + Py_XDECREF(pair->key); + Py_XDECREF(pair->value); + } + + list->size = 0; + if (list->pairs != NULL) { + PyMem_Del(list->pairs); + list->pairs = NULL; + } + + Py_TYPE(list)->tp_free((PyObject *)list); + Py_TRASHCAN_SAFE_END(list); +} + + +Py_ssize_t +pair_list_len(PyObject *op) +{ + pair_list_t *list = (pair_list_t *)op; + return list->size; +} + + +static INLINE int +_pair_list_add_with_hash(PyObject *op, + PyObject *identity, + PyObject *key, + PyObject *value, + Py_hash_t hash) +{ + pair_list_t *list = (pair_list_t *)op; + pair_t *pair; + + if (list->capacity < list->size + 1) { + if (pair_list_resize(list, list->capacity + MIN_LIST_CAPACITY) < 0) { + return -1; + } + } + + pair = pair_list_get(list, list->size); + list->size += 1; + + Py_INCREF(identity); + pair->identity = identity; + + Py_INCREF(key); + pair->key = key; + + Py_INCREF(value); + pair->value = value; + + pair->hash = hash; + + list->version = NEXT_VERSION(); + + return 0; +} + + +int +pair_list_add(PyObject *op, + PyObject *key, + PyObject *value) +{ + Py_hash_t hash; + PyObject *identity = NULL; + pair_list_t *list = (pair_list_t *)op; + int ret; + + identity = list->calc_identity(key); + if (identity == NULL) { + goto fail; + } + hash = PyObject_Hash(identity); + if (hash == -1) { + goto fail; + } + ret = _pair_list_add_with_hash(op, identity, key, value, hash); + Py_DECREF(identity); + return ret; +fail: + Py_XDECREF(identity); + return -1; +} + + +static int +pair_list_del_at(pair_list_t *list, Py_ssize_t pos) +{ + // return 1 on success, -1 on failure + Py_ssize_t tail; + pair_t *pair; + + pair = pair_list_get(list, pos); + Py_DECREF(pair->identity); + Py_DECREF(pair->key); + Py_DECREF(pair->value); + + list->size -= 1; + list->version = NEXT_VERSION(); + + if (list->size == pos) { + // remove from tail, no need to shift body + return 0; + } + + tail = list->size - pos; + // TODO: raise an error if tail < 0 + memmove((void *)pair_list_get(list, pos), + (void *)pair_list_get(list, pos + 1), + sizeof(pair_t) * (size_t)tail); + + if (list->capacity - list->size > MIN_LIST_CAPACITY) { + return pair_list_resize(list, list->capacity - MIN_LIST_CAPACITY); + } + + return 0; +} + + +int +_pair_list_drop_tail(PyObject *op, PyObject *identity, Py_hash_t hash, + Py_ssize_t pos) +{ + // return 1 if deleted, 0 if not found + pair_t *pair; + int ret; + pair_list_t *list = (pair_list_t *)op; + int found = 0; + + if (pos >= list->size) { + return 0; + } + + for (; pos < list->size; pos++) { + pair = pair_list_get(list, pos); + if (pair->hash != hash) { + continue; + } + ret = str_cmp(pair->identity, identity); + if (ret > 0) { + if (pair_list_del_at(list, pos) < 0) { + return -1; + } + found = 1; + pos--; + } + else if (ret == -1) { + return -1; + } + } + + return found; +} + +static int +_pair_list_del_hash(PyObject *op, PyObject *identity, + PyObject *key, Py_hash_t hash) +{ + pair_list_t *list = (pair_list_t *)op; + int ret = _pair_list_drop_tail(op, identity, hash, 0); + + if (ret < 0) { + return -1; + } + else if (ret == 0) { + PyErr_SetObject(PyExc_KeyError, key); + return -1; + } + else { + list->version = NEXT_VERSION(); + return 0; + } +} + + +int +pair_list_del(PyObject *op, PyObject *key) +{ + pair_list_t *list = (pair_list_t *)op; + PyObject *identity = NULL; + Py_hash_t hash; + int ret; + + identity = list->calc_identity(key); + if (identity == NULL) { + goto fail; + } + + hash = PyObject_Hash(identity); + if (hash == -1) { + goto fail; + } + + ret = _pair_list_del_hash(op, identity, key, hash); + Py_DECREF(identity); + return ret; +fail: + Py_XDECREF(identity); + return -1; +} + + +uint64_t +pair_list_version(PyObject *op) +{ + pair_list_t *list = (pair_list_t *)op; + return list->version; +} + + +INLINE int +_pair_list_next(PyObject *op, Py_ssize_t *ppos, PyObject **pidentity, + PyObject **pkey, PyObject **pvalue, Py_hash_t *phash) +{ + pair_list_t *list = (pair_list_t *)op; + pair_t *pair; + + if (*ppos >= list->size) { + return 0; + } + + pair = pair_list_get(list, *ppos); + + if (pidentity) { + *pidentity = pair->identity; + } + if (pkey) { + *pkey = pair->key; + } + if (pvalue) { + *pvalue = pair->value; + } + if (phash) { + *phash = pair->hash; + } + + *ppos += 1; + return 1; +} + + +INLINE int +pair_list_next(PyObject *op, Py_ssize_t *ppos, PyObject **pidentity, + PyObject **pkey, PyObject **pvalue) +{ + Py_hash_t hash; + return _pair_list_next(op, ppos, pidentity, pkey, pvalue, &hash); +} + + +int +pair_list_contains(PyObject *op, PyObject *key) +{ + Py_hash_t hash1, hash2; + Py_ssize_t pos = 0; + PyObject *ident = NULL; + PyObject *identity = NULL; + int tmp; + pair_list_t *list = (pair_list_t *)op; + + ident = list->calc_identity(key); + if (ident == NULL) { + goto fail; + } + + hash1 = PyObject_Hash(ident); + if (hash1 == -1) { + goto fail; + } + + while (_pair_list_next(op, &pos, &identity, NULL, NULL, &hash2)) { + if (hash1 != hash2) { + continue; + } + tmp = str_cmp(ident, identity); + if (tmp > 0) { + Py_DECREF(ident); + return 1; + } + else if (tmp < 0) { + goto fail; + } + } + + Py_DECREF(ident); + return 0; +fail: + Py_XDECREF(ident); + return -1; +} + + +PyObject * +pair_list_get_one(PyObject *op, PyObject *key) +{ + Py_hash_t hash1, hash2; + Py_ssize_t pos = 0; + PyObject *ident = NULL; + PyObject *identity = NULL; + PyObject *value = NULL; + int tmp; + pair_list_t *list = (pair_list_t *)op; + + ident = list->calc_identity(key); + if (ident == NULL) { + goto fail; + } + + hash1 = PyObject_Hash(ident); + if (hash1 == -1) { + goto fail; + } + + while (_pair_list_next(op, &pos, &identity, NULL, &value, &hash2)) { + if (hash1 != hash2) { + continue; + } + tmp = str_cmp(ident, identity); + if (tmp > 0) { + Py_INCREF(value); + Py_DECREF(ident); + return value; + } + else if (tmp < 0) { + goto fail; + } + } + + Py_DECREF(ident); + PyErr_SetObject(PyExc_KeyError, key); + return NULL; +fail: + Py_XDECREF(ident); + return NULL; +} + + +PyObject * +pair_list_get_all(PyObject *op, PyObject *key) +{ + Py_hash_t hash1, hash2; + Py_ssize_t pos = 0; + PyObject *ident = NULL; + PyObject *identity = NULL; + PyObject *value = NULL; + PyObject *res = NULL; + int tmp; + pair_list_t *list = (pair_list_t *)op; + + ident = list->calc_identity(key); + if (ident == NULL) { + goto fail; + } + + hash1 = PyObject_Hash(ident); + if (hash1 == -1) { + goto fail; + } + + while (_pair_list_next(op, &pos, &identity, NULL, &value, &hash2)) { + if (hash1 != hash2) { + continue; + } + tmp = str_cmp(ident, identity); + if (tmp > 0) { + if (res == NULL) { + res = PyList_New(1); + if (res == NULL) { + goto fail; + } + if (PyList_SetItem(res, 0, value) < 0) { + goto fail; + } + Py_INCREF(value); + } + else if (PyList_Append(res, value) < 0) { + goto fail; + } + } + else if (tmp < 0) { + goto fail; + } + } + + if (res == NULL) { + PyErr_SetObject(PyExc_KeyError, key); + } + Py_DECREF(ident); + return res; + +fail: + Py_XDECREF(ident); + Py_XDECREF(res); + return NULL; +} + + +PyObject * +pair_list_set_default(PyObject *op, PyObject *key, PyObject *value) +{ + Py_hash_t hash1, hash2; + Py_ssize_t pos = 0; + PyObject *ident = NULL; + PyObject *identity = NULL; + PyObject *value2 = NULL; + int tmp; + pair_list_t *list = (pair_list_t *)op; + + ident = list->calc_identity(key); + if (ident == NULL) { + goto fail; + } + + hash1 = PyObject_Hash(ident); + if (hash1 == -1) { + goto fail; + } + + while (_pair_list_next(op, &pos, &identity, NULL, &value2, &hash2)) { + if (hash1 != hash2) { + continue; + } + tmp = str_cmp(ident, identity); + if (tmp > 0) { + Py_INCREF(value2); + Py_DECREF(ident); + return value2; + } + else if (tmp < 0) { + goto fail; + } + } + + if (_pair_list_add_with_hash(op, ident, key, value, hash1) < 0) { + goto fail; + } + + Py_INCREF(value); + Py_DECREF(ident); + return value; +fail: + Py_XDECREF(ident); + return NULL; +} + + +PyObject * +pair_list_pop_one(PyObject *op, PyObject *key) +{ + pair_list_t *list = (pair_list_t *)op; + pair_t *pair; + + Py_hash_t hash; + Py_ssize_t pos; + PyObject *value = NULL; + int tmp; + PyObject *ident = NULL; + + ident = list->calc_identity(key); + if (ident == NULL) { + goto fail; + } + + hash = PyObject_Hash(ident); + if (hash == -1) { + goto fail; + } + + for (pos=0; pos < list->size; pos++) { + pair = pair_list_get(list, pos); + if (pair->hash != hash) { + continue; + } + tmp = str_cmp(ident, pair->identity); + if (tmp > 0) { + value = pair->value; + Py_INCREF(value); + if (pair_list_del_at(list, pos) < 0) { + goto fail; + } + Py_DECREF(ident); + return value; + } + else if (tmp < 0) { + goto fail; + } + } + + PyErr_SetObject(PyExc_KeyError, key); + goto fail; + +fail: + Py_XDECREF(value); + Py_XDECREF(ident); + return NULL; +} + + +PyObject * +pair_list_pop_all(PyObject *op, PyObject *key) +{ + pair_list_t *list = (pair_list_t *)op; + Py_hash_t hash; + Py_ssize_t pos; + pair_t *pair; + int tmp; + PyObject *res = NULL; + PyObject *ident = NULL; + + ident = list->calc_identity(key); + if (ident == NULL) { + goto fail; + } + + hash = PyObject_Hash(ident); + if (hash == -1) { + goto fail; + } + + if (list->size == 0) { + PyErr_SetObject(PyExc_KeyError, ident); + goto fail; + } + + for (pos = list->size - 1; pos >= 0; pos--) { + pair = pair_list_get(list, pos); + if (hash != pair->hash) { + continue; + } + tmp = str_cmp(ident, pair->identity); + if (tmp > 0) { + if (res == NULL) { + res = PyList_New(1); + if (res == NULL) { + goto fail; + } + if (PyList_SetItem(res, 0, pair->value) < 0) { + goto fail; + } + Py_INCREF(pair->value); + } else if (PyList_Append(res, pair->value) < 0) { + goto fail; + } + if (pair_list_del_at(list, pos) < 0) { + goto fail; + } + } + else if (tmp < 0) { + goto fail; + } + } + + if (res == NULL) { + PyErr_SetObject(PyExc_KeyError, key); + } else if (PyList_Reverse(res) < 0) { + goto fail; + } + Py_DECREF(ident); + return res; + +fail: + Py_XDECREF(ident); + Py_XDECREF(res); + return NULL; +} + + +PyObject * +pair_list_pop_item(PyObject *op) +{ + pair_list_t *list = (pair_list_t *)op; + PyObject *ret; + pair_t *pair; + + if (list->size == 0) { + PyErr_SetString(PyExc_KeyError, "empty multidict"); + return NULL; + } + + pair = pair_list_get(list, 0); + ret = PyTuple_Pack(2, pair->key, pair->value); + if (ret == NULL) { + return NULL; + } + + if (pair_list_del_at(list, 0) < 0) { + Py_DECREF(ret); + return NULL; + } + + return ret; +} + + +int +pair_list_replace(PyObject *op, PyObject * key, PyObject *value) +{ + pair_list_t *list = (pair_list_t *)op; + pair_t *pair; + + Py_ssize_t pos; + int tmp; + int found = 0; + + PyObject *identity = NULL; + Py_hash_t hash; + + identity = list->calc_identity(key); + if (identity == NULL) { + goto fail; + } + + hash = PyObject_Hash(identity); + if (hash == -1) { + goto fail; + } + + + for (pos = 0; pos < list->size; pos++) { + pair = pair_list_get(list, pos); + if (hash != pair->hash) { + continue; + } + tmp = str_cmp(identity, pair->identity); + if (tmp > 0) { + found = 1; + Py_INCREF(key); + Py_DECREF(pair->key); + pair->key = key; + Py_INCREF(value); + Py_DECREF(pair->value); + pair->value = value; + break; + } + else if (tmp < 0) { + goto fail; + } + } + + if (!found) { + if (_pair_list_add_with_hash(op, identity, key, value, hash) < 0) { + goto fail; + } + Py_DECREF(identity); + return 0; + } + else { + list->version = NEXT_VERSION(); + if (_pair_list_drop_tail(op, identity, hash, pos+1) < 0) { + goto fail; + } + Py_DECREF(identity); + return 0; + } +fail: + Py_XDECREF(identity); + return -1; +} + + +static int +_dict_set_number(PyObject *dict, PyObject *key, Py_ssize_t num) +{ + PyObject *tmp = PyLong_FromSsize_t(num); + if (tmp == NULL) { + return -1; + } + + if (PyDict_SetItem(dict, key, tmp) < 0) { + Py_DECREF(tmp); + return -1; + } + + return 0; +} + + +static int +_pair_list_post_update(pair_list_t *list, PyObject* used_keys, Py_ssize_t pos) +{ + pair_t *pair; + PyObject *tmp; + Py_ssize_t num; + + for (; pos < list->size; pos++) { + pair = pair_list_get(list, pos); + tmp = PyDict_GetItem(used_keys, pair->identity); + if (tmp == NULL) { + // not found + continue; + } + + num = PyLong_AsSsize_t(tmp); + if (num == -1) { + if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_RuntimeError, "invalid internal state"); + } + return -1; + } + + if (pos >= num) { + // del self[pos] + if (pair_list_del_at(list, pos) < 0) { + return -1; + } + pos--; + } + } + + list->version = NEXT_VERSION(); + return 0; +} + +// TODO: need refactoring function name +static INLINE int +_pair_list_update(PyObject *op, PyObject *key, + PyObject *value, PyObject *used_keys, + PyObject *identity, Py_hash_t hash) +{ + pair_list_t *list = (pair_list_t *)op; + PyObject *item = NULL; + pair_t *pair = NULL; + Py_ssize_t pos; + int found; + int ident_cmp_res; + + item = PyDict_GetItem(used_keys, identity); + if (item == NULL) { + pos = 0; + } + else { + pos = PyLong_AsSsize_t(item); + if (pos == -1) { + if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_RuntimeError, "invalid internal state"); + } + return -1; + } + } + + found = 0; + for (; pos < list->size; pos++) { + pair = pair_list_get(list, pos); + if (pair->hash != hash) { + continue; + } + + ident_cmp_res = str_cmp(pair->identity, identity); + if (ident_cmp_res > 0) { + Py_INCREF(key); + Py_DECREF(pair->key); + pair->key = key; + + Py_INCREF(value); + Py_DECREF(pair->value); + pair->value = value; + + if (_dict_set_number(used_keys, pair->identity, pos + 1) < 0) { + return -1; + } + + found = 1; + break; + } + else if (ident_cmp_res < 0) { + return -1; + } + } + + if (!found) { + if (_pair_list_add_with_hash(op, identity, key, value, hash) < 0) { + return -1; + } + if (_dict_set_number(used_keys, identity, list->size) < 0) { + return -1; + } + } + + return 0; +} + + +int +pair_list_update(PyObject *op1, PyObject *op2) +{ + pair_list_t *list = (pair_list_t *)op1; + pair_list_t *other = (pair_list_t *)op2; + + PyObject *used_keys = NULL; + pair_t *pair = NULL; + + Py_ssize_t pos; + + if (other->size == 0) { + return 0; + } + + used_keys = PyDict_New(); + if (used_keys == NULL) { + return -1; + } + + for (pos = 0; pos < other->size; pos++) { + pair = pair_list_get(other, pos); + if (_pair_list_update(op1, pair->key, pair->value, used_keys, + pair->identity, pair->hash) < 0) { + goto fail; + } + } + + if (_pair_list_post_update(list, used_keys, 0) < 0) { + goto fail; + } + + Py_DECREF(used_keys); + return 0; + +fail: + Py_XDECREF(used_keys); + return -1; +} + + +int +pair_list_update_from_seq(PyObject *op, PyObject *seq) +{ + pair_list_t *list = (pair_list_t *)op; + + PyObject *it = NULL; // iter(seq) + PyObject *fast = NULL; // item as a 2-tuple or 2-list + PyObject *item = NULL; // seq[i] + PyObject *used_keys = NULL; // dict(<Identitty: Pos>) + + PyObject *key = NULL; + PyObject *value = NULL; + PyObject *identity = NULL; + + Py_hash_t hash; + + Py_ssize_t i; + Py_ssize_t n; + + it = PyObject_GetIter(seq); + if (it == NULL) { + return -1; + } + + used_keys = PyDict_New(); + if (used_keys == NULL) { + goto fail_1; + } + + for (i = 0; ; ++i) { // i - index into seq of current element + fast = NULL; + item = PyIter_Next(it); + if (item == NULL) { + if (PyErr_Occurred()) { + goto fail_1; + } + break; + } + + // Convert item to sequence, and verify length 2. + fast = PySequence_Fast(item, ""); + if (fast == NULL) { + if (PyErr_ExceptionMatches(PyExc_TypeError)) { + PyErr_Format(PyExc_TypeError, + "multidict cannot convert sequence element #%zd" + " to a sequence", + i); + } + goto fail_1; + } + + n = PySequence_Fast_GET_SIZE(fast); + if (n != 2) { + PyErr_Format(PyExc_ValueError, + "multidict update sequence element #%zd " + "has length %zd; 2 is required", + i, n); + goto fail_1; + } + + key = PySequence_Fast_GET_ITEM(fast, 0); + value = PySequence_Fast_GET_ITEM(fast, 1); + Py_INCREF(key); + Py_INCREF(value); + + identity = list->calc_identity(key); + if (identity == NULL) { + goto fail_1; + } + + hash = PyObject_Hash(identity); + if (hash == -1) { + goto fail_1; + } + + if (_pair_list_update(op, key, value, used_keys, identity, hash) < 0) { + goto fail_1; + } + + Py_DECREF(key); + Py_DECREF(value); + Py_DECREF(fast); + Py_DECREF(item); + Py_DECREF(identity); + } + + if (_pair_list_post_update(list, used_keys, 0) < 0) { + goto fail_2; + } + + Py_DECREF(it); + Py_DECREF(used_keys); + return 0; + +fail_1: + Py_XDECREF(key); + Py_XDECREF(value); + Py_XDECREF(fast); + Py_XDECREF(item); + Py_XDECREF(identity); + +fail_2: + Py_XDECREF(it); + Py_XDECREF(used_keys); + return -1; +} + +int +pair_list_eq_to_mapping(PyObject *op, PyObject *other) +{ + PyObject *key = NULL; + PyObject *avalue = NULL; + PyObject *bvalue = NULL; + + Py_ssize_t pos; + + int cmp; + + if (!PyMapping_Check(other)) { + PyErr_Format(PyExc_TypeError, + "other argument must be a mapping, not %s", + Py_TYPE(other)->tp_name); + return -1; + } + + if (pair_list_len(op) != PyMapping_Length(other)) { + return 0; + } + + pos = 0; + while (pair_list_next(op, &pos, NULL, &key, &avalue)) { + bvalue = PyObject_GetItem(other, key); + if (bvalue == NULL) { + PyErr_Clear(); + return 0; + } + + cmp = PyObject_RichCompareBool(avalue, bvalue, Py_EQ); + Py_DECREF(bvalue); + + if (cmp < 0) { + return -1; + } + else if (cmp > 0) { + continue; + } + else { + return 0; + } + } + + return 1; +} + + +/***********************************************************************/ + +/* We link this module statically for convenience. If compiled as a shared + library instead, some compilers don't allow addresses of Python objects + defined in other libraries to be used in static initializers here. The + DEFERRED_ADDRESS macro is used to tag the slots where such addresses + appear; the module init function must fill in the tagged slots at runtime. + The argument is for documentation -- the macro ignores it. +*/ +#define DEFERRED_ADDRESS(ADDR) 0 + + + +static int +pair_list_traverse(PyObject *op, visitproc visit, void *arg) +{ + pair_list_t *list = (pair_list_t *)op; + pair_t *pair = NULL; + Py_ssize_t pos; + + for (pos = 0; pos < list->size; pos++) { + pair = pair_list_get(list, pos); + // Don't need traverse key and identity: they are terminals + Py_VISIT(pair->key); + Py_VISIT(pair->value); + } + + return 0; +} + + +int +pair_list_clear(PyObject *op) +{ + pair_list_t *list = (pair_list_t *)op; + pair_t *pair = NULL; + Py_ssize_t pos; + + if (list->size == 0) { + return 0; + } + + list->version = NEXT_VERSION(); + for (pos = 0; pos < list->size; pos++) { + pair = pair_list_get(list, pos); + Py_CLEAR(pair->key); + Py_CLEAR(pair->identity); + Py_CLEAR(pair->value); + } + list->size = 0; + return pair_list_resize(list, 0); +} + + +/* +static PyObject * +pair_list_repr(pair_list_t *list) +{ + Py_ssize_t i; + i = Py_ReprEnter((PyObject *)list); + if (i != 0) { + return i > 0 ? PyUnicode_FromString("{...}") : NULL; + } + if (list->size == 0) { + Py_ReprLeave((PyObject *)list); + return PyUnicode_FromString("{}"); + } + for (i = 0; i < list->size; i++) { + } + Py_ReprLeave((PyObject *)list); +} +*/ + +static PyTypeObject pair_list_type = { + PyVarObject_HEAD_INIT(DEFERRED_ADDRESS(&PyType_Type), 0) + "multidict._multidict._pair_list", + sizeof(pair_list_t), + 0, + (destructor)pair_list_dealloc, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_reserved */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + PyObject_HashNotImplemented, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, /* tp_flags */ + 0, /* tp_doc */ + pair_list_traverse, /* tp_traverse */ + pair_list_clear, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + 0, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + 0, /* tp_init */ + PyType_GenericAlloc, /* tp_alloc */ + 0, /* tp_new */ + PyObject_GC_Del, /* tp_free */ +}; + + + +int +pair_list_init(PyObject *istr_type) +{ + Py_INCREF(istr_type); + _istr_type = istr_type; + pair_list_type.tp_base = &PyUnicode_Type; + if (PyType_Ready(&pair_list_type) < 0) { + return -1; + } + return 0; +} diff --git a/venv/lib/python3.6/site-packages/multidict/_pair_list.h b/venv/lib/python3.6/site-packages/multidict/_pair_list.h new file mode 100644 index 0000000..697fb38 --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_pair_list.h @@ -0,0 +1,56 @@ +#ifndef _PAIR_LIST_H +#define _PAIR_LIST_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include <stddef.h> +#include <stdint.h> +#include "Python.h" + +PyObject* pair_list_new(void); +PyObject* ci_pair_list_new(void); + +Py_ssize_t pair_list_len(PyObject *list); + +int pair_list_clear(PyObject *list); + +int pair_list_add(PyObject *list, PyObject *key, PyObject *value); + +int _pair_list_next(PyObject *list, Py_ssize_t *ppos, + PyObject **pidentity, + PyObject **pkey, PyObject **pvalue, Py_hash_t *hash); + +int pair_list_next(PyObject *list, Py_ssize_t *ppos, + PyObject **pidentity, + PyObject **pkey, PyObject **pvalue); + +int pair_list_contains(PyObject *list, PyObject *key); + +PyObject* pair_list_get_one(PyObject *list, PyObject *key); +PyObject* pair_list_get_all(PyObject *list, PyObject *key); + +int pair_list_del(PyObject *list, PyObject *key); + +PyObject* pair_list_set_default(PyObject *list, PyObject *key, PyObject *value); + +PyObject* pair_list_pop_one(PyObject *list, PyObject *key); +PyObject* pair_list_pop_all(PyObject *list, PyObject *key); +PyObject* pair_list_pop_item(PyObject *list); + +int pair_list_replace(PyObject *op, PyObject *key, PyObject *value); + +int pair_list_update(PyObject *op1, PyObject *op2); +int pair_list_update_from_seq(PyObject *op1, PyObject *op2); + +int pair_list_eq_to_mapping(PyObject *op, PyObject *other); + +uint64_t pair_list_version(PyObject *list); + +int pair_list_init(PyObject * istr_type); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/venv/lib/python3.6/site-packages/multidict/_pair_list.pxd b/venv/lib/python3.6/site-packages/multidict/_pair_list.pxd new file mode 100644 index 0000000..22b2236 --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/_pair_list.pxd @@ -0,0 +1,49 @@ +from cpython.object cimport PyObject +from libc.stdint cimport uint64_t + +cdef extern from "_pair_list.h": + + object pair_list_new() + object ci_pair_list_new() + + int pair_list_len(object lst) except -1 + + int pair_list_clear(object lst) except -1 + + int _pair_list_add_with_hash(object lst, + object identity, object key, + object value, Py_hash_t hash) except -1 + int pair_list_add(object lst, object key, object value) except -1 + + int _pair_list_next(object lst, Py_ssize_t *ppos, + PyObject* *pidentity, + PyObject* *pkey, PyObject* *pvalue, + Py_hash_t *hash) except -1 + + int pair_list_next(object lst, Py_ssize_t *ppos, + PyObject* *pidentity, + PyObject* *pkey, PyObject* *pvalue) except -1 + + int pair_list_contains(object lst, object key) except -1 + # todo: add key param to raise proper exception key + object pair_list_get_one(object lst, object key) + object pair_list_get_all(object lst, object key) + + int pair_list_del(object lst, object key) except -1 + + object pair_list_set_default(object lst, object key, object value) + + object pair_list_pop_one(object lst, object key) + object pair_list_pop_all(object lst, object key) + object pair_list_pop_item(object lst) + + int pair_list_replace(object lst, object key, object value) except -1 + + + int pair_list_update(object list, object other) except -1 + int pair_list_update_from_seq(object list, object seq) except -1 + int pair_list_eq_to_mapping(object list, object other) except -1 + + uint64_t pair_list_version(object lst) + + int pair_list_init(object istr_type) except -1 diff --git a/venv/lib/python3.6/site-packages/multidict/py.typed b/venv/lib/python3.6/site-packages/multidict/py.typed new file mode 100644 index 0000000..dfe8cc0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/multidict/py.typed @@ -0,0 +1 @@ +PEP-561 marker. \ No newline at end of file diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/PKG-INFO b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/PKG-INFO new file mode 100644 index 0000000..0b410a2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/PKG-INFO @@ -0,0 +1,73 @@ +Metadata-Version: 1.2 +Name: pip +Version: 19.0.3 +Summary: The PyPA recommended tool for installing Python packages. +Home-page: https://pip.pypa.io/ +Author: The pip developers +Author-email: pypa-dev@groups.google.com +License: MIT +Description: pip - The Python Package Installer + ================================== + + .. image:: https://img.shields.io/pypi/v/pip.svg + :target: https://pypi.org/project/pip/ + + .. image:: https://readthedocs.org/projects/pip/badge/?version=latest + :target: https://pip.pypa.io/en/latest + + pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes. + + Please take a look at our documentation for how to install and use pip: + + * `Installation`_ + * `Usage`_ + * `Release notes`_ + + If you find bugs, need help, or want to talk to the developers please use our mailing lists or chat rooms: + + * `Issue tracking`_ + * `Discourse channel`_ + * `User IRC`_ + + If you want to get involved head over to GitHub to get the source code and feel free to jump on the developer mailing lists and chat rooms: + + * `GitHub page`_ + * `Dev mailing list`_ + * `Dev IRC`_ + + Code of Conduct + --------------- + + Everyone interacting in the pip project's codebases, issue trackers, chat + rooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_. + + .. _package installer: https://packaging.python.org/en/latest/current/ + .. _Python Package Index: https://pypi.org + .. _Installation: https://pip.pypa.io/en/stable/installing.html + .. _Usage: https://pip.pypa.io/en/stable/ + .. _Release notes: https://pip.pypa.io/en/stable/news.html + .. _GitHub page: https://github.com/pypa/pip + .. _Issue tracking: https://github.com/pypa/pip/issues + .. _Discourse channel: https://discuss.python.org/c/packaging + .. _Dev mailing list: https://groups.google.com/forum/#!forum/pypa-dev + .. _User IRC: https://webchat.freenode.net/?channels=%23pypa + .. _Dev IRC: https://webchat.freenode.net/?channels=%23pypa-dev + .. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/ + +Keywords: distutils easy_install egg setuptools wheel virtualenv +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Topic :: Software Development :: Build Tools +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.* diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/SOURCES.txt b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/SOURCES.txt new file mode 100644 index 0000000..eb4810d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/SOURCES.txt @@ -0,0 +1,391 @@ +AUTHORS.txt +LICENSE.txt +MANIFEST.in +NEWS.rst +README.rst +pyproject.toml +setup.cfg +setup.py +docs/pip_sphinxext.py +docs/html/conf.py +docs/html/cookbook.rst +docs/html/index.rst +docs/html/installing.rst +docs/html/logic.rst +docs/html/news.rst +docs/html/quickstart.rst +docs/html/usage.rst +docs/html/user_guide.rst +docs/html/development/configuration.rst +docs/html/development/contributing.rst +docs/html/development/getting-started.rst +docs/html/development/index.rst +docs/html/development/release-process.rst +docs/html/development/vendoring-policy.rst +docs/html/reference/index.rst +docs/html/reference/pip.rst +docs/html/reference/pip_check.rst +docs/html/reference/pip_config.rst +docs/html/reference/pip_download.rst +docs/html/reference/pip_freeze.rst +docs/html/reference/pip_hash.rst +docs/html/reference/pip_install.rst +docs/html/reference/pip_list.rst +docs/html/reference/pip_search.rst +docs/html/reference/pip_show.rst +docs/html/reference/pip_uninstall.rst +docs/html/reference/pip_wheel.rst +docs/man/index.rst +docs/man/commands/check.rst +docs/man/commands/config.rst +docs/man/commands/download.rst +docs/man/commands/freeze.rst +docs/man/commands/hash.rst +docs/man/commands/help.rst +docs/man/commands/install.rst +docs/man/commands/list.rst +docs/man/commands/search.rst +docs/man/commands/show.rst +docs/man/commands/uninstall.rst +docs/man/commands/wheel.rst +src/pip/__init__.py +src/pip/__main__.py +src/pip.egg-info/PKG-INFO +src/pip.egg-info/SOURCES.txt +src/pip.egg-info/dependency_links.txt +src/pip.egg-info/entry_points.txt +src/pip.egg-info/not-zip-safe +src/pip.egg-info/top_level.txt +src/pip/_internal/__init__.py +src/pip/_internal/build_env.py +src/pip/_internal/cache.py +src/pip/_internal/configuration.py +src/pip/_internal/download.py +src/pip/_internal/exceptions.py +src/pip/_internal/index.py +src/pip/_internal/locations.py +src/pip/_internal/pep425tags.py +src/pip/_internal/pyproject.py +src/pip/_internal/resolve.py +src/pip/_internal/wheel.py +src/pip/_internal/cli/__init__.py +src/pip/_internal/cli/autocompletion.py +src/pip/_internal/cli/base_command.py +src/pip/_internal/cli/cmdoptions.py +src/pip/_internal/cli/main_parser.py +src/pip/_internal/cli/parser.py +src/pip/_internal/cli/status_codes.py +src/pip/_internal/commands/__init__.py +src/pip/_internal/commands/check.py +src/pip/_internal/commands/completion.py +src/pip/_internal/commands/configuration.py +src/pip/_internal/commands/download.py +src/pip/_internal/commands/freeze.py +src/pip/_internal/commands/hash.py +src/pip/_internal/commands/help.py +src/pip/_internal/commands/install.py +src/pip/_internal/commands/list.py +src/pip/_internal/commands/search.py +src/pip/_internal/commands/show.py +src/pip/_internal/commands/uninstall.py +src/pip/_internal/commands/wheel.py +src/pip/_internal/models/__init__.py +src/pip/_internal/models/candidate.py +src/pip/_internal/models/format_control.py +src/pip/_internal/models/index.py +src/pip/_internal/models/link.py +src/pip/_internal/operations/__init__.py +src/pip/_internal/operations/check.py +src/pip/_internal/operations/freeze.py +src/pip/_internal/operations/prepare.py +src/pip/_internal/req/__init__.py +src/pip/_internal/req/constructors.py +src/pip/_internal/req/req_file.py +src/pip/_internal/req/req_install.py +src/pip/_internal/req/req_set.py +src/pip/_internal/req/req_tracker.py +src/pip/_internal/req/req_uninstall.py +src/pip/_internal/utils/__init__.py +src/pip/_internal/utils/appdirs.py +src/pip/_internal/utils/compat.py +src/pip/_internal/utils/deprecation.py +src/pip/_internal/utils/encoding.py +src/pip/_internal/utils/filesystem.py +src/pip/_internal/utils/glibc.py +src/pip/_internal/utils/hashes.py +src/pip/_internal/utils/logging.py +src/pip/_internal/utils/misc.py +src/pip/_internal/utils/models.py +src/pip/_internal/utils/outdated.py +src/pip/_internal/utils/packaging.py +src/pip/_internal/utils/setuptools_build.py +src/pip/_internal/utils/temp_dir.py +src/pip/_internal/utils/typing.py +src/pip/_internal/utils/ui.py +src/pip/_internal/vcs/__init__.py +src/pip/_internal/vcs/bazaar.py +src/pip/_internal/vcs/git.py +src/pip/_internal/vcs/mercurial.py +src/pip/_internal/vcs/subversion.py +src/pip/_vendor/README.rst +src/pip/_vendor/__init__.py +src/pip/_vendor/appdirs.LICENSE.txt +src/pip/_vendor/appdirs.py +src/pip/_vendor/distro.LICENSE +src/pip/_vendor/distro.py +src/pip/_vendor/ipaddress.LICENSE +src/pip/_vendor/ipaddress.py +src/pip/_vendor/pyparsing.LICENSE +src/pip/_vendor/pyparsing.py +src/pip/_vendor/retrying.LICENSE +src/pip/_vendor/retrying.py +src/pip/_vendor/six.LICENSE +src/pip/_vendor/six.py +src/pip/_vendor/vendor.txt +src/pip/_vendor/cachecontrol/LICENSE.txt +src/pip/_vendor/cachecontrol/__init__.py +src/pip/_vendor/cachecontrol/_cmd.py +src/pip/_vendor/cachecontrol/adapter.py +src/pip/_vendor/cachecontrol/cache.py +src/pip/_vendor/cachecontrol/compat.py +src/pip/_vendor/cachecontrol/controller.py +src/pip/_vendor/cachecontrol/filewrapper.py +src/pip/_vendor/cachecontrol/heuristics.py +src/pip/_vendor/cachecontrol/serialize.py +src/pip/_vendor/cachecontrol/wrapper.py +src/pip/_vendor/cachecontrol/caches/__init__.py +src/pip/_vendor/cachecontrol/caches/file_cache.py +src/pip/_vendor/cachecontrol/caches/redis_cache.py +src/pip/_vendor/certifi/LICENSE +src/pip/_vendor/certifi/__init__.py +src/pip/_vendor/certifi/__main__.py +src/pip/_vendor/certifi/cacert.pem +src/pip/_vendor/certifi/core.py +src/pip/_vendor/chardet/LICENSE +src/pip/_vendor/chardet/__init__.py +src/pip/_vendor/chardet/big5freq.py +src/pip/_vendor/chardet/big5prober.py +src/pip/_vendor/chardet/chardistribution.py +src/pip/_vendor/chardet/charsetgroupprober.py +src/pip/_vendor/chardet/charsetprober.py +src/pip/_vendor/chardet/codingstatemachine.py +src/pip/_vendor/chardet/compat.py +src/pip/_vendor/chardet/cp949prober.py +src/pip/_vendor/chardet/enums.py +src/pip/_vendor/chardet/escprober.py +src/pip/_vendor/chardet/escsm.py +src/pip/_vendor/chardet/eucjpprober.py +src/pip/_vendor/chardet/euckrfreq.py +src/pip/_vendor/chardet/euckrprober.py +src/pip/_vendor/chardet/euctwfreq.py +src/pip/_vendor/chardet/euctwprober.py +src/pip/_vendor/chardet/gb2312freq.py +src/pip/_vendor/chardet/gb2312prober.py +src/pip/_vendor/chardet/hebrewprober.py +src/pip/_vendor/chardet/jisfreq.py +src/pip/_vendor/chardet/jpcntx.py +src/pip/_vendor/chardet/langbulgarianmodel.py +src/pip/_vendor/chardet/langcyrillicmodel.py +src/pip/_vendor/chardet/langgreekmodel.py +src/pip/_vendor/chardet/langhebrewmodel.py +src/pip/_vendor/chardet/langhungarianmodel.py +src/pip/_vendor/chardet/langthaimodel.py +src/pip/_vendor/chardet/langturkishmodel.py +src/pip/_vendor/chardet/latin1prober.py +src/pip/_vendor/chardet/mbcharsetprober.py +src/pip/_vendor/chardet/mbcsgroupprober.py +src/pip/_vendor/chardet/mbcssm.py +src/pip/_vendor/chardet/sbcharsetprober.py +src/pip/_vendor/chardet/sbcsgroupprober.py +src/pip/_vendor/chardet/sjisprober.py +src/pip/_vendor/chardet/universaldetector.py +src/pip/_vendor/chardet/utf8prober.py +src/pip/_vendor/chardet/version.py +src/pip/_vendor/chardet/cli/__init__.py +src/pip/_vendor/chardet/cli/chardetect.py +src/pip/_vendor/colorama/LICENSE.txt +src/pip/_vendor/colorama/__init__.py +src/pip/_vendor/colorama/ansi.py +src/pip/_vendor/colorama/ansitowin32.py +src/pip/_vendor/colorama/initialise.py +src/pip/_vendor/colorama/win32.py +src/pip/_vendor/colorama/winterm.py +src/pip/_vendor/distlib/LICENSE.txt +src/pip/_vendor/distlib/__init__.py +src/pip/_vendor/distlib/compat.py +src/pip/_vendor/distlib/database.py +src/pip/_vendor/distlib/index.py +src/pip/_vendor/distlib/locators.py +src/pip/_vendor/distlib/manifest.py +src/pip/_vendor/distlib/markers.py +src/pip/_vendor/distlib/metadata.py +src/pip/_vendor/distlib/resources.py +src/pip/_vendor/distlib/scripts.py +src/pip/_vendor/distlib/t32.exe +src/pip/_vendor/distlib/t64.exe +src/pip/_vendor/distlib/util.py +src/pip/_vendor/distlib/version.py +src/pip/_vendor/distlib/w32.exe +src/pip/_vendor/distlib/w64.exe +src/pip/_vendor/distlib/wheel.py +src/pip/_vendor/distlib/_backport/__init__.py +src/pip/_vendor/distlib/_backport/misc.py +src/pip/_vendor/distlib/_backport/shutil.py +src/pip/_vendor/distlib/_backport/sysconfig.cfg +src/pip/_vendor/distlib/_backport/sysconfig.py +src/pip/_vendor/distlib/_backport/tarfile.py +src/pip/_vendor/html5lib/LICENSE +src/pip/_vendor/html5lib/__init__.py +src/pip/_vendor/html5lib/_ihatexml.py +src/pip/_vendor/html5lib/_inputstream.py +src/pip/_vendor/html5lib/_tokenizer.py +src/pip/_vendor/html5lib/_utils.py +src/pip/_vendor/html5lib/constants.py +src/pip/_vendor/html5lib/html5parser.py +src/pip/_vendor/html5lib/serializer.py +src/pip/_vendor/html5lib/_trie/__init__.py +src/pip/_vendor/html5lib/_trie/_base.py +src/pip/_vendor/html5lib/_trie/datrie.py +src/pip/_vendor/html5lib/_trie/py.py +src/pip/_vendor/html5lib/filters/__init__.py +src/pip/_vendor/html5lib/filters/alphabeticalattributes.py +src/pip/_vendor/html5lib/filters/base.py +src/pip/_vendor/html5lib/filters/inject_meta_charset.py +src/pip/_vendor/html5lib/filters/lint.py +src/pip/_vendor/html5lib/filters/optionaltags.py +src/pip/_vendor/html5lib/filters/sanitizer.py +src/pip/_vendor/html5lib/filters/whitespace.py +src/pip/_vendor/html5lib/treeadapters/__init__.py +src/pip/_vendor/html5lib/treeadapters/genshi.py +src/pip/_vendor/html5lib/treeadapters/sax.py +src/pip/_vendor/html5lib/treebuilders/__init__.py +src/pip/_vendor/html5lib/treebuilders/base.py +src/pip/_vendor/html5lib/treebuilders/dom.py +src/pip/_vendor/html5lib/treebuilders/etree.py +src/pip/_vendor/html5lib/treebuilders/etree_lxml.py +src/pip/_vendor/html5lib/treewalkers/__init__.py +src/pip/_vendor/html5lib/treewalkers/base.py +src/pip/_vendor/html5lib/treewalkers/dom.py +src/pip/_vendor/html5lib/treewalkers/etree.py +src/pip/_vendor/html5lib/treewalkers/etree_lxml.py +src/pip/_vendor/html5lib/treewalkers/genshi.py +src/pip/_vendor/idna/LICENSE.rst +src/pip/_vendor/idna/__init__.py +src/pip/_vendor/idna/codec.py +src/pip/_vendor/idna/compat.py +src/pip/_vendor/idna/core.py +src/pip/_vendor/idna/idnadata.py +src/pip/_vendor/idna/intranges.py +src/pip/_vendor/idna/package_data.py +src/pip/_vendor/idna/uts46data.py +src/pip/_vendor/lockfile/LICENSE +src/pip/_vendor/lockfile/__init__.py +src/pip/_vendor/lockfile/linklockfile.py +src/pip/_vendor/lockfile/mkdirlockfile.py +src/pip/_vendor/lockfile/pidlockfile.py +src/pip/_vendor/lockfile/sqlitelockfile.py +src/pip/_vendor/lockfile/symlinklockfile.py +src/pip/_vendor/msgpack/COPYING +src/pip/_vendor/msgpack/__init__.py +src/pip/_vendor/msgpack/_version.py +src/pip/_vendor/msgpack/exceptions.py +src/pip/_vendor/msgpack/fallback.py +src/pip/_vendor/packaging/LICENSE +src/pip/_vendor/packaging/LICENSE.APACHE +src/pip/_vendor/packaging/LICENSE.BSD +src/pip/_vendor/packaging/__about__.py +src/pip/_vendor/packaging/__init__.py +src/pip/_vendor/packaging/_compat.py +src/pip/_vendor/packaging/_structures.py +src/pip/_vendor/packaging/markers.py +src/pip/_vendor/packaging/requirements.py +src/pip/_vendor/packaging/specifiers.py +src/pip/_vendor/packaging/utils.py +src/pip/_vendor/packaging/version.py +src/pip/_vendor/pep517/LICENSE +src/pip/_vendor/pep517/__init__.py +src/pip/_vendor/pep517/_in_process.py +src/pip/_vendor/pep517/build.py +src/pip/_vendor/pep517/check.py +src/pip/_vendor/pep517/colorlog.py +src/pip/_vendor/pep517/compat.py +src/pip/_vendor/pep517/envbuild.py +src/pip/_vendor/pep517/wrappers.py +src/pip/_vendor/pkg_resources/LICENSE +src/pip/_vendor/pkg_resources/__init__.py +src/pip/_vendor/pkg_resources/py31compat.py +src/pip/_vendor/progress/LICENSE +src/pip/_vendor/progress/__init__.py +src/pip/_vendor/progress/bar.py +src/pip/_vendor/progress/counter.py +src/pip/_vendor/progress/helpers.py +src/pip/_vendor/progress/spinner.py +src/pip/_vendor/pytoml/LICENSE +src/pip/_vendor/pytoml/__init__.py +src/pip/_vendor/pytoml/core.py +src/pip/_vendor/pytoml/parser.py +src/pip/_vendor/pytoml/test.py +src/pip/_vendor/pytoml/utils.py +src/pip/_vendor/pytoml/writer.py +src/pip/_vendor/requests/LICENSE +src/pip/_vendor/requests/__init__.py +src/pip/_vendor/requests/__version__.py +src/pip/_vendor/requests/_internal_utils.py +src/pip/_vendor/requests/adapters.py +src/pip/_vendor/requests/api.py +src/pip/_vendor/requests/auth.py +src/pip/_vendor/requests/certs.py +src/pip/_vendor/requests/compat.py +src/pip/_vendor/requests/cookies.py +src/pip/_vendor/requests/exceptions.py +src/pip/_vendor/requests/help.py +src/pip/_vendor/requests/hooks.py +src/pip/_vendor/requests/models.py +src/pip/_vendor/requests/packages.py +src/pip/_vendor/requests/sessions.py +src/pip/_vendor/requests/status_codes.py +src/pip/_vendor/requests/structures.py +src/pip/_vendor/requests/utils.py +src/pip/_vendor/urllib3/LICENSE.txt +src/pip/_vendor/urllib3/__init__.py +src/pip/_vendor/urllib3/_collections.py +src/pip/_vendor/urllib3/connection.py +src/pip/_vendor/urllib3/connectionpool.py +src/pip/_vendor/urllib3/exceptions.py +src/pip/_vendor/urllib3/fields.py +src/pip/_vendor/urllib3/filepost.py +src/pip/_vendor/urllib3/poolmanager.py +src/pip/_vendor/urllib3/request.py +src/pip/_vendor/urllib3/response.py +src/pip/_vendor/urllib3/contrib/__init__.py +src/pip/_vendor/urllib3/contrib/_appengine_environ.py +src/pip/_vendor/urllib3/contrib/appengine.py +src/pip/_vendor/urllib3/contrib/ntlmpool.py +src/pip/_vendor/urllib3/contrib/pyopenssl.py +src/pip/_vendor/urllib3/contrib/securetransport.py +src/pip/_vendor/urllib3/contrib/socks.py +src/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +src/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +src/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +src/pip/_vendor/urllib3/packages/__init__.py +src/pip/_vendor/urllib3/packages/six.py +src/pip/_vendor/urllib3/packages/backports/__init__.py +src/pip/_vendor/urllib3/packages/backports/makefile.py +src/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py +src/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py +src/pip/_vendor/urllib3/util/__init__.py +src/pip/_vendor/urllib3/util/connection.py +src/pip/_vendor/urllib3/util/queue.py +src/pip/_vendor/urllib3/util/request.py +src/pip/_vendor/urllib3/util/response.py +src/pip/_vendor/urllib3/util/retry.py +src/pip/_vendor/urllib3/util/ssl_.py +src/pip/_vendor/urllib3/util/timeout.py +src/pip/_vendor/urllib3/util/url.py +src/pip/_vendor/urllib3/util/wait.py +src/pip/_vendor/webencodings/LICENSE +src/pip/_vendor/webencodings/__init__.py +src/pip/_vendor/webencodings/labels.py +src/pip/_vendor/webencodings/mklabels.py +src/pip/_vendor/webencodings/tests.py +src/pip/_vendor/webencodings/x_user_defined.py \ No newline at end of file diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/dependency_links.txt b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/entry_points.txt b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/entry_points.txt new file mode 100644 index 0000000..6b7f48a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/entry_points.txt @@ -0,0 +1,5 @@ +[console_scripts] +pip = pip._internal:main +pip3 = pip._internal:main +pip3.6 = pip._internal:main + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/not-zip-safe b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/not-zip-safe new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/not-zip-safe @@ -0,0 +1 @@ + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/top_level.txt b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/top_level.txt new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/top_level.txt @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__init__.py new file mode 100644 index 0000000..f48c1ca --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__init__.py @@ -0,0 +1 @@ +__version__ = "19.0.3" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__main__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__main__.py new file mode 100644 index 0000000..0c223f8 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__main__.py @@ -0,0 +1,19 @@ +from __future__ import absolute_import + +import os +import sys + +# If we are running from a wheel, add the wheel to sys.path +# This allows the usage python pip-*.whl/pip install pip-*.whl +if __package__ == '': + # __file__ is pip-*.whl/pip/__main__.py + # first dirname call strips of '/__main__.py', second strips off '/pip' + # Resulting path is the name of the wheel itself + # Add that to sys.path so we can import pip + path = os.path.dirname(os.path.dirname(__file__)) + sys.path.insert(0, path) + +from pip._internal import main as _main # isort:skip # noqa + +if __name__ == '__main__': + sys.exit(_main()) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__init__.py new file mode 100644 index 0000000..276124d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__init__.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python +from __future__ import absolute_import + +import locale +import logging +import os +import warnings + +import sys + +# 2016-06-17 barry@debian.org: urllib3 1.14 added optional support for socks, +# but if invoked (i.e. imported), it will issue a warning to stderr if socks +# isn't available. requests unconditionally imports urllib3's socks contrib +# module, triggering this warning. The warning breaks DEP-8 tests (because of +# the stderr output) and is just plain annoying in normal usage. I don't want +# to add socks as yet another dependency for pip, nor do I want to allow-stder +# in the DEP-8 tests, so just suppress the warning. pdb tells me this has to +# be done before the import of pip.vcs. +from pip._vendor.urllib3.exceptions import DependencyWarning +warnings.filterwarnings("ignore", category=DependencyWarning) # noqa + +# We want to inject the use of SecureTransport as early as possible so that any +# references or sessions or what have you are ensured to have it, however we +# only want to do this in the case that we're running on macOS and the linked +# OpenSSL is too old to handle TLSv1.2 +try: + import ssl +except ImportError: + pass +else: + # Checks for OpenSSL 1.0.1 on MacOS + if sys.platform == "darwin" and ssl.OPENSSL_VERSION_NUMBER < 0x1000100f: + try: + from pip._vendor.urllib3.contrib import securetransport + except (ImportError, OSError): + pass + else: + securetransport.inject_into_urllib3() + +from pip._internal.cli.autocompletion import autocomplete +from pip._internal.cli.main_parser import parse_command +from pip._internal.commands import commands_dict +from pip._internal.exceptions import PipError +from pip._internal.utils import deprecation +from pip._internal.vcs import git, mercurial, subversion, bazaar # noqa +from pip._vendor.urllib3.exceptions import InsecureRequestWarning + +logger = logging.getLogger(__name__) + +# Hide the InsecureRequestWarning from urllib3 +warnings.filterwarnings("ignore", category=InsecureRequestWarning) + + +def main(args=None): + if args is None: + args = sys.argv[1:] + + # Configure our deprecation warnings to be sent through loggers + deprecation.install_warning_logger() + + autocomplete() + + try: + cmd_name, cmd_args = parse_command(args) + except PipError as exc: + sys.stderr.write("ERROR: %s" % exc) + sys.stderr.write(os.linesep) + sys.exit(1) + + # Needed for locale.getpreferredencoding(False) to work + # in pip._internal.utils.encoding.auto_decode + try: + locale.setlocale(locale.LC_ALL, '') + except locale.Error as e: + # setlocale can apparently crash if locale are uninitialized + logger.debug("Ignoring error %s when setting locale", e) + command = commands_dict[cmd_name](isolated=("--isolated" in cmd_args)) + return command.main(cmd_args) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/build_env.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/build_env.py new file mode 100644 index 0000000..d744cc7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/build_env.py @@ -0,0 +1,215 @@ +"""Build Environment used for isolation during sdist building +""" + +import logging +import os +import sys +import textwrap +from collections import OrderedDict +from distutils.sysconfig import get_python_lib +from sysconfig import get_paths + +from pip._vendor.pkg_resources import Requirement, VersionConflict, WorkingSet + +from pip import __file__ as pip_location +from pip._internal.utils.misc import call_subprocess +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.utils.ui import open_spinner + +if MYPY_CHECK_RUNNING: + from typing import Tuple, Set, Iterable, Optional, List # noqa: F401 + from pip._internal.index import PackageFinder # noqa: F401 + +logger = logging.getLogger(__name__) + + +class _Prefix: + + def __init__(self, path): + # type: (str) -> None + self.path = path + self.setup = False + self.bin_dir = get_paths( + 'nt' if os.name == 'nt' else 'posix_prefix', + vars={'base': path, 'platbase': path} + )['scripts'] + # Note: prefer distutils' sysconfig to get the + # library paths so PyPy is correctly supported. + purelib = get_python_lib(plat_specific=False, prefix=path) + platlib = get_python_lib(plat_specific=True, prefix=path) + if purelib == platlib: + self.lib_dirs = [purelib] + else: + self.lib_dirs = [purelib, platlib] + + +class BuildEnvironment(object): + """Creates and manages an isolated environment to install build deps + """ + + def __init__(self): + # type: () -> None + self._temp_dir = TempDirectory(kind="build-env") + self._temp_dir.create() + + self._prefixes = OrderedDict(( + (name, _Prefix(os.path.join(self._temp_dir.path, name))) + for name in ('normal', 'overlay') + )) + + self._bin_dirs = [] # type: List[str] + self._lib_dirs = [] # type: List[str] + for prefix in reversed(list(self._prefixes.values())): + self._bin_dirs.append(prefix.bin_dir) + self._lib_dirs.extend(prefix.lib_dirs) + + # Customize site to: + # - ensure .pth files are honored + # - prevent access to system site packages + system_sites = { + os.path.normcase(site) for site in ( + get_python_lib(plat_specific=False), + get_python_lib(plat_specific=True), + ) + } + self._site_dir = os.path.join(self._temp_dir.path, 'site') + if not os.path.exists(self._site_dir): + os.mkdir(self._site_dir) + with open(os.path.join(self._site_dir, 'sitecustomize.py'), 'w') as fp: + fp.write(textwrap.dedent( + ''' + import os, site, sys + + # First, drop system-sites related paths. + original_sys_path = sys.path[:] + known_paths = set() + for path in {system_sites!r}: + site.addsitedir(path, known_paths=known_paths) + system_paths = set( + os.path.normcase(path) + for path in sys.path[len(original_sys_path):] + ) + original_sys_path = [ + path for path in original_sys_path + if os.path.normcase(path) not in system_paths + ] + sys.path = original_sys_path + + # Second, add lib directories. + # ensuring .pth file are processed. + for path in {lib_dirs!r}: + assert not path in sys.path + site.addsitedir(path) + ''' + ).format(system_sites=system_sites, lib_dirs=self._lib_dirs)) + + def __enter__(self): + self._save_env = { + name: os.environ.get(name, None) + for name in ('PATH', 'PYTHONNOUSERSITE', 'PYTHONPATH') + } + + path = self._bin_dirs[:] + old_path = self._save_env['PATH'] + if old_path: + path.extend(old_path.split(os.pathsep)) + + pythonpath = [self._site_dir] + + os.environ.update({ + 'PATH': os.pathsep.join(path), + 'PYTHONNOUSERSITE': '1', + 'PYTHONPATH': os.pathsep.join(pythonpath), + }) + + def __exit__(self, exc_type, exc_val, exc_tb): + for varname, old_value in self._save_env.items(): + if old_value is None: + os.environ.pop(varname, None) + else: + os.environ[varname] = old_value + + def cleanup(self): + # type: () -> None + self._temp_dir.cleanup() + + def check_requirements(self, reqs): + # type: (Iterable[str]) -> Tuple[Set[Tuple[str, str]], Set[str]] + """Return 2 sets: + - conflicting requirements: set of (installed, wanted) reqs tuples + - missing requirements: set of reqs + """ + missing = set() + conflicting = set() + if reqs: + ws = WorkingSet(self._lib_dirs) + for req in reqs: + try: + if ws.find(Requirement.parse(req)) is None: + missing.add(req) + except VersionConflict as e: + conflicting.add((str(e.args[0].as_requirement()), + str(e.args[1]))) + return conflicting, missing + + def install_requirements( + self, + finder, # type: PackageFinder + requirements, # type: Iterable[str] + prefix_as_string, # type: str + message # type: Optional[str] + ): + # type: (...) -> None + prefix = self._prefixes[prefix_as_string] + assert not prefix.setup + prefix.setup = True + if not requirements: + return + args = [ + sys.executable, os.path.dirname(pip_location), 'install', + '--ignore-installed', '--no-user', '--prefix', prefix.path, + '--no-warn-script-location', + ] # type: List[str] + if logger.getEffectiveLevel() <= logging.DEBUG: + args.append('-v') + for format_control in ('no_binary', 'only_binary'): + formats = getattr(finder.format_control, format_control) + args.extend(('--' + format_control.replace('_', '-'), + ','.join(sorted(formats or {':none:'})))) + if finder.index_urls: + args.extend(['-i', finder.index_urls[0]]) + for extra_index in finder.index_urls[1:]: + args.extend(['--extra-index-url', extra_index]) + else: + args.append('--no-index') + for link in finder.find_links: + args.extend(['--find-links', link]) + for _, host, _ in finder.secure_origins: + args.extend(['--trusted-host', host]) + if finder.allow_all_prereleases: + args.append('--pre') + args.append('--') + args.extend(requirements) + with open_spinner(message) as spinner: + call_subprocess(args, show_stdout=False, spinner=spinner) + + +class NoOpBuildEnvironment(BuildEnvironment): + """A no-op drop-in replacement for BuildEnvironment + """ + + def __init__(self): + pass + + def __enter__(self): + pass + + def __exit__(self, exc_type, exc_val, exc_tb): + pass + + def cleanup(self): + pass + + def install_requirements(self, finder, requirements, prefix, message): + raise NotImplementedError() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cache.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cache.py new file mode 100644 index 0000000..eb295c4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cache.py @@ -0,0 +1,224 @@ +"""Cache Management +""" + +import errno +import hashlib +import logging +import os + +from pip._vendor.packaging.utils import canonicalize_name + +from pip._internal.download import path_to_url +from pip._internal.models.link import Link +from pip._internal.utils.compat import expanduser +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.wheel import InvalidWheelFilename, Wheel + +if MYPY_CHECK_RUNNING: + from typing import Optional, Set, List, Any # noqa: F401 + from pip._internal.index import FormatControl # noqa: F401 + +logger = logging.getLogger(__name__) + + +class Cache(object): + """An abstract class - provides cache directories for data from links + + + :param cache_dir: The root of the cache. + :param format_control: An object of FormatControl class to limit + binaries being read from the cache. + :param allowed_formats: which formats of files the cache should store. + ('binary' and 'source' are the only allowed values) + """ + + def __init__(self, cache_dir, format_control, allowed_formats): + # type: (str, FormatControl, Set[str]) -> None + super(Cache, self).__init__() + self.cache_dir = expanduser(cache_dir) if cache_dir else None + self.format_control = format_control + self.allowed_formats = allowed_formats + + _valid_formats = {"source", "binary"} + assert self.allowed_formats.union(_valid_formats) == _valid_formats + + def _get_cache_path_parts(self, link): + # type: (Link) -> List[str] + """Get parts of part that must be os.path.joined with cache_dir + """ + + # We want to generate an url to use as our cache key, we don't want to + # just re-use the URL because it might have other items in the fragment + # and we don't care about those. + key_parts = [link.url_without_fragment] + if link.hash_name is not None and link.hash is not None: + key_parts.append("=".join([link.hash_name, link.hash])) + key_url = "#".join(key_parts) + + # Encode our key url with sha224, we'll use this because it has similar + # security properties to sha256, but with a shorter total output (and + # thus less secure). However the differences don't make a lot of + # difference for our use case here. + hashed = hashlib.sha224(key_url.encode()).hexdigest() + + # We want to nest the directories some to prevent having a ton of top + # level directories where we might run out of sub directories on some + # FS. + parts = [hashed[:2], hashed[2:4], hashed[4:6], hashed[6:]] + + return parts + + def _get_candidates(self, link, package_name): + # type: (Link, Optional[str]) -> List[Any] + can_not_cache = ( + not self.cache_dir or + not package_name or + not link + ) + if can_not_cache: + return [] + + canonical_name = canonicalize_name(package_name) + formats = self.format_control.get_allowed_formats( + canonical_name + ) + if not self.allowed_formats.intersection(formats): + return [] + + root = self.get_path_for_link(link) + try: + return os.listdir(root) + except OSError as err: + if err.errno in {errno.ENOENT, errno.ENOTDIR}: + return [] + raise + + def get_path_for_link(self, link): + # type: (Link) -> str + """Return a directory to store cached items in for link. + """ + raise NotImplementedError() + + def get(self, link, package_name): + # type: (Link, Optional[str]) -> Link + """Returns a link to a cached item if it exists, otherwise returns the + passed link. + """ + raise NotImplementedError() + + def _link_for_candidate(self, link, candidate): + # type: (Link, str) -> Link + root = self.get_path_for_link(link) + path = os.path.join(root, candidate) + + return Link(path_to_url(path)) + + def cleanup(self): + # type: () -> None + pass + + +class SimpleWheelCache(Cache): + """A cache of wheels for future installs. + """ + + def __init__(self, cache_dir, format_control): + # type: (str, FormatControl) -> None + super(SimpleWheelCache, self).__init__( + cache_dir, format_control, {"binary"} + ) + + def get_path_for_link(self, link): + # type: (Link) -> str + """Return a directory to store cached wheels for link + + Because there are M wheels for any one sdist, we provide a directory + to cache them in, and then consult that directory when looking up + cache hits. + + We only insert things into the cache if they have plausible version + numbers, so that we don't contaminate the cache with things that were + not unique. E.g. ./package might have dozens of installs done for it + and build a version of 0.0...and if we built and cached a wheel, we'd + end up using the same wheel even if the source has been edited. + + :param link: The link of the sdist for which this will cache wheels. + """ + parts = self._get_cache_path_parts(link) + + # Store wheels within the root cache_dir + return os.path.join(self.cache_dir, "wheels", *parts) + + def get(self, link, package_name): + # type: (Link, Optional[str]) -> Link + candidates = [] + + for wheel_name in self._get_candidates(link, package_name): + 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 + + return self._link_for_candidate(link, min(candidates)[1]) + + +class EphemWheelCache(SimpleWheelCache): + """A SimpleWheelCache that creates it's own temporary cache directory + """ + + def __init__(self, format_control): + # type: (FormatControl) -> None + self._temp_dir = TempDirectory(kind="ephem-wheel-cache") + self._temp_dir.create() + + super(EphemWheelCache, self).__init__( + self._temp_dir.path, format_control + ) + + def cleanup(self): + # type: () -> None + self._temp_dir.cleanup() + + +class WheelCache(Cache): + """Wraps EphemWheelCache and SimpleWheelCache into a single Cache + + This Cache allows for gracefully degradation, using the ephem wheel cache + when a certain link is not found in the simple wheel cache first. + """ + + def __init__(self, cache_dir, format_control): + # type: (str, FormatControl) -> None + super(WheelCache, self).__init__( + cache_dir, format_control, {'binary'} + ) + self._wheel_cache = SimpleWheelCache(cache_dir, format_control) + self._ephem_cache = EphemWheelCache(format_control) + + def get_path_for_link(self, link): + # type: (Link) -> str + return self._wheel_cache.get_path_for_link(link) + + def get_ephem_path_for_link(self, link): + # type: (Link) -> str + return self._ephem_cache.get_path_for_link(link) + + def get(self, link, package_name): + # type: (Link, Optional[str]) -> Link + retval = self._wheel_cache.get(link, package_name) + if retval is link: + retval = self._ephem_cache.get(link, package_name) + return retval + + def cleanup(self): + # type: () -> None + self._wheel_cache.cleanup() + self._ephem_cache.cleanup() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__init__.py new file mode 100644 index 0000000..e589bb9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__init__.py @@ -0,0 +1,4 @@ +"""Subpackage containing all of pip's command line interface related code +""" + +# This file intentionally does not import submodules diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/autocompletion.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/autocompletion.py new file mode 100644 index 0000000..0a04199 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/autocompletion.py @@ -0,0 +1,152 @@ +"""Logic that powers autocompletion installed by ``pip completion``. +""" + +import optparse +import os +import sys + +from pip._internal.cli.main_parser import create_main_parser +from pip._internal.commands import commands_dict, get_summaries +from pip._internal.utils.misc import get_installed_distributions + + +def autocomplete(): + """Entry Point for completion of main and subcommand options. + """ + # Don't complete if user hasn't sourced bash_completion file. + if 'PIP_AUTO_COMPLETE' not in os.environ: + return + cwords = os.environ['COMP_WORDS'].split()[1:] + cword = int(os.environ['COMP_CWORD']) + try: + current = cwords[cword - 1] + except IndexError: + current = '' + + subcommands = [cmd for cmd, summary in get_summaries()] + options = [] + # subcommand + try: + subcommand_name = [w for w in cwords if w in subcommands][0] + except IndexError: + subcommand_name = None + + parser = create_main_parser() + # subcommand options + if subcommand_name: + # special case: 'help' subcommand has no options + if subcommand_name == 'help': + sys.exit(1) + # special case: list locally installed dists for show and uninstall + should_list_installed = ( + subcommand_name in ['show', 'uninstall'] and + not current.startswith('-') + ) + if should_list_installed: + installed = [] + lc = current.lower() + for dist in get_installed_distributions(local_only=True): + if dist.key.startswith(lc) and dist.key not in cwords[1:]: + installed.append(dist.key) + # if there are no dists installed, fall back to option completion + if installed: + for dist in installed: + print(dist) + sys.exit(1) + + subcommand = commands_dict[subcommand_name]() + + for opt in subcommand.parser.option_list_all: + if opt.help != optparse.SUPPRESS_HELP: + for opt_str in opt._long_opts + opt._short_opts: + options.append((opt_str, opt.nargs)) + + # filter out previously specified options from available options + prev_opts = [x.split('=')[0] for x in cwords[1:cword - 1]] + options = [(x, v) for (x, v) in options if x not in prev_opts] + # filter options by current input + options = [(k, v) for k, v in options if k.startswith(current)] + # get completion type given cwords and available subcommand options + completion_type = get_path_completion_type( + cwords, cword, subcommand.parser.option_list_all, + ) + # get completion files and directories if ``completion_type`` is + # ``<file>``, ``<dir>`` or ``<path>`` + if completion_type: + options = auto_complete_paths(current, completion_type) + options = ((opt, 0) for opt in options) + for option in options: + opt_label = option[0] + # append '=' to options which require args + if option[1] and option[0][:2] == "--": + opt_label += '=' + print(opt_label) + else: + # show main parser options only when necessary + + opts = [i.option_list for i in parser.option_groups] + opts.append(parser.option_list) + opts = (o for it in opts for o in it) + if current.startswith('-'): + for opt in opts: + if opt.help != optparse.SUPPRESS_HELP: + subcommands += opt._long_opts + opt._short_opts + else: + # get completion type given cwords and all available options + completion_type = get_path_completion_type(cwords, cword, opts) + if completion_type: + subcommands = auto_complete_paths(current, completion_type) + + print(' '.join([x for x in subcommands if x.startswith(current)])) + sys.exit(1) + + +def get_path_completion_type(cwords, cword, opts): + """Get the type of path completion (``file``, ``dir``, ``path`` or None) + + :param cwords: same as the environmental variable ``COMP_WORDS`` + :param cword: same as the environmental variable ``COMP_CWORD`` + :param opts: The available options to check + :return: path completion type (``file``, ``dir``, ``path`` or None) + """ + if cword < 2 or not cwords[cword - 2].startswith('-'): + return + for opt in opts: + if opt.help == optparse.SUPPRESS_HELP: + continue + for o in str(opt).split('/'): + if cwords[cword - 2].split('=')[0] == o: + if not opt.metavar or any( + x in ('path', 'file', 'dir') + for x in opt.metavar.split('/')): + return opt.metavar + + +def auto_complete_paths(current, completion_type): + """If ``completion_type`` is ``file`` or ``path``, list all regular files + and directories starting with ``current``; otherwise only list directories + starting with ``current``. + + :param current: The word to be completed + :param completion_type: path completion type(`file`, `path` or `dir`)i + :return: A generator of regular files and/or directories + """ + directory, filename = os.path.split(current) + current_path = os.path.abspath(directory) + # Don't complete paths if they can't be accessed + if not os.access(current_path, os.R_OK): + return + filename = os.path.normcase(filename) + # list all files that start with ``filename`` + file_list = (x for x in os.listdir(current_path) + if os.path.normcase(x).startswith(filename)) + for f in file_list: + opt = os.path.join(current_path, f) + comp_file = os.path.normcase(os.path.join(directory, f)) + # complete regular files when there is not ``<dir>`` after option + # complete directories when there is ``<file>``, ``<path>`` or + # ``<dir>``after option + if completion_type != 'dir' and os.path.isfile(opt): + yield comp_file + elif os.path.isdir(opt): + yield os.path.join(comp_file, '') diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/base_command.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/base_command.py new file mode 100644 index 0000000..3ceea49 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/base_command.py @@ -0,0 +1,341 @@ +"""Base Command class, and related routines""" +from __future__ import absolute_import, print_function + +import logging +import logging.config +import optparse +import os +import platform +import sys +import traceback + +from pip._internal.cli import cmdoptions +from pip._internal.cli.parser import ( + ConfigOptionParser, UpdatingDefaultsHelpFormatter, +) +from pip._internal.cli.status_codes import ( + ERROR, PREVIOUS_BUILD_DIR_ERROR, SUCCESS, UNKNOWN_ERROR, + VIRTUALENV_NOT_FOUND, +) +from pip._internal.download import PipSession +from pip._internal.exceptions import ( + BadCommand, CommandError, InstallationError, PreviousBuildDirError, + UninstallationError, +) +from pip._internal.index import PackageFinder +from pip._internal.locations import running_under_virtualenv +from pip._internal.req.constructors import ( + install_req_from_editable, install_req_from_line, +) +from pip._internal.req.req_file import parse_requirements +from pip._internal.utils.deprecation import deprecated +from pip._internal.utils.logging import BrokenStdoutLoggingError, setup_logging +from pip._internal.utils.misc import ( + get_prog, normalize_path, redact_password_from_url, +) +from pip._internal.utils.outdated import pip_version_check +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional, List, Tuple, Any # noqa: F401 + from optparse import Values # noqa: F401 + from pip._internal.cache import WheelCache # noqa: F401 + from pip._internal.req.req_set import RequirementSet # noqa: F401 + +__all__ = ['Command'] + +logger = logging.getLogger(__name__) + + +class Command(object): + name = None # type: Optional[str] + usage = None # type: Optional[str] + hidden = False # type: bool + ignore_require_venv = False # type: bool + + def __init__(self, isolated=False): + # type: (bool) -> None + 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 run(self, options, args): + # type: (Values, List[Any]) -> Any + raise NotImplementedError + + def _build_session(self, options, retries=None, timeout=None): + # type: (Values, Optional[int], Optional[int]) -> PipSession + session = PipSession( + cache=( + normalize_path(os.path.join(options.cache_dir, "http")) + if options.cache_dir else None + ), + retries=retries if retries is not None else options.retries, + 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): + # type: (List[str]) -> Tuple + # factored out for testability + return self.parser.parse_args(args) + + def main(self, args): + # type: (List[str]) -> int + options, args = self.parse_args(args) + + # Set verbosity so that it can be used elsewhere. + self.verbosity = options.verbose - options.quiet + + level_number = setup_logging( + verbosity=self.verbosity, + no_color=options.no_color, + user_log_file=options.log, + ) + + if sys.version_info[:2] == (3, 4): + deprecated( + "Python 3.4 support has been deprecated. pip 19.1 will be the " + "last one supporting it. Please upgrade your Python as Python " + "3.4 won't be maintained after March 2019 (cf PEP 429).", + replacement=None, + gone_in='19.2', + ) + elif sys.version_info[:2] == (2, 7): + message = ( + "A future version of pip will drop support for Python 2.7." + ) + if platform.python_implementation() == "CPython": + message = ( + "Python 2.7 will reach the end of its life on January " + "1st, 2020. Please upgrade your Python as Python 2.7 " + "won't be maintained after that date. " + ) + message + deprecated(message, replacement=None, gone_in=None) + + # TODO: Try to get these passing down from the command? + # without resorting to os.environ to hold these. + # This also affects isolated builds and it should. + + if options.no_input: + os.environ['PIP_NO_INPUT'] = '1' + + if options.exists_action: + os.environ['PIP_EXISTS_ACTION'] = ' '.join(options.exists_action) + + if options.require_venv and not self.ignore_require_venv: + # If a venv is required check if it can really be found + if not running_under_virtualenv(): + logger.critical( + 'Could not find an activated virtualenv (required).' + ) + sys.exit(VIRTUALENV_NOT_FOUND) + + try: + status = self.run(options, args) + # FIXME: all commands should return an exit status + # and when it is done, isinstance is not needed anymore + if isinstance(status, int): + return status + except PreviousBuildDirError as exc: + logger.critical(str(exc)) + logger.debug('Exception information:', exc_info=True) + + return PREVIOUS_BUILD_DIR_ERROR + except (InstallationError, UninstallationError, BadCommand) as exc: + logger.critical(str(exc)) + logger.debug('Exception information:', exc_info=True) + + return ERROR + except CommandError as exc: + logger.critical('ERROR: %s', exc) + logger.debug('Exception information:', exc_info=True) + + return ERROR + except BrokenStdoutLoggingError: + # Bypass our logger and write any remaining messages to stderr + # because stdout no longer works. + print('ERROR: Pipe to stdout was broken', file=sys.stderr) + if level_number <= logging.DEBUG: + traceback.print_exc(file=sys.stderr) + + return ERROR + except KeyboardInterrupt: + logger.critical('Operation cancelled by user') + logger.debug('Exception information:', exc_info=True) + + return ERROR + except BaseException: + logger.critical('Exception:', exc_info=True) + + return UNKNOWN_ERROR + finally: + allow_version_check = ( + # Does this command have the index_group options? + hasattr(options, "no_index") and + # Is this command allowed to perform this check? + not (options.disable_pip_version_check or options.no_index) + ) + # Check if we're using the latest version of pip available + if allow_version_check: + session = self._build_session( + options, + retries=0, + timeout=min(5, options.timeout) + ) + with session: + pip_version_check(session, options) + + # Shutdown the logging module + logging.shutdown() + + return SUCCESS + + +class RequirementCommand(Command): + + @staticmethod + def populate_requirement_set(requirement_set, # type: RequirementSet + args, # type: List[str] + options, # type: Values + finder, # type: PackageFinder + session, # type: PipSession + name, # type: str + wheel_cache # type: Optional[WheelCache] + ): + # type: (...) -> None + """ + Marshal cmd line args into a requirement set. + """ + # NOTE: As a side-effect, options.require_hashes and + # requirement_set.require_hashes may be updated + + for filename in options.constraints: + for req_to_add in parse_requirements( + filename, + constraint=True, finder=finder, options=options, + session=session, wheel_cache=wheel_cache): + req_to_add.is_direct = True + requirement_set.add_requirement(req_to_add) + + for req in args: + req_to_add = install_req_from_line( + req, None, isolated=options.isolated_mode, + use_pep517=options.use_pep517, + wheel_cache=wheel_cache + ) + req_to_add.is_direct = True + requirement_set.add_requirement(req_to_add) + + for req in options.editables: + req_to_add = install_req_from_editable( + req, + isolated=options.isolated_mode, + use_pep517=options.use_pep517, + wheel_cache=wheel_cache + ) + req_to_add.is_direct = True + requirement_set.add_requirement(req_to_add) + + for filename in options.requirements: + for req_to_add in parse_requirements( + filename, + finder=finder, options=options, session=session, + wheel_cache=wheel_cache, + use_pep517=options.use_pep517): + req_to_add.is_direct = True + requirement_set.add_requirement(req_to_add) + # If --require-hashes was a line in a requirements file, tell + # RequirementSet about it: + requirement_set.require_hashes = options.require_hashes + + if not (args or options.editables or options.requirements): + opts = {'name': name} + if options.find_links: + raise CommandError( + 'You must give at least one requirement to %(name)s ' + '(maybe you meant "pip %(name)s %(links)s"?)' % + dict(opts, links=' '.join(options.find_links))) + else: + raise CommandError( + 'You must give at least one requirement to %(name)s ' + '(see "pip help %(name)s")' % opts) + + def _build_package_finder( + self, + options, # type: Values + session, # type: PipSession + platform=None, # type: Optional[str] + python_versions=None, # type: Optional[List[str]] + abi=None, # type: Optional[str] + implementation=None # type: Optional[str] + ): + # type: (...) -> PackageFinder + """ + 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(redact_password_from_url(url) for url in 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, + session=session, + platform=platform, + versions=python_versions, + abi=abi, + implementation=implementation, + prefer_binary=options.prefer_binary, + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/cmdoptions.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/cmdoptions.py new file mode 100644 index 0000000..5cf5ee9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/cmdoptions.py @@ -0,0 +1,809 @@ +""" +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 + +import textwrap +import warnings +from distutils.util import strtobool +from functools import partial +from optparse import SUPPRESS_HELP, Option, OptionGroup + +from pip._internal.exceptions import CommandError +from pip._internal.locations import USER_CACHE_DIR, src_prefix +from pip._internal.models.format_control import FormatControl +from pip._internal.models.index import PyPI +from pip._internal.utils.hashes import STRONG_HASHES +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.utils.ui import BAR_TYPES + +if MYPY_CHECK_RUNNING: + from typing import Any, Callable, Dict, List, Optional, Union # noqa: F401 + from optparse import OptionParser, Values # noqa: F401 + from pip._internal.cli.parser import ConfigOptionParser # noqa: F401 + + +def raise_option_error(parser, option, msg): + """ + Raise an option parsing error using parser.error(). + + Args: + parser: an OptionParser instance. + option: an Option instance. + msg: the error text. + """ + msg = '{} error: {}'.format(option, msg) + msg = textwrap.fill(' '.join(msg.split())) + parser.error(msg) + + +def make_option_group(group, parser): + # type: (Dict[str, Any], ConfigOptionParser) -> OptionGroup + """ + Return an OptionGroup object + group -- assumed to be dict with 'name' and 'options' keys + parser -- an optparse Parser + """ + option_group = OptionGroup(parser, group['name']) + for option in group['options']: + option_group.add_option(option()) + return option_group + + +def check_install_build_global(options, check_options=None): + # type: (Values, Optional[Values]) -> None + """Disable wheels if per-setup.py call options are set. + + :param options: The OptionParser options to update. + :param check_options: The options to check, if not supplied defaults to + options. + """ + if check_options is None: + check_options = options + + def getname(n): + return getattr(check_options, n, None) + names = ["build_options", "global_options", "install_options"] + if any(map(getname, names)): + control = options.format_control + control.disallow_binaries() + warnings.warn( + 'Disabling all use of wheels due to the use of --build-options ' + '/ --global-options / --install-options.', stacklevel=2, + ) + + +def check_dist_restriction(options, check_target=False): + # type: (Values, bool) -> None + """Function for determining if custom platform options are allowed. + + :param options: The OptionParser options. + :param check_target: Whether or not to check if --target is being used. + """ + dist_restriction_set = any([ + options.python_version, + options.platform, + options.abi, + options.implementation, + ]) + + binary_only = FormatControl(set(), {':all:'}) + sdist_dependencies_allowed = ( + options.format_control != binary_only and + not options.ignore_dependencies + ) + + # Installations or downloads using dist restrictions must not combine + # source distributions and dist-specific wheels, as they are not + # gauranteed to be locally compatible. + if dist_restriction_set and sdist_dependencies_allowed: + raise CommandError( + "When restricting platform and interpreter constraints using " + "--python-version, --platform, --abi, or --implementation, " + "either --no-deps must be set, or --only-binary=:all: must be " + "set and --no-binary must not be set (or must be set to " + ":none:)." + ) + + if check_target: + if dist_restriction_set and not options.target_dir: + raise CommandError( + "Can not use any platform or abi specific options unless " + "installing via '--target'" + ) + + +########### +# options # +########### + +help_ = partial( + Option, + '-h', '--help', + dest='help', + action='help', + help='Show help.', +) # type: Callable[..., Option] + +isolated_mode = partial( + Option, + "--isolated", + dest="isolated_mode", + action="store_true", + default=False, + help=( + "Run pip in an isolated mode, ignoring environment variables and user " + "configuration." + ), +) # type: Callable[..., Option] + +require_virtualenv = partial( + Option, + # Run only if inside a virtualenv, bail if not. + '--require-virtualenv', '--require-venv', + dest='require_venv', + action='store_true', + default=False, + help=SUPPRESS_HELP +) # type: Callable[..., Option] + +verbose = partial( + Option, + '-v', '--verbose', + dest='verbose', + action='count', + default=0, + help='Give more output. Option is additive, and can be used up to 3 times.' +) # type: Callable[..., Option] + +no_color = partial( + Option, + '--no-color', + dest='no_color', + action='store_true', + default=False, + help="Suppress colored output", +) # type: Callable[..., Option] + +version = partial( + Option, + '-V', '--version', + dest='version', + action='store_true', + help='Show version and exit.', +) # type: Callable[..., Option] + +quiet = partial( + Option, + '-q', '--quiet', + dest='quiet', + action='count', + default=0, + help=( + 'Give less output. Option is additive, and can be used up to 3' + ' times (corresponding to WARNING, ERROR, and CRITICAL logging' + ' levels).' + ), +) # type: Callable[..., Option] + +progress_bar = partial( + Option, + '--progress-bar', + dest='progress_bar', + type='choice', + choices=list(BAR_TYPES.keys()), + default='on', + help=( + 'Specify type of progress to be displayed [' + + '|'.join(BAR_TYPES.keys()) + '] (default: %default)' + ), +) # type: Callable[..., Option] + +log = partial( + Option, + "--log", "--log-file", "--local-log", + dest="log", + metavar="path", + help="Path to a verbose appending log." +) # type: Callable[..., Option] + +no_input = partial( + Option, + # Don't ask for input + '--no-input', + dest='no_input', + action='store_true', + default=False, + help=SUPPRESS_HELP +) # type: Callable[..., Option] + +proxy = partial( + Option, + '--proxy', + dest='proxy', + type='str', + default='', + help="Specify a proxy in the form [user:passwd@]proxy.server:port." +) # type: Callable[..., Option] + +retries = partial( + Option, + '--retries', + dest='retries', + type='int', + default=5, + help="Maximum number of retries each connection should attempt " + "(default %default times).", +) # type: Callable[..., Option] + +timeout = partial( + Option, + '--timeout', '--default-timeout', + metavar='sec', + dest='timeout', + type='float', + default=15, + help='Set the socket timeout (default %default seconds).', +) # type: Callable[..., Option] + +skip_requirements_regex = partial( + Option, + # A regex to be used to skip requirements + '--skip-requirements-regex', + dest='skip_requirements_regex', + type='str', + default='', + help=SUPPRESS_HELP, +) # type: Callable[..., Option] + + +def exists_action(): + # type: () -> Option + return Option( + # Option when path already exist + '--exists-action', + dest='exists_action', + type='choice', + choices=['s', 'i', 'w', 'b', 'a'], + default=[], + action='append', + metavar='action', + help="Default action when a path already exists: " + "(s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort).", + ) + + +cert = partial( + Option, + '--cert', + dest='cert', + type='str', + metavar='path', + help="Path to alternate CA bundle.", +) # type: Callable[..., Option] + +client_cert = partial( + Option, + '--client-cert', + dest='client_cert', + type='str', + default=None, + metavar='path', + help="Path to SSL client certificate, a single file containing the " + "private key and the certificate in PEM format.", +) # type: Callable[..., Option] + +index_url = partial( + Option, + '-i', '--index-url', '--pypi-url', + dest='index_url', + metavar='URL', + default=PyPI.simple_url, + help="Base URL of Python Package Index (default %default). " + "This should point to a repository compliant with PEP 503 " + "(the simple repository API) or a local directory laid out " + "in the same format.", +) # type: Callable[..., Option] + + +def extra_index_url(): + return Option( + '--extra-index-url', + dest='extra_index_urls', + metavar='URL', + action='append', + default=[], + help="Extra URLs of package indexes to use in addition to " + "--index-url. Should follow the same rules as " + "--index-url.", + ) + + +no_index = partial( + Option, + '--no-index', + dest='no_index', + action='store_true', + default=False, + help='Ignore package index (only looking at --find-links URLs instead).', +) # type: Callable[..., Option] + + +def find_links(): + # type: () -> Option + return Option( + '-f', '--find-links', + dest='find_links', + action='append', + default=[], + metavar='url', + help="If a url or path to an html file, then parse for links to " + "archives. If a local path or file:// url that's a directory, " + "then look for archives in the directory listing.", + ) + + +def trusted_host(): + # type: () -> Option + return Option( + "--trusted-host", + dest="trusted_hosts", + action="append", + metavar="HOSTNAME", + default=[], + help="Mark this host as trusted, even though it does not have valid " + "or any HTTPS.", + ) + + +def constraints(): + # type: () -> Option + return Option( + '-c', '--constraint', + dest='constraints', + action='append', + default=[], + metavar='file', + help='Constrain versions using the given constraints file. ' + 'This option can be used multiple times.' + ) + + +def requirements(): + # type: () -> Option + return Option( + '-r', '--requirement', + dest='requirements', + action='append', + default=[], + metavar='file', + help='Install from the given requirements file. ' + 'This option can be used multiple times.' + ) + + +def editable(): + # type: () -> Option + return Option( + '-e', '--editable', + dest='editables', + action='append', + default=[], + metavar='path/url', + help=('Install a project in editable mode (i.e. setuptools ' + '"develop mode") from a local project path or a VCS url.'), + ) + + +src = partial( + Option, + '--src', '--source', '--source-dir', '--source-directory', + dest='src_dir', + metavar='dir', + default=src_prefix, + help='Directory to check out editable projects into. ' + 'The default in a virtualenv is "<venv path>/src". ' + 'The default for global installs is "<current dir>/src".' +) # type: Callable[..., Option] + + +def _get_format_control(values, option): + # type: (Values, Option) -> Any + """Get a format_control object.""" + return getattr(values, option.dest) + + +def _handle_no_binary(option, opt_str, value, parser): + # type: (Option, str, str, OptionParser) -> None + existing = _get_format_control(parser.values, option) + FormatControl.handle_mutual_excludes( + value, existing.no_binary, existing.only_binary, + ) + + +def _handle_only_binary(option, opt_str, value, parser): + # type: (Option, str, str, OptionParser) -> None + existing = _get_format_control(parser.values, option) + FormatControl.handle_mutual_excludes( + value, existing.only_binary, existing.no_binary, + ) + + +def no_binary(): + # type: () -> Option + format_control = FormatControl(set(), set()) + return Option( + "--no-binary", dest="format_control", action="callback", + callback=_handle_no_binary, type="str", + default=format_control, + help="Do not use binary packages. Can be supplied multiple times, and " + "each time adds to the existing value. Accepts either :all: to " + "disable all binary packages, :none: to empty the set, or one or " + "more package names with commas between them. Note that some " + "packages are tricky to compile and may fail to install when " + "this option is used on them.", + ) + + +def only_binary(): + # type: () -> Option + format_control = FormatControl(set(), set()) + return Option( + "--only-binary", dest="format_control", action="callback", + callback=_handle_only_binary, type="str", + default=format_control, + help="Do not use source packages. Can be supplied multiple times, and " + "each time adds to the existing value. Accepts either :all: to " + "disable all source packages, :none: to empty the set, or one or " + "more package names with commas between them. Packages without " + "binary distributions will fail to install when this option is " + "used on them.", + ) + + +platform = partial( + Option, + '--platform', + dest='platform', + metavar='platform', + default=None, + help=("Only use wheels compatible with <platform>. " + "Defaults to the platform of the running system."), +) # type: Callable[..., Option] + + +python_version = partial( + Option, + '--python-version', + dest='python_version', + metavar='python_version', + default=None, + help=("Only use wheels compatible with Python " + "interpreter version <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."), +) # type: Callable[..., Option] + + +implementation = partial( + Option, + '--implementation', + dest='implementation', + metavar='implementation', + default=None, + help=("Only use wheels compatible with Python " + "implementation <implementation>, e.g. 'pp', 'jy', 'cp', " + " or 'ip'. If not specified, then the current " + "interpreter implementation is used. Use 'py' to force " + "implementation-agnostic wheels."), +) # type: Callable[..., Option] + + +abi = partial( + Option, + '--abi', + dest='abi', + metavar='abi', + default=None, + help=("Only use wheels compatible with Python " + "abi <abi>, e.g. 'pypy_41'. If not specified, then the " + "current interpreter abi tag is used. Generally " + "you will need to specify --implementation, " + "--platform, and --python-version when using " + "this option."), +) # type: Callable[..., Option] + + +def prefer_binary(): + # type: () -> Option + return Option( + "--prefer-binary", + dest="prefer_binary", + action="store_true", + default=False, + help="Prefer older binary packages over newer source packages." + ) + + +cache_dir = partial( + Option, + "--cache-dir", + dest="cache_dir", + default=USER_CACHE_DIR, + metavar="dir", + help="Store the cache data in <dir>." +) # type: Callable[..., Option] + + +def no_cache_dir_callback(option, opt, value, parser): + """ + Process a value provided for the --no-cache-dir option. + + This is an optparse.Option callback for the --no-cache-dir option. + """ + # The value argument will be None if --no-cache-dir is passed via the + # command-line, since the option doesn't accept arguments. However, + # the value can be non-None if the option is triggered e.g. by an + # environment variable, like PIP_NO_CACHE_DIR=true. + if value is not None: + # Then parse the string value to get argument error-checking. + try: + strtobool(value) + except ValueError as exc: + raise_option_error(parser, option=option, msg=str(exc)) + + # Originally, setting PIP_NO_CACHE_DIR to a value that strtobool() + # converted to 0 (like "false" or "no") caused cache_dir to be disabled + # rather than enabled (logic would say the latter). Thus, we disable + # the cache directory not just on values that parse to True, but (for + # backwards compatibility reasons) also on values that parse to False. + # In other words, always set it to False if the option is provided in + # some (valid) form. + parser.values.cache_dir = False + + +no_cache = partial( + Option, + "--no-cache-dir", + dest="cache_dir", + action="callback", + callback=no_cache_dir_callback, + help="Disable the cache.", +) # type: Callable[..., Option] + +no_deps = partial( + Option, + '--no-deps', '--no-dependencies', + dest='ignore_dependencies', + action='store_true', + default=False, + help="Don't install package dependencies.", +) # type: Callable[..., Option] + +build_dir = partial( + Option, + '-b', '--build', '--build-dir', '--build-directory', + dest='build_dir', + metavar='dir', + help='Directory to unpack packages into and build in. Note that ' + 'an initial build still takes place in a temporary directory. ' + 'The location of temporary directories can be controlled by setting ' + 'the TMPDIR environment variable (TEMP on Windows) appropriately. ' + 'When passed, build directories are not cleaned in case of failures.' +) # type: Callable[..., Option] + +ignore_requires_python = partial( + Option, + '--ignore-requires-python', + dest='ignore_requires_python', + action='store_true', + help='Ignore the Requires-Python information.' +) # type: Callable[..., Option] + +no_build_isolation = partial( + Option, + '--no-build-isolation', + dest='build_isolation', + action='store_false', + default=True, + help='Disable isolation when building a modern source distribution. ' + 'Build dependencies specified by PEP 518 must be already installed ' + 'if this option is used.' +) # type: Callable[..., Option] + + +def no_use_pep517_callback(option, opt, value, parser): + """ + Process a value provided for the --no-use-pep517 option. + + This is an optparse.Option callback for the no_use_pep517 option. + """ + # Since --no-use-pep517 doesn't accept arguments, the value argument + # will be None if --no-use-pep517 is passed via the command-line. + # However, the value can be non-None if the option is triggered e.g. + # by an environment variable, for example "PIP_NO_USE_PEP517=true". + if value is not None: + msg = """A value was passed for --no-use-pep517, + probably using either the PIP_NO_USE_PEP517 environment variable + or the "no-use-pep517" config file option. Use an appropriate value + of the PIP_USE_PEP517 environment variable or the "use-pep517" + config file option instead. + """ + raise_option_error(parser, option=option, msg=msg) + + # Otherwise, --no-use-pep517 was passed via the command-line. + parser.values.use_pep517 = False + + +use_pep517 = partial( + Option, + '--use-pep517', + dest='use_pep517', + action='store_true', + default=None, + help='Use PEP 517 for building source distributions ' + '(use --no-use-pep517 to force legacy behaviour).' +) # type: Any + +no_use_pep517 = partial( + Option, + '--no-use-pep517', + dest='use_pep517', + action='callback', + callback=no_use_pep517_callback, + default=None, + help=SUPPRESS_HELP +) # type: Any + +install_options = partial( + Option, + '--install-option', + dest='install_options', + action='append', + metavar='options', + help="Extra arguments to be supplied to the setup.py install " + "command (use like --install-option=\"--install-scripts=/usr/local/" + "bin\"). Use multiple --install-option options to pass multiple " + "options to setup.py install. If you are using an option with a " + "directory path, be sure to use absolute path.", +) # type: Callable[..., Option] + +global_options = partial( + Option, + '--global-option', + dest='global_options', + action='append', + metavar='options', + help="Extra global options to be supplied to the setup.py " + "call before the install command.", +) # type: Callable[..., Option] + +no_clean = partial( + Option, + '--no-clean', + action='store_true', + default=False, + help="Don't clean up build directories." +) # type: Callable[..., Option] + +pre = partial( + Option, + '--pre', + action='store_true', + default=False, + help="Include pre-release and development versions. By default, " + "pip only finds stable versions.", +) # type: Callable[..., Option] + +disable_pip_version_check = partial( + Option, + "--disable-pip-version-check", + dest="disable_pip_version_check", + action="store_true", + default=False, + help="Don't periodically check PyPI to determine whether a new version " + "of pip is available for download. Implied with --no-index.", +) # type: Callable[..., Option] + + +# Deprecated, Remove later +always_unzip = partial( + Option, + '-Z', '--always-unzip', + dest='always_unzip', + action='store_true', + help=SUPPRESS_HELP, +) # type: Callable[..., Option] + + +def _merge_hash(option, opt_str, value, parser): + # type: (Option, str, str, OptionParser) -> None + """Given a value spelled "algo:digest", append the digest to a list + pointed to in a dict by the algo name.""" + if not parser.values.hashes: + parser.values.hashes = {} # type: ignore + 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...', +) # type: Callable[..., Option] + + +require_hashes = partial( + Option, + '--require-hashes', + dest='require_hashes', + action='store_true', + default=False, + help='Require a hash to check each requirement against, for ' + 'repeatable installs. This option is implied when any package in a ' + 'requirements file has a --hash option.', +) # type: Callable[..., Option] + + +########## +# groups # +########## + +general_group = { + 'name': 'General Options', + 'options': [ + help_, + isolated_mode, + require_virtualenv, + verbose, + version, + quiet, + log, + no_input, + proxy, + retries, + timeout, + skip_requirements_regex, + exists_action, + trusted_host, + cert, + client_cert, + cache_dir, + no_cache, + disable_pip_version_check, + no_color, + ] +} # type: Dict[str, Any] + +index_group = { + 'name': 'Package Index Options', + 'options': [ + index_url, + extra_index_url, + no_index, + find_links, + ] +} # type: Dict[str, Any] diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/main_parser.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/main_parser.py new file mode 100644 index 0000000..b17c749 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/main_parser.py @@ -0,0 +1,104 @@ +"""A single place for constructing and exposing the main parser +""" + +import os +import sys + +from pip import __version__ +from pip._internal.cli import cmdoptions +from pip._internal.cli.parser import ( + ConfigOptionParser, UpdatingDefaultsHelpFormatter, +) +from pip._internal.commands import ( + commands_dict, get_similar_commands, get_summaries, +) +from pip._internal.exceptions import CommandError +from pip._internal.utils.misc import get_prog +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Tuple, List # noqa: F401 + + +__all__ = ["create_main_parser", "parse_command"] + + +def create_main_parser(): + # type: () -> ConfigOptionParser + """Creates and returns the main parser for pip's CLI + """ + + parser_kw = { + 'usage': '\n%prog <command> [options]', + 'add_help_option': False, + 'formatter': UpdatingDefaultsHelpFormatter(), + 'name': 'global', + 'prog': get_prog(), + } + + parser = ConfigOptionParser(**parser_kw) + parser.disable_interspersed_args() + + pip_pkg_dir = os.path.abspath(os.path.join( + os.path.dirname(__file__), "..", "..", + )) + parser.version = 'pip %s from %s (python %s)' % ( + __version__, pip_pkg_dir, sys.version[:3], + ) + + # add the general options + gen_opts = cmdoptions.make_option_group(cmdoptions.general_group, parser) + parser.add_option_group(gen_opts) + + # so the help formatter knows + parser.main = True # type: ignore + + # create command listing for description + command_summaries = get_summaries() + description = [''] + ['%-27s %s' % (i, j) for i, j in command_summaries] + parser.description = '\n'.join(description) + + return parser + + +def parse_command(args): + # type: (List[str]) -> Tuple[str, List[str]] + parser = create_main_parser() + + # Note: parser calls disable_interspersed_args(), so the result of this + # call is to split the initial args into the general options before the + # subcommand and everything else. + # For example: + # args: ['--timeout=5', 'install', '--user', 'INITools'] + # general_options: ['--timeout==5'] + # args_else: ['install', '--user', 'INITools'] + general_options, args_else = parser.parse_args(args) + + # --version + if general_options.version: + sys.stdout.write(parser.version) # type: ignore + sys.stdout.write(os.linesep) + sys.exit() + + # pip || pip help -> print_help() + if not args_else or (args_else[0] == 'help' and len(args_else) == 1): + parser.print_help() + sys.exit() + + # the subcommand name + cmd_name = args_else[0] + + if cmd_name not in commands_dict: + guess = get_similar_commands(cmd_name) + + msg = ['unknown command "%s"' % cmd_name] + if guess: + msg.append('maybe you meant "%s"' % guess) + + raise CommandError(' - '.join(msg)) + + # all the args without the subcommand + cmd_args = args[:] + cmd_args.remove(cmd_name) + + return cmd_name, cmd_args diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/parser.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/parser.py new file mode 100644 index 0000000..e1eaac4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/parser.py @@ -0,0 +1,261 @@ +"""Base option parser setup""" +from __future__ import absolute_import + +import logging +import optparse +import sys +import textwrap +from distutils.util import strtobool + +from pip._vendor.six import string_types + +from pip._internal.cli.status_codes import UNKNOWN_ERROR +from pip._internal.configuration import Configuration, ConfigurationError +from pip._internal.utils.compat import get_terminal_size + +logger = logging.getLogger(__name__) + + +class PrettyHelpFormatter(optparse.IndentedHelpFormatter): + """A prettier/less verbose help formatter for optparse.""" + + def __init__(self, *args, **kwargs): + # help position must be aligned with __init__.parseopts.description + kwargs['max_help_position'] = 30 + kwargs['indent_increment'] = 1 + kwargs['width'] = get_terminal_size()[0] - 2 + optparse.IndentedHelpFormatter.__init__(self, *args, **kwargs) + + def format_option_strings(self, option): + return self._format_option_strings(option, ' <%s>', ', ') + + def _format_option_strings(self, option, mvarfmt=' <%s>', optsep=', '): + """ + Return a comma-separated list of option strings and metavars. + + :param option: tuple of (short opt, long opt), e.g: ('-f', '--format') + :param mvarfmt: metavar format string - evaluated as mvarfmt % metavar + :param optsep: separator + """ + opts = [] + + if option._short_opts: + opts.append(option._short_opts[0]) + if option._long_opts: + opts.append(option._long_opts[0]) + if len(opts) > 1: + opts.insert(1, optsep) + + if option.takes_value(): + metavar = option.metavar or option.dest.lower() + opts.append(mvarfmt % metavar.lower()) + + return ''.join(opts) + + def format_heading(self, heading): + if heading == 'Options': + return '' + return heading + ':\n' + + def format_usage(self, usage): + """ + Ensure there is only one newline between usage and the first heading + if there is no description. + """ + msg = '\nUsage: %s\n' % self.indent_lines(textwrap.dedent(usage), " ") + return msg + + def format_description(self, description): + # leave full control over description to us + if description: + if hasattr(self.parser, 'main'): + label = 'Commands' + else: + label = 'Description' + # some doc strings have initial newlines, some don't + description = description.lstrip('\n') + # some doc strings have final newlines and spaces, some don't + description = description.rstrip() + # dedent, then reindent + description = self.indent_lines(textwrap.dedent(description), " ") + description = '%s:\n%s\n' % (label, description) + return description + else: + return '' + + def format_epilog(self, epilog): + # leave full control over epilog to us + if epilog: + return epilog + else: + return '' + + def indent_lines(self, text, indent): + new_lines = [indent + line for line in text.split('\n')] + return "\n".join(new_lines) + + +class UpdatingDefaultsHelpFormatter(PrettyHelpFormatter): + """Custom help formatter for use in ConfigOptionParser. + + This is updates the defaults before expanding them, allowing + them to show up correctly in the help listing. + """ + + def expand_default(self, option): + if self.parser is not None: + self.parser._update_defaults(self.parser.defaults) + return optparse.IndentedHelpFormatter.expand_default(self, option) + + +class CustomOptionParser(optparse.OptionParser): + + def insert_option_group(self, idx, *args, **kwargs): + """Insert an OptionGroup at a given position.""" + group = self.add_option_group(*args, **kwargs) + + self.option_groups.pop() + self.option_groups.insert(idx, group) + + return group + + @property + def option_list_all(self): + """Get a list of all options, including those in option groups.""" + res = self.option_list[:] + for i in self.option_groups: + res.extend(i.option_list) + + return res + + +class ConfigOptionParser(CustomOptionParser): + """Custom option parser which updates its defaults by checking the + configuration files and environmental variables""" + + def __init__(self, *args, **kwargs): + self.name = kwargs.pop('name') + + isolated = kwargs.pop("isolated", False) + self.config = Configuration(isolated) + + assert self.name + optparse.OptionParser.__init__(self, *args, **kwargs) + + def check_default(self, option, key, val): + try: + return option.check_value(key, val) + except optparse.OptionValueError as exc: + print("An error occurred during configuration: %s" % exc) + sys.exit(3) + + def _get_ordered_configuration_items(self): + # Configuration gives keys in an unordered manner. Order them. + override_order = ["global", self.name, ":env:"] + + # Pool the options into different groups + section_items = {name: [] for name in override_order} + for section_key, val in self.config.items(): + # ignore empty values + if not val: + logger.debug( + "Ignoring configuration key '%s' as it's value is empty.", + section_key + ) + continue + + section, key = section_key.split(".", 1) + if section in override_order: + section_items[section].append((key, val)) + + # Yield each group in their override order + for section in override_order: + for key, val in section_items[section]: + yield key, val + + def _update_defaults(self, defaults): + """Updates the given defaults with values from the config files and + the environ. Does a little special handling for certain types of + options (lists).""" + + # Accumulate complex default state. + self.values = optparse.Values(self.defaults) + late_eval = set() + # Then set the options with those values + for key, val in self._get_ordered_configuration_items(): + # '--' because configuration supports only long names + option = self.get_option('--' + key) + + # Ignore options not present in this parser. E.g. non-globals put + # in [global] by users that want them to apply to all applicable + # commands. + if option is None: + continue + + if option.action in ('store_true', 'store_false', 'count'): + try: + val = strtobool(val) + except ValueError: + error_msg = invalid_config_error_message( + option.action, key, val + ) + self.error(error_msg) + + elif option.action == 'append': + val = val.split() + val = [self.check_default(option, key, v) for v in val] + elif option.action == 'callback': + late_eval.add(option.dest) + opt_str = option.get_opt_string() + val = option.convert_value(opt_str, val) + # From take_action + args = option.callback_args or () + kwargs = option.callback_kwargs or {} + option.callback(option, opt_str, val, self, *args, **kwargs) + else: + val = self.check_default(option, key, val) + + defaults[option.dest] = val + + for key in late_eval: + defaults[key] = getattr(self.values, key) + self.values = None + return defaults + + def get_default_values(self): + """Overriding to make updating the defaults after instantiation of + the option parser possible, _update_defaults() does the dirty work.""" + if not self.process_default_values: + # Old, pre-Optik 1.5 behaviour. + return optparse.Values(self.defaults) + + # Load the configuration, or error out in case of an error + try: + self.config.load() + except ConfigurationError as err: + self.exit(UNKNOWN_ERROR, str(err)) + + defaults = self._update_defaults(self.defaults.copy()) # ours + for option in self._get_all_options(): + default = defaults.get(option.dest) + if isinstance(default, string_types): + opt_str = option.get_opt_string() + defaults[option.dest] = option.check_value(opt_str, default) + return optparse.Values(defaults) + + def error(self, msg): + self.print_usage(sys.stderr) + self.exit(UNKNOWN_ERROR, "%s\n" % msg) + + +def invalid_config_error_message(action, key, val): + """Returns a better error message when invalid configuration option + is provided.""" + if action in ('store_true', 'store_false'): + return ("{0} is not a valid value for {1} option, " + "please specify a boolean value like yes/no, " + "true/false or 1/0 instead.").format(val, key) + + return ("{0} is not a valid value for {1} option, " + "please specify a numerical value like 1/0 " + "instead.").format(val, key) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/status_codes.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/status_codes.py new file mode 100644 index 0000000..275360a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/status_codes.py @@ -0,0 +1,8 @@ +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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__init__.py new file mode 100644 index 0000000..c7d1da3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__init__.py @@ -0,0 +1,79 @@ +""" +Package containing all pip commands +""" +from __future__ import absolute_import + +from pip._internal.commands.completion import CompletionCommand +from pip._internal.commands.configuration import ConfigurationCommand +from pip._internal.commands.download import DownloadCommand +from pip._internal.commands.freeze import FreezeCommand +from pip._internal.commands.hash import HashCommand +from pip._internal.commands.help import HelpCommand +from pip._internal.commands.list import ListCommand +from pip._internal.commands.check import CheckCommand +from pip._internal.commands.search import SearchCommand +from pip._internal.commands.show import ShowCommand +from pip._internal.commands.install import InstallCommand +from pip._internal.commands.uninstall import UninstallCommand +from pip._internal.commands.wheel import WheelCommand + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import List, Type # noqa: F401 + from pip._internal.cli.base_command import Command # noqa: F401 + +commands_order = [ + InstallCommand, + DownloadCommand, + UninstallCommand, + FreezeCommand, + ListCommand, + ShowCommand, + CheckCommand, + ConfigurationCommand, + SearchCommand, + WheelCommand, + HashCommand, + CompletionCommand, + HelpCommand, +] # type: List[Type[Command]] + +commands_dict = {c.name: c for c in commands_order} + + +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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/check.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/check.py new file mode 100644 index 0000000..801cecc --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/check.py @@ -0,0 +1,41 @@ +import logging + +from pip._internal.cli.base_command import Command +from pip._internal.operations.check import ( + check_package_set, create_package_set_from_installed, +) + +logger = logging.getLogger(__name__) + + +class CheckCommand(Command): + """Verify installed packages have compatible dependencies.""" + name = 'check' + usage = """ + %prog [options]""" + summary = 'Verify installed packages have compatible dependencies.' + + def run(self, options, args): + package_set, parsing_probs = create_package_set_from_installed() + missing, conflicting = check_package_set(package_set) + + for project_name in missing: + version = package_set[project_name].version + for dependency in missing[project_name]: + logger.info( + "%s %s requires %s, which is not installed.", + project_name, version, dependency[0], + ) + + for project_name in conflicting: + version = package_set[project_name].version + for dep_name, dep_version, req in conflicting[project_name]: + logger.info( + "%s %s has requirement %s, but you have %s %s.", + project_name, version, req, dep_name, dep_version, + ) + + if missing or conflicting or parsing_probs: + return 1 + else: + logger.info("No broken requirements found.") diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/completion.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/completion.py new file mode 100644 index 0000000..2fcdd39 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/completion.py @@ -0,0 +1,94 @@ +from __future__ import absolute_import + +import sys +import textwrap + +from pip._internal.cli.base_command import Command +from pip._internal.utils.misc import get_prog + +BASE_COMPLETION = """ +# pip %(shell)s completion start%(script)s# pip %(shell)s completion end +""" + +COMPLETION_SCRIPTS = { + 'bash': """ + _pip_completion() + { + COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]}" \\ + COMP_CWORD=$COMP_CWORD \\ + PIP_AUTO_COMPLETE=1 $1 ) ) + } + complete -o default -F _pip_completion %(prog)s + """, + 'zsh': """ + function _pip_completion { + local words cword + read -Ac words + read -cn cword + reply=( $( COMP_WORDS="$words[*]" \\ + COMP_CWORD=$(( cword-1 )) \\ + PIP_AUTO_COMPLETE=1 $words[1] ) ) + } + compctl -K _pip_completion %(prog)s + """, + 'fish': """ + function __fish_complete_pip + set -lx COMP_WORDS (commandline -o) "" + set -lx COMP_CWORD ( \\ + math (contains -i -- (commandline -t) $COMP_WORDS)-1 \\ + ) + set -lx PIP_AUTO_COMPLETE 1 + string split \\ -- (eval $COMP_WORDS[1]) + end + complete -fa "(__fish_complete_pip)" -c %(prog)s + """, +} + + +class CompletionCommand(Command): + """A helper command to be used for command completion.""" + name = 'completion' + summary = 'A helper command used for command completion.' + ignore_require_venv = True + + def __init__(self, *args, **kw): + super(CompletionCommand, self).__init__(*args, **kw) + + cmd_opts = self.cmd_opts + + cmd_opts.add_option( + '--bash', '-b', + action='store_const', + const='bash', + dest='shell', + help='Emit completion code for bash') + cmd_opts.add_option( + '--zsh', '-z', + action='store_const', + const='zsh', + dest='shell', + help='Emit completion code for zsh') + cmd_opts.add_option( + '--fish', '-f', + action='store_const', + const='fish', + dest='shell', + help='Emit completion code for fish') + + self.parser.insert_option_group(0, cmd_opts) + + def run(self, options, args): + """Prints the completion code of the given shell""" + shells = COMPLETION_SCRIPTS.keys() + shell_options = ['--' + shell for shell in sorted(shells)] + if options.shell in shells: + script = textwrap.dedent( + COMPLETION_SCRIPTS.get(options.shell, '') % { + 'prog': get_prog(), + } + ) + print(BASE_COMPLETION % {'script': script, 'shell': options.shell}) + else: + sys.stderr.write( + 'ERROR: You must pass %s\n' % ' or '.join(shell_options) + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/configuration.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/configuration.py new file mode 100644 index 0000000..826c08d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/configuration.py @@ -0,0 +1,227 @@ +import logging +import os +import subprocess + +from pip._internal.cli.base_command import Command +from pip._internal.cli.status_codes import ERROR, SUCCESS +from pip._internal.configuration import Configuration, kinds +from pip._internal.exceptions import PipError +from pip._internal.locations import venv_config_file +from pip._internal.utils.misc import get_prog + +logger = logging.getLogger(__name__) + + +class ConfigurationCommand(Command): + """Manage local and global configuration. + + Subcommands: + + list: List the active configuration (or from the file specified) + edit: Edit the configuration file in an editor + get: Get the value associated with name + set: Set the name=value + unset: Unset the value associated with name + + If none of --user, --global and --venv are passed, a virtual + environment configuration file is used if one is active and the file + exists. Otherwise, all modifications happen on the to the user file by + default. + """ + + name = 'config' + usage = """ + %prog [<file-option>] list + %prog [<file-option>] [--editor <editor-path>] edit + + %prog [<file-option>] get name + %prog [<file-option>] set name value + %prog [<file-option>] unset name + """ + + summary = "Manage local and global configuration." + + def __init__(self, *args, **kwargs): + super(ConfigurationCommand, self).__init__(*args, **kwargs) + + self.configuration = None + + self.cmd_opts.add_option( + '--editor', + dest='editor', + action='store', + default=None, + help=( + 'Editor to use to edit the file. Uses VISUAL or EDITOR ' + 'environment variables if not provided.' + ) + ) + + self.cmd_opts.add_option( + '--global', + dest='global_file', + action='store_true', + default=False, + help='Use the system-wide configuration file only' + ) + + self.cmd_opts.add_option( + '--user', + dest='user_file', + action='store_true', + default=False, + help='Use the user configuration file only' + ) + + self.cmd_opts.add_option( + '--venv', + dest='venv_file', + action='store_true', + default=False, + help='Use the virtualenv configuration file only' + ) + + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + handlers = { + "list": self.list_values, + "edit": self.open_in_editor, + "get": self.get_name, + "set": self.set_name_value, + "unset": self.unset_name + } + + # Determine action + if not args or args[0] not in handlers: + logger.error("Need an action ({}) to perform.".format( + ", ".join(sorted(handlers))) + ) + return ERROR + + action = args[0] + + # Determine which configuration files are to be loaded + # Depends on whether the command is modifying. + try: + load_only = self._determine_file( + options, need_value=(action in ["get", "set", "unset", "edit"]) + ) + except PipError as e: + logger.error(e.args[0]) + return ERROR + + # Load a new configuration + self.configuration = Configuration( + isolated=options.isolated_mode, load_only=load_only + ) + self.configuration.load() + + # Error handling happens here, not in the action-handlers. + try: + handlers[action](options, args[1:]) + except PipError as e: + logger.error(e.args[0]) + return ERROR + + return SUCCESS + + def _determine_file(self, options, need_value): + file_options = { + kinds.USER: options.user_file, + kinds.GLOBAL: options.global_file, + kinds.VENV: options.venv_file + } + + if sum(file_options.values()) == 0: + if not need_value: + return None + # Default to user, unless there's a virtualenv file. + elif os.path.exists(venv_config_file): + return kinds.VENV + else: + return kinds.USER + elif sum(file_options.values()) == 1: + # There's probably a better expression for this. + return [key for key in file_options if file_options[key]][0] + + raise PipError( + "Need exactly one file to operate upon " + "(--user, --venv, --global) to perform." + ) + + def list_values(self, options, args): + self._get_n_args(args, "list", n=0) + + for key, value in sorted(self.configuration.items()): + logger.info("%s=%r", key, value) + + def get_name(self, options, args): + key = self._get_n_args(args, "get [name]", n=1) + value = self.configuration.get_value(key) + + logger.info("%s", value) + + def set_name_value(self, options, args): + key, value = self._get_n_args(args, "set [name] [value]", n=2) + self.configuration.set_value(key, value) + + self._save_configuration() + + def unset_name(self, options, args): + key = self._get_n_args(args, "unset [name]", n=1) + self.configuration.unset_value(key) + + self._save_configuration() + + def open_in_editor(self, options, args): + editor = self._determine_editor(options) + + fname = self.configuration.get_file_to_edit() + if fname is None: + raise PipError("Could not determine appropriate file.") + + try: + subprocess.check_call([editor, fname]) + except subprocess.CalledProcessError as e: + raise PipError( + "Editor Subprocess exited with exit code {}" + .format(e.returncode) + ) + + def _get_n_args(self, args, example, n): + """Helper to make sure the command got the right number of arguments + """ + if len(args) != n: + msg = ( + 'Got unexpected number of arguments, expected {}. ' + '(example: "{} config {}")' + ).format(n, get_prog(), example) + raise PipError(msg) + + if n == 1: + return args[0] + else: + return args + + def _save_configuration(self): + # We successfully ran a modifying command. Need to save the + # configuration. + try: + self.configuration.save() + except Exception: + logger.error( + "Unable to save configuration. Please report this as a bug.", + exc_info=1 + ) + raise PipError("Internal Error.") + + def _determine_editor(self, options): + if options.editor is not None: + return options.editor + elif "VISUAL" in os.environ: + return os.environ["VISUAL"] + elif "EDITOR" in os.environ: + return os.environ["EDITOR"] + else: + raise PipError("Could not determine editor to use.") diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/download.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/download.py new file mode 100644 index 0000000..a57e4bc --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/download.py @@ -0,0 +1,176 @@ +from __future__ import absolute_import + +import logging +import os + +from pip._internal.cli import cmdoptions +from pip._internal.cli.base_command import RequirementCommand +from pip._internal.operations.prepare import RequirementPreparer +from pip._internal.req import RequirementSet +from pip._internal.req.req_tracker import RequirementTracker +from pip._internal.resolve import Resolver +from pip._internal.utils.filesystem import check_path_owner +from pip._internal.utils.misc import ensure_dir, normalize_path +from pip._internal.utils.temp_dir import TempDirectory + +logger = logging.getLogger(__name__) + + +class DownloadCommand(RequirementCommand): + """ + Download packages from: + + - PyPI (and other indexes) using requirement specifiers. + - VCS project urls. + - Local project directories. + - Local or remote source archives. + + pip also supports downloading from "requirements files", which provide + an easy way to specify a whole environment to be downloaded. + """ + name = 'download' + + usage = """ + %prog [options] <requirement specifier> [package-index-options] ... + %prog [options] -r <requirements file> [package-index-options] ... + %prog [options] <vcs project url> ... + %prog [options] <local project path> ... + %prog [options] <archive url/path> ...""" + + 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.requirements()) + cmd_opts.add_option(cmdoptions.build_dir()) + cmd_opts.add_option(cmdoptions.no_deps()) + cmd_opts.add_option(cmdoptions.global_options()) + cmd_opts.add_option(cmdoptions.no_binary()) + cmd_opts.add_option(cmdoptions.only_binary()) + cmd_opts.add_option(cmdoptions.prefer_binary()) + cmd_opts.add_option(cmdoptions.src()) + cmd_opts.add_option(cmdoptions.pre()) + cmd_opts.add_option(cmdoptions.no_clean()) + cmd_opts.add_option(cmdoptions.require_hashes()) + cmd_opts.add_option(cmdoptions.progress_bar()) + cmd_opts.add_option(cmdoptions.no_build_isolation()) + cmd_opts.add_option(cmdoptions.use_pep517()) + cmd_opts.add_option(cmdoptions.no_use_pep517()) + + cmd_opts.add_option( + '-d', '--dest', '--destination-dir', '--destination-directory', + dest='download_dir', + metavar='dir', + default=os.curdir, + help=("Download packages into <dir>."), + ) + + cmd_opts.add_option(cmdoptions.platform()) + cmd_opts.add_option(cmdoptions.python_version()) + cmd_opts.add_option(cmdoptions.implementation()) + cmd_opts.add_option(cmdoptions.abi()) + + index_opts = cmdoptions.make_option_group( + cmdoptions.index_group, + self.parser, + ) + + self.parser.insert_option_group(0, index_opts) + self.parser.insert_option_group(0, cmd_opts) + + def run(self, options, args): + options.ignore_installed = True + # editable doesn't really make sense for `pip download`, but the bowels + # of the RequirementSet code require that property. + options.editables = [] + + if options.python_version: + python_versions = [options.python_version] + else: + python_versions = None + + cmdoptions.check_dist_restriction(options) + + options.src_dir = os.path.abspath(options.src_dir) + options.download_dir = normalize_path(options.download_dir) + + ensure_dir(options.download_dir) + + 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 RequirementTracker() as req_tracker, TempDirectory( + options.build_dir, delete=build_delete, kind="download" + ) as directory: + + requirement_set = RequirementSet( + require_hashes=options.require_hashes, + ) + self.populate_requirement_set( + requirement_set, + args, + options, + finder, + session, + self.name, + None + ) + + preparer = RequirementPreparer( + build_dir=directory.path, + src_dir=options.src_dir, + download_dir=options.download_dir, + wheel_download_dir=None, + progress_bar=options.progress_bar, + build_isolation=options.build_isolation, + req_tracker=req_tracker, + ) + + resolver = Resolver( + preparer=preparer, + finder=finder, + session=session, + wheel_cache=None, + use_user_site=False, + upgrade_strategy="to-satisfy-only", + force_reinstall=False, + ignore_dependencies=options.ignore_dependencies, + ignore_requires_python=False, + ignore_installed=True, + isolated=options.isolated_mode, + ) + resolver.resolve(requirement_set) + + 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/freeze.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/freeze.py new file mode 100644 index 0000000..dc9c53a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/freeze.py @@ -0,0 +1,96 @@ +from __future__ import absolute_import + +import sys + +from pip._internal.cache import WheelCache +from pip._internal.cli.base_command import Command +from pip._internal.models.format_control import FormatControl +from pip._internal.operations.freeze import freeze +from pip._internal.utils.compat import stdlib_pkgs + +DEV_PKGS = {'pip', 'setuptools', 'distribute', 'wheel'} + + +class FreezeCommand(Command): + """ + Output installed packages in requirements format. + + packages are listed in a case-insensitive sorted order. + """ + 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.cmd_opts.add_option( + '--exclude-editable', + dest='exclude_editable', + action='store_true', + help='Exclude editable package from output.') + + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + format_control = FormatControl(set(), set()) + wheel_cache = WheelCache(options.cache_dir, format_control) + skip = set(stdlib_pkgs) + if not options.freeze_all: + skip.update(DEV_PKGS) + + 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, + exclude_editable=options.exclude_editable, + ) + + try: + for line in freeze(**freeze_kwargs): + sys.stdout.write(line + '\n') + finally: + wheel_cache.cleanup() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/hash.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/hash.py new file mode 100644 index 0000000..423440e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/hash.py @@ -0,0 +1,57 @@ +from __future__ import absolute_import + +import hashlib +import logging +import sys + +from pip._internal.cli.base_command import Command +from pip._internal.cli.status_codes import ERROR +from pip._internal.utils.hashes import FAVORITE_HASH, STRONG_HASHES +from pip._internal.utils.misc import read_chunks + +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] <file> ...' + summary = 'Compute hashes of package archives.' + ignore_require_venv = True + + def __init__(self, *args, **kw): + super(HashCommand, self).__init__(*args, **kw) + self.cmd_opts.add_option( + '-a', '--algorithm', + dest='algorithm', + choices=STRONG_HASHES, + action='store', + default=FAVORITE_HASH, + help='The hash algorithm to use: one of %s' % + ', '.join(STRONG_HASHES)) + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + if not args: + self.parser.print_usage(sys.stderr) + return ERROR + + algorithm = options.algorithm + for path in args: + 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/help.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/help.py new file mode 100644 index 0000000..49a81cb --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/help.py @@ -0,0 +1,37 @@ +from __future__ import absolute_import + +from pip._internal.cli.base_command import Command +from pip._internal.cli.status_codes import SUCCESS +from pip._internal.exceptions import CommandError + + +class HelpCommand(Command): + """Show help for commands""" + name = 'help' + usage = """ + %prog <command>""" + summary = 'Show help for commands.' + ignore_require_venv = True + + def run(self, options, args): + from pip._internal.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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/install.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/install.py new file mode 100644 index 0000000..1c244d2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/install.py @@ -0,0 +1,566 @@ +from __future__ import absolute_import + +import errno +import logging +import operator +import os +import shutil +from optparse import SUPPRESS_HELP + +from pip._vendor import pkg_resources + +from pip._internal.cache import WheelCache +from pip._internal.cli import cmdoptions +from pip._internal.cli.base_command import RequirementCommand +from pip._internal.cli.status_codes import ERROR +from pip._internal.exceptions import ( + CommandError, InstallationError, PreviousBuildDirError, +) +from pip._internal.locations import distutils_scheme, virtualenv_no_global +from pip._internal.operations.check import check_install_conflicts +from pip._internal.operations.prepare import RequirementPreparer +from pip._internal.req import RequirementSet, install_given_reqs +from pip._internal.req.req_tracker import RequirementTracker +from pip._internal.resolve import Resolver +from pip._internal.utils.filesystem import check_path_owner +from pip._internal.utils.misc import ( + ensure_dir, get_installed_version, + protect_pip_from_modification_on_windows, +) +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.wheel import 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] <requirement specifier> [package-index-options] ... + %prog [options] -r <requirements file> [package-index-options] ... + %prog [options] [-e] <vcs project url> ... + %prog [options] [-e] <local project path> ... + %prog [options] <archive url/path> ...""" + + summary = 'Install packages.' + + def __init__(self, *args, **kw): + super(InstallCommand, self).__init__(*args, **kw) + + cmd_opts = self.cmd_opts + + cmd_opts.add_option(cmdoptions.requirements()) + cmd_opts.add_option(cmdoptions.constraints()) + cmd_opts.add_option(cmdoptions.no_deps()) + cmd_opts.add_option(cmdoptions.pre()) + + cmd_opts.add_option(cmdoptions.editable()) + cmd_opts.add_option( + '-t', '--target', + dest='target_dir', + metavar='dir', + default=None, + help='Install packages into <dir>. ' + 'By default this will not replace existing files/folders in ' + '<dir>. Use --upgrade to replace existing packages in <dir> ' + 'with new versions.' + ) + cmd_opts.add_option(cmdoptions.platform()) + cmd_opts.add_option(cmdoptions.python_version()) + cmd_opts.add_option(cmdoptions.implementation()) + cmd_opts.add_option(cmdoptions.abi()) + + cmd_opts.add_option( + '--user', + dest='use_user_site', + action='store_true', + help="Install to the Python user install directory for your " + "platform. Typically ~/.local/, or %APPDATA%\\Python on " + "Windows. (See the Python documentation for site.USER_BASE " + "for full details.)") + cmd_opts.add_option( + '--no-user', + dest='use_user_site', + action='store_false', + help=SUPPRESS_HELP) + cmd_opts.add_option( + '--root', + dest='root_path', + metavar='dir', + default=None, + help="Install everything relative to this alternate root " + "directory.") + cmd_opts.add_option( + '--prefix', + dest='prefix_path', + metavar='dir', + default=None, + help="Installation prefix where lib, bin and other top-level " + "folders are placed") + + cmd_opts.add_option(cmdoptions.build_dir()) + + cmd_opts.add_option(cmdoptions.src()) + + cmd_opts.add_option( + '-U', '--upgrade', + dest='upgrade', + action='store_true', + help='Upgrade all specified packages to the newest available ' + 'version. The handling of dependencies depends on the ' + 'upgrade-strategy used.' + ) + + cmd_opts.add_option( + '--upgrade-strategy', + dest='upgrade_strategy', + default='only-if-needed', + choices=['only-if-needed', 'eager'], + help='Determines how dependency upgrading should be handled ' + '[default: %default]. ' + '"eager" - dependencies are upgraded regardless of ' + 'whether the currently installed version satisfies the ' + 'requirements of the upgraded package(s). ' + '"only-if-needed" - are upgraded only when they do not ' + 'satisfy the requirements of the upgraded package(s).' + ) + + cmd_opts.add_option( + '--force-reinstall', + dest='force_reinstall', + action='store_true', + help='Reinstall all packages even if they are already ' + 'up-to-date.') + + cmd_opts.add_option( + '-I', '--ignore-installed', + dest='ignore_installed', + action='store_true', + help='Ignore the installed packages (reinstalling instead).') + + cmd_opts.add_option(cmdoptions.ignore_requires_python()) + cmd_opts.add_option(cmdoptions.no_build_isolation()) + cmd_opts.add_option(cmdoptions.use_pep517()) + cmd_opts.add_option(cmdoptions.no_use_pep517()) + + cmd_opts.add_option(cmdoptions.install_options()) + cmd_opts.add_option(cmdoptions.global_options()) + + cmd_opts.add_option( + "--compile", + action="store_true", + dest="compile", + default=True, + help="Compile Python source files to bytecode", + ) + + cmd_opts.add_option( + "--no-compile", + action="store_false", + dest="compile", + help="Do not compile Python source files to bytecode", + ) + + cmd_opts.add_option( + "--no-warn-script-location", + action="store_false", + dest="warn_script_location", + default=True, + help="Do not warn when installing scripts outside PATH", + ) + cmd_opts.add_option( + "--no-warn-conflicts", + action="store_false", + dest="warn_about_conflicts", + default=True, + help="Do not warn about broken dependencies", + ) + + cmd_opts.add_option(cmdoptions.no_binary()) + cmd_opts.add_option(cmdoptions.only_binary()) + cmd_opts.add_option(cmdoptions.prefer_binary()) + cmd_opts.add_option(cmdoptions.no_clean()) + cmd_opts.add_option(cmdoptions.require_hashes()) + cmd_opts.add_option(cmdoptions.progress_bar()) + + index_opts = cmdoptions.make_option_group( + cmdoptions.index_group, + self.parser, + ) + + self.parser.insert_option_group(0, index_opts) + self.parser.insert_option_group(0, cmd_opts) + + def run(self, options, args): + cmdoptions.check_install_build_global(options) + upgrade_strategy = "to-satisfy-only" + if options.upgrade: + upgrade_strategy = options.upgrade_strategy + + if options.build_dir: + options.build_dir = os.path.abspath(options.build_dir) + + cmdoptions.check_dist_restriction(options, check_target=True) + + if options.python_version: + python_versions = [options.python_version] + else: + python_versions = None + + options.src_dir = os.path.abspath(options.src_dir) + install_options = options.install_options or [] + if options.use_user_site: + if options.prefix_path: + raise CommandError( + "Can not combine '--user' and '--prefix' as they imply " + "different installation locations" + ) + if virtualenv_no_global(): + raise InstallationError( + "Can not perform a '--user' install. User site-packages " + "are not visible in this virtualenv." + ) + install_options.append('--user') + install_options.append('--prefix=') + + target_temp_dir = TempDirectory(kind="target") + if options.target_dir: + options.ignore_installed = True + options.target_dir = os.path.abspath(options.target_dir) + if (os.path.exists(options.target_dir) and not + os.path.isdir(options.target_dir)): + raise CommandError( + "Target path exists but is not a directory, will not " + "continue." + ) + + # Create a target directory for using with the target option + target_temp_dir.create() + install_options.append('--home=' + target_temp_dir.path) + + global_options = options.global_options or [] + + 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)) + wheel_cache = WheelCache(options.cache_dir, options.format_control) + + if options.cache_dir and not check_path_owner(options.cache_dir): + logger.warning( + "The directory '%s' or its parent directory is not owned " + "by the current user and caching wheels has been " + "disabled. check the permissions and owner of that " + "directory. If executing pip with sudo, you may want " + "sudo's -H flag.", + options.cache_dir, + ) + options.cache_dir = None + + with RequirementTracker() as req_tracker, TempDirectory( + options.build_dir, delete=build_delete, kind="install" + ) as directory: + requirement_set = RequirementSet( + require_hashes=options.require_hashes, + check_supported_wheels=not options.target_dir, + ) + + try: + self.populate_requirement_set( + requirement_set, args, options, finder, session, + self.name, wheel_cache + ) + preparer = RequirementPreparer( + build_dir=directory.path, + src_dir=options.src_dir, + download_dir=None, + wheel_download_dir=None, + progress_bar=options.progress_bar, + build_isolation=options.build_isolation, + req_tracker=req_tracker, + ) + + resolver = Resolver( + preparer=preparer, + finder=finder, + session=session, + wheel_cache=wheel_cache, + use_user_site=options.use_user_site, + upgrade_strategy=upgrade_strategy, + force_reinstall=options.force_reinstall, + ignore_dependencies=options.ignore_dependencies, + ignore_requires_python=options.ignore_requires_python, + ignore_installed=options.ignore_installed, + isolated=options.isolated_mode, + use_pep517=options.use_pep517 + ) + resolver.resolve(requirement_set) + + protect_pip_from_modification_on_windows( + modifying_pip=requirement_set.has_requirement("pip") + ) + + # Consider legacy and PEP517-using requirements separately + legacy_requirements = [] + pep517_requirements = [] + for req in requirement_set.requirements.values(): + if req.use_pep517: + pep517_requirements.append(req) + else: + legacy_requirements.append(req) + + # We don't build wheels for legacy requirements if we + # don't have wheel installed or we don't have a cache dir + try: + import wheel # noqa: F401 + build_legacy = bool(options.cache_dir) + except ImportError: + build_legacy = False + + wb = WheelBuilder( + finder, preparer, wheel_cache, + build_options=[], global_options=[], + ) + + # Always build PEP 517 requirements + build_failures = wb.build( + pep517_requirements, + session=session, autobuilding=True + ) + + if build_legacy: + # We don't care about failures building legacy + # requirements, as we'll fall through to a direct + # install for those. + wb.build( + legacy_requirements, + session=session, autobuilding=True + ) + + # If we're using PEP 517, we cannot do a direct install + # so we fail here. + if build_failures: + raise InstallationError( + "Could not build wheels for {} which use" + " PEP 517 and cannot be installed directly".format( + ", ".join(r.name for r in build_failures))) + + to_install = resolver.get_installation_order( + requirement_set + ) + + # Consistency Checking of the package set we're installing. + should_warn_about_conflicts = ( + not options.ignore_dependencies and + options.warn_about_conflicts + ) + if should_warn_about_conflicts: + self._warn_about_conflicts(to_install) + + # Don't warn about script install locations if + # --target has been specified + warn_script_location = options.warn_script_location + if options.target_dir: + warn_script_location = False + + installed = install_given_reqs( + to_install, + install_options, + global_options, + root=options.root_path, + home=target_temp_dir.path, + prefix=options.prefix_path, + pycompile=options.compile, + warn_script_location=warn_script_location, + use_user_site=options.use_user_site, + ) + + lib_locations = get_lib_location_guesses( + user=options.use_user_site, + home=target_temp_dir.path, + root=options.root_path, + prefix=options.prefix_path, + isolated=options.isolated_mode, + ) + working_set = pkg_resources.WorkingSet(lib_locations) + + reqs = sorted(installed, key=operator.attrgetter('name')) + items = [] + for req in reqs: + item = req.name + try: + installed_version = get_installed_version( + req.name, working_set=working_set + ) + if installed_version: + item += '-' + installed_version + except Exception: + pass + items.append(item) + installed = ' '.join(items) + if installed: + logger.info('Successfully installed %s', installed) + except EnvironmentError as error: + show_traceback = (self.verbosity >= 1) + + message = create_env_error_message( + error, show_traceback, options.use_user_site, + ) + logger.error(message, exc_info=show_traceback) + + return ERROR + except PreviousBuildDirError: + options.no_clean = True + raise + finally: + # Clean up + if not options.no_clean: + requirement_set.cleanup_files() + wheel_cache.cleanup() + + if options.target_dir: + self._handle_target_dir( + options.target_dir, target_temp_dir, options.upgrade + ) + return requirement_set + + def _handle_target_dir(self, target_dir, target_temp_dir, upgrade): + ensure_dir(target_dir) + + # Checking both purelib and platlib directories for installed + # packages to be moved to target directory + lib_dir_list = [] + + with target_temp_dir: + # Checking both purelib and platlib directories for installed + # packages to be moved to target directory + scheme = distutils_scheme('', home=target_temp_dir.path) + purelib_dir = scheme['purelib'] + platlib_dir = scheme['platlib'] + data_dir = scheme['data'] + + if os.path.exists(purelib_dir): + lib_dir_list.append(purelib_dir) + if os.path.exists(platlib_dir) and platlib_dir != purelib_dir: + lib_dir_list.append(platlib_dir) + if os.path.exists(data_dir): + lib_dir_list.append(data_dir) + + for lib_dir in lib_dir_list: + for item in os.listdir(lib_dir): + if lib_dir == data_dir: + ddir = os.path.join(data_dir, item) + if any(s.startswith(ddir) for s in lib_dir_list[:-1]): + continue + target_item_dir = os.path.join(target_dir, item) + if os.path.exists(target_item_dir): + if not upgrade: + logger.warning( + 'Target directory %s already exists. Specify ' + '--upgrade to force replacement.', + target_item_dir + ) + continue + if os.path.islink(target_item_dir): + logger.warning( + 'Target directory %s already exists and is ' + 'a link. Pip will not automatically replace ' + 'links, please remove if replacement is ' + 'desired.', + target_item_dir + ) + continue + if os.path.isdir(target_item_dir): + shutil.rmtree(target_item_dir) + else: + os.remove(target_item_dir) + + shutil.move( + os.path.join(lib_dir, item), + target_item_dir + ) + + def _warn_about_conflicts(self, to_install): + try: + package_set, _dep_info = check_install_conflicts(to_install) + except Exception: + logger.error("Error checking for conflicts.", exc_info=True) + return + missing, conflicting = _dep_info + + # NOTE: There is some duplication here from pip check + for project_name in missing: + version = package_set[project_name][0] + for dependency in missing[project_name]: + logger.critical( + "%s %s requires %s, which is not installed.", + project_name, version, dependency[1], + ) + + for project_name in conflicting: + version = package_set[project_name][0] + for dep_name, dep_version, req in conflicting[project_name]: + logger.critical( + "%s %s has requirement %s, but you'll have %s %s which is " + "incompatible.", + project_name, version, req, dep_name, dep_version, + ) + + +def get_lib_location_guesses(*args, **kwargs): + scheme = distutils_scheme('', *args, **kwargs) + return [scheme['purelib'], scheme['platlib']] + + +def create_env_error_message(error, show_traceback, using_user_site): + """Format an error message for an EnvironmentError + + It may occur anytime during the execution of the install command. + """ + parts = [] + + # Mention the error if we are not going to show a traceback + parts.append("Could not install packages due to an EnvironmentError") + if not show_traceback: + parts.append(": ") + parts.append(str(error)) + else: + parts.append(".") + + # Spilt the error indication from a helper message (if any) + parts[-1] += "\n" + + # Suggest useful actions to the user: + # (1) using user site-packages or (2) verifying the permissions + if error.errno == errno.EACCES: + user_option_part = "Consider using the `--user` option" + permissions_part = "Check the permissions" + + if not using_user_site: + parts.extend([ + user_option_part, " or ", + permissions_part.lower(), + ]) + else: + parts.append(permissions_part) + parts.append(".\n") + + return "".join(parts).strip() + "\n" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/list.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/list.py new file mode 100644 index 0000000..a640274 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/list.py @@ -0,0 +1,301 @@ +from __future__ import absolute_import + +import json +import logging + +from pip._vendor import six +from pip._vendor.six.moves import zip_longest + +from pip._internal.cli import cmdoptions +from pip._internal.cli.base_command import Command +from pip._internal.exceptions import CommandError +from pip._internal.index import PackageFinder +from pip._internal.utils.misc import ( + dist_is_editable, get_installed_distributions, +) +from pip._internal.utils.packaging import get_installer + +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', + default="columns", + choices=('columns', 'freeze', 'json'), + help="Select the output format among: columns (default), freeze, " + "or json", + ) + + cmd_opts.add_option( + '--not-required', + action='store_true', + dest='not_required', + help="List packages that are not dependencies of " + "installed packages.", + ) + + cmd_opts.add_option( + '--exclude-editable', + action='store_false', + dest='include_editable', + help='Exclude editable package from output.', + ) + cmd_opts.add_option( + '--include-editable', + action='store_true', + dest='include_editable', + help='Include editable package from output.', + default=True, + ) + index_opts = cmdoptions.make_option_group( + cmdoptions.index_group, self.parser + ) + + self.parser.insert_option_group(0, index_opts) + self.parser.insert_option_group(0, cmd_opts) + + def _build_package_finder(self, options, 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, + session=session, + ) + + def run(self, options, args): + 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, + include_editables=options.include_editable, + ) + + # get_not_required must be called firstly in order to find and + # filter out all dependencies correctly. Otherwise a package + # can't be identified as requirement because some parent packages + # could be filtered out before. + if options.not_required: + packages = self.get_not_required(packages, options) + + if options.outdated: + packages = self.get_outdated(packages, options) + elif options.uptodate: + packages = self.get_uptodate(packages, options) + + self.output_package_listing(packages, options) + + def get_outdated(self, packages, options): + return [ + dist for dist in self.iter_packages_latest_infos(packages, options) + if dist.latest_version > dist.parsed_version + ] + + def get_uptodate(self, packages, options): + return [ + dist for dist in self.iter_packages_latest_infos(packages, options) + if dist.latest_version == dist.parsed_version + ] + + def get_not_required(self, packages, options): + dep_keys = set() + for dist in packages: + dep_keys.update(requirement.key for requirement in dist.requires()) + return {pkg for pkg in packages if pkg.key not in dep_keys} + + def iter_packages_latest_infos(self, packages, options): + index_urls = [options.index_url] + options.extra_index_urls + if options.no_index: + logger.debug('Ignoring indexes: %s', ','.join(index_urls)) + index_urls = [] + + with self._build_session(options) as session: + finder = self._build_package_finder(options, index_urls, session) + + for dist in packages: + typ = 'unknown' + all_candidates = finder.find_all_candidates(dist.key) + if not options.pre: + # Remove prereleases + all_candidates = [candidate for candidate in all_candidates + if not candidate.version.is_prerelease] + + 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_package_listing(self, packages, options): + packages = sorted( + packages, + key=lambda dist: dist.project_name.lower(), + ) + if options.list_format == 'columns' and packages: + data, header = format_for_columns(packages, options) + self.output_package_listing_columns(data, header) + elif options.list_format == 'freeze': + for dist in packages: + if options.verbose >= 1: + logger.info("%s==%s (%s)", dist.project_name, + dist.version, dist.location) + else: + logger.info("%s==%s", dist.project_name, dist.version) + elif options.list_format == 'json': + logger.info(format_for_json(packages, options)) + + def output_package_listing_columns(self, data, header): + # insert the header first: we need to know the size of column names + if len(data) > 0: + data.insert(0, header) + + pkg_strings, sizes = tabulate(data) + + # Create and add a separator. + if len(data) > 0: + pkg_strings.insert(1, " ".join(map(lambda x: '-' * x, sizes))) + + for val in pkg_strings: + 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 options.verbose >= 1 or any(dist_is_editable(x) for x in pkgs): + header.append("Location") + if options.verbose >= 1: + header.append("Installer") + + for proj in pkgs: + # if we're working on the 'outdated' list, separate out the + # latest_version and type + row = [proj.project_name, proj.version] + + if running_outdated: + row.append(proj.latest_version) + row.append(proj.latest_filetype) + + if options.verbose >= 1 or dist_is_editable(proj): + row.append(proj.location) + if options.verbose >= 1: + row.append(get_installer(proj)) + + data.append(row) + + return data, header + + +def format_for_json(packages, options): + data = [] + for dist in packages: + info = { + 'name': dist.project_name, + 'version': six.text_type(dist.version), + } + if options.verbose >= 1: + info['location'] = dist.location + info['installer'] = get_installer(dist) + if options.outdated: + info['latest_version'] = six.text_type(dist.latest_version) + info['latest_filetype'] = dist.latest_filetype + data.append(info) + return json.dumps(data) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/search.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/search.py new file mode 100644 index 0000000..c157a31 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/search.py @@ -0,0 +1,135 @@ +from __future__ import absolute_import + +import logging +import sys +import textwrap +from collections import OrderedDict + +from pip._vendor import pkg_resources +from pip._vendor.packaging.version import parse as parse_version +# NOTE: XMLRPC Client is not annotated in typeshed as on 2017-07-17, which is +# why we ignore the type on this import +from pip._vendor.six.moves import xmlrpc_client # type: ignore + +from pip._internal.cli.base_command import Command +from pip._internal.cli.status_codes import NO_MATCHES_FOUND, SUCCESS +from pip._internal.download import PipXmlrpcTransport +from pip._internal.exceptions import CommandError +from pip._internal.models.index import PyPI +from pip._internal.utils.compat import get_terminal_size +from pip._internal.utils.logging import indent_log + +logger = logging.getLogger(__name__) + + +class SearchCommand(Command): + """Search for PyPI packages whose name or summary contains <query>.""" + name = 'search' + usage = """ + %prog [options] <query>""" + summary = 'Search PyPI for packages.' + ignore_require_venv = True + + def __init__(self, *args, **kw): + super(SearchCommand, self).__init__(*args, **kw) + self.cmd_opts.add_option( + '-i', '--index', + dest='index', + metavar='URL', + default=PyPI.pypi_url, + help='Base URL of Python Package Index (default %default)') + + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + if not args: + raise CommandError('Missing required argument (search query).') + query = args + pypi_hits = self.search(query, options) + hits = transform_hits(pypi_hits) + + terminal_width = None + if sys.stdout.isatty(): + terminal_width = get_terminal_size()[0] + + print_results(hits, terminal_width=terminal_width) + if pypi_hits: + return SUCCESS + return NO_MATCHES_FOUND + + def search(self, query, options): + index_url = options.index + 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(highest_version(hit.get('versions', ['-']))) + for hit in hits + ]) + 4 + + installed_packages = [p.project_name for p in pkg_resources.working_set] + for hit in hits: + name = hit['name'] + summary = hit['summary'] or '' + latest = highest_version(hit.get('versions', ['-'])) + if terminal_width is not None: + target_width = terminal_width - name_column_width - 5 + if target_width > 10: + # wrap and indent summary to fit terminal + summary = textwrap.wrap(summary, target_width) + summary = ('\n' + ' ' * (name_column_width + 3)).join(summary) + + line = '%-*s - %s' % (name_column_width, + '%s (%s)' % (name, latest), summary) + try: + logger.info(line) + if name in installed_packages: + dist = pkg_resources.get_distribution(name) + with indent_log(): + 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/show.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/show.py new file mode 100644 index 0000000..f92c9bc --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/show.py @@ -0,0 +1,168 @@ +from __future__ import absolute_import + +import logging +import os +from email.parser import FeedParser # type: ignore + +from pip._vendor import pkg_resources +from pip._vendor.packaging.utils import canonicalize_name + +from pip._internal.cli.base_command import Command +from pip._internal.cli.status_codes import ERROR, SUCCESS + +logger = logging.getLogger(__name__) + + +class ShowCommand(Command): + """ + Show information about one or more installed packages. + + The output is in RFC-compliant mail header format. + """ + name = 'show' + usage = """ + %prog [options] <package> ...""" + summary = 'Show information about installed packages.' + ignore_require_venv = True + + def __init__(self, *args, **kw): + super(ShowCommand, self).__init__(*args, **kw) + self.cmd_opts.add_option( + '-f', '--files', + dest='files', + action='store_true', + default=False, + help='Show the full list of installed files for each package.') + + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + if not args: + logger.warning('ERROR: Please provide a package name or names.') + return ERROR + query = args + + results = search_packages_info(query) + if not print_results( + results, list_files=options.files, verbose=options.verbose): + return ERROR + return SUCCESS + + +def search_packages_info(query): + """ + Gather details from installed distributions. Print distribution name, + version, location, and installed files. Installed files requires a + pip generated 'installed-files.txt' in the distributions '.egg-info' + directory. + """ + installed = {} + for p in pkg_resources.working_set: + installed[canonicalize_name(p.project_name)] = p + + query_names = [canonicalize_name(name) for name in query] + + 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("---") + + name = dist.get('name', '') + required_by = [ + pkg.project_name for pkg in pkg_resources.working_set + if name in [required.name for required in pkg.requires()] + ] + + logger.info("Name: %s", 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', []))) + logger.info("Required-by: %s", ', '.join(required_by)) + + 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/uninstall.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/uninstall.py new file mode 100644 index 0000000..0cd6f54 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/uninstall.py @@ -0,0 +1,78 @@ +from __future__ import absolute_import + +from pip._vendor.packaging.utils import canonicalize_name + +from pip._internal.cli.base_command import Command +from pip._internal.exceptions import InstallationError +from pip._internal.req import parse_requirements +from pip._internal.req.constructors import install_req_from_line +from pip._internal.utils.misc import protect_pip_from_modification_on_windows + + +class UninstallCommand(Command): + """ + 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] <package> ... + %prog [options] -r <requirements file> ...""" + 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: + reqs_to_uninstall = {} + for name in args: + req = install_req_from_line( + name, isolated=options.isolated_mode, + ) + if req.name: + reqs_to_uninstall[canonicalize_name(req.name)] = req + for filename in options.requirements: + for req in parse_requirements( + filename, + options=options, + session=session): + if req.name: + reqs_to_uninstall[canonicalize_name(req.name)] = req + if not reqs_to_uninstall: + raise InstallationError( + 'You must give at least one requirement to %(name)s (see ' + '"pip help %(name)s")' % dict(name=self.name) + ) + + protect_pip_from_modification_on_windows( + modifying_pip="pip" in reqs_to_uninstall + ) + + for req in reqs_to_uninstall.values(): + uninstall_pathset = req.uninstall( + auto_confirm=options.yes, verbose=self.verbosity > 0, + ) + if uninstall_pathset: + uninstall_pathset.commit() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/wheel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/wheel.py new file mode 100644 index 0000000..cd72a3d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/wheel.py @@ -0,0 +1,186 @@ +# -*- coding: utf-8 -*- +from __future__ import absolute_import + +import logging +import os + +from pip._internal.cache import WheelCache +from pip._internal.cli import cmdoptions +from pip._internal.cli.base_command import RequirementCommand +from pip._internal.exceptions import CommandError, PreviousBuildDirError +from pip._internal.operations.prepare import RequirementPreparer +from pip._internal.req import RequirementSet +from pip._internal.req.req_tracker import RequirementTracker +from pip._internal.resolve import Resolver +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.wheel import WheelBuilder + +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] <requirement specifier> ... + %prog [options] -r <requirements file> ... + %prog [options] [-e] <vcs project url> ... + %prog [options] [-e] <local project path> ... + %prog [options] <archive url/path> ...""" + + 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 <dir>, where the default is the " + "current working directory."), + ) + cmd_opts.add_option(cmdoptions.no_binary()) + cmd_opts.add_option(cmdoptions.only_binary()) + cmd_opts.add_option(cmdoptions.prefer_binary()) + cmd_opts.add_option( + '--build-option', + dest='build_options', + metavar='options', + action='append', + help="Extra arguments to be supplied to 'setup.py bdist_wheel'.", + ) + cmd_opts.add_option(cmdoptions.no_build_isolation()) + cmd_opts.add_option(cmdoptions.use_pep517()) + cmd_opts.add_option(cmdoptions.no_use_pep517()) + cmd_opts.add_option(cmdoptions.constraints()) + cmd_opts.add_option(cmdoptions.editable()) + cmd_opts.add_option(cmdoptions.requirements()) + cmd_opts.add_option(cmdoptions.src()) + cmd_opts.add_option(cmdoptions.ignore_requires_python()) + cmd_opts.add_option(cmdoptions.no_deps()) + cmd_opts.add_option(cmdoptions.build_dir()) + cmd_opts.add_option(cmdoptions.progress_bar()) + + cmd_opts.add_option( + '--global-option', + dest='global_options', + action='append', + metavar='options', + help="Extra global options to be supplied to the setup.py " + "call before the 'bdist_wheel' command.") + + cmd_opts.add_option( + '--pre', + action='store_true', + default=False, + help=("Include pre-release and development versions. By default, " + "pip only finds stable versions."), + ) + + cmd_opts.add_option(cmdoptions.no_clean()) + cmd_opts.add_option(cmdoptions.require_hashes()) + + index_opts = cmdoptions.make_option_group( + cmdoptions.index_group, + self.parser, + ) + + self.parser.insert_option_group(0, index_opts) + self.parser.insert_option_group(0, cmd_opts) + + def run(self, options, args): + cmdoptions.check_install_build_global(options) + + 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 RequirementTracker() as req_tracker, TempDirectory( + options.build_dir, delete=build_delete, kind="wheel" + ) as directory: + + requirement_set = RequirementSet( + require_hashes=options.require_hashes, + ) + + try: + self.populate_requirement_set( + requirement_set, args, options, finder, session, + self.name, wheel_cache + ) + + preparer = RequirementPreparer( + build_dir=directory.path, + src_dir=options.src_dir, + download_dir=None, + wheel_download_dir=options.wheel_dir, + progress_bar=options.progress_bar, + build_isolation=options.build_isolation, + req_tracker=req_tracker, + ) + + resolver = Resolver( + preparer=preparer, + finder=finder, + session=session, + wheel_cache=wheel_cache, + use_user_site=False, + upgrade_strategy="to-satisfy-only", + force_reinstall=False, + ignore_dependencies=options.ignore_dependencies, + ignore_requires_python=options.ignore_requires_python, + ignore_installed=True, + isolated=options.isolated_mode, + use_pep517=options.use_pep517 + ) + resolver.resolve(requirement_set) + + # build wheels + wb = WheelBuilder( + finder, preparer, wheel_cache, + build_options=options.build_options or [], + global_options=options.global_options or [], + no_clean=options.no_clean, + ) + build_failures = wb.build( + requirement_set.requirements.values(), session=session, + ) + if len(build_failures) != 0: + raise CommandError( + "Failed to build one or more wheels" + ) + except PreviousBuildDirError: + options.no_clean = True + raise + finally: + if not options.no_clean: + requirement_set.cleanup_files() + wheel_cache.cleanup() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/configuration.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/configuration.py new file mode 100644 index 0000000..fe6df9b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/configuration.py @@ -0,0 +1,387 @@ +"""Configuration management setup + +Some terminology: +- name + As written in config files. +- value + Value associated with a name +- key + Name combined with it's section (section.name) +- variant + A single word describing where the configuration key-value pair came from +""" + +import locale +import logging +import os + +from pip._vendor import six +from pip._vendor.six.moves import configparser + +from pip._internal.exceptions import ( + ConfigurationError, ConfigurationFileCouldNotBeLoaded, +) +from pip._internal.locations import ( + legacy_config_file, new_config_file, running_under_virtualenv, + site_config_files, venv_config_file, +) +from pip._internal.utils.misc import ensure_dir, enum +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Any, Dict, Iterable, List, NewType, Optional, Tuple + ) + + RawConfigParser = configparser.RawConfigParser # Shorthand + Kind = NewType("Kind", str) + +logger = logging.getLogger(__name__) + + +# NOTE: Maybe use the optionx attribute to normalize keynames. +def _normalize_name(name): + # type: (str) -> str + """Make a name consistent regardless of source (environment or file) + """ + name = name.lower().replace('_', '-') + if name.startswith('--'): + name = name[2:] # only prefer long opts + return name + + +def _disassemble_key(name): + # type: (str) -> List[str] + return name.split(".", 1) + + +# The kinds of configurations there are. +kinds = enum( + USER="user", # User Specific + GLOBAL="global", # System Wide + VENV="venv", # Virtual Environment Specific + ENV="env", # from PIP_CONFIG_FILE + ENV_VAR="env-var", # from Environment Variables +) + + +class Configuration(object): + """Handles management of configuration. + + Provides an interface to accessing and managing configuration files. + + This class converts provides an API that takes "section.key-name" style + keys and stores the value associated with it as "key-name" under the + section "section". + + This allows for a clean interface wherein the both the section and the + key-name are preserved in an easy to manage form in the configuration files + and the data stored is also nice. + """ + + def __init__(self, isolated, load_only=None): + # type: (bool, Kind) -> None + super(Configuration, self).__init__() + + _valid_load_only = [kinds.USER, kinds.GLOBAL, kinds.VENV, None] + if load_only not in _valid_load_only: + raise ConfigurationError( + "Got invalid value for load_only - should be one of {}".format( + ", ".join(map(repr, _valid_load_only[:-1])) + ) + ) + self.isolated = isolated # type: bool + self.load_only = load_only # type: Optional[Kind] + + # The order here determines the override order. + self._override_order = [ + kinds.GLOBAL, kinds.USER, kinds.VENV, kinds.ENV, kinds.ENV_VAR + ] + + self._ignore_env_names = ["version", "help"] + + # Because we keep track of where we got the data from + self._parsers = { + variant: [] for variant in self._override_order + } # type: Dict[Kind, List[Tuple[str, RawConfigParser]]] + self._config = { + variant: {} for variant in self._override_order + } # type: Dict[Kind, Dict[str, Any]] + self._modified_parsers = [] # type: List[Tuple[str, RawConfigParser]] + + def load(self): + # type: () -> None + """Loads configuration from configuration files and environment + """ + self._load_config_files() + if not self.isolated: + self._load_environment_vars() + + def get_file_to_edit(self): + # type: () -> Optional[str] + """Returns the file with highest priority in configuration + """ + assert self.load_only is not None, \ + "Need to be specified a file to be editing" + + try: + return self._get_parser_to_modify()[0] + except IndexError: + return None + + def items(self): + # type: () -> Iterable[Tuple[str, Any]] + """Returns key-value pairs like dict.items() representing the loaded + configuration + """ + return self._dictionary.items() + + def get_value(self, key): + # type: (str) -> Any + """Get a value from the configuration. + """ + try: + return self._dictionary[key] + except KeyError: + raise ConfigurationError("No such key - {}".format(key)) + + def set_value(self, key, value): + # type: (str, Any) -> None + """Modify a value in the configuration. + """ + self._ensure_have_load_only() + + fname, parser = self._get_parser_to_modify() + + if parser is not None: + section, name = _disassemble_key(key) + + # Modify the parser and the configuration + if not parser.has_section(section): + parser.add_section(section) + parser.set(section, name, value) + + self._config[self.load_only][key] = value + self._mark_as_modified(fname, parser) + + def unset_value(self, key): + # type: (str) -> None + """Unset a value in the configuration. + """ + self._ensure_have_load_only() + + if key not in self._config[self.load_only]: + raise ConfigurationError("No such key - {}".format(key)) + + fname, parser = self._get_parser_to_modify() + + if parser is not None: + section, name = _disassemble_key(key) + + # Remove the key in the parser + modified_something = False + if parser.has_section(section): + # Returns whether the option was removed or not + modified_something = parser.remove_option(section, name) + + if modified_something: + # name removed from parser, section may now be empty + section_iter = iter(parser.items(section)) + try: + val = six.next(section_iter) + except StopIteration: + val = None + + if val is None: + parser.remove_section(section) + + self._mark_as_modified(fname, parser) + else: + raise ConfigurationError( + "Fatal Internal error [id=1]. Please report as a bug." + ) + + del self._config[self.load_only][key] + + def save(self): + # type: () -> None + """Save the currentin-memory state. + """ + self._ensure_have_load_only() + + for fname, parser in self._modified_parsers: + logger.info("Writing to %s", fname) + + # Ensure directory exists. + ensure_dir(os.path.dirname(fname)) + + with open(fname, "w") as f: + parser.write(f) # type: ignore + + # + # Private routines + # + + def _ensure_have_load_only(self): + # type: () -> None + if self.load_only is None: + raise ConfigurationError("Needed a specific file to be modifying.") + logger.debug("Will be working with %s variant only", self.load_only) + + @property + def _dictionary(self): + # type: () -> Dict[str, Any] + """A dictionary representing the loaded configuration. + """ + # NOTE: Dictionaries are not populated if not loaded. So, conditionals + # are not needed here. + retval = {} + + for variant in self._override_order: + retval.update(self._config[variant]) + + return retval + + def _load_config_files(self): + # type: () -> None + """Loads configuration from configuration files + """ + config_files = dict(self._iter_config_files()) + if config_files[kinds.ENV][0:1] == [os.devnull]: + logger.debug( + "Skipping loading configuration files due to " + "environment's PIP_CONFIG_FILE being os.devnull" + ) + return + + for variant, files in config_files.items(): + for fname in files: + # If there's specific variant set in `load_only`, load only + # that variant, not the others. + if self.load_only is not None and variant != self.load_only: + logger.debug( + "Skipping file '%s' (variant: %s)", fname, variant + ) + continue + + parser = self._load_file(variant, fname) + + # Keeping track of the parsers used + self._parsers[variant].append((fname, parser)) + + def _load_file(self, variant, fname): + # type: (Kind, str) -> RawConfigParser + logger.debug("For variant '%s', will try loading '%s'", variant, fname) + parser = self._construct_parser(fname) + + for section in parser.sections(): + items = parser.items(section) + self._config[variant].update(self._normalized_keys(section, items)) + + return parser + + def _construct_parser(self, fname): + # type: (str) -> RawConfigParser + parser = configparser.RawConfigParser() + # If there is no such file, don't bother reading it but create the + # parser anyway, to hold the data. + # Doing this is useful when modifying and saving files, where we don't + # need to construct a parser. + if os.path.exists(fname): + try: + parser.read(fname) + except UnicodeDecodeError: + # See https://github.com/pypa/pip/issues/4963 + raise ConfigurationFileCouldNotBeLoaded( + reason="contains invalid {} characters".format( + locale.getpreferredencoding(False) + ), + fname=fname, + ) + except configparser.Error as error: + # See https://github.com/pypa/pip/issues/4893 + raise ConfigurationFileCouldNotBeLoaded(error=error) + return parser + + def _load_environment_vars(self): + # type: () -> None + """Loads configuration from environment variables + """ + self._config[kinds.ENV_VAR].update( + self._normalized_keys(":env:", self._get_environ_vars()) + ) + + def _normalized_keys(self, section, items): + # type: (str, Iterable[Tuple[str, Any]]) -> Dict[str, Any] + """Normalizes items to construct a dictionary with normalized keys. + + This routine is where the names become keys and are made the same + regardless of source - configuration files or environment. + """ + normalized = {} + for name, val in items: + key = section + "." + _normalize_name(name) + normalized[key] = val + return normalized + + def _get_environ_vars(self): + # type: () -> Iterable[Tuple[str, str]] + """Returns a generator with all environmental vars with prefix PIP_""" + for key, val in os.environ.items(): + should_be_yielded = ( + key.startswith("PIP_") and + key[4:].lower() not in self._ignore_env_names + ) + if should_be_yielded: + yield key[4:].lower(), val + + # XXX: This is patched in the tests. + def _iter_config_files(self): + # type: () -> Iterable[Tuple[Kind, List[str]]] + """Yields variant and configuration files associated with it. + + This should be treated like items of a dictionary. + """ + # SMELL: Move the conditions out of this function + + # environment variables have the lowest priority + config_file = os.environ.get('PIP_CONFIG_FILE', None) + if config_file is not None: + yield kinds.ENV, [config_file] + else: + yield kinds.ENV, [] + + # at the base we have any global configuration + yield kinds.GLOBAL, list(site_config_files) + + # per-user configuration next + should_load_user_config = not self.isolated and not ( + config_file and os.path.exists(config_file) + ) + if should_load_user_config: + # The legacy config file is overridden by the new config file + yield kinds.USER, [legacy_config_file, new_config_file] + + # finally virtualenv configuration first trumping others + if running_under_virtualenv(): + yield kinds.VENV, [venv_config_file] + + def _get_parser_to_modify(self): + # type: () -> Tuple[str, RawConfigParser] + # Determine which parser to modify + parsers = self._parsers[self.load_only] + if not parsers: + # This should not happen if everything works correctly. + raise ConfigurationError( + "Fatal Internal error [id=2]. Please report as a bug." + ) + + # Use the highest priority parser. + return parsers[-1] + + # XXX: This is patched in the tests. + def _mark_as_modified(self, fname, parser): + # type: (str, RawConfigParser) -> None + file_parser_tuple = (fname, parser) + if file_parser_tuple not in self._modified_parsers: + self._modified_parsers.append(file_parser_tuple) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/download.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/download.py new file mode 100644 index 0000000..2bbe176 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/download.py @@ -0,0 +1,971 @@ +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 + +from pip._vendor import requests, six, urllib3 +from pip._vendor.cachecontrol import CacheControlAdapter +from pip._vendor.cachecontrol.caches import FileCache +from pip._vendor.lockfile import LockError +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.structures import CaseInsensitiveDict +from pip._vendor.requests.utils import get_netrc_auth +# NOTE: XMLRPC Client is not annotated in typeshed as on 2017-07-17, which is +# why we ignore the type on this import +from pip._vendor.six.moves import xmlrpc_client # type: ignore +from pip._vendor.six.moves.urllib import parse as urllib_parse +from pip._vendor.six.moves.urllib import request as urllib_request +from pip._vendor.urllib3.util import IS_PYOPENSSL + +import pip +from pip._internal.exceptions import HashMismatch, InstallationError +from pip._internal.locations import write_delete_marker_file +from pip._internal.models.index import PyPI +from pip._internal.utils.encoding import auto_decode +from pip._internal.utils.filesystem import check_path_owner +from pip._internal.utils.glibc import libc_ver +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + ARCHIVE_EXTENSIONS, ask_path_exists, backup_dir, call_subprocess, consume, + display_path, format_size, get_installed_version, rmtree, + split_auth_from_netloc, splitext, unpack_file, +) +from pip._internal.utils.setuptools_build import SETUPTOOLS_SHIM +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.utils.ui import DownloadProgressProvider +from pip._internal.vcs import vcs + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Optional, Tuple, Dict, IO, Text, Union + ) + from pip._internal.models.link import Link # noqa: F401 + from pip._internal.utils.hashes import Hashes # noqa: F401 + from pip._internal.vcs import AuthInfo # noqa: F401 + +try: + import ssl # noqa +except ImportError: + ssl = None + +HAS_TLS = (ssl is not None) or IS_PYOPENSSL + +__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() + + if HAS_TLS: + data["openssl_version"] = ssl.OPENSSL_VERSION + + setuptools_version = get_installed_version("setuptools") + if setuptools_version is not None: + data["setuptools_version"] = setuptools_version + + 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): + # type: (bool) -> None + self.prompting = prompting + self.passwords = {} # type: Dict[str, AuthInfo] + + def __call__(self, req): + parsed = urllib_parse.urlparse(req.url) + + # Split the credentials from the netloc. + netloc, url_user_password = split_auth_from_netloc(parsed.netloc) + + # 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)) + + # Use the credentials embedded in the url if we have none stored + if username is None: + username, password = url_user_password + + # 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) + req.register_hook("response", self.warn_on_401) + + # Send our new request + new_resp = resp.connection.send(req, **kwargs) + new_resp.history.append(resp) + + return new_resp + + def warn_on_401(self, resp, **kwargs): + # warn user that they provided incorrect credentials + if resp.status_code == 401: + logger.warning('401 Error, Credentials not correct for %s', + resp.request.url) + + +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 # type: Optional[int] + + 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. + # A 500 may indicate transient error in Amazon S3 + # A 520 or 527 - may indicate transient error in CloudFlare + status_forcelist=[500, 503, 520, 527], + + # Add a small amount of back off between failed requests in + # order to prevent hammering the service. + backoff_factor=0.25, + ) + + # 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://{}/".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): + # type: (str, Optional[str], Optional[PipSession]) -> Tuple[str, Text] + """Gets the content of a file; it may be a filename, file: URL, or + http: URL. Returns (location, content). Content is unicode. + + :param url: File path or url. + :param comes_from: Origin description of requirements. + :param session: Instance of pip.download.PipSession. + """ + if session is None: + raise TypeError( + "get_file_content() missing 1 required keyword argument: 'session'" + ) + + 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): + # type: (Union[str, Text]) -> bool + """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): + # type: (str) -> str + """ + Convert a file: URL to a path. + """ + assert url.startswith('file:'), ( + "You can only turn file: urls into filenames (not %r)" % url) + + _, netloc, path, _, _ = urllib_parse.urlsplit(url) + + # if 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): + # type: (Union[str, Text]) -> str + """ + Convert a path to a file: URL. The path will be made absolute and have + quoted path parts. + """ + path = os.path.normpath(os.path.abspath(path)) + url = urllib_parse.urljoin('file:', urllib_request.pathname2url(path)) + return url + + +def is_archive_file(name): + # type: (str) -> bool + """Return True if `name` is a considered as an archive file.""" + ext = splitext(name)[1].lower() + if ext in ARCHIVE_EXTENSIONS: + return True + return False + + +def 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): + # type: (Link) -> bool + return bool(_get_used_vcs_backend(link)) + + +def is_file_url(link): + # type: (Link) -> bool + return link.url.lower().startswith('file:') + + +def is_dir_url(link): + # type: (Link) -> bool + """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, # type: Response + link, # type: Link + content_file, # type: IO + hashes, # type: Hashes + progress_bar # type: str +): + # type: (...) -> None + try: + total_length = int(resp.headers['content-length']) + except (ValueError, KeyError, TypeError): + total_length = 0 + + cached_resp = getattr(resp, "from_cache", False) + if logger.getEffectiveLevel() > logging.INFO: + show_progress = False + elif cached_resp: + show_progress = False + elif total_length > (40 * 1000): + show_progress = True + elif not total_length: + show_progress = True + else: + show_progress = False + + show_url = link.show_url + + def resp_read(chunk_size): + try: + # Special case for urllib3. + for chunk in resp.raw.stream( + chunk_size, + # We use decode_content=False here because we don't + # want urllib3 to mess with the raw bytes we get + # from the server. If we decompress inside of + # urllib3 then we cannot verify the checksum + # because the checksum will be of the compressed + # file. This breakage will only occur if the + # server adds a Content-Encoding header, which + # depends on how the server was configured: + # - Some servers will notice that the file isn't a + # compressible file and will leave the file alone + # and with an empty Content-Encoding + # - Some servers will notice that the file is + # already compressed and will leave the file + # alone and will add a Content-Encoding: gzip + # header + # - Some servers won't notice anything at all and + # will take a file that's already been compressed + # and compress it again and set the + # Content-Encoding: gzip header + # + # By setting this not to decode automatically we + # hope to eliminate problems with the second case. + decode_content=False): + yield chunk + except AttributeError: + # Standard file-like object. + while True: + chunk = resp.raw.read(chunk_size) + if not chunk: + break + yield chunk + + def written_chunks(chunks): + for chunk in chunks: + content_file.write(chunk) + yield chunk + + progress_indicator = _progress_indicator + + if link.netloc == PyPI.netloc: + url = show_url + else: + url = link.url_without_fragment + + if show_progress: # We don't show progress on cached responses + progress_indicator = DownloadProgressProvider(progress_bar, + max=total_length) + if total_length: + logger.info("Downloading %s (%s)", url, format_size(total_length)) + else: + logger.info("Downloading %s", url) + elif cached_resp: + logger.info("Using cached %s", url) + else: + logger.info("Downloading %s", url) + + 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, # type: Link + location, # type: str + download_dir=None, # type: Optional[str] + session=None, # type: Optional[PipSession] + hashes=None, # type: Optional[Hashes] + progress_bar="on" # type: str +): + # type: (...) -> None + if session is None: + raise TypeError( + "unpack_http_url() missing 1 required keyword argument: 'session'" + ) + + with TempDirectory(kind="unpack") as temp_dir: + # If a download dir is specified, is the file already downloaded there? + already_downloaded_path = None + if download_dir: + already_downloaded_path = _check_download_dir(link, + download_dir, + hashes) + + if already_downloaded_path: + from_path = already_downloaded_path + content_type = mimetypes.guess_type(from_path)[0] + else: + # let's download to a tmp dir + from_path, content_type = _download_http_url(link, + session, + temp_dir.path, + hashes, + progress_bar) + + # unpack the archive to the build dir location. even when only + # downloading archives, they have to be unpacked to parse dependencies + unpack_file(from_path, location, content_type, 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) + + +def unpack_file_url( + link, # type: Link + location, # type: str + download_dir=None, # type: Optional[str] + hashes=None # type: Optional[Hashes] +): + # type: (...) -> None + """Unpack link into location. + + If download_dir is provided and link points to a file, make a copy + of the link file inside download_dir. + """ + link_path = 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, # type: Optional[Link] + location, # type: Optional[str] + download_dir=None, # type: Optional[str] + only_download=False, # type: bool + session=None, # type: Optional[PipSession] + hashes=None, # type: Optional[Hashes] + progress_bar="on" # type: str +): + # type: (...) -> None + """Unpack link. + If link is a VCS link: + if only_download, export into download_dir and ignore location + else unpack into location + for other types of link: + - unpack into location + - if download_dir, copy the file into download_dir + - if only_download, mark location for deletion + + :param hashes: A Hashes object, one of whose embedded hashes must match, + or HashMismatch will be raised. If the Hashes is empty, no matches are + required, and unhashable types of requirements (like VCS ones, which + would ordinarily raise HashUnsupported) are allowed. + """ + # non-editable vcs urls + if 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, + progress_bar=progress_bar + ) + if only_download: + write_delete_marker_file(location) + + +def _download_http_url( + link, # type: Link + session, # type: PipSession + temp_dir, # type: str + hashes, # type: Hashes + progress_bar # type: str +): + # type: (...) -> Tuple[str, str] + """Download link url into temp_dir using provided session""" + target_url = link.url.split('#', 1)[0] + try: + resp = session.get( + target_url, + # We use Accept-Encoding: identity here because requests + # defaults to accepting compressed responses. This breaks in + # a variety of ways depending on how the server is configured. + # - Some servers will notice that the file isn't a compressible + # file and will leave the file alone and with an empty + # Content-Encoding + # - Some servers will notice that the file is already + # compressed and will leave the file alone and will add a + # Content-Encoding: gzip header + # - Some servers won't notice anything at all and will take + # a file that's already been compressed and compress it again + # and set the Content-Encoding: gzip header + # By setting this to request only the identity encoding We're + # hoping to eliminate the third case. Hopefully there does not + # exist a server which when given a file will notice it is + # already compressed and that you're not asking for a + # compressed file and will then decompress it before sending + # because if that's the case I don't think it'll ever be + # possible to make this work. + headers={"Accept-Encoding": "identity"}, + stream=True, + ) + resp.raise_for_status() + except requests.HTTPError as exc: + logger.critical( + "HTTP error %s while getting %s", exc.response.status_code, link, + ) + raise + + content_type = resp.headers.get('content-type', '') + filename = link.filename # fallback + # Have a look at the Content-Disposition header for a better guess + content_disposition = resp.headers.get('content-disposition') + if content_disposition: + 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, progress_bar) + return file_path, content_type + + +def _check_download_dir(link, download_dir, hashes): + # type: (Link, str, Hashes) -> Optional[str] + """ Check download_dir for previously downloaded file with correct hash + If a correct file is found return its path else None + """ + download_path = os.path.join(download_dir, link.filename) + if 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/exceptions.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/exceptions.py new file mode 100644 index 0000000..38ceeea --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/exceptions.py @@ -0,0 +1,274 @@ +"""Exceptions used throughout package""" +from __future__ import absolute_import + +from itertools import chain, groupby, repeat + +from pip._vendor.six import iteritems + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + + +class PipError(Exception): + """Base pip exception""" + + +class ConfigurationError(PipError): + """General exception in configuration""" + + +class InstallationError(PipError): + """General exception during installation""" + + +class UninstallationError(PipError): + """General exception during uninstallation""" + + +class DistributionNotFound(InstallationError): + """Raised when a distribution cannot be found to satisfy a requirement""" + + +class RequirementsFileParseError(InstallationError): + """Raised when a general error occurs parsing a requirements file line.""" + + +class BestVersionAlreadyInstalled(PipError): + """Raised when the most up-to-date version of a package is already + installed.""" + + +class BadCommand(PipError): + """Raised when virtualenv or a command is not found""" + + +class CommandError(PipError): + """Raised when there is an error in command-line arguments""" + + +class PreviousBuildDirError(PipError): + """Raised when there's a previous conflicting build directory""" + + +class InvalidWheelFilename(InstallationError): + """Invalid wheel filename.""" + + +class UnsupportedWheel(InstallationError): + """Unsupported wheel.""" + + +class HashErrors(InstallationError): + """Multiple HashError instances rolled into one for reporting""" + + def __init__(self): + self.errors = [] + + def append(self, error): + self.errors.append(error) + + def __str__(self): + lines = [] + self.errors.sort(key=lambda e: e.order) + for cls, errors_of_cls in groupby(self.errors, lambda e: e.__class__): + lines.append(cls.head) + lines.extend(e.body() for e in errors_of_cls) + if lines: + return '\n'.join(lines) + + def __nonzero__(self): + return bool(self.errors) + + def __bool__(self): + return self.__nonzero__() + + +class HashError(InstallationError): + """ + A failure to verify a package against known-good hashes + + :cvar order: An int sorting hash exception classes by difficulty of + recovery (lower being harder), so the user doesn't bother fretting + about unpinned packages when he has deeper issues, like VCS + dependencies, to deal with. Also keeps error reports in a + deterministic order. + :cvar head: A section heading for display above potentially many + exceptions of this kind + :ivar req: The InstallRequirement that triggered this error. This is + pasted on after the exception is instantiated, because it's not + typically available earlier. + + """ + req = None # type: Optional[InstallRequirement] + head = '' + + def body(self): + """Return a summary of me for display under the heading. + + This default implementation simply prints a description of the + triggering requirement. + + :param req: The InstallRequirement that provoked this error, with + populate_link() having already been called + + """ + return ' %s' % self._requirement_name() + + def __str__(self): + return '%s\n%s' % (self.head, self.body()) + + def _requirement_name(self): + """Return a description of the requirement that triggered me. + + This default implementation returns long description of the req, with + line numbers + + """ + return str(self.req) if self.req else 'unknown package' + + +class VcsHashUnsupported(HashError): + """A hash was provided for a version-control-system-based requirement, but + we don't have a method for hashing those.""" + + order = 0 + head = ("Can't verify hashes for these requirements because we don't " + "have a way to hash version control repositories:") + + +class DirectoryUrlHashUnsupported(HashError): + """A hash was provided for a version-control-system-based requirement, but + we don't have a method for hashing those.""" + + order = 1 + head = ("Can't verify hashes for these file:// requirements because they " + "point to directories:") + + +class HashMissing(HashError): + """A hash was needed for a requirement but is absent.""" + + order = 2 + head = ('Hashes are required in --require-hashes mode, but they are ' + 'missing from some requirements. Here is a list of those ' + 'requirements along with the hashes their downloaded archives ' + 'actually had. Add lines like these to your requirements files to ' + 'prevent tampering. (If you did not enable --require-hashes ' + 'manually, note that it turns on automatically when any package ' + 'has a hash.)') + + def __init__(self, gotten_hash): + """ + :param gotten_hash: The hash of the (possibly malicious) archive we + just downloaded + """ + self.gotten_hash = gotten_hash + + def body(self): + # Dodge circular import. + from pip._internal.utils.hashes import FAVORITE_HASH + + package = None + if self.req: + # In the case of URL-based requirements, display the original URL + # seen in the requirements file rather than the package name, + # so the output can be directly copied into the requirements file. + package = (self.req.original_link if self.req.original_link + # In case someone feeds something downright stupid + # to InstallRequirement's constructor. + else getattr(self.req, 'req', None)) + return ' %s --hash=%s:%s' % (package or 'unknown package', + FAVORITE_HASH, + self.gotten_hash) + + +class HashUnpinned(HashError): + """A requirement had a hash specified but was not pinned to a specific + version.""" + + order = 3 + head = ('In --require-hashes mode, all requirements must have their ' + 'versions pinned with ==. These do not:') + + +class HashMismatch(HashError): + """ + Distribution file hash values don't match. + + :ivar package_name: The name of the package that triggered the hash + mismatch. Feel free to write to this after the exception is raise to + improve its error message. + + """ + order = 4 + head = ('THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS ' + 'FILE. If you have updated the package versions, please update ' + 'the hashes. Otherwise, examine the package contents carefully; ' + 'someone may have tampered with them.') + + def __init__(self, allowed, gots): + """ + :param allowed: A dict of algorithm names pointing to lists of allowed + hex digests + :param gots: A dict of algorithm names pointing to hashes we + actually got from the files under suspicion + """ + self.allowed = allowed + self.gots = gots + + def body(self): + return ' %s:\n%s' % (self._requirement_name(), + self._hash_comparison()) + + def _hash_comparison(self): + """ + Return a comparison of actual and expected hash values. + + Example:: + + Expected sha256 abcdeabcdeabcdeabcdeabcdeabcdeabcdeabcdeabcde + or 123451234512345123451234512345123451234512345 + Got bcdefbcdefbcdefbcdefbcdefbcdefbcdefbcdefbcdef + + """ + def hash_then_or(hash_name): + # For now, all the decent hashes have 6-char names, so we can get + # away with hard-coding space literals. + return chain([hash_name], repeat(' or')) + + lines = [] + for hash_name, expecteds in iteritems(self.allowed): + prefix = hash_then_or(hash_name) + lines.extend((' Expected %s %s' % (next(prefix), e)) + for e in expecteds) + lines.append(' Got %s\n' % + self.gots[hash_name].hexdigest()) + prefix = ' or' + return '\n'.join(lines) + + +class UnsupportedPythonVersion(InstallationError): + """Unsupported python version according to Requires-Python package + metadata.""" + + +class ConfigurationFileCouldNotBeLoaded(ConfigurationError): + """When there are errors while loading a configuration file + """ + + def __init__(self, reason="could not be loaded", fname=None, error=None): + super(ConfigurationFileCouldNotBeLoaded, self).__init__(error) + self.reason = reason + self.fname = fname + self.error = error + + def __str__(self): + if self.fname is not None: + message_part = " in {}.".format(self.fname) + else: + assert self.error is not None + message_part = ".\n{}\n".format(self.error.message) + return "Configuration file {}{}".format(self.reason, message_part) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/index.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/index.py new file mode 100644 index 0000000..9eda3a3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/index.py @@ -0,0 +1,990 @@ +"""Routines related to PyPI, indexes""" +from __future__ import absolute_import + +import cgi +import itertools +import logging +import mimetypes +import os +import posixpath +import re +import sys +from collections import namedtuple + +from pip._vendor import html5lib, requests, six +from pip._vendor.distlib.compat import unescape +from pip._vendor.packaging import specifiers +from pip._vendor.packaging.utils import canonicalize_name +from pip._vendor.packaging.version import parse as parse_version +from pip._vendor.requests.exceptions import RetryError, SSLError +from pip._vendor.six.moves.urllib import parse as urllib_parse +from pip._vendor.six.moves.urllib import request as urllib_request + +from pip._internal.download import HAS_TLS, is_url, path_to_url, url_to_path +from pip._internal.exceptions import ( + BestVersionAlreadyInstalled, DistributionNotFound, InvalidWheelFilename, + UnsupportedWheel, +) +from pip._internal.models.candidate import InstallationCandidate +from pip._internal.models.format_control import FormatControl +from pip._internal.models.index import PyPI +from pip._internal.models.link import Link +from pip._internal.pep425tags import get_supported +from pip._internal.utils.compat import ipaddress +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + ARCHIVE_EXTENSIONS, SUPPORTED_EXTENSIONS, WHEEL_EXTENSION, normalize_path, + redact_password_from_url, +) +from pip._internal.utils.packaging import check_requires_python +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.wheel import Wheel + +if MYPY_CHECK_RUNNING: + from logging import Logger # noqa: F401 + from typing import ( # noqa: F401 + Tuple, Optional, Any, List, Union, Callable, Set, Sequence, + Iterable, MutableMapping + ) + from pip._vendor.packaging.version import _BaseVersion # noqa: F401 + from pip._vendor.requests import Response # noqa: F401 + from pip._internal.req import InstallRequirement # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + + SecureOrigin = Tuple[str, str, Optional[str]] + BuildTag = Tuple[Any, ...] # either emply tuple or Tuple[int, str] + CandidateSortingKey = Tuple[int, _BaseVersion, BuildTag, Optional[int]] + +__all__ = ['FormatControl', '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", "*", "*"), +] # type: List[SecureOrigin] + + +logger = logging.getLogger(__name__) + + +def _match_vcs_scheme(url): + # type: (str) -> Optional[str] + """Look for VCS schemes in the URL. + + Returns the matched VCS scheme, or None if there's no match. + """ + from pip._internal.vcs import VcsSupport + for scheme in VcsSupport.schemes: + if url.lower().startswith(scheme) and url[len(scheme)] in '+:': + return scheme + return None + + +def _is_url_like_archive(url): + # type: (str) -> bool + """Return whether the URL looks like an archive. + """ + filename = Link(url).filename + for bad_ext in ARCHIVE_EXTENSIONS: + if filename.endswith(bad_ext): + return True + return False + + +class _NotHTML(Exception): + def __init__(self, content_type, request_desc): + # type: (str, str) -> None + super(_NotHTML, self).__init__(content_type, request_desc) + self.content_type = content_type + self.request_desc = request_desc + + +def _ensure_html_header(response): + # type: (Response) -> None + """Check the Content-Type header to ensure the response contains HTML. + + Raises `_NotHTML` if the content type is not text/html. + """ + content_type = response.headers.get("Content-Type", "") + if not content_type.lower().startswith("text/html"): + raise _NotHTML(content_type, response.request.method) + + +class _NotHTTP(Exception): + pass + + +def _ensure_html_response(url, session): + # type: (str, PipSession) -> None + """Send a HEAD request to the URL, and ensure the response contains HTML. + + Raises `_NotHTTP` if the URL is not available for a HEAD request, or + `_NotHTML` if the content type is not text/html. + """ + scheme, netloc, path, query, fragment = urllib_parse.urlsplit(url) + if scheme not in {'http', 'https'}: + raise _NotHTTP() + + resp = session.head(url, allow_redirects=True) + resp.raise_for_status() + + _ensure_html_header(resp) + + +def _get_html_response(url, session): + # type: (str, PipSession) -> Response + """Access an HTML page with GET, and return the response. + + This consists of three parts: + + 1. If the URL looks suspiciously like an archive, send a HEAD first to + check the Content-Type is HTML, to avoid downloading a large file. + Raise `_NotHTTP` if the content type cannot be determined, or + `_NotHTML` if it is not HTML. + 2. Actually perform the request. Raise HTTP exceptions on network failures. + 3. Check the Content-Type header to make sure we got HTML, and raise + `_NotHTML` otherwise. + """ + if _is_url_like_archive(url): + _ensure_html_response(url, session=session) + + logger.debug('Getting page %s', url) + + resp = session.get( + url, + headers={ + "Accept": "text/html", + # We don't want to blindly returned cached data for + # /simple/, because authors generally expecting that + # twine upload && pip install will function, but if + # they've done a pip install in the last ~10 minutes + # it won't. Thus by setting this to zero we will not + # blindly use any cached data, however the benefit of + # using max-age=0 instead of no-cache, is that we will + # still support conditional requests, so we will still + # minimize traffic sent in cases where the page hasn't + # changed at all, we will just always incur the round + # trip for the conditional GET now instead of only + # once per 10 minutes. + # For more information, please see pypa/pip#5670. + "Cache-Control": "max-age=0", + }, + ) + resp.raise_for_status() + + # The check for archives above only works if the url ends with + # something that looks like an archive. However that is not a + # requirement of an url. Unless we issue a HEAD request on every + # url we cannot know ahead of time for sure if something is HTML + # or not. However we can check after we've downloaded it. + _ensure_html_header(resp) + + return resp + + +def _handle_get_page_fail( + link, # type: Link + reason, # type: Union[str, Exception] + meth=None # type: Optional[Callable[..., None]] +): + # type: (...) -> None + if meth is None: + meth = logger.debug + meth("Could not fetch URL %s: %s - skipping", link, reason) + + +def _get_html_page(link, session=None): + # type: (Link, Optional[PipSession]) -> Optional[HTMLPage] + if session is None: + raise TypeError( + "_get_html_page() missing 1 required keyword argument: 'session'" + ) + + url = link.url.split('#', 1)[0] + + # Check for VCS schemes that do not support lookup as web pages. + vcs_scheme = _match_vcs_scheme(url) + if vcs_scheme: + logger.debug('Cannot look at %s URL %s', vcs_scheme, link) + return None + + # Tack index.html onto file:// URLs that point to directories + scheme, _, path, _, _, _ = urllib_parse.urlparse(url) + if (scheme == 'file' and os.path.isdir(urllib_request.url2pathname(path))): + # add trailing slash if not present so urljoin doesn't trim + # final segment + if not url.endswith('/'): + url += '/' + url = urllib_parse.urljoin(url, 'index.html') + logger.debug(' file: URL is directory, getting %s', url) + + try: + resp = _get_html_response(url, session=session) + except _NotHTTP as exc: + logger.debug( + 'Skipping page %s because it looks like an archive, and cannot ' + 'be checked by HEAD.', link, + ) + except _NotHTML as exc: + logger.debug( + 'Skipping page %s because the %s request got Content-Type: %s', + link, exc.request_desc, exc.content_type, + ) + except requests.HTTPError as exc: + _handle_get_page_fail(link, exc) + except RetryError as exc: + _handle_get_page_fail(link, exc) + except SSLError as exc: + reason = "There was a problem confirming the ssl certificate: " + reason += str(exc) + _handle_get_page_fail(link, reason, meth=logger.info) + except requests.ConnectionError as exc: + _handle_get_page_fail(link, "connection error: %s" % exc) + except requests.Timeout: + _handle_get_page_fail(link, "timed out") + else: + return HTMLPage(resp.content, resp.url, resp.headers) + return None + + +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, # type: List[str] + index_urls, # type: List[str] + allow_all_prereleases=False, # type: bool + trusted_hosts=None, # type: Optional[Iterable[str]] + session=None, # type: Optional[PipSession] + format_control=None, # type: Optional[FormatControl] + platform=None, # type: Optional[str] + versions=None, # type: Optional[List[str]] + abi=None, # type: Optional[str] + implementation=None, # type: Optional[str] + prefer_binary=False # type: bool + ): + # type: (...) -> 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 = [] # type: List[str] + for link in find_links: + if link.startswith('~'): + new_link = normalize_path(link) + if os.path.exists(new_link): + link = new_link + self.find_links.append(link) + + self.index_urls = index_urls + + # These are boring links that have already been logged somehow: + self.logged_links = set() # type: Set[Link] + + 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 []) + ] # type: List[SecureOrigin] + + # Do we want to allow _all_ pre-releases? + self.allow_all_prereleases = allow_all_prereleases + + # 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, + ) + + # Do we prefer old, but valid, binary dist over new source dist + self.prefer_binary = prefer_binary + + # 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 get_formatted_locations(self): + # type: () -> str + lines = [] + if self.index_urls and self.index_urls != [PyPI.simple_url]: + lines.append( + "Looking in indexes: {}".format(", ".join( + redact_password_from_url(url) for url in self.index_urls)) + ) + if self.find_links: + lines.append( + "Looking in links: {}".format(", ".join(self.find_links)) + ) + return "\n".join(lines) + + @staticmethod + def _sort_locations(locations, expand_dir=False): + # type: (Sequence[str], bool) -> Tuple[List[str], List[str]] + """ + 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) + else: + logger.warning( + "Path '{0}' is ignored: " + "it is a directory.".format(path), + ) + elif os.path.isfile(path): + sort_path(path) + else: + logger.warning( + "Url '%s' is ignored: it is neither a file " + "nor a directory.", url, + ) + elif is_url(url): + # Only add url with clear scheme + urls.append(url) + else: + logger.warning( + "Url '%s' is ignored. It is either a non-existing " + "path or lacks a specific scheme.", url, + ) + + return files, urls + + def _candidate_sort_key(self, candidate): + # type: (InstallationCandidate) -> CandidateSortingKey + """ + 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 + If prefer_binary was set, then all wheels are sorted above sources. + Note: it was considered to embed this logic into the Link + comparison operators, but then different sdist links + with the same version, would have to be considered equal + """ + support_num = len(self.valid_tags) + build_tag = tuple() # type: BuildTag + binary_preference = 0 + 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 + ) + if self.prefer_binary: + binary_preference = 1 + pri = -(wheel.support_index_min(self.valid_tags)) + if wheel.build_tag is not None: + match = re.match(r'^(\d+)(.*)$', wheel.build_tag) + build_tag_groups = match.groups() + build_tag = (int(build_tag_groups[0]), build_tag_groups[1]) + else: # sdist + pri = -(support_num) + return (binary_preference, candidate.version, build_tag, pri) + + def _validate_secure_origin(self, logger, location): + # type: (Logger, Link) -> bool + # 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) + # setting secure_origin[1] to proper Union[bytes, str] + # creates problems in other places + else secure_origin[1].decode("utf8") # type: ignore + ) + except ValueError: + # We don't have both a valid address or a valid network, so + # we'll check this origin against hostnames. + if (origin[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 we " + "recommend you use HTTPS instead, otherwise you may silence " + "this warning and allow it anyway with '--trusted-host %s'.", + parsed.hostname, + parsed.hostname, + ) + + return False + + def _get_index_urls_locations(self, project_name): + # type: (str) -> List[str] + """Returns the locations found via self.index_urls + + Checks the url_name on the main (first in the list) index and + use this url_name to produce all locations + """ + + def mkurl_pypi_url(url): + loc = posixpath.join( + url, + urllib_parse.quote(canonicalize_name(project_name))) + # For maximum compatibility with easy_install, ensure the path + # ends in a trailing slash. Although this isn't in the spec + # (and PyPI can handle it without the slash) some other index + # implementations might break if they relied on easy_install's + # behavior. + if not loc.endswith('/'): + loc = loc + '/' + return loc + + return [mkurl_pypi_url(url) for url in self.index_urls] + + def find_all_candidates(self, project_name): + # type: (str) -> List[Optional[InstallationCandidate]] + """Find all available InstallationCandidate for project_name + + This checks index_urls and find_links. + All versions found are returned as an InstallationCandidate list. + + See _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, + ) + + file_locations = (Link(url) for url in itertools.chain( + index_file_loc, fl_file_loc, + )) + + # We trust every url that the user has given us whether it was given + # via --index-url or --find-links. + # We want to filter out 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), + ) + 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 = self.format_control.get_allowed_formats(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.iter_links(), search) + ) + + 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 + + def find_requirement(self, req, upgrade): + # type: (InstallRequirement, bool) -> Optional[Link] + """Try to find a Link matching req + + Expects req, an InstallRequirement and upgrade, a boolean + Returns a Link if found, + Raises DistributionNotFound or BestVersionAlreadyInstalled otherwise + """ + 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( + {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): + # type: (Iterable[Link], str) -> Iterable[HTMLPage] + """ + Yields (page, page_url) from the given locations, skipping + locations that have errors. + """ + seen = set() # type: Set[Link] + for location in locations: + if location in seen: + continue + seen.add(location) + + page = _get_html_page(location, session=self.session) + if page is None: + continue + + yield page + + _py_version_re = re.compile(r'-py([123]\.?[0-9]?)$') + + def _sort_links(self, links): + # type: (Iterable[Link]) -> List[Link] + """ + Returns elements of links in order, non-egg links first, egg links + second, while eliminating duplicates + """ + eggs, no_eggs = [], [] + seen = set() # type: Set[Link] + for link in links: + if link not in seen: + seen.add(link) + if link.egg_fragment: + eggs.append(link) + else: + no_eggs.append(link) + return no_eggs + eggs + + def _package_versions( + self, + links, # type: Iterable[Link] + search # type: Search + ): + # type: (...) -> List[Optional[InstallationCandidate]] + 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): + # type: (Link, str) -> None + 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): + # type: (Link, Search) -> Optional[InstallationCandidate] + """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 None + if ext not in SUPPORTED_EXTENSIONS: + self._log_skipped_link( + link, 'unsupported archive format: %s' % ext, + ) + return None + if "binary" not in search.formats and ext == WHEEL_EXTENSION: + self._log_skipped_link( + link, 'No binaries permitted for %s' % search.supplied, + ) + return None + if "macosx10" in link.path and ext == '.zip': + self._log_skipped_link(link, 'macosx10 one') + return None + if ext == WHEEL_EXTENSION: + try: + wheel = Wheel(link.filename) + except InvalidWheelFilename: + self._log_skipped_link(link, 'invalid wheel filename') + return None + if canonicalize_name(wheel.name) != search.canonical: + self._log_skipped_link( + link, 'wrong project name (not %s)' % search.supplied) + return None + + if not wheel.supported(self.valid_tags): + self._log_skipped_link( + link, 'it is not compatible with this Python') + return None + + 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_EXTENSION: + self._log_skipped_link( + link, 'No sources permitted for %s' % search.supplied, + ) + return None + + if not version: + version = _egg_info_matches(egg_info, search.canonical) + if not version: + self._log_skipped_link( + link, 'Missing project version for %s' % search.supplied) + return None + + 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 None + 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 None + logger.debug('Found link %s, version: %s', link, version) + + return InstallationCandidate(search.supplied, version, link) + + +def _find_name_version_sep(egg_info, canonical_name): + # type: (str, str) -> int + """Find the separator's index based on the package's canonical name. + + `egg_info` must be an egg info string for the given package, and + `canonical_name` must be the package's canonical name. + + This function is needed since the canonicalized name does not necessarily + have the same length as the egg info's name part. An example:: + + >>> egg_info = 'foo__bar-1.0' + >>> canonical_name = 'foo-bar' + >>> _find_name_version_sep(egg_info, canonical_name) + 8 + """ + # Project name and version must be separated by one single dash. Find all + # occurrences of dashes; if the string in front of it matches the canonical + # name, this is the one separating the name and version parts. + for i, c in enumerate(egg_info): + if c != "-": + continue + if canonicalize_name(egg_info[:i]) == canonical_name: + return i + raise ValueError("{} does not match {}".format(egg_info, canonical_name)) + + +def _egg_info_matches(egg_info, canonical_name): + # type: (str, str) -> Optional[str] + """Pull the version part out of a string. + + :param egg_info: The string to parse. E.g. foo-2.1 + :param canonical_name: The canonicalized name of the package this + belongs to. + """ + try: + version_start = _find_name_version_sep(egg_info, canonical_name) + 1 + except ValueError: + return None + version = egg_info[version_start:] + if not version: + return None + return version + + +def _determine_base_url(document, page_url): + """Determine the HTML document's base URL. + + This looks for a ``<base>`` tag in the HTML document. If present, its href + attribute denotes the base URL of anchor tags in the document. If there is + no such tag (or if it does not have a valid href attribute), the HTML + file's URL is used as the base URL. + + :param document: An HTML document representation. The current + implementation expects the result of ``html5lib.parse()``. + :param page_url: The URL of the HTML document. + """ + for base in document.findall(".//base"): + href = base.get("href") + if href is not None: + return href + return page_url + + +def _get_encoding_from_headers(headers): + """Determine if we have any encoding information in our headers. + """ + if headers and "Content-Type" in headers: + content_type, params = cgi.parse_header(headers["Content-Type"]) + if "charset" in params: + return params['charset'] + return None + + +_CLEAN_LINK_RE = re.compile(r'[^a-z0-9$&+,/:;=?@.#%_\\|-]', re.I) + + +def _clean_link(url): + # type: (str) -> str + """Makes sure a link is fully encoded. That is, if a ' ' shows up in + the link, it will be rewritten to %20 (while not over-quoting + % or other characters).""" + return _CLEAN_LINK_RE.sub(lambda match: '%%%2x' % ord(match.group(0)), url) + + +class HTMLPage(object): + """Represents one page, along with its URL""" + + def __init__(self, content, url, headers=None): + # type: (bytes, str, MutableMapping[str, str]) -> None + self.content = content + self.url = url + self.headers = headers + + def __str__(self): + return redact_password_from_url(self.url) + + def iter_links(self): + # type: () -> Iterable[Link] + """Yields all links in the page""" + document = html5lib.parse( + self.content, + transport_encoding=_get_encoding_from_headers(self.headers), + namespaceHTMLElements=False, + ) + base_url = _determine_base_url(document, self.url) + for anchor in document.findall(".//a"): + if anchor.get("href"): + href = anchor.get("href") + url = _clean_link(urllib_parse.urljoin(base_url, href)) + pyrequire = anchor.get('data-requires-python') + pyrequire = unescape(pyrequire) if pyrequire else None + yield Link(url, self.url, requires_python=pyrequire) + + +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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/locations.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/locations.py new file mode 100644 index 0000000..c6e2a3e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/locations.py @@ -0,0 +1,211 @@ +"""Locations where we look for configs, install stuff, etc""" +from __future__ import absolute_import + +import os +import os.path +import platform +import site +import sys +import sysconfig +from distutils import sysconfig as distutils_sysconfig +from distutils.command.install import SCHEME_KEYS # type: ignore + +from pip._internal.utils import appdirs +from pip._internal.utils.compat import WINDOWS, expanduser +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Any, Union, Dict, List, Optional # noqa: F401 + + +# 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): + # type: (str) -> None + """ + Write the pip delete marker file into this directory. + """ + filepath = os.path.join(directory, PIP_DELETE_MARKER_FILENAME) + with open(filepath, 'w') as marker_fp: + marker_fp.write(DELETE_MARKER_MESSAGE) + + +def running_under_virtualenv(): + # type: () -> bool + """ + 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(): + # type: () -> bool + """ + Return True if in a venv and no system site packages. + """ + # this mirrors the logic in virtualenv.py for locating the + # no-global-site-packages.txt file + site_mod_dir = os.path.dirname(os.path.abspath(site.__file__)) + no_global_file = os.path.join(site_mod_dir, 'no-global-site-packages.txt') + if running_under_virtualenv() and os.path.isfile(no_global_file): + return True + else: + return False + + +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_path("purelib") # type: Optional[str] + +# This is because of a bug in PyPy's sysconfig module, see +# https://bitbucket.org/pypy/pypy/issues/2506/sysconfig-returns-incorrect-paths +# for more information. +if platform.python_implementation().lower() == "pypy": + site_packages = distutils_sysconfig.get_python_lib() +try: + # Use getusersitepackages if this is present, as it ensures that the + # value is initialised properly. + user_site = site.getusersitepackages() +except AttributeError: + user_site = site.USER_SITE +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') +] + +venv_config_file = os.path.join(sys.prefix, config_basename) +new_config_file = os.path.join(appdirs.user_config_dir("pip"), config_basename) + + +def distutils_scheme(dist_name, user=False, home=None, root=None, + isolated=False, prefix=None): + # type:(str, bool, str, str, bool, str) -> dict + """ + Return a distutils install scheme + """ + from distutils.dist import Distribution + + scheme = {} + + if isolated: + extra_dist_args = {"script_args": ["--no-user-cfg"]} + else: + extra_dist_args = {} + dist_args = {'name': dist_name} # type: Dict[str, Union[str, List[str]]] + dist_args.update(extra_dist_args) + + d = Distribution(dist_args) + # Ignoring, typeshed issue reported python/typeshed/issues/2567 + d.parse_config_files() + # NOTE: Ignoring type since mypy can't find attributes on 'Command' + i = d.get_command_obj('install', create=True) # type: Any + assert i is not None + # NOTE: setting user or home has the side-effect of creating the home dir + # or user base for installations during finalize_options() + # ideally, we'd prefer a scheme class that has no side-effects. + assert not (user and prefix), "user={} prefix={}".format(user, prefix) + 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 + + # Ignoring, typeshed issue reported python/typeshed/issues/2567 + if 'install_lib' in d.get_option_dict('install'): # type: ignore + scheme.update(dict(purelib=i.install_lib, platlib=i.install_lib)) + + if running_under_virtualenv(): + scheme['headers'] = os.path.join( + sys.prefix, + 'include', + 'site', + 'python' + 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__init__.py new file mode 100644 index 0000000..7855226 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__init__.py @@ -0,0 +1,2 @@ +"""A package that contains models that represent entities. +""" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/candidate.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/candidate.py new file mode 100644 index 0000000..4475458 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/candidate.py @@ -0,0 +1,31 @@ +from pip._vendor.packaging.version import parse as parse_version + +from pip._internal.utils.models import KeyBasedCompareMixin +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from pip._vendor.packaging.version import _BaseVersion # noqa: F401 + from pip._internal.models.link import Link # noqa: F401 + from typing import Any, Union # noqa: F401 + + +class InstallationCandidate(KeyBasedCompareMixin): + """Represents a potential "candidate" for installation. + """ + + def __init__(self, project, version, location): + # type: (Any, str, Link) -> None + self.project = project + self.version = parse_version(version) # type: _BaseVersion + self.location = location + + super(InstallationCandidate, self).__init__( + key=(self.project, self.version, self.location), + defining_class=InstallationCandidate + ) + + def __repr__(self): + # type: () -> str + return "<InstallationCandidate({!r}, {!r}, {!r})>".format( + self.project, self.version, self.location, + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/format_control.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/format_control.py new file mode 100644 index 0000000..971a391 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/format_control.py @@ -0,0 +1,73 @@ +from pip._vendor.packaging.utils import canonicalize_name + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional, Set, FrozenSet # noqa: F401 + + +class FormatControl(object): + """Helper for managing formats from which a package can be installed. + """ + + def __init__(self, no_binary=None, only_binary=None): + # type: (Optional[Set], Optional[Set]) -> None + if no_binary is None: + no_binary = set() + if only_binary is None: + only_binary = set() + + self.no_binary = no_binary + self.only_binary = only_binary + + def __eq__(self, other): + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not self.__eq__(other) + + def __repr__(self): + return "{}({}, {})".format( + self.__class__.__name__, + self.no_binary, + self.only_binary + ) + + @staticmethod + def handle_mutual_excludes(value, target, other): + # type: (str, Optional[Set], Optional[Set]) -> None + new = value.split(',') + while ':all:' in new: + other.clear() + target.clear() + target.add(':all:') + del new[:new.index(':all:') + 1] + # Without a none, we want to discard everything as :all: covers it + if ':none:' not in new: + return + for name in new: + if name == ':none:': + target.clear() + continue + name = canonicalize_name(name) + other.discard(name) + target.add(name) + + def get_allowed_formats(self, canonical_name): + # type: (str) -> FrozenSet + result = {"binary", "source"} + if canonical_name in self.only_binary: + result.discard('source') + elif canonical_name in self.no_binary: + result.discard('binary') + elif ':all:' in self.only_binary: + result.discard('source') + elif ':all:' in self.no_binary: + result.discard('binary') + return frozenset(result) + + def disallow_binaries(self): + # type: () -> None + self.handle_mutual_excludes( + ':all:', self.no_binary, self.only_binary, + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/index.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/index.py new file mode 100644 index 0000000..ead1efb --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/index.py @@ -0,0 +1,31 @@ +from pip._vendor.six.moves.urllib import parse as urllib_parse + + +class PackageIndex(object): + """Represents a Package Index and provides easier access to endpoints + """ + + def __init__(self, url, file_storage_domain): + # type: (str, str) -> None + super(PackageIndex, self).__init__() + self.url = url + self.netloc = urllib_parse.urlsplit(url).netloc + self.simple_url = self._url_for_path('simple') + self.pypi_url = self._url_for_path('pypi') + + # This is part of a temporary hack used to block installs of PyPI + # packages which depend on external urls only necessary until PyPI can + # block such packages themselves + self.file_storage_domain = file_storage_domain + + def _url_for_path(self, path): + # type: (str) -> str + return urllib_parse.urljoin(self.url, path) + + +PyPI = PackageIndex( + 'https://pypi.org/', file_storage_domain='files.pythonhosted.org' +) +TestPyPI = PackageIndex( + 'https://test.pypi.org/', file_storage_domain='test-files.pythonhosted.org' +) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/link.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/link.py new file mode 100644 index 0000000..ad2f93e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/link.py @@ -0,0 +1,163 @@ +import posixpath +import re + +from pip._vendor.six.moves.urllib import parse as urllib_parse + +from pip._internal.download import path_to_url +from pip._internal.utils.misc import ( + WHEEL_EXTENSION, redact_password_from_url, splitext, +) +from pip._internal.utils.models import KeyBasedCompareMixin +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional, Tuple, Union, Text # noqa: F401 + from pip._internal.index import HTMLPage # noqa: F401 + + +class Link(KeyBasedCompareMixin): + """Represents a parsed link from a Package Index's simple URL + """ + + def __init__(self, url, comes_from=None, requires_python=None): + # type: (str, Optional[Union[str, HTMLPage]], Optional[str]) -> None + """ + 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 + + super(Link, self).__init__( + key=(self.url), + defining_class=Link + ) + + def __str__(self): + if self.requires_python: + rp = ' (requires-python:%s)' % self.requires_python + else: + rp = '' + if self.comes_from: + return '%s (from %s)%s' % (redact_password_from_url(self.url), + self.comes_from, rp) + else: + return redact_password_from_url(str(self.url)) + + def __repr__(self): + return '<Link %s>' % self + + @property + def filename(self): + # type: () -> str + _, 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): + # type: () -> str + return urllib_parse.urlsplit(self.url)[0] + + @property + def netloc(self): + # type: () -> str + return urllib_parse.urlsplit(self.url)[1] + + @property + def path(self): + # type: () -> str + return urllib_parse.unquote(urllib_parse.urlsplit(self.url)[2]) + + def splitext(self): + # type: () -> Tuple[str, str] + return splitext(posixpath.basename(self.path.rstrip('/'))) + + @property + def ext(self): + # type: () -> str + return self.splitext()[1] + + @property + def url_without_fragment(self): + # type: () -> str + scheme, netloc, path, query, fragment = 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): + # type: () -> Optional[str] + match = self._egg_fragment_re.search(self.url) + if not match: + return None + return match.group(1) + + _subdirectory_fragment_re = re.compile(r'[#&]subdirectory=([^&]*)') + + @property + def subdirectory_fragment(self): + # type: () -> Optional[str] + match = self._subdirectory_fragment_re.search(self.url) + if not match: + return None + return match.group(1) + + _hash_re = re.compile( + r'(sha1|sha224|sha384|sha256|sha512|md5)=([a-f0-9]+)' + ) + + @property + def hash(self): + # type: () -> Optional[str] + match = self._hash_re.search(self.url) + if match: + return match.group(2) + return None + + @property + def hash_name(self): + # type: () -> Optional[str] + match = self._hash_re.search(self.url) + if match: + return match.group(1) + return None + + @property + def show_url(self): + # type: () -> Optional[str] + return posixpath.basename(self.url.split('#', 1)[0].split('?', 1)[0]) + + @property + def is_wheel(self): + # type: () -> bool + return self.ext == WHEEL_EXTENSION + + @property + def is_artifact(self): + # type: () -> bool + """ + 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._internal.vcs import vcs + + if self.scheme in vcs.all_schemes: + return False + + return True diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/check.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/check.py new file mode 100644 index 0000000..0b56eda --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/check.py @@ -0,0 +1,155 @@ +"""Validation of dependencies of packages +""" + +import logging +from collections import namedtuple + +from pip._vendor.packaging.utils import canonicalize_name +from pip._vendor.pkg_resources import RequirementParseError + +from pip._internal.operations.prepare import make_abstract_dist +from pip._internal.utils.misc import get_installed_distributions +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +logger = logging.getLogger(__name__) + +if MYPY_CHECK_RUNNING: + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + from typing import ( # noqa: F401 + Any, Callable, Dict, Optional, Set, Tuple, List + ) + + # Shorthands + PackageSet = Dict[str, 'PackageDetails'] + Missing = Tuple[str, Any] + Conflicting = Tuple[str, str, Any] + + MissingDict = Dict[str, List[Missing]] + ConflictingDict = Dict[str, List[Conflicting]] + CheckResult = Tuple[MissingDict, ConflictingDict] + +PackageDetails = namedtuple('PackageDetails', ['version', 'requires']) + + +def create_package_set_from_installed(**kwargs): + # type: (**Any) -> Tuple[PackageSet, bool] + """Converts a list of distributions into a PackageSet. + """ + # Default to using all packages installed on the system + if kwargs == {}: + kwargs = {"local_only": False, "skip": ()} + + package_set = {} + problems = False + for dist in get_installed_distributions(**kwargs): + name = canonicalize_name(dist.project_name) + try: + package_set[name] = PackageDetails(dist.version, dist.requires()) + except RequirementParseError as e: + # Don't crash on broken metadata + logging.warning("Error parsing requirements for %s: %s", name, e) + problems = True + return package_set, problems + + +def check_package_set(package_set, should_ignore=None): + # type: (PackageSet, Optional[Callable[[str], bool]]) -> CheckResult + """Check if a package set is consistent + + If should_ignore is passed, it should be a callable that takes a + package name and returns a boolean. + """ + if should_ignore is None: + def should_ignore(name): + return False + + missing = dict() + conflicting = dict() + + for package_name in package_set: + # Info about dependencies of package_name + missing_deps = set() # type: Set[Missing] + conflicting_deps = set() # type: Set[Conflicting] + + if should_ignore(package_name): + continue + + for req in package_set[package_name].requires: + name = canonicalize_name(req.project_name) # type: str + + # Check if it's missing + if name not in package_set: + missed = True + if req.marker is not None: + missed = req.marker.evaluate() + if missed: + missing_deps.add((name, req)) + continue + + # Check if there's a conflict + version = package_set[name].version # type: str + if not req.specifier.contains(version, prereleases=True): + conflicting_deps.add((name, version, req)) + + if missing_deps: + missing[package_name] = sorted(missing_deps, key=str) + if conflicting_deps: + conflicting[package_name] = sorted(conflicting_deps, key=str) + + return missing, conflicting + + +def check_install_conflicts(to_install): + # type: (List[InstallRequirement]) -> Tuple[PackageSet, CheckResult] + """For checking if the dependency graph would be consistent after \ + installing given requirements + """ + # Start from the current state + package_set, _ = create_package_set_from_installed() + # Install packages + would_be_installed = _simulate_installation_of(to_install, package_set) + + # Only warn about directly-dependent packages; create a whitelist of them + whitelist = _create_whitelist(would_be_installed, package_set) + + return ( + package_set, + check_package_set( + package_set, should_ignore=lambda name: name not in whitelist + ) + ) + + +def _simulate_installation_of(to_install, package_set): + # type: (List[InstallRequirement], PackageSet) -> Set[str] + """Computes the version of packages after installing to_install. + """ + + # Keep track of packages that were installed + installed = set() + + # Modify it as installing requirement_set would (assuming no errors) + for inst_req in to_install: + dist = make_abstract_dist(inst_req).dist() + name = canonicalize_name(dist.key) + package_set[name] = PackageDetails(dist.version, dist.requires()) + + installed.add(name) + + return installed + + +def _create_whitelist(would_be_installed, package_set): + # type: (Set[str], PackageSet) -> Set[str] + packages_affected = set(would_be_installed) + + for package_name in package_set: + if package_name in packages_affected: + continue + + for req in package_set[package_name].requires: + if canonicalize_name(req.name) in packages_affected: + packages_affected.add(package_name) + break + + return packages_affected diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/freeze.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/freeze.py new file mode 100644 index 0000000..388bb73 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/freeze.py @@ -0,0 +1,247 @@ +from __future__ import absolute_import + +import collections +import logging +import os +import re + +from pip._vendor import six +from pip._vendor.packaging.utils import canonicalize_name +from pip._vendor.pkg_resources import RequirementParseError + +from pip._internal.exceptions import BadCommand, InstallationError +from pip._internal.req.constructors import ( + install_req_from_editable, install_req_from_line, +) +from pip._internal.req.req_file import COMMENT_RE +from pip._internal.utils.misc import ( + dist_is_editable, get_installed_distributions, +) +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Iterator, Optional, List, Container, Set, Dict, Tuple, Iterable, Union + ) + from pip._internal.cache import WheelCache # noqa: F401 + from pip._vendor.pkg_resources import ( # noqa: F401 + Distribution, Requirement + ) + + RequirementInfo = Tuple[Optional[Union[str, Requirement]], bool, List[str]] + + +logger = logging.getLogger(__name__) + + +def freeze( + requirement=None, # type: Optional[List[str]] + find_links=None, # type: Optional[List[str]] + local_only=None, # type: Optional[bool] + user_only=None, # type: Optional[bool] + skip_regex=None, # type: Optional[str] + isolated=False, # type: bool + wheel_cache=None, # type: Optional[WheelCache] + exclude_editable=False, # type: bool + skip=() # type: Container[str] +): + # type: (...) -> Iterator[str] + find_links = find_links or [] + skip_match = None + + if skip_regex: + skip_match = re.compile(skip_regex).search + + for link in find_links: + yield '-f %s' % link + installations = {} # type: Dict[str, FrozenRequirement] + for dist in get_installed_distributions(local_only=local_only, + skip=(), + user_only=user_only): + try: + req = FrozenRequirement.from_dist(dist) + except RequirementParseError: + logger.warning( + "Could not parse requirement: %s", + dist.project_name + ) + continue + if exclude_editable and req.editable: + continue + installations[req.name] = req + + if requirement: + # the options that don't get turned into an InstallRequirement + # should only be emitted once, even if the same option is in multiple + # requirements files, so we need to keep track of what has been emitted + # so that we don't emit it again if it's seen again + emitted_options = set() # type: Set[str] + # keep track of which files a requirement is in so that we can + # give an accurate warning if a requirement appears multiple times. + req_files = collections.defaultdict(list) # type: Dict[str, List[str]] + for req_file_path in requirement: + with open(req_file_path) as req_file: + for line in req_file: + if (not line.strip() or + line.strip().startswith('#') or + (skip_match and skip_match(line)) or + line.startswith(( + '-r', '--requirement', + '-Z', '--always-unzip', + '-f', '--find-links', + '-i', '--index-url', + '--pre', + '--trusted-host', + '--process-dependency-links', + '--extra-index-url'))): + line = line.rstrip() + if line not in emitted_options: + emitted_options.add(line) + yield line + continue + + if line.startswith('-e') or line.startswith('--editable'): + if line.startswith('-e'): + line = line[2:].strip() + else: + line = line[len('--editable'):].strip().lstrip('=') + line_req = install_req_from_editable( + line, + isolated=isolated, + wheel_cache=wheel_cache, + ) + else: + line_req = install_req_from_line( + COMMENT_RE.sub('', line).strip(), + isolated=isolated, + wheel_cache=wheel_cache, + ) + + if not line_req.name: + logger.info( + "Skipping line in requirement file [%s] because " + "it's not clear what it would install: %s", + req_file_path, line.strip(), + ) + logger.info( + " (add #egg=PackageName to the URL to avoid" + " this warning)" + ) + elif line_req.name not in installations: + # either it's not installed, or it is installed + # but has been processed already + if not req_files[line_req.name]: + logger.warning( + "Requirement file [%s] contains %s, but " + "package %r is not installed", + req_file_path, + COMMENT_RE.sub('', line).strip(), line_req.name + ) + else: + req_files[line_req.name].append(req_file_path) + else: + yield str(installations[line_req.name]).rstrip() + del installations[line_req.name] + req_files[line_req.name].append(req_file_path) + + # Warn about requirements that were included multiple times (in a + # single requirements file or in different requirements files). + for name, files in six.iteritems(req_files): + if len(files) > 1: + logger.warning("Requirement %s included multiple times [%s]", + name, ', '.join(sorted(set(files)))) + + yield( + '## The following requirements were added by ' + 'pip freeze:' + ) + for installation in sorted( + installations.values(), key=lambda x: x.name.lower()): + if canonicalize_name(installation.name) not in skip: + yield str(installation).rstrip() + + +def get_requirement_info(dist): + # type: (Distribution) -> RequirementInfo + """ + Compute and return values (req, editable, comments) for use in + FrozenRequirement.from_dist(). + """ + if not dist_is_editable(dist): + return (None, False, []) + + location = os.path.normcase(os.path.abspath(dist.location)) + + from pip._internal.vcs import vcs, RemoteNotFoundError + vc_type = vcs.get_backend_type(location) + + if not vc_type: + req = dist.as_requirement() + logger.debug( + 'No VCS found for editable requirement {!r} in: {!r}', req, + location, + ) + comments = [ + '# Editable install with no version control ({})'.format(req) + ] + return (location, True, comments) + + try: + req = vc_type.get_src_requirement(location, dist.project_name) + except RemoteNotFoundError: + req = dist.as_requirement() + comments = [ + '# Editable {} install with no remote ({})'.format( + vc_type.__name__, req, + ) + ] + return (location, True, comments) + + except BadCommand: + logger.warning( + 'cannot determine version of editable source in %s ' + '(%s command not found in path)', + location, + vc_type.name, + ) + return (None, True, []) + + except InstallationError as exc: + logger.warning( + "Error when trying to get requirement for VCS system %s, " + "falling back to uneditable format", exc + ) + else: + if req is not None: + return (req, True, []) + + logger.warning( + 'Could not determine repository location of %s', location + ) + comments = ['## !! Could not determine repository location'] + + return (None, False, comments) + + +class FrozenRequirement(object): + def __init__(self, name, req, editable, comments=()): + # type: (str, Union[str, Requirement], bool, Iterable[str]) -> None + self.name = name + self.req = req + self.editable = editable + self.comments = comments + + @classmethod + def from_dist(cls, dist): + # type: (Distribution) -> FrozenRequirement + req, editable, comments = get_requirement_info(dist) + if req is None: + req = dist.as_requirement() + + return cls(dist.project_name, req, editable, comments=comments) + + def __str__(self): + req = self.req + if self.editable: + req = '-e %s' % req + return '\n'.join(list(self.comments) + [str(req)]) + '\n' diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/prepare.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/prepare.py new file mode 100644 index 0000000..4f31dd5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/prepare.py @@ -0,0 +1,413 @@ +"""Prepares a distribution for installation +""" + +import logging +import os + +from pip._vendor import pkg_resources, requests + +from pip._internal.build_env import BuildEnvironment +from pip._internal.download import ( + is_dir_url, is_file_url, is_vcs_url, unpack_url, url_to_path, +) +from pip._internal.exceptions import ( + DirectoryUrlHashUnsupported, HashUnpinned, InstallationError, + PreviousBuildDirError, VcsHashUnsupported, +) +from pip._internal.utils.compat import expanduser +from pip._internal.utils.hashes import MissingHashes +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import display_path, normalize_path +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.vcs import vcs + +if MYPY_CHECK_RUNNING: + from typing import Any, Optional # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + from pip._internal.index import PackageFinder # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + from pip._internal.req.req_tracker import RequirementTracker # noqa: F401 + +logger = logging.getLogger(__name__) + + +def make_abstract_dist(req): + # type: (InstallRequirement) -> DistAbstraction + """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.editable: + return IsSDist(req) + elif req.link and req.link.is_wheel: + return IsWheel(req) + else: + return IsSDist(req) + + +class DistAbstraction(object): + """Abstracts out the wheel vs non-wheel Resolver.resolve() 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): + # type: (InstallRequirement) -> None + self.req = req # type: InstallRequirement + + def dist(self): + # type: () -> Any + """Return a setuptools Dist object.""" + raise NotImplementedError + + def prep_for_dist(self, finder, build_isolation): + # type: (PackageFinder, bool) -> Any + """Ensure that we can get a Dist for this requirement.""" + raise NotImplementedError + + +class IsWheel(DistAbstraction): + + def dist(self): + # type: () -> pkg_resources.Distribution + return list(pkg_resources.find_distributions( + self.req.source_dir))[0] + + def prep_for_dist(self, finder, build_isolation): + # type: (PackageFinder, bool) -> Any + # FIXME:https://github.com/pypa/pip/issues/1112 + pass + + +class IsSDist(DistAbstraction): + + def dist(self): + return self.req.get_dist() + + def prep_for_dist(self, finder, build_isolation): + # type: (PackageFinder, bool) -> None + # Prepare for building. We need to: + # 1. Load pyproject.toml (if it exists) + # 2. Set up the build environment + + self.req.load_pyproject_toml() + should_isolate = self.req.use_pep517 and build_isolation + + def _raise_conflicts(conflicting_with, conflicting_reqs): + raise InstallationError( + "Some build dependencies for %s conflict with %s: %s." % ( + self.req, conflicting_with, ', '.join( + '%s is incompatible with %s' % (installed, wanted) + for installed, wanted in sorted(conflicting)))) + + if should_isolate: + # Isolate in a BuildEnvironment and install the build-time + # requirements. + self.req.build_env = BuildEnvironment() + self.req.build_env.install_requirements( + finder, self.req.pyproject_requires, 'overlay', + "Installing build dependencies" + ) + conflicting, missing = self.req.build_env.check_requirements( + self.req.requirements_to_check + ) + if conflicting: + _raise_conflicts("PEP 517/518 supported requirements", + conflicting) + if missing: + logger.warning( + "Missing build requirements in pyproject.toml for %s.", + self.req, + ) + logger.warning( + "The project does not specify a build backend, and " + "pip cannot fall back to setuptools without %s.", + " and ".join(map(repr, sorted(missing))) + ) + # Install any extra build dependencies that the backend requests. + # This must be done in a second pass, as the pyproject.toml + # dependencies must be installed before we can call the backend. + with self.req.build_env: + # We need to have the env active when calling the hook. + self.req.spin_message = "Getting requirements to build wheel" + reqs = self.req.pep517_backend.get_requires_for_build_wheel() + conflicting, missing = self.req.build_env.check_requirements(reqs) + if conflicting: + _raise_conflicts("the backend dependencies", conflicting) + self.req.build_env.install_requirements( + finder, missing, 'normal', + "Installing backend dependencies" + ) + + self.req.prepare_metadata() + self.req.assert_source_matches_version() + + +class Installed(DistAbstraction): + + def dist(self): + # type: () -> pkg_resources.Distribution + return self.req.satisfied_by + + def prep_for_dist(self, finder, build_isolation): + # type: (PackageFinder, bool) -> Any + pass + + +class RequirementPreparer(object): + """Prepares a Requirement + """ + + def __init__( + self, + build_dir, # type: str + download_dir, # type: Optional[str] + src_dir, # type: str + wheel_download_dir, # type: Optional[str] + progress_bar, # type: str + build_isolation, # type: bool + req_tracker # type: RequirementTracker + ): + # type: (...) -> None + super(RequirementPreparer, self).__init__() + + self.src_dir = src_dir + self.build_dir = build_dir + self.req_tracker = req_tracker + + # Where still packed archives should be written to. If None, they are + # not saved, and are deleted immediately after unpacking. + self.download_dir = download_dir + + # Where still-packed .whl files should be written to. If None, they are + # written to the download_dir parameter. Separate to download_dir to + # permit only keeping wheel archives for pip wheel. + if wheel_download_dir: + wheel_download_dir = normalize_path(wheel_download_dir) + self.wheel_download_dir = wheel_download_dir + + # NOTE + # download_dir and wheel_download_dir overlap semantically and may + # be combined if we're willing to have non-wheel archives present in + # the wheelhouse output by 'pip wheel'. + + self.progress_bar = progress_bar + + # Is build isolation allowed? + self.build_isolation = build_isolation + + @property + def _download_should_save(self): + # type: () -> bool + # TODO: Modify to reduce indentation needed + 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 prepare_linked_requirement( + self, + req, # type: InstallRequirement + session, # type: PipSession + finder, # type: PackageFinder + upgrade_allowed, # type: bool + require_hashes # type: bool + ): + # type: (...) -> DistAbstraction + """Prepare a requirement that would be obtained from req.link + """ + # TODO: Breakup into smaller functions + if req.link and req.link.scheme == 'file': + path = url_to_path(req.link.url) + logger.info('Processing %s', display_path(path)) + else: + logger.info('Collecting %s', req) + + with indent_log(): + # @@ if filesystem packages are not marked + # editable in a req, a non deterministic error + # occurs when the script attempts to unpack the + # build directory + req.ensure_has_source_dir(self.build_dir) + # If a checkout exists, it's unwise to keep going. version + # inconsistencies are logged later, but do not fail the + # installation. + # FIXME: this won't upgrade when there's an existing + # package unpacked in `req.source_dir` + # package unpacked in `req.source_dir` + if os.path.exists(os.path.join(req.source_dir, 'setup.py')): + raise PreviousBuildDirError( + "pip can't proceed with requirements '%s' due to a" + " pre-existing build directory (%s). This is " + "likely due to a previous installation that failed" + ". pip is being responsible and not assuming it " + "can delete this. Please delete it and try again." + % (req, req.source_dir) + ) + req.populate_link(finder, upgrade_allowed, require_hashes) + + # We can't hit this spot and have populate_link return None. + # req.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.link + link = req.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.original_link and not req.is_pinned: + # Unpinned packages are asking for trouble when a new + # version is uploaded. This isn't a security check, but + # it saves users a surprising hash mismatch in the + # future. + # + # file:/// URLs aren't pinnable, so don't complain + # about them not being pinned. + raise HashUnpinned() + + hashes = req.hashes(trust_internet=not require_hashes) + if require_hashes and not hashes: + # Known-good hashes are missing for this requirement, so + # shim it with a facade object that will provoke hash + # computation and then raise a HashMissing exception + # showing the user what the hash should be. + hashes = MissingHashes() + + try: + download_dir = self.download_dir + # We always delete unpacked sdists after pip ran. + autodelete_unpacked = True + if req.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.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.link, req.source_dir, + download_dir, autodelete_unpacked, + session=session, hashes=hashes, + progress_bar=self.progress_bar + ) + except requests.HTTPError as exc: + logger.critical( + 'Could not install requirement %s because of error %s', + req, + exc, + ) + raise InstallationError( + 'Could not install requirement %s because of HTTP ' + 'error %s for URL %s' % + (req, exc, req.link) + ) + abstract_dist = make_abstract_dist(req) + with self.req_tracker.track(req): + abstract_dist.prep_for_dist(finder, self.build_isolation) + if self._download_should_save: + # Make a .zip of the source_dir we already created. + if req.link.scheme in vcs.all_schemes: + req.archive(self.download_dir) + return abstract_dist + + def prepare_editable_requirement( + self, + req, # type: InstallRequirement + require_hashes, # type: bool + use_user_site, # type: bool + finder # type: PackageFinder + ): + # type: (...) -> DistAbstraction + """Prepare an editable requirement + """ + assert req.editable, "cannot prepare a non-editable req as editable" + + logger.info('Obtaining %s', req) + + with indent_log(): + if require_hashes: + raise InstallationError( + 'The editable requirement %s cannot be installed when ' + 'requiring hashes, because there is no single file to ' + 'hash.' % req + ) + req.ensure_has_source_dir(self.src_dir) + req.update_editable(not self._download_should_save) + + abstract_dist = make_abstract_dist(req) + with self.req_tracker.track(req): + abstract_dist.prep_for_dist(finder, self.build_isolation) + + if self._download_should_save: + req.archive(self.download_dir) + req.check_if_exists(use_user_site) + + return abstract_dist + + def prepare_installed_requirement(self, req, require_hashes, skip_reason): + # type: (InstallRequirement, bool, Optional[str]) -> DistAbstraction + """Prepare an already-installed requirement + """ + assert req.satisfied_by, "req should have been satisfied but isn't" + assert skip_reason is not None, ( + "did not get skip reason skipped but req.satisfied_by " + "is set to %r" % (req.satisfied_by,) + ) + logger.info( + 'Requirement %s: %s (%s)', + skip_reason, req, req.satisfied_by.version + ) + with indent_log(): + if require_hashes: + logger.debug( + 'Since it is already installed, we are trusting this ' + 'package without checking its hash. To ensure a ' + 'completely repeatable environment, install into an ' + 'empty virtualenv.' + ) + abstract_dist = Installed(req) + + return abstract_dist diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pep425tags.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pep425tags.py new file mode 100644 index 0000000..1e782d1 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pep425tags.py @@ -0,0 +1,381 @@ +"""Generate and work with PEP 425 Compatibility Tags.""" +from __future__ import absolute_import + +import distutils.util +import logging +import platform +import re +import sys +import sysconfig +import warnings +from collections import OrderedDict + +import pip._internal.utils.glibc +from pip._internal.utils.compat import get_extension_suffixes +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Tuple, Callable, List, Optional, Union, Dict + ) + + Pep425Tag = Tuple[str, str, str] + +logger = logging.getLogger(__name__) + +_osx_arch_pat = re.compile(r'(.+)_(\d+)_(\d+)_(.+)') + + +def get_config_var(var): + # type: (str) -> Optional[str] + try: + return sysconfig.get_config_var(var) + except IOError as e: # Issue #1074 + warnings.warn("{}".format(e), RuntimeWarning) + return None + + +def get_abbr_impl(): + # type: () -> str + """Return abbreviated implementation name.""" + if hasattr(sys, 'pypy_version_info'): + pyimpl = 'pp' + elif sys.platform.startswith('java'): + pyimpl = 'jy' + elif sys.platform == 'cli': + pyimpl = 'ip' + else: + pyimpl = 'cp' + return pyimpl + + +def get_impl_ver(): + # type: () -> str + """Return implementation version.""" + impl_ver = get_config_var("py_version_nodot") + if not impl_ver or get_abbr_impl() == 'pp': + impl_ver = ''.join(map(str, get_impl_version_info())) + return impl_ver + + +def get_impl_version_info(): + # type: () -> Tuple[int, ...] + """Return sys.version_info-like tuple for use in decrementing the minor + version.""" + if get_abbr_impl() == 'pp': + # as per https://github.com/pypa/pip/issues/2882 + # attrs exist only on pypy + return (sys.version_info[0], + sys.pypy_version_info.major, # type: ignore + sys.pypy_version_info.minor) # type: ignore + else: + return sys.version_info[0], sys.version_info[1] + + +def get_impl_tag(): + # type: () -> str + """ + Returns the Tag for this specific implementation. + """ + return "{}{}".format(get_abbr_impl(), get_impl_ver()) + + +def get_flag(var, fallback, expected=True, warn=True): + # type: (str, Callable[..., bool], Union[bool, int], bool) -> bool + """Use a fallback method for determining SOABI flags if the needed config + var is unset or unavailable.""" + val = get_config_var(var) + if val is None: + if warn: + logger.debug("Config variable '%s' is unset, Python ABI tag may " + "be incorrect", var) + return fallback() + return val == expected + + +def get_abi_tag(): + # type: () -> Optional[str] + """Return the ABI tag based on SOABI (if available) or emulate SOABI + (CPython 2, PyPy).""" + soabi = get_config_var('SOABI') + impl = get_abbr_impl() + 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(): + # type: () -> bool + return sys.maxsize == 2147483647 + + +def get_platform(): + # type: () -> str + """Return our platform name 'win32', 'linux_x86_64'""" + if sys.platform == 'darwin': + # distutils.util.get_platform() returns the release based on the value + # of MACOSX_DEPLOYMENT_TARGET on which Python was built, which may + # be significantly older than the user's current machine. + release, _, machine = platform.mac_ver() + split_ver = release.split('.') + + if machine == "x86_64" and _is_running_32bit(): + machine = "i386" + elif machine == "ppc64" and _is_running_32bit(): + machine = "ppc" + + return 'macosx_{}_{}_{}'.format(split_ver[0], split_ver[1], machine) + + # XXX remove distutils dependency + result = distutils.util.get_platform().replace('.', '_').replace('-', '_') + if result == "linux_x86_64" and _is_running_32bit(): + # 32 bit Python program (running on a 64 bit Linux): pip should only + # install and run 32 bit compiled extensions in that case. + result = "linux_i686" + + return result + + +def is_manylinux1_compatible(): + # type: () -> bool + # Only Linux, and only x86-64 / i686 + if get_platform() not in {"linux_x86_64", "linux_i686"}: + return False + + # Check for presence of _manylinux module + try: + import _manylinux + return bool(_manylinux.manylinux1_compatible) + except (ImportError, AttributeError): + # Fall through to heuristic check below + pass + + # Check glibc version. CentOS 5 uses glibc 2.5. + return pip._internal.utils.glibc.have_compatible_glibc(2, 5) + + +def is_manylinux2010_compatible(): + # type: () -> bool + # Only Linux, and only x86-64 / i686 + if get_platform() not in {"linux_x86_64", "linux_i686"}: + return False + + # Check for presence of _manylinux module + try: + import _manylinux + return bool(_manylinux.manylinux2010_compatible) + except (ImportError, AttributeError): + # Fall through to heuristic check below + pass + + # Check glibc version. CentOS 6 uses glibc 2.12. + return pip._internal.utils.glibc.have_compatible_glibc(2, 12) + + +def get_darwin_arches(major, minor, machine): + # type: (int, int, str) -> List[str] + """Return a list of supported arches (including group arches) for + the given major, minor and machine architecture of an macOS machine. + """ + arches = [] + + def _supports_arch(major, minor, arch): + # type: (int, int, str) -> bool + # Looking at the application support for macOS versions in the chart + # provided by https://en.wikipedia.org/wiki/OS_X#Versions it appears + # our timeline looks roughly like: + # + # 10.0 - Introduces ppc support. + # 10.4 - Introduces ppc64, i386, and x86_64 support, however the ppc64 + # and x86_64 support is CLI only, and cannot be used for GUI + # applications. + # 10.5 - Extends ppc64 and x86_64 support to cover GUI applications. + # 10.6 - Drops support for ppc64 + # 10.7 - Drops support for ppc + # + # Given that we do not know if we're installing a CLI or a GUI + # application, we must be conservative and assume it might be a GUI + # application and behave as if ppc64 and x86_64 support did not occur + # until 10.5. + # + # Note: The above information is taken from the "Application support" + # column in the chart not the "Processor support" since I believe + # that we care about what instruction sets an application can use + # not which processors the OS supports. + if arch == 'ppc': + return (major, minor) <= (10, 5) + if arch == 'ppc64': + return (major, minor) == (10, 5) + if arch == 'i386': + return (major, minor) >= (10, 4) + if arch == 'x86_64': + return (major, minor) >= (10, 5) + if arch in groups: + for garch in groups[arch]: + if _supports_arch(major, minor, garch): + return True + return False + + groups = OrderedDict([ + ("fat", ("i386", "ppc")), + ("intel", ("x86_64", "i386")), + ("fat64", ("x86_64", "ppc64")), + ("fat32", ("x86_64", "i386", "ppc")), + ]) # type: Dict[str, Tuple[str, ...]] + + if _supports_arch(major, minor, machine): + arches.append(machine) + + for garch in groups: + if machine in groups[garch] and _supports_arch(major, minor, garch): + arches.append(garch) + + arches.append('universal') + + return arches + + +def get_all_minor_versions_as_strings(version_info): + # type: (Tuple[int, ...]) -> List[str] + versions = [] + major = version_info[:-1] + # Support all previous minor Python versions. + for minor in range(version_info[-1], -1, -1): + versions.append(''.join(map(str, major + (minor,)))) + return versions + + +def get_supported( + versions=None, # type: Optional[List[str]] + noarch=False, # type: bool + platform=None, # type: Optional[str] + impl=None, # type: Optional[str] + abi=None # type: Optional[str] +): + # type: (...) -> List[Pep425Tag] + """Return a list of supported tags for each version specified in + `versions`. + + :param versions: a list of string versions, of the form ["33", "32"], + or None. The first version will be assumed to support our ABI. + :param platform: specify the exact platform you want valid + tags for, or None. If None, use the local system platform. + :param impl: specify the exact implementation you want valid + tags for, or None. If None, use the local interpreter impl. + :param abi: specify the exact abi you want valid + tags for, or None. If None, use the local interpreter abi. + """ + supported = [] + + # Versions must be given with respect to the preference + if versions is None: + version_info = get_impl_version_info() + versions = get_all_minor_versions_as_strings(version_info) + + impl = impl or get_abbr_impl() + + abis = [] # type: List[str] + + abi = abi or get_abi_tag() + if abi: + abis[0:0] = [abi] + + abi3s = set() + for suffix in get_extension_suffixes(): + if suffix.startswith('.abi'): + abi3s.add(suffix.split('.', 2)[1]) + + abis.extend(sorted(list(abi3s))) + + abis.append('none') + + if not noarch: + arch = platform or get_platform() + arch_prefix, arch_sep, arch_suffix = arch.partition('_') + if arch.startswith('macosx'): + # support macosx-10.6-intel on macosx-10.9-x86_64 + match = _osx_arch_pat.match(arch) + if match: + name, major, minor, actual_arch = match.groups() + tpl = '{}_{}_%i_%s'.format(name, major) + arches = [] + for m in reversed(range(int(minor) + 1)): + for a in get_darwin_arches(int(major), m, actual_arch): + arches.append(tpl % (m, a)) + else: + # arch pattern didn't match (?!) + arches = [arch] + elif arch_prefix == 'manylinux2010': + # manylinux1 wheels run on most manylinux2010 systems with the + # exception of wheels depending on ncurses. PEP 571 states + # manylinux1 wheels should be considered manylinux2010 wheels: + # https://www.python.org/dev/peps/pep-0571/#backwards-compatibility-with-manylinux1-wheels + arches = [arch, 'manylinux1' + arch_sep + arch_suffix] + elif platform is None: + arches = [] + if is_manylinux2010_compatible(): + arches.append('manylinux2010' + arch_sep + arch_suffix) + if is_manylinux1_compatible(): + arches.append('manylinux1' + arch_sep + arch_suffix) + arches.append(arch) + else: + arches = [arch] + + # Current version, current API (built specifically for our Python): + for abi in abis: + for arch in arches: + supported.append(('%s%s' % (impl, versions[0]), abi, arch)) + + # abi3 modules compatible with older version of Python + for version in versions[1:]: + # abi3 was introduced in Python 3.2 + if version in {'31', '30'}: + break + for abi in abi3s: # empty set if not Python 3 + for arch in arches: + supported.append(("%s%s" % (impl, version), abi, arch)) + + # Has binaries, does not use the Python API: + for arch in arches: + supported.append(('py%s' % (versions[0][0]), 'none', arch)) + + # No abi / arch, but requires our implementation: + supported.append(('%s%s' % (impl, versions[0]), 'none', 'any')) + # Tagged specifically as being cross-version compatible + # (with just the major version specified) + supported.append(('%s%s' % (impl, versions[0][0]), 'none', 'any')) + + # No abi / arch, generic Python + for i, version in enumerate(versions): + supported.append(('py%s' % (version,), 'none', 'any')) + if i == 0: + supported.append(('py%s' % (version[0]), 'none', 'any')) + + return supported + + +implementation_tag = get_impl_tag() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pyproject.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pyproject.py new file mode 100644 index 0000000..8d739a6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pyproject.py @@ -0,0 +1,171 @@ +from __future__ import absolute_import + +import io +import os +import sys + +from pip._vendor import pytoml, six + +from pip._internal.exceptions import InstallationError +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Any, Tuple, Optional, List # noqa: F401 + + +def _is_list_of_str(obj): + # type: (Any) -> bool + return ( + isinstance(obj, list) and + all(isinstance(item, six.string_types) for item in obj) + ) + + +def make_pyproject_path(setup_py_dir): + # type: (str) -> str + path = os.path.join(setup_py_dir, 'pyproject.toml') + + # Python2 __file__ should not be unicode + if six.PY2 and isinstance(path, six.text_type): + path = path.encode(sys.getfilesystemencoding()) + + return path + + +def load_pyproject_toml( + use_pep517, # type: Optional[bool] + pyproject_toml, # type: str + setup_py, # type: str + req_name # type: str +): + # type: (...) -> Optional[Tuple[List[str], str, List[str]]] + """Load the pyproject.toml file. + + Parameters: + use_pep517 - Has the user requested PEP 517 processing? None + means the user hasn't explicitly specified. + pyproject_toml - Location of the project's pyproject.toml file + setup_py - Location of the project's setup.py file + req_name - The name of the requirement we're processing (for + error reporting) + + Returns: + None if we should use the legacy code path, otherwise a tuple + ( + requirements from pyproject.toml, + name of PEP 517 backend, + requirements we should check are installed after setting + up the build environment + ) + """ + has_pyproject = os.path.isfile(pyproject_toml) + has_setup = os.path.isfile(setup_py) + + if has_pyproject: + with io.open(pyproject_toml, encoding="utf-8") as f: + pp_toml = pytoml.load(f) + build_system = pp_toml.get("build-system") + else: + build_system = None + + # The following cases must use PEP 517 + # We check for use_pep517 being non-None and falsey because that means + # the user explicitly requested --no-use-pep517. The value 0 as + # opposed to False can occur when the value is provided via an + # environment variable or config file option (due to the quirk of + # strtobool() returning an integer in pip's configuration code). + if has_pyproject and not has_setup: + if use_pep517 is not None and not use_pep517: + raise InstallationError( + "Disabling PEP 517 processing is invalid: " + "project does not have a setup.py" + ) + use_pep517 = True + elif build_system and "build-backend" in build_system: + if use_pep517 is not None and not use_pep517: + raise InstallationError( + "Disabling PEP 517 processing is invalid: " + "project specifies a build backend of {} " + "in pyproject.toml".format( + build_system["build-backend"] + ) + ) + use_pep517 = True + + # If we haven't worked out whether to use PEP 517 yet, + # and the user hasn't explicitly stated a preference, + # we do so if the project has a pyproject.toml file. + elif use_pep517 is None: + use_pep517 = has_pyproject + + # At this point, we know whether we're going to use PEP 517. + assert use_pep517 is not None + + # If we're using the legacy code path, there is nothing further + # for us to do here. + if not use_pep517: + return None + + if build_system is None: + # Either the user has a pyproject.toml with no build-system + # section, or the user has no pyproject.toml, but has opted in + # explicitly via --use-pep517. + # In the absence of any explicit backend specification, we + # assume the setuptools backend that most closely emulates the + # traditional direct setup.py execution, and require wheel and + # a version of setuptools that supports that backend. + + build_system = { + "requires": ["setuptools>=40.8.0", "wheel"], + "build-backend": "setuptools.build_meta:__legacy__", + } + + # If we're using PEP 517, we have build system information (either + # from pyproject.toml, or defaulted by the code above). + # Note that at this point, we do not know if the user has actually + # specified a backend, though. + assert build_system is not None + + # Ensure that the build-system section in pyproject.toml conforms + # to PEP 518. + error_template = ( + "{package} has a pyproject.toml file that does not comply " + "with PEP 518: {reason}" + ) + + # Specifying the build-system table but not the requires key is invalid + if "requires" not in build_system: + raise InstallationError( + error_template.format(package=req_name, reason=( + "it has a 'build-system' table but not " + "'build-system.requires' which is mandatory in the table" + )) + ) + + # Error out if requires is not a list of strings + requires = build_system["requires"] + if not _is_list_of_str(requires): + raise InstallationError(error_template.format( + package=req_name, + reason="'build-system.requires' is not a list of strings.", + )) + + backend = build_system.get("build-backend") + check = [] # type: List[str] + if backend is None: + # If the user didn't specify a backend, we assume they want to use + # the setuptools backend. But we can't be sure they have included + # a version of setuptools which supplies the backend, or wheel + # (which is needed by the backend) in their requirements. So we + # make a note to check that those requirements are present once + # we have set up the environment. + # This is quite a lot of work to check for a very specific case. But + # the problem is, that case is potentially quite common - projects that + # adopted PEP 518 early for the ability to specify requirements to + # execute setup.py, but never considered needing to mention the build + # tools themselves. The original PEP 518 code had a similar check (but + # implemented in a different way). + backend = "setuptools.build_meta:__legacy__" + check = ["setuptools>=40.8.0", "wheel"] + + return (requires, backend, check) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__init__.py new file mode 100644 index 0000000..5e4eb92 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__init__.py @@ -0,0 +1,77 @@ +from __future__ import absolute_import + +import logging + +from .req_install import InstallRequirement +from .req_set import RequirementSet +from .req_file import parse_requirements +from pip._internal.utils.logging import indent_log +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import List, Sequence # noqa: F401 + +__all__ = [ + "RequirementSet", "InstallRequirement", + "parse_requirements", "install_given_reqs", +] + +logger = logging.getLogger(__name__) + + +def install_given_reqs( + to_install, # type: List[InstallRequirement] + install_options, # type: List[str] + global_options=(), # type: Sequence[str] + *args, **kwargs +): + # type: (...) -> List[InstallRequirement] + """ + Install everything in the given list. + + (to be called after having downloaded and unpacked the packages) + """ + + if to_install: + logger.info( + 'Installing collected packages: %s', + ', '.join([req.name for req in to_install]), + ) + + with indent_log(): + for requirement in to_install: + if requirement.conflicts_with: + logger.info( + 'Found existing installation: %s', + requirement.conflicts_with, + ) + with indent_log(): + uninstalled_pathset = requirement.uninstall( + auto_confirm=True + ) + try: + requirement.install( + install_options, + global_options, + *args, + **kwargs + ) + except Exception: + should_rollback = ( + requirement.conflicts_with and + not requirement.install_succeeded + ) + # if install did not succeed, rollback previous uninstall + if should_rollback: + uninstalled_pathset.rollback() + raise + else: + should_commit = ( + requirement.conflicts_with and + requirement.install_succeeded + ) + if should_commit: + uninstalled_pathset.commit() + requirement.remove_temporary_source() + + return to_install diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/constructors.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/constructors.py new file mode 100644 index 0000000..1eed1dd --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/constructors.py @@ -0,0 +1,339 @@ +"""Backing implementation for InstallRequirement's various constructors + +The idea here is that these formed a major chunk of InstallRequirement's size +so, moving them and support code dedicated to them outside of that class +helps creates for better understandability for the rest of the code. + +These are meant to be used elsewhere within pip to create instances of +InstallRequirement. +""" + +import logging +import os +import re + +from pip._vendor.packaging.markers import Marker +from pip._vendor.packaging.requirements import InvalidRequirement, Requirement +from pip._vendor.packaging.specifiers import Specifier +from pip._vendor.pkg_resources import RequirementParseError, parse_requirements + +from pip._internal.download import ( + is_archive_file, is_url, path_to_url, url_to_path, +) +from pip._internal.exceptions import InstallationError +from pip._internal.models.index import PyPI, TestPyPI +from pip._internal.models.link import Link +from pip._internal.pyproject import make_pyproject_path +from pip._internal.req.req_install import InstallRequirement +from pip._internal.utils.misc import is_installable_dir +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.vcs import vcs +from pip._internal.wheel import Wheel + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Optional, Tuple, Set, Any, Union, Text, Dict, + ) + from pip._internal.cache import WheelCache # noqa: F401 + + +__all__ = [ + "install_req_from_editable", "install_req_from_line", + "parse_editable" +] + +logger = logging.getLogger(__name__) +operators = Specifier._operators.keys() + + +def _strip_extras(path): + # type: (str) -> Tuple[str, Optional[str]] + m = re.match(r'^(.+)(\[[^\]]+\])$', path) + extras = None + if m: + path_no_extras = m.group(1) + extras = m.group(2) + else: + path_no_extras = path + + return path_no_extras, extras + + +def parse_editable(editable_req): + # type: (str) -> Tuple[Optional[str], str, Optional[Set[str]]] + """Parses an editable requirement into: + - a requirement name + - an URL + - extras + - editable options + Accepted requirements: + svn+http://blahblah@rev#egg=Foobar[baz]&subdirectory=version_subdir + .[some_extra] + """ + + url = editable_req + + # If a file path is specified with extras, strip off the extras. + url_no_extras, extras = _strip_extras(url) + + if os.path.isdir(url_no_extras): + if not os.path.exists(os.path.join(url_no_extras, 'setup.py')): + msg = ( + 'File "setup.py" not found. Directory cannot be installed ' + 'in editable mode: {}'.format(os.path.abspath(url_no_extras)) + ) + pyproject_path = make_pyproject_path(url_no_extras) + if os.path.isfile(pyproject_path): + msg += ( + '\n(A "pyproject.toml" file was found, but editable ' + 'mode currently requires a setup.py based build.)' + ) + raise InstallationError(msg) + + # Treating it as code that has already been checked out + url_no_extras = path_to_url(url_no_extras) + + if url_no_extras.lower().startswith('file:'): + package_name = Link(url_no_extras).egg_fragment + if extras: + return ( + package_name, + url_no_extras, + Requirement("placeholder" + extras.lower()).extras, + ) + else: + return package_name, url_no_extras, None + + for version_control in vcs: + if url.lower().startswith('%s:' % version_control): + url = '%s+%s' % (version_control, url) + break + + if '+' not in url: + raise InstallationError( + '%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 for '%s', please specify one " + "with #egg=your_package_name" % editable_req + ) + return package_name, url, None + + +def deduce_helpful_msg(req): + # type: (str) -> str + """Returns helpful msg in case requirements file does not exist, + or cannot be parsed. + + :params req: Requirements file path + """ + msg = "" + if os.path.exists(req): + msg = " It does exist." + # Try to parse and check if it is a requirements file. + try: + with open(req, 'r') as fp: + # parse first line only + next(parse_requirements(fp.read())) + msg += " The argument you provided " + \ + "(%s) appears to be a" % (req) + \ + " requirements file. If that is the" + \ + " case, use the '-r' flag to install" + \ + " the packages specified within it." + except RequirementParseError: + logger.debug("Cannot parse '%s' as requirements \ + file" % (req), exc_info=True) + else: + msg += " File '%s' does not exist." % (req) + return msg + + +# ---- The actual constructors follow ---- + + +def install_req_from_editable( + editable_req, # type: str + comes_from=None, # type: Optional[str] + use_pep517=None, # type: Optional[bool] + isolated=False, # type: bool + options=None, # type: Optional[Dict[str, Any]] + wheel_cache=None, # type: Optional[WheelCache] + constraint=False # type: bool +): + # type: (...) -> InstallRequirement + name, url, extras_override = parse_editable(editable_req) + if url.startswith('file:'): + source_dir = url_to_path(url) + else: + source_dir = None + + if name is not None: + try: + req = Requirement(name) + except InvalidRequirement: + raise InstallationError("Invalid requirement: '%s'" % name) + else: + req = None + return InstallRequirement( + req, comes_from, source_dir=source_dir, + editable=True, + link=Link(url), + constraint=constraint, + use_pep517=use_pep517, + isolated=isolated, + options=options if options else {}, + wheel_cache=wheel_cache, + extras=extras_override or (), + ) + + +def install_req_from_line( + name, # type: str + comes_from=None, # type: Optional[Union[str, InstallRequirement]] + use_pep517=None, # type: Optional[bool] + isolated=False, # type: bool + options=None, # type: Optional[Dict[str, Any]] + wheel_cache=None, # type: Optional[WheelCache] + constraint=False # type: bool +): + # type: (...) -> InstallRequirement + """Creates an InstallRequirement from a name, which might be a + requirement, directory containing 'setup.py', filename, or URL. + """ + if is_url(name): + marker_sep = '; ' + else: + marker_sep = ';' + if marker_sep in name: + name, markers_as_string = name.split(marker_sep, 1) + markers_as_string = markers_as_string.strip() + if not markers_as_string: + markers = None + else: + markers = Marker(markers_as_string) + else: + markers = None + name = name.strip() + req_as_string = None + path = os.path.normpath(os.path.abspath(name)) + link = None + extras_as_string = None + + if is_url(name): + link = Link(name) + else: + p, extras_as_string = _strip_extras(path) + looks_like_dir = os.path.isdir(p) and ( + os.path.sep in name or + (os.path.altsep is not None and os.path.altsep in name) or + name.startswith('.') + ) + if looks_like_dir: + if not is_installable_dir(p): + raise InstallationError( + "Directory %r is not installable. Neither 'setup.py' " + "nor 'pyproject.toml' 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_as_string = "%s==%s" % (wheel.name, wheel.version) + else: + # set the req to the egg fragment. when it's not there, this + # will become an 'unnamed' requirement + req_as_string = link.egg_fragment + + # a requirement specifier + else: + req_as_string = name + + if extras_as_string: + extras = Requirement("placeholder" + extras_as_string.lower()).extras + else: + extras = () + if req_as_string is not None: + try: + req = Requirement(req_as_string) + except InvalidRequirement: + if os.path.sep in req_as_string: + add_msg = "It looks like a path." + add_msg += deduce_helpful_msg(req_as_string) + elif ('=' in req_as_string and + not any(op in req_as_string for op in operators)): + add_msg = "= is not a valid operator. Did you mean == ?" + else: + add_msg = "" + raise InstallationError( + "Invalid requirement: '%s'\n%s" % (req_as_string, add_msg) + ) + else: + req = None + + return InstallRequirement( + req, comes_from, link=link, markers=markers, + use_pep517=use_pep517, isolated=isolated, + options=options if options else {}, + wheel_cache=wheel_cache, + constraint=constraint, + extras=extras, + ) + + +def install_req_from_req_string( + req_string, # type: str + comes_from=None, # type: Optional[InstallRequirement] + isolated=False, # type: bool + wheel_cache=None, # type: Optional[WheelCache] + use_pep517=None # type: Optional[bool] +): + # type: (...) -> InstallRequirement + try: + req = Requirement(req_string) + except InvalidRequirement: + raise InstallationError("Invalid requirement: '%s'" % req) + + domains_not_allowed = [ + PyPI.file_storage_domain, + TestPyPI.file_storage_domain, + ] + if req.url and comes_from.link.netloc in domains_not_allowed: + # Explicitly disallow pypi packages that depend on external urls + raise InstallationError( + "Packages installed from PyPI cannot depend on packages " + "which are not also hosted on PyPI.\n" + "%s depends on %s " % (comes_from.name, req) + ) + + return InstallRequirement( + req, comes_from, isolated=isolated, wheel_cache=wheel_cache, + use_pep517=use_pep517 + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_file.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_file.py new file mode 100644 index 0000000..726f2f6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_file.py @@ -0,0 +1,382 @@ +""" +Requirements file parsing +""" + +from __future__ import absolute_import + +import optparse +import os +import re +import shlex +import sys + +from pip._vendor.six.moves import filterfalse +from pip._vendor.six.moves.urllib import parse as urllib_parse + +from pip._internal.cli import cmdoptions +from pip._internal.download import get_file_content +from pip._internal.exceptions import RequirementsFileParseError +from pip._internal.req.constructors import ( + install_req_from_editable, install_req_from_line, +) +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Iterator, Tuple, Optional, List, Callable, Text + ) + from pip._internal.req import InstallRequirement # noqa: F401 + from pip._internal.cache import WheelCache # noqa: F401 + from pip._internal.index import PackageFinder # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + + ReqFileLines = Iterator[Tuple[int, Text]] + +__all__ = ['parse_requirements'] + +SCHEME_RE = re.compile(r'^(http|https|file):', re.I) +COMMENT_RE = re.compile(r'(^|\s)+#.*$') + +# Matches environment variable-style values in '${MY_VARIABLE_1}' with the +# variable name consisting of only uppercase letters, digits or the '_' +# (underscore). This follows the POSIX standard defined in IEEE Std 1003.1, +# 2013 Edition. +ENV_VAR_RE = re.compile(r'(?P<var>\$\{(?P<name>[A-Z0-9_]+)\})') + +SUPPORTED_OPTIONS = [ + cmdoptions.constraints, + cmdoptions.editable, + cmdoptions.requirements, + cmdoptions.no_index, + cmdoptions.index_url, + cmdoptions.find_links, + cmdoptions.extra_index_url, + cmdoptions.always_unzip, + cmdoptions.no_binary, + cmdoptions.only_binary, + cmdoptions.pre, + cmdoptions.trusted_host, + cmdoptions.require_hashes, +] # type: List[Callable[..., optparse.Option]] + +# options to be passed to requirements +SUPPORTED_OPTIONS_REQ = [ + cmdoptions.install_options, + cmdoptions.global_options, + cmdoptions.hash, +] # type: List[Callable[..., optparse.Option]] + +# the 'dest' string values +SUPPORTED_OPTIONS_REQ_DEST = [str(o().dest) for o in SUPPORTED_OPTIONS_REQ] + + +def parse_requirements( + filename, # type: str + finder=None, # type: Optional[PackageFinder] + comes_from=None, # type: Optional[str] + options=None, # type: Optional[optparse.Values] + session=None, # type: Optional[PipSession] + constraint=False, # type: bool + wheel_cache=None, # type: Optional[WheelCache] + use_pep517=None # type: Optional[bool] +): + # type: (...) -> Iterator[InstallRequirement] + """Parse a requirements file and yield InstallRequirement instances. + + :param filename: Path or url of requirements file. + :param finder: Instance of pip.index.PackageFinder. + :param comes_from: Origin description of requirements. + :param options: cli options. + :param session: Instance of pip.download.PipSession. + :param constraint: If true, parsing a constraint file rather than + requirements file. + :param wheel_cache: Instance of pip.wheel.WheelCache + :param use_pep517: Value of the --use-pep517 option. + """ + if session is None: + raise TypeError( + "parse_requirements() missing 1 required keyword argument: " + "'session'" + ) + + _, content = get_file_content( + filename, comes_from=comes_from, session=session + ) + + lines_enum = preprocess(content, options) + + for line_number, line in lines_enum: + req_iter = process_line(line, filename, line_number, finder, + comes_from, options, session, wheel_cache, + use_pep517=use_pep517, constraint=constraint) + for req in req_iter: + yield req + + +def preprocess(content, options): + # type: (Text, Optional[optparse.Values]) -> ReqFileLines + """Split, filter, and join lines, and return a line iterator + + :param content: the content of the requirements file + :param options: cli options + """ + lines_enum = enumerate(content.splitlines(), start=1) # type: ReqFileLines + lines_enum = join_lines(lines_enum) + lines_enum = ignore_comments(lines_enum) + lines_enum = skip_regex(lines_enum, options) + lines_enum = expand_env_variables(lines_enum) + return lines_enum + + +def process_line( + line, # type: Text + filename, # type: str + line_number, # type: int + finder=None, # type: Optional[PackageFinder] + comes_from=None, # type: Optional[str] + options=None, # type: Optional[optparse.Values] + session=None, # type: Optional[PipSession] + wheel_cache=None, # type: Optional[WheelCache] + use_pep517=None, # type: Optional[bool] + constraint=False # type: bool +): + # type: (...) -> Iterator[InstallRequirement] + """Process a single requirements line; This can result in creating/yielding + requirements, or updating the finder. + + For lines that contain requirements, the only options that have an effect + are from SUPPORTED_OPTIONS_REQ, and they are scoped to the + requirement. Other options from SUPPORTED_OPTIONS may be present, but are + ignored. + + For lines that do not contain requirements, the only options that have an + effect are from SUPPORTED_OPTIONS. Options from SUPPORTED_OPTIONS_REQ may + be present, but are ignored. These lines may contain multiple options + (although our docs imply only one is supported), and all our parsed and + affect the finder. + + :param constraint: If True, parsing a constraints file. + :param options: OptionParser options that we may update + """ + parser = build_parser(line) + defaults = parser.get_default_values() + defaults.index_url = None + if finder: + defaults.format_control = finder.format_control + args_str, options_str = break_args_options(line) + # Prior to 2.7.3, shlex cannot deal with unicode entries + if sys.version_info < (2, 7, 3): + # https://github.com/python/mypy/issues/1174 + options_str = options_str.encode('utf8') # type: ignore + # https://github.com/python/mypy/issues/1174 + opts, _ = parser.parse_args( + shlex.split(options_str), defaults) # type: ignore + + # preserve for the nested code path + line_comes_from = '%s %s (line %s)' % ( + '-c' if constraint else '-r', filename, line_number, + ) + + # yield a line requirement + if args_str: + isolated = options.isolated_mode if options else False + if options: + cmdoptions.check_install_build_global(options, opts) + # get the options that apply to requirements + req_options = {} + for dest in SUPPORTED_OPTIONS_REQ_DEST: + if dest in opts.__dict__ and opts.__dict__[dest]: + req_options[dest] = opts.__dict__[dest] + yield install_req_from_line( + args_str, line_comes_from, constraint=constraint, + use_pep517=use_pep517, + isolated=isolated, options=req_options, wheel_cache=wheel_cache + ) + + # yield an editable requirement + elif opts.editables: + isolated = options.isolated_mode if options else False + yield install_req_from_editable( + opts.editables[0], comes_from=line_comes_from, + use_pep517=use_pep517, + constraint=constraint, isolated=isolated, wheel_cache=wheel_cache + ) + + # parse a nested requirements file + elif opts.requirements or opts.constraints: + if opts.requirements: + req_path = opts.requirements[0] + nested_constraint = False + else: + req_path = opts.constraints[0] + nested_constraint = True + # original file is over http + if SCHEME_RE.search(filename): + # do a url join so relative paths work + req_path = urllib_parse.urljoin(filename, req_path) + # original file and nested file are paths + elif not SCHEME_RE.search(req_path): + # do a join so relative paths work + req_path = os.path.join(os.path.dirname(filename), req_path) + # TODO: Why not use `comes_from='-r {} (line {})'` here as well? + parsed_reqs = parse_requirements( + req_path, finder, comes_from, options, session, + constraint=nested_constraint, wheel_cache=wheel_cache + ) + for req in parsed_reqs: + yield req + + # percolate hash-checking option upward + elif opts.require_hashes: + options.require_hashes = opts.require_hashes + + # set finder options + elif finder: + if opts.index_url: + finder.index_urls = [opts.index_url] + 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.trusted_hosts: + finder.secure_origins.extend( + ("*", host, "*") for host in opts.trusted_hosts) + + +def break_args_options(line): + # type: (Text) -> Tuple[str, Text] + """Break up the line into an args and options string. We only want to shlex + (and then optparse) the options, not the args. args can contain markers + which are corrupted by shlex. + """ + tokens = line.split(' ') + args = [] + options = tokens[:] + for token in tokens: + if token.startswith('-') or token.startswith('--'): + break + else: + args.append(token) + options.pop(0) + return ' '.join(args), ' '.join(options) # type: ignore + + +def build_parser(line): + # type: (Text) -> optparse.OptionParser + """ + Return a parser for parsing requirement lines + """ + parser = optparse.OptionParser(add_help_option=False) + + option_factories = SUPPORTED_OPTIONS + SUPPORTED_OPTIONS_REQ + for option_factory in option_factories: + option = option_factory() + parser.add_option(option) + + # By default optparse sys.exits on parsing errors. We want to wrap + # that in our own exception. + def parser_exit(self, msg): + # add offending line + msg = 'Invalid requirement: %s\n%s' % (line, msg) + raise RequirementsFileParseError(msg) + # NOTE: mypy disallows assigning to a method + # https://github.com/python/mypy/issues/2427 + parser.exit = parser_exit # type: ignore + + return parser + + +def join_lines(lines_enum): + # type: (ReqFileLines) -> ReqFileLines + """Joins a line ending in '\' with the previous line (except when following + comments). The joined line takes on the index of the first line. + """ + primary_line_number = None + new_line = [] # type: List[Text] + for line_number, line in lines_enum: + if not line.endswith('\\') or COMMENT_RE.match(line): + if COMMENT_RE.match(line): + # this ensures comments are always matched later + line = ' ' + line + if new_line: + new_line.append(line) + yield primary_line_number, ''.join(new_line) + new_line = [] + else: + yield line_number, line + else: + if not new_line: + primary_line_number = line_number + new_line.append(line.strip('\\')) + + # last line contains \ + if new_line: + yield primary_line_number, ''.join(new_line) + + # TODO: handle space after '\'. + + +def ignore_comments(lines_enum): + # type: (ReqFileLines) -> ReqFileLines + """ + Strips comments and filter empty lines. + """ + for line_number, line in lines_enum: + line = COMMENT_RE.sub('', line) + line = line.strip() + if line: + yield line_number, line + + +def skip_regex(lines_enum, options): + # type: (ReqFileLines, Optional[optparse.Values]) -> ReqFileLines + """ + Skip lines that match '--skip-requirements-regex' pattern + + Note: the regex pattern is only built once + """ + skip_regex = options.skip_requirements_regex if options else None + if skip_regex: + pattern = re.compile(skip_regex) + lines_enum = filterfalse(lambda e: pattern.search(e[1]), lines_enum) + return lines_enum + + +def expand_env_variables(lines_enum): + # type: (ReqFileLines) -> ReqFileLines + """Replace all environment variables that can be retrieved via `os.getenv`. + + The only allowed format for environment variables defined in the + requirement file is `${MY_VARIABLE_1}` to ensure two things: + + 1. Strings that contain a `$` aren't accidentally (partially) expanded. + 2. Ensure consistency across platforms for requirement files. + + These points are the result of a discusssion on the `github pull + request #3514 <https://github.com/pypa/pip/pull/3514>`_. + + Valid characters in variable names follow the `POSIX standard + <http://pubs.opengroup.org/onlinepubs/9699919799/>`_ and are limited + to uppercase letter, digits and the `_` (underscore). + """ + for line_number, line in lines_enum: + for env_var, var_name in ENV_VAR_RE.findall(line): + value = os.getenv(var_name) + if not value: + continue + + line = line.replace(env_var, value) + + yield line_number, line diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_install.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_install.py new file mode 100644 index 0000000..a4834b0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_install.py @@ -0,0 +1,1021 @@ +from __future__ import absolute_import + +import logging +import os +import shutil +import sys +import sysconfig +import zipfile +from distutils.util import change_root + +from pip._vendor import pkg_resources, six +from pip._vendor.packaging.requirements import Requirement +from pip._vendor.packaging.utils import canonicalize_name +from pip._vendor.packaging.version import Version +from pip._vendor.packaging.version import parse as parse_version +from pip._vendor.pep517.wrappers import Pep517HookCaller + +from pip._internal import wheel +from pip._internal.build_env import NoOpBuildEnvironment +from pip._internal.exceptions import InstallationError +from pip._internal.locations import ( + PIP_DELETE_MARKER_FILENAME, running_under_virtualenv, +) +from pip._internal.models.link import Link +from pip._internal.pyproject import load_pyproject_toml, make_pyproject_path +from pip._internal.req.req_uninstall import UninstallPathSet +from pip._internal.utils.compat import native_str +from pip._internal.utils.hashes import Hashes +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + _make_build_dir, ask_path_exists, backup_dir, call_subprocess, + display_path, dist_in_site_packages, dist_in_usersite, ensure_dir, + get_installed_version, redact_password_from_url, rmtree, +) +from pip._internal.utils.packaging import get_metadata +from pip._internal.utils.setuptools_build import SETUPTOOLS_SHIM +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.utils.ui import open_spinner +from pip._internal.vcs import vcs +from pip._internal.wheel import move_wheel_files + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Optional, Iterable, List, Union, Any, Text, Sequence, Dict + ) + from pip._internal.build_env import BuildEnvironment # noqa: F401 + from pip._internal.cache import WheelCache # noqa: F401 + from pip._internal.index import PackageFinder # noqa: F401 + from pip._vendor.pkg_resources import Distribution # noqa: F401 + from pip._vendor.packaging.specifiers import SpecifierSet # noqa: F401 + from pip._vendor.packaging.markers import Marker # noqa: F401 + + +logger = logging.getLogger(__name__) + + +class InstallRequirement(object): + """ + Represents something that may be installed later on, may have information + about where to fetch the relavant requirement and also contains logic for + installing the said requirement. + """ + + def __init__( + self, + req, # type: Optional[Requirement] + comes_from, # type: Optional[Union[str, InstallRequirement]] + source_dir=None, # type: Optional[str] + editable=False, # type: bool + link=None, # type: Optional[Link] + update=True, # type: bool + markers=None, # type: Optional[Marker] + use_pep517=None, # type: Optional[bool] + isolated=False, # type: bool + options=None, # type: Optional[Dict[str, Any]] + wheel_cache=None, # type: Optional[WheelCache] + constraint=False, # type: bool + extras=() # type: Iterable[str] + ): + # type: (...) -> None + assert req is None or isinstance(req, Requirement), req + self.req = req + self.comes_from = comes_from + self.constraint = constraint + if source_dir is not None: + self.source_dir = os.path.normpath(os.path.abspath(source_dir)) + else: + self.source_dir = None + self.editable = editable + + self._wheel_cache = wheel_cache + if link is None and req and req.url: + # PEP 508 URL requirement + link = Link(req.url) + self.link = self.original_link = link + + if extras: + self.extras = extras + elif req: + self.extras = { + pkg_resources.safe_extra(extra) for extra in req.extras + } + else: + self.extras = set() + if markers is None and req: + markers = req.marker + self.markers = markers + + self._egg_info_path = None # type: Optional[str] + # 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 = TempDirectory(kind="req-build") + # 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 # type: Optional[str] + # True if the editable should be updated: + self.update = update + # Set to True after successful installation + self.install_succeeded = None # type: Optional[bool] + # UninstallPathSet of uninstalled distribution (for possible rollback) + self.uninstalled_pathset = None + self.options = options if options else {} + # Set to True after successful preparation of this requirement + self.prepared = False + self.is_direct = False + + self.isolated = isolated + self.build_env = NoOpBuildEnvironment() # type: BuildEnvironment + + # For PEP 517, the directory where we request the project metadata + # gets stored. We need this to pass to build_wheel, so the backend + # can ensure that the wheel matches the metadata (see the PEP for + # details). + self.metadata_directory = None # type: Optional[str] + + # The static build requirements (from pyproject.toml) + self.pyproject_requires = None # type: Optional[List[str]] + + # Build requirements that we will check are available + self.requirements_to_check = [] # type: List[str] + + # The PEP 517 backend we should use to build the project + self.pep517_backend = None # type: Optional[Pep517HookCaller] + + # Are we using PEP 517 for this requirement? + # After pyproject.toml has been loaded, the only valid values are True + # and False. Before loading, None is valid (meaning "use the default"). + # Setting an explicit value before loading pyproject.toml is supported, + # but after loading this flag should be treated as read only. + self.use_pep517 = use_pep517 + + def __str__(self): + if self.req: + s = str(self.req) + if self.link: + s += ' from %s' % redact_password_from_url(self.link.url) + elif self.link: + s = redact_password_from_url(self.link.url) + else: + s = '<InstallRequirement>' + 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): + # type: (PackageFinder, bool, bool) -> None + """Ensure that if a link can be found for this, that it is found. + + Note that self.link may still be None - if Upgrade is False and the + requirement is already installed. + + If require_hashes is True, don't use the wheel cache, because cached + wheels, always built locally, have different hashes than the files + downloaded from the index server and thus throw false hash mismatches. + Furthermore, cached wheels at present have undeterministic contents due + to file modification times. + """ + if self.link is None: + self.link = finder.find_requirement(self, upgrade) + if self._wheel_cache is not None and not require_hashes: + old_link = self.link + self.link = self._wheel_cache.get(self.link, self.name) + if old_link != self.link: + logger.debug('Using cached wheel link: %s', self.link) + + # Things that are valid for all kinds of requirements? + @property + def name(self): + # type: () -> Optional[str] + if self.req is None: + return None + return native_str(pkg_resources.safe_name(self.req.name)) + + @property + def specifier(self): + # type: () -> SpecifierSet + return self.req.specifier + + @property + def is_pinned(self): + # type: () -> bool + """Return whether I am pinned to an exact version. + + For example, some-package==1.2 is pinned; some-package>1.2 is not. + """ + specifiers = self.specifier + return (len(specifiers) == 1 and + next(iter(specifiers)).operator in {'==', '==='}) + + @property + def installed_version(self): + return get_installed_version(self.name) + + def match_markers(self, extras_requested=None): + # type: (Optional[Iterable[str]]) -> bool + if not extras_requested: + # Provide an extra to safely evaluate the markers + # without matching any extra + extras_requested = ('',) + if self.markers is not None: + return any( + self.markers.evaluate({'extra': extra}) + for extra in extras_requested) + else: + return True + + @property + def has_hash_options(self): + # type: () -> bool + """Return whether any known-good hashes are specified as options. + + These activate --require-hashes mode; hashes specified as part of a + URL do not. + + """ + return bool(self.options.get('hashes', {})) + + def hashes(self, trust_internet=True): + # type: (bool) -> Hashes + """Return a hash-comparer that considers my option- and URL-based + hashes to be known-good. + + Hashes in URLs--ones embedded in the requirements file, not ones + downloaded from an index server--are almost peers with ones from + flags. They satisfy --require-hashes (whether it was implicitly or + explicitly activated) but do not activate it. md5 and sha224 are not + allowed in flags, which should nudge people toward good algos. We + always OR all hashes together, even ones from URLs. + + :param trust_internet: Whether to trust URL-based (#md5=...) hashes + downloaded from the internet, as by populate_link() + + """ + good_hashes = self.options.get('hashes', {}).copy() + link = self.link if trust_internet else self.original_link + if link and link.hash: + good_hashes.setdefault(link.hash_name, []).append(link.hash) + return Hashes(good_hashes) + + def from_path(self): + # type: () -> Optional[str] + """Format a nice indicator to show where this "comes from" + """ + if self.req is None: + return None + s = str(self.req) + if self.comes_from: + if isinstance(self.comes_from, six.string_types): + comes_from = self.comes_from + else: + comes_from = self.comes_from.from_path() + if comes_from: + s += '->' + comes_from + return s + + def build_location(self, build_dir): + # type: (str) -> Optional[str] + assert build_dir is not None + if self._temp_build_dir.path is not None: + return self._temp_build_dir.path + if self.req is None: + # for requirement via a path to a directory: the name of the + # package is not available yet so we create a temp directory + # Once run_egg_info will have run, we'll be able + # to fix it via _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.create() + self._ideal_build_dir = build_dir + + return self._temp_build_dir.path + if self.editable: + name = self.name.lower() + else: + name = self.name + # FIXME: Is there a better place to create the build_dir? (hg and bzr + # need this) + if not os.path.exists(build_dir): + logger.debug('Creating directory %s', build_dir) + _make_build_dir(build_dir) + return os.path.join(build_dir, name) + + def _correct_build_location(self): + # type: () -> None + """Move self._temp_build_dir to self._ideal_build_dir/self.req.name + + For some requirements (e.g. a path to a directory), the name of the + package is not available until we run egg_info, so the build_location + will return a temporary directory and store the _ideal_build_dir. + + This is only called by self.run_egg_info 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.path + assert (self._ideal_build_dir is not None and + self._ideal_build_dir.path) # type: ignore + old_location = self._temp_build_dir.path + self._temp_build_dir.path = 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.path = new_location + self._ideal_build_dir = None + self.source_dir = os.path.normpath(os.path.abspath(new_location)) + self._egg_info_path = None + + # Correct the metadata directory, if it exists + if self.metadata_directory: + old_meta = self.metadata_directory + rel = os.path.relpath(old_meta, start=old_location) + new_meta = os.path.join(new_location, rel) + new_meta = os.path.normpath(os.path.abspath(new_meta)) + self.metadata_directory = new_meta + + def remove_temporary_source(self): + # type: () -> None + """Remove the source files from this requirement, if they are marked + for deletion""" + if self.source_dir and 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 + self._temp_build_dir.cleanup() + self.build_env.cleanup() + + def check_if_exists(self, use_user_site): + # type: (bool) -> bool + """Find an installed distribution that satisfies or conflicts + with this requirement, and set self.satisfied_by or + self.conflicts_with appropriately. + """ + if self.req is None: + return False + try: + # get_distribution() will resolve the entire list of requirements + # anyway, and we've already determined that we need the requirement + # in question, so strip the marker so that we don't try to + # evaluate it. + no_marker = Requirement(str(self.req)) + no_marker.marker = None + self.satisfied_by = pkg_resources.get_distribution(str(no_marker)) + if self.editable and self.satisfied_by: + self.conflicts_with = self.satisfied_by + # when installing editables, nothing pre-existing should ever + # satisfy + self.satisfied_by = None + return True + except pkg_resources.DistributionNotFound: + return False + except pkg_resources.VersionConflict: + existing_dist = pkg_resources.get_distribution( + self.req.name + ) + if use_user_site: + if dist_in_usersite(existing_dist): + self.conflicts_with = existing_dist + elif (running_under_virtualenv() and + dist_in_site_packages(existing_dist)): + raise InstallationError( + "Will not install to the user site because it will " + "lack sys.path precedence to %s in %s" % + (existing_dist.project_name, existing_dist.location) + ) + else: + self.conflicts_with = existing_dist + return True + + # Things valid for wheels + @property + def is_wheel(self): + # type: () -> bool + if not self.link: + return False + return self.link.is_wheel + + def move_wheel_files( + self, + wheeldir, # type: str + root=None, # type: Optional[str] + home=None, # type: Optional[str] + prefix=None, # type: Optional[str] + warn_script_location=True, # type: bool + use_user_site=False, # type: bool + pycompile=True # type: bool + ): + # type: (...) -> None + move_wheel_files( + self.name, self.req, wheeldir, + user=use_user_site, + home=home, + root=root, + prefix=prefix, + pycompile=pycompile, + isolated=self.isolated, + warn_script_location=warn_script_location, + ) + + # Things valid for sdists + @property + def setup_py_dir(self): + # type: () -> str + return os.path.join( + self.source_dir, + self.link and self.link.subdirectory_fragment or '') + + @property + def setup_py(self): + # type: () -> str + assert self.source_dir, "No source dir for %s" % self + + 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 + + @property + def pyproject_toml(self): + # type: () -> str + assert self.source_dir, "No source dir for %s" % self + + return make_pyproject_path(self.setup_py_dir) + + def load_pyproject_toml(self): + # type: () -> None + """Load the pyproject.toml file. + + After calling this routine, all of the attributes related to PEP 517 + processing for this requirement have been set. In particular, the + use_pep517 attribute can be used to determine whether we should + follow the PEP 517 or legacy (setup.py) code path. + """ + pep517_data = load_pyproject_toml( + self.use_pep517, + self.pyproject_toml, + self.setup_py, + str(self) + ) + + if pep517_data is None: + self.use_pep517 = False + else: + self.use_pep517 = True + requires, backend, check = pep517_data + self.requirements_to_check = check + self.pyproject_requires = requires + self.pep517_backend = Pep517HookCaller(self.setup_py_dir, backend) + + # Use a custom function to call subprocesses + self.spin_message = "" + + def runner(cmd, cwd=None, extra_environ=None): + with open_spinner(self.spin_message) as spinner: + call_subprocess( + cmd, + cwd=cwd, + extra_environ=extra_environ, + show_stdout=False, + spinner=spinner + ) + self.spin_message = "" + + self.pep517_backend._subprocess_runner = runner + + def prepare_metadata(self): + # type: () -> None + """Ensure that project metadata is available. + + Under PEP 517, call the backend hook to prepare the metadata. + Under legacy processing, call setup.py egg-info. + """ + assert self.source_dir + + with indent_log(): + if self.use_pep517: + self.prepare_pep517_metadata() + else: + self.run_egg_info() + + if not self.req: + if isinstance(parse_version(self.metadata["Version"]), Version): + op = "==" + else: + op = "===" + self.req = Requirement( + "".join([ + self.metadata["Name"], + op, + self.metadata["Version"], + ]) + ) + self._correct_build_location() + else: + metadata_name = canonicalize_name(self.metadata["Name"]) + if canonicalize_name(self.req.name) != metadata_name: + logger.warning( + 'Generating metadata for package %s ' + 'produced metadata for project name %s. Fix your ' + '#egg=%s fragments.', + self.name, metadata_name, self.name + ) + self.req = Requirement(metadata_name) + + def prepare_pep517_metadata(self): + # type: () -> None + assert self.pep517_backend is not None + + metadata_dir = os.path.join( + self.setup_py_dir, + 'pip-wheel-metadata' + ) + ensure_dir(metadata_dir) + + with self.build_env: + # Note that Pep517HookCaller implements a fallback for + # prepare_metadata_for_build_wheel, so we don't have to + # consider the possibility that this hook doesn't exist. + backend = self.pep517_backend + self.spin_message = "Preparing wheel metadata" + distinfo_dir = backend.prepare_metadata_for_build_wheel( + metadata_dir + ) + + self.metadata_directory = os.path.join(metadata_dir, distinfo_dir) + + def run_egg_info(self): + # type: () -> None + 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, + ) + 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 = [] # type: List[str] + 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'] + with self.build_env: + call_subprocess( + egg_info_cmd + egg_base_option, + cwd=self.setup_py_dir, + show_stdout=False, + command_desc='python setup.py egg_info') + + @property + def egg_info_path(self): + # type: () -> str + 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( + "Files/directories not found in %s" % base + ) + # if we have more than one match, we pick the toplevel one. This + # can easily be the case if there is a dist folder which contains + # an extracted tarball for testing purposes. + if len(filenames) > 1: + filenames.sort( + key=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 self._egg_info_path + + @property + def metadata(self): + if not hasattr(self, '_metadata'): + self._metadata = get_metadata(self.get_dist()) + + return self._metadata + + def get_dist(self): + # type: () -> Distribution + """Return a pkg_resources.Distribution for this requirement""" + if self.metadata_directory: + base_dir, distinfo = os.path.split(self.metadata_directory) + metadata = pkg_resources.PathMetadata( + base_dir, self.metadata_directory + ) + dist_name = os.path.splitext(distinfo)[0] + typ = pkg_resources.DistInfoDistribution + else: + egg_info = self.egg_info_path.rstrip(os.path.sep) + 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] + # https://github.com/python/mypy/issues/1174 + typ = pkg_resources.Distribution # type: ignore + + return typ( + base_dir, + project_name=dist_name, + metadata=metadata, + ) + + def assert_source_matches_version(self): + # type: () -> None + assert self.source_dir + version = self.metadata['version'] + if self.req.specifier and version not in self.req.specifier: + logger.warning( + 'Requested %s, but installing version %s', + self, + version, + ) + else: + logger.debug( + 'Source in %s has version %s, which satisfies requirement %s', + display_path(self.source_dir), + version, + self, + ) + + # For both source distributions and editables + def ensure_has_source_dir(self, parent_dir): + # type: (str) -> str + """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 + + # For editable installations + def install_editable( + self, + install_options, # type: List[str] + global_options=(), # type: Sequence[str] + prefix=None # type: Optional[str] + ): + # type: (...) -> None + logger.info('Running setup.py develop for %s', self.name) + + if self.isolated: + global_options = list(global_options) + ["--no-user-cfg"] + + if prefix: + prefix_param = ['--prefix={}'.format(prefix)] + install_options = list(install_options) + prefix_param + + with indent_log(): + # FIXME: should we do --install-headers here too? + with self.build_env: + 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 update_editable(self, obtain=True): + # type: (bool) -> None + if not self.link: + logger.debug( + "Cannot update repository at %s; repository location is " + "unknown", + self.source_dir, + ) + return + assert self.editable + assert self.source_dir + if self.link.scheme == 'file': + # Static paths don't get updated + return + assert '+' in self.link.url, "bad url: %r" % self.link.url + 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)) + + # Top-level Actions + def uninstall(self, auto_confirm=False, verbose=False, + use_user_site=False): + # type: (bool, bool, bool) -> Optional[UninstallPathSet] + """ + Uninstall the distribution currently satisfying this requirement. + + Prompts before removing or modifying files unless + ``auto_confirm`` is True. + + Refuses to delete or modify files outside of ``sys.prefix`` - + thus uninstallation within a virtual environment can only + modify that virtual environment, even if the virtualenv is + linked to global site-packages. + + """ + if not self.check_if_exists(use_user_site): + logger.warning("Skipping %s as it is not installed.", self.name) + return None + dist = self.satisfied_by or self.conflicts_with + + uninstalled_pathset = UninstallPathSet.from_dist(dist) + uninstalled_pathset.remove(auto_confirm, verbose) + return uninstalled_pathset + + def _clean_zip_name(self, name, prefix): # only used by archive. + assert name.startswith(prefix + os.path.sep), ( + "name %r doesn't start with prefix %r" % (name, prefix) + ) + name = name[len(prefix) + 1:] + name = name.replace(os.path.sep, '/') + return name + + def _get_archive_name(self, path, parentdir, rootdir): + # type: (str, str, str) -> str + path = os.path.join(parentdir, path) + name = self._clean_zip_name(path, rootdir) + return self.name + '/' + name + + # TODO: Investigate if this should be kept in InstallRequirement + # Seems to be used only when VCS + downloads + def archive(self, build_dir): + # type: (str) -> None + assert self.source_dir + create_archive = True + archive_name = '%s-%s.zip' % (self.name, self.metadata["version"]) + archive_path = os.path.join(build_dir, archive_name) + if os.path.exists(archive_path): + response = ask_path_exists( + 'The file %s exists. (i)gnore, (w)ipe, (b)ackup, (a)bort ' % + display_path(archive_path), ('i', 'w', 'b', 'a')) + if response == 'i': + create_archive = False + elif response == 'w': + logger.warning('Deleting %s', display_path(archive_path)) + os.remove(archive_path) + elif response == 'b': + dest_file = backup_dir(archive_path) + logger.warning( + 'Backing up %s to %s', + display_path(archive_path), + display_path(dest_file), + ) + shutil.move(archive_path, dest_file) + elif response == 'a': + sys.exit(-1) + if 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: + dir_arcname = self._get_archive_name(dirname, + parentdir=dirpath, + rootdir=dir) + zipdir = zipfile.ZipInfo(dir_arcname + '/') + zipdir.external_attr = 0x1ED << 16 # 0o755 + zip.writestr(zipdir, '') + for filename in filenames: + if filename == PIP_DELETE_MARKER_FILENAME: + continue + file_arcname = self._get_archive_name(filename, + parentdir=dirpath, + rootdir=dir) + filename = os.path.join(dirpath, filename) + zip.write(filename, file_arcname) + zip.close() + logger.info('Saved %s', display_path(archive_path)) + + def install( + self, + install_options, # type: List[str] + global_options=None, # type: Optional[Sequence[str]] + root=None, # type: Optional[str] + home=None, # type: Optional[str] + prefix=None, # type: Optional[str] + warn_script_location=True, # type: bool + use_user_site=False, # type: bool + pycompile=True # type: bool + ): + # type: (...) -> None + global_options = global_options if global_options is not None else [] + if self.editable: + self.install_editable( + install_options, global_options, prefix=prefix, + ) + return + if self.is_wheel: + version = wheel.wheel_version(self.source_dir) + wheel.check_compatibility(version, self.name) + + self.move_wheel_files( + self.source_dir, root=root, prefix=prefix, home=home, + warn_script_location=warn_script_location, + use_user_site=use_user_site, pycompile=pycompile, + ) + self.install_succeeded = True + return + + # Extend the list of global and install options passed on to + # the setup.py call with the ones from the requirements file. + # Options specified in requirements file override those + # specified on the command line, since the last option given + # to setup.py is the one that is used. + global_options = list(global_options) + \ + self.options.get('global_options', []) + install_options = list(install_options) + \ + self.options.get('install_options', []) + + if self.isolated: + # https://github.com/python/mypy/issues/1174 + global_options = global_options + ["--no-user-cfg"] # type: ignore + + with TempDirectory(kind="record") as temp_dir: + record_filename = os.path.join(temp_dir.path, 'install-record.txt') + install_args = self.get_install_args( + global_options, record_filename, root, prefix, pycompile, + ) + msg = 'Running setup.py install for %s' % (self.name,) + with open_spinner(msg) as spinner: + with indent_log(): + with self.build_env: + 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 + + 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) + ) + new_lines.sort() + ensure_dir(egg_info_dir) + inst_files_path = os.path.join(egg_info_dir, 'installed-files.txt') + with open(inst_files_path, 'w') as f: + f.write('\n'.join(new_lines) + '\n') + + def get_install_args( + self, + global_options, # type: Sequence[str] + record_filename, # type: str + root, # type: Optional[str] + prefix, # type: Optional[str] + pycompile # type: bool + ): + # type: (...) -> List[str] + install_args = [sys.executable, "-u"] + install_args.append('-c') + install_args.append(SETUPTOOLS_SHIM % self.setup_py) + install_args += list(global_options) + \ + ['install', '--record', record_filename] + install_args += ['--single-version-externally-managed'] + + if root is not None: + install_args += ['--root', root] + if prefix is not None: + install_args += ['--prefix', prefix] + + if pycompile: + install_args += ["--compile"] + else: + install_args += ["--no-compile"] + + if running_under_virtualenv(): + py_ver_str = 'python' + sysconfig.get_python_version() + install_args += ['--install-headers', + os.path.join(sys.prefix, 'include', 'site', + py_ver_str, self.name)] + + return install_args diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_set.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_set.py new file mode 100644 index 0000000..d1410e9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_set.py @@ -0,0 +1,197 @@ +from __future__ import absolute_import + +import logging +from collections import OrderedDict + +from pip._internal.exceptions import InstallationError +from pip._internal.utils.logging import indent_log +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.wheel import Wheel + +if MYPY_CHECK_RUNNING: + from typing import Optional, List, Tuple, Dict, Iterable # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + + +logger = logging.getLogger(__name__) + + +class RequirementSet(object): + + def __init__(self, require_hashes=False, check_supported_wheels=True): + # type: (bool, bool) -> None + """Create a RequirementSet. + """ + + self.requirements = OrderedDict() # type: Dict[str, InstallRequirement] # noqa: E501 + self.require_hashes = require_hashes + self.check_supported_wheels = check_supported_wheels + + # Mapping of alias: real_name + self.requirement_aliases = {} # type: Dict[str, str] + self.unnamed_requirements = [] # type: List[InstallRequirement] + self.successfully_downloaded = [] # type: List[InstallRequirement] + self.reqs_to_cleanup = [] # type: List[InstallRequirement] + + 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, # type: InstallRequirement + parent_req_name=None, # type: Optional[str] + extras_requested=None # type: Optional[Iterable[str]] + ): + # type: (...) -> Tuple[List[InstallRequirement], Optional[InstallRequirement]] # noqa: E501 + """Add install_req as a requirement to install. + + :param parent_req_name: The name of the requirement that needed this + added. The name is used because when multiple unnamed requirements + resolve to the same name, we could otherwise end up with dependency + links that point outside the Requirements set. parent_req must + already be added. Note that None implies that this is a user + supplied requirement, vs an inferred one. + :param extras_requested: an iterable of extras used to evaluate the + environment markers. + :return: Additional requirements to scan. That is either [] if + the requirement is not applicable, or [install_req] if the + requirement is applicable and has just been added. + """ + name = install_req.name + + # If the markers do not match, ignore this requirement. + if not install_req.match_markers(extras_requested): + logger.info( + "Ignoring %s: markers '%s' don't match your environment", + name, install_req.markers, + ) + return [], None + + # If the wheel is not supported, raise an error. + # Should check this after filtering out based on environment markers to + # allow specifying different wheels based on the environment/OS, in a + # single requirements file. + if install_req.link and install_req.link.is_wheel: + wheel = Wheel(install_req.link.filename) + if self.check_supported_wheels and not wheel.supported(): + raise InstallationError( + "%s is not a supported wheel on this platform." % + wheel.filename + ) + + # This next bit is really a sanity check. + assert install_req.is_direct == (parent_req_name is None), ( + "a direct req shouldn't have a parent and also, " + "a non direct req should have a parent" + ) + + # Unnamed requirements are scanned again and the requirement won't be + # added as a dependency until after scanning. + if not name: + # url or path requirement w/o an egg fragment + self.unnamed_requirements.append(install_req) + return [install_req], None + + try: + existing_req = self.get_requirement(name) + except KeyError: + existing_req = None + + has_conflicting_requirement = ( + parent_req_name is None and + existing_req and + not existing_req.constraint and + existing_req.extras == install_req.extras and + existing_req.req.specifier != install_req.req.specifier + ) + if has_conflicting_requirement: + raise InstallationError( + "Double requirement given: %s (already in %s, name=%r)" + % (install_req, existing_req, name) + ) + + # When no existing requirement exists, add the requirement as a + # dependency and it will be scanned again after. + if not existing_req: + self.requirements[name] = install_req + # FIXME: what about other normalizations? E.g., _ vs. -? + if name.lower() != name: + self.requirement_aliases[name.lower()] = name + # We'd want to rescan this requirements later + return [install_req], install_req + + # Assume there's no need to scan, and that we've already + # encountered this for scanning. + if install_req.constraint or not existing_req.constraint: + return [], existing_req + + does_not_satisfy_constraint = ( + install_req.link and + not ( + existing_req.link and + install_req.link.path == existing_req.link.path + ) + ) + if does_not_satisfy_constraint: + self.reqs_to_cleanup.append(install_req) + raise InstallationError( + "Could not satisfy constraints for '%s': " + "installation from path or url cannot be " + "constrained to a version" % name, + ) + # If we're now installing a constraint, mark the existing + # object for real installation. + existing_req.constraint = False + existing_req.extras = tuple(sorted( + set(existing_req.extras) | set(install_req.extras) + )) + logger.debug( + "Setting %s extras to: %s", + existing_req, existing_req.extras, + ) + # Return the existing requirement for addition to the parent and + # scanning again. + return [existing_req], existing_req + + def has_requirement(self, project_name): + # type: (str) -> bool + 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): + # type: () -> List[InstallRequirement] + return list(req for req in self.requirements.values() if not + req.constraint) or self.unnamed_requirements + + def get_requirement(self, project_name): + # type: (str) -> InstallRequirement + 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 cleanup_files(self): + # type: () -> None + """Clean up files, remove builds.""" + logger.debug('Cleaning up...') + with indent_log(): + for req in self.reqs_to_cleanup: + req.remove_temporary_source() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_tracker.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_tracker.py new file mode 100644 index 0000000..82e084a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_tracker.py @@ -0,0 +1,88 @@ +from __future__ import absolute_import + +import contextlib +import errno +import hashlib +import logging +import os + +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Set, Iterator # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + from pip._internal.models.link import Link # noqa: F401 + +logger = logging.getLogger(__name__) + + +class RequirementTracker(object): + + def __init__(self): + # type: () -> None + self._root = os.environ.get('PIP_REQ_TRACKER') + if self._root is None: + self._temp_dir = TempDirectory(delete=False, kind='req-tracker') + self._temp_dir.create() + self._root = os.environ['PIP_REQ_TRACKER'] = self._temp_dir.path + logger.debug('Created requirements tracker %r', self._root) + else: + self._temp_dir = None + logger.debug('Re-using requirements tracker %r', self._root) + self._entries = set() # type: Set[InstallRequirement] + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.cleanup() + + def _entry_path(self, link): + # type: (Link) -> str + hashed = hashlib.sha224(link.url_without_fragment.encode()).hexdigest() + return os.path.join(self._root, hashed) + + def add(self, req): + # type: (InstallRequirement) -> None + link = req.link + info = str(req) + entry_path = self._entry_path(link) + try: + with open(entry_path) as fp: + # Error, these's already a build in progress. + raise LookupError('%s is already being built: %s' + % (link, fp.read())) + except IOError as e: + if e.errno != errno.ENOENT: + raise + assert req not in self._entries + with open(entry_path, 'w') as fp: + fp.write(info) + self._entries.add(req) + logger.debug('Added %s to build tracker %r', req, self._root) + + def remove(self, req): + # type: (InstallRequirement) -> None + link = req.link + self._entries.remove(req) + os.unlink(self._entry_path(link)) + logger.debug('Removed %s from build tracker %r', req, self._root) + + def cleanup(self): + # type: () -> None + for req in set(self._entries): + self.remove(req) + remove = self._temp_dir is not None + if remove: + self._temp_dir.cleanup() + logger.debug('%s build tracker %r', + 'Removed' if remove else 'Cleaned', + self._root) + + @contextlib.contextmanager + def track(self, req): + # type: (InstallRequirement) -> Iterator[None] + self.add(req) + yield + self.remove(req) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_uninstall.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_uninstall.py new file mode 100644 index 0000000..c80959e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_uninstall.py @@ -0,0 +1,596 @@ +from __future__ import absolute_import + +import csv +import functools +import logging +import os +import sys +import sysconfig + +from pip._vendor import pkg_resources + +from pip._internal.exceptions import UninstallationError +from pip._internal.locations import bin_py, bin_user +from pip._internal.utils.compat import WINDOWS, cache_from_source, uses_pycache +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + FakeFile, ask, dist_in_usersite, dist_is_local, egg_link_path, is_local, + normalize_path, renames, rmtree, +) +from pip._internal.utils.temp_dir import AdjacentTempDirectory, TempDirectory + +logger = logging.getLogger(__name__) + + +def _script_names(dist, script_name, is_gui): + """Create the fully qualified name of the files created by + {console,gui}_scripts for the given ``dist``. + Returns the list of file names + """ + if dist_in_usersite(dist): + bin_dir = bin_user + else: + bin_dir = bin_py + exe_name = os.path.join(bin_dir, script_name) + paths_to_remove = [exe_name] + if WINDOWS: + paths_to_remove.append(exe_name + '.exe') + paths_to_remove.append(exe_name + '.exe.manifest') + if is_gui: + paths_to_remove.append(exe_name + '-script.pyw') + else: + paths_to_remove.append(exe_name + '-script.py') + return paths_to_remove + + +def _unique(fn): + @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 + + +@_unique +def uninstallation_paths(dist): + """ + Yield all the uninstallation paths for dist based on RECORD-without-.py[co] + + Yield paths to all the files in RECORD. For each .py file in RECORD, add + the .pyc and .pyo in the same directory. + + UninstallPathSet.add() takes care of the __pycache__ .py[co]. + """ + r = csv.reader(FakeFile(dist.get_metadata_lines('RECORD'))) + for row in r: + path = os.path.join(dist.location, row[0]) + yield path + if path.endswith('.py'): + dn, fn = os.path.split(path) + base = fn[:-3] + path = os.path.join(dn, base + '.pyc') + yield path + path = os.path.join(dn, base + '.pyo') + yield path + + +def compact(paths): + """Compact a path set to contain the minimal number of paths + necessary to contain all paths in the set. If /a/path/ and + /a/path/to/a/file.txt are both in the set, leave only the + shorter path.""" + + sep = os.path.sep + short_paths = set() + for path in sorted(paths, key=len): + should_skip = any( + path.startswith(shortpath.rstrip("*")) and + path[len(shortpath.rstrip("*").rstrip(sep))] == sep + for shortpath in short_paths + ) + if not should_skip: + short_paths.add(path) + return short_paths + + +def compress_for_rename(paths): + """Returns a set containing the paths that need to be renamed. + + This set may include directories when the original sequence of paths + included every file on disk. + """ + case_map = dict((os.path.normcase(p), p) for p in paths) + remaining = set(case_map) + unchecked = sorted(set(os.path.split(p)[0] + for p in case_map.values()), key=len) + wildcards = set() + + def norm_join(*a): + return os.path.normcase(os.path.join(*a)) + + for root in unchecked: + if any(os.path.normcase(root).startswith(w) + for w in wildcards): + # This directory has already been handled. + continue + + all_files = set() + all_subdirs = set() + for dirname, subdirs, files in os.walk(root): + all_subdirs.update(norm_join(root, dirname, d) + for d in subdirs) + all_files.update(norm_join(root, dirname, f) + for f in files) + # If all the files we found are in our remaining set of files to + # remove, then remove them from the latter set and add a wildcard + # for the directory. + if not (all_files - remaining): + remaining.difference_update(all_files) + wildcards.add(root + os.sep) + + return set(map(case_map.__getitem__, remaining)) | wildcards + + +def compress_for_output_listing(paths): + """Returns a tuple of 2 sets of which paths to display to user + + The first set contains paths that would be deleted. Files of a package + are not added and the top-level directory of the package has a '*' added + at the end - to signify that all it's contents are removed. + + The second set contains files that would have been skipped in the above + folders. + """ + + will_remove = list(paths) + will_skip = set() + + # Determine folders and files + folders = set() + files = set() + for path in will_remove: + if path.endswith(".pyc"): + continue + if path.endswith("__init__.py") or ".dist-info" in path: + folders.add(os.path.dirname(path)) + files.add(path) + + _normcased_files = set(map(os.path.normcase, files)) + + folders = compact(folders) + + # This walks the tree using os.walk to not miss extra folders + # that might get added. + for folder in folders: + for dirpath, _, dirfiles in os.walk(folder): + for fname in dirfiles: + if fname.endswith(".pyc"): + continue + + file_ = os.path.join(dirpath, fname) + if (os.path.isfile(file_) and + os.path.normcase(file_) not in _normcased_files): + # We are skipping this file. Add it to the set. + will_skip.add(file_) + + will_remove = files | { + os.path.join(folder, "*") for folder in folders + } + + return will_remove, will_skip + + +class StashedUninstallPathSet(object): + """A set of file rename operations to stash files while + tentatively uninstalling them.""" + def __init__(self): + # Mapping from source file root to [Adjacent]TempDirectory + # for files under that directory. + self._save_dirs = {} + # (old path, new path) tuples for each move that may need + # to be undone. + self._moves = [] + + def _get_directory_stash(self, path): + """Stashes a directory. + + Directories are stashed adjacent to their original location if + possible, or else moved/copied into the user's temp dir.""" + + try: + save_dir = AdjacentTempDirectory(path) + save_dir.create() + except OSError: + save_dir = TempDirectory(kind="uninstall") + save_dir.create() + self._save_dirs[os.path.normcase(path)] = save_dir + + return save_dir.path + + def _get_file_stash(self, path): + """Stashes a file. + + If no root has been provided, one will be created for the directory + in the user's temp directory.""" + path = os.path.normcase(path) + head, old_head = os.path.dirname(path), None + save_dir = None + + while head != old_head: + try: + save_dir = self._save_dirs[head] + break + except KeyError: + pass + head, old_head = os.path.dirname(head), head + else: + # Did not find any suitable root + head = os.path.dirname(path) + save_dir = TempDirectory(kind='uninstall') + save_dir.create() + self._save_dirs[head] = save_dir + + relpath = os.path.relpath(path, head) + if relpath and relpath != os.path.curdir: + return os.path.join(save_dir.path, relpath) + return save_dir.path + + def stash(self, path): + """Stashes the directory or file and returns its new location. + """ + if os.path.isdir(path): + new_path = self._get_directory_stash(path) + else: + new_path = self._get_file_stash(path) + + self._moves.append((path, new_path)) + if os.path.isdir(path) and os.path.isdir(new_path): + # If we're moving a directory, we need to + # remove the destination first or else it will be + # moved to inside the existing directory. + # We just created new_path ourselves, so it will + # be removable. + os.rmdir(new_path) + renames(path, new_path) + return new_path + + def commit(self): + """Commits the uninstall by removing stashed files.""" + for _, save_dir in self._save_dirs.items(): + save_dir.cleanup() + self._moves = [] + self._save_dirs = {} + + def rollback(self): + """Undoes the uninstall by moving stashed files back.""" + for p in self._moves: + logging.info("Moving to %s\n from %s", *p) + + for new_path, path in self._moves: + try: + logger.debug('Replacing %s from %s', new_path, path) + if os.path.isfile(new_path): + os.unlink(new_path) + elif os.path.isdir(new_path): + rmtree(new_path) + renames(path, new_path) + except OSError as ex: + logger.error("Failed to restore %s", new_path) + logger.debug("Exception: %s", ex) + + self.commit() + + @property + def can_rollback(self): + return bool(self._moves) + + +class UninstallPathSet(object): + """A set of file paths to be removed in the uninstallation of a + requirement.""" + def __init__(self, dist): + self.paths = set() + self._refuse = set() + self.pth = {} + self.dist = dist + self._moved_paths = StashedUninstallPathSet() + + 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 remove(self, auto_confirm=False, verbose=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 + + dist_name_version = ( + self.dist.project_name + "-" + self.dist.version + ) + logger.info('Uninstalling %s:', dist_name_version) + + with indent_log(): + if auto_confirm or self._allowed_to_proceed(verbose): + moved = self._moved_paths + + for_rename = compress_for_rename(self.paths) + + for path in sorted(compact(for_rename)): + moved.stash(path) + logger.debug('Removing file or directory %s', path) + + for pth in self.pth.values(): + pth.remove() + + logger.info('Successfully uninstalled %s', dist_name_version) + + def _allowed_to_proceed(self, verbose): + """Display which files would be deleted and prompt for confirmation + """ + + def _display(msg, paths): + if not paths: + return + + logger.info(msg) + with indent_log(): + for path in sorted(compact(paths)): + logger.info(path) + + if not verbose: + will_remove, will_skip = compress_for_output_listing(self.paths) + else: + # In verbose mode, display all the files that are going to be + # deleted. + will_remove = list(self.paths) + will_skip = set() + + _display('Would remove:', will_remove) + _display('Would not remove (might be manually added):', will_skip) + _display('Would not remove (outside of prefix):', self._refuse) + if verbose: + _display('Will actually move:', compress_for_rename(self.paths)) + + return ask('Proceed (y/n)? ', ('y', 'n')) == 'y' + + def rollback(self): + """Rollback the changes previously made by remove().""" + if not self._moved_paths.can_rollback: + logger.error( + "Can't roll back %s; was not uninstalled", + self.dist.project_name, + ) + return False + logger.info('Rolling back uninstall of %s', self.dist.project_name) + self._moved_paths.rollback() + for pth in self.pth.values(): + pth.rollback() + + def commit(self): + """Remove temporary save dir: rollback will no longer be possible.""" + self._moved_paths.commit() + + @classmethod + def from_dist(cls, dist): + dist_path = normalize_path(dist.location) + if not dist_is_local(dist): + logger.info( + "Not uninstalling %s at %s, outside environment %s", + dist.key, + dist_path, + sys.prefix, + ) + return cls(dist) + + if dist_path in {p for p in {sysconfig.get_path("stdlib"), + sysconfig.get_path("platstdlib")} + if p}: + logger.info( + "Not uninstalling %s at %s, as it is in the standard library.", + dist.key, + dist_path, + ) + return cls(dist) + + paths_to_remove = cls(dist) + develop_egg_link = egg_link_path(dist) + develop_egg_link_egg_info = '{}.egg-info'.format( + pkg_resources.to_filename(dist.project_name)) + egg_info_exists = dist.egg_info and os.path.exists(dist.egg_info) + # Special case for distutils installed package + distutils_egg_info = getattr(dist._provider, 'path', None) + + # Uninstall cases order do matter as in the case of 2 installs of the + # same package, pip needs to uninstall the currently detected version + if (egg_info_exists and dist.egg_info.endswith('.egg-info') and + not dist.egg_info.endswith(develop_egg_link_egg_info)): + # if dist.egg_info.endswith(develop_egg_link_egg_info), we + # are in fact in the develop_egg_link case + paths_to_remove.add(dist.egg_info) + if dist.has_metadata('installed-files.txt'): + for installed_file in dist.get_metadata( + 'installed-files.txt').splitlines(): + path = os.path.normpath( + os.path.join(dist.egg_info, installed_file) + ) + paths_to_remove.add(path) + # FIXME: need a test for this elif block + # occurs with --single-version-externally-managed/--record outside + # of pip + elif dist.has_metadata('top_level.txt'): + if dist.has_metadata('namespace_packages.txt'): + namespaces = dist.get_metadata('namespace_packages.txt') + else: + namespaces = [] + for top_level_pkg in [ + p for p + in dist.get_metadata('top_level.txt').splitlines() + if p and p not in namespaces]: + path = os.path.join(dist.location, top_level_pkg) + paths_to_remove.add(path) + paths_to_remove.add(path + '.py') + paths_to_remove.add(path + '.pyc') + paths_to_remove.add(path + '.pyo') + + elif distutils_egg_info: + raise UninstallationError( + "Cannot uninstall {!r}. It is a distutils installed project " + "and thus we cannot accurately determine which files belong " + "to it which would lead to only a partial uninstall.".format( + dist.project_name, + ) + ) + + elif dist.location.endswith('.egg'): + # package installed by easy_install + # We cannot match on dist.egg_name because it can slightly vary + # i.e. setuptools-0.6c11-py2.6.egg vs setuptools-0.6rc11-py2.6.egg + paths_to_remove.add(dist.location) + easy_install_egg = os.path.split(dist.location)[1] + easy_install_pth = os.path.join(os.path.dirname(dist.location), + 'easy-install.pth') + paths_to_remove.add_pth(easy_install_pth, './' + easy_install_egg) + + elif egg_info_exists and dist.egg_info.endswith('.dist-info'): + for path in uninstallation_paths(dist): + paths_to_remove.add(path) + + elif develop_egg_link: + # develop egg + with open(develop_egg_link, 'r') as fh: + link_pointer = os.path.normcase(fh.readline().strip()) + assert (link_pointer == dist.location), ( + 'Egg-link %s does not match installed location of %s ' + '(at %s)' % (link_pointer, dist.project_name, dist.location) + ) + paths_to_remove.add(develop_egg_link) + easy_install_pth = os.path.join(os.path.dirname(develop_egg_link), + 'easy-install.pth') + paths_to_remove.add_pth(easy_install_pth, dist.location) + + else: + logger.debug( + 'Not sure how to uninstall: %s - Check: %s', + dist, dist.location, + ) + + # find distutils scripts= scripts + if dist.has_metadata('scripts') and dist.metadata_isdir('scripts'): + for script in dist.metadata_listdir('scripts'): + if dist_in_usersite(dist): + bin_dir = bin_user + else: + bin_dir = bin_py + paths_to_remove.add(os.path.join(bin_dir, script)) + if WINDOWS: + paths_to_remove.add(os.path.join(bin_dir, script) + '.bat') + + # find console_scripts + _scripts_to_remove = [] + console_scripts = dist.get_entry_map(group='console_scripts') + for name in console_scripts.keys(): + _scripts_to_remove.extend(_script_names(dist, name, False)) + # find gui_scripts + gui_scripts = dist.get_entry_map(group='gui_scripts') + for name in gui_scripts.keys(): + _scripts_to_remove.extend(_script_names(dist, name, True)) + + for s in _scripts_to_remove: + paths_to_remove.add(s) + + return paths_to_remove + + +class UninstallPthEntries(object): + def __init__(self, pth_file): + 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' + # handle missing trailing newline + if lines and not lines[-1].endswith(endline.encode("utf-8")): + lines[-1] = lines[-1] + endline.encode("utf-8") + for entry in self.entries: + try: + logger.debug('Removing entry: %s', entry) + lines.remove((entry + endline).encode("utf-8")) + except ValueError: + pass + with open(self.file, 'wb') as fh: + fh.writelines(lines) + + def rollback(self): + 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/resolve.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/resolve.py new file mode 100644 index 0000000..33f572f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/resolve.py @@ -0,0 +1,393 @@ +"""Dependency Resolution + +The dependency resolution in pip is performed as follows: + +for top-level requirements: + a. only one spec allowed per project, regardless of conflicts or not. + otherwise a "double requirement" exception is raised + b. they override sub-dependency requirements. +for sub-dependencies + a. "first found, wins" (where the order is breadth first) +""" + +import logging +from collections import defaultdict +from itertools import chain + +from pip._internal.exceptions import ( + BestVersionAlreadyInstalled, DistributionNotFound, HashError, HashErrors, + UnsupportedPythonVersion, +) +from pip._internal.req.constructors import install_req_from_req_string +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import dist_in_usersite, ensure_dir +from pip._internal.utils.packaging import check_dist_requires_python +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional, DefaultDict, List, Set # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + from pip._internal.index import PackageFinder # noqa: F401 + from pip._internal.req.req_set import RequirementSet # noqa: F401 + from pip._internal.operations.prepare import ( # noqa: F401 + DistAbstraction, RequirementPreparer + ) + from pip._internal.cache import WheelCache # noqa: F401 + +logger = logging.getLogger(__name__) + + +class Resolver(object): + """Resolves which packages need to be installed/uninstalled to perform \ + the requested operation without breaking the requirements of any package. + """ + + _allowed_strategies = {"eager", "only-if-needed", "to-satisfy-only"} + + def __init__( + self, + preparer, # type: RequirementPreparer + session, # type: PipSession + finder, # type: PackageFinder + wheel_cache, # type: Optional[WheelCache] + use_user_site, # type: bool + ignore_dependencies, # type: bool + ignore_installed, # type: bool + ignore_requires_python, # type: bool + force_reinstall, # type: bool + isolated, # type: bool + upgrade_strategy, # type: str + use_pep517=None # type: Optional[bool] + ): + # type: (...) -> None + super(Resolver, self).__init__() + assert upgrade_strategy in self._allowed_strategies + + self.preparer = preparer + self.finder = finder + self.session = session + + # NOTE: This would eventually be replaced with a cache that can give + # information about both sdist and wheels transparently. + self.wheel_cache = wheel_cache + + # This is set in resolve + self.require_hashes = None # type: Optional[bool] + + self.upgrade_strategy = upgrade_strategy + self.force_reinstall = force_reinstall + self.isolated = isolated + self.ignore_dependencies = ignore_dependencies + self.ignore_installed = ignore_installed + self.ignore_requires_python = ignore_requires_python + self.use_user_site = use_user_site + self.use_pep517 = use_pep517 + + self._discovered_dependencies = \ + defaultdict(list) # type: DefaultDict[str, List] + + def resolve(self, requirement_set): + # type: (RequirementSet) -> None + """Resolve what operations need to be done + + As a side-effect of this method, the packages (and their dependencies) + are downloaded, unpacked and prepared for installation. This + preparation is done by ``pip.operations.prepare``. + + Once PyPI has static dependency metadata available, it would be + possible to move the preparation to become a step separated from + dependency resolution. + """ + # make the wheelhouse + if self.preparer.wheel_download_dir: + ensure_dir(self.preparer.wheel_download_dir) + + # If any top-level requirement has a hash specified, enter + # hash-checking mode, which requires hashes from all. + root_reqs = ( + requirement_set.unnamed_requirements + + list(requirement_set.requirements.values()) + ) + self.require_hashes = ( + requirement_set.require_hashes or + any(req.has_hash_options for req in root_reqs) + ) + + # Display where finder is looking for packages + locations = self.finder.get_formatted_locations() + if locations: + logger.info(locations) + + # Actually prepare the files, and collect any exceptions. Most hash + # exceptions cannot be checked ahead of time, because + # req.populate_link() needs to be called before we can make decisions + # based on link type. + discovered_reqs = [] # type: List[InstallRequirement] + hash_errors = HashErrors() + for req in chain(root_reqs, discovered_reqs): + try: + discovered_reqs.extend( + self._resolve_one(requirement_set, req) + ) + except HashError as exc: + exc.req = req + hash_errors.append(exc) + + if hash_errors: + raise hash_errors + + def _is_upgrade_allowed(self, req): + # type: (InstallRequirement) -> bool + if self.upgrade_strategy == "to-satisfy-only": + return False + elif self.upgrade_strategy == "eager": + return True + else: + assert self.upgrade_strategy == "only-if-needed" + return req.is_direct + + def _set_req_to_reinstall(self, req): + # type: (InstallRequirement) -> None + """ + Set a requirement to be installed. + """ + # Don't uninstall the conflict if doing a user install and the + # conflict is not a user install. + if not self.use_user_site or dist_in_usersite(req.satisfied_by): + req.conflicts_with = req.satisfied_by + req.satisfied_by = None + + # XXX: Stop passing requirement_set for options + def _check_skip_installed(self, req_to_install): + # type: (InstallRequirement) -> Optional[str] + """Check if req_to_install should be skipped. + + This will check if the req is installed, and whether we should upgrade + or reinstall it, taking into account all the relevant user options. + + After calling this req_to_install will only have satisfied_by set to + None if the req_to_install is to be upgraded/reinstalled etc. Any + other value will be a dist recording the current thing installed that + satisfies the requirement. + + Note that for vcs urls and the like we can't assess skipping in this + routine - we simply identify that we need to pull the thing down, + then later on it is pulled down and introspected to assess upgrade/ + reinstalls etc. + + :return: A text reason for why it was skipped, or None. + """ + if self.ignore_installed: + return None + + req_to_install.check_if_exists(self.use_user_site) + if not req_to_install.satisfied_by: + return None + + if self.force_reinstall: + self._set_req_to_reinstall(req_to_install) + return None + + if not self._is_upgrade_allowed(req_to_install): + if self.upgrade_strategy == "only-if-needed": + return 'already satisfied, skipping upgrade' + return 'already satisfied' + + # Check for the possibility of an upgrade. For link-based + # requirements we have to pull the tree down and inspect to assess + # the version #, so it's handled way down. + if not req_to_install.link: + try: + self.finder.find_requirement(req_to_install, upgrade=True) + except BestVersionAlreadyInstalled: + # Then the best version is installed. + return 'already up-to-date' + except DistributionNotFound: + # No distribution found, so we squash the error. It will + # be raised later when we re-try later to do the install. + # Why don't we just raise here? + pass + + self._set_req_to_reinstall(req_to_install) + return None + + def _get_abstract_dist_for(self, req): + # type: (InstallRequirement) -> DistAbstraction + """Takes a InstallRequirement and returns a single AbstractDist \ + representing a prepared variant of the same. + """ + assert self.require_hashes is not None, ( + "require_hashes should have been set in Resolver.resolve()" + ) + + if req.editable: + return self.preparer.prepare_editable_requirement( + req, self.require_hashes, self.use_user_site, self.finder, + ) + + # satisfied_by is only evaluated by calling _check_skip_installed, + # so it must be None here. + assert req.satisfied_by is None + skip_reason = self._check_skip_installed(req) + + if req.satisfied_by: + return self.preparer.prepare_installed_requirement( + req, self.require_hashes, skip_reason + ) + + upgrade_allowed = self._is_upgrade_allowed(req) + abstract_dist = self.preparer.prepare_linked_requirement( + req, self.session, self.finder, upgrade_allowed, + self.require_hashes + ) + + # NOTE + # The following portion is for determining if a certain package is + # going to be re-installed/upgraded or not and reporting to the user. + # This should probably get cleaned up in a future refactor. + + # req.req is only avail after unpack for URL + # pkgs repeat check_if_exists to uninstall-on-upgrade + # (#14) + if not self.ignore_installed: + req.check_if_exists(self.use_user_site) + + if req.satisfied_by: + should_modify = ( + self.upgrade_strategy != "to-satisfy-only" or + self.force_reinstall or + self.ignore_installed or + req.link.scheme == 'file' + ) + if should_modify: + self._set_req_to_reinstall(req) + else: + logger.info( + 'Requirement already satisfied (use --upgrade to upgrade):' + ' %s', req, + ) + + return abstract_dist + + def _resolve_one( + self, + requirement_set, # type: RequirementSet + req_to_install # type: InstallRequirement + ): + # type: (...) -> List[InstallRequirement] + """Prepare a single requirements file. + + :return: A list of additional InstallRequirements to also install. + """ + # Tell user what we are doing for this requirement: + # obtain (editable), skipping, processing (local url), collecting + # (remote url or package name) + if req_to_install.constraint or req_to_install.prepared: + return [] + + req_to_install.prepared = True + + # register tmp src for cleanup in case something goes wrong + requirement_set.reqs_to_cleanup.append(req_to_install) + + abstract_dist = self._get_abstract_dist_for(req_to_install) + + # Parse and return dependencies + dist = abstract_dist.dist() + try: + check_dist_requires_python(dist) + except UnsupportedPythonVersion as err: + if self.ignore_requires_python: + logger.warning(err.args[0]) + else: + raise + + more_reqs = [] # type: List[InstallRequirement] + + def add_req(subreq, extras_requested): + sub_install_req = install_req_from_req_string( + str(subreq), + req_to_install, + isolated=self.isolated, + wheel_cache=self.wheel_cache, + use_pep517=self.use_pep517 + ) + parent_req_name = req_to_install.name + to_scan_again, add_to_parent = requirement_set.add_requirement( + sub_install_req, + parent_req_name=parent_req_name, + extras_requested=extras_requested, + ) + if parent_req_name and add_to_parent: + self._discovered_dependencies[parent_req_name].append( + add_to_parent + ) + more_reqs.extend(to_scan_again) + + with indent_log(): + # We add req_to_install before its dependencies, so that we + # can refer to it when adding dependencies. + if not requirement_set.has_requirement(req_to_install.name): + # 'unnamed' requirements will get added here + req_to_install.is_direct = True + requirement_set.add_requirement( + req_to_install, parent_req_name=None, + ) + + if not self.ignore_dependencies: + if req_to_install.extras: + logger.debug( + "Installing extra requirements: %r", + ','.join(req_to_install.extras), + ) + missing_requested = sorted( + set(req_to_install.extras) - set(dist.extras) + ) + for missing in missing_requested: + logger.warning( + '%s does not provide the extra \'%s\'', + dist, missing + ) + + available_requested = sorted( + set(dist.extras) & set(req_to_install.extras) + ) + for subreq in dist.requires(available_requested): + add_req(subreq, extras_requested=available_requested) + + if not req_to_install.editable and not req_to_install.satisfied_by: + # XXX: --no-install leads this to report 'Successfully + # downloaded' for only non-editable reqs, even though we took + # action on them. + requirement_set.successfully_downloaded.append(req_to_install) + + return more_reqs + + def get_installation_order(self, req_set): + # type: (RequirementSet) -> List[InstallRequirement] + """Create the installation order. + + The installation order is topological - requirements are installed + before the requiring thing. We break cycles at an arbitrary point, + and make no other guarantees. + """ + # The current implementation, which we may change at any point + # installs the user specified things in the order given, except when + # dependencies must come earlier to achieve topological order. + order = [] + ordered_reqs = set() # type: Set[InstallRequirement] + + def schedule(req): + if req.satisfied_by or req in ordered_reqs: + return + if req.constraint: + return + ordered_reqs.add(req) + for dep in self._discovered_dependencies[req.name]: + schedule(dep) + order.append(req) + + for install_req in req_set.requirements.values(): + schedule(install_req) + return order diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/appdirs.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/appdirs.py new file mode 100644 index 0000000..9af9fa7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/appdirs.py @@ -0,0 +1,270 @@ +""" +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._vendor.six import PY2, text_type + +from pip._internal.utils.compat import WINDOWS, expanduser +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + List, Union + ) + + +def user_cache_dir(appname): + # type: (str) -> str + r""" + Return full path to the user-specific cache dir for this application. + + "appname" is the name of application. + + Typical user cache directories are: + macOS: ~/Library/Caches/<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): + # type: (str, bool) -> str + r""" + Return full path to the user-specific data dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "roaming" (boolean, default False) can be set True to use the Windows + roaming appdata directory. That means that for users on a Windows + network setup for roaming profiles, this user data will be + sync'd on login. See + <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> + if it exists, else ~/.config/<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, + ) if os.path.isdir(os.path.join( + expanduser('~/Library/Application Support/'), + appname, + ) + ) else os.path.join( + expanduser('~/.config/'), + appname, + ) + else: + path = os.path.join( + os.getenv('XDG_DATA_HOME', expanduser("~/.local/share")), + appname, + ) + + return path + + +def user_config_dir(appname, roaming=True): + # type: (str, bool) -> str + """Return full path to the user-specific config dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "roaming" (boolean, default True) can be set False to not use the + Windows roaming appdata directory. That means that for users on a + Windows network setup for roaming profiles, this user data will be + sync'd on login. See + <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): + # type: (str) -> List[str] + r"""Return a list of potential user-shared config dirs for this application. + + "appname" is the name of application. + + Typical user config directories are: + macOS: /Library/Application Support/<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): + # type: (str) -> str + """ + This is a fallback technique at best. I'm not sure if using the + registry for this guarantees us the correct answer for all CSIDL_* + names. + """ + import _winreg + + shell_folder_name = { + "CSIDL_APPDATA": "AppData", + "CSIDL_COMMON_APPDATA": "Common AppData", + "CSIDL_LOCAL_APPDATA": "Local AppData", + }[csidl_name] + + key = _winreg.OpenKey( + _winreg.HKEY_CURRENT_USER, + r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" + ) + directory, _type = _winreg.QueryValueEx(key, shell_folder_name) + return directory + + +def _get_win_folder_with_ctypes(csidl_name): + # type: (str) -> str + 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/compat.py new file mode 100644 index 0000000..2d8b3bf --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/compat.py @@ -0,0 +1,264 @@ +"""Stuff that differs in different Python versions and platform +distributions.""" +from __future__ import absolute_import, division + +import codecs +import locale +import logging +import os +import shutil +import sys + +from pip._vendor.six import text_type + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Tuple, Text # noqa: F401 + +try: + import ipaddress +except ImportError: + try: + from pip._vendor import ipaddress # type: ignore + except ImportError: + import ipaddr as ipaddress # type: ignore + ipaddress.ip_address = ipaddress.IPAddress # type: ignore + ipaddress.ip_network = ipaddress.IPNetwork # type: ignore + + +__all__ = [ + "ipaddress", "uses_pycache", "console_to_str", "native_str", + "get_path_uid", "stdlib_pkgs", "WINDOWS", "samefile", "get_terminal_size", + "get_extension_suffixes", +] + + +logger = logging.getLogger(__name__) + +if sys.version_info >= (3, 4): + uses_pycache = True + from importlib.util import cache_from_source +else: + import imp + + try: + cache_from_source = imp.cache_from_source # type: ignore + except AttributeError: + # does not use __pycache__ + cache_from_source = None + + uses_pycache = cache_from_source is not None + + +if sys.version_info >= (3, 5): + backslashreplace_decode = "backslashreplace" +else: + # In version 3.4 and older, backslashreplace exists + # but does not support use for decoding. + # We implement our own replace handler for this + # situation, so that we can consistently use + # backslash replacement for all versions. + def backslashreplace_decode_fn(err): + raw_bytes = (err.object[i] for i in range(err.start, err.end)) + if sys.version_info[0] == 2: + # Python 2 gave us characters - convert to numeric bytes + raw_bytes = (ord(b) for b in raw_bytes) + return u"".join(u"\\x%x" % c for c in raw_bytes), err.end + codecs.register_error( + "backslashreplace_decode", + backslashreplace_decode_fn, + ) + backslashreplace_decode = "backslashreplace_decode" + + +def console_to_str(data): + # type: (bytes) -> Text + """Return a string, safe for output, of subprocess output. + + We assume the data is in the locale preferred encoding. + If it won't decode properly, we warn the user but decode as + best we can. + + We also ensure that the output can be safely written to + standard output without encoding errors. + """ + + # First, get the encoding we assume. This is the preferred + # encoding for the locale, unless that is not found, or + # it is ASCII, in which case assume UTF-8 + encoding = locale.getpreferredencoding() + if (not encoding) or codecs.lookup(encoding).name == "ascii": + encoding = "utf-8" + + # Now try to decode the data - if we fail, warn the user and + # decode with replacement. + try: + decoded_data = data.decode(encoding) + except UnicodeDecodeError: + logger.warning( + "Subprocess output does not appear to be encoded as %s", + encoding, + ) + decoded_data = data.decode(encoding, errors=backslashreplace_decode) + + # Make sure we can print the output, by encoding it to the output + # encoding with replacement of unencodable characters, and then + # decoding again. + # We use stderr's encoding because it's less likely to be + # redirected and if we don't find an encoding we skip this + # step (on the assumption that output is wrapped by something + # that won't fail). + # The double getattr is to deal with the possibility that we're + # being called in a situation where sys.__stderr__ doesn't exist, + # or doesn't have an encoding attribute. Neither of these cases + # should occur in normal pip use, but there's no harm in checking + # in case people use pip in (unsupported) unusual situations. + output_encoding = getattr(getattr(sys, "__stderr__", None), + "encoding", None) + + if output_encoding: + output_encoded = decoded_data.encode( + output_encoding, + errors="backslashreplace" + ) + decoded_data = output_encoded.decode(output_encoding) + + return decoded_data + + +if sys.version_info >= (3,): + def native_str(s, replace=False): + # type: (str, bool) -> str + if isinstance(s, bytes): + return s.decode('utf-8', 'replace' if replace else 'strict') + return s + +else: + def native_str(s, replace=False): + # type: (str, bool) -> str + # Replace is ignored -- unicode to UTF-8 can't fail + if isinstance(s, text_type): + return s.encode('utf-8') + return s + + +def get_path_uid(path): + # type: (str) -> int + """ + Return path's uid. + + Does not follow symlinks: + https://github.com/pypa/pip/pull/935#discussion_r5307003 + + Placed this function in compat due to differences on AIX and + Jython, that should eventually go away. + + :raises OSError: When path is a symlink or can't be read. + """ + if hasattr(os, 'O_NOFOLLOW'): + fd = os.open(path, os.O_RDONLY | os.O_NOFOLLOW) + file_uid = os.fstat(fd).st_uid + os.close(fd) + else: # AIX and Jython + # WARNING: time of check vulnerability, but best we can do w/o NOFOLLOW + if not os.path.islink(path): + # older versions of Jython don't have `os.fstat` + file_uid = os.stat(path).st_uid + else: + # raise OSError for parity with os.O_NOFOLLOW above + raise OSError( + "%s is a symlink; Will not return uid for symlinks" % path + ) + return file_uid + + +if sys.version_info >= (3, 4): + from importlib.machinery import EXTENSION_SUFFIXES + + def get_extension_suffixes(): + return EXTENSION_SUFFIXES +else: + from imp import get_suffixes + + def get_extension_suffixes(): + return [suffix[0] for suffix in get_suffixes()] + + +def expanduser(path): + # type: (str) -> str + """ + Expand ~ and ~user constructions. + + Includes a workaround for https://bugs.python.org/issue14768 + """ + expanded = os.path.expanduser(path) + if path.startswith('~/') and expanded.startswith('//'): + expanded = expanded[1:] + return expanded + + +# packages in the stdlib that may have installation metadata, but should not be +# considered 'installed'. this theoretically could be determined based on +# dist.location (py27:`sysconfig.get_paths()['stdlib']`, +# py26:sysconfig.get_config_vars('LIBDEST')), but fear platform variation may +# make this ineffective, so hard-coding +stdlib_pkgs = {"python", "wsgiref", "argparse"} + + +# windows detection, covers cpython and ironpython +WINDOWS = (sys.platform.startswith("win") or + (sys.platform == 'cli' and os.name == 'nt')) + + +def samefile(file1, file2): + # type: (str, str) -> bool + """Provide an alternative for os.path.samefile on Windows/Python2""" + if hasattr(os.path, 'samefile'): + return os.path.samefile(file1, file2) + else: + path1 = os.path.normcase(os.path.abspath(file1)) + path2 = os.path.normcase(os.path.abspath(file2)) + return path1 == path2 + + +if hasattr(shutil, 'get_terminal_size'): + def get_terminal_size(): + # type: () -> Tuple[int, int] + """ + Returns a tuple (x, y) representing the width(x) and the height(y) + in characters of the terminal window. + """ + return tuple(shutil.get_terminal_size()) # type: ignore +else: + def get_terminal_size(): + # type: () -> Tuple[int, int] + """ + Returns a tuple (x, y) representing the width(x) and the height(y) + in characters of the terminal window. + """ + def ioctl_GWINSZ(fd): + try: + import fcntl + import termios + import struct + cr = struct.unpack_from( + 'hh', + fcntl.ioctl(fd, termios.TIOCGWINSZ, '12345678') + ) + except Exception: + return None + if cr == (0, 0): + return None + return cr + cr = ioctl_GWINSZ(0) or ioctl_GWINSZ(1) or ioctl_GWINSZ(2) + if not cr: + try: + fd = os.open(os.ctermid(), os.O_RDONLY) + cr = ioctl_GWINSZ(fd) + os.close(fd) + except Exception: + pass + if not cr: + cr = (os.environ.get('LINES', 25), os.environ.get('COLUMNS', 80)) + return int(cr[1]), int(cr[0]) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/deprecation.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/deprecation.py new file mode 100644 index 0000000..0beaf74 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/deprecation.py @@ -0,0 +1,90 @@ +""" +A module that implements tooling to enable easy warnings about deprecations. +""" +from __future__ import absolute_import + +import logging +import warnings + +from pip._vendor.packaging.version import parse + +from pip import __version__ as current_version +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Any, Optional # noqa: F401 + + +class PipDeprecationWarning(Warning): + pass + + +_original_showwarning = None # type: Any + + +# Warnings <-> Logging Integration +def _showwarning(message, category, filename, lineno, file=None, line=None): + if file is not None: + if _original_showwarning is not None: + _original_showwarning( + message, category, filename, lineno, file, line, + ) + elif issubclass(category, PipDeprecationWarning): + # We use a specially named logger which will handle all of the + # deprecation messages for pip. + logger = logging.getLogger("pip._internal.deprecations") + logger.warning(message) + else: + _original_showwarning( + message, category, filename, lineno, file, line, + ) + + +def install_warning_logger(): + # type: () -> None + # Enable our Deprecation Warnings + warnings.simplefilter("default", PipDeprecationWarning, append=True) + + global _original_showwarning + + if _original_showwarning is None: + _original_showwarning = warnings.showwarning + warnings.showwarning = _showwarning + + +def deprecated(reason, replacement, gone_in, issue=None): + # type: (str, Optional[str], Optional[str], Optional[int]) -> None + """Helper to deprecate existing functionality. + + reason: + Textual reason shown to the user about why this functionality has + been deprecated. + replacement: + Textual suggestion shown to the user about what alternative + functionality they can use. + gone_in: + The version of pip does this functionality should get removed in. + Raises errors if pip's current version is greater than or equal to + this. + issue: + Issue number on the tracker that would serve as a useful place for + users to find related discussion and provide feedback. + + Always pass replacement, gone_in and issue as keyword arguments for clarity + at the call site. + """ + + # Construct a nice message. + # This is purposely eagerly formatted as we want it to appear as if someone + # typed this entire message out. + message = "DEPRECATION: " + reason + if replacement is not None: + message += " A possible replacement is {}.".format(replacement) + if issue is not None: + url = "https://github.com/pypa/pip/issues/" + str(issue) + message += " You can find discussion regarding this at {}.".format(url) + + # Raise as an error if it has to be removed. + if gone_in is not None and parse(current_version) >= parse(gone_in): + raise PipDeprecationWarning(message) + warnings.warn(message, category=PipDeprecationWarning, stacklevel=2) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/encoding.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/encoding.py new file mode 100644 index 0000000..d36defa --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/encoding.py @@ -0,0 +1,39 @@ +import codecs +import locale +import re +import sys + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import List, Tuple, Text # noqa: F401 + +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'), +] # type: List[Tuple[bytes, Text]] + +ENCODING_RE = re.compile(br'coding[:=]\s*([-\w.]+)') + + +def auto_decode(data): + # type: (bytes) -> Text + """Check a bytes string for a BOM to correctly detect the encoding + + Fallback to locale.getpreferredencoding(False) like open() on Python3""" + for bom, encoding in BOMS: + if data.startswith(bom): + return data[len(bom):].decode(encoding) + # Lets check the first two lines as in PEP263 + for line in data.split(b'\n')[:2]: + if line[0:1] == b'#' and ENCODING_RE.search(line): + encoding = ENCODING_RE.search(line).groups()[0].decode('ascii') + return data.decode(encoding) + return data.decode( + locale.getpreferredencoding(False) or sys.getdefaultencoding(), + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/filesystem.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/filesystem.py new file mode 100644 index 0000000..1e6b033 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/filesystem.py @@ -0,0 +1,30 @@ +import os +import os.path + +from pip._internal.utils.compat import get_path_uid + + +def check_path_owner(path): + # type: (str) -> bool + # If we don't have a way to check the effective uid of this process, then + # we'll just assume that we own the directory. + if not hasattr(os, "geteuid"): + return True + + previous = None + while path != previous: + if os.path.lexists(path): + # Check if path is writable by current user. + if os.geteuid() == 0: + # Special handling for root user in order to handle properly + # cases where users use sudo without -H flag. + try: + path_uid = get_path_uid(path) + except OSError: + return False + return path_uid == 0 + else: + return os.access(path, os.W_OK) + else: + previous, path = path, os.path.dirname(path) + return False # assume we don't own the path diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/glibc.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/glibc.py new file mode 100644 index 0000000..8a51f69 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/glibc.py @@ -0,0 +1,93 @@ +from __future__ import absolute_import + +import ctypes +import re +import warnings + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional, Tuple # noqa: F401 + + +def glibc_version_string(): + # type: () -> Optional[str] + "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): + # type: (str, int, int) -> bool + # Parse string and check against requested version. + # + # We use a regexp instead of str.split because we want to discard any + # random junk that might come after the minor version -- this might happen + # in patched/forked versions of glibc (e.g. Linaro's version of glibc + # uses version strings like "2.20-2014.11"). See gh-3588. + m = re.match(r"(?P<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): + # type: (int, int) -> bool + version_str = glibc_version_string() # type: Optional[str] + if version_str is None: + return False + return check_glibc_version(version_str, required_major, minimum_minor) + + +# platform.libc_ver regularly returns completely nonsensical glibc +# versions. E.g. on my computer, platform says: +# +# ~$ python2.7 -c 'import platform; print(platform.libc_ver())' +# ('glibc', '2.7') +# ~$ python3.5 -c 'import platform; print(platform.libc_ver())' +# ('glibc', '2.9') +# +# But the truth is: +# +# ~$ ldd --version +# ldd (Debian GLIBC 2.22-11) 2.22 +# +# This is unfortunate, because it means that the linehaul data on libc +# versions that was generated by pip 8.1.2 and earlier is useless and +# misleading. Solution: instead of using platform, use our code that actually +# works. +def libc_ver(): + # type: () -> Tuple[str, str] + """Try to determine the glibc version + + Returns a tuple of strings (lib, version) which default to empty strings + in case the lookup fails. + """ + glibc_version = glibc_version_string() + if glibc_version is None: + return ("", "") + else: + return ("glibc", glibc_version) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/hashes.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/hashes.py new file mode 100644 index 0000000..c6df7a1 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/hashes.py @@ -0,0 +1,115 @@ +from __future__ import absolute_import + +import hashlib + +from pip._vendor.six import iteritems, iterkeys, itervalues + +from pip._internal.exceptions import ( + HashMismatch, HashMissing, InstallationError, +) +from pip._internal.utils.misc import read_chunks +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Dict, List, BinaryIO, NoReturn, Iterator + ) + from pip._vendor.six import PY3 + if PY3: + from hashlib import _Hash # noqa: F401 + else: + from hashlib import _hash as _Hash # noqa: F401 + + +# The recommended hash algo of the moment. Change this whenever the state of +# the art changes; it won't hurt backward compatibility. +FAVORITE_HASH = 'sha256' + + +# Names of hashlib algorithms allowed by the --hash option and ``pip hash`` +# Currently, those are the ones at least as collision-resistant as sha256. +STRONG_HASHES = ['sha256', 'sha384', 'sha512'] + + +class Hashes(object): + """A wrapper that builds multiple hashes at once and checks them against + known-good values + + """ + def __init__(self, hashes=None): + # type: (Dict[str, List[str]]) -> None + """ + :param hashes: A dict of algorithm names pointing to lists of allowed + hex digests + """ + self._allowed = {} if hashes is None else hashes + + def check_against_chunks(self, chunks): + # type: (Iterator[bytes]) -> None + """Check good hashes against ones built from iterable of chunks of + data. + + Raise HashMismatch if none match. + + """ + gots = {} + for hash_name in iterkeys(self._allowed): + try: + gots[hash_name] = hashlib.new(hash_name) + except (ValueError, TypeError): + raise InstallationError('Unknown hash name: %s' % hash_name) + + for chunk in chunks: + for hash in itervalues(gots): + hash.update(chunk) + + for hash_name, got in iteritems(gots): + if got.hexdigest() in self._allowed[hash_name]: + return + self._raise(gots) + + def _raise(self, gots): + # type: (Dict[str, _Hash]) -> NoReturn + raise HashMismatch(self._allowed, gots) + + def check_against_file(self, file): + # type: (BinaryIO) -> None + """Check good hashes against a file-like object + + Raise HashMismatch if none match. + + """ + return self.check_against_chunks(read_chunks(file)) + + def check_against_path(self, path): + # type: (str) -> None + with open(path, 'rb') as file: + return self.check_against_file(file) + + def __nonzero__(self): + # type: () -> bool + """Return whether I know any known-good hashes.""" + return bool(self._allowed) + + def __bool__(self): + # type: () -> bool + return self.__nonzero__() + + +class MissingHashes(Hashes): + """A workalike for Hashes used when we're missing a hash for a requirement + + It computes the actual hash of the requirement and raises a HashMissing + exception showing it to the user. + + """ + def __init__(self): + # type: () -> None + """Don't offer the ``hashes`` kwarg.""" + # Pass our favorite hash in to generate a "gotten hash". With the + # empty list, it will never match, so an error will always raise. + super(MissingHashes, self).__init__(hashes={FAVORITE_HASH: []}) + + def _raise(self, gots): + # type: (Dict[str, _Hash]) -> NoReturn + raise HashMissing(gots[FAVORITE_HASH].hexdigest()) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/logging.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/logging.py new file mode 100644 index 0000000..579d696 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/logging.py @@ -0,0 +1,318 @@ +from __future__ import absolute_import + +import contextlib +import errno +import logging +import logging.handlers +import os +import sys + +from pip._vendor.six import PY2 + +from pip._internal.utils.compat import WINDOWS +from pip._internal.utils.misc import ensure_dir + +try: + import threading +except ImportError: + import dummy_threading as threading # type: ignore + + +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 + + +class BrokenStdoutLoggingError(Exception): + """ + Raised if BrokenPipeError occurs for the stdout stream while logging. + """ + pass + + +# BrokenPipeError does not exist in Python 2 and, in addition, manifests +# differently in Windows and non-Windows. +if WINDOWS: + # In Windows, a broken pipe can show up as EINVAL rather than EPIPE: + # https://bugs.python.org/issue19612 + # https://bugs.python.org/issue30418 + if PY2: + def _is_broken_pipe_error(exc_class, exc): + """See the docstring for non-Windows Python 3 below.""" + return (exc_class is IOError and + exc.errno in (errno.EINVAL, errno.EPIPE)) + else: + # In Windows, a broken pipe IOError became OSError in Python 3. + def _is_broken_pipe_error(exc_class, exc): + """See the docstring for non-Windows Python 3 below.""" + return ((exc_class is BrokenPipeError) or # noqa: F821 + (exc_class is OSError and + exc.errno in (errno.EINVAL, errno.EPIPE))) +elif PY2: + def _is_broken_pipe_error(exc_class, exc): + """See the docstring for non-Windows Python 3 below.""" + return (exc_class is IOError and exc.errno == errno.EPIPE) +else: + # Then we are in the non-Windows Python 3 case. + def _is_broken_pipe_error(exc_class, exc): + """ + Return whether an exception is a broken pipe error. + + Args: + exc_class: an exception class. + exc: an exception instance. + """ + return (exc_class is BrokenPipeError) # noqa: F821 + + +@contextlib.contextmanager +def indent_log(num=2): + """ + A context manager which will cause the log output to be indented for any + log messages emitted inside it. + """ + _log_state.indentation += num + try: + yield + finally: + _log_state.indentation -= num + + +def get_indentation(): + return getattr(_log_state, 'indentation', 0) + + +class IndentingFormatter(logging.Formatter): + def __init__(self, *args, **kwargs): + """ + A logging.Formatter obeying containing indent_log contexts. + + :param add_timestamp: A bool indicating output lines should be prefixed + with their record's timestamp. + """ + self.add_timestamp = kwargs.pop("add_timestamp", False) + super(IndentingFormatter, self).__init__(*args, **kwargs) + + def format(self, record): + """ + Calls the standard formatter, but will indent all of the log messages + by our current indentation level. + """ + formatted = super(IndentingFormatter, self).format(record) + prefix = '' + if self.add_timestamp: + prefix = self.formatTime(record, "%Y-%m-%dT%H:%M:%S ") + prefix += " " * get_indentation() + formatted = "".join([ + prefix + line + for line in formatted.splitlines(True) + ]) + return formatted + + +def _color_wrap(*colors): + def wrapped(inp): + return "".join(list(colors) + [inp, colorama.Style.RESET_ALL]) + return wrapped + + +class ColorizedStreamHandler(logging.StreamHandler): + + # Don't build up a list of colors if we don't have colorama + if colorama: + COLORS = [ + # This needs to be in order from highest logging level to lowest. + (logging.ERROR, _color_wrap(colorama.Fore.RED)), + (logging.WARNING, _color_wrap(colorama.Fore.YELLOW)), + ] + else: + COLORS = [] + + def __init__(self, stream=None, no_color=None): + logging.StreamHandler.__init__(self, stream) + self._no_color = no_color + + if WINDOWS and colorama: + self.stream = colorama.AnsiToWin32(self.stream) + + def _using_stdout(self): + """ + Return whether the handler is using sys.stdout. + """ + if WINDOWS and colorama: + # Then self.stream is an AnsiToWin32 object. + return self.stream.wrapped is sys.stdout + + return self.stream is sys.stdout + + def should_color(self): + # Don't colorize things if we do not have colorama or if told not to + if not colorama or self._no_color: + return False + + real_stream = ( + self.stream if not isinstance(self.stream, colorama.AnsiToWin32) + else self.stream.wrapped + ) + + # If the stream is a tty we should color it + if hasattr(real_stream, "isatty") and real_stream.isatty(): + return True + + # If we have an ANSI term we should color it + if os.environ.get("TERM") == "ANSI": + return True + + # If anything else we should not color it + return False + + def format(self, record): + msg = logging.StreamHandler.format(self, record) + + if self.should_color(): + for level, color in self.COLORS: + if record.levelno >= level: + msg = color(msg) + break + + return msg + + # The logging module says handleError() can be customized. + def handleError(self, record): + exc_class, exc = sys.exc_info()[:2] + # If a broken pipe occurred while calling write() or flush() on the + # stdout stream in logging's Handler.emit(), then raise our special + # exception so we can handle it in main() instead of logging the + # broken pipe error and continuing. + if (exc_class and self._using_stdout() and + _is_broken_pipe_error(exc_class, exc)): + raise BrokenStdoutLoggingError() + + return super(ColorizedStreamHandler, self).handleError(record) + + +class BetterRotatingFileHandler(logging.handlers.RotatingFileHandler): + + def _open(self): + ensure_dir(os.path.dirname(self.baseFilename)) + return logging.handlers.RotatingFileHandler._open(self) + + +class MaxLevelFilter(logging.Filter): + + def __init__(self, level): + self.level = level + + def filter(self, record): + return record.levelno < self.level + + +def setup_logging(verbosity, no_color, user_log_file): + """Configures and sets up all of the logging + + Returns the requested logging level, as its integer value. + """ + + # Determine the level to be logging at. + if verbosity >= 1: + level = "DEBUG" + elif verbosity == -1: + level = "WARNING" + elif verbosity == -2: + level = "ERROR" + elif verbosity <= -3: + level = "CRITICAL" + else: + level = "INFO" + + level_number = getattr(logging, level) + + # The "root" logger should match the "console" level *unless* we also need + # to log to a user log file. + include_user_log = user_log_file is not None + if include_user_log: + additional_log_file = user_log_file + root_level = "DEBUG" + else: + additional_log_file = "/dev/null" + root_level = level + + # Disable any logging besides WARNING unless we have DEBUG level logging + # enabled for vendored libraries. + vendored_log_level = "WARNING" if level in ["INFO", "ERROR"] else "DEBUG" + + # Shorthands for clarity + log_streams = { + "stdout": "ext://sys.stdout", + "stderr": "ext://sys.stderr", + } + handler_classes = { + "stream": "pip._internal.utils.logging.ColorizedStreamHandler", + "file": "pip._internal.utils.logging.BetterRotatingFileHandler", + } + + logging.config.dictConfig({ + "version": 1, + "disable_existing_loggers": False, + "filters": { + "exclude_warnings": { + "()": "pip._internal.utils.logging.MaxLevelFilter", + "level": logging.WARNING, + }, + }, + "formatters": { + "indent": { + "()": IndentingFormatter, + "format": "%(message)s", + }, + "indent_with_timestamp": { + "()": IndentingFormatter, + "format": "%(message)s", + "add_timestamp": True, + }, + }, + "handlers": { + "console": { + "level": level, + "class": handler_classes["stream"], + "no_color": no_color, + "stream": log_streams["stdout"], + "filters": ["exclude_warnings"], + "formatter": "indent", + }, + "console_errors": { + "level": "WARNING", + "class": handler_classes["stream"], + "no_color": no_color, + "stream": log_streams["stderr"], + "formatter": "indent", + }, + "user_log": { + "level": "DEBUG", + "class": handler_classes["file"], + "filename": additional_log_file, + "delay": True, + "formatter": "indent_with_timestamp", + }, + }, + "root": { + "level": root_level, + "handlers": ["console", "console_errors"] + ( + ["user_log"] if include_user_log else [] + ), + }, + "loggers": { + "pip._vendor": { + "level": vendored_log_level + } + }, + }) + + return level_number diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/misc.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/misc.py new file mode 100644 index 0000000..84605ee --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/misc.py @@ -0,0 +1,1040 @@ +from __future__ import absolute_import + +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 os +import posixpath +import re +import shutil +import stat +import subprocess +import sys +import tarfile +import zipfile +from collections import deque + +from pip._vendor import pkg_resources +# NOTE: retrying is not annotated in typeshed as on 2017-07-17, which is +# why we ignore the type on this import. +from pip._vendor.retrying import retry # type: ignore +from pip._vendor.six import PY2 +from pip._vendor.six.moves import input +from pip._vendor.six.moves.urllib import parse as urllib_parse +from pip._vendor.six.moves.urllib.parse import unquote as urllib_unquote + +from pip._internal.exceptions import CommandError, InstallationError +from pip._internal.locations import ( + running_under_virtualenv, site_packages, user_site, virtualenv_no_global, + write_delete_marker_file, +) +from pip._internal.utils.compat import ( + WINDOWS, console_to_str, expanduser, stdlib_pkgs, +) +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if PY2: + from io import BytesIO as StringIO +else: + from io import StringIO + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Optional, Tuple, Iterable, List, Match, Union, Any, Mapping, Text, + AnyStr, Container + ) + from pip._vendor.pkg_resources import Distribution # noqa: F401 + from pip._internal.models.link import Link # noqa: F401 + from pip._internal.utils.ui import SpinnerInterface # noqa: F401 + + +__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_prog', + 'unzip_file', 'untar_file', 'unpack_file', 'call_subprocess', + 'captured_stdout', 'ensure_dir', + 'ARCHIVE_EXTENSIONS', 'SUPPORTED_EXTENSIONS', 'WHEEL_EXTENSION', + 'get_installed_version', 'remove_auth_from_url'] + + +logger = std_logging.getLogger(__name__) + +WHEEL_EXTENSION = '.whl' +BZ2_EXTENSIONS = ('.tar.bz2', '.tbz') +XZ_EXTENSIONS = ('.tar.xz', '.txz', '.tlz', '.tar.lz', '.tar.lzma') +ZIP_EXTENSIONS = ('.zip', WHEEL_EXTENSION) +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 ensure_dir(path): + # type: (AnyStr) -> None + """os.path.makedirs without EEXIST.""" + try: + os.makedirs(path) + except OSError as e: + if e.errno != errno.EEXIST: + raise + + +def get_prog(): + # type: () -> str + try: + prog = os.path.basename(sys.argv[0]) + if prog in ('__main__.py', '-c'): + return "%s -m pip" % sys.executable + else: + return prog + except (AttributeError, TypeError, IndexError): + pass + return 'pip' + + +# Retry every half second for up to 3 seconds +@retry(stop_max_delay=3000, wait_fixed=500) +def rmtree(dir, ignore_errors=False): + # type: (str, bool) -> None + shutil.rmtree(dir, ignore_errors=ignore_errors, + onerror=rmtree_errorhandler) + + +def rmtree_errorhandler(func, path, exc_info): + """On Windows, the files in .svn are read-only, so when rmtree() tries to + remove them, an exception is thrown. We catch that here, remove the + read-only attribute, and hopefully continue without problems.""" + # 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): + # type: (Union[str, Text]) -> str + """Gives the display value for a given path, making it relative to cwd + if possible.""" + path = os.path.normcase(os.path.abspath(path)) + if sys.version_info[0] == 2: + path = path.decode(sys.getfilesystemencoding(), 'replace') + path = path.encode(sys.getdefaultencoding(), 'replace') + if path.startswith(os.getcwd() + os.path.sep): + path = '.' + path[len(os.getcwd()):] + return path + + +def backup_dir(dir, ext='.bak'): + # type: (str, str) -> str + """Figure out the name of a directory to back up the given dir to + (adding .bak, .bak2, etc)""" + n = 1 + extension = ext + while os.path.exists(dir + extension): + n += 1 + extension = ext + str(n) + return dir + extension + + +def ask_path_exists(message, options): + # type: (str, Iterable[str]) -> str + for action in os.environ.get('PIP_EXISTS_ACTION', '').split(): + if action in options: + return action + return ask(message, options) + + +def ask(message, options): + # type: (str, Iterable[str]) -> str + """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): + # type: (float) -> str + if bytes > 1000 * 1000: + return '%.1fMB' % (bytes / 1000.0 / 1000) + elif bytes > 10 * 1000: + return '%ikB' % (bytes / 1000) + elif bytes > 1000: + return '%.1fkB' % (bytes / 1000.0) + else: + return '%ibytes' % bytes + + +def is_installable_dir(path): + # type: (str) -> bool + """Is path is a directory containing setup.py or pyproject.toml? + """ + if not os.path.isdir(path): + return False + setup_py = os.path.join(path, 'setup.py') + if os.path.isfile(setup_py): + return True + pyproject_toml = os.path.join(path, 'pyproject.toml') + if os.path.isfile(pyproject_toml): + return True + return False + + +def is_svn_page(html): + # type: (Union[str, Text]) -> Optional[Match[Union[str, Text]]] + """ + Returns true if the page appears to be the index page of an svn repository + """ + return (re.search(r'<title>[^<]*Revision \d+:', html) and + re.search(r'Powered by (?:<a[^>]*?>)?Subversion', html, re.I)) + + +def file_contents(filename): + # type: (str) -> Text + 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): + # type: (Union[str, Text]) -> List[Union[str, Text]] + path = path.lstrip('/').lstrip('\\') + if '/' in path and (('\\' in path and path.find('/') < path.find('\\')) or + '\\' not in path): + return path.split('/', 1) + elif '\\' in path: + return path.split('\\', 1) + else: + return [path, ''] + + +def has_leading_dir(paths): + # type: (Iterable[Union[str, Text]]) -> bool + """Returns true if all the paths have the same leading path name + (i.e., everything is in one subdirectory in an archive)""" + common_prefix = None + for path in paths: + prefix, rest = split_leading_dir(path) + if not prefix: + return False + elif common_prefix is None: + common_prefix = prefix + elif prefix != common_prefix: + return False + return True + + +def normalize_path(path, resolve_symlinks=True): + # type: (str, bool) -> str + """ + Convert a path to its canonical, case-normalized, absolute version. + + """ + path = expanduser(path) + if resolve_symlinks: + path = os.path.realpath(path) + else: + path = os.path.abspath(path) + return os.path.normcase(path) + + +def splitext(path): + # type: (str) -> Tuple[str, str] + """Like os.path.splitext, but take off .tar too""" + base, ext = posixpath.splitext(path) + if base.lower().endswith('.tar'): + ext = base[-4:] + ext + base = base[:-4] + return base, ext + + +def renames(old, new): + # type: (str, str) -> None + """Like os.renames(), but handles renaming across devices.""" + # Implementation borrowed from os.renames(). + head, tail = os.path.split(new) + if head and tail and not os.path.exists(head): + os.makedirs(head) + + shutil.move(old, new) + + head, tail = os.path.split(old) + if head and tail: + try: + os.removedirs(head) + except OSError: + pass + + +def is_local(path): + # type: (str) -> bool + """ + Return True if path is within sys.prefix, if we're running in a virtualenv. + + If we're not in a virtualenv, all paths are considered "local." + + """ + if not running_under_virtualenv(): + return True + return normalize_path(path).startswith(normalize_path(sys.prefix)) + + +def dist_is_local(dist): + # type: (Distribution) -> bool + """ + Return True if given Distribution object is installed locally + (i.e. within current virtualenv). + + Always True if we're not in a virtualenv. + + """ + return is_local(dist_location(dist)) + + +def dist_in_usersite(dist): + # type: (Distribution) -> bool + """ + Return True if given Distribution is installed in user site. + """ + norm_path = normalize_path(dist_location(dist)) + return norm_path.startswith(normalize_path(user_site)) + + +def dist_in_site_packages(dist): + # type: (Distribution) -> bool + """ + Return True if given Distribution is installed in + sysconfig.get_python_lib(). + """ + return normalize_path( + dist_location(dist) + ).startswith(normalize_path(site_packages)) + + +def dist_is_editable(dist): + # type: (Distribution) -> bool + """ + Return True if given Distribution is an editable install. + """ + for path_item in sys.path: + egg_link = os.path.join(path_item, dist.project_name + '.egg-link') + if os.path.isfile(egg_link): + return True + return False + + +def get_installed_distributions(local_only=True, + skip=stdlib_pkgs, + include_editables=True, + editables_only=False, + user_only=False): + # type: (bool, Container[str], bool, bool, bool) -> List[Distribution] + """ + Return a list of installed Distribution objects. + + If ``local_only`` is True (default), only return installations + local to the current virtualenv, if in a virtualenv. + + ``skip`` argument is an iterable of lower-case project names to + ignore; defaults to stdlib_pkgs + + If ``include_editables`` is False, don't report editables. + + If ``editables_only`` is True , only report editables. + + If ``user_only`` is True , only report installations in the user + site directory. + + """ + if local_only: + local_test = dist_is_local + else: + def local_test(d): + return True + + if include_editables: + def editable_test(d): + return True + else: + def editable_test(d): + return not dist_is_editable(d) + + if editables_only: + def editables_only_test(d): + return dist_is_editable(d) + else: + def editables_only_test(d): + return True + + if user_only: + user_test = dist_in_usersite + else: + def user_test(d): + return True + + # because of pkg_resources vendoring, mypy cannot find stub in typeshed + return [d for d in pkg_resources.working_set # type: ignore + if local_test(d) and + d.key not in skip and + editable_test(d) and + editables_only_test(d) and + user_test(d) + ] + + +def egg_link_path(dist): + # type: (Distribution) -> Optional[str] + """ + Return the path for the .egg-link file if it exists, otherwise, None. + + There's 3 scenarios: + 1) not in a virtualenv + try to find in site.USER_SITE, then site_packages + 2) in a no-global virtualenv + try to find in site_packages + 3) in a yes-global virtualenv + try to find in site_packages, then site.USER_SITE + (don't look in global location) + + For #1 and #3, there could be odd cases, where there's an egg-link in 2 + locations. + + This method will just return the first one found. + """ + sites = [] + if running_under_virtualenv(): + 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 + return None + + +def dist_location(dist): + # type: (Distribution) -> str + """ + Get the site-packages location of this distribution. Generally + this is dist.location, except in the case of develop-installed + packages, where dist.location is the source code location, and we + want to know where the egg-link file is. + + """ + egg_link = egg_link_path(dist) + if egg_link: + return egg_link + return dist.location + + +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): + # type: (str, str, bool) -> None + """ + Unzip the file (with path `filename`) to the destination `location`. All + files are written based on system defaults and umask (i.e. permissions are + not preserved), except that regular file members with any execute + permissions (user, group, or world) have "chmod +x" applied after being + written. Note that for windows, any execute changes using os.chmod are + no-ops per the python docs. + """ + ensure_dir(location) + zipfp = open(filename, 'rb') + try: + zip = zipfile.ZipFile(zipfp, allowZip64=True) + leading = has_leading_dir(zip.namelist()) and flatten + for info in zip.infolist(): + name = info.filename + fn = name + if leading: + fn = split_leading_dir(name)[1] + fn = os.path.join(location, fn) + dir = os.path.dirname(fn) + if fn.endswith('/') or fn.endswith('\\'): + # A directory + ensure_dir(fn) + else: + ensure_dir(dir) + # Don't use read() to avoid allocating an arbitrarily large + # chunk of memory for the file's content + fp = zip.open(name) + try: + with open(fn, 'wb') as destfp: + shutil.copyfileobj(fp, destfp) + finally: + fp.close() + mode = info.external_attr >> 16 + # if mode and regular file and any execute permissions for + # user/group/world? + if mode and stat.S_ISREG(mode) and mode & 0o111: + # make dest file have execute for user/group/world + # (chmod +x) no-op on windows per python docs + os.chmod(fn, (0o777 - current_umask() | 0o111)) + finally: + zipfp.close() + + +def untar_file(filename, location): + # type: (str, str) -> None + """ + Untar the file (with path `filename`) to the destination `location`. + All files are written based on system defaults and umask (i.e. permissions + are not preserved), except that regular file members with any execute + permissions (user, group, or world) have "chmod +x" applied after being + written. Note that for windows, any execute changes using os.chmod are + no-ops per the python docs. + """ + ensure_dir(location) + if filename.lower().endswith('.gz') or filename.lower().endswith('.tgz'): + mode = 'r:gz' + elif filename.lower().endswith(BZ2_EXTENSIONS): + mode = 'r:bz2' + elif filename.lower().endswith(XZ_EXTENSIONS): + mode = 'r:xz' + elif filename.lower().endswith('.tar'): + mode = 'r' + else: + logger.warning( + 'Cannot determine compression type for file %s', filename, + ) + mode = 'r:*' + tar = tarfile.open(filename, mode) + try: + leading = has_leading_dir([ + member.name for member in tar.getmembers() + ]) + for member in tar.getmembers(): + fn = member.name + if leading: + # https://github.com/python/mypy/issues/1174 + fn = split_leading_dir(fn)[1] # type: ignore + path = os.path.join(location, fn) + if member.isdir(): + ensure_dir(path) + elif member.issym(): + try: + # https://github.com/python/typeshed/issues/2673 + tar._extract_member(member, path) # type: ignore + except Exception as exc: + # Some corrupt tar files seem to produce this + # (specifically bad symlinks) + logger.warning( + 'In the tar file %s the member %s is invalid: %s', + filename, member.name, exc, + ) + continue + else: + try: + fp = tar.extractfile(member) + except (KeyError, AttributeError) as exc: + # Some corrupt tar files seem to produce this + # (specifically bad symlinks) + logger.warning( + 'In the tar file %s the member %s is invalid: %s', + filename, member.name, exc, + ) + continue + ensure_dir(os.path.dirname(path)) + with open(path, 'wb') as destfp: + shutil.copyfileobj(fp, destfp) + fp.close() + # Update the timestamp (useful for cython compiled files) + # https://github.com/python/typeshed/issues/2673 + tar.utime(member, path) # type: ignore + # member have any execute permissions for user/group/world? + if member.mode & 0o111: + # make dest file have execute for user/group/world + # no-op on windows per python docs + os.chmod(path, (0o777 - current_umask() | 0o111)) + finally: + tar.close() + + +def unpack_file( + filename, # type: str + location, # type: str + content_type, # type: Optional[str] + link # type: Optional[Link] +): + # type: (...) -> None + filename = os.path.realpath(filename) + if (content_type == 'application/zip' or + filename.lower().endswith(ZIP_EXTENSIONS) or + zipfile.is_zipfile(filename)): + unzip_file( + filename, + location, + flatten=not filename.endswith('.whl') + ) + elif (content_type == 'application/x-gzip' or + tarfile.is_tarfile(filename) or + filename.lower().endswith( + TAR_EXTENSIONS + BZ2_EXTENSIONS + XZ_EXTENSIONS)): + untar_file(filename, location) + 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._internal.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, # type: List[str] + show_stdout=True, # type: bool + cwd=None, # type: Optional[str] + on_returncode='raise', # type: str + extra_ok_returncodes=None, # type: Optional[Iterable[int]] + command_desc=None, # type: Optional[str] + extra_environ=None, # type: Optional[Mapping[str, Any]] + unset_environ=None, # type: Optional[Iterable[str]] + spinner=None # type: Optional[SpinnerInterface] +): + # type: (...) -> Optional[Text] + """ + Args: + extra_ok_returncodes: an iterable of integer return codes that are + acceptable, in addition to 0. Defaults to None, which means []. + unset_environ: an iterable of environment variable names to unset + prior to calling subprocess.Popen(). + """ + if extra_ok_returncodes is None: + extra_ok_returncodes = [] + if unset_environ is None: + unset_environ = [] + # 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) + for name in unset_environ: + env.pop(name, None) + try: + proc = subprocess.Popen( + cmd, stderr=subprocess.STDOUT, stdin=subprocess.PIPE, + stdout=stdout, cwd=cwd, env=env, + ) + proc.stdin.close() + except Exception as exc: + logger.critical( + "Error %s while executing command %s", exc, command_desc, + ) + raise + all_output = [] + if stdout is not None: + 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() + try: + proc.wait() + finally: + if proc.stdout: + proc.stdout.close() + if spinner is not None: + if proc.returncode: + spinner.finish("error") + else: + spinner.finish("done") + if proc.returncode and proc.returncode not in extra_ok_returncodes: + 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) + return None + + +def read_text_file(filename): + # type: (str) -> str + """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: + # https://github.com/python/mypy/issues/1174 + data = data.decode(enc) # type: ignore + except UnicodeDecodeError: + continue + break + + assert not isinstance(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') + + +def captured_stderr(): + """ + See captured_stdout(). + """ + return captured_output('stderr') + + +class cached_property(object): + """A property that is only computed once per instance and then replaces + itself with an ordinary attribute. Deleting the attribute resets the + property. + + Source: https://github.com/bottlepy/bottle/blob/0.11.5/bottle.py#L175 + """ + + def __init__(self, func): + self.__doc__ = getattr(func, '__doc__') + self.func = func + + def __get__(self, obj, cls): + if obj is None: + # We're being accessed from the class itself, not from an object + return self + value = obj.__dict__[self.func.__name__] = self.func(obj) + return value + + +def get_installed_version(dist_name, working_set=None): + """Get the installed version of dist_name avoiding pkg_resources cache""" + # Create a requirement that we'll look for inside of setuptools. + req = pkg_resources.Requirement.parse(dist_name) + + if working_set is None: + # We want to avoid having this cached, so we need to construct a new + # working set each time. + working_set = pkg_resources.WorkingSet() + + # Get the installed distribution from our working set + dist = working_set.find(req) + + # Check to see if we got an installed distribution or not, if we did + # we want to return it's version. + return dist.version if dist else None + + +def consume(iterator): + """Consume an iterable at C speed.""" + deque(iterator, maxlen=0) + + +# Simulates an enum +def enum(*sequential, **named): + enums = dict(zip(sequential, range(len(sequential))), **named) + reverse = {value: key for key, value in enums.items()} + enums['reverse_mapping'] = reverse + return type('Enum', (), enums) + + +def make_vcs_requirement_url(repo_url, rev, project_name, subdir=None): + """ + Return the URL for a VCS requirement. + + Args: + repo_url: the remote VCS url, with any needed VCS prefix (e.g. "git+"). + project_name: the (unescaped) project name. + """ + egg_project_name = pkg_resources.to_filename(project_name) + req = '{}@{}#egg={}'.format(repo_url, rev, egg_project_name) + if subdir: + req += '&subdirectory={}'.format(subdir) + + return req + + +def split_auth_from_netloc(netloc): + """ + Parse out and remove the auth information from a netloc. + + Returns: (netloc, (username, password)). + """ + if '@' not in netloc: + return netloc, (None, None) + + # Split from the right because that's how urllib.parse.urlsplit() + # behaves if more than one @ is present (which can be checked using + # the password attribute of urlsplit()'s return value). + auth, netloc = netloc.rsplit('@', 1) + if ':' in auth: + # Split from the left because that's how urllib.parse.urlsplit() + # behaves if more than one : is present (which again can be checked + # using the password attribute of the return value) + user_pass = auth.split(':', 1) + else: + user_pass = auth, None + + user_pass = tuple( + None if x is None else urllib_unquote(x) for x in user_pass + ) + + return netloc, user_pass + + +def redact_netloc(netloc): + # type: (str) -> str + """ + Replace the password in a netloc with "****", if it exists. + + For example, "user:pass@example.com" returns "user:****@example.com". + """ + netloc, (user, password) = split_auth_from_netloc(netloc) + if user is None: + return netloc + password = '' if password is None else ':****' + return '{user}{password}@{netloc}'.format(user=urllib_parse.quote(user), + password=password, + netloc=netloc) + + +def _transform_url(url, transform_netloc): + purl = urllib_parse.urlsplit(url) + netloc = transform_netloc(purl.netloc) + # stripped url + url_pieces = ( + purl.scheme, netloc, purl.path, purl.query, purl.fragment + ) + surl = urllib_parse.urlunsplit(url_pieces) + return surl + + +def _get_netloc(netloc): + return split_auth_from_netloc(netloc)[0] + + +def remove_auth_from_url(url): + # type: (str) -> str + # Return a copy of url with 'username:password@' removed. + # username/pass params are passed to subversion through flags + # and are not recognized in the url. + return _transform_url(url, _get_netloc) + + +def redact_password_from_url(url): + # type: (str) -> str + """Replace the password in a given url with ****.""" + return _transform_url(url, redact_netloc) + + +def protect_pip_from_modification_on_windows(modifying_pip): + """Protection of pip.exe from modification on Windows + + On Windows, any operation modifying pip should be run as: + python -m pip ... + """ + pip_names = [ + "pip.exe", + "pip{}.exe".format(sys.version_info[0]), + "pip{}.{}.exe".format(*sys.version_info[:2]) + ] + + # See https://github.com/pypa/pip/issues/1299 for more discussion + should_show_use_python_msg = ( + modifying_pip and + WINDOWS and + os.path.basename(sys.argv[0]) in pip_names + ) + + if should_show_use_python_msg: + new_command = [ + sys.executable, "-m", "pip" + ] + sys.argv[1:] + raise CommandError( + 'To modify pip, please run the following command:\n{}' + .format(" ".join(new_command)) + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/models.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/models.py new file mode 100644 index 0000000..d5cb80a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/models.py @@ -0,0 +1,40 @@ +"""Utilities for defining models +""" + +import operator + + +class KeyBasedCompareMixin(object): + """Provides comparision capabilities that is based on a key + """ + + def __init__(self, key, defining_class): + self._compare_key = key + self._defining_class = defining_class + + def __hash__(self): + return hash(self._compare_key) + + def __lt__(self, other): + return self._compare(other, operator.__lt__) + + def __le__(self, other): + return self._compare(other, operator.__le__) + + def __gt__(self, other): + return self._compare(other, operator.__gt__) + + def __ge__(self, other): + return self._compare(other, operator.__ge__) + + def __eq__(self, other): + return self._compare(other, operator.__eq__) + + def __ne__(self, other): + return self._compare(other, operator.__ne__) + + def _compare(self, other, method): + if not isinstance(other, self._defining_class): + return NotImplemented + + return method(self._compare_key, other._compare_key) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/outdated.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/outdated.py new file mode 100644 index 0000000..37c47a4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/outdated.py @@ -0,0 +1,164 @@ +from __future__ import absolute_import + +import datetime +import json +import logging +import os.path +import sys + +from pip._vendor import lockfile, pkg_resources +from pip._vendor.packaging import version as packaging_version + +from pip._internal.index import PackageFinder +from pip._internal.utils.compat import WINDOWS +from pip._internal.utils.filesystem import check_path_owner +from pip._internal.utils.misc import ensure_dir, get_installed_version +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + import optparse # noqa: F401 + from typing import Any, Dict # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + + +SELFCHECK_DATE_FMT = "%Y-%m-%dT%H:%M:%SZ" + + +logger = logging.getLogger(__name__) + + +class SelfCheckState(object): + def __init__(self, cache_dir): + # type: (str) -> None + self.state = {} # type: Dict[str, Any] + self.statefile_path = None + + # Try to load the existing state + if cache_dir: + self.statefile_path = os.path.join(cache_dir, "selfcheck.json") + try: + with open(self.statefile_path) as statefile: + self.state = json.load(statefile)[sys.prefix] + except (IOError, ValueError, KeyError): + # Explicitly suppressing exceptions, since we don't want to + # error out if the cache file is invalid. + pass + + def save(self, pypi_version, current_time): + # type: (str, datetime.datetime) -> None + # If we do not have a path to cache in, don't bother saving. + if not self.statefile_path: + return + + # Check to make sure that we own the directory + if not check_path_owner(os.path.dirname(self.statefile_path)): + return + + # Now that we've ensured the directory is owned by this user, we'll go + # ahead and make sure that all our directories are created. + ensure_dir(os.path.dirname(self.statefile_path)) + + # 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 was_installed_by_pip(pkg): + # type: (str) -> bool + """Checks whether pkg was installed by pip + + This is used not to display the upgrade message when pip is in fact + installed by system package manager, such as dnf on Fedora. + """ + try: + dist = pkg_resources.get_distribution(pkg) + return (dist.has_metadata('INSTALLER') and + 'pip' in dist.get_metadata_lines('INSTALLER')) + except pkg_resources.DistributionNotFound: + return False + + +def pip_version_check(session, options): + # type: (PipSession, optparse.Values) -> None + """Check for an update for pip. + + Limit the frequency of checks to once per week. State is stored either in + the active virtualenv or in the user's USER_CACHE_DIR keyed off the prefix + of the pip script path. + """ + installed_version = get_installed_version("pip") + if not installed_version: + return + + pip_version = packaging_version.parse(installed_version) + pypi_version = None + + try: + state = SelfCheckState(cache_dir=options.cache_dir) + + current_time = datetime.datetime.utcnow() + # Determine if we need to refresh the state + if "last_check" in state.state and "pypi_version" in state.state: + last_check = datetime.datetime.strptime( + state.state["last_check"], + SELFCHECK_DATE_FMT + ) + if (current_time - last_check).total_seconds() < 7 * 24 * 60 * 60: + pypi_version = state.state["pypi_version"] + + # Refresh the version if we need to or just see if we need to warn + if pypi_version is None: + # Lets use PackageFinder to see what the latest pip version is + finder = PackageFinder( + find_links=options.find_links, + index_urls=[options.index_url] + options.extra_index_urls, + allow_all_prereleases=False, # Explicitly set to False + trusted_hosts=options.trusted_hosts, + session=session, + ) + all_candidates = finder.find_all_candidates("pip") + if not all_candidates: + return + pypi_version = str( + max(all_candidates, key=lambda c: c.version).version + ) + + # 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 and + was_installed_by_pip('pip')): + # 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/packaging.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/packaging.py new file mode 100644 index 0000000..7aaf7b5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/packaging.py @@ -0,0 +1,85 @@ +from __future__ import absolute_import + +import logging +import sys +from email.parser import FeedParser + +from pip._vendor import pkg_resources +from pip._vendor.packaging import specifiers, version + +from pip._internal import exceptions +from pip._internal.utils.misc import display_path +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional # noqa: F401 + from email.message import Message # noqa: F401 + from pip._vendor.pkg_resources import Distribution # noqa: F401 + + +logger = logging.getLogger(__name__) + + +def check_requires_python(requires_python): + # type: (Optional[str]) -> bool + """ + 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): + # type: (Distribution) -> Message + if (isinstance(dist, pkg_resources.DistInfoDistribution) and + dist.has_metadata('METADATA')): + metadata = dist.get_metadata('METADATA') + elif dist.has_metadata('PKG-INFO'): + metadata = dist.get_metadata('PKG-INFO') + else: + logger.warning("No metadata found in %s", display_path(dist.location)) + metadata = '' + + feed_parser = FeedParser() + feed_parser.feed(metadata) + return feed_parser.close() + + +def check_dist_requires_python(dist): + pkg_info_dict = get_metadata(dist) + 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 + + +def get_installer(dist): + # type: (Distribution) -> str + if dist.has_metadata('INSTALLER'): + for line in dist.get_metadata_lines('INSTALLER'): + if line.strip(): + return line.strip() + return '' diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/setuptools_build.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/setuptools_build.py new file mode 100644 index 0000000..03973e9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/setuptools_build.py @@ -0,0 +1,8 @@ +# 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/temp_dir.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/temp_dir.py new file mode 100644 index 0000000..2c81ad5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/temp_dir.py @@ -0,0 +1,155 @@ +from __future__ import absolute_import + +import errno +import itertools +import logging +import os.path +import tempfile + +from pip._internal.utils.misc import rmtree + +logger = logging.getLogger(__name__) + + +class TempDirectory(object): + """Helper class that owns and cleans up a temporary directory. + + This class can be used as a context manager or as an OO representation of a + temporary directory. + + Attributes: + path + Location to the created temporary directory or None + delete + Whether the directory should be deleted when exiting + (when used as a contextmanager) + + Methods: + create() + Creates a temporary directory and stores its path in the path + attribute. + cleanup() + Deletes the temporary directory and sets path attribute to None + + When used as a context manager, a temporary directory is created on + entering the context and, if the delete attribute is True, on exiting the + context the created directory is deleted. + """ + + def __init__(self, path=None, delete=None, kind="temp"): + super(TempDirectory, self).__init__() + + if path is None and delete is None: + # If we were not given an explicit directory, and we were not given + # an explicit delete option, then we'll default to deleting. + delete = True + + self.path = path + self.delete = delete + self.kind = kind + + def __repr__(self): + return "<{} {!r}>".format(self.__class__.__name__, self.path) + + def __enter__(self): + self.create() + return self + + def __exit__(self, exc, value, tb): + if self.delete: + self.cleanup() + + def create(self): + """Create a temporary directory and store its path in self.path + """ + if self.path is not None: + logger.debug( + "Skipped creation of temporary directory: {}".format(self.path) + ) + return + # 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. + self.path = os.path.realpath( + tempfile.mkdtemp(prefix="pip-{}-".format(self.kind)) + ) + logger.debug("Created temporary directory: {}".format(self.path)) + + def cleanup(self): + """Remove the temporary directory created and reset state + """ + if self.path is not None and os.path.exists(self.path): + rmtree(self.path) + self.path = None + + +class AdjacentTempDirectory(TempDirectory): + """Helper class that creates a temporary directory adjacent to a real one. + + Attributes: + original + The original directory to create a temp directory for. + path + After calling create() or entering, contains the full + path to the temporary directory. + delete + Whether the directory should be deleted when exiting + (when used as a contextmanager) + + """ + # The characters that may be used to name the temp directory + # We always prepend a ~ and then rotate through these until + # a usable name is found. + # pkg_resources raises a different error for .dist-info folder + # with leading '-' and invalid metadata + LEADING_CHARS = "-~.=%0123456789" + + def __init__(self, original, delete=None): + super(AdjacentTempDirectory, self).__init__(delete=delete) + self.original = original.rstrip('/\\') + + @classmethod + def _generate_names(cls, name): + """Generates a series of temporary names. + + The algorithm replaces the leading characters in the name + with ones that are valid filesystem characters, but are not + valid package names (for both Python and pip definitions of + package). + """ + for i in range(1, len(name)): + for candidate in itertools.combinations_with_replacement( + cls.LEADING_CHARS, i - 1): + new_name = '~' + ''.join(candidate) + name[i:] + if new_name != name: + yield new_name + + # If we make it this far, we will have to make a longer name + for i in range(len(cls.LEADING_CHARS)): + for candidate in itertools.combinations_with_replacement( + cls.LEADING_CHARS, i): + new_name = '~' + ''.join(candidate) + name + if new_name != name: + yield new_name + + def create(self): + root, name = os.path.split(self.original) + for candidate in self._generate_names(name): + path = os.path.join(root, candidate) + try: + os.mkdir(path) + except OSError as ex: + # Continue if the name exists already + if ex.errno != errno.EEXIST: + raise + else: + self.path = os.path.realpath(path) + break + + if not self.path: + # Final fallback on the default behavior. + self.path = os.path.realpath( + tempfile.mkdtemp(prefix="pip-{}-".format(self.kind)) + ) + logger.debug("Created temporary directory: {}".format(self.path)) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/typing.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/typing.py new file mode 100644 index 0000000..e085cdf --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/typing.py @@ -0,0 +1,29 @@ +"""For neatly implementing static typing in pip. + +`mypy` - the static type analysis tool we use - uses the `typing` module, which +provides core functionality fundamental to mypy's functioning. + +Generally, `typing` would be imported at runtime and used in that fashion - +it acts as a no-op at runtime and does not have any run-time overhead by +design. + +As it turns out, `typing` is not vendorable - it uses separate sources for +Python 2/Python 3. Thus, this codebase can not expect it to be present. +To work around this, mypy allows the typing import to be behind a False-y +optional to prevent it from running at runtime and type-comments can be used +to remove the need for the types to be accessible directly during runtime. + +This module provides the False-y guard in a nicely named fashion so that a +curious maintainer can reach here to read this. + +In pip, all static-typing related imports should be guarded as follows: + + from pip._internal.utils.typing import MYPY_CHECK_RUNNING + + if MYPY_CHECK_RUNNING: + from typing import ... # noqa: F401 + +Ref: https://github.com/python/mypy/issues/3216 +""" + +MYPY_CHECK_RUNNING = False diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/ui.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/ui.py new file mode 100644 index 0000000..433675d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/ui.py @@ -0,0 +1,441 @@ +from __future__ import absolute_import, division + +import contextlib +import itertools +import logging +import sys +import time +from signal import SIGINT, default_int_handler, signal + +from pip._vendor import six +from pip._vendor.progress.bar import ( + Bar, ChargingBar, FillingCirclesBar, FillingSquaresBar, IncrementalBar, + ShadyBar, +) +from pip._vendor.progress.helpers import HIDE_CURSOR, SHOW_CURSOR, WritelnMixin +from pip._vendor.progress.spinner import Spinner + +from pip._internal.utils.compat import WINDOWS +from pip._internal.utils.logging import get_indentation +from pip._internal.utils.misc import format_size +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Any, Iterator, IO # noqa: F401 + +try: + from pip._vendor import colorama +# Lots of different errors can come from this, including SystemError and +# ImportError. +except Exception: + colorama = None + +logger = logging.getLogger(__name__) + + +def _select_progress_class(preferred, fallback): + encoding = getattr(preferred.file, "encoding", None) + + # If we don't know what encoding this file is in, then we'll just assume + # that it doesn't support unicode and use the ASCII bar. + if not encoding: + return fallback + + # Collect all of the possible characters we want to use with the preferred + # bar. + characters = [ + getattr(preferred, "empty_fill", six.text_type()), + getattr(preferred, "fill", six.text_type()), + ] + characters += list(getattr(preferred, "phases", [])) + + # Try to decode the characters we're using for the bar using the encoding + # of the given file, if this works then we'll assume that we can use the + # fancier bar and if not we'll fall back to the plaintext bar. + try: + six.text_type().join(characters).encode(encoding) + except UnicodeEncodeError: + return fallback + else: + return preferred + + +_BaseBar = _select_progress_class(IncrementalBar, Bar) # type: Any + + +class InterruptibleMixin(object): + """ + Helper to ensure that self.finish() gets called on keyboard interrupt. + + This allows downloads to be interrupted without leaving temporary state + (like hidden cursors) behind. + + This class is similar to the progress library's existing SigIntMixin + helper, but as of version 1.2, that helper has the following problems: + + 1. It calls sys.exit(). + 2. It discards the existing SIGINT handler completely. + 3. It leaves its own handler in place even after an uninterrupted finish, + which will have unexpected delayed effects if the user triggers an + unrelated keyboard interrupt some time after a progress-displaying + download has already completed, for example. + """ + + def __init__(self, *args, **kwargs): + """ + Save the original SIGINT handler for later. + """ + super(InterruptibleMixin, self).__init__(*args, **kwargs) + + self.original_handler = signal(SIGINT, self.handle_sigint) + + # If signal() returns None, the previous handler was not installed from + # Python, and we cannot restore it. This probably should not happen, + # but if it does, we must restore something sensible instead, at least. + # The least bad option should be Python's default SIGINT handler, which + # just raises KeyboardInterrupt. + if self.original_handler is None: + self.original_handler = default_int_handler + + def finish(self): + """ + Restore the original SIGINT handler after finishing. + + This should happen regardless of whether the progress display finishes + normally, or gets interrupted. + """ + super(InterruptibleMixin, self).finish() + signal(SIGINT, self.original_handler) + + def handle_sigint(self, signum, frame): + """ + Call self.finish() before delegating to the original SIGINT handler. + + This handler should only be in place while the progress display is + active. + """ + self.finish() + self.original_handler(signum, frame) + + +class SilentBar(Bar): + + def update(self): + pass + + +class BlueEmojiBar(IncrementalBar): + + suffix = "%(percent)d%%" + bar_prefix = " " + bar_suffix = " " + phases = (u"\U0001F539", u"\U0001F537", u"\U0001F535") # type: Any + + +class DownloadProgressMixin(object): + + def __init__(self, *args, **kwargs): + super(DownloadProgressMixin, self).__init__(*args, **kwargs) + self.message = (" " * (get_indentation() + 2)) + self.message + + @property + def downloaded(self): + return format_size(self.index) + + @property + def download_speed(self): + # Avoid zero division errors... + if self.avg == 0.0: + return "..." + return format_size(1 / self.avg) + "/s" + + @property + def pretty_eta(self): + if self.eta: + return "eta %s" % self.eta_td + return "" + + def iter(self, it, n=1): + for x in it: + yield x + self.next(n) + self.finish() + + +class WindowsMixin(object): + + def __init__(self, *args, **kwargs): + # The Windows terminal does not support the hide/show cursor ANSI codes + # even with colorama. So we'll ensure that hide_cursor is False on + # Windows. + # This call 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 BaseDownloadProgressBar(WindowsMixin, InterruptibleMixin, + DownloadProgressMixin): + + file = sys.stdout + message = "%(percent)d%%" + suffix = "%(downloaded)s %(download_speed)s %(pretty_eta)s" + +# NOTE: The "type: ignore" comments on the following classes are there to +# work around https://github.com/python/typing/issues/241 + + +class DefaultDownloadProgressBar(BaseDownloadProgressBar, + _BaseBar): + pass + + +class DownloadSilentBar(BaseDownloadProgressBar, SilentBar): # type: ignore + pass + + +class DownloadIncrementalBar(BaseDownloadProgressBar, # type: ignore + IncrementalBar): + pass + + +class DownloadChargingBar(BaseDownloadProgressBar, # type: ignore + ChargingBar): + pass + + +class DownloadShadyBar(BaseDownloadProgressBar, ShadyBar): # type: ignore + pass + + +class DownloadFillingSquaresBar(BaseDownloadProgressBar, # type: ignore + FillingSquaresBar): + pass + + +class DownloadFillingCirclesBar(BaseDownloadProgressBar, # type: ignore + FillingCirclesBar): + pass + + +class DownloadBlueEmojiProgressBar(BaseDownloadProgressBar, # type: ignore + BlueEmojiBar): + pass + + +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) + + +BAR_TYPES = { + "off": (DownloadSilentBar, DownloadSilentBar), + "on": (DefaultDownloadProgressBar, DownloadProgressSpinner), + "ascii": (DownloadIncrementalBar, DownloadProgressSpinner), + "pretty": (DownloadFillingCirclesBar, DownloadProgressSpinner), + "emoji": (DownloadBlueEmojiProgressBar, DownloadProgressSpinner) +} + + +def DownloadProgressProvider(progress_bar, max=None): + if max is None or max == 0: + return BAR_TYPES[progress_bar][1]().iter + else: + return BAR_TYPES[progress_bar][0](max=max).iter + + +################################################################ +# Generic "something is happening" spinners +# +# We don't even try using progress.spinner.Spinner here because it's actually +# simpler to reimplement from scratch than to coerce their code into doing +# what we need. +################################################################ + +@contextlib.contextmanager +def hidden_cursor(file): + # type: (IO) -> Iterator[None] + # The Windows terminal does not support the hide/show cursor ANSI codes, + # even via colorama. So don't even try. + if WINDOWS: + yield + # We don't want to clutter the output with control characters if we're + # writing to a file, or if the user is running with --quiet. + # See https://github.com/pypa/pip/issues/3418 + elif not file.isatty() or logger.getEffectiveLevel() > logging.INFO: + yield + else: + file.write(HIDE_CURSOR) + try: + yield + finally: + file.write(SHOW_CURSOR) + + +class RateLimiter(object): + def __init__(self, min_update_interval_seconds): + # type: (float) -> None + self._min_update_interval_seconds = min_update_interval_seconds + self._last_update = 0 # type: float + + def ready(self): + # type: () -> bool + now = time.time() + delta = now - self._last_update + return delta >= self._min_update_interval_seconds + + def reset(self): + # type: () -> None + self._last_update = time.time() + + +class SpinnerInterface(object): + def spin(self): + # type: () -> None + raise NotImplementedError() + + def finish(self, final_status): + # type: (str) -> None + raise NotImplementedError() + + +class InteractiveSpinner(SpinnerInterface): + def __init__(self, message, file=None, spin_chars="-\\|/", + # Empirically, 8 updates/second looks nice + min_update_interval_seconds=0.125): + self._message = message + if file is None: + file = sys.stdout + self._file = file + self._rate_limiter = RateLimiter(min_update_interval_seconds) + self._finished = False + + self._spin_cycle = itertools.cycle(spin_chars) + + self._file.write(" " * get_indentation() + self._message + " ... ") + self._width = 0 + + def _write(self, status): + assert not self._finished + # Erase what we wrote before by backspacing to the beginning, writing + # spaces to overwrite the old text, and then backspacing again + backup = "\b" * self._width + self._file.write(backup + " " * self._width + backup) + # Now we have a blank slate to add our status + self._file.write(status) + self._width = len(status) + self._file.flush() + self._rate_limiter.reset() + + def spin(self): + # type: () -> None + if self._finished: + return + if not self._rate_limiter.ready(): + return + self._write(next(self._spin_cycle)) + + def finish(self, final_status): + # type: (str) -> None + if self._finished: + return + self._write(final_status) + self._file.write("\n") + self._file.flush() + self._finished = True + + +# Used for dumb terminals, non-interactive installs (no tty), etc. +# We still print updates occasionally (once every 60 seconds by default) to +# act as a keep-alive for systems like Travis-CI that take lack-of-output as +# an indication that a task has frozen. +class NonInteractiveSpinner(SpinnerInterface): + def __init__(self, message, min_update_interval_seconds=60): + # type: (str, float) -> None + self._message = message + self._finished = False + self._rate_limiter = RateLimiter(min_update_interval_seconds) + self._update("started") + + def _update(self, status): + assert not self._finished + self._rate_limiter.reset() + logger.info("%s: %s", self._message, status) + + def spin(self): + # type: () -> None + if self._finished: + return + if not self._rate_limiter.ready(): + return + self._update("still running...") + + def finish(self, final_status): + # type: (str) -> None + if self._finished: + return + self._update("finished with status '%s'" % (final_status,)) + self._finished = True + + +@contextlib.contextmanager +def open_spinner(message): + # type: (str) -> Iterator[SpinnerInterface] + # Interactive spinner goes directly to sys.stdout rather than being routed + # through the logging system, but it acts like it has level INFO, + # i.e. it's only displayed if we're at level INFO or better. + # Non-interactive spinner goes through the logging system, so it is always + # in sync with logging configuration. + if sys.stdout.isatty() and logger.getEffectiveLevel() <= logging.INFO: + spinner = InteractiveSpinner(message) # type: SpinnerInterface + else: + spinner = NonInteractiveSpinner(message) + try: + with hidden_cursor(sys.stdout): + yield spinner + except KeyboardInterrupt: + spinner.finish("canceled") + raise + except Exception: + spinner.finish("error") + raise + else: + spinner.finish("done") diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__init__.py new file mode 100644 index 0000000..9cba764 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__init__.py @@ -0,0 +1,534 @@ +"""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._internal.exceptions import BadCommand +from pip._internal.utils.misc import ( + display_path, backup_dir, call_subprocess, rmtree, ask_path_exists, +) +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Any, Dict, Iterable, List, Mapping, Optional, Text, Tuple, Type + ) + from pip._internal.utils.ui import SpinnerInterface # noqa: F401 + + AuthInfo = Tuple[Optional[str], Optional[str]] + +__all__ = ['vcs'] + + +logger = logging.getLogger(__name__) + + +class RemoteNotFoundError(Exception): + pass + + +class RevOptions(object): + + """ + Encapsulates a VCS-specific revision to install, along with any VCS + install options. + + Instances of this class should be treated as if immutable. + """ + + def __init__(self, vcs, rev=None, extra_args=None): + # type: (VersionControl, Optional[str], Optional[List[str]]) -> None + """ + Args: + vcs: a VersionControl object. + rev: the name of the revision to install. + extra_args: a list of extra options. + """ + if extra_args is None: + extra_args = [] + + self.extra_args = extra_args + self.rev = rev + self.vcs = vcs + + def __repr__(self): + return '<RevOptions {}: rev={!r}>'.format(self.vcs.name, self.rev) + + @property + def arg_rev(self): + # type: () -> Optional[str] + if self.rev is None: + return self.vcs.default_arg_rev + + return self.rev + + def to_args(self): + # type: () -> List[str] + """ + Return the VCS-specific command arguments. + """ + args = [] # type: List[str] + rev = self.arg_rev + if rev is not None: + args += self.vcs.get_base_rev_args(rev) + args += self.extra_args + + return args + + def to_display(self): + # type: () -> str + if not self.rev: + return '' + + return ' (to revision {})'.format(self.rev) + + def make_new(self, rev): + # type: (str) -> RevOptions + """ + Make a copy of the current instance, but with a new rev. + + Args: + rev: the name of the revision for the new object. + """ + return self.vcs.make_rev_options(rev, extra_args=self.extra_args) + + +class VcsSupport(object): + _registry = {} # type: Dict[str, Type[VersionControl]] + schemes = ['ssh', 'git', 'hg', 'bzr', 'sftp', 'svn'] + + def __init__(self): + # type: () -> None + # Register more schemes with urlparse for various version control + # systems + urllib_parse.uses_netloc.extend(self.schemes) + # Python >= 2.7.4, 3.3 doesn't have uses_fragment + if getattr(urllib_parse, 'uses_fragment', None): + urllib_parse.uses_fragment.extend(self.schemes) + super(VcsSupport, self).__init__() + + def __iter__(self): + return self._registry.__iter__() + + @property + def backends(self): + # type: () -> List[Type[VersionControl]] + return list(self._registry.values()) + + @property + def dirnames(self): + # type: () -> List[str] + return [backend.dirname for backend in self.backends] + + @property + def all_schemes(self): + # type: () -> List[str] + schemes = [] # type: List[str] + for backend in self.backends: + schemes.extend(backend.schemes) + return schemes + + def register(self, cls): + # type: (Type[VersionControl]) -> None + if not hasattr(cls, 'name'): + logger.warning('Cannot register VCS %s', cls.__name__) + return + if cls.name not in self._registry: + self._registry[cls.name] = cls + logger.debug('Registered VCS backend: %s', cls.name) + + def unregister(self, cls=None, name=None): + # type: (Optional[Type[VersionControl]], Optional[str]) -> 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_type(self, location): + # type: (str) -> Optional[Type[VersionControl]] + """ + Return the type of the version control backend if found at given + location, e.g. vcs.get_backend_type('/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 + return None + + def get_backend(self, name): + # type: (str) -> Optional[Type[VersionControl]] + name = name.lower() + if name in self._registry: + return self._registry[name] + return None + + +vcs = VcsSupport() + + +class VersionControl(object): + name = '' + dirname = '' + repo_name = '' + # List of supported schemes for this Version Control + schemes = () # type: Tuple[str, ...] + # Iterable of environment variable names to pass to call_subprocess(). + unset_environ = () # type: Tuple[str, ...] + default_arg_rev = None # type: Optional[str] + + def __init__(self, url=None, *args, **kwargs): + self.url = url + super(VersionControl, self).__init__(*args, **kwargs) + + def get_base_rev_args(self, rev): + """ + Return the base revision arguments for a vcs command. + + Args: + rev: the name of a revision to install. Cannot be None. + """ + raise NotImplementedError + + def make_rev_options(self, rev=None, extra_args=None): + # type: (Optional[str], Optional[List[str]]) -> RevOptions + """ + Return a RevOptions object. + + Args: + rev: the name of a revision to install. + extra_args: a list of extra options. + """ + return RevOptions(self, rev, extra_args=extra_args) + + @classmethod + def _is_local_repository(cls, repo): + # type: (str) -> bool + """ + posix absolute paths start with os.path.sep, + win32 ones start with drive (like c:\\folder) + """ + drive, tail = os.path.splitdrive(repo) + return repo.startswith(os.path.sep) or bool(drive) + + def export(self, location): + """ + Export the repository at the url to the destination location + i.e. only download the files, without vcs informations + """ + raise NotImplementedError + + def get_netloc_and_auth(self, netloc, scheme): + """ + Parse the repository URL's netloc, and return the new netloc to use + along with auth information. + + Args: + netloc: the original repository URL netloc. + scheme: the repository URL's scheme without the vcs prefix. + + This is mainly for the Subversion class to override, so that auth + information can be provided via the --username and --password options + instead of through the URL. For other subclasses like Git without + such an option, auth information must stay in the URL. + + Returns: (netloc, (username, password)). + """ + return netloc, (None, None) + + def get_url_rev_and_auth(self, url): + # type: (str) -> Tuple[str, Optional[str], AuthInfo] + """ + Parse the repository URL to use, and return the URL, revision, + and auth info to use. + + Returns: (url, rev, (username, password)). + """ + scheme, netloc, path, query, frag = urllib_parse.urlsplit(url) + if '+' not in scheme: + raise ValueError( + "Sorry, {!r} is a malformed VCS url. " + "The format is <vcs>+<protocol>://<url>, " + "e.g. svn+http://myrepo/svn/MyApp#egg=MyApp".format(url) + ) + # Remove the vcs prefix. + scheme = scheme.split('+', 1)[1] + netloc, user_pass = self.get_netloc_and_auth(netloc, scheme) + rev = None + if '@' in path: + path, rev = path.rsplit('@', 1) + url = urllib_parse.urlunsplit((scheme, netloc, path, query, '')) + return url, rev, user_pass + + def make_rev_args(self, username, password): + """ + Return the RevOptions "extra arguments" to use in obtain(). + """ + return [] + + def get_url_rev_options(self, url): + # type: (str) -> Tuple[str, RevOptions] + """ + Return the URL and RevOptions object to use in obtain() and in + some cases export(), as a tuple (url, rev_options). + """ + url, rev, user_pass = self.get_url_rev_and_auth(url) + username, password = user_pass + extra_args = self.make_rev_args(username, password) + rev_options = self.make_rev_options(rev, extra_args=extra_args) + + return url, rev_options + + def normalize_url(self, url): + # type: (str) -> str + """ + 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): + # type: (str, str) -> bool + """ + Compare two repo URLs for identity, ignoring incidental differences. + """ + return (self.normalize_url(url1) == self.normalize_url(url2)) + + def fetch_new(self, dest, url, rev_options): + """ + Fetch a revision from a repository, in the case that this is the + first fetch from the repository. + + Args: + dest: the directory to fetch the repository to. + rev_options: a RevOptions object. + """ + raise NotImplementedError + + def switch(self, dest, url, rev_options): + """ + Switch the repo at ``dest`` to point to ``URL``. + + Args: + rev_options: a RevOptions object. + """ + raise NotImplementedError + + def update(self, dest, url, rev_options): + """ + Update an already-existing repo to the given ``rev_options``. + + Args: + rev_options: a RevOptions object. + """ + raise NotImplementedError + + def is_commit_id_equal(self, dest, name): + """ + Return whether the id of the current commit equals the given name. + + Args: + dest: the repository directory. + name: a string name. + """ + raise NotImplementedError + + def obtain(self, dest): + # type: (str) -> None + """ + Install or update in editable mode the package represented by this + VersionControl object. + + Args: + dest: the repository directory in which to install or update. + """ + url, rev_options = self.get_url_rev_options(self.url) + + if not os.path.exists(dest): + self.fetch_new(dest, url, rev_options) + return + + rev_display = rev_options.to_display() + if self.is_repository_directory(dest): + existing_url = self.get_remote_url(dest) + if self.compare_urls(existing_url, url): + logger.debug( + '%s in %s exists, and has correct URL (%s)', + self.repo_name.title(), + display_path(dest), + url, + ) + if not self.is_commit_id_equal(dest, rev_options.rev): + logger.info( + 'Updating %s %s%s', + display_path(dest), + self.repo_name, + rev_display, + ) + self.update(dest, url, rev_options) + else: + logger.info('Skipping because already up-to-date.') + return + + logger.warning( + '%s %s in %s exists with URL %s', + self.name, + self.repo_name, + display_path(dest), + existing_url, + ) + prompt = ('(s)witch, (i)gnore, (w)ipe, (b)ackup ', + ('s', 'i', 'w', 'b')) + else: + logger.warning( + 'Directory %s already exists, and is not a %s %s.', + dest, + self.name, + self.repo_name, + ) + # https://github.com/python/mypy/issues/1174 + prompt = ('(i)gnore, (w)ipe, (b)ackup ', # type: ignore + ('i', 'w', 'b')) + + logger.warning( + 'The plan is to install the %s repository %s', + self.name, + url, + ) + response = ask_path_exists('What to do? %s' % prompt[0], prompt[1]) + + if response == 'a': + sys.exit(-1) + + if response == 'w': + logger.warning('Deleting %s', display_path(dest)) + rmtree(dest) + self.fetch_new(dest, url, rev_options) + return + + if response == 'b': + dest_dir = backup_dir(dest) + logger.warning( + 'Backing up %s to %s', display_path(dest), dest_dir, + ) + shutil.move(dest, dest_dir) + self.fetch_new(dest, url, rev_options) + return + + # Do nothing if the response is "i". + if response == 's': + logger.info( + 'Switching %s %s to %s%s', + self.repo_name, + display_path(dest), + url, + rev_display, + ) + self.switch(dest, url, rev_options) + + def unpack(self, location): + # type: (str) -> None + """ + Clean up current location and download the url repository + (and vcs infos) into location + """ + if os.path.exists(location): + rmtree(location) + self.obtain(location) + + @classmethod + def get_src_requirement(cls, location, project_name): + """ + 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 + + @classmethod + def get_remote_url(cls, location): + """ + Return the url used at location + + Raises RemoteNotFoundError if the repository does not have a remote + url configured. + """ + raise NotImplementedError + + @classmethod + def get_revision(cls, location): + """ + Return the current commit id of the files at the given location. + """ + raise NotImplementedError + + @classmethod + def run_command( + cls, + cmd, # type: List[str] + show_stdout=True, # type: bool + cwd=None, # type: Optional[str] + on_returncode='raise', # type: str + extra_ok_returncodes=None, # type: Optional[Iterable[int]] + command_desc=None, # type: Optional[str] + extra_environ=None, # type: Optional[Mapping[str, Any]] + spinner=None # type: Optional[SpinnerInterface] + ): + # type: (...) -> Optional[Text] + """ + Run a VCS subcommand + This is simply a wrapper around call_subprocess that adds the VCS + command name, and checks that the VCS is available + """ + cmd = [cls.name] + cmd + try: + return call_subprocess(cmd, show_stdout, cwd, + on_returncode=on_returncode, + extra_ok_returncodes=extra_ok_returncodes, + command_desc=command_desc, + extra_environ=extra_environ, + unset_environ=cls.unset_environ, + spinner=spinner) + except OSError as e: + # errno.ENOENT = no such file or directory + # In other words, the VCS executable isn't available + if e.errno == errno.ENOENT: + raise BadCommand( + 'Cannot find command %r - do you have ' + '%r installed and in your ' + 'PATH?' % (cls.name, cls.name)) + else: + raise # re-raise exception if a different error occurred + + @classmethod + def is_repository_directory(cls, path): + # type: (str) -> bool + """ + Return whether a directory path is a repository directory. + """ + logger.debug('Checking in %s for %s (%s)...', + path, cls.dirname, cls.name) + return os.path.exists(os.path.join(path, cls.dirname)) + + @classmethod + def controls_location(cls, location): + # type: (str) -> bool + """ + Check if a location is controlled by the vcs. + It is meant to be overridden to implement smarter detection + mechanisms for specific vcs. + + This can do more than is_repository_directory() alone. For example, + the Git override checks that Git is actually available. + """ + return cls.is_repository_directory(location) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/bazaar.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/bazaar.py new file mode 100644 index 0000000..4c6ac79 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/bazaar.py @@ -0,0 +1,114 @@ +from __future__ import absolute_import + +import logging +import os + +from pip._vendor.six.moves.urllib import parse as urllib_parse + +from pip._internal.download import path_to_url +from pip._internal.utils.misc import ( + display_path, make_vcs_requirement_url, rmtree, +) +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.vcs import VersionControl, vcs + +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) + # This is only needed for python <2.7.5 + # Register lp but do not expose as a scheme to support bzr+lp. + if getattr(urllib_parse, 'uses_fragment', None): + urllib_parse.uses_fragment.extend(['lp']) + + def get_base_rev_args(self, rev): + return ['-r', rev] + + def export(self, location): + """ + Export the Bazaar repository at the url to the destination location + """ + # Remove the location to make sure Bazaar can export it correctly + if os.path.exists(location): + rmtree(location) + + with TempDirectory(kind="export") as temp_dir: + self.unpack(temp_dir.path) + + self.run_command( + ['export', location], + cwd=temp_dir.path, show_stdout=False, + ) + + def fetch_new(self, dest, url, rev_options): + rev_display = rev_options.to_display() + logger.info( + 'Checking out %s%s to %s', + url, + rev_display, + display_path(dest), + ) + cmd_args = ['branch', '-q'] + rev_options.to_args() + [url, dest] + self.run_command(cmd_args) + + def switch(self, dest, url, rev_options): + self.run_command(['switch', url], cwd=dest) + + def update(self, dest, url, rev_options): + cmd_args = ['pull', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + + def get_url_rev_and_auth(self, url): + # hotfix the URL scheme after removing bzr+ from bzr+ssh:// readd it + url, rev, user_pass = super(Bazaar, self).get_url_rev_and_auth(url) + if url.startswith('ssh://'): + url = 'bzr+' + url + return url, rev, user_pass + + @classmethod + def get_remote_url(cls, location): + urls = cls.run_command(['info'], show_stdout=False, cwd=location) + for line in urls.splitlines(): + line = line.strip() + for x in ('checkout of branch: ', + 'parent branch: '): + if line.startswith(x): + repo = line.split(x)[1] + if cls._is_local_repository(repo): + return path_to_url(repo) + return repo + return None + + @classmethod + def get_revision(cls, location): + revision = cls.run_command( + ['revno'], show_stdout=False, cwd=location, + ) + return revision.splitlines()[-1] + + @classmethod + def get_src_requirement(cls, location, project_name): + repo = cls.get_remote_url(location) + if not repo: + return None + if not repo.lower().startswith('bzr:'): + repo = 'bzr+' + repo + current_rev = cls.get_revision(location) + return make_vcs_requirement_url(repo, current_rev, project_name) + + def is_commit_id_equal(self, dest, name): + """Always assume the versions don't match""" + return False + + +vcs.register(Bazaar) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/git.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/git.py new file mode 100644 index 0000000..dd2bd61 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/git.py @@ -0,0 +1,369 @@ +from __future__ import absolute_import + +import logging +import os.path +import re + +from pip._vendor.packaging.version import parse as parse_version +from pip._vendor.six.moves.urllib import parse as urllib_parse +from pip._vendor.six.moves.urllib import request as urllib_request + +from pip._internal.exceptions import BadCommand +from pip._internal.utils.compat import samefile +from pip._internal.utils.misc import ( + display_path, make_vcs_requirement_url, redact_password_from_url, +) +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.vcs import RemoteNotFoundError, VersionControl, vcs + +urlsplit = urllib_parse.urlsplit +urlunsplit = urllib_parse.urlunsplit + + +logger = logging.getLogger(__name__) + + +HASH_REGEX = re.compile('[a-fA-F0-9]{40}') + + +def looks_like_hash(sha): + return bool(HASH_REGEX.match(sha)) + + +class Git(VersionControl): + name = 'git' + dirname = '.git' + repo_name = 'clone' + schemes = ( + 'git', 'git+http', 'git+https', 'git+ssh', 'git+git', 'git+file', + ) + # Prevent the user's environment variables from interfering with pip: + # https://github.com/pypa/pip/issues/1130 + unset_environ = ('GIT_DIR', 'GIT_WORK_TREE') + default_arg_rev = 'HEAD' + + def __init__(self, url=None, *args, **kwargs): + + # Works around an apparent Git bug + # (see https://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_base_rev_args(self, rev): + return [rev] + + def get_git_version(self): + VERSION_PFX = 'git version ' + version = self.run_command(['version'], show_stdout=False) + if version.startswith(VERSION_PFX): + version = version[len(VERSION_PFX):].split()[0] + else: + version = '' + # get first 3 positions of the git version 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 get_current_branch(self, location): + """ + Return the current branch, or None if HEAD isn't at a branch + (e.g. detached HEAD). + """ + # git-symbolic-ref exits with empty stdout if "HEAD" is a detached + # HEAD rather than a symbolic ref. In addition, the -q causes the + # command to exit with status code 1 instead of 128 in this case + # and to suppress the message to stderr. + args = ['symbolic-ref', '-q', 'HEAD'] + output = self.run_command( + args, extra_ok_returncodes=(1, ), show_stdout=False, cwd=location, + ) + ref = output.strip() + + if ref.startswith('refs/heads/'): + return ref[len('refs/heads/'):] + + return None + + def export(self, location): + """Export the Git repository at the url to the destination location""" + if not location.endswith('/'): + location = location + '/' + + with TempDirectory(kind="export") as temp_dir: + self.unpack(temp_dir.path) + self.run_command( + ['checkout-index', '-a', '-f', '--prefix', location], + show_stdout=False, cwd=temp_dir.path + ) + + def get_revision_sha(self, dest, rev): + """ + Return (sha_or_none, is_branch), where sha_or_none is a commit hash + if the revision names a remote branch or tag, otherwise None. + + Args: + dest: the repository directory. + rev: the revision name. + """ + # Pass rev to pre-filter the list. + output = self.run_command(['show-ref', rev], cwd=dest, + show_stdout=False, on_returncode='ignore') + refs = {} + for line in output.strip().splitlines(): + try: + sha, ref = line.split() + except ValueError: + # Include the offending line to simplify troubleshooting if + # this error ever occurs. + raise ValueError('unexpected show-ref line: {!r}'.format(line)) + + refs[ref] = sha + + branch_ref = 'refs/remotes/origin/{}'.format(rev) + tag_ref = 'refs/tags/{}'.format(rev) + + sha = refs.get(branch_ref) + if sha is not None: + return (sha, True) + + sha = refs.get(tag_ref) + + return (sha, False) + + def resolve_revision(self, dest, url, rev_options): + """ + Resolve a revision to a new RevOptions object with the SHA1 of the + branch, tag, or ref if found. + + Args: + rev_options: a RevOptions object. + """ + rev = rev_options.arg_rev + sha, is_branch = self.get_revision_sha(dest, rev) + + if sha is not None: + rev_options = rev_options.make_new(sha) + rev_options.branch_name = rev if is_branch else None + + return rev_options + + # Do not show a warning for the common case of something that has + # the form of a Git commit hash. + if not looks_like_hash(rev): + logger.warning( + "Did not find branch or tag '%s', assuming revision or ref.", + rev, + ) + + if not rev.startswith('refs/'): + return rev_options + + # If it looks like a ref, we have to fetch it explicitly. + self.run_command( + ['fetch', '-q', url] + rev_options.to_args(), + cwd=dest, + ) + # Change the revision to the SHA of the ref we fetched + sha = self.get_revision(dest, rev='FETCH_HEAD') + rev_options = rev_options.make_new(sha) + + return rev_options + + def is_commit_id_equal(self, dest, name): + """ + Return whether the current commit hash equals the given name. + + Args: + dest: the repository directory. + name: a string name. + """ + if not name: + # Then avoid an unnecessary subprocess call. + return False + + return self.get_revision(dest) == name + + def fetch_new(self, dest, url, rev_options): + rev_display = rev_options.to_display() + logger.info( + 'Cloning %s%s to %s', redact_password_from_url(url), + rev_display, display_path(dest), + ) + self.run_command(['clone', '-q', url, dest]) + + if rev_options.rev: + # Then a specific revision was requested. + rev_options = self.resolve_revision(dest, url, rev_options) + branch_name = getattr(rev_options, 'branch_name', None) + if branch_name is None: + # Only do a checkout if the current commit id doesn't match + # the requested revision. + if not self.is_commit_id_equal(dest, rev_options.rev): + cmd_args = ['checkout', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + elif self.get_current_branch(dest) != branch_name: + # Then a specific branch was requested, and that branch + # is not yet checked out. + track_branch = 'origin/{}'.format(branch_name) + cmd_args = [ + 'checkout', '-b', branch_name, '--track', track_branch, + ] + self.run_command(cmd_args, cwd=dest) + + #: repo may contain submodules + self.update_submodules(dest) + + def switch(self, dest, url, rev_options): + self.run_command(['config', 'remote.origin.url', url], cwd=dest) + cmd_args = ['checkout', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + + self.update_submodules(dest) + + def update(self, dest, url, 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) + rev_options = self.resolve_revision(dest, url, rev_options) + cmd_args = ['reset', '--hard', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + #: update submodules + self.update_submodules(dest) + + @classmethod + def get_remote_url(cls, location): + """ + Return URL of the first remote encountered. + + Raises RemoteNotFoundError if the repository does not have a remote + url configured. + """ + # We need to pass 1 for extra_ok_returncodes since the command + # exits with return code 1 if there are no matching lines. + stdout = cls.run_command( + ['config', '--get-regexp', r'remote\..*\.url'], + extra_ok_returncodes=(1, ), show_stdout=False, cwd=location, + ) + remotes = stdout.splitlines() + try: + found_remote = remotes[0] + except IndexError: + raise RemoteNotFoundError + + for remote in remotes: + if remote.startswith('remote.origin.url '): + found_remote = remote + break + url = found_remote.split(' ')[1] + return url.strip() + + @classmethod + def get_revision(cls, location, rev=None): + if rev is None: + rev = 'HEAD' + current_rev = cls.run_command( + ['rev-parse', rev], show_stdout=False, cwd=location, + ) + return current_rev.strip() + + @classmethod + def _get_subdirectory(cls, location): + """Return the relative path of setup.py to the git repo root.""" + # find the repo root + git_dir = cls.run_command(['rev-parse', '--git-dir'], + show_stdout=False, cwd=location).strip() + if not os.path.isabs(git_dir): + git_dir = os.path.join(location, git_dir) + 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) + + @classmethod + def get_src_requirement(cls, location, project_name): + repo = cls.get_remote_url(location) + if not repo.lower().startswith('git:'): + repo = 'git+' + repo + current_rev = cls.get_revision(location) + subdir = cls._get_subdirectory(location) + req = make_vcs_requirement_url(repo, current_rev, project_name, + subdir=subdir) + + return req + + def get_url_rev_and_auth(self, url): + """ + Prefixes stub URLs like 'user@hostname:user/repo.git' with 'ssh://'. + That's required because although they use SSH they sometimes don't + work with a ssh:// scheme (e.g. GitHub). But we need a scheme for + parsing. Hence we remove it again afterwards and return it as a stub. + """ + if '://' not in url: + assert 'file:' not in url + url = url.replace('git+', 'git+ssh://') + url, rev, user_pass = super(Git, self).get_url_rev_and_auth(url) + url = url.replace('ssh://', '') + else: + url, rev, user_pass = super(Git, self).get_url_rev_and_auth(url) + + return url, rev, user_pass + + 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/mercurial.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/mercurial.py new file mode 100644 index 0000000..26e75de --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/mercurial.py @@ -0,0 +1,103 @@ +from __future__ import absolute_import + +import logging +import os + +from pip._vendor.six.moves import configparser + +from pip._internal.download import path_to_url +from pip._internal.utils.misc import display_path, make_vcs_requirement_url +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.vcs import VersionControl, vcs + +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 get_base_rev_args(self, rev): + return [rev] + + def export(self, location): + """Export the Hg repository at the url to the destination location""" + with TempDirectory(kind="export") as temp_dir: + self.unpack(temp_dir.path) + + self.run_command( + ['archive', location], show_stdout=False, cwd=temp_dir.path + ) + + def fetch_new(self, dest, url, rev_options): + rev_display = rev_options.to_display() + logger.info( + 'Cloning hg %s%s to %s', + url, + rev_display, + display_path(dest), + ) + self.run_command(['clone', '--noupdate', '-q', url, dest]) + cmd_args = ['update', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + + 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: + cmd_args = ['update', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + + def update(self, dest, url, rev_options): + self.run_command(['pull', '-q'], cwd=dest) + cmd_args = ['update', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + + @classmethod + def get_remote_url(cls, location): + url = cls.run_command( + ['showconfig', 'paths.default'], + show_stdout=False, cwd=location).strip() + if cls._is_local_repository(url): + url = path_to_url(url) + return url.strip() + + @classmethod + def get_revision(cls, location): + current_revision = cls.run_command( + ['parents', '--template={rev}'], + show_stdout=False, cwd=location).strip() + return current_revision + + @classmethod + def get_revision_hash(cls, location): + current_rev_hash = cls.run_command( + ['parents', '--template={node}'], + show_stdout=False, cwd=location).strip() + return current_rev_hash + + @classmethod + def get_src_requirement(cls, location, project_name): + repo = cls.get_remote_url(location) + if not repo.lower().startswith('hg:'): + repo = 'hg+' + repo + current_rev_hash = cls.get_revision_hash(location) + return make_vcs_requirement_url(repo, current_rev_hash, project_name) + + def is_commit_id_equal(self, dest, name): + """Always assume the versions don't match""" + return False + + +vcs.register(Mercurial) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/subversion.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/subversion.py new file mode 100644 index 0000000..42ac5ac --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/subversion.py @@ -0,0 +1,200 @@ +from __future__ import absolute_import + +import logging +import os +import re + +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + display_path, make_vcs_requirement_url, rmtree, split_auth_from_netloc, +) +from pip._internal.vcs import VersionControl, vcs + +_svn_xml_url_re = re.compile('url="([^"]+)"') +_svn_rev_re = re.compile(r'committed-rev="(\d+)"') +_svn_info_xml_rev_re = re.compile(r'\s*revision="(\d+)"') +_svn_info_xml_url_re = re.compile(r'<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_base_rev_args(self, rev): + return ['-r', rev] + + def export(self, location): + """Export the svn repository at the url to the destination location""" + url, rev_options = self.get_url_rev_options(self.url) + + logger.info('Exporting svn repository %s to %s', url, location) + with indent_log(): + if os.path.exists(location): + # Subversion doesn't like to check out over an existing + # directory --force fixes this, but was only added in svn 1.5 + rmtree(location) + cmd_args = ['export'] + rev_options.to_args() + [url, location] + self.run_command(cmd_args, show_stdout=False) + + def fetch_new(self, dest, url, rev_options): + rev_display = rev_options.to_display() + logger.info( + 'Checking out %s%s to %s', + url, + rev_display, + display_path(dest), + ) + cmd_args = ['checkout', '-q'] + rev_options.to_args() + [url, dest] + self.run_command(cmd_args) + + def switch(self, dest, url, rev_options): + cmd_args = ['switch'] + rev_options.to_args() + [url, dest] + self.run_command(cmd_args) + + def update(self, dest, url, rev_options): + cmd_args = ['update'] + rev_options.to_args() + [dest] + self.run_command(cmd_args) + + @classmethod + def get_revision(cls, location): + """ + Return the maximum revision for all files under a given location + """ + # Note: taken from setuptools.command.egg_info + revision = 0 + + for base, dirs, files in os.walk(location): + if cls.dirname not in dirs: + dirs[:] = [] + continue # no sense walking uncontrolled subdirs + dirs.remove(cls.dirname) + entries_fn = os.path.join(base, cls.dirname, 'entries') + if not os.path.exists(entries_fn): + # FIXME: should we warn? + continue + + dirurl, localrev = cls._get_svn_url_rev(base) + + if base == location: + base = dirurl + '/' # save the root url + elif not dirurl or not dirurl.startswith(base): + dirs[:] = [] + continue # not part of the same svn tree, skip it + revision = max(revision, localrev) + return revision + + def get_netloc_and_auth(self, netloc, scheme): + """ + This override allows the auth information to be passed to svn via the + --username and --password options instead of via the URL. + """ + if scheme == 'ssh': + # The --username and --password options can't be used for + # svn+ssh URLs, so keep the auth information in the URL. + return super(Subversion, self).get_netloc_and_auth( + netloc, scheme) + + return split_auth_from_netloc(netloc) + + def get_url_rev_and_auth(self, url): + # hotfix the URL scheme after removing svn+ from svn+ssh:// readd it + url, rev, user_pass = super(Subversion, self).get_url_rev_and_auth(url) + if url.startswith('ssh://'): + url = 'svn+' + url + return url, rev, user_pass + + def make_rev_args(self, username, password): + extra_args = [] + if username: + extra_args += ['--username', username] + if password: + extra_args += ['--password', password] + + return extra_args + + @classmethod + def get_remote_url(cls, location): + # In cases where the source is in a subdirectory, not alongside + # setup.py we have to look up in the location until we find a real + # setup.py + orig_location = location + while not os.path.exists(os.path.join(location, 'setup.py')): + last_location = location + location = os.path.dirname(location) + if location == last_location: + # We've traversed up to the root of the filesystem without + # finding setup.py + logger.warning( + "Could not find setup.py for directory %s (tried all " + "parent directories)", + orig_location, + ) + return None + + return cls._get_svn_url_rev(location)[0] + + @classmethod + def _get_svn_url_rev(cls, location): + from pip._internal.exceptions import InstallationError + + entries_path = os.path.join(location, cls.dirname, 'entries') + if os.path.exists(entries_path): + with open(entries_path) as f: + data = f.read() + else: # subversion >= 1.7 does not have the 'entries' file + data = '' + + if (data.startswith('8') or + data.startswith('9') or + data.startswith('10')): + data = list(map(str.splitlines, data.split('\n\x0c\n'))) + del data[0][0] # get rid of the '8' + url = data[0][3] + revs = [int(d[9]) for d in data if len(d) > 9 and d[9]] + [0] + elif data.startswith('<?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 = cls.run_command( + ['info', '--xml', location], + show_stdout=False, + ) + url = _svn_info_xml_url_re.search(xml).group(1) + revs = [ + int(m.group(1)) for m in _svn_info_xml_rev_re.finditer(xml) + ] + except InstallationError: + url, revs = None, [] + + if revs: + rev = max(revs) + else: + rev = 0 + + return url, rev + + @classmethod + def get_src_requirement(cls, location, project_name): + repo = cls.get_remote_url(location) + if repo is None: + return None + repo = 'svn+' + repo + rev = cls.get_revision(location) + return make_vcs_requirement_url(repo, rev, project_name) + + def is_commit_id_equal(self, dest, name): + """Always assume the versions don't match""" + return False + + +vcs.register(Subversion) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/wheel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/wheel.py new file mode 100644 index 0000000..67bcc7f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/wheel.py @@ -0,0 +1,1095 @@ +""" +Support for installing and building the "wheel" binary package format. +""" +from __future__ import absolute_import + +import collections +import compileall +import csv +import hashlib +import logging +import os.path +import re +import shutil +import stat +import sys +import warnings +from base64 import urlsafe_b64encode +from email.parser import Parser + +from pip._vendor import pkg_resources +from pip._vendor.distlib.scripts import ScriptMaker +from pip._vendor.packaging.utils import canonicalize_name +from pip._vendor.six import StringIO + +from pip._internal import pep425tags +from pip._internal.download import path_to_url, unpack_url +from pip._internal.exceptions import ( + InstallationError, InvalidWheelFilename, UnsupportedWheel, +) +from pip._internal.locations import ( + PIP_DELETE_MARKER_FILENAME, distutils_scheme, +) +from pip._internal.models.link import Link +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + call_subprocess, captured_stdout, ensure_dir, read_chunks, +) +from pip._internal.utils.setuptools_build import SETUPTOOLS_SHIM +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.utils.ui import open_spinner + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Dict, List, Optional, Sequence, Mapping, Tuple, IO, Text, Any, + Union, Iterable + ) + from pip._vendor.packaging.requirements import Requirement # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + from pip._internal.index import FormatControl, PackageFinder # noqa: F401 + from pip._internal.operations.prepare import ( # noqa: F401 + RequirementPreparer + ) + from pip._internal.cache import WheelCache # noqa: F401 + from pip._internal.pep425tags import Pep425Tag # noqa: F401 + + InstalledCSVRow = Tuple[str, ...] + + +VERSION_COMPATIBLE = (1, 0) + + +logger = logging.getLogger(__name__) + + +def normpath(src, p): + return os.path.relpath(src, p).replace(os.path.sep, '/') + + +def rehash(path, blocksize=1 << 20): + # type: (str, int) -> Tuple[str, str] + """Return (hash, length) for path using hashlib.sha256()""" + h = hashlib.sha256() + length = 0 + with open(path, 'rb') as f: + for block in read_chunks(f, size=blocksize): + length += len(block) + h.update(block) + digest = 'sha256=' + urlsafe_b64encode( + h.digest() + ).decode('latin1').rstrip('=') + # unicode/str python2 issues + return (digest, str(length)) # type: ignore + + +def open_for_csv(name, mode): + # type: (str, Text) -> IO + if sys.version_info[0] < 3: + nl = {} # type: Dict[str, Any] + bin = 'b' + else: + nl = {'newline': ''} # type: Dict[str, Any] + bin = '' + return open(name, mode + bin, **nl) + + +def replace_python_tag(wheelname, new_tag): + # type: (str, str) -> str + """Replace the Python tag in a wheel file name with a new value. + """ + parts = wheelname.split('-') + parts[-3] = new_tag + return '-'.join(parts) + + +def fix_script(path): + # type: (str) -> Optional[bool] + """Replace #!python with #!/path/to/python + Return True if file was changed.""" + # XXX RECORD hashes will need to be updated + if os.path.isfile(path): + with open(path, 'rb') as script: + firstline = script.readline() + if not firstline.startswith(b'#!python'): + return False + exename = sys.executable.encode(sys.getfilesystemencoding()) + firstline = b'#!' + exename + os.linesep.encode("ascii") + rest = script.read() + with open(path, 'wb') as script: + script.write(firstline) + script.write(rest) + return True + return None + + +dist_info_re = re.compile(r"""^(?P<namever>(?P<name>.+?)(-(?P<ver>.+?))?) + \.dist-info$""", re.VERBOSE) + + +def root_is_purelib(name, wheeldir): + # type: (str, str) -> bool + """ + Return True if the extracted wheel in wheeldir should go into purelib. + """ + name_folded = name.replace("-", "_") + for item in os.listdir(wheeldir): + match = dist_info_re.match(item) + if match and match.group('name') == name_folded: + with open(os.path.join(wheeldir, item, 'WHEEL')) as wheel: + for line in wheel: + line = line.lower().rstrip() + if line == "root-is-purelib: true": + return True + return False + + +def get_entrypoints(filename): + # type: (str) -> Tuple[Dict[str, str], Dict[str, str]] + if not os.path.exists(filename): + return {}, {} + + # This is done because you can pass a string to entry_points wrappers which + # means that they may or may not be valid INI files. The attempt here is to + # strip leading and trailing whitespace in order to make them valid INI + # files. + with open(filename) as fp: + data = StringIO() + for line in fp: + data.write(line.strip()) + data.write("\n") + data.seek(0) + + # get the entry points and then the script names + entry_points = pkg_resources.EntryPoint.parse_map(data) + console = entry_points.get('console_scripts', {}) + gui = entry_points.get('gui_scripts', {}) + + def _split_ep(s): + """get the string representation of EntryPoint, remove space and split + on '='""" + return str(s).replace(" ", "").split("=") + + # convert the EntryPoint objects into strings with module:function + console = dict(_split_ep(v) for v in console.values()) + gui = dict(_split_ep(v) for v in gui.values()) + return console, gui + + +def message_about_scripts_not_on_PATH(scripts): + # type: (Sequence[str]) -> Optional[str] + """Determine if any scripts are not on PATH and format a warning. + + Returns a warning message if one or more scripts are not on PATH, + otherwise None. + """ + if not scripts: + return None + + # Group scripts by the path they were installed in + grouped_by_dir = collections.defaultdict(set) # type: Dict[str, set] + for destfile in scripts: + parent_dir = os.path.dirname(destfile) + script_name = os.path.basename(destfile) + grouped_by_dir[parent_dir].add(script_name) + + # We don't want to warn for directories that are on PATH. + not_warn_dirs = [ + os.path.normcase(i).rstrip(os.sep) for i in + os.environ.get("PATH", "").split(os.pathsep) + ] + # If an executable sits with sys.executable, we don't warn for it. + # This covers the case of venv invocations without activating the venv. + not_warn_dirs.append(os.path.normcase(os.path.dirname(sys.executable))) + warn_for = { + parent_dir: scripts for parent_dir, scripts in grouped_by_dir.items() + if os.path.normcase(parent_dir) not in not_warn_dirs + } + if not warn_for: + return None + + # Format a message + msg_lines = [] + for parent_dir, scripts in warn_for.items(): + scripts = sorted(scripts) + if len(scripts) == 1: + start_text = "script {} is".format(scripts[0]) + else: + start_text = "scripts {} are".format( + ", ".join(scripts[:-1]) + " and " + scripts[-1] + ) + + msg_lines.append( + "The {} installed in '{}' which is not on PATH." + .format(start_text, parent_dir) + ) + + last_line_fmt = ( + "Consider adding {} to PATH or, if you prefer " + "to suppress this warning, use --no-warn-script-location." + ) + if len(msg_lines) == 1: + msg_lines.append(last_line_fmt.format("this directory")) + else: + msg_lines.append(last_line_fmt.format("these directories")) + + # Returns the formatted multiline message + return "\n".join(msg_lines) + + +def sorted_outrows(outrows): + # type: (Iterable[InstalledCSVRow]) -> List[InstalledCSVRow] + """ + Return the given rows of a RECORD file in sorted order. + + Each row is a 3-tuple (path, hash, size) and corresponds to a record of + a RECORD file (see PEP 376 and PEP 427 for details). For the rows + passed to this function, the size can be an integer as an int or string, + or the empty string. + """ + # Normally, there should only be one row per path, in which case the + # second and third elements don't come into play when sorting. + # However, in cases in the wild where a path might happen to occur twice, + # we don't want the sort operation to trigger an error (but still want + # determinism). Since the third element can be an int or string, we + # coerce each element to a string to avoid a TypeError in this case. + # For additional background, see-- + # https://github.com/pypa/pip/issues/5868 + return sorted(outrows, key=lambda row: tuple(str(x) for x in row)) + + +def get_csv_rows_for_installed( + old_csv_rows, # type: Iterable[List[str]] + installed, # type: Dict[str, str] + changed, # type: set + generated, # type: List[str] + lib_dir, # type: str +): + # type: (...) -> List[InstalledCSVRow] + """ + :param installed: A map from archive RECORD path to installation RECORD + path. + """ + installed_rows = [] # type: List[InstalledCSVRow] + for row in old_csv_rows: + if len(row) > 3: + logger.warning( + 'RECORD line has more than three elements: {}'.format(row) + ) + # Make a copy because we are mutating the row. + row = list(row) + old_path = row[0] + new_path = installed.pop(old_path, old_path) + row[0] = new_path + if new_path in changed: + digest, length = rehash(new_path) + row[1] = digest + row[2] = length + installed_rows.append(tuple(row)) + for f in generated: + digest, length = rehash(f) + installed_rows.append((normpath(f, lib_dir), digest, str(length))) + for f in installed: + installed_rows.append((installed[f], '', '')) + return installed_rows + + +def move_wheel_files( + name, # type: str + req, # type: Requirement + wheeldir, # type: str + user=False, # type: bool + home=None, # type: Optional[str] + root=None, # type: Optional[str] + pycompile=True, # type: bool + scheme=None, # type: Optional[Mapping[str, str]] + isolated=False, # type: bool + prefix=None, # type: Optional[str] + warn_script_location=True # type: bool +): + # type: (...) -> None + """Install a wheel""" + # TODO: Investigate and break this up. + # TODO: Look into moving this into a dedicated class for representing an + # installation. + + if not scheme: + scheme = distutils_scheme( + name, user=user, home=home, root=root, isolated=isolated, + prefix=prefix, + ) + + if root_is_purelib(name, wheeldir): + lib_dir = scheme['purelib'] + else: + lib_dir = scheme['platlib'] + + info_dir = [] # type: List[str] + data_dirs = [] + source = wheeldir.rstrip(os.path.sep) + os.path.sep + + # Record details of the files moved + # installed = files copied from the wheel to the destination + # changed = files changed while installing (scripts #! line typically) + # generated = files newly generated during the install (script wrappers) + installed = {} # type: Dict[str, str] + changed = set() + generated = [] # type: List[str] + + # Compile all of the pyc files that we're going to be installing + if pycompile: + with captured_stdout() as stdout: + with warnings.catch_warnings(): + warnings.filterwarnings('ignore') + compileall.compile_dir(source, force=True, quiet=True) + logger.debug(stdout.getvalue()) + + def record_installed(srcfile, destfile, modified=False): + """Map archive RECORD paths to installation RECORD paths.""" + oldpath = normpath(srcfile, wheeldir) + newpath = normpath(destfile, lib_dir) + installed[oldpath] = newpath + if modified: + changed.add(destfile) + + def clobber(source, dest, is_base, fixer=None, filter=None): + ensure_dir(dest) # common for the 'include' path + + for dir, subdirs, files in os.walk(source): + basedir = dir[len(source):].lstrip(os.path.sep) + destdir = os.path.join(dest, basedir) + if is_base and basedir.split(os.path.sep, 1)[0].endswith('.data'): + continue + for s in subdirs: + destsubdir = os.path.join(dest, basedir, s) + if is_base and basedir == '' and destsubdir.endswith('.data'): + data_dirs.append(s) + continue + elif (is_base and + s.endswith('.dist-info') and + canonicalize_name(s).startswith( + canonicalize_name(req.name))): + assert not info_dir, ('Multiple .dist-info directories: ' + + destsubdir + ', ' + + ', '.join(info_dir)) + info_dir.append(destsubdir) + for f in files: + # Skip unwanted files + if filter and filter(f): + continue + srcfile = os.path.join(dir, f) + destfile = os.path.join(dest, basedir, f) + # directory creation is lazy and after the file filtering above + # to ensure we don't install empty dirs; empty dirs can't be + # uninstalled. + ensure_dir(destdir) + + # copyfile (called below) truncates the destination if it + # exists and then writes the new contents. This is fine in most + # cases, but can cause a segfault if pip has loaded a shared + # object (e.g. from pyopenssl through its vendored urllib3) + # Since the shared object is mmap'd an attempt to call a + # symbol in it will then cause a segfault. Unlinking the file + # allows writing of new contents while allowing the process to + # continue to use the old copy. + if os.path.exists(destfile): + os.unlink(destfile) + + # We use copyfile (not move, copy, or copy2) to be extra sure + # that we are not moving directories over (copyfile fails for + # directories) as well as to ensure that we are not copying + # over any metadata because we want more control over what + # metadata we actually copy over. + shutil.copyfile(srcfile, destfile) + + # Copy over the metadata for the file, currently this only + # includes the atime and mtime. + st = os.stat(srcfile) + if hasattr(os, "utime"): + os.utime(destfile, (st.st_atime, st.st_mtime)) + + # If our file is executable, then make our destination file + # executable. + if os.access(srcfile, os.X_OK): + st = os.stat(srcfile) + permissions = ( + st.st_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH + ) + os.chmod(destfile, permissions) + + changed = False + if fixer: + changed = fixer(destfile) + record_installed(srcfile, destfile, changed) + + clobber(source, lib_dir, True) + + assert info_dir, "%s .dist-info directory not found" % req + + # Get the defined entry points + ep_file = os.path.join(info_dir[0], 'entry_points.txt') + console, gui = get_entrypoints(ep_file) + + def is_entrypoint_wrapper(name): + # EP, EP.exe and EP-script.py are scripts generated for + # entry point EP by setuptools + if name.lower().endswith('.exe'): + matchname = name[:-4] + elif name.lower().endswith('-script.py'): + matchname = name[:-10] + elif name.lower().endswith(".pya"): + matchname = name[:-4] + else: + matchname = name + # Ignore setuptools-generated scripts + return (matchname in console or matchname in gui) + + for datadir in data_dirs: + fixer = None + filter = None + for subdir in os.listdir(os.path.join(wheeldir, datadir)): + fixer = None + if subdir == 'scripts': + fixer = fix_script + filter = is_entrypoint_wrapper + source = os.path.join(wheeldir, datadir, subdir) + dest = scheme[subdir] + clobber(source, dest, False, fixer=fixer, filter=filter) + + maker = 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 = {''} + + # 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, + } + # ignore type, because mypy disallows assigning to a method, + # see https://github.com/python/mypy/issues/2427 + maker._get_script_text = _get_script_text # type: ignore + maker.script_template = r"""# -*- coding: utf-8 -*- +import re +import sys + +from %(module)s import %(import_name)s + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(%(func)s()) +""" + + # 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_console_scripts = maker.make_multiple( + ['%s = %s' % kv for kv in console.items()] + ) + generated.extend(generated_console_scripts) + + if warn_script_location: + msg = message_about_scripts_not_on_PATH(generated_console_scripts) + if msg is not None: + logger.warning(msg) + + 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) + outrows = get_csv_rows_for_installed( + reader, installed=installed, changed=changed, + generated=generated, lib_dir=lib_dir, + ) + writer = csv.writer(record_out) + # Sort to simplify testing. + for row in sorted_outrows(outrows): + writer.writerow(row) + shutil.move(temp_record, record) + + +def wheel_version(source_dir): + # type: (Optional[str]) -> Optional[Tuple[int, ...]] + """ + Return the Wheel-Version of an extracted wheel, if possible. + + Otherwise, return None if we couldn't parse / extract it. + """ + try: + dist = [d for d in pkg_resources.find_on_path(None, source_dir)][0] + + wheel_data = dist.get_metadata('WHEEL') + wheel_data = Parser().parsestr(wheel_data) + + version = wheel_data['Wheel-Version'].strip() + version = tuple(map(int, version.split('.'))) + return version + except Exception: + return None + + +def check_compatibility(version, name): + # type: (Optional[Tuple[int, ...]], str) -> None + """ + Raises errors or warns if called with an incompatible Wheel-Version. + + Pip should refuse to install a Wheel-Version that's a major series + ahead of what it's compatible with (e.g 2.0 > 1.1); and warn when + installing a version only minor version ahead (e.g 1.2 > 1.1). + + version: a 2-tuple representing a Wheel-Version (Major, Minor) + name: name of wheel or package to raise exception about + + :raises UnsupportedWheel: when an incompatible Wheel-Version is given + """ + if not version: + raise UnsupportedWheel( + "%s is in an unsupported or invalid wheel" % name + ) + if version[0] > VERSION_COMPATIBLE[0]: + raise UnsupportedWheel( + "%s's Wheel-Version (%s) is not compatible with this version " + "of pip" % (name, '.'.join(map(str, version))) + ) + elif version > VERSION_COMPATIBLE: + logger.warning( + 'Installing from a newer Wheel-Version (%s)', + '.'.join(map(str, version)), + ) + + +class Wheel(object): + """A wheel file""" + + # TODO: Maybe move the class into the models sub-package + # TODO: Maybe move the install code into this class + + wheel_file_re = re.compile( + r"""^(?P<namever>(?P<name>.+?)-(?P<ver>.*?)) + ((-(?P<build>\d[^-]*?))?-(?P<pyver>.+?)-(?P<abi>.+?)-(?P<plat>.+?) + \.whl|\.dist-info)$""", + re.VERBOSE + ) + + def __init__(self, filename): + # type: (str) -> None + """ + :raises InvalidWheelFilename: when the filename is invalid for a wheel + """ + wheel_info = self.wheel_file_re.match(filename) + if not wheel_info: + raise InvalidWheelFilename( + "%s is not a valid wheel filename." % filename + ) + self.filename = filename + self.name = wheel_info.group('name').replace('_', '-') + # we'll assume "_" means "-" due to wheel naming scheme + # (https://github.com/pypa/pip/issues/1150) + self.version = wheel_info.group('ver').replace('_', '-') + self.build_tag = wheel_info.group('build') + self.pyversions = wheel_info.group('pyver').split('.') + self.abis = wheel_info.group('abi').split('.') + self.plats = wheel_info.group('plat').split('.') + + # All the tag combinations from this file + self.file_tags = { + (x, y, z) for x in self.pyversions + for y in self.abis for z in self.plats + } + + def support_index_min(self, tags=None): + # type: (Optional[List[Pep425Tag]]) -> Optional[int] + """ + 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.get_supported() + 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): + # type: (Optional[List[Pep425Tag]]) -> bool + """Is this wheel supported on this system?""" + if tags is None: # for mock + tags = pep425tags.get_supported() + return bool(set(tags).intersection(self.file_tags)) + + +def _contains_egg_info( + s, _egg_info_re=re.compile(r'([a-z0-9_.]+)-([a-z0-9_.!+-]+)', re.I)): + """Determine whether the string looks like an egg_info. + + :param s: The string to parse. E.g. foo-2.1 + """ + return bool(_egg_info_re.search(s)) + + +def should_use_ephemeral_cache( + req, # type: InstallRequirement + format_control, # type: FormatControl + autobuilding, # type: bool + cache_available # type: bool +): + # type: (...) -> Optional[bool] + """ + Return whether to build an InstallRequirement object using the + ephemeral cache. + + :param cache_available: whether a cache directory is available for the + autobuilding=True case. + + :return: True or False to build the requirement with ephem_cache=True + or False, respectively; or None not to build the requirement. + """ + if req.constraint: + return None + if req.is_wheel: + if not autobuilding: + logger.info( + 'Skipping %s, due to already being wheel.', req.name, + ) + return None + if not autobuilding: + return False + + if req.editable or not req.source_dir: + return None + + if req.link and not req.link.is_artifact: + # VCS checkout. Build wheel just for this run. + return True + + if "binary" not in format_control.get_allowed_formats( + canonicalize_name(req.name)): + logger.info( + "Skipping bdist_wheel for %s, due to binaries " + "being disabled for it.", req.name, + ) + return None + + link = req.link + base, ext = link.splitext() + if cache_available and _contains_egg_info(base): + return False + + # Otherwise, build the wheel just for this run using the ephemeral + # cache since we are either in the case of e.g. a local directory, or + # no cache directory is available to use. + return True + + +def format_command( + command_args, # type: List[str] + command_output, # type: str +): + # type: (...) -> str + """ + Format command information for logging. + """ + text = 'Command arguments: {}\n'.format(command_args) + + if not command_output: + text += 'Command output: None' + elif logger.getEffectiveLevel() > logging.DEBUG: + text += 'Command output: [use --verbose to show]' + else: + if not command_output.endswith('\n'): + command_output += '\n' + text += ( + 'Command output:\n{}' + '-----------------------------------------' + ).format(command_output) + + return text + + +def get_legacy_build_wheel_path( + names, # type: List[str] + temp_dir, # type: str + req, # type: InstallRequirement + command_args, # type: List[str] + command_output, # type: str +): + # type: (...) -> Optional[str] + """ + Return the path to the wheel in the temporary build directory. + """ + # Sort for determinism. + names = sorted(names) + if not names: + msg = ( + 'Legacy build of wheel for {!r} created no files.\n' + ).format(req.name) + msg += format_command(command_args, command_output) + logger.warning(msg) + return None + + if len(names) > 1: + msg = ( + 'Legacy build of wheel for {!r} created more than one file.\n' + 'Filenames (choosing first): {}\n' + ).format(req.name, names) + msg += format_command(command_args, command_output) + logger.warning(msg) + + return os.path.join(temp_dir, names[0]) + + +class WheelBuilder(object): + """Build wheels from a RequirementSet.""" + + def __init__( + self, + finder, # type: PackageFinder + preparer, # type: RequirementPreparer + wheel_cache, # type: WheelCache + build_options=None, # type: Optional[List[str]] + global_options=None, # type: Optional[List[str]] + no_clean=False # type: bool + ): + # type: (...) -> None + self.finder = finder + self.preparer = preparer + self.wheel_cache = wheel_cache + + self._wheel_dir = preparer.wheel_download_dir + + self.build_options = build_options or [] + self.global_options = global_options or [] + self.no_clean = no_clean + + def _build_one(self, req, output_dir, python_tag=None): + """Build one wheel. + + :return: The filename of the built wheel, or None if the build failed. + """ + # Install build deps into temporary directory (PEP 518) + with req.build_env: + return self._build_one_inside_env(req, output_dir, + python_tag=python_tag) + + def _build_one_inside_env(self, req, output_dir, python_tag=None): + with TempDirectory(kind="wheel") as temp_dir: + if req.use_pep517: + builder = self._build_one_pep517 + else: + builder = self._build_one_legacy + wheel_path = builder(req, temp_dir.path, python_tag=python_tag) + if wheel_path is not None: + wheel_name = os.path.basename(wheel_path) + dest_path = os.path.join(output_dir, wheel_name) + try: + shutil.move(wheel_path, dest_path) + logger.info('Stored in directory: %s', output_dir) + return dest_path + except Exception: + pass + # Ignore return, we can't do anything else useful. + self._clean_one(req) + return None + + def _base_setup_args(self, req): + # NOTE: Eventually, we'd want to also -S to the flags here, when we're + # isolating. Currently, it breaks Python in virtualenvs, because it + # relies on site.py to find parts of the standard library outside the + # virtualenv. + return [ + sys.executable, '-u', '-c', + SETUPTOOLS_SHIM % req.setup_py + ] + list(self.global_options) + + def _build_one_pep517(self, req, tempd, python_tag=None): + """Build one InstallRequirement using the PEP 517 build process. + + Returns path to wheel if successfully built. Otherwise, returns None. + """ + assert req.metadata_directory is not None + try: + req.spin_message = 'Building wheel for %s (PEP 517)' % (req.name,) + logger.debug('Destination directory: %s', tempd) + wheel_name = req.pep517_backend.build_wheel( + tempd, + metadata_directory=req.metadata_directory + ) + if python_tag: + # General PEP 517 backends don't necessarily support + # a "--python-tag" option, so we rename the wheel + # file directly. + new_name = replace_python_tag(wheel_name, python_tag) + os.rename( + os.path.join(tempd, wheel_name), + os.path.join(tempd, new_name) + ) + # Reassign to simplify the return at the end of function + wheel_name = new_name + except Exception: + logger.error('Failed building wheel for %s', req.name) + return None + return os.path.join(tempd, wheel_name) + + def _build_one_legacy(self, req, tempd, python_tag=None): + """Build one InstallRequirement using the "legacy" build process. + + Returns path to wheel if successfully built. Otherwise, returns None. + """ + base_args = self._base_setup_args(req) + + spin_message = 'Building wheel for %s (setup.py)' % (req.name,) + with open_spinner(spin_message) as spinner: + logger.debug('Destination directory: %s', tempd) + wheel_args = base_args + ['bdist_wheel', '-d', tempd] \ + + self.build_options + + if python_tag is not None: + wheel_args += ["--python-tag", python_tag] + + try: + output = call_subprocess(wheel_args, cwd=req.setup_py_dir, + show_stdout=False, spinner=spinner) + except Exception: + spinner.finish("error") + logger.error('Failed building wheel for %s', req.name) + return None + names = os.listdir(tempd) + wheel_path = get_legacy_build_wheel_path( + names=names, + temp_dir=tempd, + req=req, + command_args=wheel_args, + command_output=output, + ) + return wheel_path + + def _clean_one(self, req): + base_args = self._base_setup_args(req) + + logger.info('Running setup.py clean for %s', req.name) + clean_args = base_args + ['clean', '--all'] + try: + call_subprocess(clean_args, cwd=req.source_dir, show_stdout=False) + return True + except Exception: + logger.error('Failed cleaning build dir for %s', req.name) + return False + + def build( + self, + requirements, # type: Iterable[InstallRequirement] + session, # type: PipSession + autobuilding=False # type: bool + ): + # type: (...) -> List[InstallRequirement] + """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. + """ + buildset = [] + format_control = self.finder.format_control + # Whether a cache directory is available for autobuilding=True. + cache_available = bool(self._wheel_dir or self.wheel_cache.cache_dir) + + for req in requirements: + ephem_cache = should_use_ephemeral_cache( + req, format_control=format_control, autobuilding=autobuilding, + cache_available=cache_available, + ) + if ephem_cache is None: + continue + + buildset.append((req, ephem_cache)) + + if not buildset: + return [] + + # Is any wheel build not using the ephemeral cache? + if any(not ephem_cache for _, ephem_cache in buildset): + have_directory_for_build = self._wheel_dir or ( + autobuilding and self.wheel_cache.cache_dir + ) + assert have_directory_for_build + + # TODO by @pradyunsg + # Should break up this method into 2 separate methods. + + # Build the wheels. + logger.info( + 'Building wheels for collected packages: %s', + ', '.join([req.name for (req, _) in buildset]), + ) + _cache = self.wheel_cache # shorter name + with indent_log(): + build_success, build_failure = [], [] + for req, ephem in buildset: + python_tag = None + if autobuilding: + python_tag = pep425tags.implementation_tag + if ephem: + output_dir = _cache.get_ephem_path_for_link(req.link) + else: + output_dir = _cache.get_path_for_link(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.preparer.build_dir + ) + # Update the link for this. + req.link = Link(path_to_url(wheel_file)) + assert req.link.is_wheel + # extract the wheel into the dir + unpack_url( + req.link, req.source_dir, None, False, + session=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 a list of requirements that failed to build + return build_failure diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__init__.py new file mode 100644 index 0000000..b919b54 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__init__.py @@ -0,0 +1,111 @@ +""" +pip._vendor is for vendoring dependencies of pip to prevent needing pip to +depend on something external. + +Files inside of pip._vendor should be considered immutable and should only be +updated to versions from upstream. +""" +from __future__ import absolute_import + +import glob +import os.path +import sys + +# Downstream redistributors which have debundled our dependencies should also +# patch this value to be true. This will trigger the additional patching +# to cause things like "six" to be available as pip. +DEBUNDLED = False + +# By default, look in this directory for a bunch of .whl files which we will +# add to the beginning of sys.path before attempting to import anything. This +# is done to support downstream re-distributors like Debian and Fedora who +# wish to create their own Wheels for our dependencies to aid in debundling. +WHEEL_DIR = os.path.abspath(os.path.dirname(__file__)) + + +# Define a small helper function to alias our vendored modules to the real ones +# if the vendored ones do not exist. This idea of this was taken from +# https://github.com/kennethreitz/requests/pull/2567. +def vendored(modulename): + vendored_name = "{0}.{1}".format(__name__, modulename) + + try: + __import__(vendored_name, globals(), locals(), level=0) + except ImportError: + try: + __import__(modulename, globals(), locals(), level=0) + except ImportError: + # We can just silently allow import failures to pass here. If we + # got to this point it means that ``import pip._vendor.whatever`` + # failed and so did ``import whatever``. Since we're importing this + # upfront in an attempt to alias imports, not erroring here will + # just mean we get a regular import error whenever pip *actually* + # tries to import one of these modules to use it, which actually + # gives us a better error message than we would have otherwise + # gotten. + pass + else: + sys.modules[vendored_name] = sys.modules[modulename] + base, head = vendored_name.rsplit(".", 1) + setattr(sys.modules[base], head, sys.modules[modulename]) + + +# If we're operating in a debundled setup, then we want to go ahead and trigger +# the aliasing of our vendored libraries as well as looking for wheels to add +# to our sys.path. This will cause all of this code to be a no-op typically +# however downstream redistributors can enable it in a consistent way across +# all platforms. +if DEBUNDLED: + # Actually look inside of WHEEL_DIR to find .whl files and add them to the + # front of our sys.path. + sys.path[:] = glob.glob(os.path.join(WHEEL_DIR, "*.whl")) + sys.path + + # Actually alias all of our vendored dependencies. + vendored("cachecontrol") + vendored("colorama") + vendored("distlib") + vendored("distro") + vendored("html5lib") + vendored("lockfile") + vendored("six") + vendored("six.moves") + vendored("six.moves.urllib") + vendored("six.moves.urllib.parse") + vendored("packaging") + vendored("packaging.version") + vendored("packaging.specifiers") + vendored("pep517") + vendored("pkg_resources") + vendored("progress") + vendored("pytoml") + vendored("retrying") + vendored("requests") + vendored("requests.packages") + vendored("requests.packages.urllib3") + vendored("requests.packages.urllib3._collections") + vendored("requests.packages.urllib3.connection") + vendored("requests.packages.urllib3.connectionpool") + vendored("requests.packages.urllib3.contrib") + vendored("requests.packages.urllib3.contrib.ntlmpool") + vendored("requests.packages.urllib3.contrib.pyopenssl") + vendored("requests.packages.urllib3.exceptions") + vendored("requests.packages.urllib3.fields") + vendored("requests.packages.urllib3.filepost") + vendored("requests.packages.urllib3.packages") + vendored("requests.packages.urllib3.packages.ordered_dict") + vendored("requests.packages.urllib3.packages.six") + vendored("requests.packages.urllib3.packages.ssl_match_hostname") + vendored("requests.packages.urllib3.packages.ssl_match_hostname." + "_implementation") + vendored("requests.packages.urllib3.poolmanager") + vendored("requests.packages.urllib3.request") + vendored("requests.packages.urllib3.response") + vendored("requests.packages.urllib3.util") + vendored("requests.packages.urllib3.util.connection") + vendored("requests.packages.urllib3.util.request") + vendored("requests.packages.urllib3.util.response") + vendored("requests.packages.urllib3.util.retry") + vendored("requests.packages.urllib3.util.ssl_") + vendored("requests.packages.urllib3.util.timeout") + vendored("requests.packages.urllib3.util.url") + vendored("urllib3") diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/appdirs.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/appdirs.py new file mode 100644 index 0000000..2bd3911 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/appdirs.py @@ -0,0 +1,604 @@ +#!/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, 3) +__version__ = '.'.join(map(str, __version_info__)) + + +import sys +import os + +PY3 = sys.version_info[0] == 3 + +if PY3: + unicode = str + +if sys.platform.startswith('java'): + import platform + os_name = platform.java_ver()[3][0] + if os_name.startswith('Windows'): # "Windows XP", "Windows 7", etc. + system = 'win32' + elif os_name.startswith('Mac'): # "Mac OS X", etc. + system = 'darwin' + else: # "Linux", "SunOS", "FreeBSD", etc. + # Setting this to "linux2" is not ideal, but only Windows or Mac + # are actually checked for and the rest of the module expects + # *sys.platform* style strings. + system = 'linux2' +else: + system = sys.platform + + + +def user_data_dir(appname=None, appauthor=None, version=None, roaming=False): + r"""Return full path to the user-specific data dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<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): + r"""Return full path to the user-shared data dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<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 site 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 config 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 default "~/.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): + r"""Return full path to the user-shared data dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<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 site config 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_state_dir(appname=None, appauthor=None, version=None, roaming=False): + r"""Return full path to the user-specific state dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<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 state directories are: + Mac OS X: same as user_data_dir + Unix: ~/.local/state/<AppName> # or in $XDG_STATE_HOME, if defined + Win *: same as user_data_dir + + For Unix, we follow this Debian proposal <https://wiki.debian.org/XDGBaseDirectorySpecification#state> + to extend the XDG spec and support $XDG_STATE_HOME. + + That means, by default "~/.local/state/<AppName>". + """ + if system in ["win32", "darwin"]: + path = user_data_dir(appname, appauthor, None, roaming) + else: + path = os.getenv('XDG_STATE_HOME', os.path.expanduser("~/.local/state")) + if appname: + path = os.path.join(path, appname) + if appname and version: + path = os.path.join(path, version) + return path + + +def user_log_dir(appname=None, appauthor=None, version=None, opinion=True): + r"""Return full path to the user-specific log dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<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 log 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=None, appauthor=None, version=None, + roaming=False, multipath=False): + self.appname = appname + self.appauthor = appauthor + self.version = version + self.roaming = roaming + self.multipath = multipath + + @property + def user_data_dir(self): + return user_data_dir(self.appname, self.appauthor, + version=self.version, roaming=self.roaming) + + @property + def site_data_dir(self): + return site_data_dir(self.appname, self.appauthor, + version=self.version, multipath=self.multipath) + + @property + def user_config_dir(self): + return user_config_dir(self.appname, self.appauthor, + version=self.version, roaming=self.roaming) + + @property + def site_config_dir(self): + return site_config_dir(self.appname, self.appauthor, + version=self.version, multipath=self.multipath) + + @property + def user_cache_dir(self): + return user_cache_dir(self.appname, self.appauthor, + version=self.version) + + @property + def user_state_dir(self): + return user_state_dir(self.appname, self.appauthor, + version=self.version) + + @property + def user_log_dir(self): + return user_log_dir(self.appname, self.appauthor, + version=self.version) + + +#---- internal support stuff + +def _get_win_folder_from_registry(csidl_name): + """This is a fallback technique at best. I'm not sure if using the + registry for this guarantees us the correct answer for all CSIDL_* + names. + """ + if PY3: + import winreg as _winreg + else: + import _winreg + + shell_folder_name = { + "CSIDL_APPDATA": "AppData", + "CSIDL_COMMON_APPDATA": "Common AppData", + "CSIDL_LOCAL_APPDATA": "Local AppData", + }[csidl_name] + + key = _winreg.OpenKey( + _winreg.HKEY_CURRENT_USER, + r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" + ) + dir, type = _winreg.QueryValueEx(key, shell_folder_name) + return dir + + +def _get_win_folder_with_pywin32(csidl_name): + from win32com.shell import shellcon, shell + dir = shell.SHGetFolderPath(0, getattr(shellcon, csidl_name), 0, 0) + # Try to make this a unicode path because SHGetFolderPath does + # not return unicode strings when there is unicode data in the + # path. + try: + dir = unicode(dir) + + # Downgrade to short path name if have highbit chars. See + # <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 kernel.GetShortPathName(dir, buf, buf_size): + dir = jna.Native.toString(buf.tostring()).rstrip("\0") + + return dir + +if system == "win32": + try: + from ctypes import windll + _get_win_folder = _get_win_folder_with_ctypes + except ImportError: + try: + import com.sun.jna + _get_win_folder = _get_win_folder_with_jna + except ImportError: + _get_win_folder = _get_win_folder_from_registry + + +#---- self test code + +if __name__ == "__main__": + appname = "MyApp" + appauthor = "MyCompany" + + props = ("user_data_dir", + "user_config_dir", + "user_cache_dir", + "user_state_dir", + "user_log_dir", + "site_data_dir", + "site_config_dir") + + print("-- app dirs %s --" % __version__) + + print("-- app dirs (with optional 'version')") + dirs = AppDirs(appname, appauthor, version="1.0") + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) + + print("\n-- app dirs (without optional 'version')") + dirs = AppDirs(appname, appauthor) + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) + + print("\n-- app dirs (without optional 'appauthor')") + dirs = AppDirs(appname) + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) + + print("\n-- app dirs (with disabled 'appauthor')") + dirs = AppDirs(appname, appauthor=False) + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__init__.py new file mode 100644 index 0000000..8fdee66 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__init__.py @@ -0,0 +1,11 @@ +"""CacheControl import Interface. + +Make it easy to import from cachecontrol without long namespaces. +""" +__author__ = "Eric Larson" +__email__ = "eric@ionrock.org" +__version__ = "0.12.5" + +from .wrapper import CacheControl +from .adapter import CacheControlAdapter +from .controller import CacheController diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/_cmd.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/_cmd.py new file mode 100644 index 0000000..f1e0ad9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/_cmd.py @@ -0,0 +1,57 @@ +import logging + +from pip._vendor import requests + +from pip._vendor.cachecontrol.adapter import CacheControlAdapter +from pip._vendor.cachecontrol.cache import DictCache +from pip._vendor.cachecontrol.controller import logger + +from argparse import ArgumentParser + + +def setup_logging(): + logger.setLevel(logging.DEBUG) + handler = logging.StreamHandler() + logger.addHandler(handler) + + +def get_session(): + adapter = CacheControlAdapter( + DictCache(), cache_etags=True, serializer=None, heuristic=None + ) + sess = requests.Session() + sess.mount("http://", adapter) + sess.mount("https://", adapter) + + sess.cache_controller = adapter.controller + return sess + + +def get_args(): + parser = ArgumentParser() + parser.add_argument("url", help="The URL to try and cache") + return parser.parse_args() + + +def main(args=None): + args = get_args() + sess = get_session() + + # Make a request to get a response + resp = sess.get(args.url) + + # Turn on logging + setup_logging() + + # try setting the cache + sess.cache_controller.cache_response(resp.request, resp.raw) + + # Now try to get it + if sess.cache_controller.cached_request(resp.request): + print("Cached!") + else: + print("Not cached :(") + + +if __name__ == "__main__": + main() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/adapter.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/adapter.py new file mode 100644 index 0000000..780eb28 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/adapter.py @@ -0,0 +1,133 @@ +import types +import functools +import zlib + +from pip._vendor.requests.adapters import HTTPAdapter + +from .controller import CacheController +from .cache import DictCache +from .filewrapper import CallbackFileWrapper + + +class CacheControlAdapter(HTTPAdapter): + invalidating_methods = {"PUT", "DELETE"} + + def __init__( + self, + cache=None, + cache_etags=True, + controller_class=None, + serializer=None, + heuristic=None, + cacheable_methods=None, + *args, + **kw + ): + super(CacheControlAdapter, self).__init__(*args, **kw) + self.cache = cache or DictCache() + self.heuristic = heuristic + self.cacheable_methods = cacheable_methods or ("GET",) + + controller_factory = controller_class or CacheController + self.controller = controller_factory( + self.cache, cache_etags=cache_etags, serializer=serializer + ) + + def send(self, request, cacheable_methods=None, **kw): + """ + Send a request. Use the request information to see if it + exists in the cache and cache the response if we need to and can. + """ + cacheable = cacheable_methods or self.cacheable_methods + if request.method in cacheable: + try: + cached_response = self.controller.cached_request(request) + except zlib.error: + cached_response = None + if cached_response: + return self.build_response(request, cached_response, from_cache=True) + + # check for etags and add headers if appropriate + request.headers.update(self.controller.conditional_headers(request)) + + resp = super(CacheControlAdapter, self).send(request, **kw) + + return resp + + def build_response( + self, request, response, from_cache=False, cacheable_methods=None + ): + """ + Build a response by making a request or using the cache. + + This will end up calling send and returning a potentially + cached response + """ + cacheable = cacheable_methods or self.cacheable_methods + if not from_cache and request.method in cacheable: + # Check for any heuristics that might update headers + # before trying to cache. + if self.heuristic: + response = self.heuristic.apply(response) + + # apply any expiration heuristics + if response.status == 304: + # We must have sent an ETag request. This could mean + # that we've been expired already or that we simply + # have an etag. In either case, we want to try and + # update the cache if that is the case. + cached_response = self.controller.update_cached_response( + request, response + ) + + if cached_response is not response: + from_cache = True + + # We are done with the server response, read a + # possible response body (compliant servers will + # not return one, but we cannot be 100% sure) and + # release the connection back to the pool. + response.read(decode_content=False) + response.release_conn() + + response = cached_response + + # We always cache the 301 responses + elif response.status == 301: + self.controller.cache_response(request, response) + else: + # Wrap the response file with a wrapper that will cache the + # response when the stream has been consumed. + response._fp = CallbackFileWrapper( + response._fp, + functools.partial( + self.controller.cache_response, request, response + ), + ) + if response.chunked: + super_update_chunk_length = response._update_chunk_length + + def _update_chunk_length(self): + super_update_chunk_length() + if self.chunk_left == 0: + self._fp._close() + + response._update_chunk_length = types.MethodType( + _update_chunk_length, response + ) + + resp = super(CacheControlAdapter, self).build_response(request, response) + + # See if we should invalidate the cache. + if request.method in self.invalidating_methods and resp.ok: + cache_url = self.controller.cache_url(request.url) + self.cache.delete(cache_url) + + # Give the request a from_cache attr to let people use it + resp.from_cache = from_cache + + return resp + + def close(self): + self.cache.close() + super(CacheControlAdapter, self).close() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/cache.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/cache.py new file mode 100644 index 0000000..94e0773 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/cache.py @@ -0,0 +1,39 @@ +""" +The cache object API for implementing caches. The default is a thread +safe in-memory dictionary. +""" +from threading import Lock + + +class BaseCache(object): + + def get(self, key): + raise NotImplementedError() + + def set(self, key, value): + raise NotImplementedError() + + def delete(self, key): + raise NotImplementedError() + + def close(self): + pass + + +class DictCache(BaseCache): + + def __init__(self, init_dict=None): + self.lock = Lock() + self.data = init_dict or {} + + def get(self, key): + return self.data.get(key, None) + + def set(self, key, value): + with self.lock: + self.data.update({key: value}) + + def delete(self, key): + with self.lock: + if key in self.data: + self.data.pop(key) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__init__.py new file mode 100644 index 0000000..0e1658f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__init__.py @@ -0,0 +1,2 @@ +from .file_cache import FileCache # noqa +from .redis_cache import RedisCache # noqa diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/file_cache.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/file_cache.py new file mode 100644 index 0000000..1ba0080 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/file_cache.py @@ -0,0 +1,146 @@ +import hashlib +import os +from textwrap import dedent + +from ..cache import BaseCache +from ..controller import CacheController + +try: + FileNotFoundError +except NameError: + # py2.X + FileNotFoundError = (IOError, OSError) + + +def _secure_open_write(filename, fmode): + # We only want to write to this file, so open it in write only mode + flags = os.O_WRONLY + + # os.O_CREAT | os.O_EXCL will fail if the file already exists, so we only + # will open *new* files. + # We specify this because we want to ensure that the mode we pass is the + # mode of the file. + flags |= os.O_CREAT | os.O_EXCL + + # Do not follow symlinks to prevent someone from making a symlink that + # we follow and insecurely open a cache file. + if hasattr(os, "O_NOFOLLOW"): + flags |= os.O_NOFOLLOW + + # On Windows we'll mark this file as binary + if hasattr(os, "O_BINARY"): + flags |= os.O_BINARY + + # Before we open our file, we want to delete any existing file that is + # there + try: + os.remove(filename) + except (IOError, OSError): + # The file must not exist already, so we can just skip ahead to opening + pass + + # Open our file, the use of os.O_CREAT | os.O_EXCL will ensure that if a + # race condition happens between the os.remove and this line, that an + # error will be raised. Because we utilize a lockfile this should only + # happen if someone is attempting to attack us. + fd = os.open(filename, flags, fmode) + try: + return os.fdopen(fd, "wb") + + except: + # An error occurred wrapping our FD in a file object + os.close(fd) + raise + + +class FileCache(BaseCache): + + def __init__( + self, + directory, + forever=False, + filemode=0o0600, + dirmode=0o0700, + use_dir_lock=None, + lock_class=None, + ): + + if use_dir_lock is not None and lock_class is not None: + raise ValueError("Cannot use use_dir_lock and lock_class together") + + try: + from pip._vendor.lockfile import LockFile + from pip._vendor.lockfile.mkdirlockfile import MkdirLockFile + except ImportError: + notice = dedent( + """ + NOTE: In order to use the FileCache you must have + lockfile installed. You can install it via pip: + pip install lockfile + """ + ) + raise ImportError(notice) + + else: + if use_dir_lock: + lock_class = MkdirLockFile + + elif lock_class is None: + lock_class = LockFile + + self.directory = directory + self.forever = forever + self.filemode = filemode + self.dirmode = dirmode + self.lock_class = lock_class + + @staticmethod + def encode(x): + return hashlib.sha224(x.encode()).hexdigest() + + def _fn(self, name): + # NOTE: This method should not change as some may depend on it. + # See: https://github.com/ionrock/cachecontrol/issues/63 + hashed = self.encode(name) + parts = list(hashed[:5]) + [hashed] + return os.path.join(self.directory, *parts) + + def get(self, key): + name = self._fn(key) + try: + with open(name, "rb") as fh: + return fh.read() + + except FileNotFoundError: + return None + + def set(self, key, value): + name = self._fn(key) + + # Make sure the directory exists + try: + os.makedirs(os.path.dirname(name), self.dirmode) + except (IOError, OSError): + pass + + with self.lock_class(name) as lock: + # Write our actual file + with _secure_open_write(lock.path, self.filemode) as fh: + fh.write(value) + + def delete(self, key): + name = self._fn(key) + if not self.forever: + try: + os.remove(name) + except FileNotFoundError: + pass + + +def url_to_file_path(url, filecache): + """Return the file cache path based on the URL. + + This does not ensure the file exists! + """ + key = CacheController.cache_url(url) + return filecache._fn(key) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/redis_cache.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/redis_cache.py new file mode 100644 index 0000000..ed705ce --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/redis_cache.py @@ -0,0 +1,33 @@ +from __future__ import division + +from datetime import datetime +from pip._vendor.cachecontrol.cache import BaseCache + + +class RedisCache(BaseCache): + + def __init__(self, conn): + self.conn = conn + + def get(self, key): + return self.conn.get(key) + + def set(self, key, value, expires=None): + if not expires: + self.conn.set(key, value) + else: + expires = expires - datetime.utcnow() + self.conn.setex(key, int(expires.total_seconds()), value) + + def delete(self, key): + self.conn.delete(key) + + def clear(self): + """Helper for clearing all the keys in a database. Use with + caution!""" + for key in self.conn.keys(): + self.conn.delete(key) + + def close(self): + """Redis uses connection pooling, no need to close the connection.""" + pass diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/compat.py new file mode 100644 index 0000000..33b5aed --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/compat.py @@ -0,0 +1,29 @@ +try: + from urllib.parse import urljoin +except ImportError: + from urlparse import urljoin + + +try: + import cPickle as pickle +except ImportError: + import pickle + + +# Handle the case where the requests module has been patched to not have +# urllib3 bundled as part of its source. +try: + from pip._vendor.requests.packages.urllib3.response import HTTPResponse +except ImportError: + from pip._vendor.urllib3.response import HTTPResponse + +try: + from pip._vendor.requests.packages.urllib3.util import is_fp_closed +except ImportError: + from pip._vendor.urllib3.util import is_fp_closed + +# Replicate some six behaviour +try: + text_type = unicode +except NameError: + text_type = str diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/controller.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/controller.py new file mode 100644 index 0000000..1b2b943 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/controller.py @@ -0,0 +1,367 @@ +""" +The httplib2 algorithms ported for use with requests. +""" +import logging +import re +import calendar +import time +from email.utils import parsedate_tz + +from pip._vendor.requests.structures import CaseInsensitiveDict + +from .cache import DictCache +from .serialize import Serializer + + +logger = logging.getLogger(__name__) + +URI = re.compile(r"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?") + + +def parse_uri(uri): + """Parses a URI using the regex given in Appendix B of RFC 3986. + + (scheme, authority, path, query, fragment) = parse_uri(uri) + """ + groups = URI.match(uri).groups() + return (groups[1], groups[3], groups[4], groups[6], groups[8]) + + +class CacheController(object): + """An interface to see if request should cached or not. + """ + + def __init__( + self, cache=None, cache_etags=True, serializer=None, status_codes=None + ): + self.cache = cache or DictCache() + self.cache_etags = cache_etags + self.serializer = serializer or Serializer() + self.cacheable_status_codes = status_codes or (200, 203, 300, 301) + + @classmethod + def _urlnorm(cls, uri): + """Normalize the URL to create a safe key for the cache""" + (scheme, authority, path, query, fragment) = parse_uri(uri) + if not scheme or not authority: + raise Exception("Only absolute URIs are allowed. uri = %s" % uri) + + scheme = scheme.lower() + authority = authority.lower() + + if not path: + path = "/" + + # Could do syntax based normalization of the URI before + # computing the digest. See Section 6.2.2 of Std 66. + request_uri = query and "?".join([path, query]) or path + defrag_uri = scheme + "://" + authority + request_uri + + return defrag_uri + + @classmethod + def cache_url(cls, uri): + return cls._urlnorm(uri) + + def parse_cache_control(self, headers): + known_directives = { + # https://tools.ietf.org/html/rfc7234#section-5.2 + "max-age": (int, True), + "max-stale": (int, False), + "min-fresh": (int, True), + "no-cache": (None, False), + "no-store": (None, False), + "no-transform": (None, False), + "only-if-cached": (None, False), + "must-revalidate": (None, False), + "public": (None, False), + "private": (None, False), + "proxy-revalidate": (None, False), + "s-maxage": (int, True), + } + + cc_headers = headers.get("cache-control", headers.get("Cache-Control", "")) + + retval = {} + + for cc_directive in cc_headers.split(","): + if not cc_directive.strip(): + continue + + parts = cc_directive.split("=", 1) + directive = parts[0].strip() + + try: + typ, required = known_directives[directive] + except KeyError: + logger.debug("Ignoring unknown cache-control directive: %s", directive) + continue + + if not typ or not required: + retval[directive] = None + if typ: + try: + retval[directive] = typ(parts[1].strip()) + except IndexError: + if required: + logger.debug( + "Missing value for cache-control " "directive: %s", + directive, + ) + except ValueError: + logger.debug( + "Invalid value for cache-control directive " "%s, must be %s", + directive, + typ.__name__, + ) + + return retval + + def cached_request(self, request): + """ + Return a cached response if it exists in the cache, otherwise + return False. + """ + cache_url = self.cache_url(request.url) + logger.debug('Looking up "%s" in the cache', cache_url) + cc = self.parse_cache_control(request.headers) + + # Bail out if the request insists on fresh data + if "no-cache" in cc: + logger.debug('Request header has "no-cache", cache bypassed') + return False + + if "max-age" in cc and cc["max-age"] == 0: + logger.debug('Request header has "max_age" as 0, cache bypassed') + return False + + # Request allows serving from the cache, let's see if we find something + cache_data = self.cache.get(cache_url) + if cache_data is None: + logger.debug("No cache entry available") + return False + + # Check whether it can be deserialized + resp = self.serializer.loads(request, cache_data) + if not resp: + logger.warning("Cache entry deserialization failed, entry ignored") + return False + + # If we have a cached 301, return it immediately. We don't + # need to test our response for other headers b/c it is + # intrinsically "cacheable" as it is Permanent. + # See: + # https://tools.ietf.org/html/rfc7231#section-6.4.2 + # + # Client can try to refresh the value by repeating the request + # with cache busting headers as usual (ie no-cache). + if resp.status == 301: + msg = ( + 'Returning cached "301 Moved Permanently" response ' + "(ignoring date and etag information)" + ) + logger.debug(msg) + return resp + + headers = CaseInsensitiveDict(resp.headers) + if not headers or "date" not in headers: + if "etag" not in headers: + # Without date or etag, the cached response can never be used + # and should be deleted. + logger.debug("Purging cached response: no date or etag") + self.cache.delete(cache_url) + logger.debug("Ignoring cached response: no date") + return False + + now = time.time() + date = calendar.timegm(parsedate_tz(headers["date"])) + current_age = max(0, now - date) + logger.debug("Current age based on date: %i", current_age) + + # TODO: There is an assumption that the result will be a + # urllib3 response object. This may not be best since we + # could probably avoid instantiating or constructing the + # response until we know we need it. + resp_cc = self.parse_cache_control(headers) + + # determine freshness + freshness_lifetime = 0 + + # Check the max-age pragma in the cache control header + if "max-age" in resp_cc: + freshness_lifetime = resp_cc["max-age"] + logger.debug("Freshness lifetime from max-age: %i", freshness_lifetime) + + # If there isn't a max-age, check for an expires header + elif "expires" in headers: + expires = parsedate_tz(headers["expires"]) + if expires is not None: + expire_time = calendar.timegm(expires) - date + freshness_lifetime = max(0, expire_time) + logger.debug("Freshness lifetime from expires: %i", freshness_lifetime) + + # Determine if we are setting freshness limit in the + # request. Note, this overrides what was in the response. + if "max-age" in cc: + freshness_lifetime = cc["max-age"] + logger.debug( + "Freshness lifetime from request max-age: %i", freshness_lifetime + ) + + if "min-fresh" in cc: + min_fresh = cc["min-fresh"] + # adjust our current age by our min fresh + current_age += min_fresh + logger.debug("Adjusted current age from min-fresh: %i", current_age) + + # Return entry if it is fresh enough + if freshness_lifetime > current_age: + logger.debug('The response is "fresh", returning cached response') + logger.debug("%i > %i", freshness_lifetime, current_age) + return resp + + # we're not fresh. If we don't have an Etag, clear it out + if "etag" not in headers: + logger.debug('The cached response is "stale" with no etag, purging') + self.cache.delete(cache_url) + + # return the original handler + return False + + def conditional_headers(self, request): + cache_url = self.cache_url(request.url) + resp = self.serializer.loads(request, self.cache.get(cache_url)) + new_headers = {} + + if resp: + headers = CaseInsensitiveDict(resp.headers) + + if "etag" in headers: + new_headers["If-None-Match"] = headers["ETag"] + + if "last-modified" in headers: + new_headers["If-Modified-Since"] = headers["Last-Modified"] + + return new_headers + + def cache_response(self, request, response, body=None, status_codes=None): + """ + Algorithm for caching requests. + + This assumes a requests Response object. + """ + # From httplib2: Don't cache 206's since we aren't going to + # handle byte range requests + cacheable_status_codes = status_codes or self.cacheable_status_codes + if response.status not in cacheable_status_codes: + logger.debug( + "Status code %s not in %s", response.status, cacheable_status_codes + ) + return + + response_headers = CaseInsensitiveDict(response.headers) + + # If we've been given a body, our response has a Content-Length, that + # Content-Length is valid then we can check to see if the body we've + # been given matches the expected size, and if it doesn't we'll just + # skip trying to cache it. + if ( + body is not None + and "content-length" in response_headers + and response_headers["content-length"].isdigit() + and int(response_headers["content-length"]) != len(body) + ): + return + + cc_req = self.parse_cache_control(request.headers) + cc = self.parse_cache_control(response_headers) + + cache_url = self.cache_url(request.url) + logger.debug('Updating cache with response from "%s"', cache_url) + + # Delete it from the cache if we happen to have it stored there + no_store = False + if "no-store" in cc: + no_store = True + logger.debug('Response header has "no-store"') + if "no-store" in cc_req: + no_store = True + logger.debug('Request header has "no-store"') + if no_store and self.cache.get(cache_url): + logger.debug('Purging existing cache entry to honor "no-store"') + self.cache.delete(cache_url) + if no_store: + return + + # If we've been given an etag, then keep the response + if self.cache_etags and "etag" in response_headers: + logger.debug("Caching due to etag") + self.cache.set( + cache_url, self.serializer.dumps(request, response, body=body) + ) + + # Add to the cache any 301s. We do this before looking that + # the Date headers. + elif response.status == 301: + logger.debug("Caching permanant redirect") + self.cache.set(cache_url, self.serializer.dumps(request, response)) + + # Add to the cache if the response headers demand it. If there + # is no date header then we can't do anything about expiring + # the cache. + elif "date" in response_headers: + # cache when there is a max-age > 0 + if "max-age" in cc and cc["max-age"] > 0: + logger.debug("Caching b/c date exists and max-age > 0") + self.cache.set( + cache_url, self.serializer.dumps(request, response, body=body) + ) + + # If the request can expire, it means we should cache it + # in the meantime. + elif "expires" in response_headers: + if response_headers["expires"]: + logger.debug("Caching b/c of expires header") + self.cache.set( + cache_url, self.serializer.dumps(request, response, body=body) + ) + + def update_cached_response(self, request, response): + """On a 304 we will get a new set of headers that we want to + update our cached value with, assuming we have one. + + This should only ever be called when we've sent an ETag and + gotten a 304 as the response. + """ + cache_url = self.cache_url(request.url) + + cached_response = self.serializer.loads(request, self.cache.get(cache_url)) + + if not cached_response: + # we didn't have a cached response + return response + + # Lets update our headers with the headers from the new request: + # http://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-26#section-4.1 + # + # The server isn't supposed to send headers that would make + # the cached body invalid. But... just in case, we'll be sure + # to strip out ones we know that might be problmatic due to + # typical assumptions. + excluded_headers = ["content-length"] + + cached_response.headers.update( + dict( + (k, v) + for k, v in response.headers.items() + if k.lower() not in excluded_headers + ) + ) + + # we want a 200 b/c we have content via the cache + cached_response.status = 200 + + # update our cache + self.cache.set(cache_url, self.serializer.dumps(request, cached_response)) + + return cached_response diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/filewrapper.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/filewrapper.py new file mode 100644 index 0000000..30ed4c5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/filewrapper.py @@ -0,0 +1,80 @@ +from io import BytesIO + + +class CallbackFileWrapper(object): + """ + Small wrapper around a fp object which will tee everything read into a + buffer, and when that file is closed it will execute a callback with the + contents of that buffer. + + All attributes are proxied to the underlying file object. + + This class uses members with a double underscore (__) leading prefix so as + not to accidentally shadow an attribute. + """ + + def __init__(self, fp, callback): + self.__buf = BytesIO() + self.__fp = fp + self.__callback = callback + + def __getattr__(self, name): + # The vaguaries of garbage collection means that self.__fp is + # not always set. By using __getattribute__ and the private + # name[0] allows looking up the attribute value and raising an + # AttributeError when it doesn't exist. This stop thigns from + # infinitely recursing calls to getattr in the case where + # self.__fp hasn't been set. + # + # [0] https://docs.python.org/2/reference/expressions.html#atom-identifiers + fp = self.__getattribute__("_CallbackFileWrapper__fp") + return getattr(fp, name) + + def __is_fp_closed(self): + try: + return self.__fp.fp is None + + except AttributeError: + pass + + try: + return self.__fp.closed + + except AttributeError: + pass + + # We just don't cache it then. + # TODO: Add some logging here... + return False + + def _close(self): + if self.__callback: + self.__callback(self.__buf.getvalue()) + + # We assign this to None here, because otherwise we can get into + # really tricky problems where the CPython interpreter dead locks + # because the callback is holding a reference to something which + # has a __del__ method. Setting this to None breaks the cycle + # and allows the garbage collector to do it's thing normally. + self.__callback = None + + def read(self, amt=None): + data = self.__fp.read(amt) + self.__buf.write(data) + if self.__is_fp_closed(): + self._close() + + return data + + def _safe_read(self, amt): + data = self.__fp._safe_read(amt) + if amt == 2 and data == b"\r\n": + # urllib executes this read to toss the CRLF at the end + # of the chunk. + return data + + self.__buf.write(data) + if self.__is_fp_closed(): + self._close() + + return data diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/heuristics.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/heuristics.py new file mode 100644 index 0000000..6c0e979 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/heuristics.py @@ -0,0 +1,135 @@ +import calendar +import time + +from email.utils import formatdate, parsedate, parsedate_tz + +from datetime import datetime, timedelta + +TIME_FMT = "%a, %d %b %Y %H:%M:%S GMT" + + +def expire_after(delta, date=None): + date = date or datetime.utcnow() + return date + delta + + +def datetime_to_header(dt): + return formatdate(calendar.timegm(dt.timetuple())) + + +class BaseHeuristic(object): + + def warning(self, response): + """ + Return a valid 1xx warning header value describing the cache + adjustments. + + The response is provided too allow warnings like 113 + http://tools.ietf.org/html/rfc7234#section-5.5.4 where we need + to explicitly say response is over 24 hours old. + """ + return '110 - "Response is Stale"' + + def update_headers(self, response): + """Update the response headers with any new headers. + + NOTE: This SHOULD always include some Warning header to + signify that the response was cached by the client, not + by way of the provided headers. + """ + return {} + + def apply(self, response): + updated_headers = self.update_headers(response) + + if updated_headers: + response.headers.update(updated_headers) + warning_header_value = self.warning(response) + if warning_header_value is not None: + response.headers.update({"Warning": warning_header_value}) + + return response + + +class OneDayCache(BaseHeuristic): + """ + Cache the response by providing an expires 1 day in the + future. + """ + + def update_headers(self, response): + headers = {} + + if "expires" not in response.headers: + date = parsedate(response.headers["date"]) + expires = expire_after(timedelta(days=1), date=datetime(*date[:6])) + headers["expires"] = datetime_to_header(expires) + headers["cache-control"] = "public" + return headers + + +class ExpiresAfter(BaseHeuristic): + """ + Cache **all** requests for a defined time period. + """ + + def __init__(self, **kw): + self.delta = timedelta(**kw) + + def update_headers(self, response): + expires = expire_after(self.delta) + return {"expires": datetime_to_header(expires), "cache-control": "public"} + + def warning(self, response): + tmpl = "110 - Automatically cached for %s. Response might be stale" + return tmpl % self.delta + + +class LastModified(BaseHeuristic): + """ + If there is no Expires header already, fall back on Last-Modified + using the heuristic from + http://tools.ietf.org/html/rfc7234#section-4.2.2 + to calculate a reasonable value. + + Firefox also does something like this per + https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching_FAQ + http://lxr.mozilla.org/mozilla-release/source/netwerk/protocol/http/nsHttpResponseHead.cpp#397 + Unlike mozilla we limit this to 24-hr. + """ + cacheable_by_default_statuses = { + 200, 203, 204, 206, 300, 301, 404, 405, 410, 414, 501 + } + + def update_headers(self, resp): + headers = resp.headers + + if "expires" in headers: + return {} + + if "cache-control" in headers and headers["cache-control"] != "public": + return {} + + if resp.status not in self.cacheable_by_default_statuses: + return {} + + if "date" not in headers or "last-modified" not in headers: + return {} + + date = calendar.timegm(parsedate_tz(headers["date"])) + last_modified = parsedate(headers["last-modified"]) + if date is None or last_modified is None: + return {} + + now = time.time() + current_age = max(0, now - date) + delta = date - calendar.timegm(last_modified) + freshness_lifetime = max(0, min(delta / 10, 24 * 3600)) + if freshness_lifetime <= current_age: + return {} + + expires = date + freshness_lifetime + return {"expires": time.strftime(TIME_FMT, time.gmtime(expires))} + + def warning(self, resp): + return None diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/serialize.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/serialize.py new file mode 100644 index 0000000..ec43ff2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/serialize.py @@ -0,0 +1,186 @@ +import base64 +import io +import json +import zlib + +from pip._vendor import msgpack +from pip._vendor.requests.structures import CaseInsensitiveDict + +from .compat import HTTPResponse, pickle, text_type + + +def _b64_decode_bytes(b): + return base64.b64decode(b.encode("ascii")) + + +def _b64_decode_str(s): + return _b64_decode_bytes(s).decode("utf8") + + +class Serializer(object): + + def dumps(self, request, response, body=None): + response_headers = CaseInsensitiveDict(response.headers) + + if body is None: + body = response.read(decode_content=False) + + # NOTE: 99% sure this is dead code. I'm only leaving it + # here b/c I don't have a test yet to prove + # it. Basically, before using + # `cachecontrol.filewrapper.CallbackFileWrapper`, + # this made an effort to reset the file handle. The + # `CallbackFileWrapper` short circuits this code by + # setting the body as the content is consumed, the + # result being a `body` argument is *always* passed + # into cache_response, and in turn, + # `Serializer.dump`. + response._fp = io.BytesIO(body) + + # NOTE: This is all a bit weird, but it's really important that on + # Python 2.x these objects are unicode and not str, even when + # they contain only ascii. The problem here is that msgpack + # understands the difference between unicode and bytes and we + # have it set to differentiate between them, however Python 2 + # doesn't know the difference. Forcing these to unicode will be + # enough to have msgpack know the difference. + data = { + u"response": { + u"body": body, + u"headers": dict( + (text_type(k), text_type(v)) for k, v in response.headers.items() + ), + u"status": response.status, + u"version": response.version, + u"reason": text_type(response.reason), + u"strict": response.strict, + u"decode_content": response.decode_content, + } + } + + # Construct our vary headers + data[u"vary"] = {} + if u"vary" in response_headers: + varied_headers = response_headers[u"vary"].split(",") + for header in varied_headers: + header = text_type(header).strip() + header_value = request.headers.get(header, None) + if header_value is not None: + header_value = text_type(header_value) + data[u"vary"][header] = header_value + + return b",".join([b"cc=4", msgpack.dumps(data, use_bin_type=True)]) + + def loads(self, request, data): + # Short circuit if we've been given an empty set of data + if not data: + return + + # Determine what version of the serializer the data was serialized + # with + try: + ver, data = data.split(b",", 1) + except ValueError: + ver = b"cc=0" + + # Make sure that our "ver" is actually a version and isn't a false + # positive from a , being in the data stream. + if ver[:3] != b"cc=": + data = ver + data + ver = b"cc=0" + + # Get the version number out of the cc=N + ver = ver.split(b"=", 1)[-1].decode("ascii") + + # Dispatch to the actual load method for the given version + try: + return getattr(self, "_loads_v{}".format(ver))(request, data) + + except AttributeError: + # This is a version we don't have a loads function for, so we'll + # just treat it as a miss and return None + return + + def prepare_response(self, request, cached): + """Verify our vary headers match and construct a real urllib3 + HTTPResponse object. + """ + # Special case the '*' Vary value as it means we cannot actually + # determine if the cached response is suitable for this request. + if "*" in cached.get("vary", {}): + return + + # Ensure that the Vary headers for the cached response match our + # request + for header, value in cached.get("vary", {}).items(): + if request.headers.get(header, None) != value: + return + + body_raw = cached["response"].pop("body") + + headers = CaseInsensitiveDict(data=cached["response"]["headers"]) + if headers.get("transfer-encoding", "") == "chunked": + headers.pop("transfer-encoding") + + cached["response"]["headers"] = headers + + try: + body = io.BytesIO(body_raw) + except TypeError: + # This can happen if cachecontrol serialized to v1 format (pickle) + # using Python 2. A Python 2 str(byte string) will be unpickled as + # a Python 3 str (unicode string), which will cause the above to + # fail with: + # + # TypeError: 'str' does not support the buffer interface + body = io.BytesIO(body_raw.encode("utf8")) + + return HTTPResponse(body=body, preload_content=False, **cached["response"]) + + def _loads_v0(self, request, data): + # The original legacy cache data. This doesn't contain enough + # information to construct everything we need, so we'll treat this as + # a miss. + return + + def _loads_v1(self, request, data): + try: + cached = pickle.loads(data) + except ValueError: + return + + return self.prepare_response(request, cached) + + def _loads_v2(self, request, data): + try: + cached = json.loads(zlib.decompress(data).decode("utf8")) + except (ValueError, zlib.error): + return + + # We need to decode the items that we've base64 encoded + cached["response"]["body"] = _b64_decode_bytes(cached["response"]["body"]) + cached["response"]["headers"] = dict( + (_b64_decode_str(k), _b64_decode_str(v)) + for k, v in cached["response"]["headers"].items() + ) + cached["response"]["reason"] = _b64_decode_str(cached["response"]["reason"]) + cached["vary"] = dict( + (_b64_decode_str(k), _b64_decode_str(v) if v is not None else v) + for k, v in cached["vary"].items() + ) + + return self.prepare_response(request, cached) + + def _loads_v3(self, request, data): + # Due to Python 2 encoding issues, it's impossible to know for sure + # exactly how to load v3 entries, thus we'll treat these as a miss so + # that they get rewritten out as v4 entries. + return + + def _loads_v4(self, request, data): + try: + cached = msgpack.loads(data, encoding="utf-8") + except ValueError: + return + + return self.prepare_response(request, cached) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/wrapper.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/wrapper.py new file mode 100644 index 0000000..265bfc8 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/wrapper.py @@ -0,0 +1,29 @@ +from .adapter import CacheControlAdapter +from .cache import DictCache + + +def CacheControl( + sess, + cache=None, + cache_etags=True, + serializer=None, + heuristic=None, + controller_class=None, + adapter_class=None, + cacheable_methods=None, +): + + cache = cache or DictCache() + adapter_class = adapter_class or CacheControlAdapter + adapter = adapter_class( + cache, + cache_etags=cache_etags, + serializer=serializer, + heuristic=heuristic, + controller_class=controller_class, + cacheable_methods=cacheable_methods, + ) + sess.mount("http://", adapter) + sess.mount("https://", adapter) + + return sess diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__init__.py new file mode 100644 index 0000000..ef71f3a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__init__.py @@ -0,0 +1,3 @@ +from .core import where + +__version__ = "2018.11.29" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__main__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__main__.py new file mode 100644 index 0000000..ae2aff5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/__main__.py @@ -0,0 +1,2 @@ +from pip._vendor.certifi import where +print(where()) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/cacert.pem b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/cacert.pem new file mode 100644 index 0000000..db68797 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/cacert.pem @@ -0,0 +1,4512 @@ + +# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA +# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA +# Label: "GlobalSign Root CA" +# Serial: 4835703278459707669005204 +# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a +# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c +# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99 +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG +A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv +b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw +MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i +YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT +aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ +jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp +xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp +1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG +snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ +U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 +9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B +AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz +yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE +38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP +AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad +DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME +HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 +# Label: "GlobalSign Root CA - R2" +# Serial: 4835703278459682885658125 +# MD5 Fingerprint: 94:14:77:7e:3e:5e:fd:8f:30:bd:41:b0:cf:e7:d0:30 +# SHA1 Fingerprint: 75:e0:ab:b6:13:85:12:27:1c:04:f8:5f:dd:de:38:e4:b7:24:2e:fe +# SHA256 Fingerprint: ca:42:dd:41:74:5f:d0:b8:1e:b9:02:36:2c:f9:d8:bf:71:9d:a1:bd:1b:1e:fc:94:6f:5b:4c:99:f4:2c:1b:9e +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1 +MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL +v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8 +eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq +tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd +C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa +zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB +mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH +V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n +bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG +3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs +J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO +291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS +ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd +AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 +TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only +# Label: "Verisign Class 3 Public Primary Certification Authority - G3" +# Serial: 206684696279472310254277870180966723415 +# MD5 Fingerprint: cd:68:b6:a7:c7:c4:ce:75:e0:1d:4f:57:44:61:92:09 +# SHA1 Fingerprint: 13:2d:0d:45:53:4b:69:97:cd:b2:d5:c3:39:e2:55:76:60:9b:5c:c6 +# SHA256 Fingerprint: eb:04:cf:5e:b1:f3:9a:fa:76:2f:2b:b1:20:f2:96:cb:a5:20:c1:b9:7d:b1:58:95:65:b8:1c:b9:a1:7b:72:44 +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl +cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu +LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT +aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD +VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT +aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ +bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu +IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b +N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t +KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu +kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm +CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ +Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu +imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te +2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe +DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p +F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt +TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- + +# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited +# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited +# Label: "Entrust.net Premium 2048 Secure Server CA" +# Serial: 946069240 +# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90 +# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31 +# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77 +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML +RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp +bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 +IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3 +MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 +LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp +YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG +A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq +K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe +sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX +MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT +XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ +HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH +4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub +j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo +U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf +zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b +u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+ +bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er +fF6adulZkMV8gzURZVE= +-----END CERTIFICATE----- + +# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust +# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust +# Label: "Baltimore CyberTrust Root" +# Serial: 33554617 +# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4 +# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74 +# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX +DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y +ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy +VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr +mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr +IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK +mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu +XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy +dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye +jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 +BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 +DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 +9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx +jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 +Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz +ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS +R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- + +# Issuer: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network +# Subject: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network +# Label: "AddTrust External Root" +# Serial: 1 +# MD5 Fingerprint: 1d:35:54:04:85:78:b0:3f:42:42:4d:bf:20:73:0a:3f +# SHA1 Fingerprint: 02:fa:f3:e2:91:43:54:68:60:78:57:69:4d:f5:e4:5b:68:85:18:68 +# SHA256 Fingerprint: 68:7f:a4:51:38:22:78:ff:f0:c8:b1:1f:8d:43:d5:76:67:1c:6e:b2:bc:ea:b4:13:fb:83:d9:65:d0:6d:2f:f2 +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU +MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs +IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 +MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux +FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h +bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v +dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt +H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 +uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX +mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX +a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN +E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 +WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD +VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 +Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU +cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx +IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN +AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH +YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC +Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX +c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a +mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. +# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. +# Label: "Entrust Root Certification Authority" +# Serial: 1164660820 +# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4 +# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9 +# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 +Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW +KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw +NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw +NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy +ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV +BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo +Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4 +4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9 +KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI +rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi +94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB +sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi +gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo +kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE +vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t +O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua +AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP +9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/ +eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m +0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Global CA O=GeoTrust Inc. +# Subject: CN=GeoTrust Global CA O=GeoTrust Inc. +# Label: "GeoTrust Global CA" +# Serial: 144470 +# MD5 Fingerprint: f7:75:ab:29:fb:51:4e:b7:77:5e:ff:05:3c:99:8e:f5 +# SHA1 Fingerprint: de:28:f4:a4:ff:e5:b9:2f:a3:c5:03:d1:a3:49:a7:f9:96:2a:82:12 +# SHA256 Fingerprint: ff:85:6a:2d:25:1d:cd:88:d3:66:56:f4:50:12:67:98:cf:ab:aa:de:40:79:9c:72:2d:e4:d2:b5:db:36:a7:3a +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg +R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 +9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq +fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv +iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU +1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ +bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW +MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA +ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l +uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn +Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS +tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF +PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un +hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV +5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Universal CA O=GeoTrust Inc. +# Subject: CN=GeoTrust Universal CA O=GeoTrust Inc. +# Label: "GeoTrust Universal CA" +# Serial: 1 +# MD5 Fingerprint: 92:65:58:8b:a2:1a:31:72:73:68:5c:b4:a5:7a:07:48 +# SHA1 Fingerprint: e6:21:f3:35:43:79:05:9a:4b:68:30:9d:8a:2f:74:22:15:87:ec:79 +# SHA256 Fingerprint: a0:45:9b:9f:63:b2:25:59:f5:fa:5d:4c:6d:b3:f9:f7:2f:f1:93:42:03:35:78:f0:73:bf:1d:1b:46:cb:b9:12 +-----BEGIN CERTIFICATE----- +MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW +MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy +c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE +BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0 +IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV +VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8 +cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT +QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh +F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v +c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w +mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd +VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX +teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ +f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe +Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+ +nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY +MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG +9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc +aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX +IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn +ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z +uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN +Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja +QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW +koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9 +ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt +DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm +bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw= +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. +# Subject: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. +# Label: "GeoTrust Universal CA 2" +# Serial: 1 +# MD5 Fingerprint: 34:fc:b8:d0:36:db:9e:14:b3:c2:f2:db:8f:e4:94:c7 +# SHA1 Fingerprint: 37:9a:19:7b:41:85:45:35:0c:a6:03:69:f3:3c:2e:af:47:4f:20:79 +# SHA256 Fingerprint: a0:23:4f:3b:c8:52:7c:a5:62:8e:ec:81:ad:5d:69:89:5d:a5:68:0d:c9:1d:1c:b8:47:7f:33:f8:78:b9:5b:0b +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW +MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy +c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD +VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1 +c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81 +WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG +FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq +XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL +se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb +KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd +IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73 +y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt +hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc +QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4 +Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV +HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ +KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z +dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ +L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr +Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo +ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY +T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz +GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m +1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV +OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH +6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX +QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS +-----END CERTIFICATE----- + +# Issuer: CN=AAA Certificate Services O=Comodo CA Limited +# Subject: CN=AAA Certificate Services O=Comodo CA Limited +# Label: "Comodo AAA Services root" +# Serial: 1 +# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0 +# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49 +# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4 +-----BEGIN CERTIFICATE----- +MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb +MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow +GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj +YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM +GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua +BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe +3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 +YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR +rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm +ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU +oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v +QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t +b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF +AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q +GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz +Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 +G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi +l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 +smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority +# Subject: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority +# Label: "QuoVadis Root CA" +# Serial: 985026699 +# MD5 Fingerprint: 27:de:36:fe:72:b7:00:03:00:9d:f4:f0:1e:6c:04:24 +# SHA1 Fingerprint: de:3f:40:bd:50:93:d3:9b:6c:60:f6:da:bc:07:62:01:00:89:76:c9 +# SHA256 Fingerprint: a4:5e:de:3b:bb:f0:9c:8a:e1:5c:72:ef:c0:72:68:d6:93:a2:1c:99:6f:d5:1e:67:ca:07:94:60:fd:6d:88:73 +-----BEGIN CERTIFICATE----- +MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0 +aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0 +aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz +MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw +IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR +dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp +li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D +rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ +WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug +F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU +xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC +Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv +dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw +ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl +IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh +c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy +ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh +Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI +KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T +KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq +y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p +dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD +VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL +MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk +fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8 +7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R +cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y +mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW +xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK +SnQ2+Q== +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited +# Label: "QuoVadis Root CA 2" +# Serial: 1289 +# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b +# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7 +# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86 +-----BEGIN CERTIFICATE----- +MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa +GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg +Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J +WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB +rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp ++ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1 +ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i +Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz +PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og +/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH +oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI +yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud +EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2 +A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL +MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT +ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f +BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn +g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl +fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K +WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha +B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc +hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR +TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD +mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z +ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y +4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza +8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 3" +# Serial: 1478 +# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf +# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85 +# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35 +-----BEGIN CERTIFICATE----- +MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM +V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB +4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr +H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd +8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv +vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT +mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe +btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc +T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt +WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ +c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A +4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD +VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG +CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 +aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 +aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu +dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw +czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G +A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg +Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 +7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem +d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd ++LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B +4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN +t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x +DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 +k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s +zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j +Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT +mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK +4SVhM7JZG+Ju1zdXtg2pEto= +-----END CERTIFICATE----- + +# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1 +# Subject: O=SECOM Trust.net OU=Security Communication RootCA1 +# Label: "Security Communication Root CA" +# Serial: 0 +# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a +# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7 +# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c +-----BEGIN CERTIFICATE----- +MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY +MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t +dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5 +WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD +VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8 +9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ +DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9 +Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N +QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ +xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G +A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T +AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG +kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr +Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5 +Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU +JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot +RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw== +-----END CERTIFICATE----- + +# Issuer: CN=Sonera Class2 CA O=Sonera +# Subject: CN=Sonera Class2 CA O=Sonera +# Label: "Sonera Class 2 Root CA" +# Serial: 29 +# MD5 Fingerprint: a3:ec:75:0f:2e:88:df:fa:48:01:4e:0b:5c:48:6f:fb +# SHA1 Fingerprint: 37:f7:6d:e6:07:7c:90:c5:b1:3e:93:1a:b7:41:10:b4:f2:e4:9a:27 +# SHA256 Fingerprint: 79:08:b4:03:14:c1:38:10:0b:51:8d:07:35:80:7f:fb:fc:f8:51:8a:00:95:33:71:05:ba:38:6b:15:3d:d9:27 +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP +MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx +MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV +BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o +Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt +5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s +3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej +vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu +8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw +DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG +MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil +zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/ +3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD +FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6 +Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2 +ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M +-----END CERTIFICATE----- + +# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com +# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com +# Label: "XRamp Global CA Root" +# Serial: 107108908803651509692980124233745014957 +# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1 +# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6 +# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2 +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB +gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk +MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY +UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx +NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3 +dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy +dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6 +38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP +KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q +DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4 +qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa +JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi +PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P +BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs +jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0 +eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD +ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR +vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt +qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa +IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy +i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ +O+7ETPTsJ3xCwnR8gooJybQDJbw= +-----END CERTIFICATE----- + +# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority +# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority +# Label: "Go Daddy Class 2 CA" +# Serial: 0 +# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67 +# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4 +# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4 +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh +MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE +YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 +MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo +ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg +MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN +ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA +PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w +wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi +EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY +avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ +YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE +sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h +/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 +IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD +ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy +OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P +TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER +dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf +ReYNnyicsbkqWletNw+vHX/bvZ8= +-----END CERTIFICATE----- + +# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority +# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority +# Label: "Starfield Class 2 CA" +# Serial: 0 +# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24 +# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a +# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58 +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl +MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp +U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw +NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE +ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp +ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 +DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf +8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN ++lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 +X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa +K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA +1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G +A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR +zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 +YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD +bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w +DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 +L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D +eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp +VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY +WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- + +# Issuer: O=Government Root Certification Authority +# Subject: O=Government Root Certification Authority +# Label: "Taiwan GRCA" +# Serial: 42023070807708724159991140556527066870 +# MD5 Fingerprint: 37:85:44:53:32:45:1f:20:f0:f3:95:e1:25:c4:43:4e +# SHA1 Fingerprint: f4:8b:11:bf:de:ab:be:94:54:20:71:e6:41:de:6b:be:88:2b:40:b9 +# SHA256 Fingerprint: 76:00:29:5e:ef:e8:5b:9e:1f:d6:24:db:76:06:2a:aa:ae:59:81:8a:54:d2:77:4c:d4:c0:b2:c0:11:31:e1:b3 +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/ +MQswCQYDVQQGEwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5MB4XDTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1ow +PzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dvdmVybm1lbnQgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB +AJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qNw8XR +IePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1q +gQdW8or5BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKy +yhwOeYHWtXBiCAEuTk8O1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAts +F/tnyMKtsc2AtJfcdgEWFelq16TheEfOhtX7MfP6Mb40qij7cEwdScevLJ1tZqa2 +jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wovJ5pGfaENda1UhhXcSTvx +ls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7Q3hub/FC +VGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHK +YS1tB6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoH +EgKXTiCQ8P8NHuJBO9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThN +Xo+EHWbNxWCWtFJaBYmOlXqYwZE8lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1Ud +DgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNVHRMEBTADAQH/MDkGBGcqBwAE +MTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg209yewDL7MTqK +UWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ +TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyf +qzvS/3WXy6TjZwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaK +ZEk9GhiHkASfQlK3T8v+R0F2Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFE +JPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlUD7gsL0u8qV1bYH+Mh6XgUmMqvtg7 +hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6QzDxARvBMB1uUO07+1 +EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+HbkZ6Mm +nD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WX +udpVBrkk7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44Vbnz +ssQwmSNOXfJIoRIM3BKQCZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDe +LMDDav7v3Aun+kbfYNucpllQdSNpc5Oy+fwC00fmcc4QAu4njIT/rEUNE1yDMuAl +pYYsfPQS +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root CA" +# Serial: 17154717934120587862167794914071425081 +# MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72 +# SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43 +# SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c +JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP +mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ +wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 +VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ +AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB +AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW +BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun +pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC +dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf +fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm +NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx +H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root CA" +# Serial: 10944719598952040374951832963794454346 +# MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e +# SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36 +# SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61 +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD +QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB +CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 +nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt +43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P +T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 +gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO +BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR +TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw +DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr +hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg +06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF +PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls +YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert High Assurance EV Root CA" +# Serial: 3553400076410547919724730734378100087 +# MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a +# SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25 +# SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm ++9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW +PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM +xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB +Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 +hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg +EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA +FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec +nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z +eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF +hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 +Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep ++OkuE6N36B9K +-----END CERTIFICATE----- + +# Issuer: CN=Class 2 Primary CA O=Certplus +# Subject: CN=Class 2 Primary CA O=Certplus +# Label: "Certplus Class 2 Primary CA" +# Serial: 177770208045934040241468760488327595043 +# MD5 Fingerprint: 88:2c:8c:52:b8:a2:3c:f3:f7:bb:03:ea:ae:ac:42:0b +# SHA1 Fingerprint: 74:20:74:41:72:9c:dd:92:ec:79:31:d8:23:10:8d:c2:81:92:e2:bb +# SHA256 Fingerprint: 0f:99:3c:8a:ef:97:ba:af:56:87:14:0e:d5:9a:d1:82:1b:b4:af:ac:f0:aa:9a:58:b5:d5:7a:33:8a:3a:fb:cb +-----BEGIN CERTIFICATE----- +MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAw +PTELMAkGA1UEBhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFz +cyAyIFByaW1hcnkgQ0EwHhcNOTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9 +MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2VydHBsdXMxGzAZBgNVBAMTEkNsYXNz +IDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxQ +ltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR5aiR +VhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyL +kcAbmXuZVg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCd +EgETjdyAYveVqUSISnFOYFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yas +H7WLO7dDWWuwJKZtkIvEcupdM5i3y95ee++U8Rs+yskhwcWYAqqi9lt3m/V+llU0 +HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRMECDAGAQH/AgEKMAsGA1Ud +DwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJYIZIAYb4 +QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMu +Y29tL0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/ +AN9WM2K191EBkOvDP9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8 +yfFC82x/xXp8HVGIutIKPidd3i1RTtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMR +FcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+7UCmnYR0ObncHoUW2ikbhiMA +ybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW//1IMwrh3KWB +kJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 +l7+ijrRU +-----END CERTIFICATE----- + +# Issuer: CN=DST Root CA X3 O=Digital Signature Trust Co. +# Subject: CN=DST Root CA X3 O=Digital Signature Trust Co. +# Label: "DST Root CA X3" +# Serial: 91299735575339953335919266965803778155 +# MD5 Fingerprint: 41:03:52:dc:0f:f7:50:1b:16:f0:02:8e:ba:6f:45:c5 +# SHA1 Fingerprint: da:c9:02:4f:54:d8:f6:df:94:93:5f:b1:73:26:38:ca:6a:d7:7c:13 +# SHA256 Fingerprint: 06:87:26:03:31:a7:24:03:d9:09:f1:05:e6:9b:cf:0d:32:e1:bd:24:93:ff:c6:d9:20:6d:11:bc:d6:77:07:39 +-----BEGIN CERTIFICATE----- +MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/ +MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT +DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow +PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD +Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O +rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq +OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b +xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw +7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD +aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG +SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69 +ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr +AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz +R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5 +JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo +Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ +-----END CERTIFICATE----- + +# Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG +# Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG +# Label: "SwissSign Gold CA - G2" +# Serial: 13492815561806991280 +# MD5 Fingerprint: 24:77:d9:a8:91:d1:3b:fa:88:2d:c2:ff:f8:cd:33:93 +# SHA1 Fingerprint: d8:c5:38:8a:b7:30:1b:1b:6e:d4:7a:e6:45:25:3a:6f:9f:1a:27:61 +# SHA256 Fingerprint: 62:dd:0b:e9:b9:f5:0a:16:3e:a0:f8:e7:5c:05:3b:1e:ca:57:ea:55:c8:68:8f:64:7c:68:81:f2:c8:35:7b:95 +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +# Issuer: CN=SwissSign Silver CA - G2 O=SwissSign AG +# Subject: CN=SwissSign Silver CA - G2 O=SwissSign AG +# Label: "SwissSign Silver CA - G2" +# Serial: 5700383053117599563 +# MD5 Fingerprint: e0:06:a1:c9:7d:cf:c9:fc:0d:c0:56:75:96:d8:62:13 +# SHA1 Fingerprint: 9b:aa:e5:9f:56:ee:21:cb:43:5a:be:25:93:df:a7:f0:40:d1:1d:cb +# SHA256 Fingerprint: be:6c:4d:a2:bb:b9:ba:59:b6:f3:93:97:68:37:42:46:c3:c0:05:99:3f:a9:8f:02:0d:1d:ed:be:d4:8a:81:d5 +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. +# Subject: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. +# Label: "GeoTrust Primary Certification Authority" +# Serial: 32798226551256963324313806436981982369 +# MD5 Fingerprint: 02:26:c3:01:5e:08:30:37:43:a9:d0:7d:cf:37:e6:bf +# SHA1 Fingerprint: 32:3c:11:8e:1b:f7:b8:b6:52:54:e2:e2:10:0d:d6:02:90:37:f0:96 +# SHA256 Fingerprint: 37:d5:10:06:c5:12:ea:ab:62:64:21:f1:ec:8c:92:01:3f:c5:f8:2a:e9:8e:e5:33:eb:46:19:b8:de:b4:d0:6c +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY +MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo +R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx +MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9 +AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA +ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0 +7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W +kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI +mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ +KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1 +6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl +4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K +oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj +UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU +AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA" +# Serial: 69529181992039203566298953787712940909 +# MD5 Fingerprint: 8c:ca:dc:0b:22:ce:f5:be:72:ac:41:1a:11:a8:d8:12 +# SHA1 Fingerprint: 91:c6:d6:ee:3e:8a:c8:63:84:e5:48:c2:99:29:5c:75:6c:81:7b:81 +# SHA256 Fingerprint: 8d:72:2f:81:a9:c1:13:c0:79:1d:f1:36:a2:96:6d:b2:6c:95:0a:97:1d:b4:6b:41:99:f4:ea:54:b7:8b:fb:9f +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw +NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j +LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG +A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs +W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta +3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk +6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6 +Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J +NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP +r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU +DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz +YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2 +/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/ +LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7 +jVaMaA== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Class 3 Public Primary Certification Authority - G5" +# Serial: 33037644167568058970164719475676101450 +# MD5 Fingerprint: cb:17:e4:31:67:3e:e2:09:fe:45:57:93:f3:0a:fa:1c +# SHA1 Fingerprint: 4e:b6:d5:78:49:9b:1c:cf:5f:58:1e:ad:56:be:3d:9b:67:44:a5:e5 +# SHA256 Fingerprint: 9a:cf:ab:7e:43:c8:d8:80:d0:6b:26:2a:94:de:ee:e4:b4:65:99:89:c3:d0:ca:f1:9b:af:64:05:e4:1a:b7:df +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 +nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex +t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz +SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG +BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ +rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ +NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E +BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH +BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv +MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE +p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y +5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK +WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ +4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N +hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- + +# Issuer: CN=SecureTrust CA O=SecureTrust Corporation +# Subject: CN=SecureTrust CA O=SecureTrust Corporation +# Label: "SecureTrust CA" +# Serial: 17199774589125277788362757014266862032 +# MD5 Fingerprint: dc:32:c3:a7:6d:25:57:c7:68:09:9d:ea:2d:a9:a2:d1 +# SHA1 Fingerprint: 87:82:c6:c3:04:35:3b:cf:d2:96:92:d2:59:3e:7d:44:d9:34:ff:11 +# SHA256 Fingerprint: f1:c1:b5:0a:e5:a2:0d:d8:03:0e:c9:f6:bc:24:82:3d:d3:67:b5:25:57:59:b4:e7:1b:61:fc:e9:f7:37:5d:73 +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI +MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x +FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz +MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv +cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz +Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO +0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao +wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj +7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS +8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT +BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg +JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC +NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 +6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ +3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm +D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS +CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +# Issuer: CN=Secure Global CA O=SecureTrust Corporation +# Subject: CN=Secure Global CA O=SecureTrust Corporation +# Label: "Secure Global CA" +# Serial: 9751836167731051554232119481456978597 +# MD5 Fingerprint: cf:f4:27:0d:d4:ed:dc:65:16:49:6d:3d:da:bf:6e:de +# SHA1 Fingerprint: 3a:44:73:5a:e5:81:90:1f:24:86:61:46:1e:3b:9c:c4:5f:f5:3a:1b +# SHA256 Fingerprint: 42:00:f5:04:3a:c8:59:0e:bb:52:7d:20:9e:d1:50:30:29:fb:cb:d4:1c:a1:b5:06:ec:27:f1:5a:de:7d:ac:69 +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK +MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x +GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx +MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg +Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ +iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa +/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ +jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI +HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7 +sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w +gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw +KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG +AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L +URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO +H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm +I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY +iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +# Issuer: CN=COMODO Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO Certification Authority O=COMODO CA Limited +# Label: "COMODO Certification Authority" +# Serial: 104350513648249232941998508985834464573 +# MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75 +# SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b +# SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66 +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB +gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV +BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw +MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl +YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P +RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3 +UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI +2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8 +Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp ++2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+ +DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O +nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW +/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g +PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u +QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY +SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv +IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4 +zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd +BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB +ZQ== +-----END CERTIFICATE----- + +# Issuer: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. +# Subject: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. +# Label: "Network Solutions Certificate Authority" +# Serial: 116697915152937497490437556386812487904 +# MD5 Fingerprint: d3:f3:a6:16:c0:fa:6b:1d:59:b1:2d:96:4d:0e:11:2e +# SHA1 Fingerprint: 74:f8:a3:c3:ef:e7:b3:90:06:4b:83:90:3c:21:64:60:20:e5:df:ce +# SHA256 Fingerprint: 15:f0:ba:00:a3:ac:7a:f3:ac:88:4c:07:2b:10:11:a0:77:bd:77:c0:97:f4:01:64:b2:f8:59:8a:bd:83:86:0c +-----BEGIN CERTIFICATE----- +MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBi +MQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu +MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3Jp +dHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJV +UzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydO +ZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwz +c7MEL7xxjOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPP +OCwGJgl6cvf6UDL4wpPTaaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rl +mGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXTcrA/vGp97Eh/jcOrqnErU2lBUzS1sLnF +BgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc/Qzpf14Dl847ABSHJ3A4 +qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMBAAGjgZcw +gZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwu +bmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3Jp +dHkuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc8 +6fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q4LqILPxFzBiwmZVRDuwduIj/ +h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/GGUsyfJj4akH +/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv +wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHN +pGxlaKFJdlxDydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey +-----END CERTIFICATE----- + +# Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited +# Label: "COMODO ECC Certification Authority" +# Serial: 41578283867086692638256921589707938090 +# MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23 +# SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11 +# SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7 +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT +IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw +MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy +ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N +T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR +FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J +cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW +BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm +fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv +GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GA CA" +# Serial: 86718877871133159090080555911823548314 +# MD5 Fingerprint: bc:6c:51:33:a7:e9:d3:66:63:54:15:72:1b:21:92:93 +# SHA1 Fingerprint: 59:22:a1:e1:5a:ea:16:35:21:f8:98:39:6a:46:46:b0:44:1b:0f:a9 +# SHA256 Fingerprint: 41:c9:23:86:6a:b4:ca:d6:b7:ad:57:80:81:58:2e:02:07:97:a6:cb:df:4f:ff:78:ce:83:96:b3:89:37:d7:f5 +-----BEGIN CERTIFICATE----- +MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB +ijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly +aWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl +ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w +NTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G +A1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD +VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX +SVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR +VVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2 +w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF +mQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg +4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9 +4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw +EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx +SPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2 +ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8 +vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa +hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi +Fj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ +/L7fCg0= +-----END CERTIFICATE----- + +# Issuer: CN=Certigna O=Dhimyotis +# Subject: CN=Certigna O=Dhimyotis +# Label: "Certigna" +# Serial: 18364802974209362175 +# MD5 Fingerprint: ab:57:a6:5b:7d:42:82:19:b5:d8:58:26:28:5e:fd:ff +# SHA1 Fingerprint: b1:2e:13:63:45:86:a4:6f:1a:b2:60:68:37:58:2d:c4:ac:fd:94:97 +# SHA256 Fingerprint: e3:b6:a2:db:2e:d7:ce:48:84:2f:7a:c5:32:41:c7:b7:1d:54:14:4b:fb:40:c1:1f:3f:1d:0b:42:f5:ee:a1:2d +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV +BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X +DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ +BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4 +QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny +gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw +zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q +130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2 +JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw +ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT +AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj +AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG +9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h +bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc +fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu +HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w +t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +# Issuer: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center +# Subject: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center +# Label: "Deutsche Telekom Root CA 2" +# Serial: 38 +# MD5 Fingerprint: 74:01:4a:91:b1:08:c4:58:ce:47:cd:f0:dd:11:53:08 +# SHA1 Fingerprint: 85:a4:08:c0:9c:19:3e:5d:51:58:7d:cd:d6:13:30:fd:8c:de:37:bf +# SHA256 Fingerprint: b6:19:1a:50:d0:c3:97:7f:7d:a9:9b:cd:aa:c8:6a:22:7d:ae:b9:67:9e:c7:0b:a3:b0:c9:d9:22:71:c1:70:d3 +-----BEGIN CERTIFICATE----- +MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEc +MBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2Vj +IFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENB +IDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5MjM1OTAwWjBxMQswCQYDVQQGEwJE +RTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxl +U2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290 +IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEU +ha88EOQ5bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhC +QN/Po7qCWWqSG6wcmtoIKyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1Mjwr +rFDa1sPeg5TKqAyZMg4ISFZbavva4VhYAUlfckE8FQYBjl2tqriTtM2e66foai1S +NNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aKSe5TBY8ZTNXeWHmb0moc +QqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTVjlsB9WoH +txa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAP +BgNVHRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC +AQEAlGRZrTlk5ynrE/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756Abrsp +tJh6sTtU6zkXR34ajgv8HzFZMQSyzhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpa +IzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8rZ7/gFnkm0W09juwzTkZmDLl +6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4Gdyd1Lx+4ivn+ +xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU +Cm26OWMohpLzGITY+9HPBVZkVw== +-----END CERTIFICATE----- + +# Issuer: CN=Cybertrust Global Root O=Cybertrust, Inc +# Subject: CN=Cybertrust Global Root O=Cybertrust, Inc +# Label: "Cybertrust Global Root" +# Serial: 4835703278459682877484360 +# MD5 Fingerprint: 72:e4:4a:87:e3:69:40:80:77:ea:bc:e3:f4:ff:f0:e1 +# SHA1 Fingerprint: 5f:43:e5:b1:bf:f8:78:8c:ac:1c:c7:ca:4a:9a:c6:22:2b:cc:34:c6 +# SHA256 Fingerprint: 96:0a:df:00:63:e9:63:56:75:0c:29:65:dd:0a:08:67:da:0b:9c:bd:6e:77:71:4a:ea:fb:23:49:ab:39:3d:a3 +-----BEGIN CERTIFICATE----- +MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYG +A1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2Jh +bCBSb290MB4XDTA2MTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UE +ChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBS +b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN5 +7CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW0ozS +J8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y +HLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iP +t3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz +FtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAY +XSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/ +MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAw +hi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3Js +MB8GA1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUA +A4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj +Wqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUx +XOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+zv+mKts2o +omcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc +A06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW +WL1WMRJOEcgh4LMRkWXbtKaIOM5V +-----END CERTIFICATE----- + +# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority +# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority +# Label: "ePKI Root Certification Authority" +# Serial: 28956088682735189655030529057352760477 +# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3 +# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0 +# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5 +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe +MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 +ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw +IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL +SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH +SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh +ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X +DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1 +TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ +fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA +sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU +WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS +nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH +dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip +NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC +AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF +MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB +uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl +PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP +JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/ +gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2 +j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6 +5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB +o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS +/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z +Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE +W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D +hNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +# Issuer: O=certSIGN OU=certSIGN ROOT CA +# Subject: O=certSIGN OU=certSIGN ROOT CA +# Label: "certSIGN ROOT CA" +# Serial: 35210227249154 +# MD5 Fingerprint: 18:98:c0:d6:e9:3a:fc:f9:b0:f5:0c:f7:4b:01:44:17 +# SHA1 Fingerprint: fa:b7:ee:36:97:26:62:fb:2d:b0:2a:f6:bf:03:fd:e8:7c:4b:2f:9b +# SHA256 Fingerprint: ea:a9:62:c4:fa:4a:6b:af:eb:e4:15:19:6d:35:1c:cd:88:8d:4f:53:f3:fa:8a:e6:d7:c4:66:a9:4e:60:42:bb +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT +AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD +QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP +MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do +0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ +UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d +RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ +OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv +JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C +AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O +BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ +LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY +MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ +44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I +Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw +i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN +9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only +# Subject: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only +# Label: "GeoTrust Primary Certification Authority - G3" +# Serial: 28809105769928564313984085209975885599 +# MD5 Fingerprint: b5:e8:34:36:c9:10:44:58:48:70:6d:2e:83:d4:b8:05 +# SHA1 Fingerprint: 03:9e:ed:b8:0b:e7:a0:3c:69:53:89:3b:20:d2:d9:32:3a:4c:2a:fd +# SHA256 Fingerprint: b4:78:b8:12:25:0d:f8:78:63:5c:2a:a7:ec:7d:15:5e:aa:62:5e:e8:29:16:e2:cd:29:43:61:88:6c:d1:fb:d4 +-----BEGIN CERTIFICATE----- +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ +BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg +MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0 +BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz ++uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm +hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn +5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W +JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL +DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC +huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw +HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB +AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB +zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN +kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH +SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G +spki4cErx5z481+oghLrGREt +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA - G2" +# Serial: 71758320672825410020661621085256472406 +# MD5 Fingerprint: 74:9d:ea:60:24:c4:fd:22:53:3e:cc:3a:72:d9:29:4f +# SHA1 Fingerprint: aa:db:bc:22:23:8f:c4:01:a1:27:bb:38:dd:f4:1d:db:08:9e:f0:12 +# SHA256 Fingerprint: a4:31:0d:50:af:18:a6:44:71:90:37:2a:86:af:af:8b:95:1f:fb:43:1d:83:7f:1e:56:88:b4:59:71:ed:15:57 +-----BEGIN CERTIFICATE----- +MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp +IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi +BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw +MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh +d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig +YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v +dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/ +BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6 +papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K +DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3 +KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox +XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA - G3" +# Serial: 127614157056681299805556476275995414779 +# MD5 Fingerprint: fb:1b:5d:43:8a:94:cd:44:c6:76:f2:43:4b:47:e7:31 +# SHA1 Fingerprint: f1:8b:53:8d:1b:e9:03:b6:a6:f0:56:43:5b:17:15:89:ca:f3:6b:f2 +# SHA256 Fingerprint: 4b:03:f4:58:07:ad:70:f2:1b:fc:2c:ae:71:c9:fd:e4:60:4c:06:4c:f5:ff:b6:86:ba:e5:db:aa:d7:fd:d3:4c +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB +rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV +BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa +Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl +LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u +MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl +ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm +gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8 +YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf +b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9 +9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S +zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk +OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV +HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA +2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW +oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu +t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c +KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM +m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu +MdRAGmI0Nj81Aa6sY6A= +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only +# Subject: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only +# Label: "GeoTrust Primary Certification Authority - G2" +# Serial: 80682863203381065782177908751794619243 +# MD5 Fingerprint: 01:5e:d8:6b:bd:6f:3d:8e:a1:31:f8:12:e0:98:73:6a +# SHA1 Fingerprint: 8d:17:84:d5:37:f3:03:7d:ec:70:fe:57:8b:51:9a:99:e6:10:d7:b0 +# SHA256 Fingerprint: 5e:db:7a:c4:3b:82:a0:6a:87:61:e8:d7:be:49:79:eb:f2:61:1f:7d:d7:9b:f9:1c:1c:6b:56:6a:21:9e:d7:66 +-----BEGIN CERTIFICATE----- +MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL +MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj +KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2 +MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw +NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV +BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH +MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL +So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal +tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG +CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT +qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz +rD6ogRLQy7rQkgu2npaqBA+K +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Universal Root Certification Authority" +# Serial: 85209574734084581917763752644031726877 +# MD5 Fingerprint: 8e:ad:b5:01:aa:4d:81:e4:8c:1d:d1:e1:14:00:95:19 +# SHA1 Fingerprint: 36:79:ca:35:66:87:72:30:4d:30:a5:fb:87:3b:0f:a7:7b:b7:0d:54 +# SHA256 Fingerprint: 23:99:56:11:27:a5:71:25:de:8c:ef:ea:61:0d:df:2f:a0:78:b5:c8:06:7f:4e:82:82:90:bf:b8:60:e8:4b:3c +-----BEGIN CERTIFICATE----- +MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB +vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W +ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX +MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0 +IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y +IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh +bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF +9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH +H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H +LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN +/BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT +rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw +WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs +exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud +DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4 +sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+ +seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz +4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+ +BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR +lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3 +7M2CYfE45k+XmCpajQ== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Class 3 Public Primary Certification Authority - G4" +# Serial: 63143484348153506665311985501458640051 +# MD5 Fingerprint: 3a:52:e1:e7:fd:6f:3a:e3:6f:f3:6f:99:1b:f9:22:41 +# SHA1 Fingerprint: 22:d5:d8:df:8f:02:31:d1:8d:f7:9d:b7:cf:8a:2d:64:c9:3f:6c:3a +# SHA256 Fingerprint: 69:dd:d7:ea:90:bb:57:c9:3e:13:5d:c8:5e:a6:fc:d5:48:0b:60:32:39:bd:c4:54:fc:75:8b:2a:26:cf:7f:79 +-----BEGIN CERTIFICATE----- +MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG +A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp +U2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg +SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln +biBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm +GUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve +fLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ +aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj +aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW +kf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC +4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga +FRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== +-----END CERTIFICATE----- + +# Issuer: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) +# Subject: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) +# Label: "NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny" +# Serial: 80544274841616 +# MD5 Fingerprint: c5:a1:b7:ff:73:dd:d6:d7:34:32:18:df:fc:3c:ad:88 +# SHA1 Fingerprint: 06:08:3f:59:3f:15:a1:04:a0:69:a4:6b:a9:03:d0:06:b7:97:09:91 +# SHA256 Fingerprint: 6c:61:da:c3:a2:de:f0:31:50:6b:e0:36:d2:a6:fe:40:19:94:fb:d1:3d:f9:c8:d4:66:59:92:74:c4:46:ec:98 +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG +EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3 +MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl +cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR +dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB +pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM +b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm +aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz +IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT +lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz +AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5 +VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG +ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2 +BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG +AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M +U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh +bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C ++C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F +uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2 +XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden +# Label: "Staat der Nederlanden Root CA - G2" +# Serial: 10000012 +# MD5 Fingerprint: 7c:a5:0f:f8:5b:9a:7d:6d:30:ae:54:5a:e3:42:a2:8a +# SHA1 Fingerprint: 59:af:82:79:91:86:c7:b4:75:07:cb:cf:03:57:46:eb:04:dd:b7:16 +# SHA256 Fingerprint: 66:8c:83:94:7d:a6:3b:72:4b:ec:e1:74:3c:31:a0:e6:ae:d0:db:8e:c5:b3:1b:e3:77:bb:78:4f:91:b6:71:6f +-----BEGIN CERTIFICATE----- +MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oX +DTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl +ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv +b3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ5291 +qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8Sp +uOUfiUtnvWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPU +Z5uW6M7XxgpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvE +pMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiile7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp +5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCROME4HYYEhLoaJXhena/M +UGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpICT0ugpTN +GmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy +5V6548r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv +6q012iDTiIJh8BIitrzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEK +eN5KzlW/HdXZt1bv8Hb/C3m1r737qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6 +B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMBAAGjgZcwgZQwDwYDVR0TAQH/ +BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcCARYxaHR0cDov +L3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqG +SIb3DQEBCwUAA4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLyS +CZa59sCrI2AGeYwRTlHSeYAz+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen +5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwjf/ST7ZwaUb7dRUG/kSS0H4zpX897 +IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaNkqbG9AclVMwWVxJK +gnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfkCpYL ++63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxL +vJxxcypFURmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkm +bEgeqmiSBeGCc1qb3AdbCG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvk +N1trSt8sV4pAWja63XVECDdCcAz+3F4hoKOKwJCcaNpQ5kUQR3i2TtJlycM33+FC +Y7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoVIPVVYpbtbZNQvOSqeK3Z +ywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm66+KAQ== +-----END CERTIFICATE----- + +# Issuer: CN=Hongkong Post Root CA 1 O=Hongkong Post +# Subject: CN=Hongkong Post Root CA 1 O=Hongkong Post +# Label: "Hongkong Post Root CA 1" +# Serial: 1000 +# MD5 Fingerprint: a8:0d:6f:39:78:b9:43:6d:77:42:6d:98:5a:cc:23:ca +# SHA1 Fingerprint: d6:da:a8:20:8d:09:d2:15:4d:24:b5:2f:cb:34:6e:b2:58:b2:8a:58 +# SHA256 Fingerprint: f9:e6:7d:33:6c:51:00:2a:c0:54:c6:32:02:2d:66:dd:a2:e7:e3:ff:f1:0a:d0:61:ed:31:d8:bb:b4:10:cf:b2 +-----BEGIN CERTIFICATE----- +MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsx +FjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3Qg +Um9vdCBDQSAxMB4XDTAzMDUxNTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkG +A1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdr +b25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1ApzQ +jVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEn +PzlTCeqrauh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjh +ZY4bXSNmO7ilMlHIhqqhqZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9 +nnV0ttgCXjqQesBCNnLsak3c78QA3xMYV18meMjWCnl3v/evt3a5pQuEF10Q6m/h +q5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNVHRMBAf8ECDAGAQH/AgED +MA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7ih9legYsC +mEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI3 +7piol7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clB +oiMBdDhViw+5LmeiIAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJs +EhTkYY2sEJCehFC78JZvRZ+K88psT/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpO +fMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilTc4afU9hDDl3WY4JxHYB0yvbi +AmvZWg== +-----END CERTIFICATE----- + +# Issuer: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. +# Subject: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. +# Label: "SecureSign RootCA11" +# Serial: 1 +# MD5 Fingerprint: b7:52:74:e2:92:b4:80:93:f2:75:e4:cc:d7:f2:ea:26 +# SHA1 Fingerprint: 3b:c4:9f:48:f8:f3:73:a0:9c:1e:bd:f8:5b:b1:c3:65:c7:d8:11:b3 +# SHA256 Fingerprint: bf:0f:ee:fb:9e:3a:58:1a:d5:f9:e9:db:75:89:98:57:43:d2:61:08:5c:4d:31:4f:6f:5d:72:59:aa:42:16:12 +-----BEGIN CERTIFICATE----- +MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr +MCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG +A1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0 +MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp +Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD +QTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz +i1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8 +h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV +MdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9 +UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni +8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC +h8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD +VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB +AKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm +KbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ +X5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr +QbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5 +pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN +QSdJQO7e5iNEOdyhIta6A/I= +-----END CERTIFICATE----- + +# Issuer: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. +# Subject: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. +# Label: "Microsec e-Szigno Root CA 2009" +# Serial: 14014712776195784473 +# MD5 Fingerprint: f8:49:f4:03:bc:44:2d:83:be:48:69:7d:29:64:fc:b1 +# SHA1 Fingerprint: 89:df:74:fe:5c:f4:0f:4a:80:f9:e3:37:7d:54:da:91:e1:01:31:8e +# SHA256 Fingerprint: 3c:5f:81:fe:a5:fa:b8:2c:64:bf:a2:ea:ec:af:cd:e8:e0:77:fc:86:20:a7:ca:e5:37:16:3d:f3:6e:db:f3:78 +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD +VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0 +ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G +CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y +OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx +FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp +Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP +kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc +cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U +fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7 +N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC +xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1 ++rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM +Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG +SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h +mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk +ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c +2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t +HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 +# Label: "GlobalSign Root CA - R3" +# Serial: 4835703278459759426209954 +# MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28 +# SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad +# SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 +MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 +RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT +gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm +KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd +QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ +XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o +LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU +RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp +jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK +6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX +mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs +Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH +WD9f +-----END CERTIFICATE----- + +# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 +# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 +# Label: "Autoridad de Certificacion Firmaprofesional CIF A62634068" +# Serial: 6047274297262753887 +# MD5 Fingerprint: 73:3a:74:7a:ec:bb:a3:96:a6:c2:e4:e2:c8:9b:c0:c3 +# SHA1 Fingerprint: ae:c5:fb:3f:c8:e1:bf:c4:e5:4f:03:07:5a:9a:e8:00:b7:f7:b6:fa +# SHA256 Fingerprint: 04:04:80:28:bf:1f:28:64:d4:8f:9a:d4:d8:32:94:36:6a:82:88:56:55:3f:3b:14:30:3f:90:14:7f:5d:40:ef +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UE +BhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h +cHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEy +MzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg +Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9 +thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM +cas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG +L9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i +NA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h +X68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b +m8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy +Z/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja +EbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T +KI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF +6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh +OSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYD +VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNHDhpkLzCBpgYD +VR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp +cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBv +ACAAZABlACAAbABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBl +AGwAbwBuAGEAIAAwADgAMAAxADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF +661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx51tkljYyGOylMnfX40S2wBEqgLk9 +am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qkR71kMrv2JYSiJ0L1 +ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaPT481 +PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS +3a/DTg4fJl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5k +SeTy36LssUzAKh3ntLFlosS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF +3dvd6qJ2gHN99ZwExEWN57kci57q13XRcrHedUTnQn3iV2t93Jm8PYMo6oCTjcVM +ZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoRsaS8I8nkvof/uZS2+F0g +StRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTDKCOM/icz +Q0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQB +jLMi6Et8Vcad+qMUu2WFbm5PEn4KPJ2V +-----END CERTIFICATE----- + +# Issuer: CN=Izenpe.com O=IZENPE S.A. +# Subject: CN=Izenpe.com O=IZENPE S.A. +# Label: "Izenpe.com" +# Serial: 917563065490389241595536686991402621 +# MD5 Fingerprint: a6:b0:cd:85:80:da:5c:50:34:a3:39:90:2f:55:67:73 +# SHA1 Fingerprint: 2f:78:3d:25:52:18:a7:4a:65:39:71:b5:2c:a2:9c:45:15:6f:e9:19 +# SHA256 Fingerprint: 25:30:cc:8e:98:32:15:02:ba:d9:6f:9b:1f:ba:1b:09:9e:2d:29:9e:0f:45:48:bb:91:4f:36:3b:c0:d4:53:1f +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +# Issuer: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. +# Subject: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. +# Label: "Chambers of Commerce Root - 2008" +# Serial: 11806822484801597146 +# MD5 Fingerprint: 5e:80:9e:84:5a:0e:65:0b:17:02:f3:55:18:2a:3e:d7 +# SHA1 Fingerprint: 78:6a:74:ac:76:ab:14:7f:9c:6a:30:50:ba:9e:a8:7e:fe:9a:ce:3c +# SHA256 Fingerprint: 06:3e:4a:fa:c4:91:df:d3:32:f3:08:9b:85:42:e9:46:17:d8:93:d7:fe:94:4e:10:a7:93:7e:e2:9d:96:93:c0 +-----BEGIN CERTIFICATE----- +MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 +IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 +MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xKTAnBgNVBAMTIENoYW1iZXJz +IG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEyMjk1MFoXDTM4MDcz +MTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBj +dXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIw +EAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEp +MCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW9 +28sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKAXuFixrYp4YFs8r/lfTJq +VKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorjh40G072Q +DuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR +5gN/ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfL +ZEFHcpOrUMPrCXZkNNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05a +Sd+pZgvMPMZ4fKecHePOjlO+Bd5gD2vlGts/4+EhySnB8esHnFIbAURRPHsl18Tl +UlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331lubKgdaX8ZSD6e2wsWsSaR6s ++12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ0wlf2eOKNcx5 +Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj +ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAx +hduub+84Mxh2EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNV +HQ4EFgQU+SSsD7K1+HnA+mCIG8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1 ++HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpN +YWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29t +L2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVy +ZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAt +IDIwMDiCCQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRV +HSAAMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20w +DQYJKoZIhvcNAQEFBQADggIBAJASryI1wqM58C7e6bXpeHxIvj99RZJe6dqxGfwW +PJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH3qLPaYRgM+gQDROpI9CF +5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbURWpGqOt1 +glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaH +FoI6M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2 +pSB7+R5KBWIBpih1YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MD +xvbxrN8y8NmBGuScvfaAFPDRLLmF9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QG +tjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcKzBIKinmwPQN/aUv0NCB9szTq +jktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvGnrDQWzilm1De +fhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg +OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZ +d0jQ +-----END CERTIFICATE----- + +# Issuer: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. +# Subject: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. +# Label: "Global Chambersign Root - 2008" +# Serial: 14541511773111788494 +# MD5 Fingerprint: 9e:80:ff:78:01:0c:2e:c1:36:bd:fe:96:90:6e:08:f3 +# SHA1 Fingerprint: 4a:bd:ee:ec:95:0d:35:9c:89:ae:c7:52:a1:2c:5b:29:f6:d6:aa:0c +# SHA256 Fingerprint: 13:63:35:43:93:34:a7:69:80:16:a0:d3:24:de:72:28:4e:07:9d:7b:52:20:bb:8f:bd:74:78:16:ee:be:ba:ca +-----BEGIN CERTIFICATE----- +MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD +VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 +IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 +MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD +aGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMxNDBaFw0zODA3MzEx +MjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3Vy +cmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAG +A1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAl +BgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZI +hvcNAQEBBQADggIPADCCAgoCggIBAMDfVtPkOpt2RbQT2//BthmLN0EYlVJH6xed +KYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXfXjaOcNFccUMd2drvXNL7 +G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0ZJJ0YPP2 +zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4 +ddPB/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyG +HoiMvvKRhI9lNNgATH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2 +Id3UwD2ln58fQ1DJu7xsepeY7s2MH/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3V +yJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfeOx2YItaswTXbo6Al/3K1dh3e +beksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSFHTynyQbehP9r +6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh +wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsog +zCtLkykPAgMBAAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQW +BBS5CcqcHtvTbDprru1U8VuTBjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDpr +ru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UEBhMCRVUxQzBBBgNVBAcTOk1hZHJp +ZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJmaXJtYS5jb20vYWRk +cmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJmaXJt +YSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiC +CQDJzdPp1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCow +KAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZI +hvcNAQEFBQADggIBAICIf3DekijZBZRG/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZ +UohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6ReAJ3spED8IXDneRRXoz +X1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/sdZ7LoR/x +fxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVz +a2Mg9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yyd +Yhz2rXzdpjEetrHHfoUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMd +SqlapskD7+3056huirRXhOukP9DuqqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9O +AP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETrP3iZ8ntxPjzxmKfFGBI/5rso +M0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVqc5iJWzouE4ge +v8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z +09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B +-----END CERTIFICATE----- + +# Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. +# Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. +# Label: "Go Daddy Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01 +# SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b +# SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT +EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp +ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz +NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH +EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE +AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD +E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH +/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy +DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh +GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR +tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA +AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX +WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu +9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr +gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo +2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI +4uJEvlz36hz1 +-----END CERTIFICATE----- + +# Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Label: "Starfield Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96 +# SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e +# SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5 +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs +ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw +MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj +aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp +Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg +nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 +HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N +Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN +dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 +HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G +CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU +sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 +4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg +8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 +mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +# Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Label: "Starfield Services Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2 +# SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f +# SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5 +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs +ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD +VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy +ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy +dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p +OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 +8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K +Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe +hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk +6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw +DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q +AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI +bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB +ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z +qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn +0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN +sSi6 +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Commercial O=AffirmTrust +# Subject: CN=AffirmTrust Commercial O=AffirmTrust +# Label: "AffirmTrust Commercial" +# Serial: 8608355977964138876 +# MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7 +# SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7 +# SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7 +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP +Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr +ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL +MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 +yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr +VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ +nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG +XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj +vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt +Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g +N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC +nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Networking O=AffirmTrust +# Subject: CN=AffirmTrust Networking O=AffirmTrust +# Label: "AffirmTrust Networking" +# Serial: 8957382827206547757 +# MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f +# SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f +# SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y +YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua +kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL +QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp +6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG +yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i +QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO +tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu +QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ +Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u +olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 +x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Premium O=AffirmTrust +# Subject: CN=AffirmTrust Premium O=AffirmTrust +# Label: "AffirmTrust Premium" +# Serial: 7893706540734352110 +# MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57 +# SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27 +# SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz +dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG +A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U +cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf +qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ +JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ ++jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS +s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 +HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 +70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG +V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S +qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S +5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia +C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX +OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE +FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 +KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B +8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ +MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc +0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ +u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF +u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH +YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 +GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO +RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e +KeC2uAloGRwYQw== +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust +# Subject: CN=AffirmTrust Premium ECC O=AffirmTrust +# Label: "AffirmTrust Premium ECC" +# Serial: 8401224907861490260 +# MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d +# SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb +# SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23 +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC +VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ +cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ +BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt +VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D +0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 +ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G +A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs +aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I +flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ== +-----END CERTIFICATE----- + +# Issuer: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Subject: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Label: "Certum Trusted Network CA" +# Serial: 279744 +# MD5 Fingerprint: d5:e9:81:40:c5:18:69:fc:46:2c:89:75:62:0f:aa:78 +# SHA1 Fingerprint: 07:e0:32:e0:20:b7:2c:3f:19:2f:06:28:a2:59:3a:19:a7:0f:06:9e +# SHA256 Fingerprint: 5c:58:46:8d:55:f5:8e:49:7e:74:39:82:d2:b5:00:10:b6:d1:65:37:4a:cf:83:a7:d4:a3:2d:b7:68:c4:40:8e +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM +MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D +ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU +cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3 +WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg +Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw +IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH +UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM +TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU +BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM +kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x +AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV +HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y +sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL +I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8 +J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY +VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +# Issuer: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA +# Subject: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA +# Label: "TWCA Root Certification Authority" +# Serial: 1 +# MD5 Fingerprint: aa:08:8f:f6:f9:7b:b7:f2:b1:a7:1e:9b:ea:ea:bd:79 +# SHA1 Fingerprint: cf:9e:87:6d:d3:eb:fc:42:26:97:a3:b5:a3:7a:a0:76:a9:06:23:48 +# SHA256 Fingerprint: bf:d8:8f:e1:10:1c:41:ae:3e:80:1b:f8:be:56:35:0e:e9:ba:d1:a6:b9:bd:51:5e:dc:5c:6d:5b:87:11:ac:44 +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES +MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU +V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz +WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO +LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE +AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH +K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX +RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z +rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx +3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq +hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC +MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls +XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D +lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn +aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ +YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 +# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 +# Label: "Security Communication RootCA2" +# Serial: 0 +# MD5 Fingerprint: 6c:39:7d:a4:0e:55:59:b2:3f:d6:41:b1:12:50:de:43 +# SHA1 Fingerprint: 5f:3b:8c:f2:f8:10:b3:7d:78:b4:ce:ec:19:19:c3:73:34:b9:c7:74 +# SHA256 Fingerprint: 51:3b:2c:ec:b8:10:d4:cd:e5:dd:85:39:1a:df:c6:c2:dd:60:d8:7b:b7:36:d2:b5:21:48:4a:a4:7a:0e:be:f6 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl +MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe +U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX +DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy +dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj +YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV +OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr +zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM +VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ +hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO +ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw +awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs +OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 +DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF +coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc +okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8 +t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy +1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/ +SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions RootCA 2011" +# Serial: 0 +# MD5 Fingerprint: 73:9f:4c:4b:73:5b:79:e9:fa:ba:1c:ef:6e:cb:d5:c9 +# SHA1 Fingerprint: fe:45:65:9b:79:03:5b:98:a1:61:b5:51:2e:ac:da:58:09:48:22:4d +# SHA256 Fingerprint: bc:10:4f:15:a4:8b:e7:09:dc:a5:42:a7:e1:d4:b9:df:6f:05:45:27:e8:02:ea:a9:2d:59:54:44:25:8a:fe:71 +-----BEGIN CERTIFICATE----- +MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix +RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 +dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p +YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw +NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK +EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl +cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl +c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz +dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ +fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns +bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD +75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP +FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV +HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp +5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu +b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA +A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p +6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 +TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7 +dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys +Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI +l7WdmplNsDz4SgCbZN2fOUvRJ9e4 +-----END CERTIFICATE----- + +# Issuer: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 +# Subject: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 +# Label: "Actalis Authentication Root CA" +# Serial: 6271844772424770508 +# MD5 Fingerprint: 69:c1:0d:4f:07:a3:1b:c3:fe:56:3d:04:bc:11:f6:a6 +# SHA1 Fingerprint: f3:73:b3:87:06:5a:28:84:8a:f2:f3:4a:ce:19:2b:dd:c7:8e:9c:ac +# SHA256 Fingerprint: 55:92:60:84:ec:96:3a:64:b9:6e:2a:be:01:ce:0b:a8:6a:64:fb:fe:bc:c7:aa:b5:af:c1:55:b3:7f:d7:60:66 +-----BEGIN CERTIFICATE----- +MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE +BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w +MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 +IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC +SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1 +ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv +UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX +4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9 +KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/ +gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb +rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ +51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F +be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe +KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F +v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn +fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7 +jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz +ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt +ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL +e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70 +jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz +WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V +SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j +pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX +X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok +fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R +K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU +ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU +LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT +LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== +-----END CERTIFICATE----- + +# Issuer: O=Trustis Limited OU=Trustis FPS Root CA +# Subject: O=Trustis Limited OU=Trustis FPS Root CA +# Label: "Trustis FPS Root CA" +# Serial: 36053640375399034304724988975563710553 +# MD5 Fingerprint: 30:c9:e7:1e:6b:e6:14:eb:65:b2:16:69:20:31:67:4d +# SHA1 Fingerprint: 3b:c0:38:0b:33:c3:f6:a6:0c:86:15:22:93:d9:df:f5:4b:81:c0:04 +# SHA256 Fingerprint: c1:b4:82:99:ab:a5:20:8f:e9:63:0a:ce:55:ca:68:a0:3e:da:5a:51:9c:88:02:a0:d3:a6:73:be:8f:8e:55:7d +-----BEGIN CERTIFICATE----- +MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBF +MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQL +ExNUcnVzdGlzIEZQUyBSb290IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTEx +MzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1RydXN0aXMgTGltaXRlZDEc +MBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQRUN+ +AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihH +iTHcDnlkH5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjj +vSkCqPoc4Vu5g6hBSLwacY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA +0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zto3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlB +OrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEAAaNTMFEwDwYDVR0TAQH/ +BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAdBgNVHQ4E +FgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01 +GX2cGE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmW +zaD+vkAMXBJV+JOCyinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP4 +1BIy+Q7DsdwyhEQsb8tGD+pmQQ9P8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZE +f1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHVl/9D7S3B2l0pKoU/rGXuhg8F +jZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYliB6XzCGcKQEN +ZetX2fNXlrtIzYE= +-----END CERTIFICATE----- + +# Issuer: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 +# Subject: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 +# Label: "Buypass Class 2 Root CA" +# Serial: 2 +# MD5 Fingerprint: 46:a7:d2:fe:45:fb:64:5a:a8:59:90:9b:78:44:9b:29 +# SHA1 Fingerprint: 49:0a:75:74:de:87:0a:47:fe:58:ee:f6:c7:6b:eb:c6:0b:12:40:99 +# SHA256 Fingerprint: 9a:11:40:25:19:7c:5b:b9:5d:94:e6:3d:55:cd:43:79:08:47:b6:46:b2:3c:df:11:ad:a4:a0:0e:ff:15:fb:48 +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr +6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV +L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91 +1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx +MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ +QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB +arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr +Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi +FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS +P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN +9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz +uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h +9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t +OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo ++fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7 +KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2 +DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us +H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ +I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7 +5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h +3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz +Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA= +-----END CERTIFICATE----- + +# Issuer: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 +# Subject: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 +# Label: "Buypass Class 3 Root CA" +# Serial: 2 +# MD5 Fingerprint: 3d:3b:18:9e:2c:64:5a:e8:d5:88:ce:0e:f9:37:c2:ec +# SHA1 Fingerprint: da:fa:f7:fa:66:84:ec:06:8f:14:50:bd:c7:c2:81:a5:bc:a9:64:57 +# SHA256 Fingerprint: ed:f7:eb:bc:a2:7a:2a:38:4d:38:7b:7d:40:10:c6:66:e2:ed:b4:84:3e:4c:29:b4:ae:1d:5b:93:32:e6:b2:4d +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y +ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E +N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9 +tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX +0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c +/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X +KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY +zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS +O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D +34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP +K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3 +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv +Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj +QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS +IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2 +HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa +O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv +033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u +dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE +kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41 +3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD +u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq +4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc= +-----END CERTIFICATE----- + +# Issuer: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Subject: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Label: "T-TeleSec GlobalRoot Class 3" +# Serial: 1 +# MD5 Fingerprint: ca:fb:40:a8:4e:39:92:8a:1d:fe:8e:2f:c4:27:ea:ef +# SHA1 Fingerprint: 55:a6:72:3e:cb:f2:ec:cd:c3:23:74:70:19:9d:2a:be:11:e3:81:d1 +# SHA256 Fingerprint: fd:73:da:d3:1c:64:4f:f1:b4:3b:ef:0c:cd:da:96:71:0b:9c:d9:87:5e:ca:7e:31:70:7a:f3:e9:6d:52:2b:bd +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN +8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/ +RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4 +hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5 +ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM +EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1 +A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy +WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ +1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30 +6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT +91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p +TpPDpFQUWw== +-----END CERTIFICATE----- + +# Issuer: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus +# Subject: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus +# Label: "EE Certification Centre Root CA" +# Serial: 112324828676200291871926431888494945866 +# MD5 Fingerprint: 43:5e:88:d4:7d:1a:4a:7e:fd:84:2e:52:eb:01:d4:6f +# SHA1 Fingerprint: c9:a8:b9:e7:55:80:5e:58:e3:53:77:a7:25:eb:af:c3:7b:27:cc:d7 +# SHA256 Fingerprint: 3e:84:ba:43:42:90:85:16:e7:75:73:c0:99:2f:09:79:ca:08:4e:46:85:68:1f:f1:95:cc:ba:8a:22:9b:8a:76 +-----BEGIN CERTIFICATE----- +MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1 +MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1 +czEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG +CSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIwMTAxMDMwMTAxMDMwWhgPMjAzMDEy +MTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlBUyBTZXJ0aWZpdHNl +ZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRyZSBS +b290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUy +euuOF0+W2Ap7kaJjbMeMTC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvO +bntl8jixwKIy72KyaOBhU8E2lf/slLo2rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIw +WFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw93X2PaRka9ZP585ArQ/d +MtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtNP2MbRMNE +1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/ +zQas8fElyalL1BSZMEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYB +BQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEF +BQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+RjxY6hUFaTlrg4wCQiZrxTFGGV +v9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqMlIpPnTX/dqQG +E5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u +uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIW +iAYLtqZLICjU3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/v +GVCJYMzpJJUPwssd8m92kMfMdcGWxZ0= +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH +# Subject: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH +# Label: "D-TRUST Root Class 3 CA 2 2009" +# Serial: 623603 +# MD5 Fingerprint: cd:e0:25:69:8d:47:ac:9c:89:35:90:f7:fd:51:3d:2f +# SHA1 Fingerprint: 58:e8:ab:b0:36:15:33:fb:80:f7:9b:1b:6d:29:d3:ff:8d:5f:00:f0 +# SHA256 Fingerprint: 49:e7:a4:42:ac:f0:ea:62:87:05:00:54:b5:25:64:b6:50:e4:f4:9e:42:e3:48:d6:aa:38:e0:39:e9:57:b1:c1 +-----BEGIN CERTIFICATE----- +MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha +ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM +HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 +UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 +tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R +ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM +lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp +/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G +A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G +A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj +dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy +MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl +cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js +L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL +BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni +acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 +o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K +zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 +PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y +Johw1+qRzT65ysCQblrGXnRl11z+o+I= +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH +# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH +# Label: "D-TRUST Root Class 3 CA 2 EV 2009" +# Serial: 623604 +# MD5 Fingerprint: aa:c6:43:2c:5e:2d:cd:c4:34:c0:50:4f:11:02:4f:b6 +# SHA1 Fingerprint: 96:c9:1b:0b:95:b4:10:98:42:fa:d0:d8:22:79:fe:60:fa:b9:16:83 +# SHA256 Fingerprint: ee:c5:49:6b:98:8c:e9:86:25:b9:34:09:2e:ec:29:08:be:d0:b0:f3:16:c2:d4:73:0c:84:ea:f1:f3:d3:48:81 +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw +NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV +BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn +ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0 +3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z +qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR +p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8 +HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw +ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea +HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw +Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh +c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E +RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt +dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku +Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp +3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 +nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF +CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na +xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX +KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1 +-----END CERTIFICATE----- + +# Issuer: CN=CA Disig Root R2 O=Disig a.s. +# Subject: CN=CA Disig Root R2 O=Disig a.s. +# Label: "CA Disig Root R2" +# Serial: 10572350602393338211 +# MD5 Fingerprint: 26:01:fb:d8:27:a7:17:9a:45:54:38:1a:43:01:3b:03 +# SHA1 Fingerprint: b5:61:eb:ea:a4:de:e4:25:4b:69:1a:98:a5:57:47:c2:34:c7:d9:71 +# SHA256 Fingerprint: e2:3d:4a:03:6d:7b:70:e9:f5:95:b1:42:20:79:d2:b9:1e:df:bb:1f:b6:51:a0:63:3e:aa:8a:9d:c5:f8:07:03 +-----BEGIN CERTIFICATE----- +MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV +BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu +MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy +MDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx +EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw +ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe +NcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH +PWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I +x2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe +QTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR +yyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO +QG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912 +H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ +QfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD +i/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs +nLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1 +rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud +DwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI +hvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM +tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf +GopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb +lvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka ++elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal +TFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i +nSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3 +gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr +G5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os +zMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x +L4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL +-----END CERTIFICATE----- + +# Issuer: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV +# Subject: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV +# Label: "ACCVRAIZ1" +# Serial: 6828503384748696800 +# MD5 Fingerprint: d0:a0:5a:ee:05:b6:09:94:21:a1:7d:f1:b2:29:82:02 +# SHA1 Fingerprint: 93:05:7a:88:15:c6:4f:ce:88:2f:fa:91:16:52:28:78:bc:53:64:17 +# SHA256 Fingerprint: 9a:6e:c0:12:e1:a7:da:9d:be:34:19:4d:47:8a:d7:c0:db:18:22:fb:07:1d:f1:29:81:49:6e:d1:04:38:41:13 +-----BEGIN CERTIFICATE----- +MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE +AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw +CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ +BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND +VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb +qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY +HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo +G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA +lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr +IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/ +0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH +k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47 +4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO +m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa +cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl +uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI +KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls +ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG +AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 +VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT +VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG +CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA +cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA +QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA +7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA +cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA +QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA +czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu +aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt +aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud +DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF +BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp +D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU +JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m +AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD +vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms +tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH +7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h +I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA +h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF +d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H +pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7 +-----END CERTIFICATE----- + +# Issuer: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA +# Subject: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA +# Label: "TWCA Global Root CA" +# Serial: 3262 +# MD5 Fingerprint: f9:03:7e:cf:e6:9e:3c:73:7a:2a:90:07:69:ff:2b:96 +# SHA1 Fingerprint: 9c:bb:48:53:f6:a4:f6:d3:52:a4:e8:32:52:55:60:13:f5:ad:af:65 +# SHA256 Fingerprint: 59:76:90:07:f7:68:5d:0f:cd:50:87:2f:9f:95:d5:75:5a:5b:2b:45:7d:81:f3:69:2b:61:0a:98:67:2f:0e:1b +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx +EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT +VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5 +NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT +B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF +10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz +0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh +MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH +zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc +46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2 +yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi +laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP +oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA +BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE +qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm +4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL +1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn +LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF +H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo +RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+ +nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh +15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW +6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW +nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j +wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz +aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy +KwbQBM0= +-----END CERTIFICATE----- + +# Issuer: CN=TeliaSonera Root CA v1 O=TeliaSonera +# Subject: CN=TeliaSonera Root CA v1 O=TeliaSonera +# Label: "TeliaSonera Root CA v1" +# Serial: 199041966741090107964904287217786801558 +# MD5 Fingerprint: 37:41:49:1b:18:56:9a:26:f5:ad:c2:66:fb:40:a5:4c +# SHA1 Fingerprint: 43:13:bb:96:f1:d5:86:9b:c1:4e:6a:92:f6:cf:f6:34:69:87:82:37 +# SHA256 Fingerprint: dd:69:36:fe:21:f8:f0:77:c1:23:a1:a5:21:c1:22:24:f7:22:55:b7:3e:03:a7:26:06:93:e8:a2:4b:0f:a3:89 +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw +NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv +b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD +VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2 +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F +VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1 +7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X +Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+ +/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs +81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm +dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe +Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu +sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4 +pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs +slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ +arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD +VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG +9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl +dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx +0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj +TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed +Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7 +Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI +OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7 +vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW +t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn +HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx +SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= +-----END CERTIFICATE----- + +# Issuer: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi +# Subject: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi +# Label: "E-Tugra Certification Authority" +# Serial: 7667447206703254355 +# MD5 Fingerprint: b8:a1:03:63:b0:bd:21:71:70:8a:6f:13:3a:bb:79:49 +# SHA1 Fingerprint: 51:c6:e7:08:49:06:6e:f3:92:d4:5c:a0:0d:6d:a3:62:8f:c3:52:39 +# SHA256 Fingerprint: b0:bf:d5:2b:b0:d7:d9:bd:92:bf:5d:4d:c1:3d:a2:55:c0:2c:54:2f:37:83:65:ea:89:39:11:f5:5e:55:f2:3c +-----BEGIN CERTIFICATE----- +MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNV +BAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBC +aWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNV +BAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQDDB9FLVR1 +Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMwNTEyMDk0OFoXDTIz +MDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+ +BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhp +em1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN +ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4vU/kwVRHoViVF56C/UY +B4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vdhQd2h8y/L5VMzH2nPbxH +D5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5KCKpbknSF +Q9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEo +q1+gElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3D +k14opz8n8Y4e0ypQBaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcH +fC425lAcP9tDJMW/hkd5s3kc91r0E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsut +dEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gzrt48Ue7LE3wBf4QOXVGUnhMM +ti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAqjqFGOjGY5RH8 +zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn +rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUX +U8u3Zg5mTPj5dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6 +Jyr+zE7S6E5UMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5 +XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAF +Nzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAKkEh47U6YA5n+KGCR +HTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jOXKqY +GwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c +77NCR807VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3 ++GbHeJAAFS6LrVE1Uweoa2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WK +vJUawSg5TB9D0pH0clmKuVb8P7Sd2nCcdlqMQ1DujjByTd//SffGqWfZbawCEeI6 +FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEVKV0jq9BgoRJP3vQXzTLl +yb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gTDx4JnW2P +AJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpD +y4Q08ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8d +NL/+I5c30jn6PQ0GC7TbO6Orb1wdtn7os4I07QZcJA== +-----END CERTIFICATE----- + +# Issuer: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Subject: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Label: "T-TeleSec GlobalRoot Class 2" +# Serial: 1 +# MD5 Fingerprint: 2b:9b:9e:e4:7b:6c:1f:00:72:1a:cc:c1:77:79:df:6a +# SHA1 Fingerprint: 59:0d:2d:7d:88:4f:40:2e:61:7e:a5:62:32:17:65:cf:17:d8:94:e9 +# SHA256 Fingerprint: 91:e2:f5:78:8d:58:10:eb:a7:ba:58:73:7d:e1:54:8a:8e:ca:cd:01:45:98:bc:0b:14:3e:04:1b:17:05:25:52 +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd +AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC +FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi +1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq +jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ +wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ +WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy +NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC +uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw +IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 +g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN +9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP +BSeOE6Fuwg== +-----END CERTIFICATE----- + +# Issuer: CN=Atos TrustedRoot 2011 O=Atos +# Subject: CN=Atos TrustedRoot 2011 O=Atos +# Label: "Atos TrustedRoot 2011" +# Serial: 6643877497813316402 +# MD5 Fingerprint: ae:b9:c4:32:4b:ac:7f:5d:66:cc:77:94:bb:2a:77:56 +# SHA1 Fingerprint: 2b:b1:f5:3e:55:0c:1d:c5:f1:d4:e6:b7:6a:46:4b:55:06:02:ac:21 +# SHA256 Fingerprint: f3:56:be:a2:44:b7:a9:1e:b3:5d:53:ca:9a:d7:86:4a:ce:01:8e:2d:35:d5:f8:f9:6d:df:68:a6:f4:1a:a4:74 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE +AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG +EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM +FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC +REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp +Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM +VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+ +SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ +4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L +cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi +eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG +A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3 +DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j +vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP +DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc +maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D +lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv +KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 1 G3" +# Serial: 687049649626669250736271037606554624078720034195 +# MD5 Fingerprint: a4:bc:5b:3f:fe:37:9a:fa:64:f0:e2:fa:05:3d:0b:ab +# SHA1 Fingerprint: 1b:8e:ea:57:96:29:1a:c9:39:ea:b8:0a:81:1a:73:73:c0:93:79:67 +# SHA256 Fingerprint: 8a:86:6f:d1:b2:76:b5:7e:57:8e:92:1c:65:82:8a:2b:ed:58:e9:f2:f2:88:05:41:34:b7:f1:f4:bf:c9:cc:74 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00 +MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV +wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe +rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341 +68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh +4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp +UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o +abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc +3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G +KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt +hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO +Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt +zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD +ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC +MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2 +cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN +qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5 +YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv +b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2 +8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k +NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj +ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp +q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt +nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 2 G3" +# Serial: 390156079458959257446133169266079962026824725800 +# MD5 Fingerprint: af:0c:86:6e:bf:40:2d:7f:0b:3e:12:50:ba:12:3d:06 +# SHA1 Fingerprint: 09:3c:61:f3:8b:8b:dc:7d:55:df:75:38:02:05:00:e1:25:f5:c8:36 +# SHA256 Fingerprint: 8f:e4:fb:0a:f9:3a:4d:0d:67:db:0b:eb:b2:3e:37:c7:1b:f3:25:dc:bc:dd:24:0e:a0:4d:af:58:b4:7e:18:40 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00 +MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf +qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW +n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym +c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+ +O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1 +o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j +IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq +IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz +8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh +vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l +7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG +cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD +ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 +AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC +roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga +W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n +lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE ++V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV +csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd +dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg +KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM +HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4 +WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 3 G3" +# Serial: 268090761170461462463995952157327242137089239581 +# MD5 Fingerprint: df:7d:b9:ad:54:6f:68:a1:df:89:57:03:97:43:b0:d7 +# SHA1 Fingerprint: 48:12:bd:92:3c:a8:c4:39:06:e7:30:6d:27:96:e6:a4:cf:22:2e:7d +# SHA256 Fingerprint: 88:ef:81:de:20:2e:b0:18:45:2e:43:f8:64:72:5c:ea:5f:bd:1f:c2:d9:d2:05:73:07:09:c5:d8:b8:69:0f:46 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00 +MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR +/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu +FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR +U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c +ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR +FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k +A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw +eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl +sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp +VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q +A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ +ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD +ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px +KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI +FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv +oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg +u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP +0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf +3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl +8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+ +DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN +PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ +ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0 +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root G2" +# Serial: 15385348160840213938643033620894905419 +# MD5 Fingerprint: 92:38:b9:f8:63:24:82:65:2c:57:33:e6:fe:81:8f:9d +# SHA1 Fingerprint: a1:4b:48:d9:43:ee:0a:0e:40:90:4f:3c:e0:a4:c0:91:93:51:5d:3f +# SHA256 Fingerprint: 7d:05:eb:b6:82:33:9f:8c:94:51:ee:09:4e:eb:fe:fa:79:53:a1:14:ed:b2:f4:49:49:45:2f:ab:7d:2f:c1:85 +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA +n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc +biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp +EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA +bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu +YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB +AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW +BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI +QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I +0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni +lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 +B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv +ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo +IhNzbM8m9Yop5w== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root G3" +# Serial: 15459312981008553731928384953135426796 +# MD5 Fingerprint: 7c:7f:65:31:0c:81:df:8d:ba:3e:99:e2:5c:ad:6e:fb +# SHA1 Fingerprint: f5:17:a2:4f:9a:48:c6:c9:f8:a2:00:26:9f:dc:0f:48:2c:ab:30:89 +# SHA256 Fingerprint: 7e:37:cb:8b:4c:47:09:0c:ab:36:55:1b:a6:f4:5d:b8:40:68:0f:ba:16:6a:95:2d:b1:00:71:7f:43:05:3f:c2 +-----BEGIN CERTIFICATE----- +MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg +RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf +Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q +RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD +AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY +JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv +6pZjamVFkpUBtA== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root G2" +# Serial: 4293743540046975378534879503202253541 +# MD5 Fingerprint: e4:a6:8a:c8:54:ac:52:42:46:0a:fd:72:48:1b:2a:44 +# SHA1 Fingerprint: df:3c:24:f9:bf:d6:66:76:1b:26:80:73:fe:06:d1:cc:8d:4f:82:a4 +# SHA256 Fingerprint: cb:3c:cb:b7:60:31:e5:e0:13:8f:8d:d3:9a:23:f9:de:47:ff:c3:5e:43:c1:14:4c:ea:27:d4:6a:5a:b1:cb:5f +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH +MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI +2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx +1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ +q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz +tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ +vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV +5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY +1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 +NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG +Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 +8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe +pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root G3" +# Serial: 7089244469030293291760083333884364146 +# MD5 Fingerprint: f5:5d:a4:50:a5:fb:28:7e:1e:0f:0d:cc:96:57:56:ca +# SHA1 Fingerprint: 7e:04:de:89:6a:3e:66:6d:00:e6:87:d3:3f:fa:d9:3b:e8:3d:34:9e +# SHA256 Fingerprint: 31:ad:66:48:f8:10:41:38:c7:38:f3:9e:a4:32:01:33:39:3e:3a:18:cc:02:29:6e:f9:7c:2a:c9:ef:67:31:d0 +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe +Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw +EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x +IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF +K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG +fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO +Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd +BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx +AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ +oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 +sycX +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Trusted Root G4" +# Serial: 7451500558977370777930084869016614236 +# MD5 Fingerprint: 78:f2:fc:aa:60:1f:2f:b4:eb:c9:37:ba:53:2e:75:49 +# SHA1 Fingerprint: dd:fb:16:cd:49:31:c9:73:a2:03:7d:3f:c8:3a:4d:7d:77:5d:05:e4 +# SHA256 Fingerprint: 55:2f:7b:dc:f1:a7:af:9e:6c:e6:72:01:7f:4f:12:ab:f7:72:40:c7:8e:76:1a:c2:03:d1:d9:d2:0a:c8:99:88 +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg +RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y +ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If +xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV +ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO +DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ +jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ +CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi +EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM +fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY +uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK +chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t +9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 +SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd ++SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc +fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa +sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N +cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N +0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie +4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI +r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 +/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm +gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ +-----END CERTIFICATE----- + +# Issuer: CN=COMODO RSA Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO RSA Certification Authority O=COMODO CA Limited +# Label: "COMODO RSA Certification Authority" +# Serial: 101909084537582093308941363524873193117 +# MD5 Fingerprint: 1b:31:b0:71:40:36:cc:14:36:91:ad:c4:3e:fd:ec:18 +# SHA1 Fingerprint: af:e5:d2:44:a8:d1:19:42:30:ff:47:9f:e2:f8:97:bb:cd:7a:8c:b4 +# SHA256 Fingerprint: 52:f0:e1:c4:e5:8e:c6:29:29:1b:60:31:7f:07:46:71:b8:5d:7e:a8:0d:5b:07:27:34:63:53:4b:32:b4:02:34 +-----BEGIN CERTIFICATE----- +MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB +hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV +BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT +EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR +6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X +pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC +9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV +/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf +Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z ++pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w +qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah +SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC +u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf +Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq +crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E +FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB +/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl +wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM +4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV +2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna +FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ +CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK +boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke +jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL +S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb +QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl +0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB +NVOFBkpdn627G190 +-----END CERTIFICATE----- + +# Issuer: CN=USERTrust RSA Certification Authority O=The USERTRUST Network +# Subject: CN=USERTrust RSA Certification Authority O=The USERTRUST Network +# Label: "USERTrust RSA Certification Authority" +# Serial: 2645093764781058787591871645665788717 +# MD5 Fingerprint: 1b:fe:69:d1:91:b7:19:33:a3:72:a8:0f:e1:55:e5:b5 +# SHA1 Fingerprint: 2b:8f:1b:57:33:0d:bb:a2:d0:7a:6c:51:f7:0e:e9:0d:da:b9:ad:8e +# SHA256 Fingerprint: e7:93:c9:b0:2f:d8:aa:13:e2:1c:31:22:8a:cc:b0:81:19:64:3b:74:9c:89:89:64:b1:74:6d:46:c3:d4:cb:d2 +-----BEGIN CERTIFICATE----- +MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB +iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl +cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV +BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw +MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV +BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B +3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY +tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ +Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 +VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT +79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 +c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT +Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l +c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee +UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE +Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd +BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G +A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF +Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO +VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 +ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs +8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR +iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze +Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ +XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ +qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB +VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB +L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG +jjxDah2nGN59PRbxYvnKkKj9 +-----END CERTIFICATE----- + +# Issuer: CN=USERTrust ECC Certification Authority O=The USERTRUST Network +# Subject: CN=USERTrust ECC Certification Authority O=The USERTRUST Network +# Label: "USERTrust ECC Certification Authority" +# Serial: 123013823720199481456569720443997572134 +# MD5 Fingerprint: fa:68:bc:d9:b5:7f:ad:fd:c9:1d:06:83:28:cc:24:c1 +# SHA1 Fingerprint: d1:cb:ca:5d:b2:d5:2a:7f:69:3b:67:4d:e5:f0:5a:1d:0c:95:7d:f0 +# SHA256 Fingerprint: 4f:f4:60:d5:4b:9c:86:da:bf:bc:fc:57:12:e0:40:0d:2b:ed:3f:bc:4d:4f:bd:aa:86:e0:6a:dc:d2:a9:ad:7a +-----BEGIN CERTIFICATE----- +MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL +MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl +eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT +JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg +VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo +I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng +o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G +A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB +zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW +RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 +# Label: "GlobalSign ECC Root CA - R4" +# Serial: 14367148294922964480859022125800977897474 +# MD5 Fingerprint: 20:f0:27:68:d1:7e:a0:9d:0e:e6:2a:ca:df:5c:89:8e +# SHA1 Fingerprint: 69:69:56:2e:40:80:f4:24:a1:e7:19:9f:14:ba:f3:ee:58:ab:6a:bb +# SHA256 Fingerprint: be:c9:49:11:c2:95:56:76:db:6c:0a:55:09:86:d7:6e:3b:a0:05:66:7c:44:2c:97:62:b4:fb:b7:73:de:22:8c +-----BEGIN CERTIFICATE----- +MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEk +MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpH +bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX +DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD +QSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprlOQcJ +FspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61F +uOJAf/sKbvu+M8k8o4TVMAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGX +kPoUVy0D7O48027KqGx2vKLeuwIgJ6iFJzWbVsaj8kfSt24bAgAXqmemFZHe+pTs +ewv4n4Q= +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 +# Label: "GlobalSign ECC Root CA - R5" +# Serial: 32785792099990507226680698011560947931244 +# MD5 Fingerprint: 9f:ad:3b:1c:02:1e:8a:ba:17:74:38:81:0c:a2:bc:08 +# SHA1 Fingerprint: 1f:24:c6:30:cd:a4:18:ef:20:69:ff:ad:4f:dd:5f:46:3a:1b:69:aa +# SHA256 Fingerprint: 17:9f:bc:14:8a:3d:d0:0f:d2:4e:a1:34:58:cc:43:bf:a7:f5:9c:81:82:d7:83:a5:13:f6:eb:ec:10:0c:89:24 +-----BEGIN CERTIFICATE----- +MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk +MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH +bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX +DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD +QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc +8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke +hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI +KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg +515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO +xwy8p2Fp8fc74SrL+SvzZpA3 +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden +# Label: "Staat der Nederlanden Root CA - G3" +# Serial: 10003001 +# MD5 Fingerprint: 0b:46:67:07:db:10:2f:19:8c:35:50:60:d1:0b:f4:37 +# SHA1 Fingerprint: d8:eb:6b:41:51:92:59:e0:f3:e7:85:00:c0:3d:b6:88:97:c9:ee:fc +# SHA256 Fingerprint: 3c:4f:b0:b9:5a:b8:b3:00:32:f4:32:b8:6f:53:5f:e1:72:c1:85:d0:fd:39:86:58:37:cf:36:18:7f:a6:f4:28 +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloX +DTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl +ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv +b3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4yolQP +cPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WW +IkYFsO2tx1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqX +xz8ecAgwoNzFs21v0IJyEavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFy +KJLZWyNtZrVtB0LrpjPOktvA9mxjeM3KTj215VKb8b475lRgsGYeCasH/lSJEULR +9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUurmkVLoR9BvUhTFXFkC4az +5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU51nus6+N8 +6U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7 +Ngzp07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHP +bMk7ccHViLVlvMDoFxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXt +BznaqB16nzaeErAMZRKQFWDZJkBE41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTt +XUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMBAAGjQjBAMA8GA1UdEwEB/wQF +MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleuyjWcLhL75Lpd +INyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD +U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwp +LiniyMMB8jPqKqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8 +Ipf3YF3qKS9Ysr1YvY2WTxB1v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixp +gZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA8KCWAg8zxXHzniN9lLf9OtMJgwYh +/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b8KKaa8MFSu1BYBQw +0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0rmj1A +fsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq +4BZ+Extq1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR +1VmiiXTTn74eS9fGbbeIJG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/ +QFH1T/U67cjF68IeHRaVesd+QnGTbksVtzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM +94B7IWcnMFk= +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden +# Label: "Staat der Nederlanden EV Root CA" +# Serial: 10000013 +# MD5 Fingerprint: fc:06:af:7b:e8:1a:f1:9a:b4:e8:d2:70:1f:c0:f5:ba +# SHA1 Fingerprint: 76:e2:7e:c1:4f:db:82:c1:c0:a6:75:b5:05:be:3d:29:b4:ed:db:bb +# SHA256 Fingerprint: 4d:24:91:41:4c:fe:95:67:46:ec:4c:ef:a6:cf:6f:72:e2:8a:13:29:43:2f:9d:8a:90:7a:c4:cb:5d:ad:c1:5a +-----BEGIN CERTIFICATE----- +MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gRVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0y +MjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIg +TmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRlcmxhbmRlbiBFViBS +b290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkkSzrS +M4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nC +UiY4iKTWO0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3d +Z//BYY1jTw+bbRcwJu+r0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46p +rfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13l +pJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gVXJrm0w912fxBmJc+qiXb +j5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr08C+eKxC +KFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS +/ZbV0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0X +cgOPvZuM5l5Tnrmd74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH +1vI4gnPah1vlPNOePqc7nvQDs/nxfRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrP +px9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwaivsnuL8wbqg7 +MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI +eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u +2dfOWBfoqSmuc0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHS +v4ilf0X8rLiltTMMgsT7B/Zq5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTC +wPTxGfARKbalGAKb12NMcIxHowNDXLldRqANb/9Zjr7dn3LDWyvfjFvO5QxGbJKy +CqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tNf1zuacpzEPuKqf2e +vTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi5Dp6 +Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIa +Gl6I6lD4WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeL +eG9QgkRQP2YGiqtDhFZKDyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8 +FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGyeUN51q1veieQA6TqJIc/2b3Z6fJfUEkc +7uzXLg== +-----END CERTIFICATE----- + +# Issuer: CN=IdenTrust Commercial Root CA 1 O=IdenTrust +# Subject: CN=IdenTrust Commercial Root CA 1 O=IdenTrust +# Label: "IdenTrust Commercial Root CA 1" +# Serial: 13298821034946342390520003877796839426 +# MD5 Fingerprint: b3:3e:77:73:75:ee:a0:d3:e3:7e:49:63:49:59:bb:c7 +# SHA1 Fingerprint: df:71:7e:aa:4a:d9:4e:c9:55:84:99:60:2d:48:de:5f:bc:f0:3a:25 +# SHA256 Fingerprint: 5d:56:49:9b:e4:d2:e0:8b:cf:ca:d0:8a:3e:38:72:3d:50:50:3b:de:70:69:48:e4:2f:55:60:30:19:e5:28:ae +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu +VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw +MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw +JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT +3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU ++ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp +S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1 +bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi +T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL +vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK +Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK +dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT +c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv +l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N +iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD +ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH +6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt +LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93 +nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3 ++wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK +W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT +AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq +l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG +4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ +mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A +7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H +-----END CERTIFICATE----- + +# Issuer: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust +# Subject: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust +# Label: "IdenTrust Public Sector Root CA 1" +# Serial: 13298821034946342390521976156843933698 +# MD5 Fingerprint: 37:06:a5:b0:fc:89:9d:ba:f4:6b:8c:1a:64:cd:d5:ba +# SHA1 Fingerprint: ba:29:41:60:77:98:3f:f4:f3:ef:f2:31:05:3b:2e:ea:6d:4d:45:fd +# SHA256 Fingerprint: 30:d0:89:5a:9a:44:8a:26:20:91:63:55:22:d1:f5:20:10:b5:86:7a:ca:e1:2c:78:ef:95:8f:d4:f4:38:9f:2f +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu +VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN +MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0 +MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7 +ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy +RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS +bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF +/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R +3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw +EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy +9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V +GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ +2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV +WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD +W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN +AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj +t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV +DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9 +TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G +lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW +mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df +WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5 ++bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ +tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA +GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv +8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only +# Subject: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only +# Label: "Entrust Root Certification Authority - G2" +# Serial: 1246989352 +# MD5 Fingerprint: 4b:e2:c9:91:96:65:0c:f4:0e:5a:93:92:a0:0a:fe:b2 +# SHA1 Fingerprint: 8c:f4:27:fd:79:0c:3a:d1:66:06:8d:e8:1e:57:ef:bb:93:22:72:d4 +# SHA256 Fingerprint: 43:df:57:74:b0:3e:7f:ef:5f:e4:0d:93:1a:7b:ed:f1:bb:2e:6b:42:73:8c:4e:6d:38:41:10:3d:3a:a7:f3:39 +-----BEGIN CERTIFICATE----- +MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 +cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs +IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz +dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy +NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu +dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt +dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 +aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T +RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN +cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW +wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1 +U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0 +jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN +BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/ +jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ +Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v +1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R +nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH +VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g== +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only +# Subject: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only +# Label: "Entrust Root Certification Authority - EC1" +# Serial: 51543124481930649114116133369 +# MD5 Fingerprint: b6:7e:1d:f0:58:c5:49:6c:24:3b:3d:ed:98:18:ed:bc +# SHA1 Fingerprint: 20:d8:06:40:df:9b:25:f5:12:25:3a:11:ea:f7:59:8a:eb:14:b5:47 +# SHA256 Fingerprint: 02:ed:0e:b2:8c:14:da:45:16:5c:56:67:91:70:0d:64:51:d7:fb:56:f0:b2:ab:1d:3b:8e:b0:70:e5:6e:df:f5 +-----BEGIN CERTIFICATE----- +MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG +A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3 +d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu +dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq +RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy +MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD +VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 +L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g +Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi +A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt +ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH +Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O +BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC +R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX +hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G +-----END CERTIFICATE----- + +# Issuer: CN=CFCA EV ROOT O=China Financial Certification Authority +# Subject: CN=CFCA EV ROOT O=China Financial Certification Authority +# Label: "CFCA EV ROOT" +# Serial: 407555286 +# MD5 Fingerprint: 74:e1:b6:ed:26:7a:7a:44:30:33:94:ab:7b:27:81:30 +# SHA1 Fingerprint: e2:b8:29:4b:55:84:ab:6b:58:c2:90:46:6c:ac:3f:b8:39:8f:84:83 +# SHA256 Fingerprint: 5c:c3:d7:8e:4e:1d:5e:45:54:7a:04:e6:87:3e:64:f9:0c:f9:53:6d:1c:cc:2e:f8:00:f3:55:c4:c5:fd:70:fd +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD +TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y +aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx +MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j +aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP +T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03 +sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL +TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5 +/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp +7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz +EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt +hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP +a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot +aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg +TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV +PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv +cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL +tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd +BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB +ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT +ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL +jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS +ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy +P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19 +xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d +Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN +5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe +/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z +AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ +5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su +-----END CERTIFICATE----- + +# Issuer: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 +# Subject: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 +# Label: "Certinomis - Root CA" +# Serial: 1 +# MD5 Fingerprint: 14:0a:fd:8d:a8:28:b5:38:69:db:56:7e:61:22:03:3f +# SHA1 Fingerprint: 9d:70:bb:01:a5:a4:a0:18:11:2e:f7:1c:01:b9:32:c5:34:e7:88:a8 +# SHA256 Fingerprint: 2a:99:f5:bc:11:74:b7:3c:bb:1d:62:08:84:e0:1c:34:e5:1c:cb:39:78:da:12:5f:0e:33:26:88:83:bf:41:58 +-----BEGIN CERTIFICATE----- +MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjET +MBEGA1UEChMKQ2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAb +BgNVBAMTFENlcnRpbm9taXMgLSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMz +MTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMx +FzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRDZXJ0aW5vbWlzIC0g +Um9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQosP5L2 +fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJfl +LieY6pOod5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQV +WZUKxkd8aRi5pwP5ynapz8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDF +TKWrteoB4owuZH9kb/2jJZOLyKIOSY008B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb +5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09xRLWtwHkziOC/7aOgFLSc +CbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE6OXWk6Ri +wsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJ +wx3tFvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SG +m/lg0h9tkQPTYKbVPZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4 +F2iw4lNVYC2vPsKD2NkJK/DAZNuHi5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZng +WVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I6tNxIqSSaHh0 +2TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF +AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/ +0KGRHCwPT5iVWVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWw +F6YSjNRieOpWauwK0kDDPAUwPk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZS +g081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAXlCOotQqSD7J6wWAsOMwaplv/8gzj +qh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJy29SWwNyhlCVCNSN +h4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9Iff/ +ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8V +btaw5BngDwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwj +Y/M50n92Uaf0yKHxDHYiI0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ +8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nMcyrDflOR1m749fPH0FFNjkulW+YZFzvW +gQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVrhkIGuUE= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GB CA" +# Serial: 157768595616588414422159278966750757568 +# MD5 Fingerprint: a4:eb:b9:61:28:2e:b7:2f:98:b0:35:26:90:99:51:1d +# SHA1 Fingerprint: 0f:f9:40:76:18:d3:d7:6a:4b:98:f0:a8:35:9e:0c:fd:27:ac:cc:ed +# SHA256 Fingerprint: 6b:9c:08:e8:6e:b0:f7:67:cf:ad:65:cd:98:b6:21:49:e5:49:4a:67:f5:84:5e:7b:d1:ed:01:9f:27:b8:6b:d6 +-----BEGIN CERTIFICATE----- +MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt +MQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg +Rm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i +YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x +CzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG +b3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh +bCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3 +HEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx +WuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX +1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk +u7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P +99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r +M2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB +BAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh +cViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5 +gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO +ZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf +aPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic +Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= +-----END CERTIFICATE----- + +# Issuer: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. +# Subject: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. +# Label: "SZAFIR ROOT CA2" +# Serial: 357043034767186914217277344587386743377558296292 +# MD5 Fingerprint: 11:64:c1:89:b0:24:b1:8c:b1:07:7e:89:9e:51:9e:99 +# SHA1 Fingerprint: e2:52:fa:95:3f:ed:db:24:60:bd:6e:28:f3:9c:cc:cf:5e:b3:3f:de +# SHA256 Fingerprint: a1:33:9d:33:28:1a:0b:56:e5:57:d3:d3:2b:1c:e7:f9:36:7e:b0:94:bd:5f:a7:2a:7e:50:04:c8:de:d7:ca:fe +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL +BQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6 +ZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw +NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L +cmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg +Uk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN +QLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT +3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw +3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6 +3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5 +BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN +XGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD +AgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF +AAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw +8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG +nXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP +oky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy +d05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg +LvWpCz/UXeHPhJ/iGcJfitYgHuNztw== +-----END CERTIFICATE----- + +# Issuer: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Subject: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Label: "Certum Trusted Network CA 2" +# Serial: 44979900017204383099463764357512596969 +# MD5 Fingerprint: 6d:46:9e:d9:25:6d:08:23:5b:5e:74:7d:1e:27:db:f2 +# SHA1 Fingerprint: d3:dd:48:3e:2b:bf:4c:05:e8:af:10:f5:fa:76:26:cf:d3:dc:30:92 +# SHA256 Fingerprint: b6:76:f2:ed:da:e8:77:5c:d3:6c:b0:f6:3c:d1:d4:60:39:61:f4:9e:62:65:ba:01:3a:2f:03:07:b6:d0:b8:04 +-----BEGIN CERTIFICATE----- +MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB +gDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu +QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG +A1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz +OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ +VW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3 +b3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA +DGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn +0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB +OJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE +fktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E +Sv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m +o130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i +sx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW +OZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez +Tv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS +adgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n +3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ +F/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf +CVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29 +XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm +djWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/ +WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb +AoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq +P/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko +b7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj +XALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P +5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi +DrW5viSP +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions RootCA 2015" +# Serial: 0 +# MD5 Fingerprint: ca:ff:e2:db:03:d9:cb:4b:e9:0f:ad:84:fd:7b:18:ce +# SHA1 Fingerprint: 01:0c:06:95:a6:98:19:14:ff:bf:5f:c6:b0:b6:95:ea:29:e9:12:a6 +# SHA256 Fingerprint: a0:40:92:9a:02:ce:53:b4:ac:f4:f2:ff:c6:98:1c:e4:49:6f:75:5e:6d:45:fe:0b:2a:69:2b:cd:52:52:3f:36 +-----BEGIN CERTIFICATE----- +MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix +DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k +IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT +N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v +dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG +A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh +ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx +QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 +dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA +4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0 +AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10 +4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C +ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV +9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD +gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6 +Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq +NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko +LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc +Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd +ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I +XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI +M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot +9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V +Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea +j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh +X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ +l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf +bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4 +pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK +e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0 +vm9qp/UsQu0yrbYhnr68 +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions ECC RootCA 2015" +# Serial: 0 +# MD5 Fingerprint: 81:e5:b4:17:eb:c2:f5:e1:4b:0d:41:7b:49:92:fe:ef +# SHA1 Fingerprint: 9f:f1:71:8d:92:d5:9a:f3:7d:74:97:b4:bc:6f:84:68:0b:ba:b6:66 +# SHA256 Fingerprint: 44:b5:45:aa:8a:25:e6:5a:73:ca:15:dc:27:fc:36:d2:4c:1c:b9:95:3a:06:65:39:b1:15:82:dc:48:7b:48:33 +-----BEGIN CERTIFICATE----- +MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN +BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl +c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl +bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv +b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ +BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj +YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5 +MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0 +dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg +QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa +jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi +C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep +lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof +TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR +-----END CERTIFICATE----- + +# Issuer: CN=ISRG Root X1 O=Internet Security Research Group +# Subject: CN=ISRG Root X1 O=Internet Security Research Group +# Label: "ISRG Root X1" +# Serial: 172886928669790476064670243504169061120 +# MD5 Fingerprint: 0c:d2:f9:e0:da:17:73:e9:ed:86:4d:a5:e3:70:e7:4e +# SHA1 Fingerprint: ca:bd:2a:79:a1:07:6a:31:f2:1d:25:36:35:cb:03:9d:43:29:a5:e8 +# SHA256 Fingerprint: 96:bc:ec:06:26:49:76:f3:74:60:77:9a:cf:28:c5:a7:cf:e8:a3:c0:aa:e1:1a:8f:fc:ee:05:c0:bd:df:08:c6 +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw +TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh +cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 +WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu +ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc +h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ +0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U +A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW +T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH +B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC +B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv +KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn +OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn +jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw +qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI +rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq +hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ +3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK +NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 +ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur +TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC +jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc +oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq +4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA +mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d +emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- + +# Issuer: O=FNMT-RCM OU=AC RAIZ FNMT-RCM +# Subject: O=FNMT-RCM OU=AC RAIZ FNMT-RCM +# Label: "AC RAIZ FNMT-RCM" +# Serial: 485876308206448804701554682760554759 +# MD5 Fingerprint: e2:09:04:b4:d3:bd:d1:a0:14:fd:1a:d2:47:c4:57:1d +# SHA1 Fingerprint: ec:50:35:07:b2:15:c4:95:62:19:e2:a8:9a:5b:42:99:2c:4c:2c:20 +# SHA256 Fingerprint: eb:c5:57:0c:29:01:8c:4d:67:b1:aa:12:7b:af:12:f7:03:b4:61:1e:bc:17:b7:da:b5:57:38:94:17:9b:93:fa +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsx +CzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJ +WiBGTk1ULVJDTTAeFw0wODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJ +BgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBG +Tk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALpxgHpMhm5/ +yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcfqQgf +BBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAz +WHFctPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxF +tBDXaEAUwED653cXeuYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z +374jNUUeAlz+taibmSXaXvMiwzn15Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdIC +IfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mwWsXmo8RZZUc1g16p6DUL +mbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnTtOmlcYF7 +wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS +MKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2 +ZSysV4999AeU14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMet +UqIJ5G+GR4of6ygnXYMgrwTJbFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPd9xf3E6Jobd2Sn9R2gzL+H +YJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3 +LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD +nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1 +RXxlDPiyN8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYM +LVN0V2Ue1bLdI4E7pWYjJ2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf +77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2N +JpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW+YJF1DngoABd15jm +fZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7Ixjp +6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp +1txyM/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B +9kiABdcPUXmsEKvU7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wok +RqEIr9baRRmW1FMdW4R58MD3R++Lj8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYv +uu8wd+RU4riEmViAqhOLUTpPSPaLtrM= +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 1 O=Amazon +# Subject: CN=Amazon Root CA 1 O=Amazon +# Label: "Amazon Root CA 1" +# Serial: 143266978916655856878034712317230054538369994 +# MD5 Fingerprint: 43:c6:bf:ae:ec:fe:ad:2f:18:c6:88:68:30:fc:c8:e6 +# SHA1 Fingerprint: 8d:a7:f9:65:ec:5e:fc:37:91:0f:1c:6e:59:fd:c1:cc:6a:6e:de:16 +# SHA256 Fingerprint: 8e:cd:e6:88:4f:3d:87:b1:12:5b:a3:1a:c3:fc:b1:3d:70:16:de:7f:57:cc:90:4f:e1:cb:97:c6:ae:98:19:6e +-----BEGIN CERTIFICATE----- +MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj +ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM +9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw +IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 +VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L +93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm +jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA +A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI +U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs +N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv +o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU +5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy +rqXRfboQnoZsG4q5WTP468SQvvG5 +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 2 O=Amazon +# Subject: CN=Amazon Root CA 2 O=Amazon +# Label: "Amazon Root CA 2" +# Serial: 143266982885963551818349160658925006970653239 +# MD5 Fingerprint: c8:e5:8d:ce:a8:42:e2:7a:c0:2a:5c:7c:9e:26:bf:66 +# SHA1 Fingerprint: 5a:8c:ef:45:d7:a6:98:59:76:7a:8c:8b:44:96:b5:78:cf:47:4b:1a +# SHA256 Fingerprint: 1b:a5:b2:aa:8c:65:40:1a:82:96:01:18:f8:0b:ec:4f:62:30:4d:83:ce:c4:71:3a:19:c3:9c:01:1e:a4:6d:b4 +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK +gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ +W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg +1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K +8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r +2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me +z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR +8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj +mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz +7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6 ++XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI +0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB +Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm +UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2 +LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY ++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS +k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl +7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm +btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl +urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+ +fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63 +n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE +76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H +9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT +4PsJYGw= +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 3 O=Amazon +# Subject: CN=Amazon Root CA 3 O=Amazon +# Label: "Amazon Root CA 3" +# Serial: 143266986699090766294700635381230934788665930 +# MD5 Fingerprint: a0:d4:ef:0b:f7:b5:d8:49:95:2a:ec:f5:c4:fc:81:87 +# SHA1 Fingerprint: 0d:44:dd:8c:3c:8c:1a:1a:58:75:64:81:e9:0f:2e:2a:ff:b3:d2:6e +# SHA256 Fingerprint: 18:ce:6c:fe:7b:f1:4e:60:b2:e3:47:b8:df:e8:68:cb:31:d0:2e:bb:3a:da:27:15:69:f5:03:43:b4:6d:b3:a4 +-----BEGIN CERTIFICATE----- +MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl +ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr +ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr +BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM +YyRIHN8wfdVoOw== +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 4 O=Amazon +# Subject: CN=Amazon Root CA 4 O=Amazon +# Label: "Amazon Root CA 4" +# Serial: 143266989758080763974105200630763877849284878 +# MD5 Fingerprint: 89:bc:27:d5:eb:17:8d:06:6a:69:d5:fd:89:47:b4:cd +# SHA1 Fingerprint: f6:10:84:07:d6:f8:bb:67:98:0c:c2:e2:44:c2:eb:ae:1c:ef:63:be +# SHA256 Fingerprint: e3:5d:28:41:9e:d0:20:25:cf:a6:90:38:cd:62:39:62:45:8d:a5:c6:95:fb:de:a3:c2:2b:0b:fb:25:89:70:92 +-----BEGIN CERTIFICATE----- +MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi +9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk +M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB +MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw +CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW +1KyLa2tJElMzrdfkviT8tQp21KW8EA== +-----END CERTIFICATE----- + +# Issuer: CN=LuxTrust Global Root 2 O=LuxTrust S.A. +# Subject: CN=LuxTrust Global Root 2 O=LuxTrust S.A. +# Label: "LuxTrust Global Root 2" +# Serial: 59914338225734147123941058376788110305822489521 +# MD5 Fingerprint: b2:e1:09:00:61:af:f7:f1:91:6f:c4:ad:8d:5e:3b:7c +# SHA1 Fingerprint: 1e:0e:56:19:0a:d1:8b:25:98:b2:04:44:ff:66:8a:04:17:99:5f:3f +# SHA256 Fingerprint: 54:45:5f:71:29:c2:0b:14:47:c4:18:f9:97:16:8f:24:c5:8f:c5:02:3b:f5:da:5b:e2:eb:6e:1d:d8:90:2e:d5 +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM +# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM +# Label: "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" +# Serial: 1 +# MD5 Fingerprint: dc:00:81:dc:69:2f:3e:2f:b0:3b:f6:3d:5a:91:8e:49 +# SHA1 Fingerprint: 31:43:64:9b:ec:ce:27:ec:ed:3a:3f:0b:8f:0d:e4:e8:91:dd:ee:ca +# SHA256 Fingerprint: 46:ed:c3:68:90:46:d5:3a:45:3f:b3:10:4a:b8:0d:ca:ec:65:8b:26:60:ea:16:29:dd:7e:86:79:90:64:87:16 +-----BEGIN CERTIFICATE----- +MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx +GDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp +bXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w +KwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0 +BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy +dW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG +EwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll +IEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU +QUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT +TTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg +LSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7 +a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr +LqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr +N3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X +YacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/ +iSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f +AJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH +V8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL +BQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh +AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf +IPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4 +lzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c +8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf +lo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= +-----END CERTIFICATE----- + +# Issuer: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. +# Subject: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. +# Label: "GDCA TrustAUTH R5 ROOT" +# Serial: 9009899650740120186 +# MD5 Fingerprint: 63:cc:d9:3d:34:35:5c:6f:53:a3:e2:08:70:48:1f:b4 +# SHA1 Fingerprint: 0f:36:38:5b:81:1a:25:c3:9b:31:4e:83:ca:e9:34:66:70:cc:74:b4 +# SHA256 Fingerprint: bf:ff:8f:d0:44:33:48:7d:6a:8a:a6:0c:1a:29:76:7a:9f:c2:bb:b0:5e:42:0f:71:3a:13:b9:92:89:1d:38:93 +-----BEGIN CERTIFICATE----- +MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE +BhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ +IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0 +MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV +BAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w +HQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj +Dp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj +TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u +KU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj +qcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm +MUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12 +ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP +zgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk +L30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC +jGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA +HQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC +AwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg +p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm +DRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5 +COmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry +L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf +JWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg +IHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io +2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV +09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ +XR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq +T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe +MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor RootCert CA-1" +# Serial: 15752444095811006489 +# MD5 Fingerprint: 6e:85:f1:dc:1a:00:d3:22:d5:b2:b2:ac:6b:37:05:45 +# SHA1 Fingerprint: ff:bd:cd:e7:82:c8:43:5e:3c:6f:26:86:5c:ca:a8:3a:45:5b:c3:0a +# SHA256 Fingerprint: d4:0e:9c:86:cd:8f:e4:68:c1:77:69:59:f4:9e:a7:74:fa:54:86:84:b6:c4:06:f3:90:92:61:f4:dc:e2:57:5c +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYD +VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk +MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U +cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29y +IFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkxMjMxMTcyMzE2WjCB +pDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFuYW1h +IENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUG +A1UECwweVHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZU +cnVzdENvciBSb290Q2VydCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAv463leLCJhJrMxnHQFgKq1mqjQCj/IDHUHuO1CAmujIS2CNUSSUQIpid +RtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4pQa81QBeCQryJ3pS/C3V +seq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0JEsq1pme +9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CV +EY4hgLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorW +hnAbJN7+KIor0Gqw/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/ +DeOxCbeKyKsZn3MzUOcwHwYDVR0jBBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcw +DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD +ggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5mDo4Nvu7Zp5I +/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf +ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZ +yonnMlo2HD6CqFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djts +L1Ac59v2Z3kf9YKVmgenFK+P3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdN +zl/HHk484IkzlQsPpTLWPFp5LBk= +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor RootCert CA-2" +# Serial: 2711694510199101698 +# MD5 Fingerprint: a2:e1:f8:18:0b:ba:45:d5:c7:41:2a:bb:37:52:45:64 +# SHA1 Fingerprint: b8:be:6d:cb:56:f1:55:b9:63:d4:12:ca:4e:06:34:c7:94:b2:1c:c0 +# SHA256 Fingerprint: 07:53:e9:40:37:8c:1b:d5:e3:83:6e:39:5d:ae:a5:cb:83:9e:50:46:f1:bd:0e:ae:19:51:cf:10:fe:c7:c9:65 +-----BEGIN CERTIFICATE----- +MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNV +BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw +IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy +dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEfMB0GA1UEAwwWVHJ1c3RDb3Ig +Um9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEyMzExNzI2MzlaMIGk +MQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEg +Q2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYD +VQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRy +dXN0Q29yIFJvb3RDZXJ0IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCnIG7CKqJiJJWQdsg4foDSq8GbZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+ +QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9NkRvRUqdw6VC0xK5mC8tkq +1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1oYxOdqHp +2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nK +DOObXUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hape +az6LMvYHL1cEksr1/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF +3wP+TfSvPd9cW436cOGlfifHhi5qjxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88 +oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQPeSghYA2FFn3XVDjxklb9tTNM +g9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+CtgrKAmrhQhJ8Z3 +mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh +8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAd +BgNVHQ4EFgQU2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6U +nrybPZx9mCAZ5YwwYrIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYw +DQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/hOsh80QA9z+LqBrWyOrsGS2h60COX +dKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnpkpfbsEZC89NiqpX+ +MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv2wnL +/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RX +CI/hOWB3S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYa +ZH9bDTMJBzN7Bj8RpFxwPIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW +2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dvDDqPys/cA8GiCcjl/YBeyGBCARsaU1q7 +N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYURpFHmygk71dSTlxCnKr3 +Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANExdqtvArB +As8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp +5KeXRKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu +1uwJ +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor ECA-1" +# Serial: 9548242946988625984 +# MD5 Fingerprint: 27:92:23:1d:0a:f5:40:7c:e9:e6:6b:9d:d8:f5:e7:6c +# SHA1 Fingerprint: 58:d1:df:95:95:67:6b:63:c0:f0:5b:1c:17:4d:8b:84:0b:c8:78:bd +# SHA256 Fingerprint: 5a:88:5d:b1:9c:01:d9:12:c5:75:93:88:93:8c:af:bb:df:03:1a:b2:d4:8e:91:ee:15:58:9b:42:97:1d:03:9c +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYD +VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk +MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U +cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxFzAVBgNVBAMMDlRydXN0Q29y +IEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3MjgwN1owgZwxCzAJBgNV +BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw +IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy +dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3Ig +RUNBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb +3w9U73NjKYKtR8aja+3+XzP4Q1HpGjORMRegdMTUpwHmspI+ap3tDvl0mEDTPwOA +BoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23xFUfJ3zSCNV2HykVh0A5 +3ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmcp0yJF4Ou +owReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/ +wZ0+fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZF +ZtS6mFjBAgMBAAGjYzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAf +BgNVHSMEGDAWgBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/ +MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEABT41XBVwm8nHc2Fv +civUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u/ukZMjgDfxT2 +AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F +hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50 +soIipX1TH0XsJ5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BI +WJZpTdwHjFGTot+fDz2LYLSCjaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1Wi +tJ/X5g== +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com Root Certification Authority RSA O=SSL Corporation +# Subject: CN=SSL.com Root Certification Authority RSA O=SSL Corporation +# Label: "SSL.com Root Certification Authority RSA" +# Serial: 8875640296558310041 +# MD5 Fingerprint: 86:69:12:c0:70:f1:ec:ac:ac:c2:d5:bc:a5:5b:a1:29 +# SHA1 Fingerprint: b7:ab:33:08:d1:ea:44:77:ba:14:80:12:5a:6f:bd:a9:36:49:0c:bb +# SHA256 Fingerprint: 85:66:6a:56:2e:e0:be:5c:e9:25:c1:d8:89:0a:6f:76:a8:7e:c1:6d:4d:7d:5f:29:ea:74:19:cf:20:12:3b:69 +-----BEGIN CERTIFICATE----- +MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE +BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK +DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz +OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv +dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv +bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R +xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX +qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC +C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3 +6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh +/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF +YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E +JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc +US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8 +ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm ++Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi +M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G +A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV +cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc +Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs +PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/ +q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0 +cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr +a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I +H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y +K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu +nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf +oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY +Ic2wBlX7Jz9TkHCpBB5XJ7k= +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com Root Certification Authority ECC O=SSL Corporation +# Subject: CN=SSL.com Root Certification Authority ECC O=SSL Corporation +# Label: "SSL.com Root Certification Authority ECC" +# Serial: 8495723813297216424 +# MD5 Fingerprint: 2e:da:e4:39:7f:9c:8f:37:d1:70:9f:26:17:51:3a:8e +# SHA1 Fingerprint: c3:19:7c:39:24:e6:54:af:1b:c4:ab:20:95:7a:e2:c3:0e:13:02:6a +# SHA256 Fingerprint: 34:17:bb:06:cc:60:07:da:1b:96:1c:92:0b:8a:b4:ce:3f:ad:82:0e:4a:a3:0b:9a:cb:c4:a7:4e:bd:ce:bc:65 +-----BEGIN CERTIFICATE----- +MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC +VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T +U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz +WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0 +b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS +b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB +BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI +7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg +CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud +EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD +VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T +kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+ +gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation +# Subject: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation +# Label: "SSL.com EV Root Certification Authority RSA R2" +# Serial: 6248227494352943350 +# MD5 Fingerprint: e1:1e:31:58:1a:ae:54:53:02:f6:17:6a:11:7b:4d:95 +# SHA1 Fingerprint: 74:3a:f0:52:9b:d0:32:a0:f4:4a:83:cd:d4:ba:a9:7b:7c:2e:c4:9a +# SHA256 Fingerprint: 2e:7b:f1:6c:c2:24:85:a7:bb:e2:aa:86:96:75:07:61:b0:ae:39:be:3b:2f:e9:d0:cc:6d:4e:f7:34:91:42:5c +-----BEGIN CERTIFICATE----- +MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV +BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE +CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy +MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G +A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD +DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq +M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf +OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa +4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9 +HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR +aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA +b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ +Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV +PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO +pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu +UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY +MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV +HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4 +9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW +s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5 +Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg +cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM +79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz +/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt +ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm +Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK +QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ +w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi +S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07 +mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation +# Subject: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation +# Label: "SSL.com EV Root Certification Authority ECC" +# Serial: 3182246526754555285 +# MD5 Fingerprint: 59:53:22:65:83:42:01:54:c0:ce:42:b9:5a:7c:f2:90 +# SHA1 Fingerprint: 4c:dd:51:a3:d1:f5:20:32:14:b0:c6:c5:32:23:03:91:c7:46:42:6d +# SHA256 Fingerprint: 22:a2:c1:f7:bd:ed:70:4c:c1:e7:01:b5:f4:08:c3:10:88:0f:e9:56:b5:de:2a:4a:44:f9:9c:87:3a:25:a7:c8 +-----BEGIN CERTIFICATE----- +MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC +VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T +U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx +NTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv +dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv +bSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49 +AgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA +VIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku +WnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP +MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX +5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ +ytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg +h5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 +# Label: "GlobalSign Root CA - R6" +# Serial: 1417766617973444989252670301619537 +# MD5 Fingerprint: 4f:dd:07:e4:d4:22:64:39:1e:0c:37:42:ea:d1:c6:ae +# SHA1 Fingerprint: 80:94:64:0e:b5:a7:a1:ca:11:9c:1f:dd:d5:9f:81:02:63:a7:fb:d1 +# SHA256 Fingerprint: 2c:ab:ea:fe:37:d0:6c:a2:2a:ba:73:91:c0:03:3d:25:98:29:52:c4:53:64:73:49:76:3a:3a:b5:ad:6c:cf:69 +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEg +MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2Jh +bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQx +MjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjET +MBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRI +xutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1k +ZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxD +aNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJw +LnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw +1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNX +k7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2 +SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/h +bguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4n +WUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpY +rZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1Bonvzce +MgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSu +bAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN +nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGt +Ixg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr61 +55wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLj +vUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvf +cDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpz +oHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZp +nOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfs +pA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+v +JJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R +8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW4 +5hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GC CA" +# Serial: 44084345621038548146064804565436152554 +# MD5 Fingerprint: a9:d6:b9:2d:2f:93:64:f8:a5:69:ca:91:e9:68:07:23 +# SHA1 Fingerprint: e0:11:84:5e:34:de:be:88:81:b9:9c:f6:16:26:d1:96:1f:c3:b9:31 +# SHA256 Fingerprint: 85:60:f9:1c:36:24:da:ba:95:70:b5:fe:a0:db:e3:6f:f1:1a:83:23:be:94:86:85:4f:b3:f3:4a:55:71:19:8d +-----BEGIN CERTIFICATE----- +MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQsw +CQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91 +bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwg +Um9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRaFw00MjA1MDkwOTU4MzNaMG0xCzAJ +BgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBGb3Vu +ZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2JhbCBS +b290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4ni +eUqjFqdrVCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4W +p2OQ0jnUsYd4XxiWD1AbNTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7T +rYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0EAwMDaAAwZQIwJsdpW9zV +57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtkAjEA2zQg +Mgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9 +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R1 O=Google Trust Services LLC +# Subject: CN=GTS Root R1 O=Google Trust Services LLC +# Label: "GTS Root R1" +# Serial: 146587175971765017618439757810265552097 +# MD5 Fingerprint: 82:1a:ef:d4:d2:4a:f2:9f:e2:3d:97:06:14:70:72:85 +# SHA1 Fingerprint: e1:c9:50:e6:ef:22:f8:4c:56:45:72:8b:92:20:60:d7:d5:a7:a3:e8 +# SHA256 Fingerprint: 2a:57:54:71:e3:13:40:bc:21:58:1c:bd:2c:f1:3e:15:84:63:20:3e:ce:94:bc:f9:d3:cc:19:6b:f0:9a:54:72 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBH +MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM +QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy +MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl +cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaM +f/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vX +mX7wCl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7 +zUjwTcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0P +fyblqAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtc +vfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4 +Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUsp +zBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOO +Rc92wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYW +k70paDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+ +DVrNVjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgF +lQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBADiW +Cu49tJYeX++dnAsznyvgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9FhHb8owbZEKTV1 +d5iyfNm9dKyKaOOpMQkpAWBz40d8U6iQSifvS9efk+eCNs6aaAyC58/UEBZvXw6Z +XPYfcX3v73svfuo21pdwCxXu11xWajOl40k4DLh9+42FpLFZXvRq4d2h9mREruZR +gyFmxhE+885H7pwoHyXa/6xmld01D1zvICxi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3 +d8t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q9bgsiG1eGZbYwE8na6SfZu6W0eX6Dv +J4J2QPim01hcDyxC2kLGe4g0x8HYRZvBPsVhHdljUEn2NIVq4BjFbkerQUIpm/Zg +DdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoOj0dzpqPJeaAcWErtXvM ++SUWgeExX6GjfhaknBZqlxi9dnKlC54dNuYvoS++cJEPqOba+MSSQGwlfnuzCdyy +F62ARPBopY+Udf90WuioAnwMCeKpSwughQtiue+hMZL77/ZRBIls6Kl0obsXs7X9 +SQ98POyDGCBDTtWTurQ0sR8WNh8M5mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzNdws +E3PYJ/HQcu51OyLemGhmW/HGY0dVHLqlCFF1pkgl +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R2 O=Google Trust Services LLC +# Subject: CN=GTS Root R2 O=Google Trust Services LLC +# Label: "GTS Root R2" +# Serial: 146587176055767053814479386953112547951 +# MD5 Fingerprint: 44:ed:9a:0e:a4:09:3b:00:f2:ae:4c:a3:c6:61:b0:8b +# SHA1 Fingerprint: d2:73:96:2a:2a:5e:39:9f:73:3f:e1:c7:1e:64:3f:03:38:34:fc:4d +# SHA256 Fingerprint: c4:5d:7b:b0:8e:6d:67:e6:2e:42:35:11:0b:56:4e:5f:78:fd:92:ef:05:8c:84:0a:ea:4e:64:55:d7:58:5c:60 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQbkepxlqz5yDFMJo/aFLybzANBgkqhkiG9w0BAQwFADBH +MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM +QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy +MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl +cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3Lv +CvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3Kg +GjSY6Dlo7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9Bu +XvAuMC6C/Pq8tBcKSOWIm8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOd +re7kRXuJVfeKH2JShBKzwkCX44ofR5GmdFrS+LFjKBC4swm4VndAoiaYecb+3yXu +PuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7MkogwTZq9TwtImoS1 +mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJGr61K +8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqj +x5RWIr9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsR +nTKaG73VululycslaVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0 +kzCqgc7dGtxRcw1PcOnlthYhGXmy5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9Ok +twIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQADggIBALZp +8KZ3/p7uC4Gt4cCpx/k1HUCCq+YEtN/L9x0Pg/B+E02NjO7jMyLDOfxA325BS0JT +vhaI8dI4XsRomRyYUpOM52jtG2pzegVATX9lO9ZY8c6DR2Dj/5epnGB3GFW1fgiT +z9D2PGcDFWEJ+YF59exTpJ/JjwGLc8R3dtyDovUMSRqodt6Sm2T4syzFJ9MHwAiA +pJiS4wGWAqoC7o87xdFtCjMwc3i5T1QWvwsHoaRc5svJXISPD+AVdyx+Jn7axEvb +pxZ3B7DNdehyQtaVhJ2Gg/LkkM0JR9SLA3DaWsYDQvTtN6LwG1BUSw7YhN4ZKJmB +R64JGz9I0cNv4rBgF/XuIwKl2gBbbZCr7qLpGzvpx0QnRY5rn/WkhLx3+WuXrD5R +RaIRpsyF7gpo8j5QOHokYh4XIDdtak23CZvJ/KRY9bb7nE4Yu5UC56GtmwfuNmsk +0jmGwZODUNKBRqhfYlcsu2xkiAhu7xNUX90txGdj08+JN7+dIPT7eoOboB6BAFDC +5AwiWVIQ7UNWhwD4FFKnHYuTjKJNRn8nxnGbJN7k2oaLDX5rIMHAnuFl2GqjpuiF +izoHCBy69Y9Vmhh1fuXsgWbRIXOhNUQLgD1bnF5vKheW0YMjiGZt5obicDIvUiLn +yOd/xCxgXS/Dr55FBcOEArf9LAhST4Ldo/DUhgkC +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R3 O=Google Trust Services LLC +# Subject: CN=GTS Root R3 O=Google Trust Services LLC +# Label: "GTS Root R3" +# Serial: 146587176140553309517047991083707763997 +# MD5 Fingerprint: 1a:79:5b:6b:04:52:9c:5d:c7:74:33:1b:25:9a:f9:25 +# SHA1 Fingerprint: 30:d4:24:6f:07:ff:db:91:89:8a:0b:e9:49:66:11:eb:8c:5e:46:e5 +# SHA256 Fingerprint: 15:d5:b8:77:46:19:ea:7d:54:ce:1c:a6:d0:b0:c4:03:e0:37:a9:17:f1:31:e8:a0:4e:1e:6b:7a:71:ba:bc:e5 +-----BEGIN CERTIFICATE----- +MIICDDCCAZGgAwIBAgIQbkepx2ypcyRAiQ8DVd2NHTAKBggqhkjOPQQDAzBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw +MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout +736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2A +DDL24CejQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEAgFuk +fCPAlaUs3L6JbyO5o91lAFJekazInXJ0glMLfalAvWhgxeG4VDvBNhcl2MG9AjEA +njWSdIUlUfUk7GRSJFClH9voy8l27OyCbvWFGFPouOOaKaqW04MjyaR7YbPMAuhd +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R4 O=Google Trust Services LLC +# Subject: CN=GTS Root R4 O=Google Trust Services LLC +# Label: "GTS Root R4" +# Serial: 146587176229350439916519468929765261721 +# MD5 Fingerprint: 5d:b6:6a:c4:60:17:24:6a:1a:99:a8:4b:ee:5e:b4:26 +# SHA1 Fingerprint: 2a:1d:60:27:d9:4a:b1:0a:1c:4d:91:5c:cd:33:a0:cb:3e:2d:54:cb +# SHA256 Fingerprint: 71:cc:a5:39:1f:9e:79:4b:04:80:25:30:b3:63:e1:21:da:8a:30:43:bb:26:66:2f:ea:4d:ca:7f:c9:51:a4:bd +-----BEGIN CERTIFICATE----- +MIICCjCCAZGgAwIBAgIQbkepyIuUtui7OyrYorLBmTAKBggqhkjOPQQDAzBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw +MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzu +hXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/l +xKvRHYqjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNnADBkAjBqUFJ0 +CMRw3J5QdCHojXohw0+WbhXRIjVhLfoIN+4Zba3bssx9BzT1YBkstTTZbyACMANx +sbqjYAuG7ZoIapVon+Kz4ZNkfF6Tpt95LY2F45TPI11xzPKwTdb+mciUqXWi4w== +-----END CERTIFICATE----- + +# Issuer: CN=UCA Global G2 Root O=UniTrust +# Subject: CN=UCA Global G2 Root O=UniTrust +# Label: "UCA Global G2 Root" +# Serial: 124779693093741543919145257850076631279 +# MD5 Fingerprint: 80:fe:f0:c4:4a:f0:5c:62:32:9f:1c:ba:78:a9:50:f8 +# SHA1 Fingerprint: 28:f9:78:16:19:7a:ff:18:25:18:aa:44:fe:c1:a0:ce:5c:b6:4c:8a +# SHA256 Fingerprint: 9b:ea:11:c9:76:fe:01:47:64:c1:be:56:a6:f9:14:b5:a5:60:31:7a:bd:99:88:39:33:82:e5:16:1a:a0:49:3c +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9 +MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBH +bG9iYWwgRzIgUm9vdDAeFw0xNjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0x +CzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDEbMBkGA1UEAwwSVUNBIEds +b2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxeYr +b3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmToni9 +kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzm +VHqUwCoV8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/R +VogvGjqNO7uCEeBHANBSh6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDc +C/Vkw85DvG1xudLeJ1uK6NjGruFZfc8oLTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIj +tm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/R+zvWr9LesGtOxdQXGLY +D0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBeKW4bHAyv +j5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6Dl +NaBa4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6 +iIis7nCs+dwp4wwcOxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznP +O6Q0ibd5Ei9Hxeepl2n8pndntd978XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/ +BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIHEjMz15DD/pQwIX4wV +ZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo5sOASD0Ee/oj +L3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 +1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl +1qnN3e92mI0ADs0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oU +b3n09tDh05S60FdRvScFDcH9yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LV +PtateJLbXDzz2K36uGt/xDYotgIVilQsnLAXc47QN6MUPJiVAAwpBVueSUmxX8fj +y88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHojhJi6IjMtX9Gl8Cb +EGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZkbxqg +DMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI ++Vg7RE+xygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGy +YiGqhkCyLmTTX8jjfhFnRR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bX +UB+K+wb1whnw0A== +-----END CERTIFICATE----- + +# Issuer: CN=UCA Extended Validation Root O=UniTrust +# Subject: CN=UCA Extended Validation Root O=UniTrust +# Label: "UCA Extended Validation Root" +# Serial: 106100277556486529736699587978573607008 +# MD5 Fingerprint: a1:f3:5f:43:c6:34:9b:da:bf:8c:7e:05:53:ad:96:e2 +# SHA1 Fingerprint: a3:a1:b0:6f:24:61:23:4a:e3:36:a5:c2:37:fc:a6:ff:dd:f0:d7:3a +# SHA256 Fingerprint: d4:3a:f9:b3:54:73:75:5c:96:84:fc:06:d7:d8:cb:70:ee:5c:28:e7:73:fb:29:4e:b4:1e:e7:17:22:92:4d:24 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBH +MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBF +eHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMx +MDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNV +BAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrsiWog +D4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvS +sPGP2KxFRv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aop +O2z6+I9tTcg1367r3CTueUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dk +sHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR59mzLC52LqGj3n5qiAno8geK+LLNEOfi +c0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH0mK1lTnj8/FtDw5lhIpj +VMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KRel7sFsLz +KuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/ +TuDvB0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41G +sx2VYVdWf6/wFlthWG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs +1+lvK9JKBZP8nm9rZ/+I8U6laUpSNwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQD +fwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS3H5aBZ8eNJr34RQwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBADaN +l8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR +ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQ +VBcZEhrxH9cMaVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5 +c6sq1WnIeJEmMX3ixzDx/BR4dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp +4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb+7lsq+KePRXBOy5nAliRn+/4Qh8s +t2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOWF3sGPjLtx7dCvHaj +2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwiGpWO +vpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2C +xR9GUeOcGMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmx +cmtpzyKEC2IPrNkZAJSidjzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbM +fjKaiJUINlK73nZfdklJrX+9ZSCyycErdhh2n1ax +-----END CERTIFICATE----- + +# Issuer: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 +# Subject: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 +# Label: "Certigna Root CA" +# Serial: 269714418870597844693661054334862075617 +# MD5 Fingerprint: 0e:5c:30:62:27:eb:5b:bc:d7:ae:62:ba:e9:d5:df:77 +# SHA1 Fingerprint: 2d:0d:52:14:ff:9e:ad:99:24:01:74:20:47:6e:6c:85:27:27:f5:43 +# SHA256 Fingerprint: d4:8d:3d:23:ee:db:50:a4:59:e5:51:97:60:1c:27:77:4b:9d:7b:18:c9:4d:5a:05:95:11:a1:02:50:b9:31:68 +-----BEGIN CERTIFICATE----- +MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAw +WjELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAw +MiA0ODE0NjMwODEwMDAzNjEZMBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0x +MzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjdaMFoxCzAJBgNVBAYTAkZSMRIwEAYD +VQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYzMDgxMDAwMzYxGTAX +BgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sO +ty3tRQgXstmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9M +CiBtnyN6tMbaLOQdLNyzKNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPu +I9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8JXrJhFwLrN1CTivngqIkicuQstDuI7pm +TLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16XdG+RCYyKfHx9WzMfgIh +C59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq4NYKpkDf +ePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3Yz +IoejwpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWT +Co/1VTp2lc5ZmIoJlXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1k +JWumIWmbat10TWuXekG9qxf5kBdIjzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5 +hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp//TBt2dzhauH8XwIDAQABo4IB +GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of +1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczov +L3d3d3cuY2VydGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilo +dHRwOi8vY3JsLmNlcnRpZ25hLmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYr +aHR0cDovL2NybC5kaGlteW90aXMuY29tL2NlcnRpZ25hcm9vdGNhLmNybDANBgkq +hkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOItOoldaDgvUSILSo3L +6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxPTGRG +HVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH6 +0BGM+RFq7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncB +lA2c5uk5jR+mUYyZDDl34bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdi +o2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1 +gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS6Cvu5zHbugRqh5jnxV/v +faci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaYtlu3zM63 +Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayh +jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw +3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0= +-----END CERTIFICATE----- diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/core.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/core.py new file mode 100644 index 0000000..2d02ea4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/certifi/core.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +certifi.py +~~~~~~~~~~ + +This module returns the installation location of cacert.pem. +""" +import os + + +def where(): + f = os.path.dirname(__file__) + + return os.path.join(f, 'cacert.pem') + + +if __name__ == '__main__': + print(where()) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__init__.py new file mode 100644 index 0000000..0f9f820 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/__init__.py @@ -0,0 +1,39 @@ +######################## BEGIN LICENSE BLOCK ######################## +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + + +from .compat import PY2, PY3 +from .universaldetector import UniversalDetector +from .version import __version__, VERSION + + +def detect(byte_str): + """ + Detect the encoding of the given byte string. + + :param byte_str: The byte sequence to examine. + :type byte_str: ``bytes`` or ``bytearray`` + """ + if not isinstance(byte_str, bytearray): + if not isinstance(byte_str, bytes): + raise TypeError('Expected object of type bytes or bytearray, got: ' + '{0}'.format(type(byte_str))) + else: + byte_str = bytearray(byte_str) + detector = UniversalDetector() + detector.feed(byte_str) + return detector.close() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5freq.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5freq.py new file mode 100644 index 0000000..38f3251 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5freq.py @@ -0,0 +1,386 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# Big5 frequency table +# by Taiwan's Mandarin Promotion Council +# <http://www.edu.tw:81/mandr/> +# +# 128 --> 0.42261 +# 256 --> 0.57851 +# 512 --> 0.74851 +# 1024 --> 0.89384 +# 2048 --> 0.97583 +# +# Ideal Distribution Ratio = 0.74851/(1-0.74851) =2.98 +# Random Distribution Ration = 512/(5401-512)=0.105 +# +# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR + +BIG5_TYPICAL_DISTRIBUTION_RATIO = 0.75 + +#Char to FreqOrder table +BIG5_TABLE_SIZE = 5376 + +BIG5_CHAR_TO_FREQ_ORDER = ( + 1,1801,1506, 255,1431, 198, 9, 82, 6,5008, 177, 202,3681,1256,2821, 110, # 16 +3814, 33,3274, 261, 76, 44,2114, 16,2946,2187,1176, 659,3971, 26,3451,2653, # 32 +1198,3972,3350,4202, 410,2215, 302, 590, 361,1964, 8, 204, 58,4510,5009,1932, # 48 + 63,5010,5011, 317,1614, 75, 222, 159,4203,2417,1480,5012,3555,3091, 224,2822, # 64 +3682, 3, 10,3973,1471, 29,2787,1135,2866,1940, 873, 130,3275,1123, 312,5013, # 80 +4511,2052, 507, 252, 682,5014, 142,1915, 124, 206,2947, 34,3556,3204, 64, 604, # 96 +5015,2501,1977,1978, 155,1991, 645, 641,1606,5016,3452, 337, 72, 406,5017, 80, # 112 + 630, 238,3205,1509, 263, 939,1092,2654, 756,1440,1094,3453, 449, 69,2987, 591, # 128 + 179,2096, 471, 115,2035,1844, 60, 50,2988, 134, 806,1869, 734,2036,3454, 180, # 144 + 995,1607, 156, 537,2907, 688,5018, 319,1305, 779,2145, 514,2379, 298,4512, 359, # 160 +2502, 90,2716,1338, 663, 11, 906,1099,2553, 20,2441, 182, 532,1716,5019, 732, # 176 +1376,4204,1311,1420,3206, 25,2317,1056, 113, 399, 382,1950, 242,3455,2474, 529, # 192 +3276, 475,1447,3683,5020, 117, 21, 656, 810,1297,2300,2334,3557,5021, 126,4205, # 208 + 706, 456, 150, 613,4513, 71,1118,2037,4206, 145,3092, 85, 835, 486,2115,1246, # 224 +1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,5022,2128,2359, 347,3815, 221, # 240 +3558,3135,5023,1956,1153,4207, 83, 296,1199,3093, 192, 624, 93,5024, 822,1898, # 256 +2823,3136, 795,2065, 991,1554,1542,1592, 27, 43,2867, 859, 139,1456, 860,4514, # 272 + 437, 712,3974, 164,2397,3137, 695, 211,3037,2097, 195,3975,1608,3559,3560,3684, # 288 +3976, 234, 811,2989,2098,3977,2233,1441,3561,1615,2380, 668,2077,1638, 305, 228, # 304 +1664,4515, 467, 415,5025, 262,2099,1593, 239, 108, 300, 200,1033, 512,1247,2078, # 320 +5026,5027,2176,3207,3685,2682, 593, 845,1062,3277, 88,1723,2038,3978,1951, 212, # 336 + 266, 152, 149, 468,1899,4208,4516, 77, 187,5028,3038, 37, 5,2990,5029,3979, # 352 +5030,5031, 39,2524,4517,2908,3208,2079, 55, 148, 74,4518, 545, 483,1474,1029, # 368 +1665, 217,1870,1531,3138,1104,2655,4209, 24, 172,3562, 900,3980,3563,3564,4519, # 384 + 32,1408,2824,1312, 329, 487,2360,2251,2717, 784,2683, 4,3039,3351,1427,1789, # 400 + 188, 109, 499,5032,3686,1717,1790, 888,1217,3040,4520,5033,3565,5034,3352,1520, # 416 +3687,3981, 196,1034, 775,5035,5036, 929,1816, 249, 439, 38,5037,1063,5038, 794, # 432 +3982,1435,2301, 46, 178,3278,2066,5039,2381,5040, 214,1709,4521, 804, 35, 707, # 448 + 324,3688,1601,2554, 140, 459,4210,5041,5042,1365, 839, 272, 978,2262,2580,3456, # 464 +2129,1363,3689,1423, 697, 100,3094, 48, 70,1231, 495,3139,2196,5043,1294,5044, # 480 +2080, 462, 586,1042,3279, 853, 256, 988, 185,2382,3457,1698, 434,1084,5045,3458, # 496 + 314,2625,2788,4522,2335,2336, 569,2285, 637,1817,2525, 757,1162,1879,1616,3459, # 512 + 287,1577,2116, 768,4523,1671,2868,3566,2526,1321,3816, 909,2418,5046,4211, 933, # 528 +3817,4212,2053,2361,1222,4524, 765,2419,1322, 786,4525,5047,1920,1462,1677,2909, # 544 +1699,5048,4526,1424,2442,3140,3690,2600,3353,1775,1941,3460,3983,4213, 309,1369, # 560 +1130,2825, 364,2234,1653,1299,3984,3567,3985,3986,2656, 525,1085,3041, 902,2001, # 576 +1475, 964,4527, 421,1845,1415,1057,2286, 940,1364,3141, 376,4528,4529,1381, 7, # 592 +2527, 983,2383, 336,1710,2684,1846, 321,3461, 559,1131,3042,2752,1809,1132,1313, # 608 + 265,1481,1858,5049, 352,1203,2826,3280, 167,1089, 420,2827, 776, 792,1724,3568, # 624 +4214,2443,3281,5050,4215,5051, 446, 229, 333,2753, 901,3818,1200,1557,4530,2657, # 640 +1921, 395,2754,2685,3819,4216,1836, 125, 916,3209,2626,4531,5052,5053,3820,5054, # 656 +5055,5056,4532,3142,3691,1133,2555,1757,3462,1510,2318,1409,3569,5057,2146, 438, # 672 +2601,2910,2384,3354,1068, 958,3043, 461, 311,2869,2686,4217,1916,3210,4218,1979, # 688 + 383, 750,2755,2627,4219, 274, 539, 385,1278,1442,5058,1154,1965, 384, 561, 210, # 704 + 98,1295,2556,3570,5059,1711,2420,1482,3463,3987,2911,1257, 129,5060,3821, 642, # 720 + 523,2789,2790,2658,5061, 141,2235,1333, 68, 176, 441, 876, 907,4220, 603,2602, # 736 + 710, 171,3464, 404, 549, 18,3143,2398,1410,3692,1666,5062,3571,4533,2912,4534, # 752 +5063,2991, 368,5064, 146, 366, 99, 871,3693,1543, 748, 807,1586,1185, 22,2263, # 768 + 379,3822,3211,5065,3212, 505,1942,2628,1992,1382,2319,5066, 380,2362, 218, 702, # 784 +1818,1248,3465,3044,3572,3355,3282,5067,2992,3694, 930,3283,3823,5068, 59,5069, # 800 + 585, 601,4221, 497,3466,1112,1314,4535,1802,5070,1223,1472,2177,5071, 749,1837, # 816 + 690,1900,3824,1773,3988,1476, 429,1043,1791,2236,2117, 917,4222, 447,1086,1629, # 832 +5072, 556,5073,5074,2021,1654, 844,1090, 105, 550, 966,1758,2828,1008,1783, 686, # 848 +1095,5075,2287, 793,1602,5076,3573,2603,4536,4223,2948,2302,4537,3825, 980,2503, # 864 + 544, 353, 527,4538, 908,2687,2913,5077, 381,2629,1943,1348,5078,1341,1252, 560, # 880 +3095,5079,3467,2870,5080,2054, 973, 886,2081, 143,4539,5081,5082, 157,3989, 496, # 896 +4224, 57, 840, 540,2039,4540,4541,3468,2118,1445, 970,2264,1748,1966,2082,4225, # 912 +3144,1234,1776,3284,2829,3695, 773,1206,2130,1066,2040,1326,3990,1738,1725,4226, # 928 + 279,3145, 51,1544,2604, 423,1578,2131,2067, 173,4542,1880,5083,5084,1583, 264, # 944 + 610,3696,4543,2444, 280, 154,5085,5086,5087,1739, 338,1282,3096, 693,2871,1411, # 960 +1074,3826,2445,5088,4544,5089,5090,1240, 952,2399,5091,2914,1538,2688, 685,1483, # 976 +4227,2475,1436, 953,4228,2055,4545, 671,2400, 79,4229,2446,3285, 608, 567,2689, # 992 +3469,4230,4231,1691, 393,1261,1792,2401,5092,4546,5093,5094,5095,5096,1383,1672, # 1008 +3827,3213,1464, 522,1119, 661,1150, 216, 675,4547,3991,1432,3574, 609,4548,2690, # 1024 +2402,5097,5098,5099,4232,3045, 0,5100,2476, 315, 231,2447, 301,3356,4549,2385, # 1040 +5101, 233,4233,3697,1819,4550,4551,5102, 96,1777,1315,2083,5103, 257,5104,1810, # 1056 +3698,2718,1139,1820,4234,2022,1124,2164,2791,1778,2659,5105,3097, 363,1655,3214, # 1072 +5106,2993,5107,5108,5109,3992,1567,3993, 718, 103,3215, 849,1443, 341,3357,2949, # 1088 +1484,5110,1712, 127, 67, 339,4235,2403, 679,1412, 821,5111,5112, 834, 738, 351, # 1104 +2994,2147, 846, 235,1497,1881, 418,1993,3828,2719, 186,1100,2148,2756,3575,1545, # 1120 +1355,2950,2872,1377, 583,3994,4236,2581,2995,5113,1298,3699,1078,2557,3700,2363, # 1136 + 78,3829,3830, 267,1289,2100,2002,1594,4237, 348, 369,1274,2197,2178,1838,4552, # 1152 +1821,2830,3701,2757,2288,2003,4553,2951,2758, 144,3358, 882,4554,3995,2759,3470, # 1168 +4555,2915,5114,4238,1726, 320,5115,3996,3046, 788,2996,5116,2831,1774,1327,2873, # 1184 +3997,2832,5117,1306,4556,2004,1700,3831,3576,2364,2660, 787,2023, 506, 824,3702, # 1200 + 534, 323,4557,1044,3359,2024,1901, 946,3471,5118,1779,1500,1678,5119,1882,4558, # 1216 + 165, 243,4559,3703,2528, 123, 683,4239, 764,4560, 36,3998,1793, 589,2916, 816, # 1232 + 626,1667,3047,2237,1639,1555,1622,3832,3999,5120,4000,2874,1370,1228,1933, 891, # 1248 +2084,2917, 304,4240,5121, 292,2997,2720,3577, 691,2101,4241,1115,4561, 118, 662, # 1264 +5122, 611,1156, 854,2386,1316,2875, 2, 386, 515,2918,5123,5124,3286, 868,2238, # 1280 +1486, 855,2661, 785,2216,3048,5125,1040,3216,3578,5126,3146, 448,5127,1525,5128, # 1296 +2165,4562,5129,3833,5130,4242,2833,3579,3147, 503, 818,4001,3148,1568, 814, 676, # 1312 +1444, 306,1749,5131,3834,1416,1030, 197,1428, 805,2834,1501,4563,5132,5133,5134, # 1328 +1994,5135,4564,5136,5137,2198, 13,2792,3704,2998,3149,1229,1917,5138,3835,2132, # 1344 +5139,4243,4565,2404,3580,5140,2217,1511,1727,1120,5141,5142, 646,3836,2448, 307, # 1360 +5143,5144,1595,3217,5145,5146,5147,3705,1113,1356,4002,1465,2529,2530,5148, 519, # 1376 +5149, 128,2133, 92,2289,1980,5150,4003,1512, 342,3150,2199,5151,2793,2218,1981, # 1392 +3360,4244, 290,1656,1317, 789, 827,2365,5152,3837,4566, 562, 581,4004,5153, 401, # 1408 +4567,2252, 94,4568,5154,1399,2794,5155,1463,2025,4569,3218,1944,5156, 828,1105, # 1424 +4245,1262,1394,5157,4246, 605,4570,5158,1784,2876,5159,2835, 819,2102, 578,2200, # 1440 +2952,5160,1502, 436,3287,4247,3288,2836,4005,2919,3472,3473,5161,2721,2320,5162, # 1456 +5163,2337,2068, 23,4571, 193, 826,3838,2103, 699,1630,4248,3098, 390,1794,1064, # 1472 +3581,5164,1579,3099,3100,1400,5165,4249,1839,1640,2877,5166,4572,4573, 137,4250, # 1488 + 598,3101,1967, 780, 104, 974,2953,5167, 278, 899, 253, 402, 572, 504, 493,1339, # 1504 +5168,4006,1275,4574,2582,2558,5169,3706,3049,3102,2253, 565,1334,2722, 863, 41, # 1520 +5170,5171,4575,5172,1657,2338, 19, 463,2760,4251, 606,5173,2999,3289,1087,2085, # 1536 +1323,2662,3000,5174,1631,1623,1750,4252,2691,5175,2878, 791,2723,2663,2339, 232, # 1552 +2421,5176,3001,1498,5177,2664,2630, 755,1366,3707,3290,3151,2026,1609, 119,1918, # 1568 +3474, 862,1026,4253,5178,4007,3839,4576,4008,4577,2265,1952,2477,5179,1125, 817, # 1584 +4254,4255,4009,1513,1766,2041,1487,4256,3050,3291,2837,3840,3152,5180,5181,1507, # 1600 +5182,2692, 733, 40,1632,1106,2879, 345,4257, 841,2531, 230,4578,3002,1847,3292, # 1616 +3475,5183,1263, 986,3476,5184, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562, # 1632 +4010,4011,2954, 967,2761,2665,1349, 592,2134,1692,3361,3003,1995,4258,1679,4012, # 1648 +1902,2188,5185, 739,3708,2724,1296,1290,5186,4259,2201,2202,1922,1563,2605,2559, # 1664 +1871,2762,3004,5187, 435,5188, 343,1108, 596, 17,1751,4579,2239,3477,3709,5189, # 1680 +4580, 294,3582,2955,1693, 477, 979, 281,2042,3583, 643,2043,3710,2631,2795,2266, # 1696 +1031,2340,2135,2303,3584,4581, 367,1249,2560,5190,3585,5191,4582,1283,3362,2005, # 1712 + 240,1762,3363,4583,4584, 836,1069,3153, 474,5192,2149,2532, 268,3586,5193,3219, # 1728 +1521,1284,5194,1658,1546,4260,5195,3587,3588,5196,4261,3364,2693,1685,4262, 961, # 1744 +1673,2632, 190,2006,2203,3841,4585,4586,5197, 570,2504,3711,1490,5198,4587,2633, # 1760 +3293,1957,4588, 584,1514, 396,1045,1945,5199,4589,1968,2449,5200,5201,4590,4013, # 1776 + 619,5202,3154,3294, 215,2007,2796,2561,3220,4591,3221,4592, 763,4263,3842,4593, # 1792 +5203,5204,1958,1767,2956,3365,3712,1174, 452,1477,4594,3366,3155,5205,2838,1253, # 1808 +2387,2189,1091,2290,4264, 492,5206, 638,1169,1825,2136,1752,4014, 648, 926,1021, # 1824 +1324,4595, 520,4596, 997, 847,1007, 892,4597,3843,2267,1872,3713,2405,1785,4598, # 1840 +1953,2957,3103,3222,1728,4265,2044,3714,4599,2008,1701,3156,1551, 30,2268,4266, # 1856 +5207,2027,4600,3589,5208, 501,5209,4267, 594,3478,2166,1822,3590,3479,3591,3223, # 1872 + 829,2839,4268,5210,1680,3157,1225,4269,5211,3295,4601,4270,3158,2341,5212,4602, # 1888 +4271,5213,4015,4016,5214,1848,2388,2606,3367,5215,4603, 374,4017, 652,4272,4273, # 1904 + 375,1140, 798,5216,5217,5218,2366,4604,2269, 546,1659, 138,3051,2450,4605,5219, # 1920 +2254, 612,1849, 910, 796,3844,1740,1371, 825,3845,3846,5220,2920,2562,5221, 692, # 1936 + 444,3052,2634, 801,4606,4274,5222,1491, 244,1053,3053,4275,4276, 340,5223,4018, # 1952 +1041,3005, 293,1168, 87,1357,5224,1539, 959,5225,2240, 721, 694,4277,3847, 219, # 1968 +1478, 644,1417,3368,2666,1413,1401,1335,1389,4019,5226,5227,3006,2367,3159,1826, # 1984 + 730,1515, 184,2840, 66,4607,5228,1660,2958, 246,3369, 378,1457, 226,3480, 975, # 2000 +4020,2959,1264,3592, 674, 696,5229, 163,5230,1141,2422,2167, 713,3593,3370,4608, # 2016 +4021,5231,5232,1186, 15,5233,1079,1070,5234,1522,3224,3594, 276,1050,2725, 758, # 2032 +1126, 653,2960,3296,5235,2342, 889,3595,4022,3104,3007, 903,1250,4609,4023,3481, # 2048 +3596,1342,1681,1718, 766,3297, 286, 89,2961,3715,5236,1713,5237,2607,3371,3008, # 2064 +5238,2962,2219,3225,2880,5239,4610,2505,2533, 181, 387,1075,4024, 731,2190,3372, # 2080 +5240,3298, 310, 313,3482,2304, 770,4278, 54,3054, 189,4611,3105,3848,4025,5241, # 2096 +1230,1617,1850, 355,3597,4279,4612,3373, 111,4280,3716,1350,3160,3483,3055,4281, # 2112 +2150,3299,3598,5242,2797,4026,4027,3009, 722,2009,5243,1071, 247,1207,2343,2478, # 2128 +1378,4613,2010, 864,1437,1214,4614, 373,3849,1142,2220, 667,4615, 442,2763,2563, # 2144 +3850,4028,1969,4282,3300,1840, 837, 170,1107, 934,1336,1883,5244,5245,2119,4283, # 2160 +2841, 743,1569,5246,4616,4284, 582,2389,1418,3484,5247,1803,5248, 357,1395,1729, # 2176 +3717,3301,2423,1564,2241,5249,3106,3851,1633,4617,1114,2086,4285,1532,5250, 482, # 2192 +2451,4618,5251,5252,1492, 833,1466,5253,2726,3599,1641,2842,5254,1526,1272,3718, # 2208 +4286,1686,1795, 416,2564,1903,1954,1804,5255,3852,2798,3853,1159,2321,5256,2881, # 2224 +4619,1610,1584,3056,2424,2764, 443,3302,1163,3161,5257,5258,4029,5259,4287,2506, # 2240 +3057,4620,4030,3162,2104,1647,3600,2011,1873,4288,5260,4289, 431,3485,5261, 250, # 2256 + 97, 81,4290,5262,1648,1851,1558, 160, 848,5263, 866, 740,1694,5264,2204,2843, # 2272 +3226,4291,4621,3719,1687, 950,2479, 426, 469,3227,3720,3721,4031,5265,5266,1188, # 2288 + 424,1996, 861,3601,4292,3854,2205,2694, 168,1235,3602,4293,5267,2087,1674,4622, # 2304 +3374,3303, 220,2565,1009,5268,3855, 670,3010, 332,1208, 717,5269,5270,3603,2452, # 2320 +4032,3375,5271, 513,5272,1209,2882,3376,3163,4623,1080,5273,5274,5275,5276,2534, # 2336 +3722,3604, 815,1587,4033,4034,5277,3605,3486,3856,1254,4624,1328,3058,1390,4035, # 2352 +1741,4036,3857,4037,5278, 236,3858,2453,3304,5279,5280,3723,3859,1273,3860,4625, # 2368 +5281, 308,5282,4626, 245,4627,1852,2480,1307,2583, 430, 715,2137,2454,5283, 270, # 2384 + 199,2883,4038,5284,3606,2727,1753, 761,1754, 725,1661,1841,4628,3487,3724,5285, # 2400 +5286, 587, 14,3305, 227,2608, 326, 480,2270, 943,2765,3607, 291, 650,1884,5287, # 2416 +1702,1226, 102,1547, 62,3488, 904,4629,3489,1164,4294,5288,5289,1224,1548,2766, # 2432 + 391, 498,1493,5290,1386,1419,5291,2056,1177,4630, 813, 880,1081,2368, 566,1145, # 2448 +4631,2291,1001,1035,2566,2609,2242, 394,1286,5292,5293,2069,5294, 86,1494,1730, # 2464 +4039, 491,1588, 745, 897,2963, 843,3377,4040,2767,2884,3306,1768, 998,2221,2070, # 2480 + 397,1827,1195,1970,3725,3011,3378, 284,5295,3861,2507,2138,2120,1904,5296,4041, # 2496 +2151,4042,4295,1036,3490,1905, 114,2567,4296, 209,1527,5297,5298,2964,2844,2635, # 2512 +2390,2728,3164, 812,2568,5299,3307,5300,1559, 737,1885,3726,1210, 885, 28,2695, # 2528 +3608,3862,5301,4297,1004,1780,4632,5302, 346,1982,2222,2696,4633,3863,1742, 797, # 2544 +1642,4043,1934,1072,1384,2152, 896,4044,3308,3727,3228,2885,3609,5303,2569,1959, # 2560 +4634,2455,1786,5304,5305,5306,4045,4298,1005,1308,3728,4299,2729,4635,4636,1528, # 2576 +2610, 161,1178,4300,1983, 987,4637,1101,4301, 631,4046,1157,3229,2425,1343,1241, # 2592 +1016,2243,2570, 372, 877,2344,2508,1160, 555,1935, 911,4047,5307, 466,1170, 169, # 2608 +1051,2921,2697,3729,2481,3012,1182,2012,2571,1251,2636,5308, 992,2345,3491,1540, # 2624 +2730,1201,2071,2406,1997,2482,5309,4638, 528,1923,2191,1503,1874,1570,2369,3379, # 2640 +3309,5310, 557,1073,5311,1828,3492,2088,2271,3165,3059,3107, 767,3108,2799,4639, # 2656 +1006,4302,4640,2346,1267,2179,3730,3230, 778,4048,3231,2731,1597,2667,5312,4641, # 2672 +5313,3493,5314,5315,5316,3310,2698,1433,3311, 131, 95,1504,4049, 723,4303,3166, # 2688 +1842,3610,2768,2192,4050,2028,2105,3731,5317,3013,4051,1218,5318,3380,3232,4052, # 2704 +4304,2584, 248,1634,3864, 912,5319,2845,3732,3060,3865, 654, 53,5320,3014,5321, # 2720 +1688,4642, 777,3494,1032,4053,1425,5322, 191, 820,2121,2846, 971,4643, 931,3233, # 2736 + 135, 664, 783,3866,1998, 772,2922,1936,4054,3867,4644,2923,3234, 282,2732, 640, # 2752 +1372,3495,1127, 922, 325,3381,5323,5324, 711,2045,5325,5326,4055,2223,2800,1937, # 2768 +4056,3382,2224,2255,3868,2305,5327,4645,3869,1258,3312,4057,3235,2139,2965,4058, # 2784 +4059,5328,2225, 258,3236,4646, 101,1227,5329,3313,1755,5330,1391,3314,5331,2924, # 2800 +2057, 893,5332,5333,5334,1402,4305,2347,5335,5336,3237,3611,5337,5338, 878,1325, # 2816 +1781,2801,4647, 259,1385,2585, 744,1183,2272,4648,5339,4060,2509,5340, 684,1024, # 2832 +4306,5341, 472,3612,3496,1165,3315,4061,4062, 322,2153, 881, 455,1695,1152,1340, # 2848 + 660, 554,2154,4649,1058,4650,4307, 830,1065,3383,4063,4651,1924,5342,1703,1919, # 2864 +5343, 932,2273, 122,5344,4652, 947, 677,5345,3870,2637, 297,1906,1925,2274,4653, # 2880 +2322,3316,5346,5347,4308,5348,4309, 84,4310, 112, 989,5349, 547,1059,4064, 701, # 2896 +3613,1019,5350,4311,5351,3497, 942, 639, 457,2306,2456, 993,2966, 407, 851, 494, # 2912 +4654,3384, 927,5352,1237,5353,2426,3385, 573,4312, 680, 921,2925,1279,1875, 285, # 2928 + 790,1448,1984, 719,2168,5354,5355,4655,4065,4066,1649,5356,1541, 563,5357,1077, # 2944 +5358,3386,3061,3498, 511,3015,4067,4068,3733,4069,1268,2572,3387,3238,4656,4657, # 2960 +5359, 535,1048,1276,1189,2926,2029,3167,1438,1373,2847,2967,1134,2013,5360,4313, # 2976 +1238,2586,3109,1259,5361, 700,5362,2968,3168,3734,4314,5363,4315,1146,1876,1907, # 2992 +4658,2611,4070, 781,2427, 132,1589, 203, 147, 273,2802,2407, 898,1787,2155,4071, # 3008 +4072,5364,3871,2803,5365,5366,4659,4660,5367,3239,5368,1635,3872, 965,5369,1805, # 3024 +2699,1516,3614,1121,1082,1329,3317,4073,1449,3873, 65,1128,2848,2927,2769,1590, # 3040 +3874,5370,5371, 12,2668, 45, 976,2587,3169,4661, 517,2535,1013,1037,3240,5372, # 3056 +3875,2849,5373,3876,5374,3499,5375,2612, 614,1999,2323,3877,3110,2733,2638,5376, # 3072 +2588,4316, 599,1269,5377,1811,3735,5378,2700,3111, 759,1060, 489,1806,3388,3318, # 3088 +1358,5379,5380,2391,1387,1215,2639,2256, 490,5381,5382,4317,1759,2392,2348,5383, # 3104 +4662,3878,1908,4074,2640,1807,3241,4663,3500,3319,2770,2349, 874,5384,5385,3501, # 3120 +3736,1859, 91,2928,3737,3062,3879,4664,5386,3170,4075,2669,5387,3502,1202,1403, # 3136 +3880,2969,2536,1517,2510,4665,3503,2511,5388,4666,5389,2701,1886,1495,1731,4076, # 3152 +2370,4667,5390,2030,5391,5392,4077,2702,1216, 237,2589,4318,2324,4078,3881,4668, # 3168 +4669,2703,3615,3504, 445,4670,5393,5394,5395,5396,2771, 61,4079,3738,1823,4080, # 3184 +5397, 687,2046, 935, 925, 405,2670, 703,1096,1860,2734,4671,4081,1877,1367,2704, # 3200 +3389, 918,2106,1782,2483, 334,3320,1611,1093,4672, 564,3171,3505,3739,3390, 945, # 3216 +2641,2058,4673,5398,1926, 872,4319,5399,3506,2705,3112, 349,4320,3740,4082,4674, # 3232 +3882,4321,3741,2156,4083,4675,4676,4322,4677,2408,2047, 782,4084, 400, 251,4323, # 3248 +1624,5400,5401, 277,3742, 299,1265, 476,1191,3883,2122,4324,4325,1109, 205,5402, # 3264 +2590,1000,2157,3616,1861,5403,5404,5405,4678,5406,4679,2573, 107,2484,2158,4085, # 3280 +3507,3172,5407,1533, 541,1301, 158, 753,4326,2886,3617,5408,1696, 370,1088,4327, # 3296 +4680,3618, 579, 327, 440, 162,2244, 269,1938,1374,3508, 968,3063, 56,1396,3113, # 3312 +2107,3321,3391,5409,1927,2159,4681,3016,5410,3619,5411,5412,3743,4682,2485,5413, # 3328 +2804,5414,1650,4683,5415,2613,5416,5417,4086,2671,3392,1149,3393,4087,3884,4088, # 3344 +5418,1076, 49,5419, 951,3242,3322,3323, 450,2850, 920,5420,1812,2805,2371,4328, # 3360 +1909,1138,2372,3885,3509,5421,3243,4684,1910,1147,1518,2428,4685,3886,5422,4686, # 3376 +2393,2614, 260,1796,3244,5423,5424,3887,3324, 708,5425,3620,1704,5426,3621,1351, # 3392 +1618,3394,3017,1887, 944,4329,3395,4330,3064,3396,4331,5427,3744, 422, 413,1714, # 3408 +3325, 500,2059,2350,4332,2486,5428,1344,1911, 954,5429,1668,5430,5431,4089,2409, # 3424 +4333,3622,3888,4334,5432,2307,1318,2512,3114, 133,3115,2887,4687, 629, 31,2851, # 3440 +2706,3889,4688, 850, 949,4689,4090,2970,1732,2089,4335,1496,1853,5433,4091, 620, # 3456 +3245, 981,1242,3745,3397,1619,3746,1643,3326,2140,2457,1971,1719,3510,2169,5434, # 3472 +3246,5435,5436,3398,1829,5437,1277,4690,1565,2048,5438,1636,3623,3116,5439, 869, # 3488 +2852, 655,3890,3891,3117,4092,3018,3892,1310,3624,4691,5440,5441,5442,1733, 558, # 3504 +4692,3747, 335,1549,3065,1756,4336,3748,1946,3511,1830,1291,1192, 470,2735,2108, # 3520 +2806, 913,1054,4093,5443,1027,5444,3066,4094,4693, 982,2672,3399,3173,3512,3247, # 3536 +3248,1947,2807,5445, 571,4694,5446,1831,5447,3625,2591,1523,2429,5448,2090, 984, # 3552 +4695,3749,1960,5449,3750, 852, 923,2808,3513,3751, 969,1519, 999,2049,2325,1705, # 3568 +5450,3118, 615,1662, 151, 597,4095,2410,2326,1049, 275,4696,3752,4337, 568,3753, # 3584 +3626,2487,4338,3754,5451,2430,2275, 409,3249,5452,1566,2888,3514,1002, 769,2853, # 3600 + 194,2091,3174,3755,2226,3327,4339, 628,1505,5453,5454,1763,2180,3019,4096, 521, # 3616 +1161,2592,1788,2206,2411,4697,4097,1625,4340,4341, 412, 42,3119, 464,5455,2642, # 3632 +4698,3400,1760,1571,2889,3515,2537,1219,2207,3893,2643,2141,2373,4699,4700,3328, # 3648 +1651,3401,3627,5456,5457,3628,2488,3516,5458,3756,5459,5460,2276,2092, 460,5461, # 3664 +4701,5462,3020, 962, 588,3629, 289,3250,2644,1116, 52,5463,3067,1797,5464,5465, # 3680 +5466,1467,5467,1598,1143,3757,4342,1985,1734,1067,4702,1280,3402, 465,4703,1572, # 3696 + 510,5468,1928,2245,1813,1644,3630,5469,4704,3758,5470,5471,2673,1573,1534,5472, # 3712 +5473, 536,1808,1761,3517,3894,3175,2645,5474,5475,5476,4705,3518,2929,1912,2809, # 3728 +5477,3329,1122, 377,3251,5478, 360,5479,5480,4343,1529, 551,5481,2060,3759,1769, # 3744 +2431,5482,2930,4344,3330,3120,2327,2109,2031,4706,1404, 136,1468,1479, 672,1171, # 3760 +3252,2308, 271,3176,5483,2772,5484,2050, 678,2736, 865,1948,4707,5485,2014,4098, # 3776 +2971,5486,2737,2227,1397,3068,3760,4708,4709,1735,2931,3403,3631,5487,3895, 509, # 3792 +2854,2458,2890,3896,5488,5489,3177,3178,4710,4345,2538,4711,2309,1166,1010, 552, # 3808 + 681,1888,5490,5491,2972,2973,4099,1287,1596,1862,3179, 358, 453, 736, 175, 478, # 3824 +1117, 905,1167,1097,5492,1854,1530,5493,1706,5494,2181,3519,2292,3761,3520,3632, # 3840 +4346,2093,4347,5495,3404,1193,2489,4348,1458,2193,2208,1863,1889,1421,3331,2932, # 3856 +3069,2182,3521, 595,2123,5496,4100,5497,5498,4349,1707,2646, 223,3762,1359, 751, # 3872 +3121, 183,3522,5499,2810,3021, 419,2374, 633, 704,3897,2394, 241,5500,5501,5502, # 3888 + 838,3022,3763,2277,2773,2459,3898,1939,2051,4101,1309,3122,2246,1181,5503,1136, # 3904 +2209,3899,2375,1446,4350,2310,4712,5504,5505,4351,1055,2615, 484,3764,5506,4102, # 3920 + 625,4352,2278,3405,1499,4353,4103,5507,4104,4354,3253,2279,2280,3523,5508,5509, # 3936 +2774, 808,2616,3765,3406,4105,4355,3123,2539, 526,3407,3900,4356, 955,5510,1620, # 3952 +4357,2647,2432,5511,1429,3766,1669,1832, 994, 928,5512,3633,1260,5513,5514,5515, # 3968 +1949,2293, 741,2933,1626,4358,2738,2460, 867,1184, 362,3408,1392,5516,5517,4106, # 3984 +4359,1770,1736,3254,2934,4713,4714,1929,2707,1459,1158,5518,3070,3409,2891,1292, # 4000 +1930,2513,2855,3767,1986,1187,2072,2015,2617,4360,5519,2574,2514,2170,3768,2490, # 4016 +3332,5520,3769,4715,5521,5522, 666,1003,3023,1022,3634,4361,5523,4716,1814,2257, # 4032 + 574,3901,1603, 295,1535, 705,3902,4362, 283, 858, 417,5524,5525,3255,4717,4718, # 4048 +3071,1220,1890,1046,2281,2461,4107,1393,1599, 689,2575, 388,4363,5526,2491, 802, # 4064 +5527,2811,3903,2061,1405,2258,5528,4719,3904,2110,1052,1345,3256,1585,5529, 809, # 4080 +5530,5531,5532, 575,2739,3524, 956,1552,1469,1144,2328,5533,2329,1560,2462,3635, # 4096 +3257,4108, 616,2210,4364,3180,2183,2294,5534,1833,5535,3525,4720,5536,1319,3770, # 4112 +3771,1211,3636,1023,3258,1293,2812,5537,5538,5539,3905, 607,2311,3906, 762,2892, # 4128 +1439,4365,1360,4721,1485,3072,5540,4722,1038,4366,1450,2062,2648,4367,1379,4723, # 4144 +2593,5541,5542,4368,1352,1414,2330,2935,1172,5543,5544,3907,3908,4724,1798,1451, # 4160 +5545,5546,5547,5548,2936,4109,4110,2492,2351, 411,4111,4112,3637,3333,3124,4725, # 4176 +1561,2674,1452,4113,1375,5549,5550, 47,2974, 316,5551,1406,1591,2937,3181,5552, # 4192 +1025,2142,3125,3182, 354,2740, 884,2228,4369,2412, 508,3772, 726,3638, 996,2433, # 4208 +3639, 729,5553, 392,2194,1453,4114,4726,3773,5554,5555,2463,3640,2618,1675,2813, # 4224 + 919,2352,2975,2353,1270,4727,4115, 73,5556,5557, 647,5558,3259,2856,2259,1550, # 4240 +1346,3024,5559,1332, 883,3526,5560,5561,5562,5563,3334,2775,5564,1212, 831,1347, # 4256 +4370,4728,2331,3909,1864,3073, 720,3910,4729,4730,3911,5565,4371,5566,5567,4731, # 4272 +5568,5569,1799,4732,3774,2619,4733,3641,1645,2376,4734,5570,2938, 669,2211,2675, # 4288 +2434,5571,2893,5572,5573,1028,3260,5574,4372,2413,5575,2260,1353,5576,5577,4735, # 4304 +3183, 518,5578,4116,5579,4373,1961,5580,2143,4374,5581,5582,3025,2354,2355,3912, # 4320 + 516,1834,1454,4117,2708,4375,4736,2229,2620,1972,1129,3642,5583,2776,5584,2976, # 4336 +1422, 577,1470,3026,1524,3410,5585,5586, 432,4376,3074,3527,5587,2594,1455,2515, # 4352 +2230,1973,1175,5588,1020,2741,4118,3528,4737,5589,2742,5590,1743,1361,3075,3529, # 4368 +2649,4119,4377,4738,2295, 895, 924,4378,2171, 331,2247,3076, 166,1627,3077,1098, # 4384 +5591,1232,2894,2231,3411,4739, 657, 403,1196,2377, 542,3775,3412,1600,4379,3530, # 4400 +5592,4740,2777,3261, 576, 530,1362,4741,4742,2540,2676,3776,4120,5593, 842,3913, # 4416 +5594,2814,2032,1014,4121, 213,2709,3413, 665, 621,4380,5595,3777,2939,2435,5596, # 4432 +2436,3335,3643,3414,4743,4381,2541,4382,4744,3644,1682,4383,3531,1380,5597, 724, # 4448 +2282, 600,1670,5598,1337,1233,4745,3126,2248,5599,1621,4746,5600, 651,4384,5601, # 4464 +1612,4385,2621,5602,2857,5603,2743,2312,3078,5604, 716,2464,3079, 174,1255,2710, # 4480 +4122,3645, 548,1320,1398, 728,4123,1574,5605,1891,1197,3080,4124,5606,3081,3082, # 4496 +3778,3646,3779, 747,5607, 635,4386,4747,5608,5609,5610,4387,5611,5612,4748,5613, # 4512 +3415,4749,2437, 451,5614,3780,2542,2073,4388,2744,4389,4125,5615,1764,4750,5616, # 4528 +4390, 350,4751,2283,2395,2493,5617,4391,4126,2249,1434,4127, 488,4752, 458,4392, # 4544 +4128,3781, 771,1330,2396,3914,2576,3184,2160,2414,1553,2677,3185,4393,5618,2494, # 4560 +2895,2622,1720,2711,4394,3416,4753,5619,2543,4395,5620,3262,4396,2778,5621,2016, # 4576 +2745,5622,1155,1017,3782,3915,5623,3336,2313, 201,1865,4397,1430,5624,4129,5625, # 4592 +5626,5627,5628,5629,4398,1604,5630, 414,1866, 371,2595,4754,4755,3532,2017,3127, # 4608 +4756,1708, 960,4399, 887, 389,2172,1536,1663,1721,5631,2232,4130,2356,2940,1580, # 4624 +5632,5633,1744,4757,2544,4758,4759,5634,4760,5635,2074,5636,4761,3647,3417,2896, # 4640 +4400,5637,4401,2650,3418,2815, 673,2712,2465, 709,3533,4131,3648,4402,5638,1148, # 4656 + 502, 634,5639,5640,1204,4762,3649,1575,4763,2623,3783,5641,3784,3128, 948,3263, # 4672 + 121,1745,3916,1110,5642,4403,3083,2516,3027,4132,3785,1151,1771,3917,1488,4133, # 4688 +1987,5643,2438,3534,5644,5645,2094,5646,4404,3918,1213,1407,2816, 531,2746,2545, # 4704 +3264,1011,1537,4764,2779,4405,3129,1061,5647,3786,3787,1867,2897,5648,2018, 120, # 4720 +4406,4407,2063,3650,3265,2314,3919,2678,3419,1955,4765,4134,5649,3535,1047,2713, # 4736 +1266,5650,1368,4766,2858, 649,3420,3920,2546,2747,1102,2859,2679,5651,5652,2000, # 4752 +5653,1111,3651,2977,5654,2495,3921,3652,2817,1855,3421,3788,5655,5656,3422,2415, # 4768 +2898,3337,3266,3653,5657,2577,5658,3654,2818,4135,1460, 856,5659,3655,5660,2899, # 4784 +2978,5661,2900,3922,5662,4408, 632,2517, 875,3923,1697,3924,2296,5663,5664,4767, # 4800 +3028,1239, 580,4768,4409,5665, 914, 936,2075,1190,4136,1039,2124,5666,5667,5668, # 4816 +5669,3423,1473,5670,1354,4410,3925,4769,2173,3084,4137, 915,3338,4411,4412,3339, # 4832 +1605,1835,5671,2748, 398,3656,4413,3926,4138, 328,1913,2860,4139,3927,1331,4414, # 4848 +3029, 937,4415,5672,3657,4140,4141,3424,2161,4770,3425, 524, 742, 538,3085,1012, # 4864 +5673,5674,3928,2466,5675, 658,1103, 225,3929,5676,5677,4771,5678,4772,5679,3267, # 4880 +1243,5680,4142, 963,2250,4773,5681,2714,3658,3186,5682,5683,2596,2332,5684,4774, # 4896 +5685,5686,5687,3536, 957,3426,2547,2033,1931,2941,2467, 870,2019,3659,1746,2780, # 4912 +2781,2439,2468,5688,3930,5689,3789,3130,3790,3537,3427,3791,5690,1179,3086,5691, # 4928 +3187,2378,4416,3792,2548,3188,3131,2749,4143,5692,3428,1556,2549,2297, 977,2901, # 4944 +2034,4144,1205,3429,5693,1765,3430,3189,2125,1271, 714,1689,4775,3538,5694,2333, # 4960 +3931, 533,4417,3660,2184, 617,5695,2469,3340,3539,2315,5696,5697,3190,5698,5699, # 4976 +3932,1988, 618, 427,2651,3540,3431,5700,5701,1244,1690,5702,2819,4418,4776,5703, # 4992 +3541,4777,5704,2284,1576, 473,3661,4419,3432, 972,5705,3662,5706,3087,5707,5708, # 5008 +4778,4779,5709,3793,4145,4146,5710, 153,4780, 356,5711,1892,2902,4420,2144, 408, # 5024 + 803,2357,5712,3933,5713,4421,1646,2578,2518,4781,4782,3934,5714,3935,4422,5715, # 5040 +2416,3433, 752,5716,5717,1962,3341,2979,5718, 746,3030,2470,4783,4423,3794, 698, # 5056 +4784,1893,4424,3663,2550,4785,3664,3936,5719,3191,3434,5720,1824,1302,4147,2715, # 5072 +3937,1974,4425,5721,4426,3192, 823,1303,1288,1236,2861,3542,4148,3435, 774,3938, # 5088 +5722,1581,4786,1304,2862,3939,4787,5723,2440,2162,1083,3268,4427,4149,4428, 344, # 5104 +1173, 288,2316, 454,1683,5724,5725,1461,4788,4150,2597,5726,5727,4789, 985, 894, # 5120 +5728,3436,3193,5729,1914,2942,3795,1989,5730,2111,1975,5731,4151,5732,2579,1194, # 5136 + 425,5733,4790,3194,1245,3796,4429,5734,5735,2863,5736, 636,4791,1856,3940, 760, # 5152 +1800,5737,4430,2212,1508,4792,4152,1894,1684,2298,5738,5739,4793,4431,4432,2213, # 5168 + 479,5740,5741, 832,5742,4153,2496,5743,2980,2497,3797, 990,3132, 627,1815,2652, # 5184 +4433,1582,4434,2126,2112,3543,4794,5744, 799,4435,3195,5745,4795,2113,1737,3031, # 5200 +1018, 543, 754,4436,3342,1676,4796,4797,4154,4798,1489,5746,3544,5747,2624,2903, # 5216 +4155,5748,5749,2981,5750,5751,5752,5753,3196,4799,4800,2185,1722,5754,3269,3270, # 5232 +1843,3665,1715, 481, 365,1976,1857,5755,5756,1963,2498,4801,5757,2127,3666,3271, # 5248 + 433,1895,2064,2076,5758, 602,2750,5759,5760,5761,5762,5763,3032,1628,3437,5764, # 5264 +3197,4802,4156,2904,4803,2519,5765,2551,2782,5766,5767,5768,3343,4804,2905,5769, # 5280 +4805,5770,2864,4806,4807,1221,2982,4157,2520,5771,5772,5773,1868,1990,5774,5775, # 5296 +5776,1896,5777,5778,4808,1897,4158, 318,5779,2095,4159,4437,5780,5781, 485,5782, # 5312 + 938,3941, 553,2680, 116,5783,3942,3667,5784,3545,2681,2783,3438,3344,2820,5785, # 5328 +3668,2943,4160,1747,2944,2983,5786,5787, 207,5788,4809,5789,4810,2521,5790,3033, # 5344 + 890,3669,3943,5791,1878,3798,3439,5792,2186,2358,3440,1652,5793,5794,5795, 941, # 5360 +2299, 208,3546,4161,2020, 330,4438,3944,2906,2499,3799,4439,4811,5796,5797,5798, # 5376 +) + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5prober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5prober.py new file mode 100644 index 0000000..98f9970 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/big5prober.py @@ -0,0 +1,47 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import Big5DistributionAnalysis +from .mbcssm import BIG5_SM_MODEL + + +class Big5Prober(MultiByteCharSetProber): + def __init__(self): + super(Big5Prober, self).__init__() + self.coding_sm = CodingStateMachine(BIG5_SM_MODEL) + self.distribution_analyzer = Big5DistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "Big5" + + @property + def language(self): + return "Chinese" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/chardistribution.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/chardistribution.py new file mode 100644 index 0000000..c0395f4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/chardistribution.py @@ -0,0 +1,233 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .euctwfreq import (EUCTW_CHAR_TO_FREQ_ORDER, EUCTW_TABLE_SIZE, + EUCTW_TYPICAL_DISTRIBUTION_RATIO) +from .euckrfreq import (EUCKR_CHAR_TO_FREQ_ORDER, EUCKR_TABLE_SIZE, + EUCKR_TYPICAL_DISTRIBUTION_RATIO) +from .gb2312freq import (GB2312_CHAR_TO_FREQ_ORDER, GB2312_TABLE_SIZE, + GB2312_TYPICAL_DISTRIBUTION_RATIO) +from .big5freq import (BIG5_CHAR_TO_FREQ_ORDER, BIG5_TABLE_SIZE, + BIG5_TYPICAL_DISTRIBUTION_RATIO) +from .jisfreq import (JIS_CHAR_TO_FREQ_ORDER, JIS_TABLE_SIZE, + JIS_TYPICAL_DISTRIBUTION_RATIO) + + +class CharDistributionAnalysis(object): + ENOUGH_DATA_THRESHOLD = 1024 + SURE_YES = 0.99 + SURE_NO = 0.01 + MINIMUM_DATA_THRESHOLD = 3 + + def __init__(self): + # Mapping table to get frequency order from char order (get from + # GetOrder()) + self._char_to_freq_order = None + self._table_size = None # Size of above table + # This is a constant value which varies from language to language, + # used in calculating confidence. See + # http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html + # for further detail. + self.typical_distribution_ratio = None + self._done = None + self._total_chars = None + self._freq_chars = None + self.reset() + + def reset(self): + """reset analyser, clear any state""" + # If this flag is set to True, detection is done and conclusion has + # been made + self._done = False + self._total_chars = 0 # Total characters encountered + # The number of characters whose frequency order is less than 512 + self._freq_chars = 0 + + def feed(self, char, char_len): + """feed a character with known length""" + if char_len == 2: + # we only care about 2-bytes character in our distribution analysis + order = self.get_order(char) + else: + order = -1 + if order >= 0: + self._total_chars += 1 + # order is valid + if order < self._table_size: + if 512 > self._char_to_freq_order[order]: + self._freq_chars += 1 + + def get_confidence(self): + """return confidence based on existing data""" + # if we didn't receive any character in our consideration range, + # return negative answer + if self._total_chars <= 0 or self._freq_chars <= self.MINIMUM_DATA_THRESHOLD: + return self.SURE_NO + + if self._total_chars != self._freq_chars: + r = (self._freq_chars / ((self._total_chars - self._freq_chars) + * self.typical_distribution_ratio)) + if r < self.SURE_YES: + return r + + # normalize confidence (we don't want to be 100% sure) + return self.SURE_YES + + def got_enough_data(self): + # It is not necessary to receive all data to draw conclusion. + # For charset detection, certain amount of data is enough + return self._total_chars > self.ENOUGH_DATA_THRESHOLD + + def get_order(self, byte_str): + # We do not handle characters based on the original encoding string, + # but convert this encoding string to a number, here called order. + # This allows multiple encodings of a language to share one frequency + # table. + return -1 + + +class EUCTWDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(EUCTWDistributionAnalysis, self).__init__() + self._char_to_freq_order = EUCTW_CHAR_TO_FREQ_ORDER + self._table_size = EUCTW_TABLE_SIZE + self.typical_distribution_ratio = EUCTW_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for euc-TW encoding, we are interested + # first byte range: 0xc4 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char = byte_str[0] + if first_char >= 0xC4: + return 94 * (first_char - 0xC4) + byte_str[1] - 0xA1 + else: + return -1 + + +class EUCKRDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(EUCKRDistributionAnalysis, self).__init__() + self._char_to_freq_order = EUCKR_CHAR_TO_FREQ_ORDER + self._table_size = EUCKR_TABLE_SIZE + self.typical_distribution_ratio = EUCKR_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for euc-KR encoding, we are interested + # first byte range: 0xb0 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char = byte_str[0] + if first_char >= 0xB0: + return 94 * (first_char - 0xB0) + byte_str[1] - 0xA1 + else: + return -1 + + +class GB2312DistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(GB2312DistributionAnalysis, self).__init__() + self._char_to_freq_order = GB2312_CHAR_TO_FREQ_ORDER + self._table_size = GB2312_TABLE_SIZE + self.typical_distribution_ratio = GB2312_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for GB2312 encoding, we are interested + # first byte range: 0xb0 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char, second_char = byte_str[0], byte_str[1] + if (first_char >= 0xB0) and (second_char >= 0xA1): + return 94 * (first_char - 0xB0) + second_char - 0xA1 + else: + return -1 + + +class Big5DistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(Big5DistributionAnalysis, self).__init__() + self._char_to_freq_order = BIG5_CHAR_TO_FREQ_ORDER + self._table_size = BIG5_TABLE_SIZE + self.typical_distribution_ratio = BIG5_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for big5 encoding, we are interested + # first byte range: 0xa4 -- 0xfe + # second byte range: 0x40 -- 0x7e , 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char, second_char = byte_str[0], byte_str[1] + if first_char >= 0xA4: + if second_char >= 0xA1: + return 157 * (first_char - 0xA4) + second_char - 0xA1 + 63 + else: + return 157 * (first_char - 0xA4) + second_char - 0x40 + else: + return -1 + + +class SJISDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(SJISDistributionAnalysis, self).__init__() + self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER + self._table_size = JIS_TABLE_SIZE + self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for sjis encoding, we are interested + # first byte range: 0x81 -- 0x9f , 0xe0 -- 0xfe + # second byte range: 0x40 -- 0x7e, 0x81 -- oxfe + # no validation needed here. State machine has done that + first_char, second_char = byte_str[0], byte_str[1] + if (first_char >= 0x81) and (first_char <= 0x9F): + order = 188 * (first_char - 0x81) + elif (first_char >= 0xE0) and (first_char <= 0xEF): + order = 188 * (first_char - 0xE0 + 31) + else: + return -1 + order = order + second_char - 0x40 + if second_char > 0x7F: + order = -1 + return order + + +class EUCJPDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(EUCJPDistributionAnalysis, self).__init__() + self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER + self._table_size = JIS_TABLE_SIZE + self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for euc-JP encoding, we are interested + # first byte range: 0xa0 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + char = byte_str[0] + if char >= 0xA0: + return 94 * (char - 0xA1) + byte_str[1] - 0xa1 + else: + return -1 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetgroupprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetgroupprober.py new file mode 100644 index 0000000..8b3738e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetgroupprober.py @@ -0,0 +1,106 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import ProbingState +from .charsetprober import CharSetProber + + +class CharSetGroupProber(CharSetProber): + def __init__(self, lang_filter=None): + super(CharSetGroupProber, self).__init__(lang_filter=lang_filter) + self._active_num = 0 + self.probers = [] + self._best_guess_prober = None + + def reset(self): + super(CharSetGroupProber, self).reset() + self._active_num = 0 + for prober in self.probers: + if prober: + prober.reset() + prober.active = True + self._active_num += 1 + self._best_guess_prober = None + + @property + def charset_name(self): + if not self._best_guess_prober: + self.get_confidence() + if not self._best_guess_prober: + return None + return self._best_guess_prober.charset_name + + @property + def language(self): + if not self._best_guess_prober: + self.get_confidence() + if not self._best_guess_prober: + return None + return self._best_guess_prober.language + + def feed(self, byte_str): + for prober in self.probers: + if not prober: + continue + if not prober.active: + continue + state = prober.feed(byte_str) + if not state: + continue + if state == ProbingState.FOUND_IT: + self._best_guess_prober = prober + return self.state + elif state == ProbingState.NOT_ME: + prober.active = False + self._active_num -= 1 + if self._active_num <= 0: + self._state = ProbingState.NOT_ME + return self.state + return self.state + + def get_confidence(self): + state = self.state + if state == ProbingState.FOUND_IT: + return 0.99 + elif state == ProbingState.NOT_ME: + return 0.01 + best_conf = 0.0 + self._best_guess_prober = None + for prober in self.probers: + if not prober: + continue + if not prober.active: + self.logger.debug('%s not active', prober.charset_name) + continue + conf = prober.get_confidence() + self.logger.debug('%s %s confidence = %s', prober.charset_name, prober.language, conf) + if best_conf < conf: + best_conf = conf + self._best_guess_prober = prober + if not self._best_guess_prober: + return 0.0 + return best_conf diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetprober.py new file mode 100644 index 0000000..eac4e59 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/charsetprober.py @@ -0,0 +1,145 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +import logging +import re + +from .enums import ProbingState + + +class CharSetProber(object): + + SHORTCUT_THRESHOLD = 0.95 + + def __init__(self, lang_filter=None): + self._state = None + self.lang_filter = lang_filter + self.logger = logging.getLogger(__name__) + + def reset(self): + self._state = ProbingState.DETECTING + + @property + def charset_name(self): + return None + + def feed(self, buf): + pass + + @property + def state(self): + return self._state + + def get_confidence(self): + return 0.0 + + @staticmethod + def filter_high_byte_only(buf): + buf = re.sub(b'([\x00-\x7F])+', b' ', buf) + return buf + + @staticmethod + def filter_international_words(buf): + """ + We define three types of bytes: + alphabet: english alphabets [a-zA-Z] + international: international characters [\x80-\xFF] + marker: everything else [^a-zA-Z\x80-\xFF] + + The input buffer can be thought to contain a series of words delimited + by markers. This function works to filter all words that contain at + least one international character. All contiguous sequences of markers + are replaced by a single space ascii character. + + This filter applies to all scripts which do not use English characters. + """ + filtered = bytearray() + + # This regex expression filters out only words that have at-least one + # international character. The word may include one marker character at + # the end. + words = re.findall(b'[a-zA-Z]*[\x80-\xFF]+[a-zA-Z]*[^a-zA-Z\x80-\xFF]?', + buf) + + for word in words: + filtered.extend(word[:-1]) + + # If the last character in the word is a marker, replace it with a + # space as markers shouldn't affect our analysis (they are used + # similarly across all languages and may thus have similar + # frequencies). + last_char = word[-1:] + if not last_char.isalpha() and last_char < b'\x80': + last_char = b' ' + filtered.extend(last_char) + + return filtered + + @staticmethod + def filter_with_english_letters(buf): + """ + Returns a copy of ``buf`` that retains only the sequences of English + alphabet and high byte characters that are not between <> characters. + Also retains English alphabet and high byte characters immediately + before occurrences of >. + + This filter can be applied to all scripts which contain both English + characters and extended ASCII characters, but is currently only used by + ``Latin1Prober``. + """ + filtered = bytearray() + in_tag = False + prev = 0 + + for curr in range(len(buf)): + # Slice here to get bytes instead of an int with Python 3 + buf_char = buf[curr:curr + 1] + # Check if we're coming out of or entering an HTML tag + if buf_char == b'>': + in_tag = False + elif buf_char == b'<': + in_tag = True + + # If current character is not extended-ASCII and not alphabetic... + if buf_char < b'\x80' and not buf_char.isalpha(): + # ...and we're not in a tag + if curr > prev and not in_tag: + # Keep everything after last non-extended-ASCII, + # non-alphabetic character + filtered.extend(buf[prev:curr]) + # Output a space to delimit stretch we kept + filtered.extend(b' ') + prev = curr + 1 + + # If we're not in a tag... + if not in_tag: + # Keep everything after last non-extended-ASCII, non-alphabetic + # character + filtered.extend(buf[prev:]) + + return filtered diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/__init__.py @@ -0,0 +1 @@ + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/chardetect.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/chardetect.py new file mode 100644 index 0000000..c61136b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cli/chardetect.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python +""" +Script which takes one or more file paths and reports on their detected +encodings + +Example:: + + % chardetect somefile someotherfile + somefile: windows-1252 with confidence 0.5 + someotherfile: ascii with confidence 1.0 + +If no paths are provided, it takes its input from stdin. + +""" + +from __future__ import absolute_import, print_function, unicode_literals + +import argparse +import sys + +from pip._vendor.chardet import __version__ +from pip._vendor.chardet.compat import PY2 +from pip._vendor.chardet.universaldetector import UniversalDetector + + +def description_of(lines, name='stdin'): + """ + Return a string describing the probable encoding of a file or + list of strings. + + :param lines: The lines to get the encoding of. + :type lines: Iterable of bytes + :param name: Name of file or collection of lines + :type name: str + """ + u = UniversalDetector() + for line in lines: + line = bytearray(line) + u.feed(line) + # shortcut out of the loop to save reading further - particularly useful if we read a BOM. + if u.done: + break + u.close() + result = u.result + if PY2: + name = name.decode(sys.getfilesystemencoding(), 'ignore') + if result['encoding']: + return '{0}: {1} with confidence {2}'.format(name, result['encoding'], + result['confidence']) + else: + return '{0}: no result'.format(name) + + +def main(argv=None): + """ + Handles command line arguments and gets things started. + + :param argv: List of arguments, as if specified on the command-line. + If None, ``sys.argv[1:]`` is used instead. + :type argv: list of str + """ + # Get command line arguments + parser = argparse.ArgumentParser( + description="Takes one or more file paths and reports their detected \ + encodings") + parser.add_argument('input', + help='File whose encoding we would like to determine. \ + (default: stdin)', + type=argparse.FileType('rb'), nargs='*', + default=[sys.stdin if PY2 else sys.stdin.buffer]) + parser.add_argument('--version', action='version', + version='%(prog)s {0}'.format(__version__)) + args = parser.parse_args(argv) + + for f in args.input: + if f.isatty(): + print("You are running chardetect interactively. Press " + + "CTRL-D twice at the start of a blank line to signal the " + + "end of your input. If you want help, run chardetect " + + "--help\n", file=sys.stderr) + print(description_of(f, f.name)) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/codingstatemachine.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/codingstatemachine.py new file mode 100644 index 0000000..68fba44 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/codingstatemachine.py @@ -0,0 +1,88 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +import logging + +from .enums import MachineState + + +class CodingStateMachine(object): + """ + A state machine to verify a byte sequence for a particular encoding. For + each byte the detector receives, it will feed that byte to every active + state machine available, one byte at a time. The state machine changes its + state based on its previous state and the byte it receives. There are 3 + states in a state machine that are of interest to an auto-detector: + + START state: This is the state to start with, or a legal byte sequence + (i.e. a valid code point) for character has been identified. + + ME state: This indicates that the state machine identified a byte sequence + that is specific to the charset it is designed for and that + there is no other possible encoding which can contain this byte + sequence. This will to lead to an immediate positive answer for + the detector. + + ERROR state: This indicates the state machine identified an illegal byte + sequence for that encoding. This will lead to an immediate + negative answer for this encoding. Detector will exclude this + encoding from consideration from here on. + """ + def __init__(self, sm): + self._model = sm + self._curr_byte_pos = 0 + self._curr_char_len = 0 + self._curr_state = None + self.logger = logging.getLogger(__name__) + self.reset() + + def reset(self): + self._curr_state = MachineState.START + + def next_state(self, c): + # for each byte we get its class + # if it is first byte, we also get byte length + byte_class = self._model['class_table'][c] + if self._curr_state == MachineState.START: + self._curr_byte_pos = 0 + self._curr_char_len = self._model['char_len_table'][byte_class] + # from byte's class and state_table, we get its next state + curr_state = (self._curr_state * self._model['class_factor'] + + byte_class) + self._curr_state = self._model['state_table'][curr_state] + self._curr_byte_pos += 1 + return self._curr_state + + def get_current_charlen(self): + return self._curr_char_len + + def get_coding_state_machine(self): + return self._model['name'] + + @property + def language(self): + return self._model['language'] diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/compat.py new file mode 100644 index 0000000..ddd7468 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/compat.py @@ -0,0 +1,34 @@ +######################## BEGIN LICENSE BLOCK ######################## +# Contributor(s): +# Dan Blanchard +# Ian Cordasco +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +import sys + + +if sys.version_info < (3, 0): + PY2 = True + PY3 = False + base_str = (str, unicode) + text_type = unicode +else: + PY2 = False + PY3 = True + base_str = (bytes, str) + text_type = str diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cp949prober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cp949prober.py new file mode 100644 index 0000000..efd793a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/cp949prober.py @@ -0,0 +1,49 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .chardistribution import EUCKRDistributionAnalysis +from .codingstatemachine import CodingStateMachine +from .mbcharsetprober import MultiByteCharSetProber +from .mbcssm import CP949_SM_MODEL + + +class CP949Prober(MultiByteCharSetProber): + def __init__(self): + super(CP949Prober, self).__init__() + self.coding_sm = CodingStateMachine(CP949_SM_MODEL) + # NOTE: CP949 is a superset of EUC-KR, so the distribution should be + # not different. + self.distribution_analyzer = EUCKRDistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "CP949" + + @property + def language(self): + return "Korean" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/enums.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/enums.py new file mode 100644 index 0000000..0451207 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/enums.py @@ -0,0 +1,76 @@ +""" +All of the Enums that are used throughout the chardet package. + +:author: Dan Blanchard (dan.blanchard@gmail.com) +""" + + +class InputState(object): + """ + This enum represents the different states a universal detector can be in. + """ + PURE_ASCII = 0 + ESC_ASCII = 1 + HIGH_BYTE = 2 + + +class LanguageFilter(object): + """ + This enum represents the different language filters we can apply to a + ``UniversalDetector``. + """ + CHINESE_SIMPLIFIED = 0x01 + CHINESE_TRADITIONAL = 0x02 + JAPANESE = 0x04 + KOREAN = 0x08 + NON_CJK = 0x10 + ALL = 0x1F + CHINESE = CHINESE_SIMPLIFIED | CHINESE_TRADITIONAL + CJK = CHINESE | JAPANESE | KOREAN + + +class ProbingState(object): + """ + This enum represents the different states a prober can be in. + """ + DETECTING = 0 + FOUND_IT = 1 + NOT_ME = 2 + + +class MachineState(object): + """ + This enum represents the different states a state machine can be in. + """ + START = 0 + ERROR = 1 + ITS_ME = 2 + + +class SequenceLikelihood(object): + """ + This enum represents the likelihood of a character following the previous one. + """ + NEGATIVE = 0 + UNLIKELY = 1 + LIKELY = 2 + POSITIVE = 3 + + @classmethod + def get_num_categories(cls): + """:returns: The number of likelihood categories in the enum.""" + return 4 + + +class CharacterCategory(object): + """ + This enum represents the different categories language models for + ``SingleByteCharsetProber`` put characters into. + + Anything less than CONTROL is considered a letter. + """ + UNDEFINED = 255 + LINE_BREAK = 254 + SYMBOL = 253 + DIGIT = 252 + CONTROL = 251 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escprober.py new file mode 100644 index 0000000..c70493f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escprober.py @@ -0,0 +1,101 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .codingstatemachine import CodingStateMachine +from .enums import LanguageFilter, ProbingState, MachineState +from .escsm import (HZ_SM_MODEL, ISO2022CN_SM_MODEL, ISO2022JP_SM_MODEL, + ISO2022KR_SM_MODEL) + + +class EscCharSetProber(CharSetProber): + """ + This CharSetProber uses a "code scheme" approach for detecting encodings, + whereby easily recognizable escape or shift sequences are relied on to + identify these encodings. + """ + + def __init__(self, lang_filter=None): + super(EscCharSetProber, self).__init__(lang_filter=lang_filter) + self.coding_sm = [] + if self.lang_filter & LanguageFilter.CHINESE_SIMPLIFIED: + self.coding_sm.append(CodingStateMachine(HZ_SM_MODEL)) + self.coding_sm.append(CodingStateMachine(ISO2022CN_SM_MODEL)) + if self.lang_filter & LanguageFilter.JAPANESE: + self.coding_sm.append(CodingStateMachine(ISO2022JP_SM_MODEL)) + if self.lang_filter & LanguageFilter.KOREAN: + self.coding_sm.append(CodingStateMachine(ISO2022KR_SM_MODEL)) + self.active_sm_count = None + self._detected_charset = None + self._detected_language = None + self._state = None + self.reset() + + def reset(self): + super(EscCharSetProber, self).reset() + for coding_sm in self.coding_sm: + if not coding_sm: + continue + coding_sm.active = True + coding_sm.reset() + self.active_sm_count = len(self.coding_sm) + self._detected_charset = None + self._detected_language = None + + @property + def charset_name(self): + return self._detected_charset + + @property + def language(self): + return self._detected_language + + def get_confidence(self): + if self._detected_charset: + return 0.99 + else: + return 0.00 + + def feed(self, byte_str): + for c in byte_str: + for coding_sm in self.coding_sm: + if not coding_sm or not coding_sm.active: + continue + coding_state = coding_sm.next_state(c) + if coding_state == MachineState.ERROR: + coding_sm.active = False + self.active_sm_count -= 1 + if self.active_sm_count <= 0: + self._state = ProbingState.NOT_ME + return self.state + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + self._detected_charset = coding_sm.get_coding_state_machine() + self._detected_language = coding_sm.language + return self.state + + return self.state diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escsm.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escsm.py new file mode 100644 index 0000000..0069523 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/escsm.py @@ -0,0 +1,246 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import MachineState + +HZ_CLS = ( +1,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,0,0, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,0,0,0,0, # 20 - 27 +0,0,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +0,0,0,0,0,0,0,0, # 40 - 47 +0,0,0,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,4,0,5,2,0, # 78 - 7f +1,1,1,1,1,1,1,1, # 80 - 87 +1,1,1,1,1,1,1,1, # 88 - 8f +1,1,1,1,1,1,1,1, # 90 - 97 +1,1,1,1,1,1,1,1, # 98 - 9f +1,1,1,1,1,1,1,1, # a0 - a7 +1,1,1,1,1,1,1,1, # a8 - af +1,1,1,1,1,1,1,1, # b0 - b7 +1,1,1,1,1,1,1,1, # b8 - bf +1,1,1,1,1,1,1,1, # c0 - c7 +1,1,1,1,1,1,1,1, # c8 - cf +1,1,1,1,1,1,1,1, # d0 - d7 +1,1,1,1,1,1,1,1, # d8 - df +1,1,1,1,1,1,1,1, # e0 - e7 +1,1,1,1,1,1,1,1, # e8 - ef +1,1,1,1,1,1,1,1, # f0 - f7 +1,1,1,1,1,1,1,1, # f8 - ff +) + +HZ_ST = ( +MachineState.START,MachineState.ERROR, 3,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,# 00-07 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 08-0f +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START, 4,MachineState.ERROR,# 10-17 + 5,MachineState.ERROR, 6,MachineState.ERROR, 5, 5, 4,MachineState.ERROR,# 18-1f + 4,MachineState.ERROR, 4, 4, 4,MachineState.ERROR, 4,MachineState.ERROR,# 20-27 + 4,MachineState.ITS_ME,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 28-2f +) + +HZ_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0) + +HZ_SM_MODEL = {'class_table': HZ_CLS, + 'class_factor': 6, + 'state_table': HZ_ST, + 'char_len_table': HZ_CHAR_LEN_TABLE, + 'name': "HZ-GB-2312", + 'language': 'Chinese'} + +ISO2022CN_CLS = ( +2,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,0,0, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,0,0,0,0, # 20 - 27 +0,3,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +0,0,0,4,0,0,0,0, # 40 - 47 +0,0,0,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,0,0,0,0,0, # 78 - 7f +2,2,2,2,2,2,2,2, # 80 - 87 +2,2,2,2,2,2,2,2, # 88 - 8f +2,2,2,2,2,2,2,2, # 90 - 97 +2,2,2,2,2,2,2,2, # 98 - 9f +2,2,2,2,2,2,2,2, # a0 - a7 +2,2,2,2,2,2,2,2, # a8 - af +2,2,2,2,2,2,2,2, # b0 - b7 +2,2,2,2,2,2,2,2, # b8 - bf +2,2,2,2,2,2,2,2, # c0 - c7 +2,2,2,2,2,2,2,2, # c8 - cf +2,2,2,2,2,2,2,2, # d0 - d7 +2,2,2,2,2,2,2,2, # d8 - df +2,2,2,2,2,2,2,2, # e0 - e7 +2,2,2,2,2,2,2,2, # e8 - ef +2,2,2,2,2,2,2,2, # f0 - f7 +2,2,2,2,2,2,2,2, # f8 - ff +) + +ISO2022CN_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 00-07 +MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 08-0f +MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 10-17 +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,# 18-1f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 20-27 + 5, 6,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 28-2f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 30-37 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,# 38-3f +) + +ISO2022CN_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0, 0, 0, 0) + +ISO2022CN_SM_MODEL = {'class_table': ISO2022CN_CLS, + 'class_factor': 9, + 'state_table': ISO2022CN_ST, + 'char_len_table': ISO2022CN_CHAR_LEN_TABLE, + 'name': "ISO-2022-CN", + 'language': 'Chinese'} + +ISO2022JP_CLS = ( +2,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,2,2, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,7,0,0,0, # 20 - 27 +3,0,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +6,0,4,0,8,0,0,0, # 40 - 47 +0,9,5,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,0,0,0,0,0, # 78 - 7f +2,2,2,2,2,2,2,2, # 80 - 87 +2,2,2,2,2,2,2,2, # 88 - 8f +2,2,2,2,2,2,2,2, # 90 - 97 +2,2,2,2,2,2,2,2, # 98 - 9f +2,2,2,2,2,2,2,2, # a0 - a7 +2,2,2,2,2,2,2,2, # a8 - af +2,2,2,2,2,2,2,2, # b0 - b7 +2,2,2,2,2,2,2,2, # b8 - bf +2,2,2,2,2,2,2,2, # c0 - c7 +2,2,2,2,2,2,2,2, # c8 - cf +2,2,2,2,2,2,2,2, # d0 - d7 +2,2,2,2,2,2,2,2, # d8 - df +2,2,2,2,2,2,2,2, # e0 - e7 +2,2,2,2,2,2,2,2, # e8 - ef +2,2,2,2,2,2,2,2, # f0 - f7 +2,2,2,2,2,2,2,2, # f8 - ff +) + +ISO2022JP_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 00-07 +MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 08-0f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 10-17 +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,# 18-1f +MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,MachineState.ERROR,# 20-27 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 6,MachineState.ITS_ME,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,# 28-2f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,# 30-37 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 38-3f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,MachineState.START,# 40-47 +) + +ISO2022JP_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0) + +ISO2022JP_SM_MODEL = {'class_table': ISO2022JP_CLS, + 'class_factor': 10, + 'state_table': ISO2022JP_ST, + 'char_len_table': ISO2022JP_CHAR_LEN_TABLE, + 'name': "ISO-2022-JP", + 'language': 'Japanese'} + +ISO2022KR_CLS = ( +2,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,0,0, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,3,0,0,0, # 20 - 27 +0,4,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +0,0,0,5,0,0,0,0, # 40 - 47 +0,0,0,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,0,0,0,0,0, # 78 - 7f +2,2,2,2,2,2,2,2, # 80 - 87 +2,2,2,2,2,2,2,2, # 88 - 8f +2,2,2,2,2,2,2,2, # 90 - 97 +2,2,2,2,2,2,2,2, # 98 - 9f +2,2,2,2,2,2,2,2, # a0 - a7 +2,2,2,2,2,2,2,2, # a8 - af +2,2,2,2,2,2,2,2, # b0 - b7 +2,2,2,2,2,2,2,2, # b8 - bf +2,2,2,2,2,2,2,2, # c0 - c7 +2,2,2,2,2,2,2,2, # c8 - cf +2,2,2,2,2,2,2,2, # d0 - d7 +2,2,2,2,2,2,2,2, # d8 - df +2,2,2,2,2,2,2,2, # e0 - e7 +2,2,2,2,2,2,2,2, # e8 - ef +2,2,2,2,2,2,2,2, # f0 - f7 +2,2,2,2,2,2,2,2, # f8 - ff +) + +ISO2022KR_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,# 00-07 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 08-0f +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,MachineState.ERROR,# 10-17 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 18-1f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 20-27 +) + +ISO2022KR_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0) + +ISO2022KR_SM_MODEL = {'class_table': ISO2022KR_CLS, + 'class_factor': 6, + 'state_table': ISO2022KR_ST, + 'char_len_table': ISO2022KR_CHAR_LEN_TABLE, + 'name': "ISO-2022-KR", + 'language': 'Korean'} + + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/eucjpprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/eucjpprober.py new file mode 100644 index 0000000..20ce8f7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/eucjpprober.py @@ -0,0 +1,92 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import ProbingState, MachineState +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import EUCJPDistributionAnalysis +from .jpcntx import EUCJPContextAnalysis +from .mbcssm import EUCJP_SM_MODEL + + +class EUCJPProber(MultiByteCharSetProber): + def __init__(self): + super(EUCJPProber, self).__init__() + self.coding_sm = CodingStateMachine(EUCJP_SM_MODEL) + self.distribution_analyzer = EUCJPDistributionAnalysis() + self.context_analyzer = EUCJPContextAnalysis() + self.reset() + + def reset(self): + super(EUCJPProber, self).reset() + self.context_analyzer.reset() + + @property + def charset_name(self): + return "EUC-JP" + + @property + def language(self): + return "Japanese" + + def feed(self, byte_str): + for i in range(len(byte_str)): + # PY3K: byte_str is a byte array, so byte_str[i] is an int, not a byte + coding_state = self.coding_sm.next_state(byte_str[i]) + if coding_state == MachineState.ERROR: + self.logger.debug('%s %s prober hit error at byte %s', + self.charset_name, self.language, i) + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + char_len = self.coding_sm.get_current_charlen() + if i == 0: + self._last_char[1] = byte_str[0] + self.context_analyzer.feed(self._last_char, char_len) + self.distribution_analyzer.feed(self._last_char, char_len) + else: + self.context_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + self.distribution_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + + self._last_char[0] = byte_str[-1] + + if self.state == ProbingState.DETECTING: + if (self.context_analyzer.got_enough_data() and + (self.get_confidence() > self.SHORTCUT_THRESHOLD)): + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + context_conf = self.context_analyzer.get_confidence() + distrib_conf = self.distribution_analyzer.get_confidence() + return max(context_conf, distrib_conf) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrfreq.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrfreq.py new file mode 100644 index 0000000..b68078c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrfreq.py @@ -0,0 +1,195 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# Sampling from about 20M text materials include literature and computer technology + +# 128 --> 0.79 +# 256 --> 0.92 +# 512 --> 0.986 +# 1024 --> 0.99944 +# 2048 --> 0.99999 +# +# Idea Distribution Ratio = 0.98653 / (1-0.98653) = 73.24 +# Random Distribution Ration = 512 / (2350-512) = 0.279. +# +# Typical Distribution Ratio + +EUCKR_TYPICAL_DISTRIBUTION_RATIO = 6.0 + +EUCKR_TABLE_SIZE = 2352 + +# Char to FreqOrder table , +EUCKR_CHAR_TO_FREQ_ORDER = ( + 13, 130, 120,1396, 481,1719,1720, 328, 609, 212,1721, 707, 400, 299,1722, 87, +1397,1723, 104, 536,1117,1203,1724,1267, 685,1268, 508,1725,1726,1727,1728,1398, +1399,1729,1730,1731, 141, 621, 326,1057, 368,1732, 267, 488, 20,1733,1269,1734, + 945,1400,1735, 47, 904,1270,1736,1737, 773, 248,1738, 409, 313, 786, 429,1739, + 116, 987, 813,1401, 683, 75,1204, 145,1740,1741,1742,1743, 16, 847, 667, 622, + 708,1744,1745,1746, 966, 787, 304, 129,1747, 60, 820, 123, 676,1748,1749,1750, +1751, 617,1752, 626,1753,1754,1755,1756, 653,1757,1758,1759,1760,1761,1762, 856, + 344,1763,1764,1765,1766, 89, 401, 418, 806, 905, 848,1767,1768,1769, 946,1205, + 709,1770,1118,1771, 241,1772,1773,1774,1271,1775, 569,1776, 999,1777,1778,1779, +1780, 337, 751,1058, 28, 628, 254,1781, 177, 906, 270, 349, 891,1079,1782, 19, +1783, 379,1784, 315,1785, 629, 754,1402, 559,1786, 636, 203,1206,1787, 710, 567, +1788, 935, 814,1789,1790,1207, 766, 528,1791,1792,1208,1793,1794,1795,1796,1797, +1403,1798,1799, 533,1059,1404,1405,1156,1406, 936, 884,1080,1800, 351,1801,1802, +1803,1804,1805, 801,1806,1807,1808,1119,1809,1157, 714, 474,1407,1810, 298, 899, + 885,1811,1120, 802,1158,1812, 892,1813,1814,1408, 659,1815,1816,1121,1817,1818, +1819,1820,1821,1822, 319,1823, 594, 545,1824, 815, 937,1209,1825,1826, 573,1409, +1022,1827,1210,1828,1829,1830,1831,1832,1833, 556, 722, 807,1122,1060,1834, 697, +1835, 900, 557, 715,1836,1410, 540,1411, 752,1159, 294, 597,1211, 976, 803, 770, +1412,1837,1838, 39, 794,1413, 358,1839, 371, 925,1840, 453, 661, 788, 531, 723, + 544,1023,1081, 869, 91,1841, 392, 430, 790, 602,1414, 677,1082, 457,1415,1416, +1842,1843, 475, 327,1024,1417, 795, 121,1844, 733, 403,1418,1845,1846,1847, 300, + 119, 711,1212, 627,1848,1272, 207,1849,1850, 796,1213, 382,1851, 519,1852,1083, + 893,1853,1854,1855, 367, 809, 487, 671,1856, 663,1857,1858, 956, 471, 306, 857, +1859,1860,1160,1084,1861,1862,1863,1864,1865,1061,1866,1867,1868,1869,1870,1871, + 282, 96, 574,1872, 502,1085,1873,1214,1874, 907,1875,1876, 827, 977,1419,1420, +1421, 268,1877,1422,1878,1879,1880, 308,1881, 2, 537,1882,1883,1215,1884,1885, + 127, 791,1886,1273,1423,1887, 34, 336, 404, 643,1888, 571, 654, 894, 840,1889, + 0, 886,1274, 122, 575, 260, 908, 938,1890,1275, 410, 316,1891,1892, 100,1893, +1894,1123, 48,1161,1124,1025,1895, 633, 901,1276,1896,1897, 115, 816,1898, 317, +1899, 694,1900, 909, 734,1424, 572, 866,1425, 691, 85, 524,1010, 543, 394, 841, +1901,1902,1903,1026,1904,1905,1906,1907,1908,1909, 30, 451, 651, 988, 310,1910, +1911,1426, 810,1216, 93,1912,1913,1277,1217,1914, 858, 759, 45, 58, 181, 610, + 269,1915,1916, 131,1062, 551, 443,1000, 821,1427, 957, 895,1086,1917,1918, 375, +1919, 359,1920, 687,1921, 822,1922, 293,1923,1924, 40, 662, 118, 692, 29, 939, + 887, 640, 482, 174,1925, 69,1162, 728,1428, 910,1926,1278,1218,1279, 386, 870, + 217, 854,1163, 823,1927,1928,1929,1930, 834,1931, 78,1932, 859,1933,1063,1934, +1935,1936,1937, 438,1164, 208, 595,1938,1939,1940,1941,1219,1125,1942, 280, 888, +1429,1430,1220,1431,1943,1944,1945,1946,1947,1280, 150, 510,1432,1948,1949,1950, +1951,1952,1953,1954,1011,1087,1955,1433,1043,1956, 881,1957, 614, 958,1064,1065, +1221,1958, 638,1001, 860, 967, 896,1434, 989, 492, 553,1281,1165,1959,1282,1002, +1283,1222,1960,1961,1962,1963, 36, 383, 228, 753, 247, 454,1964, 876, 678,1965, +1966,1284, 126, 464, 490, 835, 136, 672, 529, 940,1088,1435, 473,1967,1968, 467, + 50, 390, 227, 587, 279, 378, 598, 792, 968, 240, 151, 160, 849, 882,1126,1285, + 639,1044, 133, 140, 288, 360, 811, 563,1027, 561, 142, 523,1969,1970,1971, 7, + 103, 296, 439, 407, 506, 634, 990,1972,1973,1974,1975, 645,1976,1977,1978,1979, +1980,1981, 236,1982,1436,1983,1984,1089, 192, 828, 618, 518,1166, 333,1127,1985, + 818,1223,1986,1987,1988,1989,1990,1991,1992,1993, 342,1128,1286, 746, 842,1994, +1995, 560, 223,1287, 98, 8, 189, 650, 978,1288,1996,1437,1997, 17, 345, 250, + 423, 277, 234, 512, 226, 97, 289, 42, 167,1998, 201,1999,2000, 843, 836, 824, + 532, 338, 783,1090, 182, 576, 436,1438,1439, 527, 500,2001, 947, 889,2002,2003, +2004,2005, 262, 600, 314, 447,2006, 547,2007, 693, 738,1129,2008, 71,1440, 745, + 619, 688,2009, 829,2010,2011, 147,2012, 33, 948,2013,2014, 74, 224,2015, 61, + 191, 918, 399, 637,2016,1028,1130, 257, 902,2017,2018,2019,2020,2021,2022,2023, +2024,2025,2026, 837,2027,2028,2029,2030, 179, 874, 591, 52, 724, 246,2031,2032, +2033,2034,1167, 969,2035,1289, 630, 605, 911,1091,1168,2036,2037,2038,1441, 912, +2039, 623,2040,2041, 253,1169,1290,2042,1442, 146, 620, 611, 577, 433,2043,1224, + 719,1170, 959, 440, 437, 534, 84, 388, 480,1131, 159, 220, 198, 679,2044,1012, + 819,1066,1443, 113,1225, 194, 318,1003,1029,2045,2046,2047,2048,1067,2049,2050, +2051,2052,2053, 59, 913, 112,2054, 632,2055, 455, 144, 739,1291,2056, 273, 681, + 499,2057, 448,2058,2059, 760,2060,2061, 970, 384, 169, 245,1132,2062,2063, 414, +1444,2064,2065, 41, 235,2066, 157, 252, 877, 568, 919, 789, 580,2067, 725,2068, +2069,1292,2070,2071,1445,2072,1446,2073,2074, 55, 588, 66,1447, 271,1092,2075, +1226,2076, 960,1013, 372,2077,2078,2079,2080,2081,1293,2082,2083,2084,2085, 850, +2086,2087,2088,2089,2090, 186,2091,1068, 180,2092,2093,2094, 109,1227, 522, 606, +2095, 867,1448,1093, 991,1171, 926, 353,1133,2096, 581,2097,2098,2099,1294,1449, +1450,2100, 596,1172,1014,1228,2101,1451,1295,1173,1229,2102,2103,1296,1134,1452, + 949,1135,2104,2105,1094,1453,1454,1455,2106,1095,2107,2108,2109,2110,2111,2112, +2113,2114,2115,2116,2117, 804,2118,2119,1230,1231, 805,1456, 405,1136,2120,2121, +2122,2123,2124, 720, 701,1297, 992,1457, 927,1004,2125,2126,2127,2128,2129,2130, + 22, 417,2131, 303,2132, 385,2133, 971, 520, 513,2134,1174, 73,1096, 231, 274, + 962,1458, 673,2135,1459,2136, 152,1137,2137,2138,2139,2140,1005,1138,1460,1139, +2141,2142,2143,2144, 11, 374, 844,2145, 154,1232, 46,1461,2146, 838, 830, 721, +1233, 106,2147, 90, 428, 462, 578, 566,1175, 352,2148,2149, 538,1234, 124,1298, +2150,1462, 761, 565,2151, 686,2152, 649,2153, 72, 173,2154, 460, 415,2155,1463, +2156,1235, 305,2157,2158,2159,2160,2161,2162, 579,2163,2164,2165,2166,2167, 747, +2168,2169,2170,2171,1464, 669,2172,2173,2174,2175,2176,1465,2177, 23, 530, 285, +2178, 335, 729,2179, 397,2180,2181,2182,1030,2183,2184, 698,2185,2186, 325,2187, +2188, 369,2189, 799,1097,1015, 348,2190,1069, 680,2191, 851,1466,2192,2193, 10, +2194, 613, 424,2195, 979, 108, 449, 589, 27, 172, 81,1031, 80, 774, 281, 350, +1032, 525, 301, 582,1176,2196, 674,1045,2197,2198,1467, 730, 762,2199,2200,2201, +2202,1468,2203, 993,2204,2205, 266,1070, 963,1140,2206,2207,2208, 664,1098, 972, +2209,2210,2211,1177,1469,1470, 871,2212,2213,2214,2215,2216,1471,2217,2218,2219, +2220,2221,2222,2223,2224,2225,2226,2227,1472,1236,2228,2229,2230,2231,2232,2233, +2234,2235,1299,2236,2237, 200,2238, 477, 373,2239,2240, 731, 825, 777,2241,2242, +2243, 521, 486, 548,2244,2245,2246,1473,1300, 53, 549, 137, 875, 76, 158,2247, +1301,1474, 469, 396,1016, 278, 712,2248, 321, 442, 503, 767, 744, 941,1237,1178, +1475,2249, 82, 178,1141,1179, 973,2250,1302,2251, 297,2252,2253, 570,2254,2255, +2256, 18, 450, 206,2257, 290, 292,1142,2258, 511, 162, 99, 346, 164, 735,2259, +1476,1477, 4, 554, 343, 798,1099,2260,1100,2261, 43, 171,1303, 139, 215,2262, +2263, 717, 775,2264,1033, 322, 216,2265, 831,2266, 149,2267,1304,2268,2269, 702, +1238, 135, 845, 347, 309,2270, 484,2271, 878, 655, 238,1006,1478,2272, 67,2273, + 295,2274,2275, 461,2276, 478, 942, 412,2277,1034,2278,2279,2280, 265,2281, 541, +2282,2283,2284,2285,2286, 70, 852,1071,2287,2288,2289,2290, 21, 56, 509, 117, + 432,2291,2292, 331, 980, 552,1101, 148, 284, 105, 393,1180,1239, 755,2293, 187, +2294,1046,1479,2295, 340,2296, 63,1047, 230,2297,2298,1305, 763,1306, 101, 800, + 808, 494,2299,2300,2301, 903,2302, 37,1072, 14, 5,2303, 79, 675,2304, 312, +2305,2306,2307,2308,2309,1480, 6,1307,2310,2311,2312, 1, 470, 35, 24, 229, +2313, 695, 210, 86, 778, 15, 784, 592, 779, 32, 77, 855, 964,2314, 259,2315, + 501, 380,2316,2317, 83, 981, 153, 689,1308,1481,1482,1483,2318,2319, 716,1484, +2320,2321,2322,2323,2324,2325,1485,2326,2327, 128, 57, 68, 261,1048, 211, 170, +1240, 31,2328, 51, 435, 742,2329,2330,2331, 635,2332, 264, 456,2333,2334,2335, + 425,2336,1486, 143, 507, 263, 943,2337, 363, 920,1487, 256,1488,1102, 243, 601, +1489,2338,2339,2340,2341,2342,2343,2344, 861,2345,2346,2347,2348,2349,2350, 395, +2351,1490,1491, 62, 535, 166, 225,2352,2353, 668, 419,1241, 138, 604, 928,2354, +1181,2355,1492,1493,2356,2357,2358,1143,2359, 696,2360, 387, 307,1309, 682, 476, +2361,2362, 332, 12, 222, 156,2363, 232,2364, 641, 276, 656, 517,1494,1495,1035, + 416, 736,1496,2365,1017, 586,2366,2367,2368,1497,2369, 242,2370,2371,2372,1498, +2373, 965, 713,2374,2375,2376,2377, 740, 982,1499, 944,1500,1007,2378,2379,1310, +1501,2380,2381,2382, 785, 329,2383,2384,1502,2385,2386,2387, 932,2388,1503,2389, +2390,2391,2392,1242,2393,2394,2395,2396,2397, 994, 950,2398,2399,2400,2401,1504, +1311,2402,2403,2404,2405,1049, 749,2406,2407, 853, 718,1144,1312,2408,1182,1505, +2409,2410, 255, 516, 479, 564, 550, 214,1506,1507,1313, 413, 239, 444, 339,1145, +1036,1508,1509,1314,1037,1510,1315,2411,1511,2412,2413,2414, 176, 703, 497, 624, + 593, 921, 302,2415, 341, 165,1103,1512,2416,1513,2417,2418,2419, 376,2420, 700, +2421,2422,2423, 258, 768,1316,2424,1183,2425, 995, 608,2426,2427,2428,2429, 221, +2430,2431,2432,2433,2434,2435,2436,2437, 195, 323, 726, 188, 897, 983,1317, 377, + 644,1050, 879,2438, 452,2439,2440,2441,2442,2443,2444, 914,2445,2446,2447,2448, + 915, 489,2449,1514,1184,2450,2451, 515, 64, 427, 495,2452, 583,2453, 483, 485, +1038, 562, 213,1515, 748, 666,2454,2455,2456,2457, 334,2458, 780, 996,1008, 705, +1243,2459,2460,2461,2462,2463, 114,2464, 493,1146, 366, 163,1516, 961,1104,2465, + 291,2466,1318,1105,2467,1517, 365,2468, 355, 951,1244,2469,1319,2470, 631,2471, +2472, 218,1320, 364, 320, 756,1518,1519,1321,1520,1322,2473,2474,2475,2476, 997, +2477,2478,2479,2480, 665,1185,2481, 916,1521,2482,2483,2484, 584, 684,2485,2486, + 797,2487,1051,1186,2488,2489,2490,1522,2491,2492, 370,2493,1039,1187, 65,2494, + 434, 205, 463,1188,2495, 125, 812, 391, 402, 826, 699, 286, 398, 155, 781, 771, + 585,2496, 590, 505,1073,2497, 599, 244, 219, 917,1018, 952, 646,1523,2498,1323, +2499,2500, 49, 984, 354, 741,2501, 625,2502,1324,2503,1019, 190, 357, 757, 491, + 95, 782, 868,2504,2505,2506,2507,2508,2509, 134,1524,1074, 422,1525, 898,2510, + 161,2511,2512,2513,2514, 769,2515,1526,2516,2517, 411,1325,2518, 472,1527,2519, +2520,2521,2522,2523,2524, 985,2525,2526,2527,2528,2529,2530, 764,2531,1245,2532, +2533, 25, 204, 311,2534, 496,2535,1052,2536,2537,2538,2539,2540,2541,2542, 199, + 704, 504, 468, 758, 657,1528, 196, 44, 839,1246, 272, 750,2543, 765, 862,2544, +2545,1326,2546, 132, 615, 933,2547, 732,2548,2549,2550,1189,1529,2551, 283,1247, +1053, 607, 929,2552,2553,2554, 930, 183, 872, 616,1040,1147,2555,1148,1020, 441, + 249,1075,2556,2557,2558, 466, 743,2559,2560,2561, 92, 514, 426, 420, 526,2562, +2563,2564,2565,2566,2567,2568, 185,2569,2570,2571,2572, 776,1530, 658,2573, 362, +2574, 361, 922,1076, 793,2575,2576,2577,2578,2579,2580,1531, 251,2581,2582,2583, +2584,1532, 54, 612, 237,1327,2585,2586, 275, 408, 647, 111,2587,1533,1106, 465, + 3, 458, 9, 38,2588, 107, 110, 890, 209, 26, 737, 498,2589,1534,2590, 431, + 202, 88,1535, 356, 287,1107, 660,1149,2591, 381,1536, 986,1150, 445,1248,1151, + 974,2592,2593, 846,2594, 446, 953, 184,1249,1250, 727,2595, 923, 193, 883,2596, +2597,2598, 102, 324, 539, 817,2599, 421,1041,2600, 832,2601, 94, 175, 197, 406, +2602, 459,2603,2604,2605,2606,2607, 330, 555,2608,2609,2610, 706,1108, 389,2611, +2612,2613,2614, 233,2615, 833, 558, 931, 954,1251,2616,2617,1537, 546,2618,2619, +1009,2620,2621,2622,1538, 690,1328,2623, 955,2624,1539,2625,2626, 772,2627,2628, +2629,2630,2631, 924, 648, 863, 603,2632,2633, 934,1540, 864, 865,2634, 642,1042, + 670,1190,2635,2636,2637,2638, 168,2639, 652, 873, 542,1054,1541,2640,2641,2642, # 512, 256 +) + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrprober.py new file mode 100644 index 0000000..345a060 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euckrprober.py @@ -0,0 +1,47 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import EUCKRDistributionAnalysis +from .mbcssm import EUCKR_SM_MODEL + + +class EUCKRProber(MultiByteCharSetProber): + def __init__(self): + super(EUCKRProber, self).__init__() + self.coding_sm = CodingStateMachine(EUCKR_SM_MODEL) + self.distribution_analyzer = EUCKRDistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "EUC-KR" + + @property + def language(self): + return "Korean" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwfreq.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwfreq.py new file mode 100644 index 0000000..ed7a995 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwfreq.py @@ -0,0 +1,387 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# EUCTW frequency table +# Converted from big5 work +# by Taiwan's Mandarin Promotion Council +# <http:#www.edu.tw:81/mandr/> + +# 128 --> 0.42261 +# 256 --> 0.57851 +# 512 --> 0.74851 +# 1024 --> 0.89384 +# 2048 --> 0.97583 +# +# Idea Distribution Ratio = 0.74851/(1-0.74851) =2.98 +# Random Distribution Ration = 512/(5401-512)=0.105 +# +# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR + +EUCTW_TYPICAL_DISTRIBUTION_RATIO = 0.75 + +# Char to FreqOrder table , +EUCTW_TABLE_SIZE = 5376 + +EUCTW_CHAR_TO_FREQ_ORDER = ( + 1,1800,1506, 255,1431, 198, 9, 82, 6,7310, 177, 202,3615,1256,2808, 110, # 2742 +3735, 33,3241, 261, 76, 44,2113, 16,2931,2184,1176, 659,3868, 26,3404,2643, # 2758 +1198,3869,3313,4060, 410,2211, 302, 590, 361,1963, 8, 204, 58,4296,7311,1931, # 2774 + 63,7312,7313, 317,1614, 75, 222, 159,4061,2412,1480,7314,3500,3068, 224,2809, # 2790 +3616, 3, 10,3870,1471, 29,2774,1135,2852,1939, 873, 130,3242,1123, 312,7315, # 2806 +4297,2051, 507, 252, 682,7316, 142,1914, 124, 206,2932, 34,3501,3173, 64, 604, # 2822 +7317,2494,1976,1977, 155,1990, 645, 641,1606,7318,3405, 337, 72, 406,7319, 80, # 2838 + 630, 238,3174,1509, 263, 939,1092,2644, 756,1440,1094,3406, 449, 69,2969, 591, # 2854 + 179,2095, 471, 115,2034,1843, 60, 50,2970, 134, 806,1868, 734,2035,3407, 180, # 2870 + 995,1607, 156, 537,2893, 688,7320, 319,1305, 779,2144, 514,2374, 298,4298, 359, # 2886 +2495, 90,2707,1338, 663, 11, 906,1099,2545, 20,2436, 182, 532,1716,7321, 732, # 2902 +1376,4062,1311,1420,3175, 25,2312,1056, 113, 399, 382,1949, 242,3408,2467, 529, # 2918 +3243, 475,1447,3617,7322, 117, 21, 656, 810,1297,2295,2329,3502,7323, 126,4063, # 2934 + 706, 456, 150, 613,4299, 71,1118,2036,4064, 145,3069, 85, 835, 486,2114,1246, # 2950 +1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,7324,2127,2354, 347,3736, 221, # 2966 +3503,3110,7325,1955,1153,4065, 83, 296,1199,3070, 192, 624, 93,7326, 822,1897, # 2982 +2810,3111, 795,2064, 991,1554,1542,1592, 27, 43,2853, 859, 139,1456, 860,4300, # 2998 + 437, 712,3871, 164,2392,3112, 695, 211,3017,2096, 195,3872,1608,3504,3505,3618, # 3014 +3873, 234, 811,2971,2097,3874,2229,1441,3506,1615,2375, 668,2076,1638, 305, 228, # 3030 +1664,4301, 467, 415,7327, 262,2098,1593, 239, 108, 300, 200,1033, 512,1247,2077, # 3046 +7328,7329,2173,3176,3619,2673, 593, 845,1062,3244, 88,1723,2037,3875,1950, 212, # 3062 + 266, 152, 149, 468,1898,4066,4302, 77, 187,7330,3018, 37, 5,2972,7331,3876, # 3078 +7332,7333, 39,2517,4303,2894,3177,2078, 55, 148, 74,4304, 545, 483,1474,1029, # 3094 +1665, 217,1869,1531,3113,1104,2645,4067, 24, 172,3507, 900,3877,3508,3509,4305, # 3110 + 32,1408,2811,1312, 329, 487,2355,2247,2708, 784,2674, 4,3019,3314,1427,1788, # 3126 + 188, 109, 499,7334,3620,1717,1789, 888,1217,3020,4306,7335,3510,7336,3315,1520, # 3142 +3621,3878, 196,1034, 775,7337,7338, 929,1815, 249, 439, 38,7339,1063,7340, 794, # 3158 +3879,1435,2296, 46, 178,3245,2065,7341,2376,7342, 214,1709,4307, 804, 35, 707, # 3174 + 324,3622,1601,2546, 140, 459,4068,7343,7344,1365, 839, 272, 978,2257,2572,3409, # 3190 +2128,1363,3623,1423, 697, 100,3071, 48, 70,1231, 495,3114,2193,7345,1294,7346, # 3206 +2079, 462, 586,1042,3246, 853, 256, 988, 185,2377,3410,1698, 434,1084,7347,3411, # 3222 + 314,2615,2775,4308,2330,2331, 569,2280, 637,1816,2518, 757,1162,1878,1616,3412, # 3238 + 287,1577,2115, 768,4309,1671,2854,3511,2519,1321,3737, 909,2413,7348,4069, 933, # 3254 +3738,7349,2052,2356,1222,4310, 765,2414,1322, 786,4311,7350,1919,1462,1677,2895, # 3270 +1699,7351,4312,1424,2437,3115,3624,2590,3316,1774,1940,3413,3880,4070, 309,1369, # 3286 +1130,2812, 364,2230,1653,1299,3881,3512,3882,3883,2646, 525,1085,3021, 902,2000, # 3302 +1475, 964,4313, 421,1844,1415,1057,2281, 940,1364,3116, 376,4314,4315,1381, 7, # 3318 +2520, 983,2378, 336,1710,2675,1845, 321,3414, 559,1131,3022,2742,1808,1132,1313, # 3334 + 265,1481,1857,7352, 352,1203,2813,3247, 167,1089, 420,2814, 776, 792,1724,3513, # 3350 +4071,2438,3248,7353,4072,7354, 446, 229, 333,2743, 901,3739,1200,1557,4316,2647, # 3366 +1920, 395,2744,2676,3740,4073,1835, 125, 916,3178,2616,4317,7355,7356,3741,7357, # 3382 +7358,7359,4318,3117,3625,1133,2547,1757,3415,1510,2313,1409,3514,7360,2145, 438, # 3398 +2591,2896,2379,3317,1068, 958,3023, 461, 311,2855,2677,4074,1915,3179,4075,1978, # 3414 + 383, 750,2745,2617,4076, 274, 539, 385,1278,1442,7361,1154,1964, 384, 561, 210, # 3430 + 98,1295,2548,3515,7362,1711,2415,1482,3416,3884,2897,1257, 129,7363,3742, 642, # 3446 + 523,2776,2777,2648,7364, 141,2231,1333, 68, 176, 441, 876, 907,4077, 603,2592, # 3462 + 710, 171,3417, 404, 549, 18,3118,2393,1410,3626,1666,7365,3516,4319,2898,4320, # 3478 +7366,2973, 368,7367, 146, 366, 99, 871,3627,1543, 748, 807,1586,1185, 22,2258, # 3494 + 379,3743,3180,7368,3181, 505,1941,2618,1991,1382,2314,7369, 380,2357, 218, 702, # 3510 +1817,1248,3418,3024,3517,3318,3249,7370,2974,3628, 930,3250,3744,7371, 59,7372, # 3526 + 585, 601,4078, 497,3419,1112,1314,4321,1801,7373,1223,1472,2174,7374, 749,1836, # 3542 + 690,1899,3745,1772,3885,1476, 429,1043,1790,2232,2116, 917,4079, 447,1086,1629, # 3558 +7375, 556,7376,7377,2020,1654, 844,1090, 105, 550, 966,1758,2815,1008,1782, 686, # 3574 +1095,7378,2282, 793,1602,7379,3518,2593,4322,4080,2933,2297,4323,3746, 980,2496, # 3590 + 544, 353, 527,4324, 908,2678,2899,7380, 381,2619,1942,1348,7381,1341,1252, 560, # 3606 +3072,7382,3420,2856,7383,2053, 973, 886,2080, 143,4325,7384,7385, 157,3886, 496, # 3622 +4081, 57, 840, 540,2038,4326,4327,3421,2117,1445, 970,2259,1748,1965,2081,4082, # 3638 +3119,1234,1775,3251,2816,3629, 773,1206,2129,1066,2039,1326,3887,1738,1725,4083, # 3654 + 279,3120, 51,1544,2594, 423,1578,2130,2066, 173,4328,1879,7386,7387,1583, 264, # 3670 + 610,3630,4329,2439, 280, 154,7388,7389,7390,1739, 338,1282,3073, 693,2857,1411, # 3686 +1074,3747,2440,7391,4330,7392,7393,1240, 952,2394,7394,2900,1538,2679, 685,1483, # 3702 +4084,2468,1436, 953,4085,2054,4331, 671,2395, 79,4086,2441,3252, 608, 567,2680, # 3718 +3422,4087,4088,1691, 393,1261,1791,2396,7395,4332,7396,7397,7398,7399,1383,1672, # 3734 +3748,3182,1464, 522,1119, 661,1150, 216, 675,4333,3888,1432,3519, 609,4334,2681, # 3750 +2397,7400,7401,7402,4089,3025, 0,7403,2469, 315, 231,2442, 301,3319,4335,2380, # 3766 +7404, 233,4090,3631,1818,4336,4337,7405, 96,1776,1315,2082,7406, 257,7407,1809, # 3782 +3632,2709,1139,1819,4091,2021,1124,2163,2778,1777,2649,7408,3074, 363,1655,3183, # 3798 +7409,2975,7410,7411,7412,3889,1567,3890, 718, 103,3184, 849,1443, 341,3320,2934, # 3814 +1484,7413,1712, 127, 67, 339,4092,2398, 679,1412, 821,7414,7415, 834, 738, 351, # 3830 +2976,2146, 846, 235,1497,1880, 418,1992,3749,2710, 186,1100,2147,2746,3520,1545, # 3846 +1355,2935,2858,1377, 583,3891,4093,2573,2977,7416,1298,3633,1078,2549,3634,2358, # 3862 + 78,3750,3751, 267,1289,2099,2001,1594,4094, 348, 369,1274,2194,2175,1837,4338, # 3878 +1820,2817,3635,2747,2283,2002,4339,2936,2748, 144,3321, 882,4340,3892,2749,3423, # 3894 +4341,2901,7417,4095,1726, 320,7418,3893,3026, 788,2978,7419,2818,1773,1327,2859, # 3910 +3894,2819,7420,1306,4342,2003,1700,3752,3521,2359,2650, 787,2022, 506, 824,3636, # 3926 + 534, 323,4343,1044,3322,2023,1900, 946,3424,7421,1778,1500,1678,7422,1881,4344, # 3942 + 165, 243,4345,3637,2521, 123, 683,4096, 764,4346, 36,3895,1792, 589,2902, 816, # 3958 + 626,1667,3027,2233,1639,1555,1622,3753,3896,7423,3897,2860,1370,1228,1932, 891, # 3974 +2083,2903, 304,4097,7424, 292,2979,2711,3522, 691,2100,4098,1115,4347, 118, 662, # 3990 +7425, 611,1156, 854,2381,1316,2861, 2, 386, 515,2904,7426,7427,3253, 868,2234, # 4006 +1486, 855,2651, 785,2212,3028,7428,1040,3185,3523,7429,3121, 448,7430,1525,7431, # 4022 +2164,4348,7432,3754,7433,4099,2820,3524,3122, 503, 818,3898,3123,1568, 814, 676, # 4038 +1444, 306,1749,7434,3755,1416,1030, 197,1428, 805,2821,1501,4349,7435,7436,7437, # 4054 +1993,7438,4350,7439,7440,2195, 13,2779,3638,2980,3124,1229,1916,7441,3756,2131, # 4070 +7442,4100,4351,2399,3525,7443,2213,1511,1727,1120,7444,7445, 646,3757,2443, 307, # 4086 +7446,7447,1595,3186,7448,7449,7450,3639,1113,1356,3899,1465,2522,2523,7451, 519, # 4102 +7452, 128,2132, 92,2284,1979,7453,3900,1512, 342,3125,2196,7454,2780,2214,1980, # 4118 +3323,7455, 290,1656,1317, 789, 827,2360,7456,3758,4352, 562, 581,3901,7457, 401, # 4134 +4353,2248, 94,4354,1399,2781,7458,1463,2024,4355,3187,1943,7459, 828,1105,4101, # 4150 +1262,1394,7460,4102, 605,4356,7461,1783,2862,7462,2822, 819,2101, 578,2197,2937, # 4166 +7463,1502, 436,3254,4103,3255,2823,3902,2905,3425,3426,7464,2712,2315,7465,7466, # 4182 +2332,2067, 23,4357, 193, 826,3759,2102, 699,1630,4104,3075, 390,1793,1064,3526, # 4198 +7467,1579,3076,3077,1400,7468,4105,1838,1640,2863,7469,4358,4359, 137,4106, 598, # 4214 +3078,1966, 780, 104, 974,2938,7470, 278, 899, 253, 402, 572, 504, 493,1339,7471, # 4230 +3903,1275,4360,2574,2550,7472,3640,3029,3079,2249, 565,1334,2713, 863, 41,7473, # 4246 +7474,4361,7475,1657,2333, 19, 463,2750,4107, 606,7476,2981,3256,1087,2084,1323, # 4262 +2652,2982,7477,1631,1623,1750,4108,2682,7478,2864, 791,2714,2653,2334, 232,2416, # 4278 +7479,2983,1498,7480,2654,2620, 755,1366,3641,3257,3126,2025,1609, 119,1917,3427, # 4294 + 862,1026,4109,7481,3904,3760,4362,3905,4363,2260,1951,2470,7482,1125, 817,4110, # 4310 +4111,3906,1513,1766,2040,1487,4112,3030,3258,2824,3761,3127,7483,7484,1507,7485, # 4326 +2683, 733, 40,1632,1106,2865, 345,4113, 841,2524, 230,4364,2984,1846,3259,3428, # 4342 +7486,1263, 986,3429,7487, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562,3907, # 4358 +3908,2939, 967,2751,2655,1349, 592,2133,1692,3324,2985,1994,4114,1679,3909,1901, # 4374 +2185,7488, 739,3642,2715,1296,1290,7489,4115,2198,2199,1921,1563,2595,2551,1870, # 4390 +2752,2986,7490, 435,7491, 343,1108, 596, 17,1751,4365,2235,3430,3643,7492,4366, # 4406 + 294,3527,2940,1693, 477, 979, 281,2041,3528, 643,2042,3644,2621,2782,2261,1031, # 4422 +2335,2134,2298,3529,4367, 367,1249,2552,7493,3530,7494,4368,1283,3325,2004, 240, # 4438 +1762,3326,4369,4370, 836,1069,3128, 474,7495,2148,2525, 268,3531,7496,3188,1521, # 4454 +1284,7497,1658,1546,4116,7498,3532,3533,7499,4117,3327,2684,1685,4118, 961,1673, # 4470 +2622, 190,2005,2200,3762,4371,4372,7500, 570,2497,3645,1490,7501,4373,2623,3260, # 4486 +1956,4374, 584,1514, 396,1045,1944,7502,4375,1967,2444,7503,7504,4376,3910, 619, # 4502 +7505,3129,3261, 215,2006,2783,2553,3189,4377,3190,4378, 763,4119,3763,4379,7506, # 4518 +7507,1957,1767,2941,3328,3646,1174, 452,1477,4380,3329,3130,7508,2825,1253,2382, # 4534 +2186,1091,2285,4120, 492,7509, 638,1169,1824,2135,1752,3911, 648, 926,1021,1324, # 4550 +4381, 520,4382, 997, 847,1007, 892,4383,3764,2262,1871,3647,7510,2400,1784,4384, # 4566 +1952,2942,3080,3191,1728,4121,2043,3648,4385,2007,1701,3131,1551, 30,2263,4122, # 4582 +7511,2026,4386,3534,7512, 501,7513,4123, 594,3431,2165,1821,3535,3432,3536,3192, # 4598 + 829,2826,4124,7514,1680,3132,1225,4125,7515,3262,4387,4126,3133,2336,7516,4388, # 4614 +4127,7517,3912,3913,7518,1847,2383,2596,3330,7519,4389, 374,3914, 652,4128,4129, # 4630 + 375,1140, 798,7520,7521,7522,2361,4390,2264, 546,1659, 138,3031,2445,4391,7523, # 4646 +2250, 612,1848, 910, 796,3765,1740,1371, 825,3766,3767,7524,2906,2554,7525, 692, # 4662 + 444,3032,2624, 801,4392,4130,7526,1491, 244,1053,3033,4131,4132, 340,7527,3915, # 4678 +1041,2987, 293,1168, 87,1357,7528,1539, 959,7529,2236, 721, 694,4133,3768, 219, # 4694 +1478, 644,1417,3331,2656,1413,1401,1335,1389,3916,7530,7531,2988,2362,3134,1825, # 4710 + 730,1515, 184,2827, 66,4393,7532,1660,2943, 246,3332, 378,1457, 226,3433, 975, # 4726 +3917,2944,1264,3537, 674, 696,7533, 163,7534,1141,2417,2166, 713,3538,3333,4394, # 4742 +3918,7535,7536,1186, 15,7537,1079,1070,7538,1522,3193,3539, 276,1050,2716, 758, # 4758 +1126, 653,2945,3263,7539,2337, 889,3540,3919,3081,2989, 903,1250,4395,3920,3434, # 4774 +3541,1342,1681,1718, 766,3264, 286, 89,2946,3649,7540,1713,7541,2597,3334,2990, # 4790 +7542,2947,2215,3194,2866,7543,4396,2498,2526, 181, 387,1075,3921, 731,2187,3335, # 4806 +7544,3265, 310, 313,3435,2299, 770,4134, 54,3034, 189,4397,3082,3769,3922,7545, # 4822 +1230,1617,1849, 355,3542,4135,4398,3336, 111,4136,3650,1350,3135,3436,3035,4137, # 4838 +2149,3266,3543,7546,2784,3923,3924,2991, 722,2008,7547,1071, 247,1207,2338,2471, # 4854 +1378,4399,2009, 864,1437,1214,4400, 373,3770,1142,2216, 667,4401, 442,2753,2555, # 4870 +3771,3925,1968,4138,3267,1839, 837, 170,1107, 934,1336,1882,7548,7549,2118,4139, # 4886 +2828, 743,1569,7550,4402,4140, 582,2384,1418,3437,7551,1802,7552, 357,1395,1729, # 4902 +3651,3268,2418,1564,2237,7553,3083,3772,1633,4403,1114,2085,4141,1532,7554, 482, # 4918 +2446,4404,7555,7556,1492, 833,1466,7557,2717,3544,1641,2829,7558,1526,1272,3652, # 4934 +4142,1686,1794, 416,2556,1902,1953,1803,7559,3773,2785,3774,1159,2316,7560,2867, # 4950 +4405,1610,1584,3036,2419,2754, 443,3269,1163,3136,7561,7562,3926,7563,4143,2499, # 4966 +3037,4406,3927,3137,2103,1647,3545,2010,1872,4144,7564,4145, 431,3438,7565, 250, # 4982 + 97, 81,4146,7566,1648,1850,1558, 160, 848,7567, 866, 740,1694,7568,2201,2830, # 4998 +3195,4147,4407,3653,1687, 950,2472, 426, 469,3196,3654,3655,3928,7569,7570,1188, # 5014 + 424,1995, 861,3546,4148,3775,2202,2685, 168,1235,3547,4149,7571,2086,1674,4408, # 5030 +3337,3270, 220,2557,1009,7572,3776, 670,2992, 332,1208, 717,7573,7574,3548,2447, # 5046 +3929,3338,7575, 513,7576,1209,2868,3339,3138,4409,1080,7577,7578,7579,7580,2527, # 5062 +3656,3549, 815,1587,3930,3931,7581,3550,3439,3777,1254,4410,1328,3038,1390,3932, # 5078 +1741,3933,3778,3934,7582, 236,3779,2448,3271,7583,7584,3657,3780,1273,3781,4411, # 5094 +7585, 308,7586,4412, 245,4413,1851,2473,1307,2575, 430, 715,2136,2449,7587, 270, # 5110 + 199,2869,3935,7588,3551,2718,1753, 761,1754, 725,1661,1840,4414,3440,3658,7589, # 5126 +7590, 587, 14,3272, 227,2598, 326, 480,2265, 943,2755,3552, 291, 650,1883,7591, # 5142 +1702,1226, 102,1547, 62,3441, 904,4415,3442,1164,4150,7592,7593,1224,1548,2756, # 5158 + 391, 498,1493,7594,1386,1419,7595,2055,1177,4416, 813, 880,1081,2363, 566,1145, # 5174 +4417,2286,1001,1035,2558,2599,2238, 394,1286,7596,7597,2068,7598, 86,1494,1730, # 5190 +3936, 491,1588, 745, 897,2948, 843,3340,3937,2757,2870,3273,1768, 998,2217,2069, # 5206 + 397,1826,1195,1969,3659,2993,3341, 284,7599,3782,2500,2137,2119,1903,7600,3938, # 5222 +2150,3939,4151,1036,3443,1904, 114,2559,4152, 209,1527,7601,7602,2949,2831,2625, # 5238 +2385,2719,3139, 812,2560,7603,3274,7604,1559, 737,1884,3660,1210, 885, 28,2686, # 5254 +3553,3783,7605,4153,1004,1779,4418,7606, 346,1981,2218,2687,4419,3784,1742, 797, # 5270 +1642,3940,1933,1072,1384,2151, 896,3941,3275,3661,3197,2871,3554,7607,2561,1958, # 5286 +4420,2450,1785,7608,7609,7610,3942,4154,1005,1308,3662,4155,2720,4421,4422,1528, # 5302 +2600, 161,1178,4156,1982, 987,4423,1101,4157, 631,3943,1157,3198,2420,1343,1241, # 5318 +1016,2239,2562, 372, 877,2339,2501,1160, 555,1934, 911,3944,7611, 466,1170, 169, # 5334 +1051,2907,2688,3663,2474,2994,1182,2011,2563,1251,2626,7612, 992,2340,3444,1540, # 5350 +2721,1201,2070,2401,1996,2475,7613,4424, 528,1922,2188,1503,1873,1570,2364,3342, # 5366 +3276,7614, 557,1073,7615,1827,3445,2087,2266,3140,3039,3084, 767,3085,2786,4425, # 5382 +1006,4158,4426,2341,1267,2176,3664,3199, 778,3945,3200,2722,1597,2657,7616,4427, # 5398 +7617,3446,7618,7619,7620,3277,2689,1433,3278, 131, 95,1504,3946, 723,4159,3141, # 5414 +1841,3555,2758,2189,3947,2027,2104,3665,7621,2995,3948,1218,7622,3343,3201,3949, # 5430 +4160,2576, 248,1634,3785, 912,7623,2832,3666,3040,3786, 654, 53,7624,2996,7625, # 5446 +1688,4428, 777,3447,1032,3950,1425,7626, 191, 820,2120,2833, 971,4429, 931,3202, # 5462 + 135, 664, 783,3787,1997, 772,2908,1935,3951,3788,4430,2909,3203, 282,2723, 640, # 5478 +1372,3448,1127, 922, 325,3344,7627,7628, 711,2044,7629,7630,3952,2219,2787,1936, # 5494 +3953,3345,2220,2251,3789,2300,7631,4431,3790,1258,3279,3954,3204,2138,2950,3955, # 5510 +3956,7632,2221, 258,3205,4432, 101,1227,7633,3280,1755,7634,1391,3281,7635,2910, # 5526 +2056, 893,7636,7637,7638,1402,4161,2342,7639,7640,3206,3556,7641,7642, 878,1325, # 5542 +1780,2788,4433, 259,1385,2577, 744,1183,2267,4434,7643,3957,2502,7644, 684,1024, # 5558 +4162,7645, 472,3557,3449,1165,3282,3958,3959, 322,2152, 881, 455,1695,1152,1340, # 5574 + 660, 554,2153,4435,1058,4436,4163, 830,1065,3346,3960,4437,1923,7646,1703,1918, # 5590 +7647, 932,2268, 122,7648,4438, 947, 677,7649,3791,2627, 297,1905,1924,2269,4439, # 5606 +2317,3283,7650,7651,4164,7652,4165, 84,4166, 112, 989,7653, 547,1059,3961, 701, # 5622 +3558,1019,7654,4167,7655,3450, 942, 639, 457,2301,2451, 993,2951, 407, 851, 494, # 5638 +4440,3347, 927,7656,1237,7657,2421,3348, 573,4168, 680, 921,2911,1279,1874, 285, # 5654 + 790,1448,1983, 719,2167,7658,7659,4441,3962,3963,1649,7660,1541, 563,7661,1077, # 5670 +7662,3349,3041,3451, 511,2997,3964,3965,3667,3966,1268,2564,3350,3207,4442,4443, # 5686 +7663, 535,1048,1276,1189,2912,2028,3142,1438,1373,2834,2952,1134,2012,7664,4169, # 5702 +1238,2578,3086,1259,7665, 700,7666,2953,3143,3668,4170,7667,4171,1146,1875,1906, # 5718 +4444,2601,3967, 781,2422, 132,1589, 203, 147, 273,2789,2402, 898,1786,2154,3968, # 5734 +3969,7668,3792,2790,7669,7670,4445,4446,7671,3208,7672,1635,3793, 965,7673,1804, # 5750 +2690,1516,3559,1121,1082,1329,3284,3970,1449,3794, 65,1128,2835,2913,2759,1590, # 5766 +3795,7674,7675, 12,2658, 45, 976,2579,3144,4447, 517,2528,1013,1037,3209,7676, # 5782 +3796,2836,7677,3797,7678,3452,7679,2602, 614,1998,2318,3798,3087,2724,2628,7680, # 5798 +2580,4172, 599,1269,7681,1810,3669,7682,2691,3088, 759,1060, 489,1805,3351,3285, # 5814 +1358,7683,7684,2386,1387,1215,2629,2252, 490,7685,7686,4173,1759,2387,2343,7687, # 5830 +4448,3799,1907,3971,2630,1806,3210,4449,3453,3286,2760,2344, 874,7688,7689,3454, # 5846 +3670,1858, 91,2914,3671,3042,3800,4450,7690,3145,3972,2659,7691,3455,1202,1403, # 5862 +3801,2954,2529,1517,2503,4451,3456,2504,7692,4452,7693,2692,1885,1495,1731,3973, # 5878 +2365,4453,7694,2029,7695,7696,3974,2693,1216, 237,2581,4174,2319,3975,3802,4454, # 5894 +4455,2694,3560,3457, 445,4456,7697,7698,7699,7700,2761, 61,3976,3672,1822,3977, # 5910 +7701, 687,2045, 935, 925, 405,2660, 703,1096,1859,2725,4457,3978,1876,1367,2695, # 5926 +3352, 918,2105,1781,2476, 334,3287,1611,1093,4458, 564,3146,3458,3673,3353, 945, # 5942 +2631,2057,4459,7702,1925, 872,4175,7703,3459,2696,3089, 349,4176,3674,3979,4460, # 5958 +3803,4177,3675,2155,3980,4461,4462,4178,4463,2403,2046, 782,3981, 400, 251,4179, # 5974 +1624,7704,7705, 277,3676, 299,1265, 476,1191,3804,2121,4180,4181,1109, 205,7706, # 5990 +2582,1000,2156,3561,1860,7707,7708,7709,4464,7710,4465,2565, 107,2477,2157,3982, # 6006 +3460,3147,7711,1533, 541,1301, 158, 753,4182,2872,3562,7712,1696, 370,1088,4183, # 6022 +4466,3563, 579, 327, 440, 162,2240, 269,1937,1374,3461, 968,3043, 56,1396,3090, # 6038 +2106,3288,3354,7713,1926,2158,4467,2998,7714,3564,7715,7716,3677,4468,2478,7717, # 6054 +2791,7718,1650,4469,7719,2603,7720,7721,3983,2661,3355,1149,3356,3984,3805,3985, # 6070 +7722,1076, 49,7723, 951,3211,3289,3290, 450,2837, 920,7724,1811,2792,2366,4184, # 6086 +1908,1138,2367,3806,3462,7725,3212,4470,1909,1147,1518,2423,4471,3807,7726,4472, # 6102 +2388,2604, 260,1795,3213,7727,7728,3808,3291, 708,7729,3565,1704,7730,3566,1351, # 6118 +1618,3357,2999,1886, 944,4185,3358,4186,3044,3359,4187,7731,3678, 422, 413,1714, # 6134 +3292, 500,2058,2345,4188,2479,7732,1344,1910, 954,7733,1668,7734,7735,3986,2404, # 6150 +4189,3567,3809,4190,7736,2302,1318,2505,3091, 133,3092,2873,4473, 629, 31,2838, # 6166 +2697,3810,4474, 850, 949,4475,3987,2955,1732,2088,4191,1496,1852,7737,3988, 620, # 6182 +3214, 981,1242,3679,3360,1619,3680,1643,3293,2139,2452,1970,1719,3463,2168,7738, # 6198 +3215,7739,7740,3361,1828,7741,1277,4476,1565,2047,7742,1636,3568,3093,7743, 869, # 6214 +2839, 655,3811,3812,3094,3989,3000,3813,1310,3569,4477,7744,7745,7746,1733, 558, # 6230 +4478,3681, 335,1549,3045,1756,4192,3682,1945,3464,1829,1291,1192, 470,2726,2107, # 6246 +2793, 913,1054,3990,7747,1027,7748,3046,3991,4479, 982,2662,3362,3148,3465,3216, # 6262 +3217,1946,2794,7749, 571,4480,7750,1830,7751,3570,2583,1523,2424,7752,2089, 984, # 6278 +4481,3683,1959,7753,3684, 852, 923,2795,3466,3685, 969,1519, 999,2048,2320,1705, # 6294 +7754,3095, 615,1662, 151, 597,3992,2405,2321,1049, 275,4482,3686,4193, 568,3687, # 6310 +3571,2480,4194,3688,7755,2425,2270, 409,3218,7756,1566,2874,3467,1002, 769,2840, # 6326 + 194,2090,3149,3689,2222,3294,4195, 628,1505,7757,7758,1763,2177,3001,3993, 521, # 6342 +1161,2584,1787,2203,2406,4483,3994,1625,4196,4197, 412, 42,3096, 464,7759,2632, # 6358 +4484,3363,1760,1571,2875,3468,2530,1219,2204,3814,2633,2140,2368,4485,4486,3295, # 6374 +1651,3364,3572,7760,7761,3573,2481,3469,7762,3690,7763,7764,2271,2091, 460,7765, # 6390 +4487,7766,3002, 962, 588,3574, 289,3219,2634,1116, 52,7767,3047,1796,7768,7769, # 6406 +7770,1467,7771,1598,1143,3691,4198,1984,1734,1067,4488,1280,3365, 465,4489,1572, # 6422 + 510,7772,1927,2241,1812,1644,3575,7773,4490,3692,7774,7775,2663,1573,1534,7776, # 6438 +7777,4199, 536,1807,1761,3470,3815,3150,2635,7778,7779,7780,4491,3471,2915,1911, # 6454 +2796,7781,3296,1122, 377,3220,7782, 360,7783,7784,4200,1529, 551,7785,2059,3693, # 6470 +1769,2426,7786,2916,4201,3297,3097,2322,2108,2030,4492,1404, 136,1468,1479, 672, # 6486 +1171,3221,2303, 271,3151,7787,2762,7788,2049, 678,2727, 865,1947,4493,7789,2013, # 6502 +3995,2956,7790,2728,2223,1397,3048,3694,4494,4495,1735,2917,3366,3576,7791,3816, # 6518 + 509,2841,2453,2876,3817,7792,7793,3152,3153,4496,4202,2531,4497,2304,1166,1010, # 6534 + 552, 681,1887,7794,7795,2957,2958,3996,1287,1596,1861,3154, 358, 453, 736, 175, # 6550 + 478,1117, 905,1167,1097,7796,1853,1530,7797,1706,7798,2178,3472,2287,3695,3473, # 6566 +3577,4203,2092,4204,7799,3367,1193,2482,4205,1458,2190,2205,1862,1888,1421,3298, # 6582 +2918,3049,2179,3474, 595,2122,7800,3997,7801,7802,4206,1707,2636, 223,3696,1359, # 6598 + 751,3098, 183,3475,7803,2797,3003, 419,2369, 633, 704,3818,2389, 241,7804,7805, # 6614 +7806, 838,3004,3697,2272,2763,2454,3819,1938,2050,3998,1309,3099,2242,1181,7807, # 6630 +1136,2206,3820,2370,1446,4207,2305,4498,7808,7809,4208,1055,2605, 484,3698,7810, # 6646 +3999, 625,4209,2273,3368,1499,4210,4000,7811,4001,4211,3222,2274,2275,3476,7812, # 6662 +7813,2764, 808,2606,3699,3369,4002,4212,3100,2532, 526,3370,3821,4213, 955,7814, # 6678 +1620,4214,2637,2427,7815,1429,3700,1669,1831, 994, 928,7816,3578,1260,7817,7818, # 6694 +7819,1948,2288, 741,2919,1626,4215,2729,2455, 867,1184, 362,3371,1392,7820,7821, # 6710 +4003,4216,1770,1736,3223,2920,4499,4500,1928,2698,1459,1158,7822,3050,3372,2877, # 6726 +1292,1929,2506,2842,3701,1985,1187,2071,2014,2607,4217,7823,2566,2507,2169,3702, # 6742 +2483,3299,7824,3703,4501,7825,7826, 666,1003,3005,1022,3579,4218,7827,4502,1813, # 6758 +2253, 574,3822,1603, 295,1535, 705,3823,4219, 283, 858, 417,7828,7829,3224,4503, # 6774 +4504,3051,1220,1889,1046,2276,2456,4004,1393,1599, 689,2567, 388,4220,7830,2484, # 6790 + 802,7831,2798,3824,2060,1405,2254,7832,4505,3825,2109,1052,1345,3225,1585,7833, # 6806 + 809,7834,7835,7836, 575,2730,3477, 956,1552,1469,1144,2323,7837,2324,1560,2457, # 6822 +3580,3226,4005, 616,2207,3155,2180,2289,7838,1832,7839,3478,4506,7840,1319,3704, # 6838 +3705,1211,3581,1023,3227,1293,2799,7841,7842,7843,3826, 607,2306,3827, 762,2878, # 6854 +1439,4221,1360,7844,1485,3052,7845,4507,1038,4222,1450,2061,2638,4223,1379,4508, # 6870 +2585,7846,7847,4224,1352,1414,2325,2921,1172,7848,7849,3828,3829,7850,1797,1451, # 6886 +7851,7852,7853,7854,2922,4006,4007,2485,2346, 411,4008,4009,3582,3300,3101,4509, # 6902 +1561,2664,1452,4010,1375,7855,7856, 47,2959, 316,7857,1406,1591,2923,3156,7858, # 6918 +1025,2141,3102,3157, 354,2731, 884,2224,4225,2407, 508,3706, 726,3583, 996,2428, # 6934 +3584, 729,7859, 392,2191,1453,4011,4510,3707,7860,7861,2458,3585,2608,1675,2800, # 6950 + 919,2347,2960,2348,1270,4511,4012, 73,7862,7863, 647,7864,3228,2843,2255,1550, # 6966 +1346,3006,7865,1332, 883,3479,7866,7867,7868,7869,3301,2765,7870,1212, 831,1347, # 6982 +4226,4512,2326,3830,1863,3053, 720,3831,4513,4514,3832,7871,4227,7872,7873,4515, # 6998 +7874,7875,1798,4516,3708,2609,4517,3586,1645,2371,7876,7877,2924, 669,2208,2665, # 7014 +2429,7878,2879,7879,7880,1028,3229,7881,4228,2408,7882,2256,1353,7883,7884,4518, # 7030 +3158, 518,7885,4013,7886,4229,1960,7887,2142,4230,7888,7889,3007,2349,2350,3833, # 7046 + 516,1833,1454,4014,2699,4231,4519,2225,2610,1971,1129,3587,7890,2766,7891,2961, # 7062 +1422, 577,1470,3008,1524,3373,7892,7893, 432,4232,3054,3480,7894,2586,1455,2508, # 7078 +2226,1972,1175,7895,1020,2732,4015,3481,4520,7896,2733,7897,1743,1361,3055,3482, # 7094 +2639,4016,4233,4521,2290, 895, 924,4234,2170, 331,2243,3056, 166,1627,3057,1098, # 7110 +7898,1232,2880,2227,3374,4522, 657, 403,1196,2372, 542,3709,3375,1600,4235,3483, # 7126 +7899,4523,2767,3230, 576, 530,1362,7900,4524,2533,2666,3710,4017,7901, 842,3834, # 7142 +7902,2801,2031,1014,4018, 213,2700,3376, 665, 621,4236,7903,3711,2925,2430,7904, # 7158 +2431,3302,3588,3377,7905,4237,2534,4238,4525,3589,1682,4239,3484,1380,7906, 724, # 7174 +2277, 600,1670,7907,1337,1233,4526,3103,2244,7908,1621,4527,7909, 651,4240,7910, # 7190 +1612,4241,2611,7911,2844,7912,2734,2307,3058,7913, 716,2459,3059, 174,1255,2701, # 7206 +4019,3590, 548,1320,1398, 728,4020,1574,7914,1890,1197,3060,4021,7915,3061,3062, # 7222 +3712,3591,3713, 747,7916, 635,4242,4528,7917,7918,7919,4243,7920,7921,4529,7922, # 7238 +3378,4530,2432, 451,7923,3714,2535,2072,4244,2735,4245,4022,7924,1764,4531,7925, # 7254 +4246, 350,7926,2278,2390,2486,7927,4247,4023,2245,1434,4024, 488,4532, 458,4248, # 7270 +4025,3715, 771,1330,2391,3835,2568,3159,2159,2409,1553,2667,3160,4249,7928,2487, # 7286 +2881,2612,1720,2702,4250,3379,4533,7929,2536,4251,7930,3231,4252,2768,7931,2015, # 7302 +2736,7932,1155,1017,3716,3836,7933,3303,2308, 201,1864,4253,1430,7934,4026,7935, # 7318 +7936,7937,7938,7939,4254,1604,7940, 414,1865, 371,2587,4534,4535,3485,2016,3104, # 7334 +4536,1708, 960,4255, 887, 389,2171,1536,1663,1721,7941,2228,4027,2351,2926,1580, # 7350 +7942,7943,7944,1744,7945,2537,4537,4538,7946,4539,7947,2073,7948,7949,3592,3380, # 7366 +2882,4256,7950,4257,2640,3381,2802, 673,2703,2460, 709,3486,4028,3593,4258,7951, # 7382 +1148, 502, 634,7952,7953,1204,4540,3594,1575,4541,2613,3717,7954,3718,3105, 948, # 7398 +3232, 121,1745,3837,1110,7955,4259,3063,2509,3009,4029,3719,1151,1771,3838,1488, # 7414 +4030,1986,7956,2433,3487,7957,7958,2093,7959,4260,3839,1213,1407,2803, 531,2737, # 7430 +2538,3233,1011,1537,7960,2769,4261,3106,1061,7961,3720,3721,1866,2883,7962,2017, # 7446 + 120,4262,4263,2062,3595,3234,2309,3840,2668,3382,1954,4542,7963,7964,3488,1047, # 7462 +2704,1266,7965,1368,4543,2845, 649,3383,3841,2539,2738,1102,2846,2669,7966,7967, # 7478 +1999,7968,1111,3596,2962,7969,2488,3842,3597,2804,1854,3384,3722,7970,7971,3385, # 7494 +2410,2884,3304,3235,3598,7972,2569,7973,3599,2805,4031,1460, 856,7974,3600,7975, # 7510 +2885,2963,7976,2886,3843,7977,4264, 632,2510, 875,3844,1697,3845,2291,7978,7979, # 7526 +4544,3010,1239, 580,4545,4265,7980, 914, 936,2074,1190,4032,1039,2123,7981,7982, # 7542 +7983,3386,1473,7984,1354,4266,3846,7985,2172,3064,4033, 915,3305,4267,4268,3306, # 7558 +1605,1834,7986,2739, 398,3601,4269,3847,4034, 328,1912,2847,4035,3848,1331,4270, # 7574 +3011, 937,4271,7987,3602,4036,4037,3387,2160,4546,3388, 524, 742, 538,3065,1012, # 7590 +7988,7989,3849,2461,7990, 658,1103, 225,3850,7991,7992,4547,7993,4548,7994,3236, # 7606 +1243,7995,4038, 963,2246,4549,7996,2705,3603,3161,7997,7998,2588,2327,7999,4550, # 7622 +8000,8001,8002,3489,3307, 957,3389,2540,2032,1930,2927,2462, 870,2018,3604,1746, # 7638 +2770,2771,2434,2463,8003,3851,8004,3723,3107,3724,3490,3390,3725,8005,1179,3066, # 7654 +8006,3162,2373,4272,3726,2541,3163,3108,2740,4039,8007,3391,1556,2542,2292, 977, # 7670 +2887,2033,4040,1205,3392,8008,1765,3393,3164,2124,1271,1689, 714,4551,3491,8009, # 7686 +2328,3852, 533,4273,3605,2181, 617,8010,2464,3308,3492,2310,8011,8012,3165,8013, # 7702 +8014,3853,1987, 618, 427,2641,3493,3394,8015,8016,1244,1690,8017,2806,4274,4552, # 7718 +8018,3494,8019,8020,2279,1576, 473,3606,4275,3395, 972,8021,3607,8022,3067,8023, # 7734 +8024,4553,4554,8025,3727,4041,4042,8026, 153,4555, 356,8027,1891,2888,4276,2143, # 7750 + 408, 803,2352,8028,3854,8029,4277,1646,2570,2511,4556,4557,3855,8030,3856,4278, # 7766 +8031,2411,3396, 752,8032,8033,1961,2964,8034, 746,3012,2465,8035,4279,3728, 698, # 7782 +4558,1892,4280,3608,2543,4559,3609,3857,8036,3166,3397,8037,1823,1302,4043,2706, # 7798 +3858,1973,4281,8038,4282,3167, 823,1303,1288,1236,2848,3495,4044,3398, 774,3859, # 7814 +8039,1581,4560,1304,2849,3860,4561,8040,2435,2161,1083,3237,4283,4045,4284, 344, # 7830 +1173, 288,2311, 454,1683,8041,8042,1461,4562,4046,2589,8043,8044,4563, 985, 894, # 7846 +8045,3399,3168,8046,1913,2928,3729,1988,8047,2110,1974,8048,4047,8049,2571,1194, # 7862 + 425,8050,4564,3169,1245,3730,4285,8051,8052,2850,8053, 636,4565,1855,3861, 760, # 7878 +1799,8054,4286,2209,1508,4566,4048,1893,1684,2293,8055,8056,8057,4287,4288,2210, # 7894 + 479,8058,8059, 832,8060,4049,2489,8061,2965,2490,3731, 990,3109, 627,1814,2642, # 7910 +4289,1582,4290,2125,2111,3496,4567,8062, 799,4291,3170,8063,4568,2112,1737,3013, # 7926 +1018, 543, 754,4292,3309,1676,4569,4570,4050,8064,1489,8065,3497,8066,2614,2889, # 7942 +4051,8067,8068,2966,8069,8070,8071,8072,3171,4571,4572,2182,1722,8073,3238,3239, # 7958 +1842,3610,1715, 481, 365,1975,1856,8074,8075,1962,2491,4573,8076,2126,3611,3240, # 7974 + 433,1894,2063,2075,8077, 602,2741,8078,8079,8080,8081,8082,3014,1628,3400,8083, # 7990 +3172,4574,4052,2890,4575,2512,8084,2544,2772,8085,8086,8087,3310,4576,2891,8088, # 8006 +4577,8089,2851,4578,4579,1221,2967,4053,2513,8090,8091,8092,1867,1989,8093,8094, # 8022 +8095,1895,8096,8097,4580,1896,4054, 318,8098,2094,4055,4293,8099,8100, 485,8101, # 8038 + 938,3862, 553,2670, 116,8102,3863,3612,8103,3498,2671,2773,3401,3311,2807,8104, # 8054 +3613,2929,4056,1747,2930,2968,8105,8106, 207,8107,8108,2672,4581,2514,8109,3015, # 8070 + 890,3614,3864,8110,1877,3732,3402,8111,2183,2353,3403,1652,8112,8113,8114, 941, # 8086 +2294, 208,3499,4057,2019, 330,4294,3865,2892,2492,3733,4295,8115,8116,8117,8118, # 8102 +) + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwprober.py new file mode 100644 index 0000000..35669cc --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/euctwprober.py @@ -0,0 +1,46 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import EUCTWDistributionAnalysis +from .mbcssm import EUCTW_SM_MODEL + +class EUCTWProber(MultiByteCharSetProber): + def __init__(self): + super(EUCTWProber, self).__init__() + self.coding_sm = CodingStateMachine(EUCTW_SM_MODEL) + self.distribution_analyzer = EUCTWDistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "EUC-TW" + + @property + def language(self): + return "Taiwan" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312freq.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312freq.py new file mode 100644 index 0000000..697837b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312freq.py @@ -0,0 +1,283 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# GB2312 most frequently used character table +# +# Char to FreqOrder table , from hz6763 + +# 512 --> 0.79 -- 0.79 +# 1024 --> 0.92 -- 0.13 +# 2048 --> 0.98 -- 0.06 +# 6768 --> 1.00 -- 0.02 +# +# Ideal Distribution Ratio = 0.79135/(1-0.79135) = 3.79 +# Random Distribution Ration = 512 / (3755 - 512) = 0.157 +# +# Typical Distribution Ratio about 25% of Ideal one, still much higher that RDR + +GB2312_TYPICAL_DISTRIBUTION_RATIO = 0.9 + +GB2312_TABLE_SIZE = 3760 + +GB2312_CHAR_TO_FREQ_ORDER = ( +1671, 749,1443,2364,3924,3807,2330,3921,1704,3463,2691,1511,1515, 572,3191,2205, +2361, 224,2558, 479,1711, 963,3162, 440,4060,1905,2966,2947,3580,2647,3961,3842, +2204, 869,4207, 970,2678,5626,2944,2956,1479,4048, 514,3595, 588,1346,2820,3409, + 249,4088,1746,1873,2047,1774, 581,1813, 358,1174,3590,1014,1561,4844,2245, 670, +1636,3112, 889,1286, 953, 556,2327,3060,1290,3141, 613, 185,3477,1367, 850,3820, +1715,2428,2642,2303,2732,3041,2562,2648,3566,3946,1349, 388,3098,2091,1360,3585, + 152,1687,1539, 738,1559, 59,1232,2925,2267,1388,1249,1741,1679,2960, 151,1566, +1125,1352,4271, 924,4296, 385,3166,4459, 310,1245,2850, 70,3285,2729,3534,3575, +2398,3298,3466,1960,2265, 217,3647, 864,1909,2084,4401,2773,1010,3269,5152, 853, +3051,3121,1244,4251,1895, 364,1499,1540,2313,1180,3655,2268, 562, 715,2417,3061, + 544, 336,3768,2380,1752,4075, 950, 280,2425,4382, 183,2759,3272, 333,4297,2155, +1688,2356,1444,1039,4540, 736,1177,3349,2443,2368,2144,2225, 565, 196,1482,3406, + 927,1335,4147, 692, 878,1311,1653,3911,3622,1378,4200,1840,2969,3149,2126,1816, +2534,1546,2393,2760, 737,2494, 13, 447, 245,2747, 38,2765,2129,2589,1079, 606, + 360, 471,3755,2890, 404, 848, 699,1785,1236, 370,2221,1023,3746,2074,2026,2023, +2388,1581,2119, 812,1141,3091,2536,1519, 804,2053, 406,1596,1090, 784, 548,4414, +1806,2264,2936,1100, 343,4114,5096, 622,3358, 743,3668,1510,1626,5020,3567,2513, +3195,4115,5627,2489,2991, 24,2065,2697,1087,2719, 48,1634, 315, 68, 985,2052, + 198,2239,1347,1107,1439, 597,2366,2172, 871,3307, 919,2487,2790,1867, 236,2570, +1413,3794, 906,3365,3381,1701,1982,1818,1524,2924,1205, 616,2586,2072,2004, 575, + 253,3099, 32,1365,1182, 197,1714,2454,1201, 554,3388,3224,2748, 756,2587, 250, +2567,1507,1517,3529,1922,2761,2337,3416,1961,1677,2452,2238,3153, 615, 911,1506, +1474,2495,1265,1906,2749,3756,3280,2161, 898,2714,1759,3450,2243,2444, 563, 26, +3286,2266,3769,3344,2707,3677, 611,1402, 531,1028,2871,4548,1375, 261,2948, 835, +1190,4134, 353, 840,2684,1900,3082,1435,2109,1207,1674, 329,1872,2781,4055,2686, +2104, 608,3318,2423,2957,2768,1108,3739,3512,3271,3985,2203,1771,3520,1418,2054, +1681,1153, 225,1627,2929, 162,2050,2511,3687,1954, 124,1859,2431,1684,3032,2894, + 585,4805,3969,2869,2704,2088,2032,2095,3656,2635,4362,2209, 256, 518,2042,2105, +3777,3657, 643,2298,1148,1779, 190, 989,3544, 414, 11,2135,2063,2979,1471, 403, +3678, 126, 770,1563, 671,2499,3216,2877, 600,1179, 307,2805,4937,1268,1297,2694, + 252,4032,1448,1494,1331,1394, 127,2256, 222,1647,1035,1481,3056,1915,1048, 873, +3651, 210, 33,1608,2516, 200,1520, 415, 102, 0,3389,1287, 817, 91,3299,2940, + 836,1814, 549,2197,1396,1669,2987,3582,2297,2848,4528,1070, 687, 20,1819, 121, +1552,1364,1461,1968,2617,3540,2824,2083, 177, 948,4938,2291, 110,4549,2066, 648, +3359,1755,2110,2114,4642,4845,1693,3937,3308,1257,1869,2123, 208,1804,3159,2992, +2531,2549,3361,2418,1350,2347,2800,2568,1291,2036,2680, 72, 842,1990, 212,1233, +1154,1586, 75,2027,3410,4900,1823,1337,2710,2676, 728,2810,1522,3026,4995, 157, + 755,1050,4022, 710, 785,1936,2194,2085,1406,2777,2400, 150,1250,4049,1206, 807, +1910, 534, 529,3309,1721,1660, 274, 39,2827, 661,2670,1578, 925,3248,3815,1094, +4278,4901,4252, 41,1150,3747,2572,2227,4501,3658,4902,3813,3357,3617,2884,2258, + 887, 538,4187,3199,1294,2439,3042,2329,2343,2497,1255, 107, 543,1527, 521,3478, +3568, 194,5062, 15, 961,3870,1241,1192,2664, 66,5215,3260,2111,1295,1127,2152, +3805,4135, 901,1164,1976, 398,1278, 530,1460, 748, 904,1054,1966,1426, 53,2909, + 509, 523,2279,1534, 536,1019, 239,1685, 460,2353, 673,1065,2401,3600,4298,2272, +1272,2363, 284,1753,3679,4064,1695, 81, 815,2677,2757,2731,1386, 859, 500,4221, +2190,2566, 757,1006,2519,2068,1166,1455, 337,2654,3203,1863,1682,1914,3025,1252, +1409,1366, 847, 714,2834,2038,3209, 964,2970,1901, 885,2553,1078,1756,3049, 301, +1572,3326, 688,2130,1996,2429,1805,1648,2930,3421,2750,3652,3088, 262,1158,1254, + 389,1641,1812, 526,1719, 923,2073,1073,1902, 468, 489,4625,1140, 857,2375,3070, +3319,2863, 380, 116,1328,2693,1161,2244, 273,1212,1884,2769,3011,1775,1142, 461, +3066,1200,2147,2212, 790, 702,2695,4222,1601,1058, 434,2338,5153,3640, 67,2360, +4099,2502, 618,3472,1329, 416,1132, 830,2782,1807,2653,3211,3510,1662, 192,2124, + 296,3979,1739,1611,3684, 23, 118, 324, 446,1239,1225, 293,2520,3814,3795,2535, +3116, 17,1074, 467,2692,2201, 387,2922, 45,1326,3055,1645,3659,2817, 958, 243, +1903,2320,1339,2825,1784,3289, 356, 576, 865,2315,2381,3377,3916,1088,3122,1713, +1655, 935, 628,4689,1034,1327, 441, 800, 720, 894,1979,2183,1528,5289,2702,1071, +4046,3572,2399,1571,3281, 79, 761,1103, 327, 134, 758,1899,1371,1615, 879, 442, + 215,2605,2579, 173,2048,2485,1057,2975,3317,1097,2253,3801,4263,1403,1650,2946, + 814,4968,3487,1548,2644,1567,1285, 2, 295,2636, 97, 946,3576, 832, 141,4257, +3273, 760,3821,3521,3156,2607, 949,1024,1733,1516,1803,1920,2125,2283,2665,3180, +1501,2064,3560,2171,1592, 803,3518,1416, 732,3897,4258,1363,1362,2458, 119,1427, + 602,1525,2608,1605,1639,3175, 694,3064, 10, 465, 76,2000,4846,4208, 444,3781, +1619,3353,2206,1273,3796, 740,2483, 320,1723,2377,3660,2619,1359,1137,1762,1724, +2345,2842,1850,1862, 912, 821,1866, 612,2625,1735,2573,3369,1093, 844, 89, 937, + 930,1424,3564,2413,2972,1004,3046,3019,2011, 711,3171,1452,4178, 428, 801,1943, + 432, 445,2811, 206,4136,1472, 730, 349, 73, 397,2802,2547, 998,1637,1167, 789, + 396,3217, 154,1218, 716,1120,1780,2819,4826,1931,3334,3762,2139,1215,2627, 552, +3664,3628,3232,1405,2383,3111,1356,2652,3577,3320,3101,1703, 640,1045,1370,1246, +4996, 371,1575,2436,1621,2210, 984,4033,1734,2638, 16,4529, 663,2755,3255,1451, +3917,2257,1253,1955,2234,1263,2951, 214,1229, 617, 485, 359,1831,1969, 473,2310, + 750,2058, 165, 80,2864,2419, 361,4344,2416,2479,1134, 796,3726,1266,2943, 860, +2715, 938, 390,2734,1313,1384, 248, 202, 877,1064,2854, 522,3907, 279,1602, 297, +2357, 395,3740, 137,2075, 944,4089,2584,1267,3802, 62,1533,2285, 178, 176, 780, +2440, 201,3707, 590, 478,1560,4354,2117,1075, 30, 74,4643,4004,1635,1441,2745, + 776,2596, 238,1077,1692,1912,2844, 605, 499,1742,3947, 241,3053, 980,1749, 936, +2640,4511,2582, 515,1543,2162,5322,2892,2993, 890,2148,1924, 665,1827,3581,1032, + 968,3163, 339,1044,1896, 270, 583,1791,1720,4367,1194,3488,3669, 43,2523,1657, + 163,2167, 290,1209,1622,3378, 550, 634,2508,2510, 695,2634,2384,2512,1476,1414, + 220,1469,2341,2138,2852,3183,2900,4939,2865,3502,1211,3680, 854,3227,1299,2976, +3172, 186,2998,1459, 443,1067,3251,1495, 321,1932,3054, 909, 753,1410,1828, 436, +2441,1119,1587,3164,2186,1258, 227, 231,1425,1890,3200,3942, 247, 959, 725,5254, +2741, 577,2158,2079, 929, 120, 174, 838,2813, 591,1115, 417,2024, 40,3240,1536, +1037, 291,4151,2354, 632,1298,2406,2500,3535,1825,1846,3451, 205,1171, 345,4238, + 18,1163, 811, 685,2208,1217, 425,1312,1508,1175,4308,2552,1033, 587,1381,3059, +2984,3482, 340,1316,4023,3972, 792,3176, 519, 777,4690, 918, 933,4130,2981,3741, + 90,3360,2911,2200,5184,4550, 609,3079,2030, 272,3379,2736, 363,3881,1130,1447, + 286, 779, 357,1169,3350,3137,1630,1220,2687,2391, 747,1277,3688,2618,2682,2601, +1156,3196,5290,4034,3102,1689,3596,3128, 874, 219,2783, 798, 508,1843,2461, 269, +1658,1776,1392,1913,2983,3287,2866,2159,2372, 829,4076, 46,4253,2873,1889,1894, + 915,1834,1631,2181,2318, 298, 664,2818,3555,2735, 954,3228,3117, 527,3511,2173, + 681,2712,3033,2247,2346,3467,1652, 155,2164,3382, 113,1994, 450, 899, 494, 994, +1237,2958,1875,2336,1926,3727, 545,1577,1550, 633,3473, 204,1305,3072,2410,1956, +2471, 707,2134, 841,2195,2196,2663,3843,1026,4940, 990,3252,4997, 368,1092, 437, +3212,3258,1933,1829, 675,2977,2893, 412, 943,3723,4644,3294,3283,2230,2373,5154, +2389,2241,2661,2323,1404,2524, 593, 787, 677,3008,1275,2059, 438,2709,2609,2240, +2269,2246,1446, 36,1568,1373,3892,1574,2301,1456,3962, 693,2276,5216,2035,1143, +2720,1919,1797,1811,2763,4137,2597,1830,1699,1488,1198,2090, 424,1694, 312,3634, +3390,4179,3335,2252,1214, 561,1059,3243,2295,2561, 975,5155,2321,2751,3772, 472, +1537,3282,3398,1047,2077,2348,2878,1323,3340,3076, 690,2906, 51, 369, 170,3541, +1060,2187,2688,3670,2541,1083,1683, 928,3918, 459, 109,4427, 599,3744,4286, 143, +2101,2730,2490, 82,1588,3036,2121, 281,1860, 477,4035,1238,2812,3020,2716,3312, +1530,2188,2055,1317, 843, 636,1808,1173,3495, 649, 181,1002, 147,3641,1159,2414, +3750,2289,2795, 813,3123,2610,1136,4368, 5,3391,4541,2174, 420, 429,1728, 754, +1228,2115,2219, 347,2223,2733, 735,1518,3003,2355,3134,1764,3948,3329,1888,2424, +1001,1234,1972,3321,3363,1672,1021,1450,1584, 226, 765, 655,2526,3404,3244,2302, +3665, 731, 594,2184, 319,1576, 621, 658,2656,4299,2099,3864,1279,2071,2598,2739, + 795,3086,3699,3908,1707,2352,2402,1382,3136,2475,1465,4847,3496,3865,1085,3004, +2591,1084, 213,2287,1963,3565,2250, 822, 793,4574,3187,1772,1789,3050, 595,1484, +1959,2770,1080,2650, 456, 422,2996, 940,3322,4328,4345,3092,2742, 965,2784, 739, +4124, 952,1358,2498,2949,2565, 332,2698,2378, 660,2260,2473,4194,3856,2919, 535, +1260,2651,1208,1428,1300,1949,1303,2942, 433,2455,2450,1251,1946, 614,1269, 641, +1306,1810,2737,3078,2912, 564,2365,1419,1415,1497,4460,2367,2185,1379,3005,1307, +3218,2175,1897,3063, 682,1157,4040,4005,1712,1160,1941,1399, 394, 402,2952,1573, +1151,2986,2404, 862, 299,2033,1489,3006, 346, 171,2886,3401,1726,2932, 168,2533, + 47,2507,1030,3735,1145,3370,1395,1318,1579,3609,4560,2857,4116,1457,2529,1965, + 504,1036,2690,2988,2405, 745,5871, 849,2397,2056,3081, 863,2359,3857,2096, 99, +1397,1769,2300,4428,1643,3455,1978,1757,3718,1440, 35,4879,3742,1296,4228,2280, + 160,5063,1599,2013, 166, 520,3479,1646,3345,3012, 490,1937,1545,1264,2182,2505, +1096,1188,1369,1436,2421,1667,2792,2460,1270,2122, 727,3167,2143, 806,1706,1012, +1800,3037, 960,2218,1882, 805, 139,2456,1139,1521, 851,1052,3093,3089, 342,2039, + 744,5097,1468,1502,1585,2087, 223, 939, 326,2140,2577, 892,2481,1623,4077, 982, +3708, 135,2131, 87,2503,3114,2326,1106, 876,1616, 547,2997,2831,2093,3441,4530, +4314, 9,3256,4229,4148, 659,1462,1986,1710,2046,2913,2231,4090,4880,5255,3392, +3274,1368,3689,4645,1477, 705,3384,3635,1068,1529,2941,1458,3782,1509, 100,1656, +2548, 718,2339, 408,1590,2780,3548,1838,4117,3719,1345,3530, 717,3442,2778,3220, +2898,1892,4590,3614,3371,2043,1998,1224,3483, 891, 635, 584,2559,3355, 733,1766, +1729,1172,3789,1891,2307, 781,2982,2271,1957,1580,5773,2633,2005,4195,3097,1535, +3213,1189,1934,5693,3262, 586,3118,1324,1598, 517,1564,2217,1868,1893,4445,3728, +2703,3139,1526,1787,1992,3882,2875,1549,1199,1056,2224,1904,2711,5098,4287, 338, +1993,3129,3489,2689,1809,2815,1997, 957,1855,3898,2550,3275,3057,1105,1319, 627, +1505,1911,1883,3526, 698,3629,3456,1833,1431, 746, 77,1261,2017,2296,1977,1885, + 125,1334,1600, 525,1798,1109,2222,1470,1945, 559,2236,1186,3443,2476,1929,1411, +2411,3135,1777,3372,2621,1841,1613,3229, 668,1430,1839,2643,2916, 195,1989,2671, +2358,1387, 629,3205,2293,5256,4439, 123,1310, 888,1879,4300,3021,3605,1003,1162, +3192,2910,2010, 140,2395,2859, 55,1082,2012,2901, 662, 419,2081,1438, 680,2774, +4654,3912,1620,1731,1625,5035,4065,2328, 512,1344, 802,5443,2163,2311,2537, 524, +3399, 98,1155,2103,1918,2606,3925,2816,1393,2465,1504,3773,2177,3963,1478,4346, + 180,1113,4655,3461,2028,1698, 833,2696,1235,1322,1594,4408,3623,3013,3225,2040, +3022, 541,2881, 607,3632,2029,1665,1219, 639,1385,1686,1099,2803,3231,1938,3188, +2858, 427, 676,2772,1168,2025, 454,3253,2486,3556, 230,1950, 580, 791,1991,1280, +1086,1974,2034, 630, 257,3338,2788,4903,1017, 86,4790, 966,2789,1995,1696,1131, + 259,3095,4188,1308, 179,1463,5257, 289,4107,1248, 42,3413,1725,2288, 896,1947, + 774,4474,4254, 604,3430,4264, 392,2514,2588, 452, 237,1408,3018, 988,4531,1970, +3034,3310, 540,2370,1562,1288,2990, 502,4765,1147, 4,1853,2708, 207, 294,2814, +4078,2902,2509, 684, 34,3105,3532,2551, 644, 709,2801,2344, 573,1727,3573,3557, +2021,1081,3100,4315,2100,3681, 199,2263,1837,2385, 146,3484,1195,2776,3949, 997, +1939,3973,1008,1091,1202,1962,1847,1149,4209,5444,1076, 493, 117,5400,2521, 972, +1490,2934,1796,4542,2374,1512,2933,2657, 413,2888,1135,2762,2314,2156,1355,2369, + 766,2007,2527,2170,3124,2491,2593,2632,4757,2437, 234,3125,3591,1898,1750,1376, +1942,3468,3138, 570,2127,2145,3276,4131, 962, 132,1445,4196, 19, 941,3624,3480, +3366,1973,1374,4461,3431,2629, 283,2415,2275, 808,2887,3620,2112,2563,1353,3610, + 955,1089,3103,1053, 96, 88,4097, 823,3808,1583, 399, 292,4091,3313, 421,1128, + 642,4006, 903,2539,1877,2082, 596, 29,4066,1790, 722,2157, 130, 995,1569, 769, +1485, 464, 513,2213, 288,1923,1101,2453,4316, 133, 486,2445, 50, 625, 487,2207, + 57, 423, 481,2962, 159,3729,1558, 491, 303, 482, 501, 240,2837, 112,3648,2392, +1783, 362, 8,3433,3422, 610,2793,3277,1390,1284,1654, 21,3823, 734, 367, 623, + 193, 287, 374,1009,1483, 816, 476, 313,2255,2340,1262,2150,2899,1146,2581, 782, +2116,1659,2018,1880, 255,3586,3314,1110,2867,2137,2564, 986,2767,5185,2006, 650, + 158, 926, 762, 881,3157,2717,2362,3587, 306,3690,3245,1542,3077,2427,1691,2478, +2118,2985,3490,2438, 539,2305, 983, 129,1754, 355,4201,2386, 827,2923, 104,1773, +2838,2771, 411,2905,3919, 376, 767, 122,1114, 828,2422,1817,3506, 266,3460,1007, +1609,4998, 945,2612,4429,2274, 726,1247,1964,2914,2199,2070,4002,4108, 657,3323, +1422, 579, 455,2764,4737,1222,2895,1670, 824,1223,1487,2525, 558, 861,3080, 598, +2659,2515,1967, 752,2583,2376,2214,4180, 977, 704,2464,4999,2622,4109,1210,2961, + 819,1541, 142,2284, 44, 418, 457,1126,3730,4347,4626,1644,1876,3671,1864, 302, +1063,5694, 624, 723,1984,3745,1314,1676,2488,1610,1449,3558,3569,2166,2098, 409, +1011,2325,3704,2306, 818,1732,1383,1824,1844,3757, 999,2705,3497,1216,1423,2683, +2426,2954,2501,2726,2229,1475,2554,5064,1971,1794,1666,2014,1343, 783, 724, 191, +2434,1354,2220,5065,1763,2752,2472,4152, 131, 175,2885,3434, 92,1466,4920,2616, +3871,3872,3866, 128,1551,1632, 669,1854,3682,4691,4125,1230, 188,2973,3290,1302, +1213, 560,3266, 917, 763,3909,3249,1760, 868,1958, 764,1782,2097, 145,2277,3774, +4462, 64,1491,3062, 971,2132,3606,2442, 221,1226,1617, 218, 323,1185,3207,3147, + 571, 619,1473,1005,1744,2281, 449,1887,2396,3685, 275, 375,3816,1743,3844,3731, + 845,1983,2350,4210,1377, 773, 967,3499,3052,3743,2725,4007,1697,1022,3943,1464, +3264,2855,2722,1952,1029,2839,2467, 84,4383,2215, 820,1391,2015,2448,3672, 377, +1948,2168, 797,2545,3536,2578,2645, 94,2874,1678, 405,1259,3071, 771, 546,1315, + 470,1243,3083, 895,2468, 981, 969,2037, 846,4181, 653,1276,2928, 14,2594, 557, +3007,2474, 156, 902,1338,1740,2574, 537,2518, 973,2282,2216,2433,1928, 138,2903, +1293,2631,1612, 646,3457, 839,2935, 111, 496,2191,2847, 589,3186, 149,3994,2060, +4031,2641,4067,3145,1870, 37,3597,2136,1025,2051,3009,3383,3549,1121,1016,3261, +1301, 251,2446,2599,2153, 872,3246, 637, 334,3705, 831, 884, 921,3065,3140,4092, +2198,1944, 246,2964, 108,2045,1152,1921,2308,1031, 203,3173,4170,1907,3890, 810, +1401,2003,1690, 506, 647,1242,2828,1761,1649,3208,2249,1589,3709,2931,5156,1708, + 498, 666,2613, 834,3817,1231, 184,2851,1124, 883,3197,2261,3710,1765,1553,2658, +1178,2639,2351, 93,1193, 942,2538,2141,4402, 235,1821, 870,1591,2192,1709,1871, +3341,1618,4126,2595,2334, 603, 651, 69, 701, 268,2662,3411,2555,1380,1606, 503, + 448, 254,2371,2646, 574,1187,2309,1770, 322,2235,1292,1801, 305, 566,1133, 229, +2067,2057, 706, 167, 483,2002,2672,3295,1820,3561,3067, 316, 378,2746,3452,1112, + 136,1981, 507,1651,2917,1117, 285,4591, 182,2580,3522,1304, 335,3303,1835,2504, +1795,1792,2248, 674,1018,2106,2449,1857,2292,2845, 976,3047,1781,2600,2727,1389, +1281, 52,3152, 153, 265,3950, 672,3485,3951,4463, 430,1183, 365, 278,2169, 27, +1407,1336,2304, 209,1340,1730,2202,1852,2403,2883, 979,1737,1062, 631,2829,2542, +3876,2592, 825,2086,2226,3048,3625, 352,1417,3724, 542, 991, 431,1351,3938,1861, +2294, 826,1361,2927,3142,3503,1738, 463,2462,2723, 582,1916,1595,2808, 400,3845, +3891,2868,3621,2254, 58,2492,1123, 910,2160,2614,1372,1603,1196,1072,3385,1700, +3267,1980, 696, 480,2430, 920, 799,1570,2920,1951,2041,4047,2540,1321,4223,2469, +3562,2228,1271,2602, 401,2833,3351,2575,5157, 907,2312,1256, 410, 263,3507,1582, + 996, 678,1849,2316,1480, 908,3545,2237, 703,2322, 667,1826,2849,1531,2604,2999, +2407,3146,2151,2630,1786,3711, 469,3542, 497,3899,2409, 858, 837,4446,3393,1274, + 786, 620,1845,2001,3311, 484, 308,3367,1204,1815,3691,2332,1532,2557,1842,2020, +2724,1927,2333,4440, 567, 22,1673,2728,4475,1987,1858,1144,1597, 101,1832,3601, + 12, 974,3783,4391, 951,1412, 1,3720, 453,4608,4041, 528,1041,1027,3230,2628, +1129, 875,1051,3291,1203,2262,1069,2860,2799,2149,2615,3278, 144,1758,3040, 31, + 475,1680, 366,2685,3184, 311,1642,4008,2466,5036,1593,1493,2809, 216,1420,1668, + 233, 304,2128,3284, 232,1429,1768,1040,2008,3407,2740,2967,2543, 242,2133, 778, +1565,2022,2620, 505,2189,2756,1098,2273, 372,1614, 708, 553,2846,2094,2278, 169, +3626,2835,4161, 228,2674,3165, 809,1454,1309, 466,1705,1095, 900,3423, 880,2667, +3751,5258,2317,3109,2571,4317,2766,1503,1342, 866,4447,1118, 63,2076, 314,1881, +1348,1061, 172, 978,3515,1747, 532, 511,3970, 6, 601, 905,2699,3300,1751, 276, +1467,3725,2668, 65,4239,2544,2779,2556,1604, 578,2451,1802, 992,2331,2624,1320, +3446, 713,1513,1013, 103,2786,2447,1661, 886,1702, 916, 654,3574,2031,1556, 751, +2178,2821,2179,1498,1538,2176, 271, 914,2251,2080,1325, 638,1953,2937,3877,2432, +2754, 95,3265,1716, 260,1227,4083, 775, 106,1357,3254, 426,1607, 555,2480, 772, +1985, 244,2546, 474, 495,1046,2611,1851,2061, 71,2089,1675,2590, 742,3758,2843, +3222,1433, 267,2180,2576,2826,2233,2092,3913,2435, 956,1745,3075, 856,2113,1116, + 451, 3,1988,2896,1398, 993,2463,1878,2049,1341,2718,2721,2870,2108, 712,2904, +4363,2753,2324, 277,2872,2349,2649, 384, 987, 435, 691,3000, 922, 164,3939, 652, +1500,1184,4153,2482,3373,2165,4848,2335,3775,3508,3154,2806,2830,1554,2102,1664, +2530,1434,2408, 893,1547,2623,3447,2832,2242,2532,3169,2856,3223,2078, 49,3770, +3469, 462, 318, 656,2259,3250,3069, 679,1629,2758, 344,1138,1104,3120,1836,1283, +3115,2154,1437,4448, 934, 759,1999, 794,2862,1038, 533,2560,1722,2342, 855,2626, +1197,1663,4476,3127, 85,4240,2528, 25,1111,1181,3673, 407,3470,4561,2679,2713, + 768,1925,2841,3986,1544,1165, 932, 373,1240,2146,1930,2673, 721,4766, 354,4333, + 391,2963, 187, 61,3364,1442,1102, 330,1940,1767, 341,3809,4118, 393,2496,2062, +2211, 105, 331, 300, 439, 913,1332, 626, 379,3304,1557, 328, 689,3952, 309,1555, + 931, 317,2517,3027, 325, 569, 686,2107,3084, 60,1042,1333,2794, 264,3177,4014, +1628, 258,3712, 7,4464,1176,1043,1778, 683, 114,1975, 78,1492, 383,1886, 510, + 386, 645,5291,2891,2069,3305,4138,3867,2939,2603,2493,1935,1066,1848,3588,1015, +1282,1289,4609, 697,1453,3044,2666,3611,1856,2412, 54, 719,1330, 568,3778,2459, +1748, 788, 492, 551,1191,1000, 488,3394,3763, 282,1799, 348,2016,1523,3155,2390, +1049, 382,2019,1788,1170, 729,2968,3523, 897,3926,2785,2938,3292, 350,2319,3238, +1718,1717,2655,3453,3143,4465, 161,2889,2980,2009,1421, 56,1908,1640,2387,2232, +1917,1874,2477,4921, 148, 83,3438, 592,4245,2882,1822,1055, 741, 115,1496,1624, + 381,1638,4592,1020, 516,3214, 458, 947,4575,1432, 211,1514,2926,1865,2142, 189, + 852,1221,1400,1486, 882,2299,4036, 351, 28,1122, 700,6479,6480,6481,6482,6483, #last 512 +) + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312prober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312prober.py new file mode 100644 index 0000000..8446d2d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/gb2312prober.py @@ -0,0 +1,46 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import GB2312DistributionAnalysis +from .mbcssm import GB2312_SM_MODEL + +class GB2312Prober(MultiByteCharSetProber): + def __init__(self): + super(GB2312Prober, self).__init__() + self.coding_sm = CodingStateMachine(GB2312_SM_MODEL) + self.distribution_analyzer = GB2312DistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "GB2312" + + @property + def language(self): + return "Chinese" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/hebrewprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/hebrewprober.py new file mode 100644 index 0000000..b0e1bf4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/hebrewprober.py @@ -0,0 +1,292 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Shy Shalom +# Portions created by the Initial Developer are Copyright (C) 2005 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState + +# This prober doesn't actually recognize a language or a charset. +# It is a helper prober for the use of the Hebrew model probers + +### General ideas of the Hebrew charset recognition ### +# +# Four main charsets exist in Hebrew: +# "ISO-8859-8" - Visual Hebrew +# "windows-1255" - Logical Hebrew +# "ISO-8859-8-I" - Logical Hebrew +# "x-mac-hebrew" - ?? Logical Hebrew ?? +# +# Both "ISO" charsets use a completely identical set of code points, whereas +# "windows-1255" and "x-mac-hebrew" are two different proper supersets of +# these code points. windows-1255 defines additional characters in the range +# 0x80-0x9F as some misc punctuation marks as well as some Hebrew-specific +# diacritics and additional 'Yiddish' ligature letters in the range 0xc0-0xd6. +# x-mac-hebrew defines similar additional code points but with a different +# mapping. +# +# As far as an average Hebrew text with no diacritics is concerned, all four +# charsets are identical with respect to code points. Meaning that for the +# main Hebrew alphabet, all four map the same values to all 27 Hebrew letters +# (including final letters). +# +# The dominant difference between these charsets is their directionality. +# "Visual" directionality means that the text is ordered as if the renderer is +# not aware of a BIDI rendering algorithm. The renderer sees the text and +# draws it from left to right. The text itself when ordered naturally is read +# backwards. A buffer of Visual Hebrew generally looks like so: +# "[last word of first line spelled backwards] [whole line ordered backwards +# and spelled backwards] [first word of first line spelled backwards] +# [end of line] [last word of second line] ... etc' " +# adding punctuation marks, numbers and English text to visual text is +# naturally also "visual" and from left to right. +# +# "Logical" directionality means the text is ordered "naturally" according to +# the order it is read. It is the responsibility of the renderer to display +# the text from right to left. A BIDI algorithm is used to place general +# punctuation marks, numbers and English text in the text. +# +# Texts in x-mac-hebrew are almost impossible to find on the Internet. From +# what little evidence I could find, it seems that its general directionality +# is Logical. +# +# To sum up all of the above, the Hebrew probing mechanism knows about two +# charsets: +# Visual Hebrew - "ISO-8859-8" - backwards text - Words and sentences are +# backwards while line order is natural. For charset recognition purposes +# the line order is unimportant (In fact, for this implementation, even +# word order is unimportant). +# Logical Hebrew - "windows-1255" - normal, naturally ordered text. +# +# "ISO-8859-8-I" is a subset of windows-1255 and doesn't need to be +# specifically identified. +# "x-mac-hebrew" is also identified as windows-1255. A text in x-mac-hebrew +# that contain special punctuation marks or diacritics is displayed with +# some unconverted characters showing as question marks. This problem might +# be corrected using another model prober for x-mac-hebrew. Due to the fact +# that x-mac-hebrew texts are so rare, writing another model prober isn't +# worth the effort and performance hit. +# +#### The Prober #### +# +# The prober is divided between two SBCharSetProbers and a HebrewProber, +# all of which are managed, created, fed data, inquired and deleted by the +# SBCSGroupProber. The two SBCharSetProbers identify that the text is in +# fact some kind of Hebrew, Logical or Visual. The final decision about which +# one is it is made by the HebrewProber by combining final-letter scores +# with the scores of the two SBCharSetProbers to produce a final answer. +# +# The SBCSGroupProber is responsible for stripping the original text of HTML +# tags, English characters, numbers, low-ASCII punctuation characters, spaces +# and new lines. It reduces any sequence of such characters to a single space. +# The buffer fed to each prober in the SBCS group prober is pure text in +# high-ASCII. +# The two SBCharSetProbers (model probers) share the same language model: +# Win1255Model. +# The first SBCharSetProber uses the model normally as any other +# SBCharSetProber does, to recognize windows-1255, upon which this model was +# built. The second SBCharSetProber is told to make the pair-of-letter +# lookup in the language model backwards. This in practice exactly simulates +# a visual Hebrew model using the windows-1255 logical Hebrew model. +# +# The HebrewProber is not using any language model. All it does is look for +# final-letter evidence suggesting the text is either logical Hebrew or visual +# Hebrew. Disjointed from the model probers, the results of the HebrewProber +# alone are meaningless. HebrewProber always returns 0.00 as confidence +# since it never identifies a charset by itself. Instead, the pointer to the +# HebrewProber is passed to the model probers as a helper "Name Prober". +# When the Group prober receives a positive identification from any prober, +# it asks for the name of the charset identified. If the prober queried is a +# Hebrew model prober, the model prober forwards the call to the +# HebrewProber to make the final decision. In the HebrewProber, the +# decision is made according to the final-letters scores maintained and Both +# model probers scores. The answer is returned in the form of the name of the +# charset identified, either "windows-1255" or "ISO-8859-8". + +class HebrewProber(CharSetProber): + # windows-1255 / ISO-8859-8 code points of interest + FINAL_KAF = 0xea + NORMAL_KAF = 0xeb + FINAL_MEM = 0xed + NORMAL_MEM = 0xee + FINAL_NUN = 0xef + NORMAL_NUN = 0xf0 + FINAL_PE = 0xf3 + NORMAL_PE = 0xf4 + FINAL_TSADI = 0xf5 + NORMAL_TSADI = 0xf6 + + # Minimum Visual vs Logical final letter score difference. + # If the difference is below this, don't rely solely on the final letter score + # distance. + MIN_FINAL_CHAR_DISTANCE = 5 + + # Minimum Visual vs Logical model score difference. + # If the difference is below this, don't rely at all on the model score + # distance. + MIN_MODEL_DISTANCE = 0.01 + + VISUAL_HEBREW_NAME = "ISO-8859-8" + LOGICAL_HEBREW_NAME = "windows-1255" + + def __init__(self): + super(HebrewProber, self).__init__() + self._final_char_logical_score = None + self._final_char_visual_score = None + self._prev = None + self._before_prev = None + self._logical_prober = None + self._visual_prober = None + self.reset() + + def reset(self): + self._final_char_logical_score = 0 + self._final_char_visual_score = 0 + # The two last characters seen in the previous buffer, + # mPrev and mBeforePrev are initialized to space in order to simulate + # a word delimiter at the beginning of the data + self._prev = ' ' + self._before_prev = ' ' + # These probers are owned by the group prober. + + def set_model_probers(self, logicalProber, visualProber): + self._logical_prober = logicalProber + self._visual_prober = visualProber + + def is_final(self, c): + return c in [self.FINAL_KAF, self.FINAL_MEM, self.FINAL_NUN, + self.FINAL_PE, self.FINAL_TSADI] + + def is_non_final(self, c): + # The normal Tsadi is not a good Non-Final letter due to words like + # 'lechotet' (to chat) containing an apostrophe after the tsadi. This + # apostrophe is converted to a space in FilterWithoutEnglishLetters + # causing the Non-Final tsadi to appear at an end of a word even + # though this is not the case in the original text. + # The letters Pe and Kaf rarely display a related behavior of not being + # a good Non-Final letter. Words like 'Pop', 'Winamp' and 'Mubarak' + # for example legally end with a Non-Final Pe or Kaf. However, the + # benefit of these letters as Non-Final letters outweighs the damage + # since these words are quite rare. + return c in [self.NORMAL_KAF, self.NORMAL_MEM, + self.NORMAL_NUN, self.NORMAL_PE] + + def feed(self, byte_str): + # Final letter analysis for logical-visual decision. + # Look for evidence that the received buffer is either logical Hebrew + # or visual Hebrew. + # The following cases are checked: + # 1) A word longer than 1 letter, ending with a final letter. This is + # an indication that the text is laid out "naturally" since the + # final letter really appears at the end. +1 for logical score. + # 2) A word longer than 1 letter, ending with a Non-Final letter. In + # normal Hebrew, words ending with Kaf, Mem, Nun, Pe or Tsadi, + # should not end with the Non-Final form of that letter. Exceptions + # to this rule are mentioned above in isNonFinal(). This is an + # indication that the text is laid out backwards. +1 for visual + # score + # 3) A word longer than 1 letter, starting with a final letter. Final + # letters should not appear at the beginning of a word. This is an + # indication that the text is laid out backwards. +1 for visual + # score. + # + # The visual score and logical score are accumulated throughout the + # text and are finally checked against each other in GetCharSetName(). + # No checking for final letters in the middle of words is done since + # that case is not an indication for either Logical or Visual text. + # + # We automatically filter out all 7-bit characters (replace them with + # spaces) so the word boundary detection works properly. [MAP] + + if self.state == ProbingState.NOT_ME: + # Both model probers say it's not them. No reason to continue. + return ProbingState.NOT_ME + + byte_str = self.filter_high_byte_only(byte_str) + + for cur in byte_str: + if cur == ' ': + # We stand on a space - a word just ended + if self._before_prev != ' ': + # next-to-last char was not a space so self._prev is not a + # 1 letter word + if self.is_final(self._prev): + # case (1) [-2:not space][-1:final letter][cur:space] + self._final_char_logical_score += 1 + elif self.is_non_final(self._prev): + # case (2) [-2:not space][-1:Non-Final letter][ + # cur:space] + self._final_char_visual_score += 1 + else: + # Not standing on a space + if ((self._before_prev == ' ') and + (self.is_final(self._prev)) and (cur != ' ')): + # case (3) [-2:space][-1:final letter][cur:not space] + self._final_char_visual_score += 1 + self._before_prev = self._prev + self._prev = cur + + # Forever detecting, till the end or until both model probers return + # ProbingState.NOT_ME (handled above) + return ProbingState.DETECTING + + @property + def charset_name(self): + # Make the decision: is it Logical or Visual? + # If the final letter score distance is dominant enough, rely on it. + finalsub = self._final_char_logical_score - self._final_char_visual_score + if finalsub >= self.MIN_FINAL_CHAR_DISTANCE: + return self.LOGICAL_HEBREW_NAME + if finalsub <= -self.MIN_FINAL_CHAR_DISTANCE: + return self.VISUAL_HEBREW_NAME + + # It's not dominant enough, try to rely on the model scores instead. + modelsub = (self._logical_prober.get_confidence() + - self._visual_prober.get_confidence()) + if modelsub > self.MIN_MODEL_DISTANCE: + return self.LOGICAL_HEBREW_NAME + if modelsub < -self.MIN_MODEL_DISTANCE: + return self.VISUAL_HEBREW_NAME + + # Still no good, back to final letter distance, maybe it'll save the + # day. + if finalsub < 0.0: + return self.VISUAL_HEBREW_NAME + + # (finalsub > 0 - Logical) or (don't know what to do) default to + # Logical. + return self.LOGICAL_HEBREW_NAME + + @property + def language(self): + return 'Hebrew' + + @property + def state(self): + # Remain active as long as any of the model probers are active. + if (self._logical_prober.state == ProbingState.NOT_ME) and \ + (self._visual_prober.state == ProbingState.NOT_ME): + return ProbingState.NOT_ME + return ProbingState.DETECTING diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jisfreq.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jisfreq.py new file mode 100644 index 0000000..83fc082 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jisfreq.py @@ -0,0 +1,325 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# Sampling from about 20M text materials include literature and computer technology +# +# Japanese frequency table, applied to both S-JIS and EUC-JP +# They are sorted in order. + +# 128 --> 0.77094 +# 256 --> 0.85710 +# 512 --> 0.92635 +# 1024 --> 0.97130 +# 2048 --> 0.99431 +# +# Ideal Distribution Ratio = 0.92635 / (1-0.92635) = 12.58 +# Random Distribution Ration = 512 / (2965+62+83+86-512) = 0.191 +# +# Typical Distribution Ratio, 25% of IDR + +JIS_TYPICAL_DISTRIBUTION_RATIO = 3.0 + +# Char to FreqOrder table , +JIS_TABLE_SIZE = 4368 + +JIS_CHAR_TO_FREQ_ORDER = ( + 40, 1, 6, 182, 152, 180, 295,2127, 285, 381,3295,4304,3068,4606,3165,3510, # 16 +3511,1822,2785,4607,1193,2226,5070,4608, 171,2996,1247, 18, 179,5071, 856,1661, # 32 +1262,5072, 619, 127,3431,3512,3230,1899,1700, 232, 228,1294,1298, 284, 283,2041, # 48 +2042,1061,1062, 48, 49, 44, 45, 433, 434,1040,1041, 996, 787,2997,1255,4305, # 64 +2108,4609,1684,1648,5073,5074,5075,5076,5077,5078,3687,5079,4610,5080,3927,3928, # 80 +5081,3296,3432, 290,2285,1471,2187,5082,2580,2825,1303,2140,1739,1445,2691,3375, # 96 +1691,3297,4306,4307,4611, 452,3376,1182,2713,3688,3069,4308,5083,5084,5085,5086, # 112 +5087,5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102, # 128 +5103,5104,5105,5106,5107,5108,5109,5110,5111,5112,4097,5113,5114,5115,5116,5117, # 144 +5118,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,5130,5131,5132,5133, # 160 +5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148,5149, # 176 +5150,5151,5152,4612,5153,5154,5155,5156,5157,5158,5159,5160,5161,5162,5163,5164, # 192 +5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,1472, 598, 618, 820,1205, # 208 +1309,1412,1858,1307,1692,5176,5177,5178,5179,5180,5181,5182,1142,1452,1234,1172, # 224 +1875,2043,2149,1793,1382,2973, 925,2404,1067,1241, 960,1377,2935,1491, 919,1217, # 240 +1865,2030,1406,1499,2749,4098,5183,5184,5185,5186,5187,5188,2561,4099,3117,1804, # 256 +2049,3689,4309,3513,1663,5189,3166,3118,3298,1587,1561,3433,5190,3119,1625,2998, # 272 +3299,4613,1766,3690,2786,4614,5191,5192,5193,5194,2161, 26,3377, 2,3929, 20, # 288 +3691, 47,4100, 50, 17, 16, 35, 268, 27, 243, 42, 155, 24, 154, 29, 184, # 304 + 4, 91, 14, 92, 53, 396, 33, 289, 9, 37, 64, 620, 21, 39, 321, 5, # 320 + 12, 11, 52, 13, 3, 208, 138, 0, 7, 60, 526, 141, 151,1069, 181, 275, # 336 +1591, 83, 132,1475, 126, 331, 829, 15, 69, 160, 59, 22, 157, 55,1079, 312, # 352 + 109, 38, 23, 25, 10, 19, 79,5195, 61, 382,1124, 8, 30,5196,5197,5198, # 368 +5199,5200,5201,5202,5203,5204,5205,5206, 89, 62, 74, 34,2416, 112, 139, 196, # 384 + 271, 149, 84, 607, 131, 765, 46, 88, 153, 683, 76, 874, 101, 258, 57, 80, # 400 + 32, 364, 121,1508, 169,1547, 68, 235, 145,2999, 41, 360,3027, 70, 63, 31, # 416 + 43, 259, 262,1383, 99, 533, 194, 66, 93, 846, 217, 192, 56, 106, 58, 565, # 432 + 280, 272, 311, 256, 146, 82, 308, 71, 100, 128, 214, 655, 110, 261, 104,1140, # 448 + 54, 51, 36, 87, 67,3070, 185,2618,2936,2020, 28,1066,2390,2059,5207,5208, # 464 +5209,5210,5211,5212,5213,5214,5215,5216,4615,5217,5218,5219,5220,5221,5222,5223, # 480 +5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234,5235,5236,3514,5237,5238, # 496 +5239,5240,5241,5242,5243,5244,2297,2031,4616,4310,3692,5245,3071,5246,3598,5247, # 512 +4617,3231,3515,5248,4101,4311,4618,3808,4312,4102,5249,4103,4104,3599,5250,5251, # 528 +5252,5253,5254,5255,5256,5257,5258,5259,5260,5261,5262,5263,5264,5265,5266,5267, # 544 +5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278,5279,5280,5281,5282,5283, # 560 +5284,5285,5286,5287,5288,5289,5290,5291,5292,5293,5294,5295,5296,5297,5298,5299, # 576 +5300,5301,5302,5303,5304,5305,5306,5307,5308,5309,5310,5311,5312,5313,5314,5315, # 592 +5316,5317,5318,5319,5320,5321,5322,5323,5324,5325,5326,5327,5328,5329,5330,5331, # 608 +5332,5333,5334,5335,5336,5337,5338,5339,5340,5341,5342,5343,5344,5345,5346,5347, # 624 +5348,5349,5350,5351,5352,5353,5354,5355,5356,5357,5358,5359,5360,5361,5362,5363, # 640 +5364,5365,5366,5367,5368,5369,5370,5371,5372,5373,5374,5375,5376,5377,5378,5379, # 656 +5380,5381, 363, 642,2787,2878,2788,2789,2316,3232,2317,3434,2011, 165,1942,3930, # 672 +3931,3932,3933,5382,4619,5383,4620,5384,5385,5386,5387,5388,5389,5390,5391,5392, # 688 +5393,5394,5395,5396,5397,5398,5399,5400,5401,5402,5403,5404,5405,5406,5407,5408, # 704 +5409,5410,5411,5412,5413,5414,5415,5416,5417,5418,5419,5420,5421,5422,5423,5424, # 720 +5425,5426,5427,5428,5429,5430,5431,5432,5433,5434,5435,5436,5437,5438,5439,5440, # 736 +5441,5442,5443,5444,5445,5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456, # 752 +5457,5458,5459,5460,5461,5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472, # 768 +5473,5474,5475,5476,5477,5478,5479,5480,5481,5482,5483,5484,5485,5486,5487,5488, # 784 +5489,5490,5491,5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504, # 800 +5505,5506,5507,5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520, # 816 +5521,5522,5523,5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536, # 832 +5537,5538,5539,5540,5541,5542,5543,5544,5545,5546,5547,5548,5549,5550,5551,5552, # 848 +5553,5554,5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568, # 864 +5569,5570,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584, # 880 +5585,5586,5587,5588,5589,5590,5591,5592,5593,5594,5595,5596,5597,5598,5599,5600, # 896 +5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,5615,5616, # 912 +5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631,5632, # 928 +5633,5634,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646,5647,5648, # 944 +5649,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660,5661,5662,5663,5664, # 960 +5665,5666,5667,5668,5669,5670,5671,5672,5673,5674,5675,5676,5677,5678,5679,5680, # 976 +5681,5682,5683,5684,5685,5686,5687,5688,5689,5690,5691,5692,5693,5694,5695,5696, # 992 +5697,5698,5699,5700,5701,5702,5703,5704,5705,5706,5707,5708,5709,5710,5711,5712, # 1008 +5713,5714,5715,5716,5717,5718,5719,5720,5721,5722,5723,5724,5725,5726,5727,5728, # 1024 +5729,5730,5731,5732,5733,5734,5735,5736,5737,5738,5739,5740,5741,5742,5743,5744, # 1040 +5745,5746,5747,5748,5749,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5760, # 1056 +5761,5762,5763,5764,5765,5766,5767,5768,5769,5770,5771,5772,5773,5774,5775,5776, # 1072 +5777,5778,5779,5780,5781,5782,5783,5784,5785,5786,5787,5788,5789,5790,5791,5792, # 1088 +5793,5794,5795,5796,5797,5798,5799,5800,5801,5802,5803,5804,5805,5806,5807,5808, # 1104 +5809,5810,5811,5812,5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824, # 1120 +5825,5826,5827,5828,5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840, # 1136 +5841,5842,5843,5844,5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856, # 1152 +5857,5858,5859,5860,5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872, # 1168 +5873,5874,5875,5876,5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888, # 1184 +5889,5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904, # 1200 +5905,5906,5907,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920, # 1216 +5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936, # 1232 +5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952, # 1248 +5953,5954,5955,5956,5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968, # 1264 +5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984, # 1280 +5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000, # 1296 +6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016, # 1312 +6017,6018,6019,6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032, # 1328 +6033,6034,6035,6036,6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048, # 1344 +6049,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064, # 1360 +6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080, # 1376 +6081,6082,6083,6084,6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096, # 1392 +6097,6098,6099,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112, # 1408 +6113,6114,2044,2060,4621, 997,1235, 473,1186,4622, 920,3378,6115,6116, 379,1108, # 1424 +4313,2657,2735,3934,6117,3809, 636,3233, 573,1026,3693,3435,2974,3300,2298,4105, # 1440 + 854,2937,2463, 393,2581,2417, 539, 752,1280,2750,2480, 140,1161, 440, 708,1569, # 1456 + 665,2497,1746,1291,1523,3000, 164,1603, 847,1331, 537,1997, 486, 508,1693,2418, # 1472 +1970,2227, 878,1220, 299,1030, 969, 652,2751, 624,1137,3301,2619, 65,3302,2045, # 1488 +1761,1859,3120,1930,3694,3516, 663,1767, 852, 835,3695, 269, 767,2826,2339,1305, # 1504 + 896,1150, 770,1616,6118, 506,1502,2075,1012,2519, 775,2520,2975,2340,2938,4314, # 1520 +3028,2086,1224,1943,2286,6119,3072,4315,2240,1273,1987,3935,1557, 175, 597, 985, # 1536 +3517,2419,2521,1416,3029, 585, 938,1931,1007,1052,1932,1685,6120,3379,4316,4623, # 1552 + 804, 599,3121,1333,2128,2539,1159,1554,2032,3810, 687,2033,2904, 952, 675,1467, # 1568 +3436,6121,2241,1096,1786,2440,1543,1924, 980,1813,2228, 781,2692,1879, 728,1918, # 1584 +3696,4624, 548,1950,4625,1809,1088,1356,3303,2522,1944, 502, 972, 373, 513,2827, # 1600 + 586,2377,2391,1003,1976,1631,6122,2464,1084, 648,1776,4626,2141, 324, 962,2012, # 1616 +2177,2076,1384, 742,2178,1448,1173,1810, 222, 102, 301, 445, 125,2420, 662,2498, # 1632 + 277, 200,1476,1165,1068, 224,2562,1378,1446, 450,1880, 659, 791, 582,4627,2939, # 1648 +3936,1516,1274, 555,2099,3697,1020,1389,1526,3380,1762,1723,1787,2229, 412,2114, # 1664 +1900,2392,3518, 512,2597, 427,1925,2341,3122,1653,1686,2465,2499, 697, 330, 273, # 1680 + 380,2162, 951, 832, 780, 991,1301,3073, 965,2270,3519, 668,2523,2636,1286, 535, # 1696 +1407, 518, 671, 957,2658,2378, 267, 611,2197,3030,6123, 248,2299, 967,1799,2356, # 1712 + 850,1418,3437,1876,1256,1480,2828,1718,6124,6125,1755,1664,2405,6126,4628,2879, # 1728 +2829, 499,2179, 676,4629, 557,2329,2214,2090, 325,3234, 464, 811,3001, 992,2342, # 1744 +2481,1232,1469, 303,2242, 466,1070,2163, 603,1777,2091,4630,2752,4631,2714, 322, # 1760 +2659,1964,1768, 481,2188,1463,2330,2857,3600,2092,3031,2421,4632,2318,2070,1849, # 1776 +2598,4633,1302,2254,1668,1701,2422,3811,2905,3032,3123,2046,4106,1763,1694,4634, # 1792 +1604, 943,1724,1454, 917, 868,2215,1169,2940, 552,1145,1800,1228,1823,1955, 316, # 1808 +1080,2510, 361,1807,2830,4107,2660,3381,1346,1423,1134,4108,6127, 541,1263,1229, # 1824 +1148,2540, 545, 465,1833,2880,3438,1901,3074,2482, 816,3937, 713,1788,2500, 122, # 1840 +1575, 195,1451,2501,1111,6128, 859, 374,1225,2243,2483,4317, 390,1033,3439,3075, # 1856 +2524,1687, 266, 793,1440,2599, 946, 779, 802, 507, 897,1081, 528,2189,1292, 711, # 1872 +1866,1725,1167,1640, 753, 398,2661,1053, 246, 348,4318, 137,1024,3440,1600,2077, # 1888 +2129, 825,4319, 698, 238, 521, 187,2300,1157,2423,1641,1605,1464,1610,1097,2541, # 1904 +1260,1436, 759,2255,1814,2150, 705,3235, 409,2563,3304, 561,3033,2005,2564, 726, # 1920 +1956,2343,3698,4109, 949,3812,3813,3520,1669, 653,1379,2525, 881,2198, 632,2256, # 1936 +1027, 778,1074, 733,1957, 514,1481,2466, 554,2180, 702,3938,1606,1017,1398,6129, # 1952 +1380,3521, 921, 993,1313, 594, 449,1489,1617,1166, 768,1426,1360, 495,1794,3601, # 1968 +1177,3602,1170,4320,2344, 476, 425,3167,4635,3168,1424, 401,2662,1171,3382,1998, # 1984 +1089,4110, 477,3169, 474,6130,1909, 596,2831,1842, 494, 693,1051,1028,1207,3076, # 2000 + 606,2115, 727,2790,1473,1115, 743,3522, 630, 805,1532,4321,2021, 366,1057, 838, # 2016 + 684,1114,2142,4322,2050,1492,1892,1808,2271,3814,2424,1971,1447,1373,3305,1090, # 2032 +1536,3939,3523,3306,1455,2199, 336, 369,2331,1035, 584,2393, 902, 718,2600,6131, # 2048 +2753, 463,2151,1149,1611,2467, 715,1308,3124,1268, 343,1413,3236,1517,1347,2663, # 2064 +2093,3940,2022,1131,1553,2100,2941,1427,3441,2942,1323,2484,6132,1980, 872,2368, # 2080 +2441,2943, 320,2369,2116,1082, 679,1933,3941,2791,3815, 625,1143,2023, 422,2200, # 2096 +3816,6133, 730,1695, 356,2257,1626,2301,2858,2637,1627,1778, 937, 883,2906,2693, # 2112 +3002,1769,1086, 400,1063,1325,3307,2792,4111,3077, 456,2345,1046, 747,6134,1524, # 2128 + 884,1094,3383,1474,2164,1059, 974,1688,2181,2258,1047, 345,1665,1187, 358, 875, # 2144 +3170, 305, 660,3524,2190,1334,1135,3171,1540,1649,2542,1527, 927, 968,2793, 885, # 2160 +1972,1850, 482, 500,2638,1218,1109,1085,2543,1654,2034, 876, 78,2287,1482,1277, # 2176 + 861,1675,1083,1779, 724,2754, 454, 397,1132,1612,2332, 893, 672,1237, 257,2259, # 2192 +2370, 135,3384, 337,2244, 547, 352, 340, 709,2485,1400, 788,1138,2511, 540, 772, # 2208 +1682,2260,2272,2544,2013,1843,1902,4636,1999,1562,2288,4637,2201,1403,1533, 407, # 2224 + 576,3308,1254,2071, 978,3385, 170, 136,1201,3125,2664,3172,2394, 213, 912, 873, # 2240 +3603,1713,2202, 699,3604,3699, 813,3442, 493, 531,1054, 468,2907,1483, 304, 281, # 2256 +4112,1726,1252,2094, 339,2319,2130,2639, 756,1563,2944, 748, 571,2976,1588,2425, # 2272 +2715,1851,1460,2426,1528,1392,1973,3237, 288,3309, 685,3386, 296, 892,2716,2216, # 2288 +1570,2245, 722,1747,2217, 905,3238,1103,6135,1893,1441,1965, 251,1805,2371,3700, # 2304 +2601,1919,1078, 75,2182,1509,1592,1270,2640,4638,2152,6136,3310,3817, 524, 706, # 2320 +1075, 292,3818,1756,2602, 317, 98,3173,3605,3525,1844,2218,3819,2502, 814, 567, # 2336 + 385,2908,1534,6137, 534,1642,3239, 797,6138,1670,1529, 953,4323, 188,1071, 538, # 2352 + 178, 729,3240,2109,1226,1374,2000,2357,2977, 731,2468,1116,2014,2051,6139,1261, # 2368 +1593, 803,2859,2736,3443, 556, 682, 823,1541,6140,1369,2289,1706,2794, 845, 462, # 2384 +2603,2665,1361, 387, 162,2358,1740, 739,1770,1720,1304,1401,3241,1049, 627,1571, # 2400 +2427,3526,1877,3942,1852,1500, 431,1910,1503, 677, 297,2795, 286,1433,1038,1198, # 2416 +2290,1133,1596,4113,4639,2469,1510,1484,3943,6141,2442, 108, 712,4640,2372, 866, # 2432 +3701,2755,3242,1348, 834,1945,1408,3527,2395,3243,1811, 824, 994,1179,2110,1548, # 2448 +1453, 790,3003, 690,4324,4325,2832,2909,3820,1860,3821, 225,1748, 310, 346,1780, # 2464 +2470, 821,1993,2717,2796, 828, 877,3528,2860,2471,1702,2165,2910,2486,1789, 453, # 2480 + 359,2291,1676, 73,1164,1461,1127,3311, 421, 604, 314,1037, 589, 116,2487, 737, # 2496 + 837,1180, 111, 244, 735,6142,2261,1861,1362, 986, 523, 418, 581,2666,3822, 103, # 2512 + 855, 503,1414,1867,2488,1091, 657,1597, 979, 605,1316,4641,1021,2443,2078,2001, # 2528 +1209, 96, 587,2166,1032, 260,1072,2153, 173, 94, 226,3244, 819,2006,4642,4114, # 2544 +2203, 231,1744, 782, 97,2667, 786,3387, 887, 391, 442,2219,4326,1425,6143,2694, # 2560 + 633,1544,1202, 483,2015, 592,2052,1958,2472,1655, 419, 129,4327,3444,3312,1714, # 2576 +1257,3078,4328,1518,1098, 865,1310,1019,1885,1512,1734, 469,2444, 148, 773, 436, # 2592 +1815,1868,1128,1055,4329,1245,2756,3445,2154,1934,1039,4643, 579,1238, 932,2320, # 2608 + 353, 205, 801, 115,2428, 944,2321,1881, 399,2565,1211, 678, 766,3944, 335,2101, # 2624 +1459,1781,1402,3945,2737,2131,1010, 844, 981,1326,1013, 550,1816,1545,2620,1335, # 2640 +1008, 371,2881, 936,1419,1613,3529,1456,1395,2273,1834,2604,1317,2738,2503, 416, # 2656 +1643,4330, 806,1126, 229, 591,3946,1314,1981,1576,1837,1666, 347,1790, 977,3313, # 2672 + 764,2861,1853, 688,2429,1920,1462, 77, 595, 415,2002,3034, 798,1192,4115,6144, # 2688 +2978,4331,3035,2695,2582,2072,2566, 430,2430,1727, 842,1396,3947,3702, 613, 377, # 2704 + 278, 236,1417,3388,3314,3174, 757,1869, 107,3530,6145,1194, 623,2262, 207,1253, # 2720 +2167,3446,3948, 492,1117,1935, 536,1838,2757,1246,4332, 696,2095,2406,1393,1572, # 2736 +3175,1782, 583, 190, 253,1390,2230, 830,3126,3389, 934,3245,1703,1749,2979,1870, # 2752 +2545,1656,2204, 869,2346,4116,3176,1817, 496,1764,4644, 942,1504, 404,1903,1122, # 2768 +1580,3606,2945,1022, 515, 372,1735, 955,2431,3036,6146,2797,1110,2302,2798, 617, # 2784 +6147, 441, 762,1771,3447,3607,3608,1904, 840,3037, 86, 939,1385, 572,1370,2445, # 2800 +1336, 114,3703, 898, 294, 203,3315, 703,1583,2274, 429, 961,4333,1854,1951,3390, # 2816 +2373,3704,4334,1318,1381, 966,1911,2322,1006,1155, 309, 989, 458,2718,1795,1372, # 2832 +1203, 252,1689,1363,3177, 517,1936, 168,1490, 562, 193,3823,1042,4117,1835, 551, # 2848 + 470,4645, 395, 489,3448,1871,1465,2583,2641, 417,1493, 279,1295, 511,1236,1119, # 2864 + 72,1231,1982,1812,3004, 871,1564, 984,3449,1667,2696,2096,4646,2347,2833,1673, # 2880 +3609, 695,3246,2668, 807,1183,4647, 890, 388,2333,1801,1457,2911,1765,1477,1031, # 2896 +3316,3317,1278,3391,2799,2292,2526, 163,3450,4335,2669,1404,1802,6148,2323,2407, # 2912 +1584,1728,1494,1824,1269, 298, 909,3318,1034,1632, 375, 776,1683,2061, 291, 210, # 2928 +1123, 809,1249,1002,2642,3038, 206,1011,2132, 144, 975, 882,1565, 342, 667, 754, # 2944 +1442,2143,1299,2303,2062, 447, 626,2205,1221,2739,2912,1144,1214,2206,2584, 760, # 2960 +1715, 614, 950,1281,2670,2621, 810, 577,1287,2546,4648, 242,2168, 250,2643, 691, # 2976 + 123,2644, 647, 313,1029, 689,1357,2946,1650, 216, 771,1339,1306, 808,2063, 549, # 2992 + 913,1371,2913,2914,6149,1466,1092,1174,1196,1311,2605,2396,1783,1796,3079, 406, # 3008 +2671,2117,3949,4649, 487,1825,2220,6150,2915, 448,2348,1073,6151,2397,1707, 130, # 3024 + 900,1598, 329, 176,1959,2527,1620,6152,2275,4336,3319,1983,2191,3705,3610,2155, # 3040 +3706,1912,1513,1614,6153,1988, 646, 392,2304,1589,3320,3039,1826,1239,1352,1340, # 3056 +2916, 505,2567,1709,1437,2408,2547, 906,6154,2672, 384,1458,1594,1100,1329, 710, # 3072 + 423,3531,2064,2231,2622,1989,2673,1087,1882, 333, 841,3005,1296,2882,2379, 580, # 3088 +1937,1827,1293,2585, 601, 574, 249,1772,4118,2079,1120, 645, 901,1176,1690, 795, # 3104 +2207, 478,1434, 516,1190,1530, 761,2080, 930,1264, 355, 435,1552, 644,1791, 987, # 3120 + 220,1364,1163,1121,1538, 306,2169,1327,1222, 546,2645, 218, 241, 610,1704,3321, # 3136 +1984,1839,1966,2528, 451,6155,2586,3707,2568, 907,3178, 254,2947, 186,1845,4650, # 3152 + 745, 432,1757, 428,1633, 888,2246,2221,2489,3611,2118,1258,1265, 956,3127,1784, # 3168 +4337,2490, 319, 510, 119, 457,3612, 274,2035,2007,4651,1409,3128, 970,2758, 590, # 3184 +2800, 661,2247,4652,2008,3950,1420,1549,3080,3322,3951,1651,1375,2111, 485,2491, # 3200 +1429,1156,6156,2548,2183,1495, 831,1840,2529,2446, 501,1657, 307,1894,3247,1341, # 3216 + 666, 899,2156,1539,2549,1559, 886, 349,2208,3081,2305,1736,3824,2170,2759,1014, # 3232 +1913,1386, 542,1397,2948, 490, 368, 716, 362, 159, 282,2569,1129,1658,1288,1750, # 3248 +2674, 276, 649,2016, 751,1496, 658,1818,1284,1862,2209,2087,2512,3451, 622,2834, # 3264 + 376, 117,1060,2053,1208,1721,1101,1443, 247,1250,3179,1792,3952,2760,2398,3953, # 3280 +6157,2144,3708, 446,2432,1151,2570,3452,2447,2761,2835,1210,2448,3082, 424,2222, # 3296 +1251,2449,2119,2836, 504,1581,4338, 602, 817, 857,3825,2349,2306, 357,3826,1470, # 3312 +1883,2883, 255, 958, 929,2917,3248, 302,4653,1050,1271,1751,2307,1952,1430,2697, # 3328 +2719,2359, 354,3180, 777, 158,2036,4339,1659,4340,4654,2308,2949,2248,1146,2232, # 3344 +3532,2720,1696,2623,3827,6158,3129,1550,2698,1485,1297,1428, 637, 931,2721,2145, # 3360 + 914,2550,2587, 81,2450, 612, 827,2646,1242,4655,1118,2884, 472,1855,3181,3533, # 3376 +3534, 569,1353,2699,1244,1758,2588,4119,2009,2762,2171,3709,1312,1531,6159,1152, # 3392 +1938, 134,1830, 471,3710,2276,1112,1535,3323,3453,3535, 982,1337,2950, 488, 826, # 3408 + 674,1058,1628,4120,2017, 522,2399, 211, 568,1367,3454, 350, 293,1872,1139,3249, # 3424 +1399,1946,3006,1300,2360,3324, 588, 736,6160,2606, 744, 669,3536,3828,6161,1358, # 3440 + 199, 723, 848, 933, 851,1939,1505,1514,1338,1618,1831,4656,1634,3613, 443,2740, # 3456 +3829, 717,1947, 491,1914,6162,2551,1542,4121,1025,6163,1099,1223, 198,3040,2722, # 3472 + 370, 410,1905,2589, 998,1248,3182,2380, 519,1449,4122,1710, 947, 928,1153,4341, # 3488 +2277, 344,2624,1511, 615, 105, 161,1212,1076,1960,3130,2054,1926,1175,1906,2473, # 3504 + 414,1873,2801,6164,2309, 315,1319,3325, 318,2018,2146,2157, 963, 631, 223,4342, # 3520 +4343,2675, 479,3711,1197,2625,3712,2676,2361,6165,4344,4123,6166,2451,3183,1886, # 3536 +2184,1674,1330,1711,1635,1506, 799, 219,3250,3083,3954,1677,3713,3326,2081,3614, # 3552 +1652,2073,4657,1147,3041,1752, 643,1961, 147,1974,3955,6167,1716,2037, 918,3007, # 3568 +1994, 120,1537, 118, 609,3184,4345, 740,3455,1219, 332,1615,3830,6168,1621,2980, # 3584 +1582, 783, 212, 553,2350,3714,1349,2433,2082,4124, 889,6169,2310,1275,1410, 973, # 3600 + 166,1320,3456,1797,1215,3185,2885,1846,2590,2763,4658, 629, 822,3008, 763, 940, # 3616 +1990,2862, 439,2409,1566,1240,1622, 926,1282,1907,2764, 654,2210,1607, 327,1130, # 3632 +3956,1678,1623,6170,2434,2192, 686, 608,3831,3715, 903,3957,3042,6171,2741,1522, # 3648 +1915,1105,1555,2552,1359, 323,3251,4346,3457, 738,1354,2553,2311,2334,1828,2003, # 3664 +3832,1753,2351,1227,6172,1887,4125,1478,6173,2410,1874,1712,1847, 520,1204,2607, # 3680 + 264,4659, 836,2677,2102, 600,4660,3833,2278,3084,6174,4347,3615,1342, 640, 532, # 3696 + 543,2608,1888,2400,2591,1009,4348,1497, 341,1737,3616,2723,1394, 529,3252,1321, # 3712 + 983,4661,1515,2120, 971,2592, 924, 287,1662,3186,4349,2700,4350,1519, 908,1948, # 3728 +2452, 156, 796,1629,1486,2223,2055, 694,4126,1259,1036,3392,1213,2249,2742,1889, # 3744 +1230,3958,1015, 910, 408, 559,3617,4662, 746, 725, 935,4663,3959,3009,1289, 563, # 3760 + 867,4664,3960,1567,2981,2038,2626, 988,2263,2381,4351, 143,2374, 704,1895,6175, # 3776 +1188,3716,2088, 673,3085,2362,4352, 484,1608,1921,2765,2918, 215, 904,3618,3537, # 3792 + 894, 509, 976,3043,2701,3961,4353,2837,2982, 498,6176,6177,1102,3538,1332,3393, # 3808 +1487,1636,1637, 233, 245,3962, 383, 650, 995,3044, 460,1520,1206,2352, 749,3327, # 3824 + 530, 700, 389,1438,1560,1773,3963,2264, 719,2951,2724,3834, 870,1832,1644,1000, # 3840 + 839,2474,3717, 197,1630,3394, 365,2886,3964,1285,2133, 734, 922, 818,1106, 732, # 3856 + 480,2083,1774,3458, 923,2279,1350, 221,3086, 85,2233,2234,3835,1585,3010,2147, # 3872 +1387,1705,2382,1619,2475, 133, 239,2802,1991,1016,2084,2383, 411,2838,1113, 651, # 3888 +1985,1160,3328, 990,1863,3087,1048,1276,2647, 265,2627,1599,3253,2056, 150, 638, # 3904 +2019, 656, 853, 326,1479, 680,1439,4354,1001,1759, 413,3459,3395,2492,1431, 459, # 3920 +4355,1125,3329,2265,1953,1450,2065,2863, 849, 351,2678,3131,3254,3255,1104,1577, # 3936 + 227,1351,1645,2453,2193,1421,2887, 812,2121, 634, 95,2435, 201,2312,4665,1646, # 3952 +1671,2743,1601,2554,2702,2648,2280,1315,1366,2089,3132,1573,3718,3965,1729,1189, # 3968 + 328,2679,1077,1940,1136, 558,1283, 964,1195, 621,2074,1199,1743,3460,3619,1896, # 3984 +1916,1890,3836,2952,1154,2112,1064, 862, 378,3011,2066,2113,2803,1568,2839,6178, # 4000 +3088,2919,1941,1660,2004,1992,2194, 142, 707,1590,1708,1624,1922,1023,1836,1233, # 4016 +1004,2313, 789, 741,3620,6179,1609,2411,1200,4127,3719,3720,4666,2057,3721, 593, # 4032 +2840, 367,2920,1878,6180,3461,1521, 628,1168, 692,2211,2649, 300, 720,2067,2571, # 4048 +2953,3396, 959,2504,3966,3539,3462,1977, 701,6181, 954,1043, 800, 681, 183,3722, # 4064 +1803,1730,3540,4128,2103, 815,2314, 174, 467, 230,2454,1093,2134, 755,3541,3397, # 4080 +1141,1162,6182,1738,2039, 270,3256,2513,1005,1647,2185,3837, 858,1679,1897,1719, # 4096 +2954,2324,1806, 402, 670, 167,4129,1498,2158,2104, 750,6183, 915, 189,1680,1551, # 4112 + 455,4356,1501,2455, 405,1095,2955, 338,1586,1266,1819, 570, 641,1324, 237,1556, # 4128 +2650,1388,3723,6184,1368,2384,1343,1978,3089,2436, 879,3724, 792,1191, 758,3012, # 4144 +1411,2135,1322,4357, 240,4667,1848,3725,1574,6185, 420,3045,1546,1391, 714,4358, # 4160 +1967, 941,1864, 863, 664, 426, 560,1731,2680,1785,2864,1949,2363, 403,3330,1415, # 4176 +1279,2136,1697,2335, 204, 721,2097,3838, 90,6186,2085,2505, 191,3967, 124,2148, # 4192 +1376,1798,1178,1107,1898,1405, 860,4359,1243,1272,2375,2983,1558,2456,1638, 113, # 4208 +3621, 578,1923,2609, 880, 386,4130, 784,2186,2266,1422,2956,2172,1722, 497, 263, # 4224 +2514,1267,2412,2610, 177,2703,3542, 774,1927,1344, 616,1432,1595,1018, 172,4360, # 4240 +2325, 911,4361, 438,1468,3622, 794,3968,2024,2173,1681,1829,2957, 945, 895,3090, # 4256 + 575,2212,2476, 475,2401,2681, 785,2744,1745,2293,2555,1975,3133,2865, 394,4668, # 4272 +3839, 635,4131, 639, 202,1507,2195,2766,1345,1435,2572,3726,1908,1184,1181,2457, # 4288 +3727,3134,4362, 843,2611, 437, 916,4669, 234, 769,1884,3046,3047,3623, 833,6187, # 4304 +1639,2250,2402,1355,1185,2010,2047, 999, 525,1732,1290,1488,2612, 948,1578,3728, # 4320 +2413,2477,1216,2725,2159, 334,3840,1328,3624,2921,1525,4132, 564,1056, 891,4363, # 4336 +1444,1698,2385,2251,3729,1365,2281,2235,1717,6188, 864,3841,2515, 444, 527,2767, # 4352 +2922,3625, 544, 461,6189, 566, 209,2437,3398,2098,1065,2068,3331,3626,3257,2137, # 4368 #last 512 +) + + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jpcntx.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jpcntx.py new file mode 100644 index 0000000..20044e4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/jpcntx.py @@ -0,0 +1,233 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + + +# This is hiragana 2-char sequence table, the number in each cell represents its frequency category +jp2CharContext = ( +(0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1), +(2,4,0,4,0,3,0,4,0,3,4,4,4,2,4,3,3,4,3,2,3,3,4,2,3,3,3,2,4,1,4,3,3,1,5,4,3,4,3,4,3,5,3,0,3,5,4,2,0,3,1,0,3,3,0,3,3,0,1,1,0,4,3,0,3,3,0,4,0,2,0,3,5,5,5,5,4,0,4,1,0,3,4), +(0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2), +(0,4,0,5,0,5,0,4,0,4,5,4,4,3,5,3,5,1,5,3,4,3,4,4,3,4,3,3,4,3,5,4,4,3,5,5,3,5,5,5,3,5,5,3,4,5,5,3,1,3,2,0,3,4,0,4,2,0,4,2,1,5,3,2,3,5,0,4,0,2,0,5,4,4,5,4,5,0,4,0,0,4,4), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,3,0,4,0,3,0,3,0,4,5,4,3,3,3,3,4,3,5,4,4,3,5,4,4,3,4,3,4,4,4,4,5,3,4,4,3,4,5,5,4,5,5,1,4,5,4,3,0,3,3,1,3,3,0,4,4,0,3,3,1,5,3,3,3,5,0,4,0,3,0,4,4,3,4,3,3,0,4,1,1,3,4), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,4,0,3,0,3,0,4,0,3,4,4,3,2,2,1,2,1,3,1,3,3,3,3,3,4,3,1,3,3,5,3,3,0,4,3,0,5,4,3,3,5,4,4,3,4,4,5,0,1,2,0,1,2,0,2,2,0,1,0,0,5,2,2,1,4,0,3,0,1,0,4,4,3,5,4,3,0,2,1,0,4,3), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,3,0,5,0,4,0,2,1,4,4,2,4,1,4,2,4,2,4,3,3,3,4,3,3,3,3,1,4,2,3,3,3,1,4,4,1,1,1,4,3,3,2,0,2,4,3,2,0,3,3,0,3,1,1,0,0,0,3,3,0,4,2,2,3,4,0,4,0,3,0,4,4,5,3,4,4,0,3,0,0,1,4), +(1,4,0,4,0,4,0,4,0,3,5,4,4,3,4,3,5,4,3,3,4,3,5,4,4,4,4,3,4,2,4,3,3,1,5,4,3,2,4,5,4,5,5,4,4,5,4,4,0,3,2,2,3,3,0,4,3,1,3,2,1,4,3,3,4,5,0,3,0,2,0,4,5,5,4,5,4,0,4,0,0,5,4), +(0,5,0,5,0,4,0,3,0,4,4,3,4,3,3,3,4,0,4,4,4,3,4,3,4,3,3,1,4,2,4,3,4,0,5,4,1,4,5,4,4,5,3,2,4,3,4,3,2,4,1,3,3,3,2,3,2,0,4,3,3,4,3,3,3,4,0,4,0,3,0,4,5,4,4,4,3,0,4,1,0,1,3), +(0,3,1,4,0,3,0,2,0,3,4,4,3,1,4,2,3,3,4,3,4,3,4,3,4,4,3,2,3,1,5,4,4,1,4,4,3,5,4,4,3,5,5,4,3,4,4,3,1,2,3,1,2,2,0,3,2,0,3,1,0,5,3,3,3,4,3,3,3,3,4,4,4,4,5,4,2,0,3,3,2,4,3), +(0,2,0,3,0,1,0,1,0,0,3,2,0,0,2,0,1,0,2,1,3,3,3,1,2,3,1,0,1,0,4,2,1,1,3,3,0,4,3,3,1,4,3,3,0,3,3,2,0,0,0,0,1,0,0,2,0,0,0,0,0,4,1,0,2,3,2,2,2,1,3,3,3,4,4,3,2,0,3,1,0,3,3), +(0,4,0,4,0,3,0,3,0,4,4,4,3,3,3,3,3,3,4,3,4,2,4,3,4,3,3,2,4,3,4,5,4,1,4,5,3,5,4,5,3,5,4,0,3,5,5,3,1,3,3,2,2,3,0,3,4,1,3,3,2,4,3,3,3,4,0,4,0,3,0,4,5,4,4,5,3,0,4,1,0,3,4), +(0,2,0,3,0,3,0,0,0,2,2,2,1,0,1,0,0,0,3,0,3,0,3,0,1,3,1,0,3,1,3,3,3,1,3,3,3,0,1,3,1,3,4,0,0,3,1,1,0,3,2,0,0,0,0,1,3,0,1,0,0,3,3,2,0,3,0,0,0,0,0,3,4,3,4,3,3,0,3,0,0,2,3), +(2,3,0,3,0,2,0,1,0,3,3,4,3,1,3,1,1,1,3,1,4,3,4,3,3,3,0,0,3,1,5,4,3,1,4,3,2,5,5,4,4,4,4,3,3,4,4,4,0,2,1,1,3,2,0,1,2,0,0,1,0,4,1,3,3,3,0,3,0,1,0,4,4,4,5,5,3,0,2,0,0,4,4), +(0,2,0,1,0,3,1,3,0,2,3,3,3,0,3,1,0,0,3,0,3,2,3,1,3,2,1,1,0,0,4,2,1,0,2,3,1,4,3,2,0,4,4,3,1,3,1,3,0,1,0,0,1,0,0,0,1,0,0,0,0,4,1,1,1,2,0,3,0,0,0,3,4,2,4,3,2,0,1,0,0,3,3), +(0,1,0,4,0,5,0,4,0,2,4,4,2,3,3,2,3,3,5,3,3,3,4,3,4,2,3,0,4,3,3,3,4,1,4,3,2,1,5,5,3,4,5,1,3,5,4,2,0,3,3,0,1,3,0,4,2,0,1,3,1,4,3,3,3,3,0,3,0,1,0,3,4,4,4,5,5,0,3,0,1,4,5), +(0,2,0,3,0,3,0,0,0,2,3,1,3,0,4,0,1,1,3,0,3,4,3,2,3,1,0,3,3,2,3,1,3,0,2,3,0,2,1,4,1,2,2,0,0,3,3,0,0,2,0,0,0,1,0,0,0,0,2,2,0,3,2,1,3,3,0,2,0,2,0,0,3,3,1,2,4,0,3,0,2,2,3), +(2,4,0,5,0,4,0,4,0,2,4,4,4,3,4,3,3,3,1,2,4,3,4,3,4,4,5,0,3,3,3,3,2,0,4,3,1,4,3,4,1,4,4,3,3,4,4,3,1,2,3,0,4,2,0,4,1,0,3,3,0,4,3,3,3,4,0,4,0,2,0,3,5,3,4,5,2,0,3,0,0,4,5), +(0,3,0,4,0,1,0,1,0,1,3,2,2,1,3,0,3,0,2,0,2,0,3,0,2,0,0,0,1,0,1,1,0,0,3,1,0,0,0,4,0,3,1,0,2,1,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,4,2,2,3,1,0,3,0,0,0,1,4,4,4,3,0,0,4,0,0,1,4), +(1,4,1,5,0,3,0,3,0,4,5,4,4,3,5,3,3,4,4,3,4,1,3,3,3,3,2,1,4,1,5,4,3,1,4,4,3,5,4,4,3,5,4,3,3,4,4,4,0,3,3,1,2,3,0,3,1,0,3,3,0,5,4,4,4,4,4,4,3,3,5,4,4,3,3,5,4,0,3,2,0,4,4), +(0,2,0,3,0,1,0,0,0,1,3,3,3,2,4,1,3,0,3,1,3,0,2,2,1,1,0,0,2,0,4,3,1,0,4,3,0,4,4,4,1,4,3,1,1,3,3,1,0,2,0,0,1,3,0,0,0,0,2,0,0,4,3,2,4,3,5,4,3,3,3,4,3,3,4,3,3,0,2,1,0,3,3), +(0,2,0,4,0,3,0,2,0,2,5,5,3,4,4,4,4,1,4,3,3,0,4,3,4,3,1,3,3,2,4,3,0,3,4,3,0,3,4,4,2,4,4,0,4,5,3,3,2,2,1,1,1,2,0,1,5,0,3,3,2,4,3,3,3,4,0,3,0,2,0,4,4,3,5,5,0,0,3,0,2,3,3), +(0,3,0,4,0,3,0,1,0,3,4,3,3,1,3,3,3,0,3,1,3,0,4,3,3,1,1,0,3,0,3,3,0,0,4,4,0,1,5,4,3,3,5,0,3,3,4,3,0,2,0,1,1,1,0,1,3,0,1,2,1,3,3,2,3,3,0,3,0,1,0,1,3,3,4,4,1,0,1,2,2,1,3), +(0,1,0,4,0,4,0,3,0,1,3,3,3,2,3,1,1,0,3,0,3,3,4,3,2,4,2,0,1,0,4,3,2,0,4,3,0,5,3,3,2,4,4,4,3,3,3,4,0,1,3,0,0,1,0,0,1,0,0,0,0,4,2,3,3,3,0,3,0,0,0,4,4,4,5,3,2,0,3,3,0,3,5), +(0,2,0,3,0,0,0,3,0,1,3,0,2,0,0,0,1,0,3,1,1,3,3,0,0,3,0,0,3,0,2,3,1,0,3,1,0,3,3,2,0,4,2,2,0,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,1,2,0,1,0,1,0,0,0,1,3,1,2,0,0,0,1,0,0,1,4), +(0,3,0,3,0,5,0,1,0,2,4,3,1,3,3,2,1,1,5,2,1,0,5,1,2,0,0,0,3,3,2,2,3,2,4,3,0,0,3,3,1,3,3,0,2,5,3,4,0,3,3,0,1,2,0,2,2,0,3,2,0,2,2,3,3,3,0,2,0,1,0,3,4,4,2,5,4,0,3,0,0,3,5), +(0,3,0,3,0,3,0,1,0,3,3,3,3,0,3,0,2,0,2,1,1,0,2,0,1,0,0,0,2,1,0,0,1,0,3,2,0,0,3,3,1,2,3,1,0,3,3,0,0,1,0,0,0,0,0,2,0,0,0,0,0,2,3,1,2,3,0,3,0,1,0,3,2,1,0,4,3,0,1,1,0,3,3), +(0,4,0,5,0,3,0,3,0,4,5,5,4,3,5,3,4,3,5,3,3,2,5,3,4,4,4,3,4,3,4,5,5,3,4,4,3,4,4,5,4,4,4,3,4,5,5,4,2,3,4,2,3,4,0,3,3,1,4,3,2,4,3,3,5,5,0,3,0,3,0,5,5,5,5,4,4,0,4,0,1,4,4), +(0,4,0,4,0,3,0,3,0,3,5,4,4,2,3,2,5,1,3,2,5,1,4,2,3,2,3,3,4,3,3,3,3,2,5,4,1,3,3,5,3,4,4,0,4,4,3,1,1,3,1,0,2,3,0,2,3,0,3,0,0,4,3,1,3,4,0,3,0,2,0,4,4,4,3,4,5,0,4,0,0,3,4), +(0,3,0,3,0,3,1,2,0,3,4,4,3,3,3,0,2,2,4,3,3,1,3,3,3,1,1,0,3,1,4,3,2,3,4,4,2,4,4,4,3,4,4,3,2,4,4,3,1,3,3,1,3,3,0,4,1,0,2,2,1,4,3,2,3,3,5,4,3,3,5,4,4,3,3,0,4,0,3,2,2,4,4), +(0,2,0,1,0,0,0,0,0,1,2,1,3,0,0,0,0,0,2,0,1,2,1,0,0,1,0,0,0,0,3,0,0,1,0,1,1,3,1,0,0,0,1,1,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,1,2,2,0,3,4,0,0,0,1,1,0,0,1,0,0,0,0,0,1,1), +(0,1,0,0,0,1,0,0,0,0,4,0,4,1,4,0,3,0,4,0,3,0,4,0,3,0,3,0,4,1,5,1,4,0,0,3,0,5,0,5,2,0,1,0,0,0,2,1,4,0,1,3,0,0,3,0,0,3,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0), +(1,4,0,5,0,3,0,2,0,3,5,4,4,3,4,3,5,3,4,3,3,0,4,3,3,3,3,3,3,2,4,4,3,1,3,4,4,5,4,4,3,4,4,1,3,5,4,3,3,3,1,2,2,3,3,1,3,1,3,3,3,5,3,3,4,5,0,3,0,3,0,3,4,3,4,4,3,0,3,0,2,4,3), +(0,1,0,4,0,0,0,0,0,1,4,0,4,1,4,2,4,0,3,0,1,0,1,0,0,0,0,0,2,0,3,1,1,1,0,3,0,0,0,1,2,1,0,0,1,1,1,1,0,1,0,0,0,1,0,0,3,0,0,0,0,3,2,0,2,2,0,1,0,0,0,2,3,2,3,3,0,0,0,0,2,1,0), +(0,5,1,5,0,3,0,3,0,5,4,4,5,1,5,3,3,0,4,3,4,3,5,3,4,3,3,2,4,3,4,3,3,0,3,3,1,4,4,3,4,4,4,3,4,5,5,3,2,3,1,1,3,3,1,3,1,1,3,3,2,4,5,3,3,5,0,4,0,3,0,4,4,3,5,3,3,0,3,4,0,4,3), +(0,5,0,5,0,3,0,2,0,4,4,3,5,2,4,3,3,3,4,4,4,3,5,3,5,3,3,1,4,0,4,3,3,0,3,3,0,4,4,4,4,5,4,3,3,5,5,3,2,3,1,2,3,2,0,1,0,0,3,2,2,4,4,3,1,5,0,4,0,3,0,4,3,1,3,2,1,0,3,3,0,3,3), +(0,4,0,5,0,5,0,4,0,4,5,5,5,3,4,3,3,2,5,4,4,3,5,3,5,3,4,0,4,3,4,4,3,2,4,4,3,4,5,4,4,5,5,0,3,5,5,4,1,3,3,2,3,3,1,3,1,0,4,3,1,4,4,3,4,5,0,4,0,2,0,4,3,4,4,3,3,0,4,0,0,5,5), +(0,4,0,4,0,5,0,1,1,3,3,4,4,3,4,1,3,0,5,1,3,0,3,1,3,1,1,0,3,0,3,3,4,0,4,3,0,4,4,4,3,4,4,0,3,5,4,1,0,3,0,0,2,3,0,3,1,0,3,1,0,3,2,1,3,5,0,3,0,1,0,3,2,3,3,4,4,0,2,2,0,4,4), +(2,4,0,5,0,4,0,3,0,4,5,5,4,3,5,3,5,3,5,3,5,2,5,3,4,3,3,4,3,4,5,3,2,1,5,4,3,2,3,4,5,3,4,1,2,5,4,3,0,3,3,0,3,2,0,2,3,0,4,1,0,3,4,3,3,5,0,3,0,1,0,4,5,5,5,4,3,0,4,2,0,3,5), +(0,5,0,4,0,4,0,2,0,5,4,3,4,3,4,3,3,3,4,3,4,2,5,3,5,3,4,1,4,3,4,4,4,0,3,5,0,4,4,4,4,5,3,1,3,4,5,3,3,3,3,3,3,3,0,2,2,0,3,3,2,4,3,3,3,5,3,4,1,3,3,5,3,2,0,0,0,0,4,3,1,3,3), +(0,1,0,3,0,3,0,1,0,1,3,3,3,2,3,3,3,0,3,0,0,0,3,1,3,0,0,0,2,2,2,3,0,0,3,2,0,1,2,4,1,3,3,0,0,3,3,3,0,1,0,0,2,1,0,0,3,0,3,1,0,3,0,0,1,3,0,2,0,1,0,3,3,1,3,3,0,0,1,1,0,3,3), +(0,2,0,3,0,2,1,4,0,2,2,3,1,1,3,1,1,0,2,0,3,1,2,3,1,3,0,0,1,0,4,3,2,3,3,3,1,4,2,3,3,3,3,1,0,3,1,4,0,1,1,0,1,2,0,1,1,0,1,1,0,3,1,3,2,2,0,1,0,0,0,2,3,3,3,1,0,0,0,0,0,2,3), +(0,5,0,4,0,5,0,2,0,4,5,5,3,3,4,3,3,1,5,4,4,2,4,4,4,3,4,2,4,3,5,5,4,3,3,4,3,3,5,5,4,5,5,1,3,4,5,3,1,4,3,1,3,3,0,3,3,1,4,3,1,4,5,3,3,5,0,4,0,3,0,5,3,3,1,4,3,0,4,0,1,5,3), +(0,5,0,5,0,4,0,2,0,4,4,3,4,3,3,3,3,3,5,4,4,4,4,4,4,5,3,3,5,2,4,4,4,3,4,4,3,3,4,4,5,5,3,3,4,3,4,3,3,4,3,3,3,3,1,2,2,1,4,3,3,5,4,4,3,4,0,4,0,3,0,4,4,4,4,4,1,0,4,2,0,2,4), +(0,4,0,4,0,3,0,1,0,3,5,2,3,0,3,0,2,1,4,2,3,3,4,1,4,3,3,2,4,1,3,3,3,0,3,3,0,0,3,3,3,5,3,3,3,3,3,2,0,2,0,0,2,0,0,2,0,0,1,0,0,3,1,2,2,3,0,3,0,2,0,4,4,3,3,4,1,0,3,0,0,2,4), +(0,0,0,4,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,1,0,2,0,1,0,0,0,0,0,3,1,3,0,3,2,0,0,0,1,0,3,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,0,2,0,0,0,0,0,0,2), +(0,2,1,3,0,2,0,2,0,3,3,3,3,1,3,1,3,3,3,3,3,3,4,2,2,1,2,1,4,0,4,3,1,3,3,3,2,4,3,5,4,3,3,3,3,3,3,3,0,1,3,0,2,0,0,1,0,0,1,0,0,4,2,0,2,3,0,3,3,0,3,3,4,2,3,1,4,0,1,2,0,2,3), +(0,3,0,3,0,1,0,3,0,2,3,3,3,0,3,1,2,0,3,3,2,3,3,2,3,2,3,1,3,0,4,3,2,0,3,3,1,4,3,3,2,3,4,3,1,3,3,1,1,0,1,1,0,1,0,1,0,1,0,0,0,4,1,1,0,3,0,3,1,0,2,3,3,3,3,3,1,0,0,2,0,3,3), +(0,0,0,0,0,0,0,0,0,0,3,0,2,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,3,0,3,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,2,3,0,0,0,0,0,0,0,0,3), +(0,2,0,3,1,3,0,3,0,2,3,3,3,1,3,1,3,1,3,1,3,3,3,1,3,0,2,3,1,1,4,3,3,2,3,3,1,2,2,4,1,3,3,0,1,4,2,3,0,1,3,0,3,0,0,1,3,0,2,0,0,3,3,2,1,3,0,3,0,2,0,3,4,4,4,3,1,0,3,0,0,3,3), +(0,2,0,1,0,2,0,0,0,1,3,2,2,1,3,0,1,1,3,0,3,2,3,1,2,0,2,0,1,1,3,3,3,0,3,3,1,1,2,3,2,3,3,1,2,3,2,0,0,1,0,0,0,0,0,0,3,0,1,0,0,2,1,2,1,3,0,3,0,0,0,3,4,4,4,3,2,0,2,0,0,2,4), +(0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,3,1,0,0,0,0,0,0,0,3), +(0,3,0,3,0,2,0,3,0,3,3,3,2,3,2,2,2,0,3,1,3,3,3,2,3,3,0,0,3,0,3,2,2,0,2,3,1,4,3,4,3,3,2,3,1,5,4,4,0,3,1,2,1,3,0,3,1,1,2,0,2,3,1,3,1,3,0,3,0,1,0,3,3,4,4,2,1,0,2,1,0,2,4), +(0,1,0,3,0,1,0,2,0,1,4,2,5,1,4,0,2,0,2,1,3,1,4,0,2,1,0,0,2,1,4,1,1,0,3,3,0,5,1,3,2,3,3,1,0,3,2,3,0,1,0,0,0,0,0,0,1,0,0,0,0,4,0,1,0,3,0,2,0,1,0,3,3,3,4,3,3,0,0,0,0,2,3), +(0,0,0,1,0,0,0,0,0,0,2,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,1,0,0,0,0,0,3), +(0,1,0,3,0,4,0,3,0,2,4,3,1,0,3,2,2,1,3,1,2,2,3,1,1,1,2,1,3,0,1,2,0,1,3,2,1,3,0,5,5,1,0,0,1,3,2,1,0,3,0,0,1,0,0,0,0,0,3,4,0,1,1,1,3,2,0,2,0,1,0,2,3,3,1,2,3,0,1,0,1,0,4), +(0,0,0,1,0,3,0,3,0,2,2,1,0,0,4,0,3,0,3,1,3,0,3,0,3,0,1,0,3,0,3,1,3,0,3,3,0,0,1,2,1,1,1,0,1,2,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,2,2,1,2,0,0,2,0,0,0,0,2,3,3,3,3,0,0,0,0,1,4), +(0,0,0,3,0,3,0,0,0,0,3,1,1,0,3,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,3,0,2,0,2,3,0,0,2,2,3,1,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,2,3), +(2,4,0,5,0,5,0,4,0,3,4,3,3,3,4,3,3,3,4,3,4,4,5,4,5,5,5,2,3,0,5,5,4,1,5,4,3,1,5,4,3,4,4,3,3,4,3,3,0,3,2,0,2,3,0,3,0,0,3,3,0,5,3,2,3,3,0,3,0,3,0,3,4,5,4,5,3,0,4,3,0,3,4), +(0,3,0,3,0,3,0,3,0,3,3,4,3,2,3,2,3,0,4,3,3,3,3,3,3,3,3,0,3,2,4,3,3,1,3,4,3,4,4,4,3,4,4,3,2,4,4,1,0,2,0,0,1,1,0,2,0,0,3,1,0,5,3,2,1,3,0,3,0,1,2,4,3,2,4,3,3,0,3,2,0,4,4), +(0,3,0,3,0,1,0,0,0,1,4,3,3,2,3,1,3,1,4,2,3,2,4,2,3,4,3,0,2,2,3,3,3,0,3,3,3,0,3,4,1,3,3,0,3,4,3,3,0,1,1,0,1,0,0,0,4,0,3,0,0,3,1,2,1,3,0,4,0,1,0,4,3,3,4,3,3,0,2,0,0,3,3), +(0,3,0,4,0,1,0,3,0,3,4,3,3,0,3,3,3,1,3,1,3,3,4,3,3,3,0,0,3,1,5,3,3,1,3,3,2,5,4,3,3,4,5,3,2,5,3,4,0,1,0,0,0,0,0,2,0,0,1,1,0,4,2,2,1,3,0,3,0,2,0,4,4,3,5,3,2,0,1,1,0,3,4), +(0,5,0,4,0,5,0,2,0,4,4,3,3,2,3,3,3,1,4,3,4,1,5,3,4,3,4,0,4,2,4,3,4,1,5,4,0,4,4,4,4,5,4,1,3,5,4,2,1,4,1,1,3,2,0,3,1,0,3,2,1,4,3,3,3,4,0,4,0,3,0,4,4,4,3,3,3,0,4,2,0,3,4), +(1,4,0,4,0,3,0,1,0,3,3,3,1,1,3,3,2,2,3,3,1,0,3,2,2,1,2,0,3,1,2,1,2,0,3,2,0,2,2,3,3,4,3,0,3,3,1,2,0,1,1,3,1,2,0,0,3,0,1,1,0,3,2,2,3,3,0,3,0,0,0,2,3,3,4,3,3,0,1,0,0,1,4), +(0,4,0,4,0,4,0,0,0,3,4,4,3,1,4,2,3,2,3,3,3,1,4,3,4,0,3,0,4,2,3,3,2,2,5,4,2,1,3,4,3,4,3,1,3,3,4,2,0,2,1,0,3,3,0,0,2,0,3,1,0,4,4,3,4,3,0,4,0,1,0,2,4,4,4,4,4,0,3,2,0,3,3), +(0,0,0,1,0,4,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,3,2,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2), +(0,2,0,3,0,4,0,4,0,1,3,3,3,0,4,0,2,1,2,1,1,1,2,0,3,1,1,0,1,0,3,1,0,0,3,3,2,0,1,1,0,0,0,0,0,1,0,2,0,2,2,0,3,1,0,0,1,0,1,1,0,1,2,0,3,0,0,0,0,1,0,0,3,3,4,3,1,0,1,0,3,0,2), +(0,0,0,3,0,5,0,0,0,0,1,0,2,0,3,1,0,1,3,0,0,0,2,0,0,0,1,0,0,0,1,1,0,0,4,0,0,0,2,3,0,1,4,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,3), +(0,2,0,5,0,5,0,1,0,2,4,3,3,2,5,1,3,2,3,3,3,0,4,1,2,0,3,0,4,0,2,2,1,1,5,3,0,0,1,4,2,3,2,0,3,3,3,2,0,2,4,1,1,2,0,1,1,0,3,1,0,1,3,1,2,3,0,2,0,0,0,1,3,5,4,4,4,0,3,0,0,1,3), +(0,4,0,5,0,4,0,4,0,4,5,4,3,3,4,3,3,3,4,3,4,4,5,3,4,5,4,2,4,2,3,4,3,1,4,4,1,3,5,4,4,5,5,4,4,5,5,5,2,3,3,1,4,3,1,3,3,0,3,3,1,4,3,4,4,4,0,3,0,4,0,3,3,4,4,5,0,0,4,3,0,4,5), +(0,4,0,4,0,3,0,3,0,3,4,4,4,3,3,2,4,3,4,3,4,3,5,3,4,3,2,1,4,2,4,4,3,1,3,4,2,4,5,5,3,4,5,4,1,5,4,3,0,3,2,2,3,2,1,3,1,0,3,3,3,5,3,3,3,5,4,4,2,3,3,4,3,3,3,2,1,0,3,2,1,4,3), +(0,4,0,5,0,4,0,3,0,3,5,5,3,2,4,3,4,0,5,4,4,1,4,4,4,3,3,3,4,3,5,5,2,3,3,4,1,2,5,5,3,5,5,2,3,5,5,4,0,3,2,0,3,3,1,1,5,1,4,1,0,4,3,2,3,5,0,4,0,3,0,5,4,3,4,3,0,0,4,1,0,4,4), +(1,3,0,4,0,2,0,2,0,2,5,5,3,3,3,3,3,0,4,2,3,4,4,4,3,4,0,0,3,4,5,4,3,3,3,3,2,5,5,4,5,5,5,4,3,5,5,5,1,3,1,0,1,0,0,3,2,0,4,2,0,5,2,3,2,4,1,3,0,3,0,4,5,4,5,4,3,0,4,2,0,5,4), +(0,3,0,4,0,5,0,3,0,3,4,4,3,2,3,2,3,3,3,3,3,2,4,3,3,2,2,0,3,3,3,3,3,1,3,3,3,0,4,4,3,4,4,1,1,4,4,2,0,3,1,0,1,1,0,4,1,0,2,3,1,3,3,1,3,4,0,3,0,1,0,3,1,3,0,0,1,0,2,0,0,4,4), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,3,0,3,0,2,0,3,0,1,5,4,3,3,3,1,4,2,1,2,3,4,4,2,4,4,5,0,3,1,4,3,4,0,4,3,3,3,2,3,2,5,3,4,3,2,2,3,0,0,3,0,2,1,0,1,2,0,0,0,0,2,1,1,3,1,0,2,0,4,0,3,4,4,4,5,2,0,2,0,0,1,3), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,4,2,1,1,0,1,0,3,2,0,0,3,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,2,0,0,0,1,4,0,4,2,1,0,0,0,0,0,1), +(0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,3,1,0,0,0,2,0,2,1,0,0,1,2,1,0,1,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,3,1,0,0,0,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,2), +(0,4,0,4,0,4,0,3,0,4,4,3,4,2,4,3,2,0,4,4,4,3,5,3,5,3,3,2,4,2,4,3,4,3,1,4,0,2,3,4,4,4,3,3,3,4,4,4,3,4,1,3,4,3,2,1,2,1,3,3,3,4,4,3,3,5,0,4,0,3,0,4,3,3,3,2,1,0,3,0,0,3,3), +(0,4,0,3,0,3,0,3,0,3,5,5,3,3,3,3,4,3,4,3,3,3,4,4,4,3,3,3,3,4,3,5,3,3,1,3,2,4,5,5,5,5,4,3,4,5,5,3,2,2,3,3,3,3,2,3,3,1,2,3,2,4,3,3,3,4,0,4,0,2,0,4,3,2,2,1,2,0,3,0,0,4,1), +) + +class JapaneseContextAnalysis(object): + NUM_OF_CATEGORY = 6 + DONT_KNOW = -1 + ENOUGH_REL_THRESHOLD = 100 + MAX_REL_THRESHOLD = 1000 + MINIMUM_DATA_THRESHOLD = 4 + + def __init__(self): + self._total_rel = None + self._rel_sample = None + self._need_to_skip_char_num = None + self._last_char_order = None + self._done = None + self.reset() + + def reset(self): + self._total_rel = 0 # total sequence received + # category counters, each integer counts sequence in its category + self._rel_sample = [0] * self.NUM_OF_CATEGORY + # if last byte in current buffer is not the last byte of a character, + # we need to know how many bytes to skip in next buffer + self._need_to_skip_char_num = 0 + self._last_char_order = -1 # The order of previous char + # If this flag is set to True, detection is done and conclusion has + # been made + self._done = False + + def feed(self, byte_str, num_bytes): + if self._done: + return + + # The buffer we got is byte oriented, and a character may span in more than one + # buffers. In case the last one or two byte in last buffer is not + # complete, we record how many byte needed to complete that character + # and skip these bytes here. We can choose to record those bytes as + # well and analyse the character once it is complete, but since a + # character will not make much difference, by simply skipping + # this character will simply our logic and improve performance. + i = self._need_to_skip_char_num + while i < num_bytes: + order, char_len = self.get_order(byte_str[i:i + 2]) + i += char_len + if i > num_bytes: + self._need_to_skip_char_num = i - num_bytes + self._last_char_order = -1 + else: + if (order != -1) and (self._last_char_order != -1): + self._total_rel += 1 + if self._total_rel > self.MAX_REL_THRESHOLD: + self._done = True + break + self._rel_sample[jp2CharContext[self._last_char_order][order]] += 1 + self._last_char_order = order + + def got_enough_data(self): + return self._total_rel > self.ENOUGH_REL_THRESHOLD + + def get_confidence(self): + # This is just one way to calculate confidence. It works well for me. + if self._total_rel > self.MINIMUM_DATA_THRESHOLD: + return (self._total_rel - self._rel_sample[0]) / self._total_rel + else: + return self.DONT_KNOW + + def get_order(self, byte_str): + return -1, 1 + +class SJISContextAnalysis(JapaneseContextAnalysis): + def __init__(self): + super(SJISContextAnalysis, self).__init__() + self._charset_name = "SHIFT_JIS" + + @property + def charset_name(self): + return self._charset_name + + def get_order(self, byte_str): + if not byte_str: + return -1, 1 + # find out current char's byte length + first_char = byte_str[0] + if (0x81 <= first_char <= 0x9F) or (0xE0 <= first_char <= 0xFC): + char_len = 2 + if (first_char == 0x87) or (0xFA <= first_char <= 0xFC): + self._charset_name = "CP932" + else: + char_len = 1 + + # return its order if it is hiragana + if len(byte_str) > 1: + second_char = byte_str[1] + if (first_char == 202) and (0x9F <= second_char <= 0xF1): + return second_char - 0x9F, char_len + + return -1, char_len + +class EUCJPContextAnalysis(JapaneseContextAnalysis): + def get_order(self, byte_str): + if not byte_str: + return -1, 1 + # find out current char's byte length + first_char = byte_str[0] + if (first_char == 0x8E) or (0xA1 <= first_char <= 0xFE): + char_len = 2 + elif first_char == 0x8F: + char_len = 3 + else: + char_len = 1 + + # return its order if it is hiragana + if len(byte_str) > 1: + second_char = byte_str[1] + if (first_char == 0xA4) and (0xA1 <= second_char <= 0xF3): + return second_char - 0xA1, char_len + + return -1, char_len + + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langbulgarianmodel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langbulgarianmodel.py new file mode 100644 index 0000000..2aa4fb2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langbulgarianmodel.py @@ -0,0 +1,228 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +# this table is modified base on win1251BulgarianCharToOrderMap, so +# only number <64 is sure valid + +Latin5_BulgarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 +110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 +253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 +116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 +194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209, # 80 +210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225, # 90 + 81,226,227,228,229,230,105,231,232,233,234,235,236, 45,237,238, # a0 + 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # b0 + 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,239, 67,240, 60, 56, # c0 + 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # d0 + 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,241, 42, 16, # e0 + 62,242,243,244, 58,245, 98,246,247,248,249,250,251, 91,252,253, # f0 +) + +win1251BulgarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 +110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 +253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 +116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 +206,207,208,209,210,211,212,213,120,214,215,216,217,218,219,220, # 80 +221, 78, 64, 83,121, 98,117,105,222,223,224,225,226,227,228,229, # 90 + 88,230,231,232,233,122, 89,106,234,235,236,237,238, 45,239,240, # a0 + 73, 80,118,114,241,242,243,244,245, 62, 58,246,247,248,249,250, # b0 + 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # c0 + 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,251, 67,252, 60, 56, # d0 + 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # e0 + 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,253, 42, 16, # f0 +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 96.9392% +# first 1024 sequences:3.0618% +# rest sequences: 0.2992% +# negative sequences: 0.0020% +BulgarianLangModel = ( +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,3,3,3,3,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,2,2,1,2,2, +3,1,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,0,1, +0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,3,3,0,3,1,0, +0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,2,2,1,3,3,3,3,2,2,2,1,1,2,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,2,3,2,2,3,3,1,1,2,3,3,2,3,3,3,3,2,1,2,0,2,0,3,0,0, +0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,1,3,3,3,3,3,2,3,2,3,3,3,3,3,2,3,3,1,3,0,3,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,1,3,3,2,3,3,3,1,3,3,2,3,2,2,2,0,0,2,0,2,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,3,3,1,2,2,3,2,1,1,2,0,2,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,2,3,3,1,2,3,2,2,2,3,3,3,3,3,2,2,3,1,2,0,2,1,2,0,0, +0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,1,3,3,3,3,3,2,3,3,3,2,3,3,2,3,2,2,2,3,1,2,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,1,1,1,2,2,1,3,1,3,2,2,3,0,0,1,0,1,0,1,0,0, +0,0,0,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,2,2,3,2,2,3,1,2,1,1,1,2,3,1,3,1,2,2,0,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,1,3,2,2,3,3,1,2,3,1,1,3,3,3,3,1,2,2,1,1,1,0,2,0,2,0,1, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,2,2,3,3,3,2,2,1,1,2,0,2,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,0,1,2,1,3,3,2,3,3,3,3,3,2,3,2,1,0,3,1,2,1,2,1,2,3,2,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,1,2,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,1,3,3,2,3,3,2,2,2,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,0,3,3,3,3,3,2,1,1,2,1,3,3,0,3,1,1,1,1,3,2,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,1,1,3,1,3,3,2,3,2,2,2,3,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,3,2,2,3,2,1,1,1,1,1,3,1,3,1,1,0,0,0,1,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,2,0,3,2,0,3,0,2,0,0,2,1,3,1,0,0,1,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,2,1,1,1,1,2,1,1,2,1,1,1,2,2,1,2,1,1,1,0,1,1,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,2,1,3,1,1,2,1,3,2,1,1,0,1,2,3,2,1,1,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,2,2,1,0,1,0,0,1,0,0,0,2,1,0,3,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,2,3,2,3,3,1,3,2,1,1,1,2,1,1,2,1,3,0,1,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,2,2,3,3,2,3,2,2,2,3,1,2,2,1,1,2,1,1,2,2,0,1,1,0,1,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,3,1,0,2,2,1,3,2,1,0,0,2,0,2,0,1,0,0,0,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,1,2,0,2,3,1,2,3,2,0,1,3,1,2,1,1,1,0,0,1,0,0,2,2,2,3, +2,2,2,2,1,2,1,1,2,2,1,1,2,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1, +3,3,3,3,3,2,1,2,2,1,2,0,2,0,1,0,1,2,1,2,1,1,0,0,0,1,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,2,3,3,1,1,3,1,0,3,2,1,0,0,0,1,2,0,2,0,1,0,0,0,1,0,1,2,1,2,2, +1,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,0,1,2,1,1,1,0,0,0,0,0,1,1,0,0, +3,1,0,1,0,2,3,2,2,2,3,2,2,2,2,2,1,0,2,1,2,1,1,1,0,1,2,1,2,2,2,1, +1,1,2,2,2,2,1,2,1,1,0,1,2,1,2,2,2,1,1,1,0,1,1,1,1,2,0,1,0,0,0,0, +2,3,2,3,3,0,0,2,1,0,2,1,0,0,0,0,2,3,0,2,0,0,0,0,0,1,0,0,2,0,1,2, +2,1,2,1,2,2,1,1,1,2,1,1,1,0,1,2,2,1,1,1,1,1,0,1,1,1,0,0,1,2,0,0, +3,3,2,2,3,0,2,3,1,1,2,0,0,0,1,0,0,2,0,2,0,0,0,1,0,1,0,1,2,0,2,2, +1,1,1,1,2,1,0,1,2,2,2,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,0,0, +2,3,2,3,3,0,0,3,0,1,1,0,1,0,0,0,2,2,1,2,0,0,0,0,0,0,0,0,2,0,1,2, +2,2,1,1,1,1,1,2,2,2,1,0,2,0,1,0,1,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0, +3,3,3,3,2,2,2,2,2,0,2,1,1,1,1,2,1,2,1,1,0,2,0,1,0,1,0,0,2,0,1,2, +1,1,1,1,1,1,1,2,2,1,1,0,2,0,1,0,2,0,0,1,1,1,0,0,2,0,0,0,1,1,0,0, +2,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0,0,0,0,1,2,0,1,2, +2,2,2,1,1,2,1,1,2,2,2,1,2,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,0,0, +2,3,3,3,3,0,2,2,0,2,1,0,0,0,1,1,1,2,0,2,0,0,0,3,0,0,0,0,2,0,2,2, +1,1,1,2,1,2,1,1,2,2,2,1,2,0,1,1,1,0,1,1,1,1,0,2,1,0,0,0,1,1,0,0, +2,3,3,3,3,0,2,1,0,0,2,0,0,0,0,0,1,2,0,2,0,0,0,0,0,0,0,0,2,0,1,2, +1,1,1,2,1,1,1,1,2,2,2,0,1,0,1,1,1,0,0,1,1,1,0,0,1,0,0,0,0,1,0,0, +3,3,2,2,3,0,1,0,1,0,0,0,0,0,0,0,1,1,0,3,0,0,0,0,0,0,0,0,1,0,2,2, +1,1,1,1,1,2,1,1,2,2,1,2,2,1,0,1,1,1,1,1,0,1,0,0,1,0,0,0,1,1,0,0, +3,1,0,1,0,2,2,2,2,3,2,1,1,1,2,3,0,0,1,0,2,1,1,0,1,1,1,1,2,1,1,1, +1,2,2,1,2,1,2,2,1,1,0,1,2,1,2,2,1,1,1,0,0,1,1,1,2,1,0,1,0,0,0,0, +2,1,0,1,0,3,1,2,2,2,2,1,2,2,1,1,1,0,2,1,2,2,1,1,2,1,1,0,2,1,1,1, +1,2,2,2,2,2,2,2,1,2,0,1,1,0,2,1,1,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0, +2,1,1,1,1,2,2,2,2,1,2,2,2,1,2,2,1,1,2,1,2,3,2,2,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,3,2,0,1,2,0,1,2,1,1,0,1,0,1,2,1,2,0,0,0,1,1,0,0,0,1,0,0,2, +1,1,0,0,1,1,0,1,1,1,1,0,2,0,1,1,1,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0, +2,0,0,0,0,1,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1, +1,2,2,2,2,1,1,2,1,2,1,1,1,0,2,1,2,1,1,1,0,2,1,1,1,1,0,1,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, +1,1,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,3,2,0,0,0,0,1,0,0,0,0,0,0,1,1,0,2,0,0,0,0,0,0,0,0,1,0,1,2, +1,1,1,1,1,1,0,0,2,2,2,2,2,0,1,1,0,1,1,1,1,1,0,0,1,0,0,0,1,1,0,1, +2,3,1,2,1,0,1,1,0,2,2,2,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,1,2, +1,1,1,1,2,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0, +2,2,2,2,2,0,0,2,0,0,2,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,0,2,2, +1,1,1,1,1,0,0,1,2,1,1,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,2,0,1,1,0,0,0,1,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,1,1, +0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,3,2,0,0,1,0,0,1,0,0,0,0,0,0,1,0,2,0,0,0,1,0,0,0,0,0,0,0,2, +1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,1,2,2,2,1,2,1,2,2,1,1,2,1,1,1,0,1,1,1,1,2,0,1,0,1,1,1,1,0,1,1, +1,1,2,1,1,1,1,1,1,0,0,1,2,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0, +1,0,0,1,3,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,1,0,0,1,0,2,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,2,0,0,1, +0,2,0,1,0,0,1,1,2,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,1,1,0,2,1,0,1,1,1,0,0,1,0,2,0,1,0,0,0,0,0,0,0,0,0,1, +0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,2,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, +0,1,0,1,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,0,1,2,1,1,1,1,1,1,2,2,1,0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0, +1,1,2,1,1,1,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,1,2,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +0,1,1,0,1,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, +1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,2,0,0,2,0,1,0,0,1,0,0,1, +1,1,0,0,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, +1,1,1,1,1,1,1,2,0,0,0,0,0,0,2,1,0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +) + +Latin5BulgarianModel = { + 'char_to_order_map': Latin5_BulgarianCharToOrderMap, + 'precedence_matrix': BulgarianLangModel, + 'typical_positive_ratio': 0.969392, + 'keep_english_letter': False, + 'charset_name': "ISO-8859-5", + 'language': 'Bulgairan', +} + +Win1251BulgarianModel = { + 'char_to_order_map': win1251BulgarianCharToOrderMap, + 'precedence_matrix': BulgarianLangModel, + 'typical_positive_ratio': 0.969392, + 'keep_english_letter': False, + 'charset_name': "windows-1251", + 'language': 'Bulgarian', +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langcyrillicmodel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langcyrillicmodel.py new file mode 100644 index 0000000..e5f9a1f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langcyrillicmodel.py @@ -0,0 +1,333 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# KOI8-R language model +# Character Mapping Table: +KOI8R_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, # 80 +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, # 90 +223,224,225, 68,226,227,228,229,230,231,232,233,234,235,236,237, # a0 +238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253, # b0 + 27, 3, 21, 28, 13, 2, 39, 19, 26, 4, 23, 11, 8, 12, 5, 1, # c0 + 15, 16, 9, 7, 6, 14, 24, 10, 17, 18, 20, 25, 30, 29, 22, 54, # d0 + 59, 37, 44, 58, 41, 48, 53, 46, 55, 42, 60, 36, 49, 38, 31, 34, # e0 + 35, 43, 45, 32, 40, 52, 56, 33, 61, 62, 51, 57, 47, 63, 50, 70, # f0 +) + +win1251_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, +239,240,241,242,243,244,245,246, 68,247,248,249,250,251,252,253, + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +) + +latin5_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, +) + +macCyrillic_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, +239,240,241,242,243,244,245,246,247,248,249,250,251,252, 68, 16, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27,255, +) + +IBM855_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194, 68,195,196,197,198,199,200,201,202,203,204,205, +206,207,208,209,210,211,212,213,214,215,216,217, 27, 59, 54, 70, + 3, 37, 21, 44, 28, 58, 13, 41, 2, 48, 39, 53, 19, 46,218,219, +220,221,222,223,224, 26, 55, 4, 42,225,226,227,228, 23, 60,229, +230,231,232,233,234,235, 11, 36,236,237,238,239,240,241,242,243, + 8, 49, 12, 38, 5, 31, 1, 34, 15,244,245,246,247, 35, 16,248, + 43, 9, 45, 7, 32, 6, 40, 14, 52, 24, 56, 10, 33, 17, 61,249, +250, 18, 62, 20, 51, 25, 57, 30, 47, 29, 63, 22, 50,251,252,255, +) + +IBM866_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 97.6601% +# first 1024 sequences: 2.3389% +# rest sequences: 0.1237% +# negative sequences: 0.0009% +RussianLangModel = ( +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,1,3,3,3,2,3,2,3,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,2,2,2,2,2,0,0,2, +3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,2,3,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,2,3,3,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, +0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, +0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,2,2,3,1,3,3,1,3,3,3,3,2,2,3,0,2,2,2,3,3,2,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,3,3,2,2,3,2,3,3,3,2,1,2,2,0,1,2,2,2,2,2,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,0,2,2,3,3,2,1,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,1,2,3,2,2,3,2,3,3,3,3,2,2,3,0,3,2,2,3,1,1,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,3,3,3,3,2,2,2,0,3,3,3,2,2,2,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,2,3,2,2,0,1,3,2,1,2,2,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,2,1,1,3,0,1,1,1,1,2,1,1,0,2,2,2,1,2,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,2,2,2,2,1,3,2,3,2,3,2,1,2,2,0,1,1,2,1,2,1,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,2,3,3,3,2,2,2,2,0,2,2,2,2,3,1,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,2,3,2,2,3,3,3,3,3,3,3,3,3,1,3,2,0,0,3,3,3,3,2,3,3,3,3,2,3,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,3,2,2,3,3,0,2,1,0,3,2,3,2,3,0,0,1,2,0,0,1,0,1,2,1,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,0,2,3,3,3,3,2,3,3,3,3,1,2,2,0,0,2,3,2,2,2,3,2,3,2,2,3,0,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,2,3,2,3,0,1,2,3,3,2,0,2,3,0,0,2,3,2,2,0,1,3,1,3,2,2,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,3,0,2,3,3,3,3,3,3,3,3,2,1,3,2,0,0,2,2,3,3,3,2,3,3,0,2,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,2,2,2,3,3,0,0,1,1,1,1,1,2,0,0,1,1,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,0,3,2,3,3,2,3,2,0,2,1,0,1,1,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,2,2,2,2,3,1,3,2,3,1,1,2,1,0,2,2,2,2,1,3,1,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +2,2,3,3,3,3,3,1,2,2,1,3,1,0,3,0,0,3,0,0,0,1,1,0,1,2,1,0,0,0,0,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,2,1,1,3,3,3,2,2,1,2,2,3,1,1,2,0,0,2,2,1,3,0,0,2,1,1,2,1,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,3,3,1,2,2,2,1,2,1,3,3,1,1,2,1,2,1,2,2,0,2,0,0,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,3,2,1,3,2,2,3,2,0,3,2,0,3,0,1,0,1,1,0,0,1,1,1,1,0,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,3,3,3,2,2,2,3,3,1,2,1,2,1,0,1,0,1,1,0,1,0,0,2,1,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,1,1,2,1,2,3,3,2,2,1,2,2,3,0,2,1,0,0,2,2,3,2,1,2,2,2,2,2,3,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,1,1,0,1,1,2,2,1,1,3,0,0,1,3,1,1,1,0,0,0,1,0,1,1,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,3,3,3,2,0,0,0,2,1,0,1,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,0,2,3,2,2,2,1,2,2,2,1,2,1,0,0,1,1,1,0,2,0,1,1,1,0,0,1,1, +1,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,0,0,0,0,1,0,0,0,0,3,0,1,2,1,0,0,0,0,0,0,0,1,1,0,0,1,1, +1,0,1,0,1,2,0,0,1,1,2,1,0,1,1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0, +2,2,3,2,2,2,3,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,0,1,0,1,1,1,0,2,1, +1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,0,1,1,0, +3,3,3,2,2,2,2,3,2,2,1,1,2,2,2,2,1,1,3,1,2,1,2,0,0,1,1,0,1,0,2,1, +1,1,1,1,1,2,1,0,1,1,1,1,0,1,0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,1,1,0, +2,0,0,1,0,3,2,2,2,2,1,2,1,2,1,2,0,0,0,2,1,2,2,1,1,2,2,0,1,1,0,2, +1,1,1,1,1,0,1,1,1,2,1,1,1,2,1,0,1,2,1,1,1,1,0,1,1,1,0,0,1,0,0,1, +1,3,2,2,2,1,1,1,2,3,0,0,0,0,2,0,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,1, +1,0,1,1,0,1,0,1,1,0,1,1,0,2,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, +2,3,2,3,2,1,2,2,2,2,1,0,0,0,2,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,2,1, +1,1,2,1,0,2,0,0,1,0,1,0,0,1,0,0,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0, +3,0,0,1,0,2,2,2,3,2,2,2,2,2,2,2,0,0,0,2,1,2,1,1,1,2,2,0,0,0,1,2, +1,1,1,1,1,0,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1, +2,3,2,3,3,2,0,1,1,1,0,0,1,0,2,0,1,1,3,1,0,0,0,0,0,0,0,1,0,0,2,1, +1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,0,0,1,1,0,1,0,0,0,0,0,0,1,0, +2,3,3,3,3,1,2,2,2,2,0,1,1,0,2,1,1,1,2,1,0,1,1,0,0,1,0,1,0,0,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,2,0,0,1,1,2,2,1,0,0,2,0,1,1,3,0,0,1,0,0,0,0,0,1,0,1,2,1, +1,1,2,0,1,1,1,0,1,0,1,1,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,0, +1,3,2,3,2,1,0,0,2,2,2,0,1,0,2,0,1,1,1,0,1,0,0,0,3,0,1,1,0,0,2,1, +1,1,1,0,1,1,0,0,0,0,1,1,0,1,0,0,2,1,1,0,1,0,0,0,1,0,1,0,0,1,1,0, +3,1,2,1,1,2,2,2,2,2,2,1,2,2,1,1,0,0,0,2,2,2,0,0,0,1,2,1,0,1,0,1, +2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,1,1,1,0,1,0,1,1,0,1,1,1,0,0,1, +3,0,0,0,0,2,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,1,0,1, +1,1,0,0,1,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1, +1,3,3,2,2,0,0,0,2,2,0,0,0,1,2,0,1,1,2,0,0,0,0,0,0,0,0,1,0,0,2,1, +0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +2,3,2,3,2,0,0,0,0,1,1,0,0,0,2,0,2,0,2,0,0,0,0,0,1,0,0,1,0,0,1,1, +1,1,2,0,1,2,1,0,1,1,2,1,1,1,1,1,2,1,1,0,1,0,0,1,1,1,1,1,0,1,1,0, +1,3,2,2,2,1,0,0,2,2,1,0,1,2,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1, +0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,0,2,3,1,2,2,2,2,2,2,1,1,0,0,0,1,0,1,0,2,1,1,1,0,0,0,0,1, +1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +2,0,2,0,0,1,0,3,2,1,2,1,2,2,0,1,0,0,0,2,1,0,0,2,1,1,1,1,0,2,0,2, +2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,0,0,0,1,1,1,1,0,1,0,0,1, +1,2,2,2,2,1,0,0,1,0,0,0,0,0,2,0,1,1,1,1,0,0,0,0,1,0,1,2,0,0,2,0, +1,0,1,1,1,2,1,0,1,0,1,1,0,0,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,1,1,0, +2,1,2,2,2,0,3,0,1,1,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,0,1,1,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0, +1,2,2,3,2,2,0,0,1,1,2,0,1,2,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1, +0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, +2,2,1,1,2,1,2,2,2,2,2,1,2,2,0,1,0,0,0,1,2,2,2,1,2,1,1,1,1,1,2,1, +1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1, +1,2,2,2,2,0,1,0,2,2,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0, +0,0,1,0,0,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,0,2,2,2,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1, +0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,0,0,1,0,0,1,1,2,0,0,0,0,1,0,1,0,0,1,0,0,2,0,0,0,1, +0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,1,1,2,0,2,1,1,1,1,0,2,2,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1, +0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,0,2,1,2,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0, +0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +1,0,0,0,0,2,0,1,2,1,0,1,1,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1, +0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1, +2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,1,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,0,1,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,0,0,0,1,0,1,1,0,1,0,0,0, +0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +) + +Koi8rModel = { + 'char_to_order_map': KOI8R_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "KOI8-R", + 'language': 'Russian', +} + +Win1251CyrillicModel = { + 'char_to_order_map': win1251_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "windows-1251", + 'language': 'Russian', +} + +Latin5CyrillicModel = { + 'char_to_order_map': latin5_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "ISO-8859-5", + 'language': 'Russian', +} + +MacCyrillicModel = { + 'char_to_order_map': macCyrillic_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "MacCyrillic", + 'language': 'Russian', +} + +Ibm866Model = { + 'char_to_order_map': IBM866_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "IBM866", + 'language': 'Russian', +} + +Ibm855Model = { + 'char_to_order_map': IBM855_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "IBM855", + 'language': 'Russian', +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langgreekmodel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langgreekmodel.py new file mode 100644 index 0000000..5332221 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langgreekmodel.py @@ -0,0 +1,225 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +Latin7_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 + 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 +253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 + 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 +253,233, 90,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 +253,253,253,253,247,248, 61, 36, 46, 71, 73,253, 54,253,108,123, # b0 +110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 + 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 +124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 + 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 +) + +win1253_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 + 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 +253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 + 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 +253,233, 61,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 +253,253,253,253,247,253,253, 36, 46, 71, 73,253, 54,253,108,123, # b0 +110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 + 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 +124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 + 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 98.2851% +# first 1024 sequences:1.7001% +# rest sequences: 0.0359% +# negative sequences: 0.0148% +GreekLangModel = ( +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,2,2,3,3,3,3,3,3,3,3,1,3,3,3,0,2,2,3,3,0,3,0,3,2,0,3,3,3,0, +3,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,0,3,3,0,3,2,3,3,0,3,2,3,3,3,0,0,3,0,3,0,3,3,2,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,2,3,2,2,3,3,3,3,3,3,3,3,0,3,3,3,3,0,2,3,3,0,3,3,3,3,2,3,3,3,0, +2,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,2,1,3,3,3,3,2,3,3,2,3,3,2,0, +0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,2,3,3,0, +2,0,1,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,3,0,0,0,0,3,3,0,3,1,3,3,3,0,3,3,0,3,3,3,3,0,0,0,0, +2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,0,3,0,3,3,3,3,3,0,3,2,2,2,3,0,2,3,3,3,3,3,2,3,3,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,3,2,2,2,3,3,3,3,0,3,1,3,3,3,3,2,3,3,3,3,3,3,3,2,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,0,3,0,0,0,3,3,2,3,3,3,3,3,0,0,3,2,3,0,2,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,3,0,0,3,3,0,2,3,0,3,0,3,3,3,0,0,3,0,3,0,2,2,3,3,0,0, +0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,0,3,2,3,3,3,3,0,3,3,3,3,3,0,3,3,2,3,2,3,3,2,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,2,3,2,3,3,3,3,3,3,0,2,3,2,3,2,2,2,3,2,3,3,2,3,0,2,2,2,3,0, +2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,0,3,3,3,2,3,3,0,0,3,0,3,0,0,0,3,2,0,3,0,3,0,0,2,0,2,0, +0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,0,0,0,3,3,0,3,3,3,0,0,1,2,3,0, +3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,0,0,3,2,2,3,3,0,3,3,3,3,3,2,1,3,0,3,2,3,3,2,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,3,0,2,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,3,0,3,2,3,0,0,3,3,3,0, +3,0,0,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,0,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,2,0,3,2,3,0,0,3,2,3,0, +2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,1,2,2,3,3,3,3,3,3,0,2,3,0,3,0,0,0,3,3,0,3,0,2,0,0,2,3,1,0, +2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,3,0,3,0,3,3,2,3,0,3,3,3,3,3,3,0,3,3,3,0,2,3,0,0,3,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,0,0,3,0,0,0,3,3,0,3,0,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,0,3,3,3,3,3,3,0,0,3,0,2,0,0,0,3,3,0,3,0,3,0,0,2,0,2,0, +0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,3,0,3,0,2,0,3,2,0,3,2,3,2,3,0,0,3,2,3,2,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,2,3,3,3,3,3,0,0,0,3,0,2,1,0,0,3,2,2,2,0,3,0,0,2,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,2,0,3,0,3,0,3,3,0,2,1,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,3,3,0,3,3,3,3,3,3,0,2,3,0,3,0,0,0,2,1,0,2,2,3,0,0,2,2,2,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,2,3,3,3,2,3,0,0,1,3,0,2,0,0,0,0,3,0,1,0,2,0,0,1,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,1,0,3,0,0,0,3,2,0,3,2,3,3,3,0,0,3,0,3,2,2,2,1,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,0,0,3,0,0,0,0,2,0,2,3,3,2,2,2,2,3,0,2,0,2,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,2,0,0,0,0,0,0,2,3,0,2,0,2,3,2,0,0,3,0,3,0,3,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,3,2,3,3,2,2,3,0,2,0,3,0,0,0,2,0,0,0,0,1,2,0,2,0,2,0, +0,2,0,2,0,2,2,0,0,1,0,2,2,2,0,2,2,2,0,2,2,2,0,0,2,0,0,1,0,0,0,0, +0,2,0,3,3,2,0,0,0,0,0,0,1,3,0,2,0,2,2,2,0,0,2,0,3,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,2,3,2,0,2,2,0,2,0,2,2,0,2,0,2,2,2,0,0,0,0,0,0,2,3,0,0,0,2, +0,1,2,0,0,0,0,2,2,0,0,0,2,1,0,2,2,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0, +0,0,2,1,0,2,3,2,2,3,2,3,2,0,0,3,3,3,0,0,3,2,0,0,0,1,1,0,2,0,2,2, +0,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2,2,2,0,0,2,0,0,0,2,0,1,0,0,0,0, +0,3,0,3,3,2,2,0,3,0,0,0,2,2,0,2,2,2,1,2,0,0,1,2,2,0,0,3,0,0,0,2, +0,1,2,0,0,0,1,2,0,0,0,0,0,0,0,2,2,0,1,0,0,2,0,0,0,2,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,3,2,2,0,0,0,2,0,2,3,3,0,2,0,0,0,0,0,0,2,2,2,0,2,2,0,2,0,2, +0,2,2,0,0,2,2,2,2,1,0,0,2,2,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,2,0,3,2,3,0,0,0,3,0,0,2,2,0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,0,2, +0,0,2,2,0,0,2,2,2,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,3,2,0,2,2,2,2,2,0,0,0,2,0,0,0,0,2,0,1,0,0,2,0,1,0,0,0, +0,2,2,2,0,2,2,0,1,2,0,2,2,2,0,2,2,2,2,1,2,2,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,2,0,2,0,2,2,0,0,0,0,1,2,1,0,0,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,2,3,0,0,2,0,0,0,2,2,0,2,0,0,0,1,0,0,2,0,2,0,2,2,0,0,0,0, +0,0,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,2,2,3,2,2,0,0,0,0,0,0,1,3,0,2,0,2,2,0,0,0,1,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,2,0,3,2,0,2,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,2,0,0,0,0,1,1,0,0,2,1,2,0,2,2,0,1,0,0,1,0,0,0,2,0,0,0,0,0,0, +0,3,0,2,2,2,0,0,2,0,0,0,2,0,0,0,2,3,0,2,0,0,0,0,0,0,2,2,0,0,0,2, +0,1,2,0,0,0,1,2,2,1,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,1,2,0,2,2,0,2,0,0,2,0,0,0,0,1,2,1,0,2,1,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,3,1,2,2,0,2,0,0,0,0,2,0,0,0,2,0,0,3,0,0,0,0,2,2,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,1,0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,2, +0,2,2,0,0,2,2,2,2,2,0,1,2,0,0,0,2,2,0,1,0,2,0,0,2,2,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,2, +0,1,2,0,0,0,0,2,2,1,0,1,0,1,0,2,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,1,0,0,0,0,0,0,2, +0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0, +0,2,2,2,2,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,1, +0,0,2,0,0,0,0,1,2,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,2,2,2,0,0,0,2,0,0,0,0,0,0,0,0,2, +0,0,1,0,0,0,0,2,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,3,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,2, +0,0,2,0,0,0,0,2,2,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,2,2,1,0,0,0,0,0,0,2,0,0,2,0,2,2,2,0,0,0,0,0,0,2,0,0,0,0,2, +0,0,2,0,0,2,0,2,2,0,0,0,0,2,0,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0, +0,0,3,0,0,0,2,2,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0, +0,2,2,2,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1, +0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,2,0,0,0,2,0,0,0,0,0,1,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,2,0,0,0, +0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,2,0,2,0,0,0, +0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +) + +Latin7GreekModel = { + 'char_to_order_map': Latin7_char_to_order_map, + 'precedence_matrix': GreekLangModel, + 'typical_positive_ratio': 0.982851, + 'keep_english_letter': False, + 'charset_name': "ISO-8859-7", + 'language': 'Greek', +} + +Win1253GreekModel = { + 'char_to_order_map': win1253_char_to_order_map, + 'precedence_matrix': GreekLangModel, + 'typical_positive_ratio': 0.982851, + 'keep_english_letter': False, + 'charset_name': "windows-1253", + 'language': 'Greek', +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhebrewmodel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhebrewmodel.py new file mode 100644 index 0000000..58f4c87 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhebrewmodel.py @@ -0,0 +1,200 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Simon Montagu +# Portions created by the Initial Developer are Copyright (C) 2005 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# Shoshannah Forbes - original C code (?) +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Windows-1255 language model +# Character Mapping Table: +WIN1255_CHAR_TO_ORDER_MAP = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 69, 91, 79, 80, 92, 89, 97, 90, 68,111,112, 82, 73, 95, 85, # 40 + 78,121, 86, 71, 67,102,107, 84,114,103,115,253,253,253,253,253, # 50 +253, 50, 74, 60, 61, 42, 76, 70, 64, 53,105, 93, 56, 65, 54, 49, # 60 + 66,110, 51, 43, 44, 63, 81, 77, 98, 75,108,253,253,253,253,253, # 70 +124,202,203,204,205, 40, 58,206,207,208,209,210,211,212,213,214, +215, 83, 52, 47, 46, 72, 32, 94,216,113,217,109,218,219,220,221, + 34,116,222,118,100,223,224,117,119,104,125,225,226, 87, 99,227, +106,122,123,228, 55,229,230,101,231,232,120,233, 48, 39, 57,234, + 30, 59, 41, 88, 33, 37, 36, 31, 29, 35,235, 62, 28,236,126,237, +238, 38, 45,239,240,241,242,243,127,244,245,246,247,248,249,250, + 9, 8, 20, 16, 3, 2, 24, 14, 22, 1, 25, 15, 4, 11, 6, 23, + 12, 19, 13, 26, 18, 27, 21, 17, 7, 10, 5,251,252,128, 96,253, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 98.4004% +# first 1024 sequences: 1.5981% +# rest sequences: 0.087% +# negative sequences: 0.0015% +HEBREW_LANG_MODEL = ( +0,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,3,2,1,2,0,1,0,0, +3,0,3,1,0,0,1,3,2,0,1,1,2,0,2,2,2,1,1,1,1,2,1,1,1,2,0,0,2,2,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2, +1,2,1,2,1,2,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2, +1,2,1,3,1,1,0,0,2,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,1,2,2,1,3, +1,2,1,1,2,2,0,0,2,2,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,2,2,2,3,2, +1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,3,2,2,3,2,2,2,1,2,2,2,2, +1,2,1,1,2,2,0,1,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,0,2,2,2,2,2, +0,2,0,2,2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,0,2,2,2, +0,2,1,2,2,2,0,0,2,1,0,0,0,0,1,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,1,2,3,2,2,2, +1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,2,0,2, +0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,2,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,2,2,3,2,1,2,1,1,1, +0,1,1,1,1,1,3,0,1,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,0,0, +0,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,2,1,2,3,3,2,3,3,3,3,2,3,2,1,2,0,2,1,2, +0,2,0,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,2,3,2,3,2,2,3,1,2,2,0,2,2,2, +0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,2,2,3,3,3,3,1,3,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,2,3,2,2,2,1,2,2,0,2,2,2,2, +0,2,0,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,1,3,2,3,3,2,3,3,2,2,1,2,2,2,2,2,2, +0,2,1,2,1,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,2,3,3,2,3,3,3,3,2,3,2,3,3,3,3,3,2,2,2,2,2,2,2,1, +0,2,0,1,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,1,2,3,3,3,3,3,3,3,2,3,2,3,2,1,2,3,0,2,1,2,2, +0,2,1,1,2,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,3,2,1,3,1,2,2,2,1,2,3,3,1,2,1,2,2,2,2, +0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,0,2,3,3,3,1,3,3,3,1,2,2,2,2,1,1,2,2,2,2,2,2, +0,2,0,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,2,2,3,3,3,2,1,2,3,2,3,2,2,2,2,1,2,1,1,1,2,2, +0,2,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,0, +1,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,3,2,3,1,2,2,2,2,3,2,3,1,1,2,2,1,2,2,1,1,0,2,2,2,2, +0,1,0,1,2,2,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +3,2,2,1,2,2,2,2,2,2,2,1,2,2,1,2,2,1,1,1,1,1,1,1,1,2,1,1,0,3,3,3, +0,3,0,2,2,2,2,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,2,2,2,1,1,1,2,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,0,2,2,0,0,0,0,0,0, +0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,0,2,1,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,3,1,1,2,2,2,2,2,1,2,2,2,1,1,2,2,2,2,2,2,2,1,2,2,1,0,1,1,1,1,0, +0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,1,1,1,1,2,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,0,0, +2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,1,2,1,2,1,1,1,1,0,0,0,0, +0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,1,2,2,2,2,2,2,2,2,2,2,1,2,1,2,1,1,2,1,1,1,2,1,2,1,2,0,1,0,1, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,1,2,2,2,1,2,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,2,1,2,1,1,0,1,0,1, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,1,1,1,1,1,1,0,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,1,1,1,0,1,0,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0, +0,1,1,1,2,1,2,2,2,0,2,0,2,0,1,1,2,1,1,1,1,2,1,0,1,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,1,0,0,0,0,0,1,0,1,2,2,0,1,0,0,1,1,2,2,1,2,0,2,0,0,0,1,2,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,2,1,2,0,2,0,0,1,1,1,1,1,1,0,1,0,0,0,1,0,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,1,2,2,0,0,1,0,0,0,1,0,0,1, +1,1,2,1,0,1,1,1,0,1,0,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,2,1, +0,2,0,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,0,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,1,0,0,0,1,1,0,1, +2,0,1,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,1,0,1,0,0,1,1,2,1,1,2,0,1,0,0,0,1,1,0,1, +1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,0,0,2,1,1,2,0,2,0,0,0,1,1,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,2,2,1,2,1,1,0,1,0,0,0,1,1,0,1, +2,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,1,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,2,1,1,1,0,2,1,1,0,0,0,2,1,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,0,2,1,1,0,1,0,0,0,1,1,0,1, +2,2,1,1,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,0,1,2,1,0,2,0,0,0,1,1,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, +0,1,0,0,2,0,2,1,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,1,0,1,0,0,1,0,0,0,1,0,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,1,0,1,1,0,0,1,0,0,2,1,1,1,1,1,0,1,0,0,0,0,1,0,1, +0,1,1,1,2,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,0,0, +) + +Win1255HebrewModel = { + 'char_to_order_map': WIN1255_CHAR_TO_ORDER_MAP, + 'precedence_matrix': HEBREW_LANG_MODEL, + 'typical_positive_ratio': 0.984004, + 'keep_english_letter': False, + 'charset_name': "windows-1255", + 'language': 'Hebrew', +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhungarianmodel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhungarianmodel.py new file mode 100644 index 0000000..bb7c095 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langhungarianmodel.py @@ -0,0 +1,225 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +Latin2_HungarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, + 46, 71, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, +253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, + 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, +159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174, +175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190, +191,192,193,194,195,196,197, 75,198,199,200,201,202,203,204,205, + 79,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, +221, 51, 81,222, 78,223,224,225,226, 44,227,228,229, 61,230,231, +232,233,234, 58,235, 66, 59,236,237,238, 60, 69, 63,239,240,241, + 82, 14, 74,242, 70, 80,243, 72,244, 15, 83, 77, 84, 30, 76, 85, +245,246,247, 25, 73, 42, 24,248,249,250, 31, 56, 29,251,252,253, +) + +win1250HungarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, + 46, 72, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, +253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, + 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, +161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176, +177,178,179,180, 78,181, 69,182,183,184,185,186,187,188,189,190, +191,192,193,194,195,196,197, 76,198,199,200,201,202,203,204,205, + 81,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, +221, 51, 83,222, 80,223,224,225,226, 44,227,228,229, 61,230,231, +232,233,234, 58,235, 66, 59,236,237,238, 60, 70, 63,239,240,241, + 84, 14, 75,242, 71, 82,243, 73,244, 15, 85, 79, 86, 30, 77, 87, +245,246,247, 25, 74, 42, 24,248,249,250, 31, 56, 29,251,252,253, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 94.7368% +# first 1024 sequences:5.2623% +# rest sequences: 0.8894% +# negative sequences: 0.0009% +HungarianLangModel = ( +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,2,3,3,1,1,2,2,2,2,2,1,2, +3,2,2,3,3,3,3,3,2,3,3,3,3,3,3,1,2,3,3,3,3,2,3,3,1,1,3,3,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0, +3,2,1,3,3,3,3,3,2,3,3,3,3,3,1,1,2,3,3,3,3,3,3,3,1,1,3,2,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,1,1,2,3,3,3,1,3,3,3,3,3,1,3,3,2,2,0,3,2,3, +0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,3,3,2,3,3,2,2,3,2,3,2,0,3,2,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,3,3,2,3,3,3,1,2,3,2,2,3,1,2,3,3,2,2,0,3,3,3, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,2,3,3,3,3,2,3,3,3,3,0,2,3,2, +0,0,0,1,1,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,1,1,1,3,3,2,1,3,2,2,3,2,1,3,2,2,1,0,3,3,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,2,2,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,3,2,2,3,1,1,3,2,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,1,3,3,3,3,3,2,2,1,3,3,3,0,1,1,2, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,2,0,3,2,3, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,1,3,2,2,2,3,1,1,3,3,1,1,0,3,3,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,2,3,3,3,3,3,1,2,3,2,2,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,1,3,3,2,2,1,3,3,3,1,1,3,1,2,3,2,3,2,2,2,1,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,2,2,3,2,1,0,3,2,0,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,1,0,3,3,3,3,0,2,3,0,0,2,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,2,2,2,2,3,3,0,1,2,3,2,3,2,2,3,2,1,2,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,3,3,3,3,3,1,2,3,3,3,2,1,2,3,3,2,2,2,3,2,3,3,1,3,3,1,1,0,2,3,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,1,2,2,2,2,3,3,3,1,1,1,3,3,1,1,3,1,1,3,2,1,2,3,1,1,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,1,2,1,1,3,3,1,1,1,1,3,3,1,1,2,2,1,2,1,1,2,2,1,1,0,2,2,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,1,1,2,1,1,3,3,1,0,1,1,3,3,2,0,1,1,2,3,1,0,2,2,1,0,0,1,3,2, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,2,1,3,3,3,3,3,1,2,3,2,3,3,2,1,1,3,2,3,2,1,2,2,0,1,2,1,0,0,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,2,2,2,2,3,1,2,2,1,1,3,3,0,3,2,1,2,3,2,1,3,3,1,1,0,2,1,3, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,2,3,3,3,2,1,1,3,3,1,1,1,2,2,3,2,3,2,2,2,1,0,2,2,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +1,0,0,3,3,3,3,3,0,0,3,3,2,3,0,0,0,2,3,3,1,0,1,2,0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,2,3,3,3,3,3,1,2,3,3,2,2,1,1,0,3,3,2,2,1,2,2,1,0,2,2,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,1,3,1,2,3,3,2,2,1,1,2,2,1,1,1,1,3,2,1,1,1,1,2,1,0,1,2,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +2,3,3,1,1,1,1,1,3,3,3,0,1,1,3,3,1,1,1,1,1,2,2,0,3,1,1,2,0,2,1,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,1,0,1,2,1,2,2,0,1,2,3,1,2,0,0,0,2,1,1,1,1,1,2,0,0,1,1,0,0,0,0, +1,2,1,2,2,2,1,2,1,2,0,2,0,2,2,1,1,2,1,1,2,1,1,1,0,1,0,0,0,1,1,0, +1,1,1,2,3,2,3,3,0,1,2,2,3,1,0,1,0,2,1,2,2,0,1,1,0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,3,3,2,2,1,0,0,3,2,3,2,0,0,0,1,1,3,0,0,1,1,0,0,2,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,2,2,3,3,1,0,1,3,2,3,1,1,1,0,1,1,1,1,1,3,1,0,0,2,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,1,2,2,2,1,0,1,2,3,3,2,0,0,0,2,1,1,1,2,1,1,1,0,1,1,1,0,0,0, +1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,0,0,1,1, +3,2,2,1,0,0,1,1,2,2,0,3,0,1,2,1,1,0,0,1,1,1,0,1,1,1,1,0,2,1,1,1, +2,2,1,1,1,2,1,2,1,1,1,1,1,1,1,2,1,1,1,2,3,1,1,1,1,1,1,1,1,1,0,1, +2,3,3,0,1,0,0,0,3,3,1,0,0,1,2,2,1,0,0,0,0,2,0,0,1,1,1,0,2,1,1,1, +2,1,1,1,1,1,1,2,1,1,0,1,1,0,1,1,1,0,1,2,1,1,0,1,1,1,1,1,1,1,0,1, +2,3,3,0,1,0,0,0,2,2,0,0,0,0,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,1,0, +2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, +3,2,2,0,1,0,1,0,2,3,2,0,0,1,2,2,1,0,0,1,1,1,0,0,2,1,0,1,2,2,1,1, +2,1,1,1,1,1,1,2,1,1,1,1,1,1,0,2,1,0,1,1,0,1,1,1,0,1,1,2,1,1,0,1, +2,2,2,0,0,1,0,0,2,2,1,1,0,0,2,1,1,0,0,0,1,2,0,0,2,1,0,0,2,1,1,1, +2,1,1,1,1,2,1,2,1,1,1,2,2,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1, +1,2,3,0,0,0,1,0,3,2,1,0,0,1,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,2,1, +1,1,0,0,0,1,0,1,1,1,1,1,2,0,0,1,0,0,0,2,0,0,1,1,1,1,1,1,1,1,0,1, +3,0,0,2,1,2,2,1,0,0,2,1,2,2,0,0,0,2,1,1,1,0,1,1,0,0,1,1,2,0,0,0, +1,2,1,2,2,1,1,2,1,2,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,0,0,1, +1,3,2,0,0,0,1,0,2,2,2,0,0,0,2,2,1,0,0,0,0,3,1,1,1,1,0,0,2,1,1,1, +2,1,0,1,1,1,0,1,1,1,1,1,1,1,0,2,1,0,0,1,0,1,1,0,1,1,1,1,1,1,0,1, +2,3,2,0,0,0,1,0,2,2,0,0,0,0,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,1,0, +2,1,1,1,1,2,1,2,1,2,0,1,1,1,0,2,1,1,1,2,1,1,1,1,0,1,1,1,1,1,0,1, +3,1,1,2,2,2,3,2,1,1,2,2,1,1,0,1,0,2,2,1,1,1,1,1,0,0,1,1,0,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,0,0,0,0,2,2,0,0,0,0,2,2,1,0,0,0,1,1,0,0,1,2,0,0,2,1,1,1, +2,2,1,1,1,2,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,1,1,0,1,2,1,1,1,0,1, +1,0,0,1,2,3,2,1,0,0,2,0,1,1,0,0,0,1,1,1,1,0,1,1,0,0,1,0,0,0,0,0, +1,2,1,2,1,2,1,1,1,2,0,2,1,1,1,0,1,2,0,0,1,1,1,0,0,0,0,0,0,0,0,0, +2,3,2,0,0,0,0,0,1,1,2,1,0,0,1,1,1,0,0,0,0,2,0,0,1,1,0,0,2,1,1,1, +2,1,1,1,1,1,1,2,1,0,1,1,1,1,0,2,1,1,1,1,1,1,0,1,0,1,1,1,1,1,0,1, +1,2,2,0,1,1,1,0,2,2,2,0,0,0,3,2,1,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0, +1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,0,0,1,1,1,0,1,0,1, +2,1,0,2,1,1,2,2,1,1,2,1,1,1,0,0,0,1,1,0,1,1,1,1,0,0,1,1,1,0,0,0, +1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,1,0, +1,2,3,0,0,0,1,0,2,2,0,0,0,0,2,2,0,0,0,0,0,1,0,0,1,0,0,0,2,0,1,0, +2,1,1,1,1,1,0,2,0,0,0,1,2,1,1,1,1,0,1,2,0,1,0,1,0,1,1,1,0,1,0,1, +2,2,2,0,0,0,1,0,2,1,2,0,0,0,1,1,2,0,0,0,0,1,0,0,1,1,0,0,2,1,0,1, +2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, +1,2,2,0,0,0,1,0,2,2,2,0,0,0,1,1,0,0,0,0,0,1,1,0,2,0,0,1,1,1,0,1, +1,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,0,0,1,1,0,1,0,1,1,1,1,1,0,0,0,1, +1,0,0,1,0,1,2,1,0,0,1,1,1,2,0,0,0,1,1,0,1,0,1,1,0,0,1,0,0,0,0,0, +0,2,1,2,1,1,1,1,1,2,0,2,0,1,1,0,1,2,1,0,1,1,1,0,0,0,0,0,0,1,0,0, +2,1,1,0,1,2,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,2,1,0,1, +2,2,1,1,1,1,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,0,1,0,1,1,1,1,1,0,1, +1,2,2,0,0,0,0,0,1,1,0,0,0,0,2,1,0,0,0,0,0,2,0,0,2,2,0,0,2,0,0,1, +2,1,1,1,1,1,1,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1, +1,1,2,0,0,3,1,0,2,1,1,1,0,0,1,1,1,0,0,0,1,1,0,0,0,1,0,0,1,0,1,0, +1,2,1,0,1,1,1,2,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,0,0, +2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,2,0,0,0, +2,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,1,0,1, +2,1,1,1,2,1,1,1,0,1,1,2,1,0,0,0,0,1,1,1,1,0,1,0,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,0,1,1,1,1,1,0,0,1,1,2,1,0,0,0,1,1,0,0,0,1,1,0,0,1,0,1,0,0,0, +1,2,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0, +2,0,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,1,2,0,0,1,0,0,1,0,1,0,0,0, +0,1,1,1,1,1,1,1,1,2,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,1,0,0,2,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0, +0,1,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +0,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,0,0,0,1,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, +2,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,0,0,1,0,1,0,1,1,1,0,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0,1,1,0,1,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +) + +Latin2HungarianModel = { + 'char_to_order_map': Latin2_HungarianCharToOrderMap, + 'precedence_matrix': HungarianLangModel, + 'typical_positive_ratio': 0.947368, + 'keep_english_letter': True, + 'charset_name': "ISO-8859-2", + 'language': 'Hungarian', +} + +Win1250HungarianModel = { + 'char_to_order_map': win1250HungarianCharToOrderMap, + 'precedence_matrix': HungarianLangModel, + 'typical_positive_ratio': 0.947368, + 'keep_english_letter': True, + 'charset_name': "windows-1250", + 'language': 'Hungarian', +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langthaimodel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langthaimodel.py new file mode 100644 index 0000000..15f94c2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langthaimodel.py @@ -0,0 +1,199 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# The following result for thai was collected from a limited sample (1M). + +# Character Mapping Table: +TIS620CharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,182,106,107,100,183,184,185,101, 94,186,187,108,109,110,111, # 40 +188,189,190, 89, 95,112,113,191,192,193,194,253,253,253,253,253, # 50 +253, 64, 72, 73,114, 74,115,116,102, 81,201,117, 90,103, 78, 82, # 60 + 96,202, 91, 79, 84,104,105, 97, 98, 92,203,253,253,253,253,253, # 70 +209,210,211,212,213, 88,214,215,216,217,218,219,220,118,221,222, +223,224, 99, 85, 83,225,226,227,228,229,230,231,232,233,234,235, +236, 5, 30,237, 24,238, 75, 8, 26, 52, 34, 51,119, 47, 58, 57, + 49, 53, 55, 43, 20, 19, 44, 14, 48, 3, 17, 25, 39, 62, 31, 54, + 45, 9, 16, 2, 61, 15,239, 12, 42, 46, 18, 21, 76, 4, 66, 63, + 22, 10, 1, 36, 23, 13, 40, 27, 32, 35, 86,240,241,242,243,244, + 11, 28, 41, 29, 33,245, 50, 37, 6, 7, 67, 77, 38, 93,246,247, + 68, 56, 59, 65, 69, 60, 70, 80, 71, 87,248,249,250,251,252,253, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 92.6386% +# first 1024 sequences:7.3177% +# rest sequences: 1.0230% +# negative sequences: 0.0436% +ThaiLangModel = ( +0,1,3,3,3,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,0,0,3,3,3,0,3,3,3,3, +0,3,3,0,0,0,1,3,0,3,3,2,3,3,0,1,2,3,3,3,3,0,2,0,2,0,0,3,2,1,2,2, +3,0,3,3,2,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,0,3,2,3,0,2,2,2,3, +0,2,3,0,0,0,0,1,0,1,2,3,1,1,3,2,2,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1, +3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,3,3,2,3,2,3,3,2,2,2, +3,1,2,3,0,3,3,2,2,1,2,3,3,1,2,0,1,3,0,1,0,0,1,0,0,0,0,0,0,0,1,1, +3,3,2,2,3,3,3,3,1,2,3,3,3,3,3,2,2,2,2,3,3,2,2,3,3,2,2,3,2,3,2,2, +3,3,1,2,3,1,2,2,3,3,1,0,2,1,0,0,3,1,2,1,0,0,1,0,0,0,0,0,0,1,0,1, +3,3,3,3,3,3,2,2,3,3,3,3,2,3,2,2,3,3,2,2,3,2,2,2,2,1,1,3,1,2,1,1, +3,2,1,0,2,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,2,3,3,2,2,3,2,3,3,2,3,1,1,2,3,2,2,2,3,2,2,2,2,2,1,2,1, +2,2,1,1,3,3,2,1,0,1,2,2,0,1,3,0,0,0,1,1,0,0,0,0,0,2,3,0,0,2,1,1, +3,3,2,3,3,2,0,0,3,3,0,3,3,0,2,2,3,1,2,2,1,1,1,0,2,2,2,0,2,2,1,1, +0,2,1,0,2,0,0,2,0,1,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,2,3,3,2,0,0,3,3,0,2,3,0,2,1,2,2,2,2,1,2,0,0,2,2,2,0,2,2,1,1, +0,2,1,0,2,0,0,2,0,1,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,2,3,2,3,2,0,2,2,1,3,2,1,3,2,1,2,3,2,2,3,0,2,3,2,2,1,2,2,2,2, +1,2,2,0,0,0,0,2,0,1,2,0,1,1,1,0,1,0,3,1,1,0,0,0,0,0,0,0,0,0,1,0, +3,3,2,3,3,2,3,2,2,2,3,2,2,3,2,2,1,2,3,2,2,3,1,3,2,2,2,3,2,2,2,3, +3,2,1,3,0,1,1,1,0,2,1,1,1,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,2,0,0, +1,0,0,3,0,3,3,3,3,3,0,0,3,0,2,2,3,3,3,3,3,0,0,0,1,1,3,0,0,0,0,2, +0,0,1,0,0,0,0,0,0,0,2,3,0,0,0,3,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +2,0,3,3,3,3,0,0,2,3,0,0,3,0,3,3,2,3,3,3,3,3,0,0,3,3,3,0,0,0,3,3, +0,0,3,0,0,0,0,2,0,0,2,1,1,3,0,0,1,0,0,2,3,0,1,0,0,0,0,0,0,0,1,0, +3,3,3,3,2,3,3,3,3,3,3,3,1,2,1,3,3,2,2,1,2,2,2,3,1,1,2,0,2,1,2,1, +2,2,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0, +3,0,2,1,2,3,3,3,0,2,0,2,2,0,2,1,3,2,2,1,2,1,0,0,2,2,1,0,2,1,2,2, +0,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,3,3,1,1,3,0,2,3,1,1,3,2,1,1,2,0,2,2,3,2,1,1,1,1,1,2, +3,0,0,1,3,1,2,1,2,0,3,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +3,3,1,1,3,2,3,3,3,1,3,2,1,3,2,1,3,2,2,2,2,1,3,3,1,2,1,3,1,2,3,0, +2,1,1,3,2,2,2,1,2,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, +3,3,2,3,2,3,3,2,3,2,3,2,3,3,2,1,0,3,2,2,2,1,2,2,2,1,2,2,1,2,1,1, +2,2,2,3,0,1,3,1,1,1,1,0,1,1,0,2,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,2,2,1,1,3,2,3,2,3,2,0,3,2,2,1,2,0,2,2,2,1,2,2,2,2,1, +3,2,1,2,2,1,0,2,0,1,0,0,1,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,2,3,1,2,3,3,2,2,3,0,1,1,2,0,3,3,2,2,3,0,1,1,3,0,0,0,0, +3,1,0,3,3,0,2,0,2,1,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,2,3,3,0,1,3,1,1,2,1,2,1,1,3,1,1,0,2,3,1,1,1,1,1,1,1,1, +3,1,1,2,2,2,2,1,1,1,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,2,2,1,1,2,1,3,3,2,3,2,2,3,2,2,3,1,2,2,1,2,0,3,2,1,2,2,2,2,2,1, +3,2,1,2,2,2,1,1,1,1,0,0,1,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,1,3,3,0,2,1,0,3,2,0,0,3,1,0,1,1,0,1,0,0,0,0,0,1, +1,0,0,1,0,3,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,2,2,2,3,0,0,1,3,0,3,2,0,3,2,2,3,3,3,3,3,1,0,2,2,2,0,2,2,1,2, +0,2,3,0,0,0,0,1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,0,2,3,1,3,3,2,3,3,0,3,3,0,3,2,2,3,2,3,3,3,0,0,2,2,3,0,1,1,1,3, +0,0,3,0,0,0,2,2,0,1,3,0,1,2,2,2,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1, +3,2,3,3,2,0,3,3,2,2,3,1,3,2,1,3,2,0,1,2,2,0,2,3,2,1,0,3,0,0,0,0, +3,0,0,2,3,1,3,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,3,2,2,2,1,2,0,1,3,1,1,3,1,3,0,0,2,1,1,1,1,2,1,1,1,0,2,1,0,1, +1,2,0,0,0,3,1,1,0,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,3,1,0,0,0,1,0, +3,3,3,3,2,2,2,2,2,1,3,1,1,1,2,0,1,1,2,1,2,1,3,2,0,0,3,1,1,1,1,1, +3,1,0,2,3,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,3,0,3,3,0,2,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,3,1,3,0,0,1,2,0,0,2,0,3,3,2,3,3,3,2,3,0,0,2,2,2,0,0,0,2,2, +0,0,1,0,0,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,1,2,3,1,3,3,0,0,1,0,3,0,0,0,0,0, +0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,2,3,1,2,3,1,0,3,0,2,2,1,0,2,1,1,2,0,1,0,0,1,1,1,1,0,1,0,0, +1,0,0,0,0,1,1,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,0,1,1,1,3,1,2,2,2,2,2,2,1,1,1,1,0,3,1,0,1,3,1,1,1,1, +1,1,0,2,0,1,3,1,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1, +3,0,2,2,1,3,3,2,3,3,0,1,1,0,2,2,1,2,1,3,3,1,0,0,3,2,0,0,0,0,2,1, +0,1,0,0,0,0,1,2,0,1,1,3,1,1,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,3,0,0,1,0,0,0,3,0,0,3,0,3,1,0,1,1,1,3,2,0,0,0,3,0,0,0,0,2,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,1,3,2,1,3,3,1,2,2,0,1,2,1,0,1,2,0,0,0,0,0,3,0,0,0,3,0,0,0,0, +3,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,2,0,3,3,3,2,2,0,1,1,0,1,3,0,0,0,2,2,0,0,0,0,3,1,0,1,0,0,0, +0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,2,3,1,2,0,0,2,1,0,3,1,0,1,2,0,1,1,1,1,3,0,0,3,1,1,0,2,2,1,1, +0,2,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,3,1,2,0,0,2,2,0,1,2,0,1,0,1,3,1,2,1,0,0,0,2,0,3,0,0,0,1,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,1,2,2,0,0,0,2,0,2,1,0,1,1,0,1,1,1,2,1,0,0,1,1,1,0,2,1,1,1, +0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1, +0,0,0,2,0,1,3,1,1,1,1,0,0,0,0,3,2,0,1,0,0,0,1,2,0,0,0,1,0,0,0,0, +0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,2,3,2,2,0,0,0,1,0,0,0,0,2,3,2,1,2,2,3,0,0,0,2,3,1,0,0,0,1,1, +0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0, +3,3,2,2,0,1,0,0,0,0,2,0,2,0,1,0,0,0,1,1,0,0,0,2,1,0,1,0,1,1,0,0, +0,1,0,2,0,0,1,0,3,0,1,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,0,0,1,0,0,0,0,0,1,1,2,0,0,0,0,1,0,0,1,3,1,0,0,0,0,1,1,0,0, +0,1,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0, +3,3,1,1,1,1,2,3,0,0,2,1,1,1,1,1,0,2,1,1,0,0,0,2,1,0,1,2,1,1,0,1, +2,1,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,3,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1, +0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,0,0,0,0,1,2,1,0,1,1,0,2,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,1,3,0,1,0,0,0,2,0,0,0,0,0,0,0,1,2,0,0,0,0,0, +3,3,0,0,1,1,2,0,0,1,2,1,0,1,1,1,0,1,1,0,0,2,1,1,0,1,0,0,1,1,1,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,1,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,0,0,1,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,0,1,2,0,1,2,0,0,1,1,0,2,0,1,0,0,1,0,0,0,0,1,0,0,0,2,0,0,0,0, +1,0,0,1,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,2,1,3,0,0,0,0,1,1,0,0,0,0,0,0,0,3, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,1,0,0,2,0,0,2,0,0,1,1,2,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,0, +1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,3,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0, +1,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,1,0,0,2,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +) + +TIS620ThaiModel = { + 'char_to_order_map': TIS620CharToOrderMap, + 'precedence_matrix': ThaiLangModel, + 'typical_positive_ratio': 0.926386, + 'keep_english_letter': False, + 'charset_name': "TIS-620", + 'language': 'Thai', +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langturkishmodel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langturkishmodel.py new file mode 100644 index 0000000..a427a45 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/langturkishmodel.py @@ -0,0 +1,193 @@ +# -*- coding: utf-8 -*- +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Özgür Baskın - Turkish Language Model +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +Latin5_TurkishCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 23, 37, 47, 39, 29, 52, 36, 45, 53, 60, 16, 49, 20, 46, 42, + 48, 69, 44, 35, 31, 51, 38, 62, 65, 43, 56,255,255,255,255,255, +255, 1, 21, 28, 12, 2, 18, 27, 25, 3, 24, 10, 5, 13, 4, 15, + 26, 64, 7, 8, 9, 14, 32, 57, 58, 11, 22,255,255,255,255,255, +180,179,178,177,176,175,174,173,172,171,170,169,168,167,166,165, +164,163,162,161,160,159,101,158,157,156,155,154,153,152,151,106, +150,149,148,147,146,145,144,100,143,142,141,140,139,138,137,136, + 94, 80, 93,135,105,134,133, 63,132,131,130,129,128,127,126,125, +124,104, 73, 99, 79, 85,123, 54,122, 98, 92,121,120, 91,103,119, + 68,118,117, 97,116,115, 50, 90,114,113,112,111, 55, 41, 40, 86, + 89, 70, 59, 78, 71, 82, 88, 33, 77, 66, 84, 83,110, 75, 61, 96, + 30, 67,109, 74, 87,102, 34, 95, 81,108, 76, 72, 17, 6, 19,107, +) + +TurkishLangModel = ( +3,2,3,3,3,1,3,3,3,3,3,3,3,3,2,1,1,3,3,1,3,3,0,3,3,3,3,3,0,3,1,3, +3,2,1,0,0,1,1,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1, +3,2,2,3,3,0,3,3,3,3,3,3,3,2,3,1,0,3,3,1,3,3,0,3,3,3,3,3,0,3,0,3, +3,1,1,0,1,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,0,1,0,1, +3,3,2,3,3,0,3,3,3,3,3,3,3,2,3,1,1,3,3,0,3,3,1,2,3,3,3,3,0,3,0,3, +3,1,1,0,0,0,1,0,0,0,0,1,1,0,1,2,1,0,0,0,1,0,0,0,0,2,0,0,0,0,0,1, +3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,1,3,3,2,0,3,2,1,2,2,1,3,3,0,0,0,2, +2,2,0,1,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,1,0,0,1, +3,3,3,2,3,3,1,2,3,3,3,3,3,3,3,1,3,2,1,0,3,2,0,1,2,3,3,2,1,0,0,2, +2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0, +1,0,1,3,3,1,3,3,3,3,3,3,3,1,2,0,0,2,3,0,2,3,0,0,2,2,2,3,0,3,0,1, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,0,3,2,0,2,3,2,3,3,1,0,0,2, +3,2,0,0,1,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,2,0,0,1, +3,3,3,2,3,3,2,3,3,3,3,2,3,3,3,0,3,3,0,0,2,1,0,0,2,3,2,2,0,0,0,2, +2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,1,0,2,0,0,1, +3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,0,1,3,2,1,1,3,2,3,2,1,0,0,2, +2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0, +3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,2,0,2,3,0,0,2,2,2,2,0,0,0,2, +3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0, +3,3,3,3,3,3,3,2,2,2,2,3,2,3,3,0,3,3,1,1,2,2,0,0,2,2,3,2,0,0,1,3, +0,3,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1, +3,3,3,2,3,3,3,2,1,2,2,3,2,3,3,0,3,2,0,0,1,1,0,1,1,2,1,2,0,0,0,1, +0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0, +3,3,3,2,3,3,2,3,2,2,2,3,3,3,3,1,3,1,1,0,3,2,1,1,3,3,2,3,1,0,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,1, +3,2,2,3,3,0,3,3,3,3,3,3,3,2,2,1,0,3,3,1,3,3,0,1,3,3,2,3,0,3,0,3, +2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +2,2,2,3,3,0,3,3,3,3,3,3,3,3,3,0,0,3,2,0,3,3,0,3,2,3,3,3,0,3,1,3, +2,0,0,0,0,0,0,0,0,0,0,1,0,1,2,0,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1, +3,3,3,1,2,3,3,1,0,0,1,0,0,3,3,2,3,0,0,2,0,0,2,0,2,0,0,0,2,0,2,0, +0,3,1,0,1,0,0,0,2,2,1,0,1,1,2,1,2,2,2,0,2,1,1,0,0,0,2,0,0,0,0,0, +1,2,1,3,3,0,3,3,3,3,3,2,3,0,0,0,0,2,3,0,2,3,1,0,2,3,1,3,0,3,0,2, +3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,3,3,2,2,3,2,2,0,1,2,3,0,1,2,1,0,1,0,0,0,1,0,2,2,0,0,0,1, +1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0, +3,3,3,1,3,3,1,1,3,3,1,1,3,3,1,0,2,1,2,0,2,1,0,0,1,1,2,1,0,0,0,2, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,0,2,1,3,0,0,2,0,0,3,3,0,3,0,0,1,0,1,2,0,0,1,1,2,2,0,1,0, +0,1,2,1,1,0,1,0,1,1,1,1,1,0,1,1,1,2,2,1,2,0,1,0,0,0,0,0,0,1,0,0, +3,3,3,2,3,2,3,3,0,2,2,2,3,3,3,0,3,0,0,0,2,2,0,1,2,1,1,1,0,0,0,1, +0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +3,3,3,3,3,3,2,1,2,2,3,3,3,3,2,0,2,0,0,0,2,2,0,0,2,1,3,3,0,0,1,1, +1,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0, +1,1,2,3,3,0,3,3,3,3,3,3,2,2,0,2,0,2,3,2,3,2,2,2,2,2,2,2,1,3,2,3, +2,0,2,1,2,2,2,2,1,1,2,2,1,2,2,1,2,0,0,2,1,1,0,2,1,0,0,1,0,0,0,1, +2,3,3,1,1,1,0,1,1,1,2,3,2,1,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,2,3,2,2,1,3,3,3,0,2,1,2,0,2,1,0,0,1,1,1,1,1,0,0,1, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0, +3,3,3,2,3,3,3,3,3,2,3,1,2,3,3,1,2,0,0,0,0,0,0,0,3,2,1,1,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +3,3,3,2,2,3,3,2,1,1,1,1,1,3,3,0,3,1,0,0,1,1,0,0,3,1,2,1,0,0,0,0, +0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, +3,3,3,2,2,3,2,2,2,3,2,1,1,3,3,0,3,0,0,0,0,1,0,0,3,1,1,2,0,0,0,1, +1,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,1,3,3,0,3,3,3,3,3,2,2,2,1,2,0,2,1,2,2,1,1,0,1,2,2,2,2,2,2,2, +0,0,2,1,2,1,2,1,0,1,1,3,1,2,1,1,2,0,0,2,0,1,0,1,0,1,0,0,0,1,0,1, +3,3,3,1,3,3,3,0,1,1,0,2,2,3,1,0,3,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,2,2,1,0,0,1,0,0,3,3,1,3,0,0,1,1,0,2,0,3,0,0,0,2,0,1,1, +0,1,2,0,1,2,2,0,2,2,2,2,1,0,2,1,1,0,2,0,2,1,2,0,0,0,0,0,0,0,0,0, +3,3,3,1,3,2,3,2,0,2,2,2,1,3,2,0,2,1,2,0,1,2,0,0,1,0,2,2,0,0,0,2, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0, +3,3,3,0,3,3,1,1,2,3,1,0,3,2,3,0,3,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0, +1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,0,3,3,2,3,3,2,2,0,0,0,0,1,2,0,1,3,0,0,0,3,1,1,0,3,0,2, +2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,2,2,1,0,3,1,1,1,1,3,3,2,3,0,0,1,0,1,2,0,2,2,0,2,2,0,2,1, +0,2,2,1,1,1,1,0,2,1,1,0,1,1,1,1,2,1,2,1,2,0,1,0,1,0,0,0,0,0,0,0, +3,3,3,0,1,1,3,0,0,1,1,0,0,2,2,0,3,0,0,1,1,0,1,0,0,0,0,0,2,0,0,0, +0,3,1,0,1,0,1,0,2,0,0,1,0,1,0,1,1,1,2,1,1,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,0,2,0,1,1,1,0,0,3,3,0,2,0,0,1,0,0,2,1,1,0,1,0,1,0,1,0, +0,2,0,1,2,0,2,0,2,1,1,0,1,0,2,1,1,0,2,1,1,0,1,0,0,0,1,1,0,0,0,0, +3,2,3,0,1,0,0,0,0,0,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,0,2,0,0,0, +0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,2,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,0,2,3,0,0,1,0,1,0,2,3,2,3,0,0,1,3,0,2,1,0,0,0,0,2,0,1,0, +0,2,1,0,0,1,1,0,2,1,0,0,1,0,0,1,1,0,1,1,2,0,1,0,0,0,0,1,0,0,0,0, +3,2,2,0,0,1,1,0,0,0,0,0,0,3,1,1,1,0,0,0,0,0,1,0,0,0,0,0,2,0,1,0, +0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,0,2,3,2,2,1,2,2,1,1,2,0,1,3,2,2,2,0,0,2,2,0,0,0,1,2,1, +3,0,2,1,1,0,1,1,1,0,1,2,2,2,1,1,2,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0, +0,1,1,2,3,0,3,3,3,2,2,2,2,1,0,1,0,1,0,1,2,2,0,0,2,2,1,3,1,1,2,1, +0,0,1,1,2,0,1,1,0,0,1,2,0,2,1,1,2,0,0,1,0,0,0,1,0,1,0,1,0,0,0,0, +3,3,2,0,0,3,1,0,0,0,0,0,0,3,2,1,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0, +0,2,1,1,0,0,1,0,1,2,0,0,1,1,0,0,2,1,1,1,1,0,2,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,1,0,0,0,0,1,0,0,3,3,2,2,0,0,1,0,0,2,0,1,0,0,0,2,0,1,0, +0,0,1,1,0,0,2,0,2,1,0,0,1,1,2,1,2,0,2,1,2,1,1,1,0,0,1,1,0,0,0,0, +3,3,2,0,0,2,2,0,0,0,1,1,0,2,2,1,3,1,0,1,0,1,2,0,0,0,0,0,1,0,1,0, +0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,0,0,0,1,0,0,1,0,0,2,3,1,2,0,0,1,0,0,2,0,0,0,1,0,2,0,2,0, +0,1,1,2,2,1,2,0,2,1,1,0,0,1,1,0,1,1,1,1,2,1,1,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,1,2,1,0,0,1,1,0,3,3,1,2,0,0,1,0,0,2,0,2,0,1,1,2,0,0,0, +0,0,1,1,1,1,2,0,1,1,0,1,1,1,1,0,0,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0, +3,3,3,0,2,2,3,2,0,0,1,0,0,2,3,1,0,0,0,0,0,0,2,0,2,0,0,0,2,0,0,0, +0,1,1,0,0,0,1,0,0,1,0,1,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,0,0,0,0,0,0,1,0,0,2,2,2,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0, +0,0,2,1,1,0,1,0,2,1,1,0,0,1,1,2,1,0,2,0,2,0,1,0,0,0,2,0,0,0,0,0, +0,0,0,2,2,0,2,1,1,1,1,2,2,0,0,1,0,1,0,0,1,3,0,0,0,0,1,0,0,2,1,0, +0,0,1,0,1,0,0,0,0,0,2,1,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +2,0,0,2,3,0,2,3,1,2,2,0,2,0,0,2,0,2,1,1,1,2,1,0,0,1,2,1,1,2,1,0, +1,0,2,0,1,0,1,1,0,0,2,2,1,2,1,1,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,1,2,0,0,0,1,0,0,3,2,0,1,0,0,1,0,0,2,0,0,0,1,2,1,0,1,0, +0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,2,2,0,2,2,1,1,0,1,1,1,1,1,0,0,1,2,1,1,1,0,1,0,0,0,1,1,1,1, +0,0,2,1,0,1,1,1,0,1,1,2,1,2,1,1,2,0,1,1,2,1,0,2,0,0,0,0,0,0,0,0, +3,2,2,0,0,2,0,0,0,0,0,0,0,2,2,0,2,0,0,1,0,0,2,0,0,0,0,0,2,0,0,0, +0,2,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,3,2,0,2,2,0,1,1,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0, +2,0,1,0,1,0,1,1,0,0,1,2,0,1,0,1,1,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0, +2,2,2,0,1,1,0,0,0,1,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,1,2,0,1,0, +0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,1,0,1,1,1,0,0,0,0,1,2,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +1,1,2,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,1, +0,0,1,2,2,0,2,1,2,1,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +2,2,2,0,0,0,1,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +) + +Latin5TurkishModel = { + 'char_to_order_map': Latin5_TurkishCharToOrderMap, + 'precedence_matrix': TurkishLangModel, + 'typical_positive_ratio': 0.970290, + 'keep_english_letter': True, + 'charset_name': "ISO-8859-9", + 'language': 'Turkish', +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/latin1prober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/latin1prober.py new file mode 100644 index 0000000..7d1e8c2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/latin1prober.py @@ -0,0 +1,145 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState + +FREQ_CAT_NUM = 4 + +UDF = 0 # undefined +OTH = 1 # other +ASC = 2 # ascii capital letter +ASS = 3 # ascii small letter +ACV = 4 # accent capital vowel +ACO = 5 # accent capital other +ASV = 6 # accent small vowel +ASO = 7 # accent small other +CLASS_NUM = 8 # total classes + +Latin1_CharToClass = ( + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 00 - 07 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 08 - 0F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 10 - 17 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 18 - 1F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 20 - 27 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 28 - 2F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 30 - 37 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 38 - 3F + OTH, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 40 - 47 + ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 48 - 4F + ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 50 - 57 + ASC, ASC, ASC, OTH, OTH, OTH, OTH, OTH, # 58 - 5F + OTH, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 60 - 67 + ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 68 - 6F + ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 70 - 77 + ASS, ASS, ASS, OTH, OTH, OTH, OTH, OTH, # 78 - 7F + OTH, UDF, OTH, ASO, OTH, OTH, OTH, OTH, # 80 - 87 + OTH, OTH, ACO, OTH, ACO, UDF, ACO, UDF, # 88 - 8F + UDF, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 90 - 97 + OTH, OTH, ASO, OTH, ASO, UDF, ASO, ACO, # 98 - 9F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A0 - A7 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A8 - AF + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B0 - B7 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B8 - BF + ACV, ACV, ACV, ACV, ACV, ACV, ACO, ACO, # C0 - C7 + ACV, ACV, ACV, ACV, ACV, ACV, ACV, ACV, # C8 - CF + ACO, ACO, ACV, ACV, ACV, ACV, ACV, OTH, # D0 - D7 + ACV, ACV, ACV, ACV, ACV, ACO, ACO, ACO, # D8 - DF + ASV, ASV, ASV, ASV, ASV, ASV, ASO, ASO, # E0 - E7 + ASV, ASV, ASV, ASV, ASV, ASV, ASV, ASV, # E8 - EF + ASO, ASO, ASV, ASV, ASV, ASV, ASV, OTH, # F0 - F7 + ASV, ASV, ASV, ASV, ASV, ASO, ASO, ASO, # F8 - FF +) + +# 0 : illegal +# 1 : very unlikely +# 2 : normal +# 3 : very likely +Latin1ClassModel = ( +# UDF OTH ASC ASS ACV ACO ASV ASO + 0, 0, 0, 0, 0, 0, 0, 0, # UDF + 0, 3, 3, 3, 3, 3, 3, 3, # OTH + 0, 3, 3, 3, 3, 3, 3, 3, # ASC + 0, 3, 3, 3, 1, 1, 3, 3, # ASS + 0, 3, 3, 3, 1, 2, 1, 2, # ACV + 0, 3, 3, 3, 3, 3, 3, 3, # ACO + 0, 3, 1, 3, 1, 1, 1, 3, # ASV + 0, 3, 1, 3, 1, 1, 3, 3, # ASO +) + + +class Latin1Prober(CharSetProber): + def __init__(self): + super(Latin1Prober, self).__init__() + self._last_char_class = None + self._freq_counter = None + self.reset() + + def reset(self): + self._last_char_class = OTH + self._freq_counter = [0] * FREQ_CAT_NUM + CharSetProber.reset(self) + + @property + def charset_name(self): + return "ISO-8859-1" + + @property + def language(self): + return "" + + def feed(self, byte_str): + byte_str = self.filter_with_english_letters(byte_str) + for c in byte_str: + char_class = Latin1_CharToClass[c] + freq = Latin1ClassModel[(self._last_char_class * CLASS_NUM) + + char_class] + if freq == 0: + self._state = ProbingState.NOT_ME + break + self._freq_counter[freq] += 1 + self._last_char_class = char_class + + return self.state + + def get_confidence(self): + if self.state == ProbingState.NOT_ME: + return 0.01 + + total = sum(self._freq_counter) + if total < 0.01: + confidence = 0.0 + else: + confidence = ((self._freq_counter[3] - self._freq_counter[1] * 20.0) + / total) + if confidence < 0.0: + confidence = 0.0 + # lower the confidence of latin1 so that other more accurate + # detector can take priority. + confidence = confidence * 0.73 + return confidence diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcharsetprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcharsetprober.py new file mode 100644 index 0000000..6256ecf --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcharsetprober.py @@ -0,0 +1,91 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# Proofpoint, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState, MachineState + + +class MultiByteCharSetProber(CharSetProber): + """ + MultiByteCharSetProber + """ + + def __init__(self, lang_filter=None): + super(MultiByteCharSetProber, self).__init__(lang_filter=lang_filter) + self.distribution_analyzer = None + self.coding_sm = None + self._last_char = [0, 0] + + def reset(self): + super(MultiByteCharSetProber, self).reset() + if self.coding_sm: + self.coding_sm.reset() + if self.distribution_analyzer: + self.distribution_analyzer.reset() + self._last_char = [0, 0] + + @property + def charset_name(self): + raise NotImplementedError + + @property + def language(self): + raise NotImplementedError + + def feed(self, byte_str): + for i in range(len(byte_str)): + coding_state = self.coding_sm.next_state(byte_str[i]) + if coding_state == MachineState.ERROR: + self.logger.debug('%s %s prober hit error at byte %s', + self.charset_name, self.language, i) + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + char_len = self.coding_sm.get_current_charlen() + if i == 0: + self._last_char[1] = byte_str[0] + self.distribution_analyzer.feed(self._last_char, char_len) + else: + self.distribution_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + + self._last_char[0] = byte_str[-1] + + if self.state == ProbingState.DETECTING: + if (self.distribution_analyzer.got_enough_data() and + (self.get_confidence() > self.SHORTCUT_THRESHOLD)): + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + return self.distribution_analyzer.get_confidence() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcsgroupprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcsgroupprober.py new file mode 100644 index 0000000..530abe7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcsgroupprober.py @@ -0,0 +1,54 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# Proofpoint, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetgroupprober import CharSetGroupProber +from .utf8prober import UTF8Prober +from .sjisprober import SJISProber +from .eucjpprober import EUCJPProber +from .gb2312prober import GB2312Prober +from .euckrprober import EUCKRProber +from .cp949prober import CP949Prober +from .big5prober import Big5Prober +from .euctwprober import EUCTWProber + + +class MBCSGroupProber(CharSetGroupProber): + def __init__(self, lang_filter=None): + super(MBCSGroupProber, self).__init__(lang_filter=lang_filter) + self.probers = [ + UTF8Prober(), + SJISProber(), + EUCJPProber(), + GB2312Prober(), + EUCKRProber(), + CP949Prober(), + Big5Prober(), + EUCTWProber() + ] + self.reset() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcssm.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcssm.py new file mode 100644 index 0000000..8360d0f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/mbcssm.py @@ -0,0 +1,572 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import MachineState + +# BIG5 + +BIG5_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as legal value + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,1, # 78 - 7f + 4,4,4,4,4,4,4,4, # 80 - 87 + 4,4,4,4,4,4,4,4, # 88 - 8f + 4,4,4,4,4,4,4,4, # 90 - 97 + 4,4,4,4,4,4,4,4, # 98 - 9f + 4,3,3,3,3,3,3,3, # a0 - a7 + 3,3,3,3,3,3,3,3, # a8 - af + 3,3,3,3,3,3,3,3, # b0 - b7 + 3,3,3,3,3,3,3,3, # b8 - bf + 3,3,3,3,3,3,3,3, # c0 - c7 + 3,3,3,3,3,3,3,3, # c8 - cf + 3,3,3,3,3,3,3,3, # d0 - d7 + 3,3,3,3,3,3,3,3, # d8 - df + 3,3,3,3,3,3,3,3, # e0 - e7 + 3,3,3,3,3,3,3,3, # e8 - ef + 3,3,3,3,3,3,3,3, # f0 - f7 + 3,3,3,3,3,3,3,0 # f8 - ff +) + +BIG5_ST = ( + MachineState.ERROR,MachineState.START,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,#08-0f + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START#10-17 +) + +BIG5_CHAR_LEN_TABLE = (0, 1, 1, 2, 0) + +BIG5_SM_MODEL = {'class_table': BIG5_CLS, + 'class_factor': 5, + 'state_table': BIG5_ST, + 'char_len_table': BIG5_CHAR_LEN_TABLE, + 'name': 'Big5'} + +# CP949 + +CP949_CLS = ( + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,0,0, # 00 - 0f + 1,1,1,1,1,1,1,1, 1,1,1,0,1,1,1,1, # 10 - 1f + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 20 - 2f + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 30 - 3f + 1,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4, # 40 - 4f + 4,4,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 50 - 5f + 1,5,5,5,5,5,5,5, 5,5,5,5,5,5,5,5, # 60 - 6f + 5,5,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 70 - 7f + 0,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 80 - 8f + 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 90 - 9f + 6,7,7,7,7,7,7,7, 7,7,7,7,7,8,8,8, # a0 - af + 7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7, # b0 - bf + 7,7,7,7,7,7,9,2, 2,3,2,2,2,2,2,2, # c0 - cf + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # d0 - df + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # e0 - ef + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,0, # f0 - ff +) + +CP949_ST = ( +#cls= 0 1 2 3 4 5 6 7 8 9 # previous state = + MachineState.ERROR,MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START, 4, 5,MachineState.ERROR, 6, # MachineState.START + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, # MachineState.ERROR + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME, # MachineState.ITS_ME + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START, # 3 + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, # 4 + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, # 5 + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START, # 6 +) + +CP949_CHAR_LEN_TABLE = (0, 1, 2, 0, 1, 1, 2, 2, 0, 2) + +CP949_SM_MODEL = {'class_table': CP949_CLS, + 'class_factor': 10, + 'state_table': CP949_ST, + 'char_len_table': CP949_CHAR_LEN_TABLE, + 'name': 'CP949'} + +# EUC-JP + +EUCJP_CLS = ( + 4,4,4,4,4,4,4,4, # 00 - 07 + 4,4,4,4,4,4,5,5, # 08 - 0f + 4,4,4,4,4,4,4,4, # 10 - 17 + 4,4,4,5,4,4,4,4, # 18 - 1f + 4,4,4,4,4,4,4,4, # 20 - 27 + 4,4,4,4,4,4,4,4, # 28 - 2f + 4,4,4,4,4,4,4,4, # 30 - 37 + 4,4,4,4,4,4,4,4, # 38 - 3f + 4,4,4,4,4,4,4,4, # 40 - 47 + 4,4,4,4,4,4,4,4, # 48 - 4f + 4,4,4,4,4,4,4,4, # 50 - 57 + 4,4,4,4,4,4,4,4, # 58 - 5f + 4,4,4,4,4,4,4,4, # 60 - 67 + 4,4,4,4,4,4,4,4, # 68 - 6f + 4,4,4,4,4,4,4,4, # 70 - 77 + 4,4,4,4,4,4,4,4, # 78 - 7f + 5,5,5,5,5,5,5,5, # 80 - 87 + 5,5,5,5,5,5,1,3, # 88 - 8f + 5,5,5,5,5,5,5,5, # 90 - 97 + 5,5,5,5,5,5,5,5, # 98 - 9f + 5,2,2,2,2,2,2,2, # a0 - a7 + 2,2,2,2,2,2,2,2, # a8 - af + 2,2,2,2,2,2,2,2, # b0 - b7 + 2,2,2,2,2,2,2,2, # b8 - bf + 2,2,2,2,2,2,2,2, # c0 - c7 + 2,2,2,2,2,2,2,2, # c8 - cf + 2,2,2,2,2,2,2,2, # d0 - d7 + 2,2,2,2,2,2,2,2, # d8 - df + 0,0,0,0,0,0,0,0, # e0 - e7 + 0,0,0,0,0,0,0,0, # e8 - ef + 0,0,0,0,0,0,0,0, # f0 - f7 + 0,0,0,0,0,0,0,5 # f8 - ff +) + +EUCJP_ST = ( + 3, 4, 3, 5,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.START,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#10-17 + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 3,MachineState.ERROR,#18-1f + 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START#20-27 +) + +EUCJP_CHAR_LEN_TABLE = (2, 2, 2, 3, 1, 0) + +EUCJP_SM_MODEL = {'class_table': EUCJP_CLS, + 'class_factor': 6, + 'state_table': EUCJP_ST, + 'char_len_table': EUCJP_CHAR_LEN_TABLE, + 'name': 'EUC-JP'} + +# EUC-KR + +EUCKR_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 1,1,1,1,1,1,1,1, # 40 - 47 + 1,1,1,1,1,1,1,1, # 48 - 4f + 1,1,1,1,1,1,1,1, # 50 - 57 + 1,1,1,1,1,1,1,1, # 58 - 5f + 1,1,1,1,1,1,1,1, # 60 - 67 + 1,1,1,1,1,1,1,1, # 68 - 6f + 1,1,1,1,1,1,1,1, # 70 - 77 + 1,1,1,1,1,1,1,1, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,0,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,2,2,2,2,2,2,2, # a0 - a7 + 2,2,2,2,2,3,3,3, # a8 - af + 2,2,2,2,2,2,2,2, # b0 - b7 + 2,2,2,2,2,2,2,2, # b8 - bf + 2,2,2,2,2,2,2,2, # c0 - c7 + 2,3,2,2,2,2,2,2, # c8 - cf + 2,2,2,2,2,2,2,2, # d0 - d7 + 2,2,2,2,2,2,2,2, # d8 - df + 2,2,2,2,2,2,2,2, # e0 - e7 + 2,2,2,2,2,2,2,2, # e8 - ef + 2,2,2,2,2,2,2,2, # f0 - f7 + 2,2,2,2,2,2,2,0 # f8 - ff +) + +EUCKR_ST = ( + MachineState.ERROR,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START #08-0f +) + +EUCKR_CHAR_LEN_TABLE = (0, 1, 2, 0) + +EUCKR_SM_MODEL = {'class_table': EUCKR_CLS, + 'class_factor': 4, + 'state_table': EUCKR_ST, + 'char_len_table': EUCKR_CHAR_LEN_TABLE, + 'name': 'EUC-KR'} + +# EUC-TW + +EUCTW_CLS = ( + 2,2,2,2,2,2,2,2, # 00 - 07 + 2,2,2,2,2,2,0,0, # 08 - 0f + 2,2,2,2,2,2,2,2, # 10 - 17 + 2,2,2,0,2,2,2,2, # 18 - 1f + 2,2,2,2,2,2,2,2, # 20 - 27 + 2,2,2,2,2,2,2,2, # 28 - 2f + 2,2,2,2,2,2,2,2, # 30 - 37 + 2,2,2,2,2,2,2,2, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,2, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,6,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,3,4,4,4,4,4,4, # a0 - a7 + 5,5,1,1,1,1,1,1, # a8 - af + 1,1,1,1,1,1,1,1, # b0 - b7 + 1,1,1,1,1,1,1,1, # b8 - bf + 1,1,3,1,3,3,3,3, # c0 - c7 + 3,3,3,3,3,3,3,3, # c8 - cf + 3,3,3,3,3,3,3,3, # d0 - d7 + 3,3,3,3,3,3,3,3, # d8 - df + 3,3,3,3,3,3,3,3, # e0 - e7 + 3,3,3,3,3,3,3,3, # e8 - ef + 3,3,3,3,3,3,3,3, # f0 - f7 + 3,3,3,3,3,3,3,0 # f8 - ff +) + +EUCTW_ST = ( + MachineState.ERROR,MachineState.ERROR,MachineState.START, 3, 3, 3, 4,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,MachineState.ERROR,#10-17 + MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f + 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.START,MachineState.START,#20-27 + MachineState.START,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START #28-2f +) + +EUCTW_CHAR_LEN_TABLE = (0, 0, 1, 2, 2, 2, 3) + +EUCTW_SM_MODEL = {'class_table': EUCTW_CLS, + 'class_factor': 7, + 'state_table': EUCTW_ST, + 'char_len_table': EUCTW_CHAR_LEN_TABLE, + 'name': 'x-euc-tw'} + +# GB2312 + +GB2312_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 3,3,3,3,3,3,3,3, # 30 - 37 + 3,3,1,1,1,1,1,1, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,4, # 78 - 7f + 5,6,6,6,6,6,6,6, # 80 - 87 + 6,6,6,6,6,6,6,6, # 88 - 8f + 6,6,6,6,6,6,6,6, # 90 - 97 + 6,6,6,6,6,6,6,6, # 98 - 9f + 6,6,6,6,6,6,6,6, # a0 - a7 + 6,6,6,6,6,6,6,6, # a8 - af + 6,6,6,6,6,6,6,6, # b0 - b7 + 6,6,6,6,6,6,6,6, # b8 - bf + 6,6,6,6,6,6,6,6, # c0 - c7 + 6,6,6,6,6,6,6,6, # c8 - cf + 6,6,6,6,6,6,6,6, # d0 - d7 + 6,6,6,6,6,6,6,6, # d8 - df + 6,6,6,6,6,6,6,6, # e0 - e7 + 6,6,6,6,6,6,6,6, # e8 - ef + 6,6,6,6,6,6,6,6, # f0 - f7 + 6,6,6,6,6,6,6,0 # f8 - ff +) + +GB2312_ST = ( + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, 3,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,#10-17 + 4,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f + MachineState.ERROR,MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,#20-27 + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START #28-2f +) + +# To be accurate, the length of class 6 can be either 2 or 4. +# But it is not necessary to discriminate between the two since +# it is used for frequency analysis only, and we are validating +# each code range there as well. So it is safe to set it to be +# 2 here. +GB2312_CHAR_LEN_TABLE = (0, 1, 1, 1, 1, 1, 2) + +GB2312_SM_MODEL = {'class_table': GB2312_CLS, + 'class_factor': 7, + 'state_table': GB2312_ST, + 'char_len_table': GB2312_CHAR_LEN_TABLE, + 'name': 'GB2312'} + +# Shift_JIS + +SJIS_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,1, # 78 - 7f + 3,3,3,3,3,2,2,3, # 80 - 87 + 3,3,3,3,3,3,3,3, # 88 - 8f + 3,3,3,3,3,3,3,3, # 90 - 97 + 3,3,3,3,3,3,3,3, # 98 - 9f + #0xa0 is illegal in sjis encoding, but some pages does + #contain such byte. We need to be more error forgiven. + 2,2,2,2,2,2,2,2, # a0 - a7 + 2,2,2,2,2,2,2,2, # a8 - af + 2,2,2,2,2,2,2,2, # b0 - b7 + 2,2,2,2,2,2,2,2, # b8 - bf + 2,2,2,2,2,2,2,2, # c0 - c7 + 2,2,2,2,2,2,2,2, # c8 - cf + 2,2,2,2,2,2,2,2, # d0 - d7 + 2,2,2,2,2,2,2,2, # d8 - df + 3,3,3,3,3,3,3,3, # e0 - e7 + 3,3,3,3,3,4,4,4, # e8 - ef + 3,3,3,3,3,3,3,3, # f0 - f7 + 3,3,3,3,3,0,0,0) # f8 - ff + + +SJIS_ST = ( + MachineState.ERROR,MachineState.START,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START #10-17 +) + +SJIS_CHAR_LEN_TABLE = (0, 1, 1, 2, 0, 0) + +SJIS_SM_MODEL = {'class_table': SJIS_CLS, + 'class_factor': 6, + 'state_table': SJIS_ST, + 'char_len_table': SJIS_CHAR_LEN_TABLE, + 'name': 'Shift_JIS'} + +# UCS2-BE + +UCS2BE_CLS = ( + 0,0,0,0,0,0,0,0, # 00 - 07 + 0,0,1,0,0,2,0,0, # 08 - 0f + 0,0,0,0,0,0,0,0, # 10 - 17 + 0,0,0,3,0,0,0,0, # 18 - 1f + 0,0,0,0,0,0,0,0, # 20 - 27 + 0,3,3,3,3,3,0,0, # 28 - 2f + 0,0,0,0,0,0,0,0, # 30 - 37 + 0,0,0,0,0,0,0,0, # 38 - 3f + 0,0,0,0,0,0,0,0, # 40 - 47 + 0,0,0,0,0,0,0,0, # 48 - 4f + 0,0,0,0,0,0,0,0, # 50 - 57 + 0,0,0,0,0,0,0,0, # 58 - 5f + 0,0,0,0,0,0,0,0, # 60 - 67 + 0,0,0,0,0,0,0,0, # 68 - 6f + 0,0,0,0,0,0,0,0, # 70 - 77 + 0,0,0,0,0,0,0,0, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,0,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,0,0,0,0,0,0,0, # a0 - a7 + 0,0,0,0,0,0,0,0, # a8 - af + 0,0,0,0,0,0,0,0, # b0 - b7 + 0,0,0,0,0,0,0,0, # b8 - bf + 0,0,0,0,0,0,0,0, # c0 - c7 + 0,0,0,0,0,0,0,0, # c8 - cf + 0,0,0,0,0,0,0,0, # d0 - d7 + 0,0,0,0,0,0,0,0, # d8 - df + 0,0,0,0,0,0,0,0, # e0 - e7 + 0,0,0,0,0,0,0,0, # e8 - ef + 0,0,0,0,0,0,0,0, # f0 - f7 + 0,0,0,0,0,0,4,5 # f8 - ff +) + +UCS2BE_ST = ( + 5, 7, 7,MachineState.ERROR, 4, 3,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME, 6, 6, 6, 6,MachineState.ERROR,MachineState.ERROR,#10-17 + 6, 6, 6, 6, 6,MachineState.ITS_ME, 6, 6,#18-1f + 6, 6, 6, 6, 5, 7, 7,MachineState.ERROR,#20-27 + 5, 8, 6, 6,MachineState.ERROR, 6, 6, 6,#28-2f + 6, 6, 6, 6,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START #30-37 +) + +UCS2BE_CHAR_LEN_TABLE = (2, 2, 2, 0, 2, 2) + +UCS2BE_SM_MODEL = {'class_table': UCS2BE_CLS, + 'class_factor': 6, + 'state_table': UCS2BE_ST, + 'char_len_table': UCS2BE_CHAR_LEN_TABLE, + 'name': 'UTF-16BE'} + +# UCS2-LE + +UCS2LE_CLS = ( + 0,0,0,0,0,0,0,0, # 00 - 07 + 0,0,1,0,0,2,0,0, # 08 - 0f + 0,0,0,0,0,0,0,0, # 10 - 17 + 0,0,0,3,0,0,0,0, # 18 - 1f + 0,0,0,0,0,0,0,0, # 20 - 27 + 0,3,3,3,3,3,0,0, # 28 - 2f + 0,0,0,0,0,0,0,0, # 30 - 37 + 0,0,0,0,0,0,0,0, # 38 - 3f + 0,0,0,0,0,0,0,0, # 40 - 47 + 0,0,0,0,0,0,0,0, # 48 - 4f + 0,0,0,0,0,0,0,0, # 50 - 57 + 0,0,0,0,0,0,0,0, # 58 - 5f + 0,0,0,0,0,0,0,0, # 60 - 67 + 0,0,0,0,0,0,0,0, # 68 - 6f + 0,0,0,0,0,0,0,0, # 70 - 77 + 0,0,0,0,0,0,0,0, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,0,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,0,0,0,0,0,0,0, # a0 - a7 + 0,0,0,0,0,0,0,0, # a8 - af + 0,0,0,0,0,0,0,0, # b0 - b7 + 0,0,0,0,0,0,0,0, # b8 - bf + 0,0,0,0,0,0,0,0, # c0 - c7 + 0,0,0,0,0,0,0,0, # c8 - cf + 0,0,0,0,0,0,0,0, # d0 - d7 + 0,0,0,0,0,0,0,0, # d8 - df + 0,0,0,0,0,0,0,0, # e0 - e7 + 0,0,0,0,0,0,0,0, # e8 - ef + 0,0,0,0,0,0,0,0, # f0 - f7 + 0,0,0,0,0,0,4,5 # f8 - ff +) + +UCS2LE_ST = ( + 6, 6, 7, 6, 4, 3,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME, 5, 5, 5,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,#10-17 + 5, 5, 5,MachineState.ERROR, 5,MachineState.ERROR, 6, 6,#18-1f + 7, 6, 8, 8, 5, 5, 5,MachineState.ERROR,#20-27 + 5, 5, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5, 5,#28-2f + 5, 5, 5,MachineState.ERROR, 5,MachineState.ERROR,MachineState.START,MachineState.START #30-37 +) + +UCS2LE_CHAR_LEN_TABLE = (2, 2, 2, 2, 2, 2) + +UCS2LE_SM_MODEL = {'class_table': UCS2LE_CLS, + 'class_factor': 6, + 'state_table': UCS2LE_ST, + 'char_len_table': UCS2LE_CHAR_LEN_TABLE, + 'name': 'UTF-16LE'} + +# UTF-8 + +UTF8_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as a legal value + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 1,1,1,1,1,1,1,1, # 40 - 47 + 1,1,1,1,1,1,1,1, # 48 - 4f + 1,1,1,1,1,1,1,1, # 50 - 57 + 1,1,1,1,1,1,1,1, # 58 - 5f + 1,1,1,1,1,1,1,1, # 60 - 67 + 1,1,1,1,1,1,1,1, # 68 - 6f + 1,1,1,1,1,1,1,1, # 70 - 77 + 1,1,1,1,1,1,1,1, # 78 - 7f + 2,2,2,2,3,3,3,3, # 80 - 87 + 4,4,4,4,4,4,4,4, # 88 - 8f + 4,4,4,4,4,4,4,4, # 90 - 97 + 4,4,4,4,4,4,4,4, # 98 - 9f + 5,5,5,5,5,5,5,5, # a0 - a7 + 5,5,5,5,5,5,5,5, # a8 - af + 5,5,5,5,5,5,5,5, # b0 - b7 + 5,5,5,5,5,5,5,5, # b8 - bf + 0,0,6,6,6,6,6,6, # c0 - c7 + 6,6,6,6,6,6,6,6, # c8 - cf + 6,6,6,6,6,6,6,6, # d0 - d7 + 6,6,6,6,6,6,6,6, # d8 - df + 7,8,8,8,8,8,8,8, # e0 - e7 + 8,8,8,8,8,9,8,8, # e8 - ef + 10,11,11,11,11,11,11,11, # f0 - f7 + 12,13,13,13,14,15,0,0 # f8 - ff +) + +UTF8_ST = ( + MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 12, 10,#00-07 + 9, 11, 8, 7, 6, 5, 4, 3,#08-0f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#10-17 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#20-27 + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#28-2f + MachineState.ERROR,MachineState.ERROR, 5, 5, 5, 5,MachineState.ERROR,MachineState.ERROR,#30-37 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#38-3f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5, 5, 5,MachineState.ERROR,MachineState.ERROR,#40-47 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#48-4f + MachineState.ERROR,MachineState.ERROR, 7, 7, 7, 7,MachineState.ERROR,MachineState.ERROR,#50-57 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#58-5f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 7, 7,MachineState.ERROR,MachineState.ERROR,#60-67 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#68-6f + MachineState.ERROR,MachineState.ERROR, 9, 9, 9, 9,MachineState.ERROR,MachineState.ERROR,#70-77 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#78-7f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 9,MachineState.ERROR,MachineState.ERROR,#80-87 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#88-8f + MachineState.ERROR,MachineState.ERROR, 12, 12, 12, 12,MachineState.ERROR,MachineState.ERROR,#90-97 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#98-9f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 12,MachineState.ERROR,MachineState.ERROR,#a0-a7 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#a8-af + MachineState.ERROR,MachineState.ERROR, 12, 12, 12,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#b0-b7 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#b8-bf + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,#c0-c7 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR #c8-cf +) + +UTF8_CHAR_LEN_TABLE = (0, 1, 0, 0, 0, 0, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6) + +UTF8_SM_MODEL = {'class_table': UTF8_CLS, + 'class_factor': 16, + 'state_table': UTF8_ST, + 'char_len_table': UTF8_CHAR_LEN_TABLE, + 'name': 'UTF-8'} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcharsetprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcharsetprober.py new file mode 100644 index 0000000..0adb51d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcharsetprober.py @@ -0,0 +1,132 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import CharacterCategory, ProbingState, SequenceLikelihood + + +class SingleByteCharSetProber(CharSetProber): + SAMPLE_SIZE = 64 + SB_ENOUGH_REL_THRESHOLD = 1024 # 0.25 * SAMPLE_SIZE^2 + POSITIVE_SHORTCUT_THRESHOLD = 0.95 + NEGATIVE_SHORTCUT_THRESHOLD = 0.05 + + def __init__(self, model, reversed=False, name_prober=None): + super(SingleByteCharSetProber, self).__init__() + self._model = model + # TRUE if we need to reverse every pair in the model lookup + self._reversed = reversed + # Optional auxiliary prober for name decision + self._name_prober = name_prober + self._last_order = None + self._seq_counters = None + self._total_seqs = None + self._total_char = None + self._freq_char = None + self.reset() + + def reset(self): + super(SingleByteCharSetProber, self).reset() + # char order of last character + self._last_order = 255 + self._seq_counters = [0] * SequenceLikelihood.get_num_categories() + self._total_seqs = 0 + self._total_char = 0 + # characters that fall in our sampling range + self._freq_char = 0 + + @property + def charset_name(self): + if self._name_prober: + return self._name_prober.charset_name + else: + return self._model['charset_name'] + + @property + def language(self): + if self._name_prober: + return self._name_prober.language + else: + return self._model.get('language') + + def feed(self, byte_str): + if not self._model['keep_english_letter']: + byte_str = self.filter_international_words(byte_str) + if not byte_str: + return self.state + char_to_order_map = self._model['char_to_order_map'] + for i, c in enumerate(byte_str): + # XXX: Order is in range 1-64, so one would think we want 0-63 here, + # but that leads to 27 more test failures than before. + order = char_to_order_map[c] + # XXX: This was SYMBOL_CAT_ORDER before, with a value of 250, but + # CharacterCategory.SYMBOL is actually 253, so we use CONTROL + # to make it closer to the original intent. The only difference + # is whether or not we count digits and control characters for + # _total_char purposes. + if order < CharacterCategory.CONTROL: + self._total_char += 1 + if order < self.SAMPLE_SIZE: + self._freq_char += 1 + if self._last_order < self.SAMPLE_SIZE: + self._total_seqs += 1 + if not self._reversed: + i = (self._last_order * self.SAMPLE_SIZE) + order + model = self._model['precedence_matrix'][i] + else: # reverse the order of the letters in the lookup + i = (order * self.SAMPLE_SIZE) + self._last_order + model = self._model['precedence_matrix'][i] + self._seq_counters[model] += 1 + self._last_order = order + + charset_name = self._model['charset_name'] + if self.state == ProbingState.DETECTING: + if self._total_seqs > self.SB_ENOUGH_REL_THRESHOLD: + confidence = self.get_confidence() + if confidence > self.POSITIVE_SHORTCUT_THRESHOLD: + self.logger.debug('%s confidence = %s, we have a winner', + charset_name, confidence) + self._state = ProbingState.FOUND_IT + elif confidence < self.NEGATIVE_SHORTCUT_THRESHOLD: + self.logger.debug('%s confidence = %s, below negative ' + 'shortcut threshhold %s', charset_name, + confidence, + self.NEGATIVE_SHORTCUT_THRESHOLD) + self._state = ProbingState.NOT_ME + + return self.state + + def get_confidence(self): + r = 0.01 + if self._total_seqs > 0: + r = ((1.0 * self._seq_counters[SequenceLikelihood.POSITIVE]) / + self._total_seqs / self._model['typical_positive_ratio']) + r = r * self._freq_char / self._total_char + if r >= 1.0: + r = 0.99 + return r diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcsgroupprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcsgroupprober.py new file mode 100644 index 0000000..98e95dc --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sbcsgroupprober.py @@ -0,0 +1,73 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetgroupprober import CharSetGroupProber +from .sbcharsetprober import SingleByteCharSetProber +from .langcyrillicmodel import (Win1251CyrillicModel, Koi8rModel, + Latin5CyrillicModel, MacCyrillicModel, + Ibm866Model, Ibm855Model) +from .langgreekmodel import Latin7GreekModel, Win1253GreekModel +from .langbulgarianmodel import Latin5BulgarianModel, Win1251BulgarianModel +# from .langhungarianmodel import Latin2HungarianModel, Win1250HungarianModel +from .langthaimodel import TIS620ThaiModel +from .langhebrewmodel import Win1255HebrewModel +from .hebrewprober import HebrewProber +from .langturkishmodel import Latin5TurkishModel + + +class SBCSGroupProber(CharSetGroupProber): + def __init__(self): + super(SBCSGroupProber, self).__init__() + self.probers = [ + SingleByteCharSetProber(Win1251CyrillicModel), + SingleByteCharSetProber(Koi8rModel), + SingleByteCharSetProber(Latin5CyrillicModel), + SingleByteCharSetProber(MacCyrillicModel), + SingleByteCharSetProber(Ibm866Model), + SingleByteCharSetProber(Ibm855Model), + SingleByteCharSetProber(Latin7GreekModel), + SingleByteCharSetProber(Win1253GreekModel), + SingleByteCharSetProber(Latin5BulgarianModel), + SingleByteCharSetProber(Win1251BulgarianModel), + # TODO: Restore Hungarian encodings (iso-8859-2 and windows-1250) + # after we retrain model. + # SingleByteCharSetProber(Latin2HungarianModel), + # SingleByteCharSetProber(Win1250HungarianModel), + SingleByteCharSetProber(TIS620ThaiModel), + SingleByteCharSetProber(Latin5TurkishModel), + ] + hebrew_prober = HebrewProber() + logical_hebrew_prober = SingleByteCharSetProber(Win1255HebrewModel, + False, hebrew_prober) + visual_hebrew_prober = SingleByteCharSetProber(Win1255HebrewModel, True, + hebrew_prober) + hebrew_prober.set_model_probers(logical_hebrew_prober, visual_hebrew_prober) + self.probers.extend([hebrew_prober, logical_hebrew_prober, + visual_hebrew_prober]) + + self.reset() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sjisprober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sjisprober.py new file mode 100644 index 0000000..9e29623 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/sjisprober.py @@ -0,0 +1,92 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import SJISDistributionAnalysis +from .jpcntx import SJISContextAnalysis +from .mbcssm import SJIS_SM_MODEL +from .enums import ProbingState, MachineState + + +class SJISProber(MultiByteCharSetProber): + def __init__(self): + super(SJISProber, self).__init__() + self.coding_sm = CodingStateMachine(SJIS_SM_MODEL) + self.distribution_analyzer = SJISDistributionAnalysis() + self.context_analyzer = SJISContextAnalysis() + self.reset() + + def reset(self): + super(SJISProber, self).reset() + self.context_analyzer.reset() + + @property + def charset_name(self): + return self.context_analyzer.charset_name + + @property + def language(self): + return "Japanese" + + def feed(self, byte_str): + for i in range(len(byte_str)): + coding_state = self.coding_sm.next_state(byte_str[i]) + if coding_state == MachineState.ERROR: + self.logger.debug('%s %s prober hit error at byte %s', + self.charset_name, self.language, i) + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + char_len = self.coding_sm.get_current_charlen() + if i == 0: + self._last_char[1] = byte_str[0] + self.context_analyzer.feed(self._last_char[2 - char_len:], + char_len) + self.distribution_analyzer.feed(self._last_char, char_len) + else: + self.context_analyzer.feed(byte_str[i + 1 - char_len:i + 3 + - char_len], char_len) + self.distribution_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + + self._last_char[0] = byte_str[-1] + + if self.state == ProbingState.DETECTING: + if (self.context_analyzer.got_enough_data() and + (self.get_confidence() > self.SHORTCUT_THRESHOLD)): + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + context_conf = self.context_analyzer.get_confidence() + distrib_conf = self.distribution_analyzer.get_confidence() + return max(context_conf, distrib_conf) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/universaldetector.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/universaldetector.py new file mode 100644 index 0000000..7b4e92d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/universaldetector.py @@ -0,0 +1,286 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### +""" +Module containing the UniversalDetector detector class, which is the primary +class a user of ``chardet`` should use. + +:author: Mark Pilgrim (initial port to Python) +:author: Shy Shalom (original C code) +:author: Dan Blanchard (major refactoring for 3.0) +:author: Ian Cordasco +""" + + +import codecs +import logging +import re + +from .charsetgroupprober import CharSetGroupProber +from .enums import InputState, LanguageFilter, ProbingState +from .escprober import EscCharSetProber +from .latin1prober import Latin1Prober +from .mbcsgroupprober import MBCSGroupProber +from .sbcsgroupprober import SBCSGroupProber + + +class UniversalDetector(object): + """ + The ``UniversalDetector`` class underlies the ``chardet.detect`` function + and coordinates all of the different charset probers. + + To get a ``dict`` containing an encoding and its confidence, you can simply + run: + + .. code:: + + u = UniversalDetector() + u.feed(some_bytes) + u.close() + detected = u.result + + """ + + MINIMUM_THRESHOLD = 0.20 + HIGH_BYTE_DETECTOR = re.compile(b'[\x80-\xFF]') + ESC_DETECTOR = re.compile(b'(\033|~{)') + WIN_BYTE_DETECTOR = re.compile(b'[\x80-\x9F]') + ISO_WIN_MAP = {'iso-8859-1': 'Windows-1252', + 'iso-8859-2': 'Windows-1250', + 'iso-8859-5': 'Windows-1251', + 'iso-8859-6': 'Windows-1256', + 'iso-8859-7': 'Windows-1253', + 'iso-8859-8': 'Windows-1255', + 'iso-8859-9': 'Windows-1254', + 'iso-8859-13': 'Windows-1257'} + + def __init__(self, lang_filter=LanguageFilter.ALL): + self._esc_charset_prober = None + self._charset_probers = [] + self.result = None + self.done = None + self._got_data = None + self._input_state = None + self._last_char = None + self.lang_filter = lang_filter + self.logger = logging.getLogger(__name__) + self._has_win_bytes = None + self.reset() + + def reset(self): + """ + Reset the UniversalDetector and all of its probers back to their + initial states. This is called by ``__init__``, so you only need to + call this directly in between analyses of different documents. + """ + self.result = {'encoding': None, 'confidence': 0.0, 'language': None} + self.done = False + self._got_data = False + self._has_win_bytes = False + self._input_state = InputState.PURE_ASCII + self._last_char = b'' + if self._esc_charset_prober: + self._esc_charset_prober.reset() + for prober in self._charset_probers: + prober.reset() + + def feed(self, byte_str): + """ + Takes a chunk of a document and feeds it through all of the relevant + charset probers. + + After calling ``feed``, you can check the value of the ``done`` + attribute to see if you need to continue feeding the + ``UniversalDetector`` more data, or if it has made a prediction + (in the ``result`` attribute). + + .. note:: + You should always call ``close`` when you're done feeding in your + document if ``done`` is not already ``True``. + """ + if self.done: + return + + if not len(byte_str): + return + + if not isinstance(byte_str, bytearray): + byte_str = bytearray(byte_str) + + # First check for known BOMs, since these are guaranteed to be correct + if not self._got_data: + # If the data starts with BOM, we know it is UTF + if byte_str.startswith(codecs.BOM_UTF8): + # EF BB BF UTF-8 with BOM + self.result = {'encoding': "UTF-8-SIG", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith((codecs.BOM_UTF32_LE, + codecs.BOM_UTF32_BE)): + # FF FE 00 00 UTF-32, little-endian BOM + # 00 00 FE FF UTF-32, big-endian BOM + self.result = {'encoding': "UTF-32", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith(b'\xFE\xFF\x00\x00'): + # FE FF 00 00 UCS-4, unusual octet order BOM (3412) + self.result = {'encoding': "X-ISO-10646-UCS-4-3412", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith(b'\x00\x00\xFF\xFE'): + # 00 00 FF FE UCS-4, unusual octet order BOM (2143) + self.result = {'encoding': "X-ISO-10646-UCS-4-2143", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith((codecs.BOM_LE, codecs.BOM_BE)): + # FF FE UTF-16, little endian BOM + # FE FF UTF-16, big endian BOM + self.result = {'encoding': "UTF-16", + 'confidence': 1.0, + 'language': ''} + + self._got_data = True + if self.result['encoding'] is not None: + self.done = True + return + + # If none of those matched and we've only see ASCII so far, check + # for high bytes and escape sequences + if self._input_state == InputState.PURE_ASCII: + if self.HIGH_BYTE_DETECTOR.search(byte_str): + self._input_state = InputState.HIGH_BYTE + elif self._input_state == InputState.PURE_ASCII and \ + self.ESC_DETECTOR.search(self._last_char + byte_str): + self._input_state = InputState.ESC_ASCII + + self._last_char = byte_str[-1:] + + # If we've seen escape sequences, use the EscCharSetProber, which + # uses a simple state machine to check for known escape sequences in + # HZ and ISO-2022 encodings, since those are the only encodings that + # use such sequences. + if self._input_state == InputState.ESC_ASCII: + if not self._esc_charset_prober: + self._esc_charset_prober = EscCharSetProber(self.lang_filter) + if self._esc_charset_prober.feed(byte_str) == ProbingState.FOUND_IT: + self.result = {'encoding': + self._esc_charset_prober.charset_name, + 'confidence': + self._esc_charset_prober.get_confidence(), + 'language': + self._esc_charset_prober.language} + self.done = True + # If we've seen high bytes (i.e., those with values greater than 127), + # we need to do more complicated checks using all our multi-byte and + # single-byte probers that are left. The single-byte probers + # use character bigram distributions to determine the encoding, whereas + # the multi-byte probers use a combination of character unigram and + # bigram distributions. + elif self._input_state == InputState.HIGH_BYTE: + if not self._charset_probers: + self._charset_probers = [MBCSGroupProber(self.lang_filter)] + # If we're checking non-CJK encodings, use single-byte prober + if self.lang_filter & LanguageFilter.NON_CJK: + self._charset_probers.append(SBCSGroupProber()) + self._charset_probers.append(Latin1Prober()) + for prober in self._charset_probers: + if prober.feed(byte_str) == ProbingState.FOUND_IT: + self.result = {'encoding': prober.charset_name, + 'confidence': prober.get_confidence(), + 'language': prober.language} + self.done = True + break + if self.WIN_BYTE_DETECTOR.search(byte_str): + self._has_win_bytes = True + + def close(self): + """ + Stop analyzing the current document and come up with a final + prediction. + + :returns: The ``result`` attribute, a ``dict`` with the keys + `encoding`, `confidence`, and `language`. + """ + # Don't bother with checks if we're already done + if self.done: + return self.result + self.done = True + + if not self._got_data: + self.logger.debug('no data received!') + + # Default to ASCII if it is all we've seen so far + elif self._input_state == InputState.PURE_ASCII: + self.result = {'encoding': 'ascii', + 'confidence': 1.0, + 'language': ''} + + # If we have seen non-ASCII, return the best that met MINIMUM_THRESHOLD + elif self._input_state == InputState.HIGH_BYTE: + prober_confidence = None + max_prober_confidence = 0.0 + max_prober = None + for prober in self._charset_probers: + if not prober: + continue + prober_confidence = prober.get_confidence() + if prober_confidence > max_prober_confidence: + max_prober_confidence = prober_confidence + max_prober = prober + if max_prober and (max_prober_confidence > self.MINIMUM_THRESHOLD): + charset_name = max_prober.charset_name + lower_charset_name = max_prober.charset_name.lower() + confidence = max_prober.get_confidence() + # Use Windows encoding name instead of ISO-8859 if we saw any + # extra Windows-specific bytes + if lower_charset_name.startswith('iso-8859'): + if self._has_win_bytes: + charset_name = self.ISO_WIN_MAP.get(lower_charset_name, + charset_name) + self.result = {'encoding': charset_name, + 'confidence': confidence, + 'language': max_prober.language} + + # Log all prober confidences if none met MINIMUM_THRESHOLD + if self.logger.getEffectiveLevel() == logging.DEBUG: + if self.result['encoding'] is None: + self.logger.debug('no probers hit minimum threshold') + for group_prober in self._charset_probers: + if not group_prober: + continue + if isinstance(group_prober, CharSetGroupProber): + for prober in group_prober.probers: + self.logger.debug('%s %s confidence = %s', + prober.charset_name, + prober.language, + prober.get_confidence()) + else: + self.logger.debug('%s %s confidence = %s', + prober.charset_name, + prober.language, + prober.get_confidence()) + return self.result diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/utf8prober.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/utf8prober.py new file mode 100644 index 0000000..6c3196c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/utf8prober.py @@ -0,0 +1,82 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState, MachineState +from .codingstatemachine import CodingStateMachine +from .mbcssm import UTF8_SM_MODEL + + + +class UTF8Prober(CharSetProber): + ONE_CHAR_PROB = 0.5 + + def __init__(self): + super(UTF8Prober, self).__init__() + self.coding_sm = CodingStateMachine(UTF8_SM_MODEL) + self._num_mb_chars = None + self.reset() + + def reset(self): + super(UTF8Prober, self).reset() + self.coding_sm.reset() + self._num_mb_chars = 0 + + @property + def charset_name(self): + return "utf-8" + + @property + def language(self): + return "" + + def feed(self, byte_str): + for c in byte_str: + coding_state = self.coding_sm.next_state(c) + if coding_state == MachineState.ERROR: + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + if self.coding_sm.get_current_charlen() >= 2: + self._num_mb_chars += 1 + + if self.state == ProbingState.DETECTING: + if self.get_confidence() > self.SHORTCUT_THRESHOLD: + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + unlike = 0.99 + if self._num_mb_chars < 6: + unlike *= self.ONE_CHAR_PROB ** self._num_mb_chars + return 1.0 - unlike + else: + return unlike diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/version.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/version.py new file mode 100644 index 0000000..bb2a34a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/chardet/version.py @@ -0,0 +1,9 @@ +""" +This module exists only to simplify retrieving the version number of chardet +from within setup.py and from chardet subpackages. + +:author: Dan Blanchard (dan.blanchard@gmail.com) +""" + +__version__ = "3.0.4" +VERSION = __version__.split('.') diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__init__.py new file mode 100644 index 0000000..2a3bf47 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/__init__.py @@ -0,0 +1,6 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +from .initialise import init, deinit, reinit, colorama_text +from .ansi import Fore, Back, Style, Cursor +from .ansitowin32 import AnsiToWin32 + +__version__ = '0.4.1' diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansi.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansi.py new file mode 100644 index 0000000..7877658 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansi.py @@ -0,0 +1,102 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +''' +This module generates ANSI character codes to printing colors to terminals. +See: http://en.wikipedia.org/wiki/ANSI_escape_code +''' + +CSI = '\033[' +OSC = '\033]' +BEL = '\007' + + +def code_to_chars(code): + return CSI + str(code) + 'm' + +def set_title(title): + return OSC + '2;' + title + BEL + +def clear_screen(mode=2): + return CSI + str(mode) + 'J' + +def clear_line(mode=2): + return CSI + str(mode) + 'K' + + +class AnsiCodes(object): + def __init__(self): + # the subclasses declare class attributes which are numbers. + # Upon instantiation we define instance attributes, which are the same + # as the class attributes but wrapped with the ANSI escape sequence + for name in dir(self): + if not name.startswith('_'): + value = getattr(self, name) + setattr(self, name, code_to_chars(value)) + + +class AnsiCursor(object): + def UP(self, n=1): + return CSI + str(n) + 'A' + def DOWN(self, n=1): + return CSI + str(n) + 'B' + def FORWARD(self, n=1): + return CSI + str(n) + 'C' + def BACK(self, n=1): + return CSI + str(n) + 'D' + def POS(self, x=1, y=1): + return CSI + str(y) + ';' + str(x) + 'H' + + +class AnsiFore(AnsiCodes): + BLACK = 30 + RED = 31 + GREEN = 32 + YELLOW = 33 + BLUE = 34 + MAGENTA = 35 + CYAN = 36 + WHITE = 37 + RESET = 39 + + # These are fairly well supported, but not part of the standard. + LIGHTBLACK_EX = 90 + LIGHTRED_EX = 91 + LIGHTGREEN_EX = 92 + LIGHTYELLOW_EX = 93 + LIGHTBLUE_EX = 94 + LIGHTMAGENTA_EX = 95 + LIGHTCYAN_EX = 96 + LIGHTWHITE_EX = 97 + + +class AnsiBack(AnsiCodes): + BLACK = 40 + RED = 41 + GREEN = 42 + YELLOW = 43 + BLUE = 44 + MAGENTA = 45 + CYAN = 46 + WHITE = 47 + RESET = 49 + + # These are fairly well supported, but not part of the standard. + LIGHTBLACK_EX = 100 + LIGHTRED_EX = 101 + LIGHTGREEN_EX = 102 + LIGHTYELLOW_EX = 103 + LIGHTBLUE_EX = 104 + LIGHTMAGENTA_EX = 105 + LIGHTCYAN_EX = 106 + LIGHTWHITE_EX = 107 + + +class AnsiStyle(AnsiCodes): + BRIGHT = 1 + DIM = 2 + NORMAL = 22 + RESET_ALL = 0 + +Fore = AnsiFore() +Back = AnsiBack() +Style = AnsiStyle() +Cursor = AnsiCursor() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansitowin32.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansitowin32.py new file mode 100644 index 0000000..359c92b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/ansitowin32.py @@ -0,0 +1,257 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +import re +import sys +import os + +from .ansi import AnsiFore, AnsiBack, AnsiStyle, Style +from .winterm import WinTerm, WinColor, WinStyle +from .win32 import windll, winapi_test + + +winterm = None +if windll is not None: + winterm = WinTerm() + + +class StreamWrapper(object): + ''' + Wraps a stream (such as stdout), acting as a transparent proxy for all + attribute access apart from method 'write()', which is delegated to our + Converter instance. + ''' + def __init__(self, wrapped, converter): + # double-underscore everything to prevent clashes with names of + # attributes on the wrapped stream object. + self.__wrapped = wrapped + self.__convertor = converter + + def __getattr__(self, name): + return getattr(self.__wrapped, name) + + def __enter__(self, *args, **kwargs): + # special method lookup bypasses __getattr__/__getattribute__, see + # https://stackoverflow.com/questions/12632894/why-doesnt-getattr-work-with-exit + # thus, contextlib magic methods are not proxied via __getattr__ + return self.__wrapped.__enter__(*args, **kwargs) + + def __exit__(self, *args, **kwargs): + return self.__wrapped.__exit__(*args, **kwargs) + + def write(self, text): + self.__convertor.write(text) + + def isatty(self): + stream = self.__wrapped + if 'PYCHARM_HOSTED' in os.environ: + if stream is not None and (stream is sys.__stdout__ or stream is sys.__stderr__): + return True + try: + stream_isatty = stream.isatty + except AttributeError: + return False + else: + return stream_isatty() + + @property + def closed(self): + stream = self.__wrapped + try: + return stream.closed + except AttributeError: + return True + + +class AnsiToWin32(object): + ''' + Implements a 'write()' method which, on Windows, will strip ANSI character + sequences from the text, and if outputting to a tty, will convert them into + win32 function calls. + ''' + ANSI_CSI_RE = re.compile('\001?\033\\[((?:\\d|;)*)([a-zA-Z])\002?') # Control Sequence Introducer + ANSI_OSC_RE = re.compile('\001?\033\\]((?:.|;)*?)(\x07)\002?') # Operating System Command + + def __init__(self, wrapped, convert=None, strip=None, autoreset=False): + # The wrapped stream (normally sys.stdout or sys.stderr) + self.wrapped = wrapped + + # should we reset colors to defaults after every .write() + self.autoreset = autoreset + + # create the proxy wrapping our output stream + self.stream = StreamWrapper(wrapped, self) + + on_windows = os.name == 'nt' + # We test if the WinAPI works, because even if we are on Windows + # we may be using a terminal that doesn't support the WinAPI + # (e.g. Cygwin Terminal). In this case it's up to the terminal + # to support the ANSI codes. + conversion_supported = on_windows and winapi_test() + + # should we strip ANSI sequences from our output? + if strip is None: + strip = conversion_supported or (not self.stream.closed and not self.stream.isatty()) + self.strip = strip + + # should we should convert ANSI sequences into win32 calls? + if convert is None: + convert = conversion_supported and not self.stream.closed and self.stream.isatty() + self.convert = convert + + # dict of ansi codes to win32 functions and parameters + self.win32_calls = self.get_win32_calls() + + # are we wrapping stderr? + self.on_stderr = self.wrapped is sys.stderr + + def should_wrap(self): + ''' + True if this class is actually needed. If false, then the output + stream will not be affected, nor will win32 calls be issued, so + wrapping stdout is not actually required. This will generally be + False on non-Windows platforms, unless optional functionality like + autoreset has been requested using kwargs to init() + ''' + return self.convert or self.strip or self.autoreset + + def get_win32_calls(self): + if self.convert and winterm: + return { + AnsiStyle.RESET_ALL: (winterm.reset_all, ), + AnsiStyle.BRIGHT: (winterm.style, WinStyle.BRIGHT), + AnsiStyle.DIM: (winterm.style, WinStyle.NORMAL), + AnsiStyle.NORMAL: (winterm.style, WinStyle.NORMAL), + AnsiFore.BLACK: (winterm.fore, WinColor.BLACK), + AnsiFore.RED: (winterm.fore, WinColor.RED), + AnsiFore.GREEN: (winterm.fore, WinColor.GREEN), + AnsiFore.YELLOW: (winterm.fore, WinColor.YELLOW), + AnsiFore.BLUE: (winterm.fore, WinColor.BLUE), + AnsiFore.MAGENTA: (winterm.fore, WinColor.MAGENTA), + AnsiFore.CYAN: (winterm.fore, WinColor.CYAN), + AnsiFore.WHITE: (winterm.fore, WinColor.GREY), + AnsiFore.RESET: (winterm.fore, ), + AnsiFore.LIGHTBLACK_EX: (winterm.fore, WinColor.BLACK, True), + AnsiFore.LIGHTRED_EX: (winterm.fore, WinColor.RED, True), + AnsiFore.LIGHTGREEN_EX: (winterm.fore, WinColor.GREEN, True), + AnsiFore.LIGHTYELLOW_EX: (winterm.fore, WinColor.YELLOW, True), + AnsiFore.LIGHTBLUE_EX: (winterm.fore, WinColor.BLUE, True), + AnsiFore.LIGHTMAGENTA_EX: (winterm.fore, WinColor.MAGENTA, True), + AnsiFore.LIGHTCYAN_EX: (winterm.fore, WinColor.CYAN, True), + AnsiFore.LIGHTWHITE_EX: (winterm.fore, WinColor.GREY, True), + AnsiBack.BLACK: (winterm.back, WinColor.BLACK), + AnsiBack.RED: (winterm.back, WinColor.RED), + AnsiBack.GREEN: (winterm.back, WinColor.GREEN), + AnsiBack.YELLOW: (winterm.back, WinColor.YELLOW), + AnsiBack.BLUE: (winterm.back, WinColor.BLUE), + AnsiBack.MAGENTA: (winterm.back, WinColor.MAGENTA), + AnsiBack.CYAN: (winterm.back, WinColor.CYAN), + AnsiBack.WHITE: (winterm.back, WinColor.GREY), + AnsiBack.RESET: (winterm.back, ), + AnsiBack.LIGHTBLACK_EX: (winterm.back, WinColor.BLACK, True), + AnsiBack.LIGHTRED_EX: (winterm.back, WinColor.RED, True), + AnsiBack.LIGHTGREEN_EX: (winterm.back, WinColor.GREEN, True), + AnsiBack.LIGHTYELLOW_EX: (winterm.back, WinColor.YELLOW, True), + AnsiBack.LIGHTBLUE_EX: (winterm.back, WinColor.BLUE, True), + AnsiBack.LIGHTMAGENTA_EX: (winterm.back, WinColor.MAGENTA, True), + AnsiBack.LIGHTCYAN_EX: (winterm.back, WinColor.CYAN, True), + AnsiBack.LIGHTWHITE_EX: (winterm.back, WinColor.GREY, True), + } + return dict() + + def write(self, text): + if self.strip or self.convert: + self.write_and_convert(text) + else: + self.wrapped.write(text) + self.wrapped.flush() + if self.autoreset: + self.reset_all() + + + def reset_all(self): + if self.convert: + self.call_win32('m', (0,)) + elif not self.strip and not self.stream.closed: + self.wrapped.write(Style.RESET_ALL) + + + def write_and_convert(self, text): + ''' + Write the given text to our wrapped stream, stripping any ANSI + sequences from the text, and optionally converting them into win32 + calls. + ''' + cursor = 0 + text = self.convert_osc(text) + for match in self.ANSI_CSI_RE.finditer(text): + start, end = match.span() + self.write_plain_text(text, cursor, start) + self.convert_ansi(*match.groups()) + cursor = end + self.write_plain_text(text, cursor, len(text)) + + + def write_plain_text(self, text, start, end): + if start < end: + self.wrapped.write(text[start:end]) + self.wrapped.flush() + + + def convert_ansi(self, paramstring, command): + if self.convert: + params = self.extract_params(command, paramstring) + self.call_win32(command, params) + + + def extract_params(self, command, paramstring): + if command in 'Hf': + params = tuple(int(p) if len(p) != 0 else 1 for p in paramstring.split(';')) + while len(params) < 2: + # defaults: + params = params + (1,) + else: + params = tuple(int(p) for p in paramstring.split(';') if len(p) != 0) + if len(params) == 0: + # defaults: + if command in 'JKm': + params = (0,) + elif command in 'ABCD': + params = (1,) + + return params + + + def call_win32(self, command, params): + if command == 'm': + for param in params: + if param in self.win32_calls: + func_args = self.win32_calls[param] + func = func_args[0] + args = func_args[1:] + kwargs = dict(on_stderr=self.on_stderr) + func(*args, **kwargs) + elif command in 'J': + winterm.erase_screen(params[0], on_stderr=self.on_stderr) + elif command in 'K': + winterm.erase_line(params[0], on_stderr=self.on_stderr) + elif command in 'Hf': # cursor position - absolute + winterm.set_cursor_position(params, on_stderr=self.on_stderr) + elif command in 'ABCD': # cursor position - relative + n = params[0] + # A - up, B - down, C - forward, D - back + x, y = {'A': (0, -n), 'B': (0, n), 'C': (n, 0), 'D': (-n, 0)}[command] + winterm.cursor_adjust(x, y, on_stderr=self.on_stderr) + + + def convert_osc(self, text): + for match in self.ANSI_OSC_RE.finditer(text): + start, end = match.span() + text = text[:start] + text[end:] + paramstring, command = match.groups() + if command in '\x07': # \x07 = BEL + params = paramstring.split(";") + # 0 - change title and icon (we will only change title) + # 1 - change icon (we don't support this) + # 2 - change title + if params[0] in '02': + winterm.set_title(params[1]) + return text diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/initialise.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/initialise.py new file mode 100644 index 0000000..430d066 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/initialise.py @@ -0,0 +1,80 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +import atexit +import contextlib +import sys + +from .ansitowin32 import AnsiToWin32 + + +orig_stdout = None +orig_stderr = None + +wrapped_stdout = None +wrapped_stderr = None + +atexit_done = False + + +def reset_all(): + if AnsiToWin32 is not None: # Issue #74: objects might become None at exit + AnsiToWin32(orig_stdout).reset_all() + + +def init(autoreset=False, convert=None, strip=None, wrap=True): + + if not wrap and any([autoreset, convert, strip]): + raise ValueError('wrap=False conflicts with any other arg=True') + + global wrapped_stdout, wrapped_stderr + global orig_stdout, orig_stderr + + orig_stdout = sys.stdout + orig_stderr = sys.stderr + + if sys.stdout is None: + wrapped_stdout = None + else: + sys.stdout = wrapped_stdout = \ + wrap_stream(orig_stdout, convert, strip, autoreset, wrap) + if sys.stderr is None: + wrapped_stderr = None + else: + sys.stderr = wrapped_stderr = \ + wrap_stream(orig_stderr, convert, strip, autoreset, wrap) + + global atexit_done + if not atexit_done: + atexit.register(reset_all) + atexit_done = True + + +def deinit(): + if orig_stdout is not None: + sys.stdout = orig_stdout + if orig_stderr is not None: + sys.stderr = orig_stderr + + +@contextlib.contextmanager +def colorama_text(*args, **kwargs): + init(*args, **kwargs) + try: + yield + finally: + deinit() + + +def reinit(): + if wrapped_stdout is not None: + sys.stdout = wrapped_stdout + if wrapped_stderr is not None: + sys.stderr = wrapped_stderr + + +def wrap_stream(stream, convert, strip, autoreset, wrap): + if wrap: + wrapper = AnsiToWin32(stream, + convert=convert, strip=strip, autoreset=autoreset) + if wrapper.should_wrap(): + stream = wrapper.stream + return stream diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/win32.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/win32.py new file mode 100644 index 0000000..c2d8360 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/win32.py @@ -0,0 +1,152 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. + +# from winbase.h +STDOUT = -11 +STDERR = -12 + +try: + import ctypes + from ctypes import LibraryLoader + windll = LibraryLoader(ctypes.WinDLL) + from ctypes import wintypes +except (AttributeError, ImportError): + windll = None + SetConsoleTextAttribute = lambda *_: None + winapi_test = lambda *_: None +else: + from ctypes import byref, Structure, c_char, POINTER + + COORD = wintypes._COORD + + class CONSOLE_SCREEN_BUFFER_INFO(Structure): + """struct in wincon.h.""" + _fields_ = [ + ("dwSize", COORD), + ("dwCursorPosition", COORD), + ("wAttributes", wintypes.WORD), + ("srWindow", wintypes.SMALL_RECT), + ("dwMaximumWindowSize", COORD), + ] + def __str__(self): + return '(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d)' % ( + self.dwSize.Y, self.dwSize.X + , self.dwCursorPosition.Y, self.dwCursorPosition.X + , self.wAttributes + , self.srWindow.Top, self.srWindow.Left, self.srWindow.Bottom, self.srWindow.Right + , self.dwMaximumWindowSize.Y, self.dwMaximumWindowSize.X + ) + + _GetStdHandle = windll.kernel32.GetStdHandle + _GetStdHandle.argtypes = [ + wintypes.DWORD, + ] + _GetStdHandle.restype = wintypes.HANDLE + + _GetConsoleScreenBufferInfo = windll.kernel32.GetConsoleScreenBufferInfo + _GetConsoleScreenBufferInfo.argtypes = [ + wintypes.HANDLE, + POINTER(CONSOLE_SCREEN_BUFFER_INFO), + ] + _GetConsoleScreenBufferInfo.restype = wintypes.BOOL + + _SetConsoleTextAttribute = windll.kernel32.SetConsoleTextAttribute + _SetConsoleTextAttribute.argtypes = [ + wintypes.HANDLE, + wintypes.WORD, + ] + _SetConsoleTextAttribute.restype = wintypes.BOOL + + _SetConsoleCursorPosition = windll.kernel32.SetConsoleCursorPosition + _SetConsoleCursorPosition.argtypes = [ + wintypes.HANDLE, + COORD, + ] + _SetConsoleCursorPosition.restype = wintypes.BOOL + + _FillConsoleOutputCharacterA = windll.kernel32.FillConsoleOutputCharacterA + _FillConsoleOutputCharacterA.argtypes = [ + wintypes.HANDLE, + c_char, + wintypes.DWORD, + COORD, + POINTER(wintypes.DWORD), + ] + _FillConsoleOutputCharacterA.restype = wintypes.BOOL + + _FillConsoleOutputAttribute = windll.kernel32.FillConsoleOutputAttribute + _FillConsoleOutputAttribute.argtypes = [ + wintypes.HANDLE, + wintypes.WORD, + wintypes.DWORD, + COORD, + POINTER(wintypes.DWORD), + ] + _FillConsoleOutputAttribute.restype = wintypes.BOOL + + _SetConsoleTitleW = windll.kernel32.SetConsoleTitleW + _SetConsoleTitleW.argtypes = [ + wintypes.LPCWSTR + ] + _SetConsoleTitleW.restype = wintypes.BOOL + + def _winapi_test(handle): + csbi = CONSOLE_SCREEN_BUFFER_INFO() + success = _GetConsoleScreenBufferInfo( + handle, byref(csbi)) + return bool(success) + + def winapi_test(): + return any(_winapi_test(h) for h in + (_GetStdHandle(STDOUT), _GetStdHandle(STDERR))) + + def GetConsoleScreenBufferInfo(stream_id=STDOUT): + handle = _GetStdHandle(stream_id) + csbi = CONSOLE_SCREEN_BUFFER_INFO() + success = _GetConsoleScreenBufferInfo( + handle, byref(csbi)) + return csbi + + def SetConsoleTextAttribute(stream_id, attrs): + handle = _GetStdHandle(stream_id) + return _SetConsoleTextAttribute(handle, attrs) + + def SetConsoleCursorPosition(stream_id, position, adjust=True): + position = COORD(*position) + # If the position is out of range, do nothing. + if position.Y <= 0 or position.X <= 0: + return + # Adjust for Windows' SetConsoleCursorPosition: + # 1. being 0-based, while ANSI is 1-based. + # 2. expecting (x,y), while ANSI uses (y,x). + adjusted_position = COORD(position.Y - 1, position.X - 1) + if adjust: + # Adjust for viewport's scroll position + sr = GetConsoleScreenBufferInfo(STDOUT).srWindow + adjusted_position.Y += sr.Top + adjusted_position.X += sr.Left + # Resume normal processing + handle = _GetStdHandle(stream_id) + return _SetConsoleCursorPosition(handle, adjusted_position) + + def FillConsoleOutputCharacter(stream_id, char, length, start): + handle = _GetStdHandle(stream_id) + char = c_char(char.encode()) + length = wintypes.DWORD(length) + num_written = wintypes.DWORD(0) + # Note that this is hard-coded for ANSI (vs wide) bytes. + success = _FillConsoleOutputCharacterA( + handle, char, length, start, byref(num_written)) + return num_written.value + + def FillConsoleOutputAttribute(stream_id, attr, length, start): + ''' FillConsoleOutputAttribute( hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten )''' + handle = _GetStdHandle(stream_id) + attribute = wintypes.WORD(attr) + length = wintypes.DWORD(length) + num_written = wintypes.DWORD(0) + # Note that this is hard-coded for ANSI (vs wide) bytes. + return _FillConsoleOutputAttribute( + handle, attribute, length, start, byref(num_written)) + + def SetConsoleTitle(title): + return _SetConsoleTitleW(title) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/winterm.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/winterm.py new file mode 100644 index 0000000..0fdb4ec --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/colorama/winterm.py @@ -0,0 +1,169 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +from . import win32 + + +# from wincon.h +class WinColor(object): + BLACK = 0 + BLUE = 1 + GREEN = 2 + CYAN = 3 + RED = 4 + MAGENTA = 5 + YELLOW = 6 + GREY = 7 + +# from wincon.h +class WinStyle(object): + NORMAL = 0x00 # dim text, dim background + BRIGHT = 0x08 # bright text, dim background + BRIGHT_BACKGROUND = 0x80 # dim text, bright background + +class WinTerm(object): + + def __init__(self): + self._default = win32.GetConsoleScreenBufferInfo(win32.STDOUT).wAttributes + self.set_attrs(self._default) + self._default_fore = self._fore + self._default_back = self._back + self._default_style = self._style + # In order to emulate LIGHT_EX in windows, we borrow the BRIGHT style. + # So that LIGHT_EX colors and BRIGHT style do not clobber each other, + # we track them separately, since LIGHT_EX is overwritten by Fore/Back + # and BRIGHT is overwritten by Style codes. + self._light = 0 + + def get_attrs(self): + return self._fore + self._back * 16 + (self._style | self._light) + + def set_attrs(self, value): + self._fore = value & 7 + self._back = (value >> 4) & 7 + self._style = value & (WinStyle.BRIGHT | WinStyle.BRIGHT_BACKGROUND) + + def reset_all(self, on_stderr=None): + self.set_attrs(self._default) + self.set_console(attrs=self._default) + self._light = 0 + + def fore(self, fore=None, light=False, on_stderr=False): + if fore is None: + fore = self._default_fore + self._fore = fore + # Emulate LIGHT_EX with BRIGHT Style + if light: + self._light |= WinStyle.BRIGHT + else: + self._light &= ~WinStyle.BRIGHT + self.set_console(on_stderr=on_stderr) + + def back(self, back=None, light=False, on_stderr=False): + if back is None: + back = self._default_back + self._back = back + # Emulate LIGHT_EX with BRIGHT_BACKGROUND Style + if light: + self._light |= WinStyle.BRIGHT_BACKGROUND + else: + self._light &= ~WinStyle.BRIGHT_BACKGROUND + self.set_console(on_stderr=on_stderr) + + def style(self, style=None, on_stderr=False): + if style is None: + style = self._default_style + self._style = style + self.set_console(on_stderr=on_stderr) + + def set_console(self, attrs=None, on_stderr=False): + if attrs is None: + attrs = self.get_attrs() + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + win32.SetConsoleTextAttribute(handle, attrs) + + def get_position(self, handle): + position = win32.GetConsoleScreenBufferInfo(handle).dwCursorPosition + # Because Windows coordinates are 0-based, + # and win32.SetConsoleCursorPosition expects 1-based. + position.X += 1 + position.Y += 1 + return position + + def set_cursor_position(self, position=None, on_stderr=False): + if position is None: + # I'm not currently tracking the position, so there is no default. + # position = self.get_position() + return + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + win32.SetConsoleCursorPosition(handle, position) + + def cursor_adjust(self, x, y, on_stderr=False): + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + position = self.get_position(handle) + adjusted_position = (position.Y + y, position.X + x) + win32.SetConsoleCursorPosition(handle, adjusted_position, adjust=False) + + def erase_screen(self, mode=0, on_stderr=False): + # 0 should clear from the cursor to the end of the screen. + # 1 should clear from the cursor to the beginning of the screen. + # 2 should clear the entire screen, and move cursor to (1,1) + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + csbi = win32.GetConsoleScreenBufferInfo(handle) + # get the number of character cells in the current buffer + cells_in_screen = csbi.dwSize.X * csbi.dwSize.Y + # get number of character cells before current cursor position + cells_before_cursor = csbi.dwSize.X * csbi.dwCursorPosition.Y + csbi.dwCursorPosition.X + if mode == 0: + from_coord = csbi.dwCursorPosition + cells_to_erase = cells_in_screen - cells_before_cursor + elif mode == 1: + from_coord = win32.COORD(0, 0) + cells_to_erase = cells_before_cursor + elif mode == 2: + from_coord = win32.COORD(0, 0) + cells_to_erase = cells_in_screen + else: + # invalid mode + return + # fill the entire screen with blanks + win32.FillConsoleOutputCharacter(handle, ' ', cells_to_erase, from_coord) + # now set the buffer's attributes accordingly + win32.FillConsoleOutputAttribute(handle, self.get_attrs(), cells_to_erase, from_coord) + if mode == 2: + # put the cursor where needed + win32.SetConsoleCursorPosition(handle, (1, 1)) + + def erase_line(self, mode=0, on_stderr=False): + # 0 should clear from the cursor to the end of the line. + # 1 should clear from the cursor to the beginning of the line. + # 2 should clear the entire line. + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + csbi = win32.GetConsoleScreenBufferInfo(handle) + if mode == 0: + from_coord = csbi.dwCursorPosition + cells_to_erase = csbi.dwSize.X - csbi.dwCursorPosition.X + elif mode == 1: + from_coord = win32.COORD(0, csbi.dwCursorPosition.Y) + cells_to_erase = csbi.dwCursorPosition.X + elif mode == 2: + from_coord = win32.COORD(0, csbi.dwCursorPosition.Y) + cells_to_erase = csbi.dwSize.X + else: + # invalid mode + return + # fill the entire screen with blanks + win32.FillConsoleOutputCharacter(handle, ' ', cells_to_erase, from_coord) + # now set the buffer's attributes accordingly + win32.FillConsoleOutputAttribute(handle, self.get_attrs(), cells_to_erase, from_coord) + + def set_title(self, title): + win32.SetConsoleTitle(title) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__init__.py new file mode 100644 index 0000000..a786b4d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2017 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +import logging + +__version__ = '0.2.8' + +class DistlibException(Exception): + pass + +try: + from logging import NullHandler +except ImportError: # pragma: no cover + class NullHandler(logging.Handler): + def handle(self, record): pass + def emit(self, record): pass + def createLock(self): self.lock = None + +logger = logging.getLogger(__name__) +logger.addHandler(NullHandler()) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/__init__.py new file mode 100644 index 0000000..f7dbf4c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/__init__.py @@ -0,0 +1,6 @@ +"""Modules copied from Python 3 standard libraries, for internal use only. + +Individual classes and functions are found in d2._backport.misc. Intended +usage is to always import things missing from 3.1 from that module: the +built-in/stdlib objects will be used if found. +""" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/misc.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/misc.py new file mode 100644 index 0000000..cfb318d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/misc.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +"""Backports for individual classes and functions.""" + +import os +import sys + +__all__ = ['cache_from_source', 'callable', 'fsencode'] + + +try: + from imp import cache_from_source +except ImportError: + def cache_from_source(py_file, debug=__debug__): + ext = debug and 'c' or 'o' + return py_file + ext + + +try: + callable = callable +except NameError: + from collections import Callable + + def callable(obj): + return isinstance(obj, Callable) + + +try: + fsencode = os.fsencode +except AttributeError: + def fsencode(filename): + if isinstance(filename, bytes): + return filename + elif isinstance(filename, str): + return filename.encode(sys.getfilesystemencoding()) + else: + raise TypeError("expect bytes or str, not %s" % + type(filename).__name__) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/shutil.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/shutil.py new file mode 100644 index 0000000..159e49e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/shutil.py @@ -0,0 +1,761 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +"""Utility functions for copying and archiving files and directory trees. + +XXX The functions here don't copy the resource fork or other metadata on Mac. + +""" + +import os +import sys +import stat +from os.path import abspath +import fnmatch +import collections +import errno +from . import tarfile + +try: + import bz2 + _BZ2_SUPPORTED = True +except ImportError: + _BZ2_SUPPORTED = False + +try: + from pwd import getpwnam +except ImportError: + getpwnam = None + +try: + from grp import getgrnam +except ImportError: + getgrnam = None + +__all__ = ["copyfileobj", "copyfile", "copymode", "copystat", "copy", "copy2", + "copytree", "move", "rmtree", "Error", "SpecialFileError", + "ExecError", "make_archive", "get_archive_formats", + "register_archive_format", "unregister_archive_format", + "get_unpack_formats", "register_unpack_format", + "unregister_unpack_format", "unpack_archive", "ignore_patterns"] + +class Error(EnvironmentError): + pass + +class SpecialFileError(EnvironmentError): + """Raised when trying to do a kind of operation (e.g. copying) which is + not supported on a special file (e.g. a named pipe)""" + +class ExecError(EnvironmentError): + """Raised when a command could not be executed""" + +class ReadError(EnvironmentError): + """Raised when an archive cannot be read""" + +class RegistryError(Exception): + """Raised when a registry operation with the archiving + and unpacking registries fails""" + + +try: + WindowsError +except NameError: + WindowsError = None + +def copyfileobj(fsrc, fdst, length=16*1024): + """copy data from file-like object fsrc to file-like object fdst""" + while 1: + buf = fsrc.read(length) + if not buf: + break + fdst.write(buf) + +def _samefile(src, dst): + # Macintosh, Unix. + if hasattr(os.path, 'samefile'): + try: + return os.path.samefile(src, dst) + except OSError: + return False + + # All other platforms: check for same pathname. + return (os.path.normcase(os.path.abspath(src)) == + os.path.normcase(os.path.abspath(dst))) + +def copyfile(src, dst): + """Copy data from src to dst""" + if _samefile(src, dst): + raise Error("`%s` and `%s` are the same file" % (src, dst)) + + for fn in [src, dst]: + try: + st = os.stat(fn) + except OSError: + # File most likely does not exist + pass + else: + # XXX What about other special files? (sockets, devices...) + if stat.S_ISFIFO(st.st_mode): + raise SpecialFileError("`%s` is a named pipe" % fn) + + with open(src, 'rb') as fsrc: + with open(dst, 'wb') as fdst: + copyfileobj(fsrc, fdst) + +def copymode(src, dst): + """Copy mode bits from src to dst""" + if hasattr(os, 'chmod'): + st = os.stat(src) + mode = stat.S_IMODE(st.st_mode) + os.chmod(dst, mode) + +def copystat(src, dst): + """Copy all stat info (mode bits, atime, mtime, flags) from src to dst""" + st = os.stat(src) + mode = stat.S_IMODE(st.st_mode) + if hasattr(os, 'utime'): + os.utime(dst, (st.st_atime, st.st_mtime)) + if hasattr(os, 'chmod'): + os.chmod(dst, mode) + if hasattr(os, 'chflags') and hasattr(st, 'st_flags'): + try: + os.chflags(dst, st.st_flags) + except OSError as why: + if (not hasattr(errno, 'EOPNOTSUPP') or + why.errno != errno.EOPNOTSUPP): + raise + +def copy(src, dst): + """Copy data and mode bits ("cp src dst"). + + The destination may be a directory. + + """ + if os.path.isdir(dst): + dst = os.path.join(dst, os.path.basename(src)) + copyfile(src, dst) + copymode(src, dst) + +def copy2(src, dst): + """Copy data and all stat info ("cp -p src dst"). + + The destination may be a directory. + + """ + if os.path.isdir(dst): + dst = os.path.join(dst, os.path.basename(src)) + copyfile(src, dst) + copystat(src, dst) + +def ignore_patterns(*patterns): + """Function that can be used as copytree() ignore parameter. + + Patterns is a sequence of glob-style patterns + that are used to exclude files""" + def _ignore_patterns(path, names): + ignored_names = [] + for pattern in patterns: + ignored_names.extend(fnmatch.filter(names, pattern)) + return set(ignored_names) + return _ignore_patterns + +def copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, + ignore_dangling_symlinks=False): + """Recursively copy a directory tree. + + The destination directory must not already exist. + If exception(s) occur, an Error is raised with a list of reasons. + + If the optional symlinks flag is true, symbolic links in the + source tree result in symbolic links in the destination tree; if + it is false, the contents of the files pointed to by symbolic + links are copied. If the file pointed by the symlink doesn't + exist, an exception will be added in the list of errors raised in + an Error exception at the end of the copy process. + + You can set the optional ignore_dangling_symlinks flag to true if you + want to silence this exception. Notice that this has no effect on + platforms that don't support os.symlink. + + The optional ignore argument is a callable. If given, it + is called with the `src` parameter, which is the directory + being visited by copytree(), and `names` which is the list of + `src` contents, as returned by os.listdir(): + + callable(src, names) -> ignored_names + + Since copytree() is called recursively, the callable will be + called once for each directory that is copied. It returns a + list of names relative to the `src` directory that should + not be copied. + + The optional copy_function argument is a callable that will be used + to copy each file. It will be called with the source path and the + destination path as arguments. By default, copy2() is used, but any + function that supports the same signature (like copy()) can be used. + + """ + names = os.listdir(src) + if ignore is not None: + ignored_names = ignore(src, names) + else: + ignored_names = set() + + os.makedirs(dst) + errors = [] + for name in names: + if name in ignored_names: + continue + srcname = os.path.join(src, name) + dstname = os.path.join(dst, name) + try: + if os.path.islink(srcname): + linkto = os.readlink(srcname) + if symlinks: + os.symlink(linkto, dstname) + else: + # ignore dangling symlink if the flag is on + if not os.path.exists(linkto) and ignore_dangling_symlinks: + continue + # otherwise let the copy occurs. copy2 will raise an error + copy_function(srcname, dstname) + elif os.path.isdir(srcname): + copytree(srcname, dstname, symlinks, ignore, copy_function) + else: + # Will raise a SpecialFileError for unsupported file types + copy_function(srcname, dstname) + # catch the Error from the recursive copytree so that we can + # continue with other files + except Error as err: + errors.extend(err.args[0]) + except EnvironmentError as why: + errors.append((srcname, dstname, str(why))) + try: + copystat(src, dst) + except OSError as why: + if WindowsError is not None and isinstance(why, WindowsError): + # Copying file access times may fail on Windows + pass + else: + errors.extend((src, dst, str(why))) + if errors: + raise Error(errors) + +def rmtree(path, ignore_errors=False, onerror=None): + """Recursively delete a directory tree. + + If ignore_errors is set, errors are ignored; otherwise, if onerror + is set, it is called to handle the error with arguments (func, + path, exc_info) where func is os.listdir, os.remove, or os.rmdir; + path is the argument to that function that caused it to fail; and + exc_info is a tuple returned by sys.exc_info(). If ignore_errors + is false and onerror is None, an exception is raised. + + """ + if ignore_errors: + def onerror(*args): + pass + elif onerror is None: + def onerror(*args): + raise + try: + if os.path.islink(path): + # symlinks to directories are forbidden, see bug #1669 + raise OSError("Cannot call rmtree on a symbolic link") + except OSError: + onerror(os.path.islink, path, sys.exc_info()) + # can't continue even if onerror hook returns + return + names = [] + try: + names = os.listdir(path) + except os.error: + onerror(os.listdir, path, sys.exc_info()) + for name in names: + fullname = os.path.join(path, name) + try: + mode = os.lstat(fullname).st_mode + except os.error: + mode = 0 + if stat.S_ISDIR(mode): + rmtree(fullname, ignore_errors, onerror) + else: + try: + os.remove(fullname) + except os.error: + onerror(os.remove, fullname, sys.exc_info()) + try: + os.rmdir(path) + except os.error: + onerror(os.rmdir, path, sys.exc_info()) + + +def _basename(path): + # A basename() variant which first strips the trailing slash, if present. + # Thus we always get the last component of the path, even for directories. + return os.path.basename(path.rstrip(os.path.sep)) + +def move(src, dst): + """Recursively move a file or directory to another location. This is + similar to the Unix "mv" command. + + If the destination is a directory or a symlink to a directory, the source + is moved inside the directory. The destination path must not already + exist. + + If the destination already exists but is not a directory, it may be + overwritten depending on os.rename() semantics. + + If the destination is on our current filesystem, then rename() is used. + Otherwise, src is copied to the destination and then removed. + A lot more could be done here... A look at a mv.c shows a lot of + the issues this implementation glosses over. + + """ + real_dst = dst + if os.path.isdir(dst): + if _samefile(src, dst): + # We might be on a case insensitive filesystem, + # perform the rename anyway. + os.rename(src, dst) + return + + real_dst = os.path.join(dst, _basename(src)) + if os.path.exists(real_dst): + raise Error("Destination path '%s' already exists" % real_dst) + try: + os.rename(src, real_dst) + except OSError: + if os.path.isdir(src): + if _destinsrc(src, dst): + raise Error("Cannot move a directory '%s' into itself '%s'." % (src, dst)) + copytree(src, real_dst, symlinks=True) + rmtree(src) + else: + copy2(src, real_dst) + os.unlink(src) + +def _destinsrc(src, dst): + src = abspath(src) + dst = abspath(dst) + if not src.endswith(os.path.sep): + src += os.path.sep + if not dst.endswith(os.path.sep): + dst += os.path.sep + return dst.startswith(src) + +def _get_gid(name): + """Returns a gid, given a group name.""" + if getgrnam is None or name is None: + return None + try: + result = getgrnam(name) + except KeyError: + result = None + if result is not None: + return result[2] + return None + +def _get_uid(name): + """Returns an uid, given a user name.""" + if getpwnam is None or name is None: + return None + try: + result = getpwnam(name) + except KeyError: + result = None + if result is not None: + return result[2] + return None + +def _make_tarball(base_name, base_dir, compress="gzip", verbose=0, dry_run=0, + owner=None, group=None, logger=None): + """Create a (possibly compressed) tar file from all the files under + 'base_dir'. + + 'compress' must be "gzip" (the default), "bzip2", or None. + + 'owner' and 'group' can be used to define an owner and a group for the + archive that is being built. If not provided, the current owner and group + will be used. + + The output tar file will be named 'base_name' + ".tar", possibly plus + the appropriate compression extension (".gz", or ".bz2"). + + Returns the output filename. + """ + tar_compression = {'gzip': 'gz', None: ''} + compress_ext = {'gzip': '.gz'} + + if _BZ2_SUPPORTED: + tar_compression['bzip2'] = 'bz2' + compress_ext['bzip2'] = '.bz2' + + # flags for compression program, each element of list will be an argument + if compress is not None and compress not in compress_ext: + raise ValueError("bad value for 'compress', or compression format not " + "supported : {0}".format(compress)) + + archive_name = base_name + '.tar' + compress_ext.get(compress, '') + archive_dir = os.path.dirname(archive_name) + + if not os.path.exists(archive_dir): + if logger is not None: + logger.info("creating %s", archive_dir) + if not dry_run: + os.makedirs(archive_dir) + + # creating the tarball + if logger is not None: + logger.info('Creating tar archive') + + uid = _get_uid(owner) + gid = _get_gid(group) + + def _set_uid_gid(tarinfo): + if gid is not None: + tarinfo.gid = gid + tarinfo.gname = group + if uid is not None: + tarinfo.uid = uid + tarinfo.uname = owner + return tarinfo + + if not dry_run: + tar = tarfile.open(archive_name, 'w|%s' % tar_compression[compress]) + try: + tar.add(base_dir, filter=_set_uid_gid) + finally: + tar.close() + + return archive_name + +def _call_external_zip(base_dir, zip_filename, verbose=False, dry_run=False): + # XXX see if we want to keep an external call here + if verbose: + zipoptions = "-r" + else: + zipoptions = "-rq" + from distutils.errors import DistutilsExecError + from distutils.spawn import spawn + try: + spawn(["zip", zipoptions, zip_filename, base_dir], dry_run=dry_run) + except DistutilsExecError: + # XXX really should distinguish between "couldn't find + # external 'zip' command" and "zip failed". + raise ExecError("unable to create zip file '%s': " + "could neither import the 'zipfile' module nor " + "find a standalone zip utility") % zip_filename + +def _make_zipfile(base_name, base_dir, verbose=0, dry_run=0, logger=None): + """Create a zip file from all the files under 'base_dir'. + + The output zip file will be named 'base_name' + ".zip". Uses either the + "zipfile" Python module (if available) or the InfoZIP "zip" utility + (if installed and found on the default search path). If neither tool is + available, raises ExecError. Returns the name of the output zip + file. + """ + zip_filename = base_name + ".zip" + archive_dir = os.path.dirname(base_name) + + if not os.path.exists(archive_dir): + if logger is not None: + logger.info("creating %s", archive_dir) + if not dry_run: + os.makedirs(archive_dir) + + # If zipfile module is not available, try spawning an external 'zip' + # command. + try: + import zipfile + except ImportError: + zipfile = None + + if zipfile is None: + _call_external_zip(base_dir, zip_filename, verbose, dry_run) + else: + if logger is not None: + logger.info("creating '%s' and adding '%s' to it", + zip_filename, base_dir) + + if not dry_run: + zip = zipfile.ZipFile(zip_filename, "w", + compression=zipfile.ZIP_DEFLATED) + + for dirpath, dirnames, filenames in os.walk(base_dir): + for name in filenames: + path = os.path.normpath(os.path.join(dirpath, name)) + if os.path.isfile(path): + zip.write(path, path) + if logger is not None: + logger.info("adding '%s'", path) + zip.close() + + return zip_filename + +_ARCHIVE_FORMATS = { + 'gztar': (_make_tarball, [('compress', 'gzip')], "gzip'ed tar-file"), + 'bztar': (_make_tarball, [('compress', 'bzip2')], "bzip2'ed tar-file"), + 'tar': (_make_tarball, [('compress', None)], "uncompressed tar file"), + 'zip': (_make_zipfile, [], "ZIP file"), + } + +if _BZ2_SUPPORTED: + _ARCHIVE_FORMATS['bztar'] = (_make_tarball, [('compress', 'bzip2')], + "bzip2'ed tar-file") + +def get_archive_formats(): + """Returns a list of supported formats for archiving and unarchiving. + + Each element of the returned sequence is a tuple (name, description) + """ + formats = [(name, registry[2]) for name, registry in + _ARCHIVE_FORMATS.items()] + formats.sort() + return formats + +def register_archive_format(name, function, extra_args=None, description=''): + """Registers an archive format. + + name is the name of the format. function is the callable that will be + used to create archives. If provided, extra_args is a sequence of + (name, value) tuples that will be passed as arguments to the callable. + description can be provided to describe the format, and will be returned + by the get_archive_formats() function. + """ + if extra_args is None: + extra_args = [] + if not isinstance(function, collections.Callable): + raise TypeError('The %s object is not callable' % function) + if not isinstance(extra_args, (tuple, list)): + raise TypeError('extra_args needs to be a sequence') + for element in extra_args: + if not isinstance(element, (tuple, list)) or len(element) !=2: + raise TypeError('extra_args elements are : (arg_name, value)') + + _ARCHIVE_FORMATS[name] = (function, extra_args, description) + +def unregister_archive_format(name): + del _ARCHIVE_FORMATS[name] + +def make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0, + dry_run=0, owner=None, group=None, logger=None): + """Create an archive file (eg. zip or tar). + + 'base_name' is the name of the file to create, minus any format-specific + extension; 'format' is the archive format: one of "zip", "tar", "bztar" + or "gztar". + + 'root_dir' is a directory that will be the root directory of the + archive; ie. we typically chdir into 'root_dir' before creating the + archive. 'base_dir' is the directory where we start archiving from; + ie. 'base_dir' will be the common prefix of all files and + directories in the archive. 'root_dir' and 'base_dir' both default + to the current directory. Returns the name of the archive file. + + 'owner' and 'group' are used when creating a tar archive. By default, + uses the current owner and group. + """ + save_cwd = os.getcwd() + if root_dir is not None: + if logger is not None: + logger.debug("changing into '%s'", root_dir) + base_name = os.path.abspath(base_name) + if not dry_run: + os.chdir(root_dir) + + if base_dir is None: + base_dir = os.curdir + + kwargs = {'dry_run': dry_run, 'logger': logger} + + try: + format_info = _ARCHIVE_FORMATS[format] + except KeyError: + raise ValueError("unknown archive format '%s'" % format) + + func = format_info[0] + for arg, val in format_info[1]: + kwargs[arg] = val + + if format != 'zip': + kwargs['owner'] = owner + kwargs['group'] = group + + try: + filename = func(base_name, base_dir, **kwargs) + finally: + if root_dir is not None: + if logger is not None: + logger.debug("changing back to '%s'", save_cwd) + os.chdir(save_cwd) + + return filename + + +def get_unpack_formats(): + """Returns a list of supported formats for unpacking. + + Each element of the returned sequence is a tuple + (name, extensions, description) + """ + formats = [(name, info[0], info[3]) for name, info in + _UNPACK_FORMATS.items()] + formats.sort() + return formats + +def _check_unpack_options(extensions, function, extra_args): + """Checks what gets registered as an unpacker.""" + # first make sure no other unpacker is registered for this extension + existing_extensions = {} + for name, info in _UNPACK_FORMATS.items(): + for ext in info[0]: + existing_extensions[ext] = name + + for extension in extensions: + if extension in existing_extensions: + msg = '%s is already registered for "%s"' + raise RegistryError(msg % (extension, + existing_extensions[extension])) + + if not isinstance(function, collections.Callable): + raise TypeError('The registered function must be a callable') + + +def register_unpack_format(name, extensions, function, extra_args=None, + description=''): + """Registers an unpack format. + + `name` is the name of the format. `extensions` is a list of extensions + corresponding to the format. + + `function` is the callable that will be + used to unpack archives. The callable will receive archives to unpack. + If it's unable to handle an archive, it needs to raise a ReadError + exception. + + If provided, `extra_args` is a sequence of + (name, value) tuples that will be passed as arguments to the callable. + description can be provided to describe the format, and will be returned + by the get_unpack_formats() function. + """ + if extra_args is None: + extra_args = [] + _check_unpack_options(extensions, function, extra_args) + _UNPACK_FORMATS[name] = extensions, function, extra_args, description + +def unregister_unpack_format(name): + """Removes the pack format from the registry.""" + del _UNPACK_FORMATS[name] + +def _ensure_directory(path): + """Ensure that the parent directory of `path` exists""" + dirname = os.path.dirname(path) + if not os.path.isdir(dirname): + os.makedirs(dirname) + +def _unpack_zipfile(filename, extract_dir): + """Unpack zip `filename` to `extract_dir` + """ + try: + import zipfile + except ImportError: + raise ReadError('zlib not supported, cannot unpack this archive.') + + if not zipfile.is_zipfile(filename): + raise ReadError("%s is not a zip file" % filename) + + zip = zipfile.ZipFile(filename) + try: + for info in zip.infolist(): + name = info.filename + + # don't extract absolute paths or ones with .. in them + if name.startswith('/') or '..' in name: + continue + + target = os.path.join(extract_dir, *name.split('/')) + if not target: + continue + + _ensure_directory(target) + if not name.endswith('/'): + # file + data = zip.read(info.filename) + f = open(target, 'wb') + try: + f.write(data) + finally: + f.close() + del data + finally: + zip.close() + +def _unpack_tarfile(filename, extract_dir): + """Unpack tar/tar.gz/tar.bz2 `filename` to `extract_dir` + """ + try: + tarobj = tarfile.open(filename) + except tarfile.TarError: + raise ReadError( + "%s is not a compressed or uncompressed tar file" % filename) + try: + tarobj.extractall(extract_dir) + finally: + tarobj.close() + +_UNPACK_FORMATS = { + 'gztar': (['.tar.gz', '.tgz'], _unpack_tarfile, [], "gzip'ed tar-file"), + 'tar': (['.tar'], _unpack_tarfile, [], "uncompressed tar file"), + 'zip': (['.zip'], _unpack_zipfile, [], "ZIP file") + } + +if _BZ2_SUPPORTED: + _UNPACK_FORMATS['bztar'] = (['.bz2'], _unpack_tarfile, [], + "bzip2'ed tar-file") + +def _find_unpack_format(filename): + for name, info in _UNPACK_FORMATS.items(): + for extension in info[0]: + if filename.endswith(extension): + return name + return None + +def unpack_archive(filename, extract_dir=None, format=None): + """Unpack an archive. + + `filename` is the name of the archive. + + `extract_dir` is the name of the target directory, where the archive + is unpacked. If not provided, the current working directory is used. + + `format` is the archive format: one of "zip", "tar", or "gztar". Or any + other registered format. If not provided, unpack_archive will use the + filename extension and see if an unpacker was registered for that + extension. + + In case none is found, a ValueError is raised. + """ + if extract_dir is None: + extract_dir = os.getcwd() + + if format is not None: + try: + format_info = _UNPACK_FORMATS[format] + except KeyError: + raise ValueError("Unknown unpack format '{0}'".format(format)) + + func = format_info[1] + func(filename, extract_dir, **dict(format_info[2])) + else: + # we need to look at the registered unpackers supported extensions + format = _find_unpack_format(filename) + if format is None: + raise ReadError("Unknown archive format '{0}'".format(filename)) + + func = _UNPACK_FORMATS[format][1] + kwargs = dict(_UNPACK_FORMATS[format][2]) + func(filename, extract_dir, **kwargs) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.cfg b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.cfg new file mode 100644 index 0000000..1746bd0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.cfg @@ -0,0 +1,84 @@ +[posix_prefix] +# Configuration directories. Some of these come straight out of the +# configure script. They are for implementing the other variables, not to +# be used directly in [resource_locations]. +confdir = /etc +datadir = /usr/share +libdir = /usr/lib +statedir = /var +# User resource directory +local = ~/.local/{distribution.name} + +stdlib = {base}/lib/python{py_version_short} +platstdlib = {platbase}/lib/python{py_version_short} +purelib = {base}/lib/python{py_version_short}/site-packages +platlib = {platbase}/lib/python{py_version_short}/site-packages +include = {base}/include/python{py_version_short}{abiflags} +platinclude = {platbase}/include/python{py_version_short}{abiflags} +data = {base} + +[posix_home] +stdlib = {base}/lib/python +platstdlib = {base}/lib/python +purelib = {base}/lib/python +platlib = {base}/lib/python +include = {base}/include/python +platinclude = {base}/include/python +scripts = {base}/bin +data = {base} + +[nt] +stdlib = {base}/Lib +platstdlib = {base}/Lib +purelib = {base}/Lib/site-packages +platlib = {base}/Lib/site-packages +include = {base}/Include +platinclude = {base}/Include +scripts = {base}/Scripts +data = {base} + +[os2] +stdlib = {base}/Lib +platstdlib = {base}/Lib +purelib = {base}/Lib/site-packages +platlib = {base}/Lib/site-packages +include = {base}/Include +platinclude = {base}/Include +scripts = {base}/Scripts +data = {base} + +[os2_home] +stdlib = {userbase}/lib/python{py_version_short} +platstdlib = {userbase}/lib/python{py_version_short} +purelib = {userbase}/lib/python{py_version_short}/site-packages +platlib = {userbase}/lib/python{py_version_short}/site-packages +include = {userbase}/include/python{py_version_short} +scripts = {userbase}/bin +data = {userbase} + +[nt_user] +stdlib = {userbase}/Python{py_version_nodot} +platstdlib = {userbase}/Python{py_version_nodot} +purelib = {userbase}/Python{py_version_nodot}/site-packages +platlib = {userbase}/Python{py_version_nodot}/site-packages +include = {userbase}/Python{py_version_nodot}/Include +scripts = {userbase}/Scripts +data = {userbase} + +[posix_user] +stdlib = {userbase}/lib/python{py_version_short} +platstdlib = {userbase}/lib/python{py_version_short} +purelib = {userbase}/lib/python{py_version_short}/site-packages +platlib = {userbase}/lib/python{py_version_short}/site-packages +include = {userbase}/include/python{py_version_short} +scripts = {userbase}/bin +data = {userbase} + +[osx_framework_user] +stdlib = {userbase}/lib/python +platstdlib = {userbase}/lib/python +purelib = {userbase}/lib/python/site-packages +platlib = {userbase}/lib/python/site-packages +include = {userbase}/include +scripts = {userbase}/bin +data = {userbase} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.py new file mode 100644 index 0000000..1df3aba --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/sysconfig.py @@ -0,0 +1,788 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +"""Access to Python's configuration information.""" + +import codecs +import os +import re +import sys +from os.path import pardir, realpath +try: + import configparser +except ImportError: + import ConfigParser as configparser + + +__all__ = [ + 'get_config_h_filename', + 'get_config_var', + 'get_config_vars', + 'get_makefile_filename', + 'get_path', + 'get_path_names', + 'get_paths', + 'get_platform', + 'get_python_version', + 'get_scheme_names', + 'parse_config_h', +] + + +def _safe_realpath(path): + try: + return realpath(path) + except OSError: + return path + + +if sys.executable: + _PROJECT_BASE = os.path.dirname(_safe_realpath(sys.executable)) +else: + # sys.executable can be empty if argv[0] has been changed and Python is + # unable to retrieve the real program name + _PROJECT_BASE = _safe_realpath(os.getcwd()) + +if os.name == "nt" and "pcbuild" in _PROJECT_BASE[-8:].lower(): + _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir)) +# PC/VS7.1 +if os.name == "nt" and "\\pc\\v" in _PROJECT_BASE[-10:].lower(): + _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir)) +# PC/AMD64 +if os.name == "nt" and "\\pcbuild\\amd64" in _PROJECT_BASE[-14:].lower(): + _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir)) + + +def is_python_build(): + for fn in ("Setup.dist", "Setup.local"): + if os.path.isfile(os.path.join(_PROJECT_BASE, "Modules", fn)): + return True + return False + +_PYTHON_BUILD = is_python_build() + +_cfg_read = False + +def _ensure_cfg_read(): + global _cfg_read + if not _cfg_read: + from ..resources import finder + backport_package = __name__.rsplit('.', 1)[0] + _finder = finder(backport_package) + _cfgfile = _finder.find('sysconfig.cfg') + assert _cfgfile, 'sysconfig.cfg exists' + with _cfgfile.as_stream() as s: + _SCHEMES.readfp(s) + if _PYTHON_BUILD: + for scheme in ('posix_prefix', 'posix_home'): + _SCHEMES.set(scheme, 'include', '{srcdir}/Include') + _SCHEMES.set(scheme, 'platinclude', '{projectbase}/.') + + _cfg_read = True + + +_SCHEMES = configparser.RawConfigParser() +_VAR_REPL = re.compile(r'\{([^{]*?)\}') + +def _expand_globals(config): + _ensure_cfg_read() + if config.has_section('globals'): + globals = config.items('globals') + else: + globals = tuple() + + sections = config.sections() + for section in sections: + if section == 'globals': + continue + for option, value in globals: + if config.has_option(section, option): + continue + config.set(section, option, value) + config.remove_section('globals') + + # now expanding local variables defined in the cfg file + # + for section in config.sections(): + variables = dict(config.items(section)) + + def _replacer(matchobj): + name = matchobj.group(1) + if name in variables: + return variables[name] + return matchobj.group(0) + + for option, value in config.items(section): + config.set(section, option, _VAR_REPL.sub(_replacer, value)) + +#_expand_globals(_SCHEMES) + + # FIXME don't rely on sys.version here, its format is an implementation detail + # of CPython, use sys.version_info or sys.hexversion +_PY_VERSION = sys.version.split()[0] +_PY_VERSION_SHORT = sys.version[:3] +_PY_VERSION_SHORT_NO_DOT = _PY_VERSION[0] + _PY_VERSION[2] +_PREFIX = os.path.normpath(sys.prefix) +_EXEC_PREFIX = os.path.normpath(sys.exec_prefix) +_CONFIG_VARS = None +_USER_BASE = None + + +def _subst_vars(path, local_vars): + """In the string `path`, replace tokens like {some.thing} with the + corresponding value from the map `local_vars`. + + If there is no corresponding value, leave the token unchanged. + """ + def _replacer(matchobj): + name = matchobj.group(1) + if name in local_vars: + return local_vars[name] + elif name in os.environ: + return os.environ[name] + return matchobj.group(0) + return _VAR_REPL.sub(_replacer, path) + + +def _extend_dict(target_dict, other_dict): + target_keys = target_dict.keys() + for key, value in other_dict.items(): + if key in target_keys: + continue + target_dict[key] = value + + +def _expand_vars(scheme, vars): + res = {} + if vars is None: + vars = {} + _extend_dict(vars, get_config_vars()) + + for key, value in _SCHEMES.items(scheme): + if os.name in ('posix', 'nt'): + value = os.path.expanduser(value) + res[key] = os.path.normpath(_subst_vars(value, vars)) + return res + + +def format_value(value, vars): + def _replacer(matchobj): + name = matchobj.group(1) + if name in vars: + return vars[name] + return matchobj.group(0) + return _VAR_REPL.sub(_replacer, value) + + +def _get_default_scheme(): + if os.name == 'posix': + # the default scheme for posix is posix_prefix + return 'posix_prefix' + return os.name + + +def _getuserbase(): + env_base = os.environ.get("PYTHONUSERBASE", None) + + def joinuser(*args): + return os.path.expanduser(os.path.join(*args)) + + # what about 'os2emx', 'riscos' ? + if os.name == "nt": + base = os.environ.get("APPDATA") or "~" + if env_base: + return env_base + else: + return joinuser(base, "Python") + + if sys.platform == "darwin": + framework = get_config_var("PYTHONFRAMEWORK") + if framework: + if env_base: + return env_base + else: + return joinuser("~", "Library", framework, "%d.%d" % + sys.version_info[:2]) + + if env_base: + return env_base + else: + return joinuser("~", ".local") + + +def _parse_makefile(filename, vars=None): + """Parse a Makefile-style file. + + A dictionary containing name/value pairs is returned. If an + optional dictionary is passed in as the second argument, it is + used instead of a new dictionary. + """ + # Regexes needed for parsing Makefile (and similar syntaxes, + # like old-style Setup files). + _variable_rx = re.compile(r"([a-zA-Z][a-zA-Z0-9_]+)\s*=\s*(.*)") + _findvar1_rx = re.compile(r"\$\(([A-Za-z][A-Za-z0-9_]*)\)") + _findvar2_rx = re.compile(r"\${([A-Za-z][A-Za-z0-9_]*)}") + + if vars is None: + vars = {} + done = {} + notdone = {} + + with codecs.open(filename, encoding='utf-8', errors="surrogateescape") as f: + lines = f.readlines() + + for line in lines: + if line.startswith('#') or line.strip() == '': + continue + m = _variable_rx.match(line) + if m: + n, v = m.group(1, 2) + v = v.strip() + # `$$' is a literal `$' in make + tmpv = v.replace('$$', '') + + if "$" in tmpv: + notdone[n] = v + else: + try: + v = int(v) + except ValueError: + # insert literal `$' + done[n] = v.replace('$$', '$') + else: + done[n] = v + + # do variable interpolation here + variables = list(notdone.keys()) + + # Variables with a 'PY_' prefix in the makefile. These need to + # be made available without that prefix through sysconfig. + # Special care is needed to ensure that variable expansion works, even + # if the expansion uses the name without a prefix. + renamed_variables = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS') + + while len(variables) > 0: + for name in tuple(variables): + value = notdone[name] + m = _findvar1_rx.search(value) or _findvar2_rx.search(value) + if m is not None: + n = m.group(1) + found = True + if n in done: + item = str(done[n]) + elif n in notdone: + # get it on a subsequent round + found = False + elif n in os.environ: + # do it like make: fall back to environment + item = os.environ[n] + + elif n in renamed_variables: + if (name.startswith('PY_') and + name[3:] in renamed_variables): + item = "" + + elif 'PY_' + n in notdone: + found = False + + else: + item = str(done['PY_' + n]) + + else: + done[n] = item = "" + + if found: + after = value[m.end():] + value = value[:m.start()] + item + after + if "$" in after: + notdone[name] = value + else: + try: + value = int(value) + except ValueError: + done[name] = value.strip() + else: + done[name] = value + variables.remove(name) + + if (name.startswith('PY_') and + name[3:] in renamed_variables): + + name = name[3:] + if name not in done: + done[name] = value + + else: + # bogus variable reference (e.g. "prefix=$/opt/python"); + # just drop it since we can't deal + done[name] = value + variables.remove(name) + + # strip spurious spaces + for k, v in done.items(): + if isinstance(v, str): + done[k] = v.strip() + + # save the results in the global dictionary + vars.update(done) + return vars + + +def get_makefile_filename(): + """Return the path of the Makefile.""" + if _PYTHON_BUILD: + return os.path.join(_PROJECT_BASE, "Makefile") + if hasattr(sys, 'abiflags'): + config_dir_name = 'config-%s%s' % (_PY_VERSION_SHORT, sys.abiflags) + else: + config_dir_name = 'config' + return os.path.join(get_path('stdlib'), config_dir_name, 'Makefile') + + +def _init_posix(vars): + """Initialize the module as appropriate for POSIX systems.""" + # load the installed Makefile: + makefile = get_makefile_filename() + try: + _parse_makefile(makefile, vars) + except IOError as e: + msg = "invalid Python installation: unable to open %s" % makefile + if hasattr(e, "strerror"): + msg = msg + " (%s)" % e.strerror + raise IOError(msg) + # load the installed pyconfig.h: + config_h = get_config_h_filename() + try: + with open(config_h) as f: + parse_config_h(f, vars) + except IOError as e: + msg = "invalid Python installation: unable to open %s" % config_h + if hasattr(e, "strerror"): + msg = msg + " (%s)" % e.strerror + raise IOError(msg) + # On AIX, there are wrong paths to the linker scripts in the Makefile + # -- these paths are relative to the Python source, but when installed + # the scripts are in another directory. + if _PYTHON_BUILD: + vars['LDSHARED'] = vars['BLDSHARED'] + + +def _init_non_posix(vars): + """Initialize the module as appropriate for NT""" + # set basic install directories + vars['LIBDEST'] = get_path('stdlib') + vars['BINLIBDEST'] = get_path('platstdlib') + vars['INCLUDEPY'] = get_path('include') + vars['SO'] = '.pyd' + vars['EXE'] = '.exe' + vars['VERSION'] = _PY_VERSION_SHORT_NO_DOT + vars['BINDIR'] = os.path.dirname(_safe_realpath(sys.executable)) + +# +# public APIs +# + + +def parse_config_h(fp, vars=None): + """Parse a config.h-style file. + + A dictionary containing name/value pairs is returned. If an + optional dictionary is passed in as the second argument, it is + used instead of a new dictionary. + """ + if vars is None: + vars = {} + define_rx = re.compile("#define ([A-Z][A-Za-z0-9_]+) (.*)\n") + undef_rx = re.compile("/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/\n") + + while True: + line = fp.readline() + if not line: + break + m = define_rx.match(line) + if m: + n, v = m.group(1, 2) + try: + v = int(v) + except ValueError: + pass + vars[n] = v + else: + m = undef_rx.match(line) + if m: + vars[m.group(1)] = 0 + return vars + + +def get_config_h_filename(): + """Return the path of pyconfig.h.""" + if _PYTHON_BUILD: + if os.name == "nt": + inc_dir = os.path.join(_PROJECT_BASE, "PC") + else: + inc_dir = _PROJECT_BASE + else: + inc_dir = get_path('platinclude') + return os.path.join(inc_dir, 'pyconfig.h') + + +def get_scheme_names(): + """Return a tuple containing the schemes names.""" + return tuple(sorted(_SCHEMES.sections())) + + +def get_path_names(): + """Return a tuple containing the paths names.""" + # xxx see if we want a static list + return _SCHEMES.options('posix_prefix') + + +def get_paths(scheme=_get_default_scheme(), vars=None, expand=True): + """Return a mapping containing an install scheme. + + ``scheme`` is the install scheme name. If not provided, it will + return the default scheme for the current platform. + """ + _ensure_cfg_read() + if expand: + return _expand_vars(scheme, vars) + else: + return dict(_SCHEMES.items(scheme)) + + +def get_path(name, scheme=_get_default_scheme(), vars=None, expand=True): + """Return a path corresponding to the scheme. + + ``scheme`` is the install scheme name. + """ + return get_paths(scheme, vars, expand)[name] + + +def get_config_vars(*args): + """With no arguments, return a dictionary of all configuration + variables relevant for the current platform. + + On Unix, this means every variable defined in Python's installed Makefile; + On Windows and Mac OS it's a much smaller set. + + With arguments, return a list of values that result from looking up + each argument in the configuration variable dictionary. + """ + global _CONFIG_VARS + if _CONFIG_VARS is None: + _CONFIG_VARS = {} + # Normalized versions of prefix and exec_prefix are handy to have; + # in fact, these are the standard versions used most places in the + # distutils2 module. + _CONFIG_VARS['prefix'] = _PREFIX + _CONFIG_VARS['exec_prefix'] = _EXEC_PREFIX + _CONFIG_VARS['py_version'] = _PY_VERSION + _CONFIG_VARS['py_version_short'] = _PY_VERSION_SHORT + _CONFIG_VARS['py_version_nodot'] = _PY_VERSION[0] + _PY_VERSION[2] + _CONFIG_VARS['base'] = _PREFIX + _CONFIG_VARS['platbase'] = _EXEC_PREFIX + _CONFIG_VARS['projectbase'] = _PROJECT_BASE + try: + _CONFIG_VARS['abiflags'] = sys.abiflags + except AttributeError: + # sys.abiflags may not be defined on all platforms. + _CONFIG_VARS['abiflags'] = '' + + if os.name in ('nt', 'os2'): + _init_non_posix(_CONFIG_VARS) + if os.name == 'posix': + _init_posix(_CONFIG_VARS) + # Setting 'userbase' is done below the call to the + # init function to enable using 'get_config_var' in + # the init-function. + if sys.version >= '2.6': + _CONFIG_VARS['userbase'] = _getuserbase() + + if 'srcdir' not in _CONFIG_VARS: + _CONFIG_VARS['srcdir'] = _PROJECT_BASE + else: + _CONFIG_VARS['srcdir'] = _safe_realpath(_CONFIG_VARS['srcdir']) + + # Convert srcdir into an absolute path if it appears necessary. + # Normally it is relative to the build directory. However, during + # testing, for example, we might be running a non-installed python + # from a different directory. + if _PYTHON_BUILD and os.name == "posix": + base = _PROJECT_BASE + try: + cwd = os.getcwd() + except OSError: + cwd = None + if (not os.path.isabs(_CONFIG_VARS['srcdir']) and + base != cwd): + # srcdir is relative and we are not in the same directory + # as the executable. Assume executable is in the build + # directory and make srcdir absolute. + srcdir = os.path.join(base, _CONFIG_VARS['srcdir']) + _CONFIG_VARS['srcdir'] = os.path.normpath(srcdir) + + if sys.platform == 'darwin': + kernel_version = os.uname()[2] # Kernel version (8.4.3) + major_version = int(kernel_version.split('.')[0]) + + if major_version < 8: + # On Mac OS X before 10.4, check if -arch and -isysroot + # are in CFLAGS or LDFLAGS and remove them if they are. + # This is needed when building extensions on a 10.3 system + # using a universal build of python. + for key in ('LDFLAGS', 'BASECFLAGS', + # a number of derived variables. These need to be + # patched up as well. + 'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'): + flags = _CONFIG_VARS[key] + flags = re.sub(r'-arch\s+\w+\s', ' ', flags) + flags = re.sub('-isysroot [^ \t]*', ' ', flags) + _CONFIG_VARS[key] = flags + else: + # Allow the user to override the architecture flags using + # an environment variable. + # NOTE: This name was introduced by Apple in OSX 10.5 and + # is used by several scripting languages distributed with + # that OS release. + if 'ARCHFLAGS' in os.environ: + arch = os.environ['ARCHFLAGS'] + for key in ('LDFLAGS', 'BASECFLAGS', + # a number of derived variables. These need to be + # patched up as well. + 'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'): + + flags = _CONFIG_VARS[key] + flags = re.sub(r'-arch\s+\w+\s', ' ', flags) + flags = flags + ' ' + arch + _CONFIG_VARS[key] = flags + + # If we're on OSX 10.5 or later and the user tries to + # compiles an extension using an SDK that is not present + # on the current machine it is better to not use an SDK + # than to fail. + # + # The major usecase for this is users using a Python.org + # binary installer on OSX 10.6: that installer uses + # the 10.4u SDK, but that SDK is not installed by default + # when you install Xcode. + # + CFLAGS = _CONFIG_VARS.get('CFLAGS', '') + m = re.search(r'-isysroot\s+(\S+)', CFLAGS) + if m is not None: + sdk = m.group(1) + if not os.path.exists(sdk): + for key in ('LDFLAGS', 'BASECFLAGS', + # a number of derived variables. These need to be + # patched up as well. + 'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'): + + flags = _CONFIG_VARS[key] + flags = re.sub(r'-isysroot\s+\S+(\s|$)', ' ', flags) + _CONFIG_VARS[key] = flags + + if args: + vals = [] + for name in args: + vals.append(_CONFIG_VARS.get(name)) + return vals + else: + return _CONFIG_VARS + + +def get_config_var(name): + """Return the value of a single variable using the dictionary returned by + 'get_config_vars()'. + + Equivalent to get_config_vars().get(name) + """ + return get_config_vars().get(name) + + +def get_platform(): + """Return a string that identifies the current platform. + + This is used mainly to distinguish platform-specific build directories and + platform-specific built distributions. Typically includes the OS name + and version and the architecture (as supplied by 'os.uname()'), + although the exact information included depends on the OS; eg. for IRIX + the architecture isn't particularly important (IRIX only runs on SGI + hardware), but for Linux the kernel version isn't particularly + important. + + Examples of returned values: + linux-i586 + linux-alpha (?) + solaris-2.6-sun4u + irix-5.3 + irix64-6.2 + + Windows will return one of: + win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc) + win-ia64 (64bit Windows on Itanium) + win32 (all others - specifically, sys.platform is returned) + + For other non-POSIX platforms, currently just returns 'sys.platform'. + """ + if os.name == 'nt': + # sniff sys.version for architecture. + prefix = " bit (" + i = sys.version.find(prefix) + if i == -1: + return sys.platform + j = sys.version.find(")", i) + look = sys.version[i+len(prefix):j].lower() + if look == 'amd64': + return 'win-amd64' + if look == 'itanium': + return 'win-ia64' + return sys.platform + + if os.name != "posix" or not hasattr(os, 'uname'): + # XXX what about the architecture? NT is Intel or Alpha, + # Mac OS is M68k or PPC, etc. + return sys.platform + + # Try to distinguish various flavours of Unix + osname, host, release, version, machine = os.uname() + + # Convert the OS name to lowercase, remove '/' characters + # (to accommodate BSD/OS), and translate spaces (for "Power Macintosh") + osname = osname.lower().replace('/', '') + machine = machine.replace(' ', '_') + machine = machine.replace('/', '-') + + if osname[:5] == "linux": + # At least on Linux/Intel, 'machine' is the processor -- + # i386, etc. + # XXX what about Alpha, SPARC, etc? + return "%s-%s" % (osname, machine) + elif osname[:5] == "sunos": + if release[0] >= "5": # SunOS 5 == Solaris 2 + osname = "solaris" + release = "%d.%s" % (int(release[0]) - 3, release[2:]) + # fall through to standard osname-release-machine representation + elif osname[:4] == "irix": # could be "irix64"! + return "%s-%s" % (osname, release) + elif osname[:3] == "aix": + return "%s-%s.%s" % (osname, version, release) + elif osname[:6] == "cygwin": + osname = "cygwin" + rel_re = re.compile(r'[\d.]+') + m = rel_re.match(release) + if m: + release = m.group() + elif osname[:6] == "darwin": + # + # For our purposes, we'll assume that the system version from + # distutils' perspective is what MACOSX_DEPLOYMENT_TARGET is set + # to. This makes the compatibility story a bit more sane because the + # machine is going to compile and link as if it were + # MACOSX_DEPLOYMENT_TARGET. + cfgvars = get_config_vars() + macver = cfgvars.get('MACOSX_DEPLOYMENT_TARGET') + + if True: + # Always calculate the release of the running machine, + # needed to determine if we can build fat binaries or not. + + macrelease = macver + # Get the system version. Reading this plist is a documented + # way to get the system version (see the documentation for + # the Gestalt Manager) + try: + f = open('/System/Library/CoreServices/SystemVersion.plist') + except IOError: + # We're on a plain darwin box, fall back to the default + # behaviour. + pass + else: + try: + m = re.search(r'<key>ProductUserVisibleVersion</key>\s*' + r'<string>(.*?)</string>', f.read()) + finally: + f.close() + if m is not None: + macrelease = '.'.join(m.group(1).split('.')[:2]) + # else: fall back to the default behaviour + + if not macver: + macver = macrelease + + if macver: + release = macver + osname = "macosx" + + if ((macrelease + '.') >= '10.4.' and + '-arch' in get_config_vars().get('CFLAGS', '').strip()): + # The universal build will build fat binaries, but not on + # systems before 10.4 + # + # Try to detect 4-way universal builds, those have machine-type + # 'universal' instead of 'fat'. + + machine = 'fat' + cflags = get_config_vars().get('CFLAGS') + + archs = re.findall(r'-arch\s+(\S+)', cflags) + archs = tuple(sorted(set(archs))) + + if len(archs) == 1: + machine = archs[0] + elif archs == ('i386', 'ppc'): + machine = 'fat' + elif archs == ('i386', 'x86_64'): + machine = 'intel' + elif archs == ('i386', 'ppc', 'x86_64'): + machine = 'fat3' + elif archs == ('ppc64', 'x86_64'): + machine = 'fat64' + elif archs == ('i386', 'ppc', 'ppc64', 'x86_64'): + machine = 'universal' + else: + raise ValueError( + "Don't know machine value for archs=%r" % (archs,)) + + elif machine == 'i386': + # On OSX the machine type returned by uname is always the + # 32-bit variant, even if the executable architecture is + # the 64-bit variant + if sys.maxsize >= 2**32: + machine = 'x86_64' + + elif machine in ('PowerPC', 'Power_Macintosh'): + # Pick a sane name for the PPC architecture. + # See 'i386' case + if sys.maxsize >= 2**32: + machine = 'ppc64' + else: + machine = 'ppc' + + return "%s-%s-%s" % (osname, release, machine) + + +def get_python_version(): + return _PY_VERSION_SHORT + + +def _print_dict(title, data): + for index, (key, value) in enumerate(sorted(data.items())): + if index == 0: + print('%s: ' % (title)) + print('\t%s = "%s"' % (key, value)) + + +def _main(): + """Display all information sysconfig detains.""" + print('Platform: "%s"' % get_platform()) + print('Python version: "%s"' % get_python_version()) + print('Current installation scheme: "%s"' % _get_default_scheme()) + print() + _print_dict('Paths', get_paths()) + print() + _print_dict('Variables', get_config_vars()) + + +if __name__ == '__main__': + _main() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/tarfile.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/tarfile.py new file mode 100644 index 0000000..d66d856 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/_backport/tarfile.py @@ -0,0 +1,2607 @@ +#------------------------------------------------------------------- +# tarfile.py +#------------------------------------------------------------------- +# Copyright (C) 2002 Lars Gustaebel <lars@gustaebel.de> +# All rights reserved. +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +from __future__ import print_function + +"""Read from and write to tar format archives. +""" + +__version__ = "$Revision$" + +version = "0.9.0" +__author__ = "Lars Gust\u00e4bel (lars@gustaebel.de)" +__date__ = "$Date: 2011-02-25 17:42:01 +0200 (Fri, 25 Feb 2011) $" +__cvsid__ = "$Id: tarfile.py 88586 2011-02-25 15:42:01Z marc-andre.lemburg $" +__credits__ = "Gustavo Niemeyer, Niels Gust\u00e4bel, Richard Townsend." + +#--------- +# Imports +#--------- +import sys +import os +import stat +import errno +import time +import struct +import copy +import re + +try: + import grp, pwd +except ImportError: + grp = pwd = None + +# os.symlink on Windows prior to 6.0 raises NotImplementedError +symlink_exception = (AttributeError, NotImplementedError) +try: + # WindowsError (1314) will be raised if the caller does not hold the + # SeCreateSymbolicLinkPrivilege privilege + symlink_exception += (WindowsError,) +except NameError: + pass + +# from tarfile import * +__all__ = ["TarFile", "TarInfo", "is_tarfile", "TarError"] + +if sys.version_info[0] < 3: + import __builtin__ as builtins +else: + import builtins + +_open = builtins.open # Since 'open' is TarFile.open + +#--------------------------------------------------------- +# tar constants +#--------------------------------------------------------- +NUL = b"\0" # the null character +BLOCKSIZE = 512 # length of processing blocks +RECORDSIZE = BLOCKSIZE * 20 # length of records +GNU_MAGIC = b"ustar \0" # magic gnu tar string +POSIX_MAGIC = b"ustar\x0000" # magic posix tar string + +LENGTH_NAME = 100 # maximum length of a filename +LENGTH_LINK = 100 # maximum length of a linkname +LENGTH_PREFIX = 155 # maximum length of the prefix field + +REGTYPE = b"0" # regular file +AREGTYPE = b"\0" # regular file +LNKTYPE = b"1" # link (inside tarfile) +SYMTYPE = b"2" # symbolic link +CHRTYPE = b"3" # character special device +BLKTYPE = b"4" # block special device +DIRTYPE = b"5" # directory +FIFOTYPE = b"6" # fifo special device +CONTTYPE = b"7" # contiguous file + +GNUTYPE_LONGNAME = b"L" # GNU tar longname +GNUTYPE_LONGLINK = b"K" # GNU tar longlink +GNUTYPE_SPARSE = b"S" # GNU tar sparse file + +XHDTYPE = b"x" # POSIX.1-2001 extended header +XGLTYPE = b"g" # POSIX.1-2001 global header +SOLARIS_XHDTYPE = b"X" # Solaris extended header + +USTAR_FORMAT = 0 # POSIX.1-1988 (ustar) format +GNU_FORMAT = 1 # GNU tar format +PAX_FORMAT = 2 # POSIX.1-2001 (pax) format +DEFAULT_FORMAT = GNU_FORMAT + +#--------------------------------------------------------- +# tarfile constants +#--------------------------------------------------------- +# File types that tarfile supports: +SUPPORTED_TYPES = (REGTYPE, AREGTYPE, LNKTYPE, + SYMTYPE, DIRTYPE, FIFOTYPE, + CONTTYPE, CHRTYPE, BLKTYPE, + GNUTYPE_LONGNAME, GNUTYPE_LONGLINK, + GNUTYPE_SPARSE) + +# File types that will be treated as a regular file. +REGULAR_TYPES = (REGTYPE, AREGTYPE, + CONTTYPE, GNUTYPE_SPARSE) + +# File types that are part of the GNU tar format. +GNU_TYPES = (GNUTYPE_LONGNAME, GNUTYPE_LONGLINK, + GNUTYPE_SPARSE) + +# Fields from a pax header that override a TarInfo attribute. +PAX_FIELDS = ("path", "linkpath", "size", "mtime", + "uid", "gid", "uname", "gname") + +# Fields from a pax header that are affected by hdrcharset. +PAX_NAME_FIELDS = set(("path", "linkpath", "uname", "gname")) + +# Fields in a pax header that are numbers, all other fields +# are treated as strings. +PAX_NUMBER_FIELDS = { + "atime": float, + "ctime": float, + "mtime": float, + "uid": int, + "gid": int, + "size": int +} + +#--------------------------------------------------------- +# Bits used in the mode field, values in octal. +#--------------------------------------------------------- +S_IFLNK = 0o120000 # symbolic link +S_IFREG = 0o100000 # regular file +S_IFBLK = 0o060000 # block device +S_IFDIR = 0o040000 # directory +S_IFCHR = 0o020000 # character device +S_IFIFO = 0o010000 # fifo + +TSUID = 0o4000 # set UID on execution +TSGID = 0o2000 # set GID on execution +TSVTX = 0o1000 # reserved + +TUREAD = 0o400 # read by owner +TUWRITE = 0o200 # write by owner +TUEXEC = 0o100 # execute/search by owner +TGREAD = 0o040 # read by group +TGWRITE = 0o020 # write by group +TGEXEC = 0o010 # execute/search by group +TOREAD = 0o004 # read by other +TOWRITE = 0o002 # write by other +TOEXEC = 0o001 # execute/search by other + +#--------------------------------------------------------- +# initialization +#--------------------------------------------------------- +if os.name in ("nt", "ce"): + ENCODING = "utf-8" +else: + ENCODING = sys.getfilesystemencoding() + +#--------------------------------------------------------- +# Some useful functions +#--------------------------------------------------------- + +def stn(s, length, encoding, errors): + """Convert a string to a null-terminated bytes object. + """ + s = s.encode(encoding, errors) + return s[:length] + (length - len(s)) * NUL + +def nts(s, encoding, errors): + """Convert a null-terminated bytes object to a string. + """ + p = s.find(b"\0") + if p != -1: + s = s[:p] + return s.decode(encoding, errors) + +def nti(s): + """Convert a number field to a python number. + """ + # There are two possible encodings for a number field, see + # itn() below. + if s[0] != chr(0o200): + try: + n = int(nts(s, "ascii", "strict") or "0", 8) + except ValueError: + raise InvalidHeaderError("invalid header") + else: + n = 0 + for i in range(len(s) - 1): + n <<= 8 + n += ord(s[i + 1]) + return n + +def itn(n, digits=8, format=DEFAULT_FORMAT): + """Convert a python number to a number field. + """ + # POSIX 1003.1-1988 requires numbers to be encoded as a string of + # octal digits followed by a null-byte, this allows values up to + # (8**(digits-1))-1. GNU tar allows storing numbers greater than + # that if necessary. A leading 0o200 byte indicates this particular + # encoding, the following digits-1 bytes are a big-endian + # representation. This allows values up to (256**(digits-1))-1. + if 0 <= n < 8 ** (digits - 1): + s = ("%0*o" % (digits - 1, n)).encode("ascii") + NUL + else: + if format != GNU_FORMAT or n >= 256 ** (digits - 1): + raise ValueError("overflow in number field") + + if n < 0: + # XXX We mimic GNU tar's behaviour with negative numbers, + # this could raise OverflowError. + n = struct.unpack("L", struct.pack("l", n))[0] + + s = bytearray() + for i in range(digits - 1): + s.insert(0, n & 0o377) + n >>= 8 + s.insert(0, 0o200) + return s + +def calc_chksums(buf): + """Calculate the checksum for a member's header by summing up all + characters except for the chksum field which is treated as if + it was filled with spaces. According to the GNU tar sources, + some tars (Sun and NeXT) calculate chksum with signed char, + which will be different if there are chars in the buffer with + the high bit set. So we calculate two checksums, unsigned and + signed. + """ + unsigned_chksum = 256 + sum(struct.unpack("148B", buf[:148]) + struct.unpack("356B", buf[156:512])) + signed_chksum = 256 + sum(struct.unpack("148b", buf[:148]) + struct.unpack("356b", buf[156:512])) + return unsigned_chksum, signed_chksum + +def copyfileobj(src, dst, length=None): + """Copy length bytes from fileobj src to fileobj dst. + If length is None, copy the entire content. + """ + if length == 0: + return + if length is None: + while True: + buf = src.read(16*1024) + if not buf: + break + dst.write(buf) + return + + BUFSIZE = 16 * 1024 + blocks, remainder = divmod(length, BUFSIZE) + for b in range(blocks): + buf = src.read(BUFSIZE) + if len(buf) < BUFSIZE: + raise IOError("end of file reached") + dst.write(buf) + + if remainder != 0: + buf = src.read(remainder) + if len(buf) < remainder: + raise IOError("end of file reached") + dst.write(buf) + return + +filemode_table = ( + ((S_IFLNK, "l"), + (S_IFREG, "-"), + (S_IFBLK, "b"), + (S_IFDIR, "d"), + (S_IFCHR, "c"), + (S_IFIFO, "p")), + + ((TUREAD, "r"),), + ((TUWRITE, "w"),), + ((TUEXEC|TSUID, "s"), + (TSUID, "S"), + (TUEXEC, "x")), + + ((TGREAD, "r"),), + ((TGWRITE, "w"),), + ((TGEXEC|TSGID, "s"), + (TSGID, "S"), + (TGEXEC, "x")), + + ((TOREAD, "r"),), + ((TOWRITE, "w"),), + ((TOEXEC|TSVTX, "t"), + (TSVTX, "T"), + (TOEXEC, "x")) +) + +def filemode(mode): + """Convert a file's mode to a string of the form + -rwxrwxrwx. + Used by TarFile.list() + """ + perm = [] + for table in filemode_table: + for bit, char in table: + if mode & bit == bit: + perm.append(char) + break + else: + perm.append("-") + return "".join(perm) + +class TarError(Exception): + """Base exception.""" + pass +class ExtractError(TarError): + """General exception for extract errors.""" + pass +class ReadError(TarError): + """Exception for unreadable tar archives.""" + pass +class CompressionError(TarError): + """Exception for unavailable compression methods.""" + pass +class StreamError(TarError): + """Exception for unsupported operations on stream-like TarFiles.""" + pass +class HeaderError(TarError): + """Base exception for header errors.""" + pass +class EmptyHeaderError(HeaderError): + """Exception for empty headers.""" + pass +class TruncatedHeaderError(HeaderError): + """Exception for truncated headers.""" + pass +class EOFHeaderError(HeaderError): + """Exception for end of file headers.""" + pass +class InvalidHeaderError(HeaderError): + """Exception for invalid headers.""" + pass +class SubsequentHeaderError(HeaderError): + """Exception for missing and invalid extended headers.""" + pass + +#--------------------------- +# internal stream interface +#--------------------------- +class _LowLevelFile(object): + """Low-level file object. Supports reading and writing. + It is used instead of a regular file object for streaming + access. + """ + + def __init__(self, name, mode): + mode = { + "r": os.O_RDONLY, + "w": os.O_WRONLY | os.O_CREAT | os.O_TRUNC, + }[mode] + if hasattr(os, "O_BINARY"): + mode |= os.O_BINARY + self.fd = os.open(name, mode, 0o666) + + def close(self): + os.close(self.fd) + + def read(self, size): + return os.read(self.fd, size) + + def write(self, s): + os.write(self.fd, s) + +class _Stream(object): + """Class that serves as an adapter between TarFile and + a stream-like object. The stream-like object only + needs to have a read() or write() method and is accessed + blockwise. Use of gzip or bzip2 compression is possible. + A stream-like object could be for example: sys.stdin, + sys.stdout, a socket, a tape device etc. + + _Stream is intended to be used only internally. + """ + + def __init__(self, name, mode, comptype, fileobj, bufsize): + """Construct a _Stream object. + """ + self._extfileobj = True + if fileobj is None: + fileobj = _LowLevelFile(name, mode) + self._extfileobj = False + + if comptype == '*': + # Enable transparent compression detection for the + # stream interface + fileobj = _StreamProxy(fileobj) + comptype = fileobj.getcomptype() + + self.name = name or "" + self.mode = mode + self.comptype = comptype + self.fileobj = fileobj + self.bufsize = bufsize + self.buf = b"" + self.pos = 0 + self.closed = False + + try: + if comptype == "gz": + try: + import zlib + except ImportError: + raise CompressionError("zlib module is not available") + self.zlib = zlib + self.crc = zlib.crc32(b"") + if mode == "r": + self._init_read_gz() + else: + self._init_write_gz() + + if comptype == "bz2": + try: + import bz2 + except ImportError: + raise CompressionError("bz2 module is not available") + if mode == "r": + self.dbuf = b"" + self.cmp = bz2.BZ2Decompressor() + else: + self.cmp = bz2.BZ2Compressor() + except: + if not self._extfileobj: + self.fileobj.close() + self.closed = True + raise + + def __del__(self): + if hasattr(self, "closed") and not self.closed: + self.close() + + def _init_write_gz(self): + """Initialize for writing with gzip compression. + """ + self.cmp = self.zlib.compressobj(9, self.zlib.DEFLATED, + -self.zlib.MAX_WBITS, + self.zlib.DEF_MEM_LEVEL, + 0) + timestamp = struct.pack("<L", int(time.time())) + self.__write(b"\037\213\010\010" + timestamp + b"\002\377") + if self.name.endswith(".gz"): + self.name = self.name[:-3] + # RFC1952 says we must use ISO-8859-1 for the FNAME field. + self.__write(self.name.encode("iso-8859-1", "replace") + NUL) + + def write(self, s): + """Write string s to the stream. + """ + if self.comptype == "gz": + self.crc = self.zlib.crc32(s, self.crc) + self.pos += len(s) + if self.comptype != "tar": + s = self.cmp.compress(s) + self.__write(s) + + def __write(self, s): + """Write string s to the stream if a whole new block + is ready to be written. + """ + self.buf += s + while len(self.buf) > self.bufsize: + self.fileobj.write(self.buf[:self.bufsize]) + self.buf = self.buf[self.bufsize:] + + def close(self): + """Close the _Stream object. No operation should be + done on it afterwards. + """ + if self.closed: + return + + if self.mode == "w" and self.comptype != "tar": + self.buf += self.cmp.flush() + + if self.mode == "w" and self.buf: + self.fileobj.write(self.buf) + self.buf = b"" + if self.comptype == "gz": + # The native zlib crc is an unsigned 32-bit integer, but + # the Python wrapper implicitly casts that to a signed C + # long. So, on a 32-bit box self.crc may "look negative", + # while the same crc on a 64-bit box may "look positive". + # To avoid irksome warnings from the `struct` module, force + # it to look positive on all boxes. + self.fileobj.write(struct.pack("<L", self.crc & 0xffffffff)) + self.fileobj.write(struct.pack("<L", self.pos & 0xffffFFFF)) + + if not self._extfileobj: + self.fileobj.close() + + self.closed = True + + def _init_read_gz(self): + """Initialize for reading a gzip compressed fileobj. + """ + self.cmp = self.zlib.decompressobj(-self.zlib.MAX_WBITS) + self.dbuf = b"" + + # taken from gzip.GzipFile with some alterations + if self.__read(2) != b"\037\213": + raise ReadError("not a gzip file") + if self.__read(1) != b"\010": + raise CompressionError("unsupported compression method") + + flag = ord(self.__read(1)) + self.__read(6) + + if flag & 4: + xlen = ord(self.__read(1)) + 256 * ord(self.__read(1)) + self.read(xlen) + if flag & 8: + while True: + s = self.__read(1) + if not s or s == NUL: + break + if flag & 16: + while True: + s = self.__read(1) + if not s or s == NUL: + break + if flag & 2: + self.__read(2) + + def tell(self): + """Return the stream's file pointer position. + """ + return self.pos + + def seek(self, pos=0): + """Set the stream's file pointer to pos. Negative seeking + is forbidden. + """ + if pos - self.pos >= 0: + blocks, remainder = divmod(pos - self.pos, self.bufsize) + for i in range(blocks): + self.read(self.bufsize) + self.read(remainder) + else: + raise StreamError("seeking backwards is not allowed") + return self.pos + + def read(self, size=None): + """Return the next size number of bytes from the stream. + If size is not defined, return all bytes of the stream + up to EOF. + """ + if size is None: + t = [] + while True: + buf = self._read(self.bufsize) + if not buf: + break + t.append(buf) + buf = "".join(t) + else: + buf = self._read(size) + self.pos += len(buf) + return buf + + def _read(self, size): + """Return size bytes from the stream. + """ + if self.comptype == "tar": + return self.__read(size) + + c = len(self.dbuf) + while c < size: + buf = self.__read(self.bufsize) + if not buf: + break + try: + buf = self.cmp.decompress(buf) + except IOError: + raise ReadError("invalid compressed data") + self.dbuf += buf + c += len(buf) + buf = self.dbuf[:size] + self.dbuf = self.dbuf[size:] + return buf + + def __read(self, size): + """Return size bytes from stream. If internal buffer is empty, + read another block from the stream. + """ + c = len(self.buf) + while c < size: + buf = self.fileobj.read(self.bufsize) + if not buf: + break + self.buf += buf + c += len(buf) + buf = self.buf[:size] + self.buf = self.buf[size:] + return buf +# class _Stream + +class _StreamProxy(object): + """Small proxy class that enables transparent compression + detection for the Stream interface (mode 'r|*'). + """ + + def __init__(self, fileobj): + self.fileobj = fileobj + self.buf = self.fileobj.read(BLOCKSIZE) + + def read(self, size): + self.read = self.fileobj.read + return self.buf + + def getcomptype(self): + if self.buf.startswith(b"\037\213\010"): + return "gz" + if self.buf.startswith(b"BZh91"): + return "bz2" + return "tar" + + def close(self): + self.fileobj.close() +# class StreamProxy + +class _BZ2Proxy(object): + """Small proxy class that enables external file object + support for "r:bz2" and "w:bz2" modes. This is actually + a workaround for a limitation in bz2 module's BZ2File + class which (unlike gzip.GzipFile) has no support for + a file object argument. + """ + + blocksize = 16 * 1024 + + def __init__(self, fileobj, mode): + self.fileobj = fileobj + self.mode = mode + self.name = getattr(self.fileobj, "name", None) + self.init() + + def init(self): + import bz2 + self.pos = 0 + if self.mode == "r": + self.bz2obj = bz2.BZ2Decompressor() + self.fileobj.seek(0) + self.buf = b"" + else: + self.bz2obj = bz2.BZ2Compressor() + + def read(self, size): + x = len(self.buf) + while x < size: + raw = self.fileobj.read(self.blocksize) + if not raw: + break + data = self.bz2obj.decompress(raw) + self.buf += data + x += len(data) + + buf = self.buf[:size] + self.buf = self.buf[size:] + self.pos += len(buf) + return buf + + def seek(self, pos): + if pos < self.pos: + self.init() + self.read(pos - self.pos) + + def tell(self): + return self.pos + + def write(self, data): + self.pos += len(data) + raw = self.bz2obj.compress(data) + self.fileobj.write(raw) + + def close(self): + if self.mode == "w": + raw = self.bz2obj.flush() + self.fileobj.write(raw) +# class _BZ2Proxy + +#------------------------ +# Extraction file object +#------------------------ +class _FileInFile(object): + """A thin wrapper around an existing file object that + provides a part of its data as an individual file + object. + """ + + def __init__(self, fileobj, offset, size, blockinfo=None): + self.fileobj = fileobj + self.offset = offset + self.size = size + self.position = 0 + + if blockinfo is None: + blockinfo = [(0, size)] + + # Construct a map with data and zero blocks. + self.map_index = 0 + self.map = [] + lastpos = 0 + realpos = self.offset + for offset, size in blockinfo: + if offset > lastpos: + self.map.append((False, lastpos, offset, None)) + self.map.append((True, offset, offset + size, realpos)) + realpos += size + lastpos = offset + size + if lastpos < self.size: + self.map.append((False, lastpos, self.size, None)) + + def seekable(self): + if not hasattr(self.fileobj, "seekable"): + # XXX gzip.GzipFile and bz2.BZ2File + return True + return self.fileobj.seekable() + + def tell(self): + """Return the current file position. + """ + return self.position + + def seek(self, position): + """Seek to a position in the file. + """ + self.position = position + + def read(self, size=None): + """Read data from the file. + """ + if size is None: + size = self.size - self.position + else: + size = min(size, self.size - self.position) + + buf = b"" + while size > 0: + while True: + data, start, stop, offset = self.map[self.map_index] + if start <= self.position < stop: + break + else: + self.map_index += 1 + if self.map_index == len(self.map): + self.map_index = 0 + length = min(size, stop - self.position) + if data: + self.fileobj.seek(offset + (self.position - start)) + buf += self.fileobj.read(length) + else: + buf += NUL * length + size -= length + self.position += length + return buf +#class _FileInFile + + +class ExFileObject(object): + """File-like object for reading an archive member. + Is returned by TarFile.extractfile(). + """ + blocksize = 1024 + + def __init__(self, tarfile, tarinfo): + self.fileobj = _FileInFile(tarfile.fileobj, + tarinfo.offset_data, + tarinfo.size, + tarinfo.sparse) + self.name = tarinfo.name + self.mode = "r" + self.closed = False + self.size = tarinfo.size + + self.position = 0 + self.buffer = b"" + + def readable(self): + return True + + def writable(self): + return False + + def seekable(self): + return self.fileobj.seekable() + + def read(self, size=None): + """Read at most size bytes from the file. If size is not + present or None, read all data until EOF is reached. + """ + if self.closed: + raise ValueError("I/O operation on closed file") + + buf = b"" + if self.buffer: + if size is None: + buf = self.buffer + self.buffer = b"" + else: + buf = self.buffer[:size] + self.buffer = self.buffer[size:] + + if size is None: + buf += self.fileobj.read() + else: + buf += self.fileobj.read(size - len(buf)) + + self.position += len(buf) + return buf + + # XXX TextIOWrapper uses the read1() method. + read1 = read + + def readline(self, size=-1): + """Read one entire line from the file. If size is present + and non-negative, return a string with at most that + size, which may be an incomplete line. + """ + if self.closed: + raise ValueError("I/O operation on closed file") + + pos = self.buffer.find(b"\n") + 1 + if pos == 0: + # no newline found. + while True: + buf = self.fileobj.read(self.blocksize) + self.buffer += buf + if not buf or b"\n" in buf: + pos = self.buffer.find(b"\n") + 1 + if pos == 0: + # no newline found. + pos = len(self.buffer) + break + + if size != -1: + pos = min(size, pos) + + buf = self.buffer[:pos] + self.buffer = self.buffer[pos:] + self.position += len(buf) + return buf + + def readlines(self): + """Return a list with all remaining lines. + """ + result = [] + while True: + line = self.readline() + if not line: break + result.append(line) + return result + + def tell(self): + """Return the current file position. + """ + if self.closed: + raise ValueError("I/O operation on closed file") + + return self.position + + def seek(self, pos, whence=os.SEEK_SET): + """Seek to a position in the file. + """ + if self.closed: + raise ValueError("I/O operation on closed file") + + if whence == os.SEEK_SET: + self.position = min(max(pos, 0), self.size) + elif whence == os.SEEK_CUR: + if pos < 0: + self.position = max(self.position + pos, 0) + else: + self.position = min(self.position + pos, self.size) + elif whence == os.SEEK_END: + self.position = max(min(self.size + pos, self.size), 0) + else: + raise ValueError("Invalid argument") + + self.buffer = b"" + self.fileobj.seek(self.position) + + def close(self): + """Close the file object. + """ + self.closed = True + + def __iter__(self): + """Get an iterator over the file's lines. + """ + while True: + line = self.readline() + if not line: + break + yield line +#class ExFileObject + +#------------------ +# Exported Classes +#------------------ +class TarInfo(object): + """Informational class which holds the details about an + archive member given by a tar header block. + TarInfo objects are returned by TarFile.getmember(), + TarFile.getmembers() and TarFile.gettarinfo() and are + usually created internally. + """ + + __slots__ = ("name", "mode", "uid", "gid", "size", "mtime", + "chksum", "type", "linkname", "uname", "gname", + "devmajor", "devminor", + "offset", "offset_data", "pax_headers", "sparse", + "tarfile", "_sparse_structs", "_link_target") + + def __init__(self, name=""): + """Construct a TarInfo object. name is the optional name + of the member. + """ + self.name = name # member name + self.mode = 0o644 # file permissions + self.uid = 0 # user id + self.gid = 0 # group id + self.size = 0 # file size + self.mtime = 0 # modification time + self.chksum = 0 # header checksum + self.type = REGTYPE # member type + self.linkname = "" # link name + self.uname = "" # user name + self.gname = "" # group name + self.devmajor = 0 # device major number + self.devminor = 0 # device minor number + + self.offset = 0 # the tar header starts here + self.offset_data = 0 # the file's data starts here + + self.sparse = None # sparse member information + self.pax_headers = {} # pax header information + + # In pax headers the "name" and "linkname" field are called + # "path" and "linkpath". + def _getpath(self): + return self.name + def _setpath(self, name): + self.name = name + path = property(_getpath, _setpath) + + def _getlinkpath(self): + return self.linkname + def _setlinkpath(self, linkname): + self.linkname = linkname + linkpath = property(_getlinkpath, _setlinkpath) + + def __repr__(self): + return "<%s %r at %#x>" % (self.__class__.__name__,self.name,id(self)) + + def get_info(self): + """Return the TarInfo's attributes as a dictionary. + """ + info = { + "name": self.name, + "mode": self.mode & 0o7777, + "uid": self.uid, + "gid": self.gid, + "size": self.size, + "mtime": self.mtime, + "chksum": self.chksum, + "type": self.type, + "linkname": self.linkname, + "uname": self.uname, + "gname": self.gname, + "devmajor": self.devmajor, + "devminor": self.devminor + } + + if info["type"] == DIRTYPE and not info["name"].endswith("/"): + info["name"] += "/" + + return info + + def tobuf(self, format=DEFAULT_FORMAT, encoding=ENCODING, errors="surrogateescape"): + """Return a tar header as a string of 512 byte blocks. + """ + info = self.get_info() + + if format == USTAR_FORMAT: + return self.create_ustar_header(info, encoding, errors) + elif format == GNU_FORMAT: + return self.create_gnu_header(info, encoding, errors) + elif format == PAX_FORMAT: + return self.create_pax_header(info, encoding) + else: + raise ValueError("invalid format") + + def create_ustar_header(self, info, encoding, errors): + """Return the object as a ustar header block. + """ + info["magic"] = POSIX_MAGIC + + if len(info["linkname"]) > LENGTH_LINK: + raise ValueError("linkname is too long") + + if len(info["name"]) > LENGTH_NAME: + info["prefix"], info["name"] = self._posix_split_name(info["name"]) + + return self._create_header(info, USTAR_FORMAT, encoding, errors) + + def create_gnu_header(self, info, encoding, errors): + """Return the object as a GNU header block sequence. + """ + info["magic"] = GNU_MAGIC + + buf = b"" + if len(info["linkname"]) > LENGTH_LINK: + buf += self._create_gnu_long_header(info["linkname"], GNUTYPE_LONGLINK, encoding, errors) + + if len(info["name"]) > LENGTH_NAME: + buf += self._create_gnu_long_header(info["name"], GNUTYPE_LONGNAME, encoding, errors) + + return buf + self._create_header(info, GNU_FORMAT, encoding, errors) + + def create_pax_header(self, info, encoding): + """Return the object as a ustar header block. If it cannot be + represented this way, prepend a pax extended header sequence + with supplement information. + """ + info["magic"] = POSIX_MAGIC + pax_headers = self.pax_headers.copy() + + # Test string fields for values that exceed the field length or cannot + # be represented in ASCII encoding. + for name, hname, length in ( + ("name", "path", LENGTH_NAME), ("linkname", "linkpath", LENGTH_LINK), + ("uname", "uname", 32), ("gname", "gname", 32)): + + if hname in pax_headers: + # The pax header has priority. + continue + + # Try to encode the string as ASCII. + try: + info[name].encode("ascii", "strict") + except UnicodeEncodeError: + pax_headers[hname] = info[name] + continue + + if len(info[name]) > length: + pax_headers[hname] = info[name] + + # Test number fields for values that exceed the field limit or values + # that like to be stored as float. + for name, digits in (("uid", 8), ("gid", 8), ("size", 12), ("mtime", 12)): + if name in pax_headers: + # The pax header has priority. Avoid overflow. + info[name] = 0 + continue + + val = info[name] + if not 0 <= val < 8 ** (digits - 1) or isinstance(val, float): + pax_headers[name] = str(val) + info[name] = 0 + + # Create a pax extended header if necessary. + if pax_headers: + buf = self._create_pax_generic_header(pax_headers, XHDTYPE, encoding) + else: + buf = b"" + + return buf + self._create_header(info, USTAR_FORMAT, "ascii", "replace") + + @classmethod + def create_pax_global_header(cls, pax_headers): + """Return the object as a pax global header block sequence. + """ + return cls._create_pax_generic_header(pax_headers, XGLTYPE, "utf8") + + def _posix_split_name(self, name): + """Split a name longer than 100 chars into a prefix + and a name part. + """ + prefix = name[:LENGTH_PREFIX + 1] + while prefix and prefix[-1] != "/": + prefix = prefix[:-1] + + name = name[len(prefix):] + prefix = prefix[:-1] + + if not prefix or len(name) > LENGTH_NAME: + raise ValueError("name is too long") + return prefix, name + + @staticmethod + def _create_header(info, format, encoding, errors): + """Return a header block. info is a dictionary with file + information, format must be one of the *_FORMAT constants. + """ + parts = [ + stn(info.get("name", ""), 100, encoding, errors), + itn(info.get("mode", 0) & 0o7777, 8, format), + itn(info.get("uid", 0), 8, format), + itn(info.get("gid", 0), 8, format), + itn(info.get("size", 0), 12, format), + itn(info.get("mtime", 0), 12, format), + b" ", # checksum field + info.get("type", REGTYPE), + stn(info.get("linkname", ""), 100, encoding, errors), + info.get("magic", POSIX_MAGIC), + stn(info.get("uname", ""), 32, encoding, errors), + stn(info.get("gname", ""), 32, encoding, errors), + itn(info.get("devmajor", 0), 8, format), + itn(info.get("devminor", 0), 8, format), + stn(info.get("prefix", ""), 155, encoding, errors) + ] + + buf = struct.pack("%ds" % BLOCKSIZE, b"".join(parts)) + chksum = calc_chksums(buf[-BLOCKSIZE:])[0] + buf = buf[:-364] + ("%06o\0" % chksum).encode("ascii") + buf[-357:] + return buf + + @staticmethod + def _create_payload(payload): + """Return the string payload filled with zero bytes + up to the next 512 byte border. + """ + blocks, remainder = divmod(len(payload), BLOCKSIZE) + if remainder > 0: + payload += (BLOCKSIZE - remainder) * NUL + return payload + + @classmethod + def _create_gnu_long_header(cls, name, type, encoding, errors): + """Return a GNUTYPE_LONGNAME or GNUTYPE_LONGLINK sequence + for name. + """ + name = name.encode(encoding, errors) + NUL + + info = {} + info["name"] = "././@LongLink" + info["type"] = type + info["size"] = len(name) + info["magic"] = GNU_MAGIC + + # create extended header + name blocks. + return cls._create_header(info, USTAR_FORMAT, encoding, errors) + \ + cls._create_payload(name) + + @classmethod + def _create_pax_generic_header(cls, pax_headers, type, encoding): + """Return a POSIX.1-2008 extended or global header sequence + that contains a list of keyword, value pairs. The values + must be strings. + """ + # Check if one of the fields contains surrogate characters and thereby + # forces hdrcharset=BINARY, see _proc_pax() for more information. + binary = False + for keyword, value in pax_headers.items(): + try: + value.encode("utf8", "strict") + except UnicodeEncodeError: + binary = True + break + + records = b"" + if binary: + # Put the hdrcharset field at the beginning of the header. + records += b"21 hdrcharset=BINARY\n" + + for keyword, value in pax_headers.items(): + keyword = keyword.encode("utf8") + if binary: + # Try to restore the original byte representation of `value'. + # Needless to say, that the encoding must match the string. + value = value.encode(encoding, "surrogateescape") + else: + value = value.encode("utf8") + + l = len(keyword) + len(value) + 3 # ' ' + '=' + '\n' + n = p = 0 + while True: + n = l + len(str(p)) + if n == p: + break + p = n + records += bytes(str(p), "ascii") + b" " + keyword + b"=" + value + b"\n" + + # We use a hardcoded "././@PaxHeader" name like star does + # instead of the one that POSIX recommends. + info = {} + info["name"] = "././@PaxHeader" + info["type"] = type + info["size"] = len(records) + info["magic"] = POSIX_MAGIC + + # Create pax header + record blocks. + return cls._create_header(info, USTAR_FORMAT, "ascii", "replace") + \ + cls._create_payload(records) + + @classmethod + def frombuf(cls, buf, encoding, errors): + """Construct a TarInfo object from a 512 byte bytes object. + """ + if len(buf) == 0: + raise EmptyHeaderError("empty header") + if len(buf) != BLOCKSIZE: + raise TruncatedHeaderError("truncated header") + if buf.count(NUL) == BLOCKSIZE: + raise EOFHeaderError("end of file header") + + chksum = nti(buf[148:156]) + if chksum not in calc_chksums(buf): + raise InvalidHeaderError("bad checksum") + + obj = cls() + obj.name = nts(buf[0:100], encoding, errors) + obj.mode = nti(buf[100:108]) + obj.uid = nti(buf[108:116]) + obj.gid = nti(buf[116:124]) + obj.size = nti(buf[124:136]) + obj.mtime = nti(buf[136:148]) + obj.chksum = chksum + obj.type = buf[156:157] + obj.linkname = nts(buf[157:257], encoding, errors) + obj.uname = nts(buf[265:297], encoding, errors) + obj.gname = nts(buf[297:329], encoding, errors) + obj.devmajor = nti(buf[329:337]) + obj.devminor = nti(buf[337:345]) + prefix = nts(buf[345:500], encoding, errors) + + # Old V7 tar format represents a directory as a regular + # file with a trailing slash. + if obj.type == AREGTYPE and obj.name.endswith("/"): + obj.type = DIRTYPE + + # The old GNU sparse format occupies some of the unused + # space in the buffer for up to 4 sparse structures. + # Save the them for later processing in _proc_sparse(). + if obj.type == GNUTYPE_SPARSE: + pos = 386 + structs = [] + for i in range(4): + try: + offset = nti(buf[pos:pos + 12]) + numbytes = nti(buf[pos + 12:pos + 24]) + except ValueError: + break + structs.append((offset, numbytes)) + pos += 24 + isextended = bool(buf[482]) + origsize = nti(buf[483:495]) + obj._sparse_structs = (structs, isextended, origsize) + + # Remove redundant slashes from directories. + if obj.isdir(): + obj.name = obj.name.rstrip("/") + + # Reconstruct a ustar longname. + if prefix and obj.type not in GNU_TYPES: + obj.name = prefix + "/" + obj.name + return obj + + @classmethod + def fromtarfile(cls, tarfile): + """Return the next TarInfo object from TarFile object + tarfile. + """ + buf = tarfile.fileobj.read(BLOCKSIZE) + obj = cls.frombuf(buf, tarfile.encoding, tarfile.errors) + obj.offset = tarfile.fileobj.tell() - BLOCKSIZE + return obj._proc_member(tarfile) + + #-------------------------------------------------------------------------- + # The following are methods that are called depending on the type of a + # member. The entry point is _proc_member() which can be overridden in a + # subclass to add custom _proc_*() methods. A _proc_*() method MUST + # implement the following + # operations: + # 1. Set self.offset_data to the position where the data blocks begin, + # if there is data that follows. + # 2. Set tarfile.offset to the position where the next member's header will + # begin. + # 3. Return self or another valid TarInfo object. + def _proc_member(self, tarfile): + """Choose the right processing method depending on + the type and call it. + """ + if self.type in (GNUTYPE_LONGNAME, GNUTYPE_LONGLINK): + return self._proc_gnulong(tarfile) + elif self.type == GNUTYPE_SPARSE: + return self._proc_sparse(tarfile) + elif self.type in (XHDTYPE, XGLTYPE, SOLARIS_XHDTYPE): + return self._proc_pax(tarfile) + else: + return self._proc_builtin(tarfile) + + def _proc_builtin(self, tarfile): + """Process a builtin type or an unknown type which + will be treated as a regular file. + """ + self.offset_data = tarfile.fileobj.tell() + offset = self.offset_data + if self.isreg() or self.type not in SUPPORTED_TYPES: + # Skip the following data blocks. + offset += self._block(self.size) + tarfile.offset = offset + + # Patch the TarInfo object with saved global + # header information. + self._apply_pax_info(tarfile.pax_headers, tarfile.encoding, tarfile.errors) + + return self + + def _proc_gnulong(self, tarfile): + """Process the blocks that hold a GNU longname + or longlink member. + """ + buf = tarfile.fileobj.read(self._block(self.size)) + + # Fetch the next header and process it. + try: + next = self.fromtarfile(tarfile) + except HeaderError: + raise SubsequentHeaderError("missing or bad subsequent header") + + # Patch the TarInfo object from the next header with + # the longname information. + next.offset = self.offset + if self.type == GNUTYPE_LONGNAME: + next.name = nts(buf, tarfile.encoding, tarfile.errors) + elif self.type == GNUTYPE_LONGLINK: + next.linkname = nts(buf, tarfile.encoding, tarfile.errors) + + return next + + def _proc_sparse(self, tarfile): + """Process a GNU sparse header plus extra headers. + """ + # We already collected some sparse structures in frombuf(). + structs, isextended, origsize = self._sparse_structs + del self._sparse_structs + + # Collect sparse structures from extended header blocks. + while isextended: + buf = tarfile.fileobj.read(BLOCKSIZE) + pos = 0 + for i in range(21): + try: + offset = nti(buf[pos:pos + 12]) + numbytes = nti(buf[pos + 12:pos + 24]) + except ValueError: + break + if offset and numbytes: + structs.append((offset, numbytes)) + pos += 24 + isextended = bool(buf[504]) + self.sparse = structs + + self.offset_data = tarfile.fileobj.tell() + tarfile.offset = self.offset_data + self._block(self.size) + self.size = origsize + return self + + def _proc_pax(self, tarfile): + """Process an extended or global header as described in + POSIX.1-2008. + """ + # Read the header information. + buf = tarfile.fileobj.read(self._block(self.size)) + + # A pax header stores supplemental information for either + # the following file (extended) or all following files + # (global). + if self.type == XGLTYPE: + pax_headers = tarfile.pax_headers + else: + pax_headers = tarfile.pax_headers.copy() + + # Check if the pax header contains a hdrcharset field. This tells us + # the encoding of the path, linkpath, uname and gname fields. Normally, + # these fields are UTF-8 encoded but since POSIX.1-2008 tar + # implementations are allowed to store them as raw binary strings if + # the translation to UTF-8 fails. + match = re.search(br"\d+ hdrcharset=([^\n]+)\n", buf) + if match is not None: + pax_headers["hdrcharset"] = match.group(1).decode("utf8") + + # For the time being, we don't care about anything other than "BINARY". + # The only other value that is currently allowed by the standard is + # "ISO-IR 10646 2000 UTF-8" in other words UTF-8. + hdrcharset = pax_headers.get("hdrcharset") + if hdrcharset == "BINARY": + encoding = tarfile.encoding + else: + encoding = "utf8" + + # Parse pax header information. A record looks like that: + # "%d %s=%s\n" % (length, keyword, value). length is the size + # of the complete record including the length field itself and + # the newline. keyword and value are both UTF-8 encoded strings. + regex = re.compile(br"(\d+) ([^=]+)=") + pos = 0 + while True: + match = regex.match(buf, pos) + if not match: + break + + length, keyword = match.groups() + length = int(length) + value = buf[match.end(2) + 1:match.start(1) + length - 1] + + # Normally, we could just use "utf8" as the encoding and "strict" + # as the error handler, but we better not take the risk. For + # example, GNU tar <= 1.23 is known to store filenames it cannot + # translate to UTF-8 as raw strings (unfortunately without a + # hdrcharset=BINARY header). + # We first try the strict standard encoding, and if that fails we + # fall back on the user's encoding and error handler. + keyword = self._decode_pax_field(keyword, "utf8", "utf8", + tarfile.errors) + if keyword in PAX_NAME_FIELDS: + value = self._decode_pax_field(value, encoding, tarfile.encoding, + tarfile.errors) + else: + value = self._decode_pax_field(value, "utf8", "utf8", + tarfile.errors) + + pax_headers[keyword] = value + pos += length + + # Fetch the next header. + try: + next = self.fromtarfile(tarfile) + except HeaderError: + raise SubsequentHeaderError("missing or bad subsequent header") + + # Process GNU sparse information. + if "GNU.sparse.map" in pax_headers: + # GNU extended sparse format version 0.1. + self._proc_gnusparse_01(next, pax_headers) + + elif "GNU.sparse.size" in pax_headers: + # GNU extended sparse format version 0.0. + self._proc_gnusparse_00(next, pax_headers, buf) + + elif pax_headers.get("GNU.sparse.major") == "1" and pax_headers.get("GNU.sparse.minor") == "0": + # GNU extended sparse format version 1.0. + self._proc_gnusparse_10(next, pax_headers, tarfile) + + if self.type in (XHDTYPE, SOLARIS_XHDTYPE): + # Patch the TarInfo object with the extended header info. + next._apply_pax_info(pax_headers, tarfile.encoding, tarfile.errors) + next.offset = self.offset + + if "size" in pax_headers: + # If the extended header replaces the size field, + # we need to recalculate the offset where the next + # header starts. + offset = next.offset_data + if next.isreg() or next.type not in SUPPORTED_TYPES: + offset += next._block(next.size) + tarfile.offset = offset + + return next + + def _proc_gnusparse_00(self, next, pax_headers, buf): + """Process a GNU tar extended sparse header, version 0.0. + """ + offsets = [] + for match in re.finditer(br"\d+ GNU.sparse.offset=(\d+)\n", buf): + offsets.append(int(match.group(1))) + numbytes = [] + for match in re.finditer(br"\d+ GNU.sparse.numbytes=(\d+)\n", buf): + numbytes.append(int(match.group(1))) + next.sparse = list(zip(offsets, numbytes)) + + def _proc_gnusparse_01(self, next, pax_headers): + """Process a GNU tar extended sparse header, version 0.1. + """ + sparse = [int(x) for x in pax_headers["GNU.sparse.map"].split(",")] + next.sparse = list(zip(sparse[::2], sparse[1::2])) + + def _proc_gnusparse_10(self, next, pax_headers, tarfile): + """Process a GNU tar extended sparse header, version 1.0. + """ + fields = None + sparse = [] + buf = tarfile.fileobj.read(BLOCKSIZE) + fields, buf = buf.split(b"\n", 1) + fields = int(fields) + while len(sparse) < fields * 2: + if b"\n" not in buf: + buf += tarfile.fileobj.read(BLOCKSIZE) + number, buf = buf.split(b"\n", 1) + sparse.append(int(number)) + next.offset_data = tarfile.fileobj.tell() + next.sparse = list(zip(sparse[::2], sparse[1::2])) + + def _apply_pax_info(self, pax_headers, encoding, errors): + """Replace fields with supplemental information from a previous + pax extended or global header. + """ + for keyword, value in pax_headers.items(): + if keyword == "GNU.sparse.name": + setattr(self, "path", value) + elif keyword == "GNU.sparse.size": + setattr(self, "size", int(value)) + elif keyword == "GNU.sparse.realsize": + setattr(self, "size", int(value)) + elif keyword in PAX_FIELDS: + if keyword in PAX_NUMBER_FIELDS: + try: + value = PAX_NUMBER_FIELDS[keyword](value) + except ValueError: + value = 0 + if keyword == "path": + value = value.rstrip("/") + setattr(self, keyword, value) + + self.pax_headers = pax_headers.copy() + + def _decode_pax_field(self, value, encoding, fallback_encoding, fallback_errors): + """Decode a single field from a pax record. + """ + try: + return value.decode(encoding, "strict") + except UnicodeDecodeError: + return value.decode(fallback_encoding, fallback_errors) + + def _block(self, count): + """Round up a byte count by BLOCKSIZE and return it, + e.g. _block(834) => 1024. + """ + blocks, remainder = divmod(count, BLOCKSIZE) + if remainder: + blocks += 1 + return blocks * BLOCKSIZE + + def isreg(self): + return self.type in REGULAR_TYPES + def isfile(self): + return self.isreg() + def isdir(self): + return self.type == DIRTYPE + def issym(self): + return self.type == SYMTYPE + def islnk(self): + return self.type == LNKTYPE + def ischr(self): + return self.type == CHRTYPE + def isblk(self): + return self.type == BLKTYPE + def isfifo(self): + return self.type == FIFOTYPE + def issparse(self): + return self.sparse is not None + def isdev(self): + return self.type in (CHRTYPE, BLKTYPE, FIFOTYPE) +# class TarInfo + +class TarFile(object): + """The TarFile Class provides an interface to tar archives. + """ + + debug = 0 # May be set from 0 (no msgs) to 3 (all msgs) + + dereference = False # If true, add content of linked file to the + # tar file, else the link. + + ignore_zeros = False # If true, skips empty or invalid blocks and + # continues processing. + + errorlevel = 1 # If 0, fatal errors only appear in debug + # messages (if debug >= 0). If > 0, errors + # are passed to the caller as exceptions. + + format = DEFAULT_FORMAT # The format to use when creating an archive. + + encoding = ENCODING # Encoding for 8-bit character strings. + + errors = None # Error handler for unicode conversion. + + tarinfo = TarInfo # The default TarInfo class to use. + + fileobject = ExFileObject # The default ExFileObject class to use. + + def __init__(self, name=None, mode="r", fileobj=None, format=None, + tarinfo=None, dereference=None, ignore_zeros=None, encoding=None, + errors="surrogateescape", pax_headers=None, debug=None, errorlevel=None): + """Open an (uncompressed) tar archive `name'. `mode' is either 'r' to + read from an existing archive, 'a' to append data to an existing + file or 'w' to create a new file overwriting an existing one. `mode' + defaults to 'r'. + If `fileobj' is given, it is used for reading or writing data. If it + can be determined, `mode' is overridden by `fileobj's mode. + `fileobj' is not closed, when TarFile is closed. + """ + if len(mode) > 1 or mode not in "raw": + raise ValueError("mode must be 'r', 'a' or 'w'") + self.mode = mode + self._mode = {"r": "rb", "a": "r+b", "w": "wb"}[mode] + + if not fileobj: + if self.mode == "a" and not os.path.exists(name): + # Create nonexistent files in append mode. + self.mode = "w" + self._mode = "wb" + fileobj = bltn_open(name, self._mode) + self._extfileobj = False + else: + if name is None and hasattr(fileobj, "name"): + name = fileobj.name + if hasattr(fileobj, "mode"): + self._mode = fileobj.mode + self._extfileobj = True + self.name = os.path.abspath(name) if name else None + self.fileobj = fileobj + + # Init attributes. + if format is not None: + self.format = format + if tarinfo is not None: + self.tarinfo = tarinfo + if dereference is not None: + self.dereference = dereference + if ignore_zeros is not None: + self.ignore_zeros = ignore_zeros + if encoding is not None: + self.encoding = encoding + self.errors = errors + + if pax_headers is not None and self.format == PAX_FORMAT: + self.pax_headers = pax_headers + else: + self.pax_headers = {} + + if debug is not None: + self.debug = debug + if errorlevel is not None: + self.errorlevel = errorlevel + + # Init datastructures. + self.closed = False + self.members = [] # list of members as TarInfo objects + self._loaded = False # flag if all members have been read + self.offset = self.fileobj.tell() + # current position in the archive file + self.inodes = {} # dictionary caching the inodes of + # archive members already added + + try: + if self.mode == "r": + self.firstmember = None + self.firstmember = self.next() + + if self.mode == "a": + # Move to the end of the archive, + # before the first empty block. + while True: + self.fileobj.seek(self.offset) + try: + tarinfo = self.tarinfo.fromtarfile(self) + self.members.append(tarinfo) + except EOFHeaderError: + self.fileobj.seek(self.offset) + break + except HeaderError as e: + raise ReadError(str(e)) + + if self.mode in "aw": + self._loaded = True + + if self.pax_headers: + buf = self.tarinfo.create_pax_global_header(self.pax_headers.copy()) + self.fileobj.write(buf) + self.offset += len(buf) + except: + if not self._extfileobj: + self.fileobj.close() + self.closed = True + raise + + #-------------------------------------------------------------------------- + # Below are the classmethods which act as alternate constructors to the + # TarFile class. The open() method is the only one that is needed for + # public use; it is the "super"-constructor and is able to select an + # adequate "sub"-constructor for a particular compression using the mapping + # from OPEN_METH. + # + # This concept allows one to subclass TarFile without losing the comfort of + # the super-constructor. A sub-constructor is registered and made available + # by adding it to the mapping in OPEN_METH. + + @classmethod + def open(cls, name=None, mode="r", fileobj=None, bufsize=RECORDSIZE, **kwargs): + """Open a tar archive for reading, writing or appending. Return + an appropriate TarFile class. + + mode: + 'r' or 'r:*' open for reading with transparent compression + 'r:' open for reading exclusively uncompressed + 'r:gz' open for reading with gzip compression + 'r:bz2' open for reading with bzip2 compression + 'a' or 'a:' open for appending, creating the file if necessary + 'w' or 'w:' open for writing without compression + 'w:gz' open for writing with gzip compression + 'w:bz2' open for writing with bzip2 compression + + 'r|*' open a stream of tar blocks with transparent compression + 'r|' open an uncompressed stream of tar blocks for reading + 'r|gz' open a gzip compressed stream of tar blocks + 'r|bz2' open a bzip2 compressed stream of tar blocks + 'w|' open an uncompressed stream for writing + 'w|gz' open a gzip compressed stream for writing + 'w|bz2' open a bzip2 compressed stream for writing + """ + + if not name and not fileobj: + raise ValueError("nothing to open") + + if mode in ("r", "r:*"): + # Find out which *open() is appropriate for opening the file. + for comptype in cls.OPEN_METH: + func = getattr(cls, cls.OPEN_METH[comptype]) + if fileobj is not None: + saved_pos = fileobj.tell() + try: + return func(name, "r", fileobj, **kwargs) + except (ReadError, CompressionError) as e: + if fileobj is not None: + fileobj.seek(saved_pos) + continue + raise ReadError("file could not be opened successfully") + + elif ":" in mode: + filemode, comptype = mode.split(":", 1) + filemode = filemode or "r" + comptype = comptype or "tar" + + # Select the *open() function according to + # given compression. + if comptype in cls.OPEN_METH: + func = getattr(cls, cls.OPEN_METH[comptype]) + else: + raise CompressionError("unknown compression type %r" % comptype) + return func(name, filemode, fileobj, **kwargs) + + elif "|" in mode: + filemode, comptype = mode.split("|", 1) + filemode = filemode or "r" + comptype = comptype or "tar" + + if filemode not in "rw": + raise ValueError("mode must be 'r' or 'w'") + + stream = _Stream(name, filemode, comptype, fileobj, bufsize) + try: + t = cls(name, filemode, stream, **kwargs) + except: + stream.close() + raise + t._extfileobj = False + return t + + elif mode in "aw": + return cls.taropen(name, mode, fileobj, **kwargs) + + raise ValueError("undiscernible mode") + + @classmethod + def taropen(cls, name, mode="r", fileobj=None, **kwargs): + """Open uncompressed tar archive name for reading or writing. + """ + if len(mode) > 1 or mode not in "raw": + raise ValueError("mode must be 'r', 'a' or 'w'") + return cls(name, mode, fileobj, **kwargs) + + @classmethod + def gzopen(cls, name, mode="r", fileobj=None, compresslevel=9, **kwargs): + """Open gzip compressed tar archive name for reading or writing. + Appending is not allowed. + """ + if len(mode) > 1 or mode not in "rw": + raise ValueError("mode must be 'r' or 'w'") + + try: + import gzip + gzip.GzipFile + except (ImportError, AttributeError): + raise CompressionError("gzip module is not available") + + extfileobj = fileobj is not None + try: + fileobj = gzip.GzipFile(name, mode + "b", compresslevel, fileobj) + t = cls.taropen(name, mode, fileobj, **kwargs) + except IOError: + if not extfileobj and fileobj is not None: + fileobj.close() + if fileobj is None: + raise + raise ReadError("not a gzip file") + except: + if not extfileobj and fileobj is not None: + fileobj.close() + raise + t._extfileobj = extfileobj + return t + + @classmethod + def bz2open(cls, name, mode="r", fileobj=None, compresslevel=9, **kwargs): + """Open bzip2 compressed tar archive name for reading or writing. + Appending is not allowed. + """ + if len(mode) > 1 or mode not in "rw": + raise ValueError("mode must be 'r' or 'w'.") + + try: + import bz2 + except ImportError: + raise CompressionError("bz2 module is not available") + + if fileobj is not None: + fileobj = _BZ2Proxy(fileobj, mode) + else: + fileobj = bz2.BZ2File(name, mode, compresslevel=compresslevel) + + try: + t = cls.taropen(name, mode, fileobj, **kwargs) + except (IOError, EOFError): + fileobj.close() + raise ReadError("not a bzip2 file") + t._extfileobj = False + return t + + # All *open() methods are registered here. + OPEN_METH = { + "tar": "taropen", # uncompressed tar + "gz": "gzopen", # gzip compressed tar + "bz2": "bz2open" # bzip2 compressed tar + } + + #-------------------------------------------------------------------------- + # The public methods which TarFile provides: + + def close(self): + """Close the TarFile. In write-mode, two finishing zero blocks are + appended to the archive. + """ + if self.closed: + return + + if self.mode in "aw": + self.fileobj.write(NUL * (BLOCKSIZE * 2)) + self.offset += (BLOCKSIZE * 2) + # fill up the end with zero-blocks + # (like option -b20 for tar does) + blocks, remainder = divmod(self.offset, RECORDSIZE) + if remainder > 0: + self.fileobj.write(NUL * (RECORDSIZE - remainder)) + + if not self._extfileobj: + self.fileobj.close() + self.closed = True + + def getmember(self, name): + """Return a TarInfo object for member `name'. If `name' can not be + found in the archive, KeyError is raised. If a member occurs more + than once in the archive, its last occurrence is assumed to be the + most up-to-date version. + """ + tarinfo = self._getmember(name) + if tarinfo is None: + raise KeyError("filename %r not found" % name) + return tarinfo + + def getmembers(self): + """Return the members of the archive as a list of TarInfo objects. The + list has the same order as the members in the archive. + """ + self._check() + if not self._loaded: # if we want to obtain a list of + self._load() # all members, we first have to + # scan the whole archive. + return self.members + + def getnames(self): + """Return the members of the archive as a list of their names. It has + the same order as the list returned by getmembers(). + """ + return [tarinfo.name for tarinfo in self.getmembers()] + + def gettarinfo(self, name=None, arcname=None, fileobj=None): + """Create a TarInfo object for either the file `name' or the file + object `fileobj' (using os.fstat on its file descriptor). You can + modify some of the TarInfo's attributes before you add it using + addfile(). If given, `arcname' specifies an alternative name for the + file in the archive. + """ + self._check("aw") + + # When fileobj is given, replace name by + # fileobj's real name. + if fileobj is not None: + name = fileobj.name + + # Building the name of the member in the archive. + # Backward slashes are converted to forward slashes, + # Absolute paths are turned to relative paths. + if arcname is None: + arcname = name + drv, arcname = os.path.splitdrive(arcname) + arcname = arcname.replace(os.sep, "/") + arcname = arcname.lstrip("/") + + # Now, fill the TarInfo object with + # information specific for the file. + tarinfo = self.tarinfo() + tarinfo.tarfile = self + + # Use os.stat or os.lstat, depending on platform + # and if symlinks shall be resolved. + if fileobj is None: + if hasattr(os, "lstat") and not self.dereference: + statres = os.lstat(name) + else: + statres = os.stat(name) + else: + statres = os.fstat(fileobj.fileno()) + linkname = "" + + stmd = statres.st_mode + if stat.S_ISREG(stmd): + inode = (statres.st_ino, statres.st_dev) + if not self.dereference and statres.st_nlink > 1 and \ + inode in self.inodes and arcname != self.inodes[inode]: + # Is it a hardlink to an already + # archived file? + type = LNKTYPE + linkname = self.inodes[inode] + else: + # The inode is added only if its valid. + # For win32 it is always 0. + type = REGTYPE + if inode[0]: + self.inodes[inode] = arcname + elif stat.S_ISDIR(stmd): + type = DIRTYPE + elif stat.S_ISFIFO(stmd): + type = FIFOTYPE + elif stat.S_ISLNK(stmd): + type = SYMTYPE + linkname = os.readlink(name) + elif stat.S_ISCHR(stmd): + type = CHRTYPE + elif stat.S_ISBLK(stmd): + type = BLKTYPE + else: + return None + + # Fill the TarInfo object with all + # information we can get. + tarinfo.name = arcname + tarinfo.mode = stmd + tarinfo.uid = statres.st_uid + tarinfo.gid = statres.st_gid + if type == REGTYPE: + tarinfo.size = statres.st_size + else: + tarinfo.size = 0 + tarinfo.mtime = statres.st_mtime + tarinfo.type = type + tarinfo.linkname = linkname + if pwd: + try: + tarinfo.uname = pwd.getpwuid(tarinfo.uid)[0] + except KeyError: + pass + if grp: + try: + tarinfo.gname = grp.getgrgid(tarinfo.gid)[0] + except KeyError: + pass + + if type in (CHRTYPE, BLKTYPE): + if hasattr(os, "major") and hasattr(os, "minor"): + tarinfo.devmajor = os.major(statres.st_rdev) + tarinfo.devminor = os.minor(statres.st_rdev) + return tarinfo + + def list(self, verbose=True): + """Print a table of contents to sys.stdout. If `verbose' is False, only + the names of the members are printed. If it is True, an `ls -l'-like + output is produced. + """ + self._check() + + for tarinfo in self: + if verbose: + print(filemode(tarinfo.mode), end=' ') + print("%s/%s" % (tarinfo.uname or tarinfo.uid, + tarinfo.gname or tarinfo.gid), end=' ') + if tarinfo.ischr() or tarinfo.isblk(): + print("%10s" % ("%d,%d" \ + % (tarinfo.devmajor, tarinfo.devminor)), end=' ') + else: + print("%10d" % tarinfo.size, end=' ') + print("%d-%02d-%02d %02d:%02d:%02d" \ + % time.localtime(tarinfo.mtime)[:6], end=' ') + + print(tarinfo.name + ("/" if tarinfo.isdir() else ""), end=' ') + + if verbose: + if tarinfo.issym(): + print("->", tarinfo.linkname, end=' ') + if tarinfo.islnk(): + print("link to", tarinfo.linkname, end=' ') + print() + + def add(self, name, arcname=None, recursive=True, exclude=None, filter=None): + """Add the file `name' to the archive. `name' may be any type of file + (directory, fifo, symbolic link, etc.). If given, `arcname' + specifies an alternative name for the file in the archive. + Directories are added recursively by default. This can be avoided by + setting `recursive' to False. `exclude' is a function that should + return True for each filename to be excluded. `filter' is a function + that expects a TarInfo object argument and returns the changed + TarInfo object, if it returns None the TarInfo object will be + excluded from the archive. + """ + self._check("aw") + + if arcname is None: + arcname = name + + # Exclude pathnames. + if exclude is not None: + import warnings + warnings.warn("use the filter argument instead", + DeprecationWarning, 2) + if exclude(name): + self._dbg(2, "tarfile: Excluded %r" % name) + return + + # Skip if somebody tries to archive the archive... + if self.name is not None and os.path.abspath(name) == self.name: + self._dbg(2, "tarfile: Skipped %r" % name) + return + + self._dbg(1, name) + + # Create a TarInfo object from the file. + tarinfo = self.gettarinfo(name, arcname) + + if tarinfo is None: + self._dbg(1, "tarfile: Unsupported type %r" % name) + return + + # Change or exclude the TarInfo object. + if filter is not None: + tarinfo = filter(tarinfo) + if tarinfo is None: + self._dbg(2, "tarfile: Excluded %r" % name) + return + + # Append the tar header and data to the archive. + if tarinfo.isreg(): + f = bltn_open(name, "rb") + self.addfile(tarinfo, f) + f.close() + + elif tarinfo.isdir(): + self.addfile(tarinfo) + if recursive: + for f in os.listdir(name): + self.add(os.path.join(name, f), os.path.join(arcname, f), + recursive, exclude, filter=filter) + + else: + self.addfile(tarinfo) + + def addfile(self, tarinfo, fileobj=None): + """Add the TarInfo object `tarinfo' to the archive. If `fileobj' is + given, tarinfo.size bytes are read from it and added to the archive. + You can create TarInfo objects using gettarinfo(). + On Windows platforms, `fileobj' should always be opened with mode + 'rb' to avoid irritation about the file size. + """ + self._check("aw") + + tarinfo = copy.copy(tarinfo) + + buf = tarinfo.tobuf(self.format, self.encoding, self.errors) + self.fileobj.write(buf) + self.offset += len(buf) + + # If there's data to follow, append it. + if fileobj is not None: + copyfileobj(fileobj, self.fileobj, tarinfo.size) + blocks, remainder = divmod(tarinfo.size, BLOCKSIZE) + if remainder > 0: + self.fileobj.write(NUL * (BLOCKSIZE - remainder)) + blocks += 1 + self.offset += blocks * BLOCKSIZE + + self.members.append(tarinfo) + + def extractall(self, path=".", members=None): + """Extract all members from the archive to the current working + directory and set owner, modification time and permissions on + directories afterwards. `path' specifies a different directory + to extract to. `members' is optional and must be a subset of the + list returned by getmembers(). + """ + directories = [] + + if members is None: + members = self + + for tarinfo in members: + if tarinfo.isdir(): + # Extract directories with a safe mode. + directories.append(tarinfo) + tarinfo = copy.copy(tarinfo) + tarinfo.mode = 0o700 + # Do not set_attrs directories, as we will do that further down + self.extract(tarinfo, path, set_attrs=not tarinfo.isdir()) + + # Reverse sort directories. + directories.sort(key=lambda a: a.name) + directories.reverse() + + # Set correct owner, mtime and filemode on directories. + for tarinfo in directories: + dirpath = os.path.join(path, tarinfo.name) + try: + self.chown(tarinfo, dirpath) + self.utime(tarinfo, dirpath) + self.chmod(tarinfo, dirpath) + except ExtractError as e: + if self.errorlevel > 1: + raise + else: + self._dbg(1, "tarfile: %s" % e) + + def extract(self, member, path="", set_attrs=True): + """Extract a member from the archive to the current working directory, + using its full name. Its file information is extracted as accurately + as possible. `member' may be a filename or a TarInfo object. You can + specify a different directory using `path'. File attributes (owner, + mtime, mode) are set unless `set_attrs' is False. + """ + self._check("r") + + if isinstance(member, str): + tarinfo = self.getmember(member) + else: + tarinfo = member + + # Prepare the link target for makelink(). + if tarinfo.islnk(): + tarinfo._link_target = os.path.join(path, tarinfo.linkname) + + try: + self._extract_member(tarinfo, os.path.join(path, tarinfo.name), + set_attrs=set_attrs) + except EnvironmentError as e: + if self.errorlevel > 0: + raise + else: + if e.filename is None: + self._dbg(1, "tarfile: %s" % e.strerror) + else: + self._dbg(1, "tarfile: %s %r" % (e.strerror, e.filename)) + except ExtractError as e: + if self.errorlevel > 1: + raise + else: + self._dbg(1, "tarfile: %s" % e) + + def extractfile(self, member): + """Extract a member from the archive as a file object. `member' may be + a filename or a TarInfo object. If `member' is a regular file, a + file-like object is returned. If `member' is a link, a file-like + object is constructed from the link's target. If `member' is none of + the above, None is returned. + The file-like object is read-only and provides the following + methods: read(), readline(), readlines(), seek() and tell() + """ + self._check("r") + + if isinstance(member, str): + tarinfo = self.getmember(member) + else: + tarinfo = member + + if tarinfo.isreg(): + return self.fileobject(self, tarinfo) + + elif tarinfo.type not in SUPPORTED_TYPES: + # If a member's type is unknown, it is treated as a + # regular file. + return self.fileobject(self, tarinfo) + + elif tarinfo.islnk() or tarinfo.issym(): + if isinstance(self.fileobj, _Stream): + # A small but ugly workaround for the case that someone tries + # to extract a (sym)link as a file-object from a non-seekable + # stream of tar blocks. + raise StreamError("cannot extract (sym)link as file object") + else: + # A (sym)link's file object is its target's file object. + return self.extractfile(self._find_link_target(tarinfo)) + else: + # If there's no data associated with the member (directory, chrdev, + # blkdev, etc.), return None instead of a file object. + return None + + def _extract_member(self, tarinfo, targetpath, set_attrs=True): + """Extract the TarInfo object tarinfo to a physical + file called targetpath. + """ + # Fetch the TarInfo object for the given name + # and build the destination pathname, replacing + # forward slashes to platform specific separators. + targetpath = targetpath.rstrip("/") + targetpath = targetpath.replace("/", os.sep) + + # Create all upper directories. + upperdirs = os.path.dirname(targetpath) + if upperdirs and not os.path.exists(upperdirs): + # Create directories that are not part of the archive with + # default permissions. + os.makedirs(upperdirs) + + if tarinfo.islnk() or tarinfo.issym(): + self._dbg(1, "%s -> %s" % (tarinfo.name, tarinfo.linkname)) + else: + self._dbg(1, tarinfo.name) + + if tarinfo.isreg(): + self.makefile(tarinfo, targetpath) + elif tarinfo.isdir(): + self.makedir(tarinfo, targetpath) + elif tarinfo.isfifo(): + self.makefifo(tarinfo, targetpath) + elif tarinfo.ischr() or tarinfo.isblk(): + self.makedev(tarinfo, targetpath) + elif tarinfo.islnk() or tarinfo.issym(): + self.makelink(tarinfo, targetpath) + elif tarinfo.type not in SUPPORTED_TYPES: + self.makeunknown(tarinfo, targetpath) + else: + self.makefile(tarinfo, targetpath) + + if set_attrs: + self.chown(tarinfo, targetpath) + if not tarinfo.issym(): + self.chmod(tarinfo, targetpath) + self.utime(tarinfo, targetpath) + + #-------------------------------------------------------------------------- + # Below are the different file methods. They are called via + # _extract_member() when extract() is called. They can be replaced in a + # subclass to implement other functionality. + + def makedir(self, tarinfo, targetpath): + """Make a directory called targetpath. + """ + try: + # Use a safe mode for the directory, the real mode is set + # later in _extract_member(). + os.mkdir(targetpath, 0o700) + except EnvironmentError as e: + if e.errno != errno.EEXIST: + raise + + def makefile(self, tarinfo, targetpath): + """Make a file called targetpath. + """ + source = self.fileobj + source.seek(tarinfo.offset_data) + target = bltn_open(targetpath, "wb") + if tarinfo.sparse is not None: + for offset, size in tarinfo.sparse: + target.seek(offset) + copyfileobj(source, target, size) + else: + copyfileobj(source, target, tarinfo.size) + target.seek(tarinfo.size) + target.truncate() + target.close() + + def makeunknown(self, tarinfo, targetpath): + """Make a file from a TarInfo object with an unknown type + at targetpath. + """ + self.makefile(tarinfo, targetpath) + self._dbg(1, "tarfile: Unknown file type %r, " \ + "extracted as regular file." % tarinfo.type) + + def makefifo(self, tarinfo, targetpath): + """Make a fifo called targetpath. + """ + if hasattr(os, "mkfifo"): + os.mkfifo(targetpath) + else: + raise ExtractError("fifo not supported by system") + + def makedev(self, tarinfo, targetpath): + """Make a character or block device called targetpath. + """ + if not hasattr(os, "mknod") or not hasattr(os, "makedev"): + raise ExtractError("special devices not supported by system") + + mode = tarinfo.mode + if tarinfo.isblk(): + mode |= stat.S_IFBLK + else: + mode |= stat.S_IFCHR + + os.mknod(targetpath, mode, + os.makedev(tarinfo.devmajor, tarinfo.devminor)) + + def makelink(self, tarinfo, targetpath): + """Make a (symbolic) link called targetpath. If it cannot be created + (platform limitation), we try to make a copy of the referenced file + instead of a link. + """ + try: + # For systems that support symbolic and hard links. + if tarinfo.issym(): + os.symlink(tarinfo.linkname, targetpath) + else: + # See extract(). + if os.path.exists(tarinfo._link_target): + os.link(tarinfo._link_target, targetpath) + else: + self._extract_member(self._find_link_target(tarinfo), + targetpath) + except symlink_exception: + if tarinfo.issym(): + linkpath = os.path.join(os.path.dirname(tarinfo.name), + tarinfo.linkname) + else: + linkpath = tarinfo.linkname + else: + try: + self._extract_member(self._find_link_target(tarinfo), + targetpath) + except KeyError: + raise ExtractError("unable to resolve link inside archive") + + def chown(self, tarinfo, targetpath): + """Set owner of targetpath according to tarinfo. + """ + if pwd and hasattr(os, "geteuid") and os.geteuid() == 0: + # We have to be root to do so. + try: + g = grp.getgrnam(tarinfo.gname)[2] + except KeyError: + g = tarinfo.gid + try: + u = pwd.getpwnam(tarinfo.uname)[2] + except KeyError: + u = tarinfo.uid + try: + if tarinfo.issym() and hasattr(os, "lchown"): + os.lchown(targetpath, u, g) + else: + if sys.platform != "os2emx": + os.chown(targetpath, u, g) + except EnvironmentError as e: + raise ExtractError("could not change owner") + + def chmod(self, tarinfo, targetpath): + """Set file permissions of targetpath according to tarinfo. + """ + if hasattr(os, 'chmod'): + try: + os.chmod(targetpath, tarinfo.mode) + except EnvironmentError as e: + raise ExtractError("could not change mode") + + def utime(self, tarinfo, targetpath): + """Set modification time of targetpath according to tarinfo. + """ + if not hasattr(os, 'utime'): + return + try: + os.utime(targetpath, (tarinfo.mtime, tarinfo.mtime)) + except EnvironmentError as e: + raise ExtractError("could not change modification time") + + #-------------------------------------------------------------------------- + def next(self): + """Return the next member of the archive as a TarInfo object, when + TarFile is opened for reading. Return None if there is no more + available. + """ + self._check("ra") + if self.firstmember is not None: + m = self.firstmember + self.firstmember = None + return m + + # Read the next block. + self.fileobj.seek(self.offset) + tarinfo = None + while True: + try: + tarinfo = self.tarinfo.fromtarfile(self) + except EOFHeaderError as e: + if self.ignore_zeros: + self._dbg(2, "0x%X: %s" % (self.offset, e)) + self.offset += BLOCKSIZE + continue + except InvalidHeaderError as e: + if self.ignore_zeros: + self._dbg(2, "0x%X: %s" % (self.offset, e)) + self.offset += BLOCKSIZE + continue + elif self.offset == 0: + raise ReadError(str(e)) + except EmptyHeaderError: + if self.offset == 0: + raise ReadError("empty file") + except TruncatedHeaderError as e: + if self.offset == 0: + raise ReadError(str(e)) + except SubsequentHeaderError as e: + raise ReadError(str(e)) + break + + if tarinfo is not None: + self.members.append(tarinfo) + else: + self._loaded = True + + return tarinfo + + #-------------------------------------------------------------------------- + # Little helper methods: + + def _getmember(self, name, tarinfo=None, normalize=False): + """Find an archive member by name from bottom to top. + If tarinfo is given, it is used as the starting point. + """ + # Ensure that all members have been loaded. + members = self.getmembers() + + # Limit the member search list up to tarinfo. + if tarinfo is not None: + members = members[:members.index(tarinfo)] + + if normalize: + name = os.path.normpath(name) + + for member in reversed(members): + if normalize: + member_name = os.path.normpath(member.name) + else: + member_name = member.name + + if name == member_name: + return member + + def _load(self): + """Read through the entire archive file and look for readable + members. + """ + while True: + tarinfo = self.next() + if tarinfo is None: + break + self._loaded = True + + def _check(self, mode=None): + """Check if TarFile is still open, and if the operation's mode + corresponds to TarFile's mode. + """ + if self.closed: + raise IOError("%s is closed" % self.__class__.__name__) + if mode is not None and self.mode not in mode: + raise IOError("bad operation for mode %r" % self.mode) + + def _find_link_target(self, tarinfo): + """Find the target member of a symlink or hardlink member in the + archive. + """ + if tarinfo.issym(): + # Always search the entire archive. + linkname = os.path.dirname(tarinfo.name) + "/" + tarinfo.linkname + limit = None + else: + # Search the archive before the link, because a hard link is + # just a reference to an already archived file. + linkname = tarinfo.linkname + limit = tarinfo + + member = self._getmember(linkname, tarinfo=limit, normalize=True) + if member is None: + raise KeyError("linkname %r not found" % linkname) + return member + + def __iter__(self): + """Provide an iterator object. + """ + if self._loaded: + return iter(self.members) + else: + return TarIter(self) + + def _dbg(self, level, msg): + """Write debugging output to sys.stderr. + """ + if level <= self.debug: + print(msg, file=sys.stderr) + + def __enter__(self): + self._check() + return self + + def __exit__(self, type, value, traceback): + if type is None: + self.close() + else: + # An exception occurred. We must not call close() because + # it would try to write end-of-archive blocks and padding. + if not self._extfileobj: + self.fileobj.close() + self.closed = True +# class TarFile + +class TarIter(object): + """Iterator Class. + + for tarinfo in TarFile(...): + suite... + """ + + def __init__(self, tarfile): + """Construct a TarIter object. + """ + self.tarfile = tarfile + self.index = 0 + def __iter__(self): + """Return iterator object. + """ + return self + + def __next__(self): + """Return the next item using TarFile's next() method. + When all members have been read, set TarFile as _loaded. + """ + # Fix for SF #1100429: Under rare circumstances it can + # happen that getmembers() is called during iteration, + # which will cause TarIter to stop prematurely. + if not self.tarfile._loaded: + tarinfo = self.tarfile.next() + if not tarinfo: + self.tarfile._loaded = True + raise StopIteration + else: + try: + tarinfo = self.tarfile.members[self.index] + except IndexError: + raise StopIteration + self.index += 1 + return tarinfo + + next = __next__ # for Python 2.x + +#-------------------- +# exported functions +#-------------------- +def is_tarfile(name): + """Return True if name points to a tar archive that we + are able to handle, else return False. + """ + try: + t = open(name) + t.close() + return True + except TarError: + return False + +bltn_open = open +open = TarFile.open diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/compat.py new file mode 100644 index 0000000..ff328c8 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/compat.py @@ -0,0 +1,1120 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013-2017 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +from __future__ import absolute_import + +import os +import re +import sys + +try: + import ssl +except ImportError: # pragma: no cover + ssl = None + +if sys.version_info[0] < 3: # pragma: no cover + from StringIO import StringIO + string_types = basestring, + text_type = unicode + from types import FileType as file_type + import __builtin__ as builtins + import ConfigParser as configparser + from ._backport import shutil + from urlparse import urlparse, urlunparse, urljoin, urlsplit, urlunsplit + from urllib import (urlretrieve, quote as _quote, unquote, url2pathname, + pathname2url, ContentTooShortError, splittype) + + def quote(s): + if isinstance(s, unicode): + s = s.encode('utf-8') + return _quote(s) + + import urllib2 + from urllib2 import (Request, urlopen, URLError, HTTPError, + HTTPBasicAuthHandler, HTTPPasswordMgr, + HTTPHandler, HTTPRedirectHandler, + build_opener) + if ssl: + from urllib2 import HTTPSHandler + import httplib + import xmlrpclib + import Queue as queue + from HTMLParser import HTMLParser + import htmlentitydefs + raw_input = raw_input + from itertools import ifilter as filter + from itertools import ifilterfalse as filterfalse + + _userprog = None + def splituser(host): + """splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.""" + global _userprog + if _userprog is None: + import re + _userprog = re.compile('^(.*)@(.*)$') + + match = _userprog.match(host) + if match: return match.group(1, 2) + return None, host + +else: # pragma: no cover + from io import StringIO + string_types = str, + text_type = str + from io import TextIOWrapper as file_type + import builtins + import configparser + import shutil + from urllib.parse import (urlparse, urlunparse, urljoin, splituser, quote, + unquote, urlsplit, urlunsplit, splittype) + from urllib.request import (urlopen, urlretrieve, Request, url2pathname, + pathname2url, + HTTPBasicAuthHandler, HTTPPasswordMgr, + HTTPHandler, HTTPRedirectHandler, + build_opener) + if ssl: + from urllib.request import HTTPSHandler + from urllib.error import HTTPError, URLError, ContentTooShortError + import http.client as httplib + import urllib.request as urllib2 + import xmlrpc.client as xmlrpclib + import queue + from html.parser import HTMLParser + import html.entities as htmlentitydefs + raw_input = input + from itertools import filterfalse + filter = filter + +try: + from ssl import match_hostname, CertificateError +except ImportError: # pragma: no cover + class CertificateError(ValueError): + pass + + + def _dnsname_match(dn, hostname, max_wildcards=1): + """Matching according to RFC 6125, section 6.4.3 + + http://tools.ietf.org/html/rfc6125#section-6.4.3 + """ + pats = [] + if not dn: + return False + + parts = dn.split('.') + leftmost, remainder = parts[0], parts[1:] + + wildcards = leftmost.count('*') + if wildcards > max_wildcards: + # Issue #17980: avoid denials of service by refusing more + # than one wildcard per fragment. A survey of established + # policy among SSL implementations showed it to be a + # reasonable choice. + raise CertificateError( + "too many wildcards in certificate DNS name: " + repr(dn)) + + # speed up common case w/o wildcards + if not wildcards: + return dn.lower() == hostname.lower() + + # RFC 6125, section 6.4.3, subitem 1. + # The client SHOULD NOT attempt to match a presented identifier in which + # the wildcard character comprises a label other than the left-most label. + if leftmost == '*': + # When '*' is a fragment by itself, it matches a non-empty dotless + # fragment. + pats.append('[^.]+') + elif leftmost.startswith('xn--') or hostname.startswith('xn--'): + # RFC 6125, section 6.4.3, subitem 3. + # The client SHOULD NOT attempt to match a presented identifier + # where the wildcard character is embedded within an A-label or + # U-label of an internationalized domain name. + pats.append(re.escape(leftmost)) + else: + # Otherwise, '*' matches any dotless string, e.g. www* + pats.append(re.escape(leftmost).replace(r'\*', '[^.]*')) + + # add the remaining fragments, ignore any wildcards + for frag in remainder: + pats.append(re.escape(frag)) + + pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE) + return pat.match(hostname) + + + def match_hostname(cert, hostname): + """Verify that *cert* (in decoded format as returned by + SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125 + rules are followed, but IP addresses are not accepted for *hostname*. + + CertificateError is raised on failure. On success, the function + returns nothing. + """ + if not cert: + raise ValueError("empty or no certificate, match_hostname needs a " + "SSL socket or SSL context with either " + "CERT_OPTIONAL or CERT_REQUIRED") + dnsnames = [] + san = cert.get('subjectAltName', ()) + for key, value in san: + if key == 'DNS': + if _dnsname_match(value, hostname): + return + dnsnames.append(value) + if not dnsnames: + # The subject is only checked when there is no dNSName entry + # in subjectAltName + for sub in cert.get('subject', ()): + for key, value in sub: + # XXX according to RFC 2818, the most specific Common Name + # must be used. + if key == 'commonName': + if _dnsname_match(value, hostname): + return + dnsnames.append(value) + if len(dnsnames) > 1: + raise CertificateError("hostname %r " + "doesn't match either of %s" + % (hostname, ', '.join(map(repr, dnsnames)))) + elif len(dnsnames) == 1: + raise CertificateError("hostname %r " + "doesn't match %r" + % (hostname, dnsnames[0])) + else: + raise CertificateError("no appropriate commonName or " + "subjectAltName fields were found") + + +try: + from types import SimpleNamespace as Container +except ImportError: # pragma: no cover + class Container(object): + """ + A generic container for when multiple values need to be returned + """ + def __init__(self, **kwargs): + self.__dict__.update(kwargs) + + +try: + from shutil import which +except ImportError: # pragma: no cover + # Implementation from Python 3.3 + def which(cmd, mode=os.F_OK | os.X_OK, path=None): + """Given a command, mode, and a PATH string, return the path which + conforms to the given mode on the PATH, or None if there is no such + file. + + `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result + of os.environ.get("PATH"), or can be overridden with a custom search + path. + + """ + # Check that a given file can be accessed with the correct mode. + # Additionally check that `file` is not a directory, as on Windows + # directories pass the os.access check. + def _access_check(fn, mode): + return (os.path.exists(fn) and os.access(fn, mode) + and not os.path.isdir(fn)) + + # If we're given a path with a directory part, look it up directly rather + # than referring to PATH directories. This includes checking relative to the + # current directory, e.g. ./script + if os.path.dirname(cmd): + if _access_check(cmd, mode): + return cmd + return None + + if path is None: + path = os.environ.get("PATH", os.defpath) + if not path: + return None + path = path.split(os.pathsep) + + if sys.platform == "win32": + # The current directory takes precedence on Windows. + if not os.curdir in path: + path.insert(0, os.curdir) + + # PATHEXT is necessary to check on Windows. + pathext = os.environ.get("PATHEXT", "").split(os.pathsep) + # See if the given file matches any of the expected path extensions. + # This will allow us to short circuit when given "python.exe". + # If it does match, only test that one, otherwise we have to try + # others. + if any(cmd.lower().endswith(ext.lower()) for ext in pathext): + files = [cmd] + else: + files = [cmd + ext for ext in pathext] + else: + # On other platforms you don't have things like PATHEXT to tell you + # what file suffixes are executable, so just pass on cmd as-is. + files = [cmd] + + seen = set() + for dir in path: + normdir = os.path.normcase(dir) + if not normdir in seen: + seen.add(normdir) + for thefile in files: + name = os.path.join(dir, thefile) + if _access_check(name, mode): + return name + return None + + +# ZipFile is a context manager in 2.7, but not in 2.6 + +from zipfile import ZipFile as BaseZipFile + +if hasattr(BaseZipFile, '__enter__'): # pragma: no cover + ZipFile = BaseZipFile +else: # pragma: no cover + from zipfile import ZipExtFile as BaseZipExtFile + + class ZipExtFile(BaseZipExtFile): + def __init__(self, base): + self.__dict__.update(base.__dict__) + + def __enter__(self): + return self + + def __exit__(self, *exc_info): + self.close() + # return None, so if an exception occurred, it will propagate + + class ZipFile(BaseZipFile): + def __enter__(self): + return self + + def __exit__(self, *exc_info): + self.close() + # return None, so if an exception occurred, it will propagate + + def open(self, *args, **kwargs): + base = BaseZipFile.open(self, *args, **kwargs) + return ZipExtFile(base) + +try: + from platform import python_implementation +except ImportError: # pragma: no cover + def python_implementation(): + """Return a string identifying the Python implementation.""" + if 'PyPy' in sys.version: + return 'PyPy' + if os.name == 'java': + return 'Jython' + if sys.version.startswith('IronPython'): + return 'IronPython' + return 'CPython' + +try: + import sysconfig +except ImportError: # pragma: no cover + from ._backport import sysconfig + +try: + callable = callable +except NameError: # pragma: no cover + from collections import Callable + + def callable(obj): + return isinstance(obj, Callable) + + +try: + fsencode = os.fsencode + fsdecode = os.fsdecode +except AttributeError: # pragma: no cover + # Issue #99: on some systems (e.g. containerised), + # sys.getfilesystemencoding() returns None, and we need a real value, + # so fall back to utf-8. From the CPython 2.7 docs relating to Unix and + # sys.getfilesystemencoding(): the return value is "the user’s preference + # according to the result of nl_langinfo(CODESET), or None if the + # nl_langinfo(CODESET) failed." + _fsencoding = sys.getfilesystemencoding() or 'utf-8' + if _fsencoding == 'mbcs': + _fserrors = 'strict' + else: + _fserrors = 'surrogateescape' + + def fsencode(filename): + if isinstance(filename, bytes): + return filename + elif isinstance(filename, text_type): + return filename.encode(_fsencoding, _fserrors) + else: + raise TypeError("expect bytes or str, not %s" % + type(filename).__name__) + + def fsdecode(filename): + if isinstance(filename, text_type): + return filename + elif isinstance(filename, bytes): + return filename.decode(_fsencoding, _fserrors) + else: + raise TypeError("expect bytes or str, not %s" % + type(filename).__name__) + +try: + from tokenize import detect_encoding +except ImportError: # pragma: no cover + from codecs import BOM_UTF8, lookup + import re + + cookie_re = re.compile(r"coding[:=]\s*([-\w.]+)") + + def _get_normal_name(orig_enc): + """Imitates get_normal_name in tokenizer.c.""" + # Only care about the first 12 characters. + enc = orig_enc[:12].lower().replace("_", "-") + if enc == "utf-8" or enc.startswith("utf-8-"): + return "utf-8" + if enc in ("latin-1", "iso-8859-1", "iso-latin-1") or \ + enc.startswith(("latin-1-", "iso-8859-1-", "iso-latin-1-")): + return "iso-8859-1" + return orig_enc + + def detect_encoding(readline): + """ + The detect_encoding() function is used to detect the encoding that should + be used to decode a Python source file. It requires one argument, readline, + in the same way as the tokenize() generator. + + It will call readline a maximum of twice, and return the encoding used + (as a string) and a list of any lines (left as bytes) it has read in. + + It detects the encoding from the presence of a utf-8 bom or an encoding + cookie as specified in pep-0263. If both a bom and a cookie are present, + but disagree, a SyntaxError will be raised. If the encoding cookie is an + invalid charset, raise a SyntaxError. Note that if a utf-8 bom is found, + 'utf-8-sig' is returned. + + If no encoding is specified, then the default of 'utf-8' will be returned. + """ + try: + filename = readline.__self__.name + except AttributeError: + filename = None + bom_found = False + encoding = None + default = 'utf-8' + def read_or_stop(): + try: + return readline() + except StopIteration: + return b'' + + def find_cookie(line): + try: + # Decode as UTF-8. Either the line is an encoding declaration, + # in which case it should be pure ASCII, or it must be UTF-8 + # per default encoding. + line_string = line.decode('utf-8') + except UnicodeDecodeError: + msg = "invalid or missing encoding declaration" + if filename is not None: + msg = '{} for {!r}'.format(msg, filename) + raise SyntaxError(msg) + + matches = cookie_re.findall(line_string) + if not matches: + return None + encoding = _get_normal_name(matches[0]) + try: + codec = lookup(encoding) + except LookupError: + # This behaviour mimics the Python interpreter + if filename is None: + msg = "unknown encoding: " + encoding + else: + msg = "unknown encoding for {!r}: {}".format(filename, + encoding) + raise SyntaxError(msg) + + if bom_found: + if codec.name != 'utf-8': + # This behaviour mimics the Python interpreter + if filename is None: + msg = 'encoding problem: utf-8' + else: + msg = 'encoding problem for {!r}: utf-8'.format(filename) + raise SyntaxError(msg) + encoding += '-sig' + return encoding + + first = read_or_stop() + if first.startswith(BOM_UTF8): + bom_found = True + first = first[3:] + default = 'utf-8-sig' + if not first: + return default, [] + + encoding = find_cookie(first) + if encoding: + return encoding, [first] + + second = read_or_stop() + if not second: + return default, [first] + + encoding = find_cookie(second) + if encoding: + return encoding, [first, second] + + return default, [first, second] + +# For converting & <-> &amp; etc. +try: + from html import escape +except ImportError: + from cgi import escape +if sys.version_info[:2] < (3, 4): + unescape = HTMLParser().unescape +else: + from html import unescape + +try: + from collections import ChainMap +except ImportError: # pragma: no cover + from collections import MutableMapping + + try: + from reprlib import recursive_repr as _recursive_repr + except ImportError: + def _recursive_repr(fillvalue='...'): + ''' + Decorator to make a repr function return fillvalue for a recursive + call + ''' + + def decorating_function(user_function): + repr_running = set() + + def wrapper(self): + key = id(self), get_ident() + if key in repr_running: + return fillvalue + repr_running.add(key) + try: + result = user_function(self) + finally: + repr_running.discard(key) + return result + + # Can't use functools.wraps() here because of bootstrap issues + wrapper.__module__ = getattr(user_function, '__module__') + wrapper.__doc__ = getattr(user_function, '__doc__') + wrapper.__name__ = getattr(user_function, '__name__') + wrapper.__annotations__ = getattr(user_function, '__annotations__', {}) + return wrapper + + return decorating_function + + class ChainMap(MutableMapping): + ''' A ChainMap groups multiple dicts (or other mappings) together + to create a single, updateable view. + + The underlying mappings are stored in a list. That list is public and can + accessed or updated using the *maps* attribute. There is no other state. + + Lookups search the underlying mappings successively until a key is found. + In contrast, writes, updates, and deletions only operate on the first + mapping. + + ''' + + def __init__(self, *maps): + '''Initialize a ChainMap by setting *maps* to the given mappings. + If no mappings are provided, a single empty dictionary is used. + + ''' + self.maps = list(maps) or [{}] # always at least one map + + def __missing__(self, key): + raise KeyError(key) + + def __getitem__(self, key): + for mapping in self.maps: + try: + return mapping[key] # can't use 'key in mapping' with defaultdict + except KeyError: + pass + return self.__missing__(key) # support subclasses that define __missing__ + + def get(self, key, default=None): + return self[key] if key in self else default + + def __len__(self): + return len(set().union(*self.maps)) # reuses stored hash values if possible + + def __iter__(self): + return iter(set().union(*self.maps)) + + def __contains__(self, key): + return any(key in m for m in self.maps) + + def __bool__(self): + return any(self.maps) + + @_recursive_repr() + def __repr__(self): + return '{0.__class__.__name__}({1})'.format( + self, ', '.join(map(repr, self.maps))) + + @classmethod + def fromkeys(cls, iterable, *args): + 'Create a ChainMap with a single dict created from the iterable.' + return cls(dict.fromkeys(iterable, *args)) + + def copy(self): + 'New ChainMap or subclass with a new copy of maps[0] and refs to maps[1:]' + return self.__class__(self.maps[0].copy(), *self.maps[1:]) + + __copy__ = copy + + def new_child(self): # like Django's Context.push() + 'New ChainMap with a new dict followed by all previous maps.' + return self.__class__({}, *self.maps) + + @property + def parents(self): # like Django's Context.pop() + 'New ChainMap from maps[1:].' + return self.__class__(*self.maps[1:]) + + def __setitem__(self, key, value): + self.maps[0][key] = value + + def __delitem__(self, key): + try: + del self.maps[0][key] + except KeyError: + raise KeyError('Key not found in the first mapping: {!r}'.format(key)) + + def popitem(self): + 'Remove and return an item pair from maps[0]. Raise KeyError is maps[0] is empty.' + try: + return self.maps[0].popitem() + except KeyError: + raise KeyError('No keys found in the first mapping.') + + def pop(self, key, *args): + 'Remove *key* from maps[0] and return its value. Raise KeyError if *key* not in maps[0].' + try: + return self.maps[0].pop(key, *args) + except KeyError: + raise KeyError('Key not found in the first mapping: {!r}'.format(key)) + + def clear(self): + 'Clear maps[0], leaving maps[1:] intact.' + self.maps[0].clear() + +try: + from importlib.util import cache_from_source # Python >= 3.4 +except ImportError: # pragma: no cover + try: + from imp import cache_from_source + except ImportError: # pragma: no cover + def cache_from_source(path, debug_override=None): + assert path.endswith('.py') + if debug_override is None: + debug_override = __debug__ + if debug_override: + suffix = 'c' + else: + suffix = 'o' + return path + suffix + +try: + from collections import OrderedDict +except ImportError: # pragma: no cover +## {{{ http://code.activestate.com/recipes/576693/ (r9) +# Backport of OrderedDict() class that runs on Python 2.4, 2.5, 2.6, 2.7 and pypy. +# Passes Python2.7's test suite and incorporates all the latest updates. + try: + from thread import get_ident as _get_ident + except ImportError: + from dummy_thread import get_ident as _get_ident + + try: + from _abcoll import KeysView, ValuesView, ItemsView + except ImportError: + pass + + + class OrderedDict(dict): + 'Dictionary that remembers insertion order' + # An inherited dict maps keys to values. + # The inherited dict provides __getitem__, __len__, __contains__, and get. + # The remaining methods are order-aware. + # Big-O running times for all methods are the same as for regular dictionaries. + + # The internal self.__map dictionary maps keys to links in a doubly linked list. + # The circular doubly linked list starts and ends with a sentinel element. + # The sentinel element never gets deleted (this simplifies the algorithm). + # Each link is stored as a list of length three: [PREV, NEXT, KEY]. + + def __init__(self, *args, **kwds): + '''Initialize an ordered dictionary. Signature is the same as for + regular dictionaries, but keyword arguments are not recommended + because their insertion order is arbitrary. + + ''' + if len(args) > 1: + raise TypeError('expected at most 1 arguments, got %d' % len(args)) + try: + self.__root + except AttributeError: + self.__root = root = [] # sentinel node + root[:] = [root, root, None] + self.__map = {} + self.__update(*args, **kwds) + + def __setitem__(self, key, value, dict_setitem=dict.__setitem__): + 'od.__setitem__(i, y) <==> od[i]=y' + # Setting a new item creates a new link which goes at the end of the linked + # list, and the inherited dictionary is updated with the new key/value pair. + if key not in self: + root = self.__root + last = root[0] + last[1] = root[0] = self.__map[key] = [last, root, key] + dict_setitem(self, key, value) + + def __delitem__(self, key, dict_delitem=dict.__delitem__): + 'od.__delitem__(y) <==> del od[y]' + # Deleting an existing item uses self.__map to find the link which is + # then removed by updating the links in the predecessor and successor nodes. + dict_delitem(self, key) + link_prev, link_next, key = self.__map.pop(key) + link_prev[1] = link_next + link_next[0] = link_prev + + def __iter__(self): + 'od.__iter__() <==> iter(od)' + root = self.__root + curr = root[1] + while curr is not root: + yield curr[2] + curr = curr[1] + + def __reversed__(self): + 'od.__reversed__() <==> reversed(od)' + root = self.__root + curr = root[0] + while curr is not root: + yield curr[2] + curr = curr[0] + + def clear(self): + 'od.clear() -> None. Remove all items from od.' + try: + for node in self.__map.itervalues(): + del node[:] + root = self.__root + root[:] = [root, root, None] + self.__map.clear() + except AttributeError: + pass + dict.clear(self) + + def popitem(self, last=True): + '''od.popitem() -> (k, v), return and remove a (key, value) pair. + Pairs are returned in LIFO order if last is true or FIFO order if false. + + ''' + if not self: + raise KeyError('dictionary is empty') + root = self.__root + if last: + link = root[0] + link_prev = link[0] + link_prev[1] = root + root[0] = link_prev + else: + link = root[1] + link_next = link[1] + root[1] = link_next + link_next[0] = root + key = link[2] + del self.__map[key] + value = dict.pop(self, key) + return key, value + + # -- the following methods do not depend on the internal structure -- + + def keys(self): + 'od.keys() -> list of keys in od' + return list(self) + + def values(self): + 'od.values() -> list of values in od' + return [self[key] for key in self] + + def items(self): + 'od.items() -> list of (key, value) pairs in od' + return [(key, self[key]) for key in self] + + def iterkeys(self): + 'od.iterkeys() -> an iterator over the keys in od' + return iter(self) + + def itervalues(self): + 'od.itervalues -> an iterator over the values in od' + for k in self: + yield self[k] + + def iteritems(self): + 'od.iteritems -> an iterator over the (key, value) items in od' + for k in self: + yield (k, self[k]) + + def update(*args, **kwds): + '''od.update(E, **F) -> None. Update od from dict/iterable E and F. + + If E is a dict instance, does: for k in E: od[k] = E[k] + If E has a .keys() method, does: for k in E.keys(): od[k] = E[k] + Or if E is an iterable of items, does: for k, v in E: od[k] = v + In either case, this is followed by: for k, v in F.items(): od[k] = v + + ''' + if len(args) > 2: + raise TypeError('update() takes at most 2 positional ' + 'arguments (%d given)' % (len(args),)) + elif not args: + raise TypeError('update() takes at least 1 argument (0 given)') + self = args[0] + # Make progressively weaker assumptions about "other" + other = () + if len(args) == 2: + other = args[1] + if isinstance(other, dict): + for key in other: + self[key] = other[key] + elif hasattr(other, 'keys'): + for key in other.keys(): + self[key] = other[key] + else: + for key, value in other: + self[key] = value + for key, value in kwds.items(): + self[key] = value + + __update = update # let subclasses override update without breaking __init__ + + __marker = object() + + def pop(self, key, default=__marker): + '''od.pop(k[,d]) -> v, remove specified key and return the corresponding value. + If key is not found, d is returned if given, otherwise KeyError is raised. + + ''' + if key in self: + result = self[key] + del self[key] + return result + if default is self.__marker: + raise KeyError(key) + return default + + def setdefault(self, key, default=None): + 'od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od' + if key in self: + return self[key] + self[key] = default + return default + + def __repr__(self, _repr_running=None): + 'od.__repr__() <==> repr(od)' + if not _repr_running: _repr_running = {} + call_key = id(self), _get_ident() + if call_key in _repr_running: + return '...' + _repr_running[call_key] = 1 + try: + if not self: + return '%s()' % (self.__class__.__name__,) + return '%s(%r)' % (self.__class__.__name__, self.items()) + finally: + del _repr_running[call_key] + + def __reduce__(self): + 'Return state information for pickling' + items = [[k, self[k]] for k in self] + inst_dict = vars(self).copy() + for k in vars(OrderedDict()): + inst_dict.pop(k, None) + if inst_dict: + return (self.__class__, (items,), inst_dict) + return self.__class__, (items,) + + def copy(self): + 'od.copy() -> a shallow copy of od' + return self.__class__(self) + + @classmethod + def fromkeys(cls, iterable, value=None): + '''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S + and values equal to v (which defaults to None). + + ''' + d = cls() + for key in iterable: + d[key] = value + return d + + def __eq__(self, other): + '''od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive + while comparison to a regular mapping is order-insensitive. + + ''' + if isinstance(other, OrderedDict): + return len(self)==len(other) and self.items() == other.items() + return dict.__eq__(self, other) + + def __ne__(self, other): + return not self == other + + # -- the following methods are only used in Python 2.7 -- + + def viewkeys(self): + "od.viewkeys() -> a set-like object providing a view on od's keys" + return KeysView(self) + + def viewvalues(self): + "od.viewvalues() -> an object providing a view on od's values" + return ValuesView(self) + + def viewitems(self): + "od.viewitems() -> a set-like object providing a view on od's items" + return ItemsView(self) + +try: + from logging.config import BaseConfigurator, valid_ident +except ImportError: # pragma: no cover + IDENTIFIER = re.compile('^[a-z_][a-z0-9_]*$', re.I) + + + def valid_ident(s): + m = IDENTIFIER.match(s) + if not m: + raise ValueError('Not a valid Python identifier: %r' % s) + return True + + + # The ConvertingXXX classes are wrappers around standard Python containers, + # and they serve to convert any suitable values in the container. The + # conversion converts base dicts, lists and tuples to their wrapped + # equivalents, whereas strings which match a conversion format are converted + # appropriately. + # + # Each wrapper should have a configurator attribute holding the actual + # configurator to use for conversion. + + class ConvertingDict(dict): + """A converting dictionary wrapper.""" + + def __getitem__(self, key): + value = dict.__getitem__(self, key) + result = self.configurator.convert(value) + #If the converted value is different, save for next time + if value is not result: + self[key] = result + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + result.key = key + return result + + def get(self, key, default=None): + value = dict.get(self, key, default) + result = self.configurator.convert(value) + #If the converted value is different, save for next time + if value is not result: + self[key] = result + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + result.key = key + return result + + def pop(self, key, default=None): + value = dict.pop(self, key, default) + result = self.configurator.convert(value) + if value is not result: + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + result.key = key + return result + + class ConvertingList(list): + """A converting list wrapper.""" + def __getitem__(self, key): + value = list.__getitem__(self, key) + result = self.configurator.convert(value) + #If the converted value is different, save for next time + if value is not result: + self[key] = result + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + result.key = key + return result + + def pop(self, idx=-1): + value = list.pop(self, idx) + result = self.configurator.convert(value) + if value is not result: + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + return result + + class ConvertingTuple(tuple): + """A converting tuple wrapper.""" + def __getitem__(self, key): + value = tuple.__getitem__(self, key) + result = self.configurator.convert(value) + if value is not result: + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + result.key = key + return result + + class BaseConfigurator(object): + """ + The configurator base class which defines some useful defaults. + """ + + CONVERT_PATTERN = re.compile(r'^(?P<prefix>[a-z]+)://(?P<suffix>.*)$') + + WORD_PATTERN = re.compile(r'^\s*(\w+)\s*') + DOT_PATTERN = re.compile(r'^\.\s*(\w+)\s*') + INDEX_PATTERN = re.compile(r'^\[\s*(\w+)\s*\]\s*') + DIGIT_PATTERN = re.compile(r'^\d+$') + + value_converters = { + 'ext' : 'ext_convert', + 'cfg' : 'cfg_convert', + } + + # We might want to use a different one, e.g. importlib + importer = staticmethod(__import__) + + def __init__(self, config): + self.config = ConvertingDict(config) + self.config.configurator = self + + def resolve(self, s): + """ + Resolve strings to objects using standard import and attribute + syntax. + """ + name = s.split('.') + used = name.pop(0) + try: + found = self.importer(used) + for frag in name: + used += '.' + frag + try: + found = getattr(found, frag) + except AttributeError: + self.importer(used) + found = getattr(found, frag) + return found + except ImportError: + e, tb = sys.exc_info()[1:] + v = ValueError('Cannot resolve %r: %s' % (s, e)) + v.__cause__, v.__traceback__ = e, tb + raise v + + def ext_convert(self, value): + """Default converter for the ext:// protocol.""" + return self.resolve(value) + + def cfg_convert(self, value): + """Default converter for the cfg:// protocol.""" + rest = value + m = self.WORD_PATTERN.match(rest) + if m is None: + raise ValueError("Unable to convert %r" % value) + else: + rest = rest[m.end():] + d = self.config[m.groups()[0]] + #print d, rest + while rest: + m = self.DOT_PATTERN.match(rest) + if m: + d = d[m.groups()[0]] + else: + m = self.INDEX_PATTERN.match(rest) + if m: + idx = m.groups()[0] + if not self.DIGIT_PATTERN.match(idx): + d = d[idx] + else: + try: + n = int(idx) # try as number first (most likely) + d = d[n] + except TypeError: + d = d[idx] + if m: + rest = rest[m.end():] + else: + raise ValueError('Unable to convert ' + '%r at %r' % (value, rest)) + #rest should be empty + return d + + def convert(self, value): + """ + Convert values to an appropriate type. dicts, lists and tuples are + replaced by their converting alternatives. Strings are checked to + see if they have a conversion format and are converted if they do. + """ + if not isinstance(value, ConvertingDict) and isinstance(value, dict): + value = ConvertingDict(value) + value.configurator = self + elif not isinstance(value, ConvertingList) and isinstance(value, list): + value = ConvertingList(value) + value.configurator = self + elif not isinstance(value, ConvertingTuple) and\ + isinstance(value, tuple): + value = ConvertingTuple(value) + value.configurator = self + elif isinstance(value, string_types): + m = self.CONVERT_PATTERN.match(value) + if m: + d = m.groupdict() + prefix = d['prefix'] + converter = self.value_converters.get(prefix, None) + if converter: + suffix = d['suffix'] + converter = getattr(self, converter) + value = converter(suffix) + return value + + def configure_custom(self, config): + """Configure an object with a user-supplied factory.""" + c = config.pop('()') + if not callable(c): + c = self.resolve(c) + props = config.pop('.', None) + # Check for valid identifiers + kwargs = dict([(k, config[k]) for k in config if valid_ident(k)]) + result = c(**kwargs) + if props: + for name, value in props.items(): + setattr(result, name, value) + return result + + def as_tuple(self, value): + """Utility function which converts lists to tuples.""" + if isinstance(value, list): + value = tuple(value) + return value diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/database.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/database.py new file mode 100644 index 0000000..b13cdac --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/database.py @@ -0,0 +1,1339 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2017 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +"""PEP 376 implementation.""" + +from __future__ import unicode_literals + +import base64 +import codecs +import contextlib +import hashlib +import logging +import os +import posixpath +import sys +import zipimport + +from . import DistlibException, resources +from .compat import StringIO +from .version import get_scheme, UnsupportedVersionError +from .metadata import (Metadata, METADATA_FILENAME, WHEEL_METADATA_FILENAME, + LEGACY_METADATA_FILENAME) +from .util import (parse_requirement, cached_property, parse_name_and_version, + read_exports, write_exports, CSVReader, CSVWriter) + + +__all__ = ['Distribution', 'BaseInstalledDistribution', + 'InstalledDistribution', 'EggInfoDistribution', + 'DistributionPath'] + + +logger = logging.getLogger(__name__) + +EXPORTS_FILENAME = 'pydist-exports.json' +COMMANDS_FILENAME = 'pydist-commands.json' + +DIST_FILES = ('INSTALLER', METADATA_FILENAME, 'RECORD', 'REQUESTED', + 'RESOURCES', EXPORTS_FILENAME, 'SHARED') + +DISTINFO_EXT = '.dist-info' + + +class _Cache(object): + """ + A simple cache mapping names and .dist-info paths to distributions + """ + def __init__(self): + """ + Initialise an instance. There is normally one for each DistributionPath. + """ + self.name = {} + self.path = {} + self.generated = False + + def clear(self): + """ + Clear the cache, setting it to its initial state. + """ + self.name.clear() + self.path.clear() + self.generated = False + + def add(self, dist): + """ + Add a distribution to the cache. + :param dist: The distribution to add. + """ + if dist.path not in self.path: + self.path[dist.path] = dist + self.name.setdefault(dist.key, []).append(dist) + + +class DistributionPath(object): + """ + Represents a set of distributions installed on a path (typically sys.path). + """ + def __init__(self, path=None, include_egg=False): + """ + Create an instance from a path, optionally including legacy (distutils/ + setuptools/distribute) distributions. + :param path: The path to use, as a list of directories. If not specified, + sys.path is used. + :param include_egg: If True, this instance will look for and return legacy + distributions as well as those based on PEP 376. + """ + if path is None: + path = sys.path + self.path = path + self._include_dist = True + self._include_egg = include_egg + + self._cache = _Cache() + self._cache_egg = _Cache() + self._cache_enabled = True + self._scheme = get_scheme('default') + + def _get_cache_enabled(self): + return self._cache_enabled + + def _set_cache_enabled(self, value): + self._cache_enabled = value + + cache_enabled = property(_get_cache_enabled, _set_cache_enabled) + + def clear_cache(self): + """ + Clears the internal cache. + """ + self._cache.clear() + self._cache_egg.clear() + + + def _yield_distributions(self): + """ + Yield .dist-info and/or .egg(-info) distributions. + """ + # We need to check if we've seen some resources already, because on + # some Linux systems (e.g. some Debian/Ubuntu variants) there are + # symlinks which alias other files in the environment. + seen = set() + for path in self.path: + finder = resources.finder_for_path(path) + if finder is None: + continue + r = finder.find('') + if not r or not r.is_container: + continue + rset = sorted(r.resources) + for entry in rset: + r = finder.find(entry) + if not r or r.path in seen: + continue + if self._include_dist and entry.endswith(DISTINFO_EXT): + possible_filenames = [METADATA_FILENAME, + WHEEL_METADATA_FILENAME, + LEGACY_METADATA_FILENAME] + for metadata_filename in possible_filenames: + metadata_path = posixpath.join(entry, metadata_filename) + pydist = finder.find(metadata_path) + if pydist: + break + else: + continue + + with contextlib.closing(pydist.as_stream()) as stream: + metadata = Metadata(fileobj=stream, scheme='legacy') + logger.debug('Found %s', r.path) + seen.add(r.path) + yield new_dist_class(r.path, metadata=metadata, + env=self) + elif self._include_egg and entry.endswith(('.egg-info', + '.egg')): + logger.debug('Found %s', r.path) + seen.add(r.path) + yield old_dist_class(r.path, self) + + def _generate_cache(self): + """ + Scan the path for distributions and populate the cache with + those that are found. + """ + gen_dist = not self._cache.generated + gen_egg = self._include_egg and not self._cache_egg.generated + if gen_dist or gen_egg: + for dist in self._yield_distributions(): + if isinstance(dist, InstalledDistribution): + self._cache.add(dist) + else: + self._cache_egg.add(dist) + + if gen_dist: + self._cache.generated = True + if gen_egg: + self._cache_egg.generated = True + + @classmethod + def distinfo_dirname(cls, name, version): + """ + The *name* and *version* parameters are converted into their + filename-escaped form, i.e. any ``'-'`` characters are replaced + with ``'_'`` other than the one in ``'dist-info'`` and the one + separating the name from the version number. + + :parameter name: is converted to a standard distribution name by replacing + any runs of non- alphanumeric characters with a single + ``'-'``. + :type name: string + :parameter version: is converted to a standard version string. Spaces + become dots, and all other non-alphanumeric characters + (except dots) become dashes, with runs of multiple + dashes condensed to a single dash. + :type version: string + :returns: directory name + :rtype: string""" + name = name.replace('-', '_') + return '-'.join([name, version]) + DISTINFO_EXT + + def get_distributions(self): + """ + Provides an iterator that looks for distributions and returns + :class:`InstalledDistribution` or + :class:`EggInfoDistribution` instances for each one of them. + + :rtype: iterator of :class:`InstalledDistribution` and + :class:`EggInfoDistribution` instances + """ + if not self._cache_enabled: + for dist in self._yield_distributions(): + yield dist + else: + self._generate_cache() + + for dist in self._cache.path.values(): + yield dist + + if self._include_egg: + for dist in self._cache_egg.path.values(): + yield dist + + def get_distribution(self, name): + """ + Looks for a named distribution on the path. + + This function only returns the first result found, as no more than one + value is expected. If nothing is found, ``None`` is returned. + + :rtype: :class:`InstalledDistribution`, :class:`EggInfoDistribution` + or ``None`` + """ + result = None + name = name.lower() + if not self._cache_enabled: + for dist in self._yield_distributions(): + if dist.key == name: + result = dist + break + else: + self._generate_cache() + + if name in self._cache.name: + result = self._cache.name[name][0] + elif self._include_egg and name in self._cache_egg.name: + result = self._cache_egg.name[name][0] + return result + + def provides_distribution(self, name, version=None): + """ + Iterates over all distributions to find which distributions provide *name*. + If a *version* is provided, it will be used to filter the results. + + This function only returns the first result found, since no more than + one values are expected. If the directory is not found, returns ``None``. + + :parameter version: a version specifier that indicates the version + required, conforming to the format in ``PEP-345`` + + :type name: string + :type version: string + """ + matcher = None + if version is not None: + try: + matcher = self._scheme.matcher('%s (%s)' % (name, version)) + except ValueError: + raise DistlibException('invalid name or version: %r, %r' % + (name, version)) + + for dist in self.get_distributions(): + # We hit a problem on Travis where enum34 was installed and doesn't + # have a provides attribute ... + if not hasattr(dist, 'provides'): + logger.debug('No "provides": %s', dist) + else: + provided = dist.provides + + for p in provided: + p_name, p_ver = parse_name_and_version(p) + if matcher is None: + if p_name == name: + yield dist + break + else: + if p_name == name and matcher.match(p_ver): + yield dist + break + + def get_file_path(self, name, relative_path): + """ + Return the path to a resource file. + """ + dist = self.get_distribution(name) + if dist is None: + raise LookupError('no distribution named %r found' % name) + return dist.get_resource_path(relative_path) + + def get_exported_entries(self, category, name=None): + """ + Return all of the exported entries in a particular category. + + :param category: The category to search for entries. + :param name: If specified, only entries with that name are returned. + """ + for dist in self.get_distributions(): + r = dist.exports + if category in r: + d = r[category] + if name is not None: + if name in d: + yield d[name] + else: + for v in d.values(): + yield v + + +class Distribution(object): + """ + A base class for distributions, whether installed or from indexes. + Either way, it must have some metadata, so that's all that's needed + for construction. + """ + + build_time_dependency = False + """ + Set to True if it's known to be only a build-time dependency (i.e. + not needed after installation). + """ + + requested = False + """A boolean that indicates whether the ``REQUESTED`` metadata file is + present (in other words, whether the package was installed by user + request or it was installed as a dependency).""" + + def __init__(self, metadata): + """ + Initialise an instance. + :param metadata: The instance of :class:`Metadata` describing this + distribution. + """ + self.metadata = metadata + self.name = metadata.name + self.key = self.name.lower() # for case-insensitive comparisons + self.version = metadata.version + self.locator = None + self.digest = None + self.extras = None # additional features requested + self.context = None # environment marker overrides + self.download_urls = set() + self.digests = {} + + @property + def source_url(self): + """ + The source archive download URL for this distribution. + """ + return self.metadata.source_url + + download_url = source_url # Backward compatibility + + @property + def name_and_version(self): + """ + A utility property which displays the name and version in parentheses. + """ + return '%s (%s)' % (self.name, self.version) + + @property + def provides(self): + """ + A set of distribution names and versions provided by this distribution. + :return: A set of "name (version)" strings. + """ + plist = self.metadata.provides + s = '%s (%s)' % (self.name, self.version) + if s not in plist: + plist.append(s) + return plist + + def _get_requirements(self, req_attr): + md = self.metadata + logger.debug('Getting requirements from metadata %r', md.todict()) + reqts = getattr(md, req_attr) + return set(md.get_requirements(reqts, extras=self.extras, + env=self.context)) + + @property + def run_requires(self): + return self._get_requirements('run_requires') + + @property + def meta_requires(self): + return self._get_requirements('meta_requires') + + @property + def build_requires(self): + return self._get_requirements('build_requires') + + @property + def test_requires(self): + return self._get_requirements('test_requires') + + @property + def dev_requires(self): + return self._get_requirements('dev_requires') + + def matches_requirement(self, req): + """ + Say if this instance matches (fulfills) a requirement. + :param req: The requirement to match. + :rtype req: str + :return: True if it matches, else False. + """ + # Requirement may contain extras - parse to lose those + # from what's passed to the matcher + r = parse_requirement(req) + scheme = get_scheme(self.metadata.scheme) + try: + matcher = scheme.matcher(r.requirement) + except UnsupportedVersionError: + # XXX compat-mode if cannot read the version + logger.warning('could not read version %r - using name only', + req) + name = req.split()[0] + matcher = scheme.matcher(name) + + name = matcher.key # case-insensitive + + result = False + for p in self.provides: + p_name, p_ver = parse_name_and_version(p) + if p_name != name: + continue + try: + result = matcher.match(p_ver) + break + except UnsupportedVersionError: + pass + return result + + def __repr__(self): + """ + Return a textual representation of this instance, + """ + if self.source_url: + suffix = ' [%s]' % self.source_url + else: + suffix = '' + return '<Distribution %s (%s)%s>' % (self.name, self.version, suffix) + + def __eq__(self, other): + """ + See if this distribution is the same as another. + :param other: The distribution to compare with. To be equal to one + another. distributions must have the same type, name, + version and source_url. + :return: True if it is the same, else False. + """ + if type(other) is not type(self): + result = False + else: + result = (self.name == other.name and + self.version == other.version and + self.source_url == other.source_url) + return result + + def __hash__(self): + """ + Compute hash in a way which matches the equality test. + """ + return hash(self.name) + hash(self.version) + hash(self.source_url) + + +class BaseInstalledDistribution(Distribution): + """ + This is the base class for installed distributions (whether PEP 376 or + legacy). + """ + + hasher = None + + def __init__(self, metadata, path, env=None): + """ + Initialise an instance. + :param metadata: An instance of :class:`Metadata` which describes the + distribution. This will normally have been initialised + from a metadata file in the ``path``. + :param path: The path of the ``.dist-info`` or ``.egg-info`` + directory for the distribution. + :param env: This is normally the :class:`DistributionPath` + instance where this distribution was found. + """ + super(BaseInstalledDistribution, self).__init__(metadata) + self.path = path + self.dist_path = env + + def get_hash(self, data, hasher=None): + """ + Get the hash of some data, using a particular hash algorithm, if + specified. + + :param data: The data to be hashed. + :type data: bytes + :param hasher: The name of a hash implementation, supported by hashlib, + or ``None``. Examples of valid values are ``'sha1'``, + ``'sha224'``, ``'sha384'``, '``sha256'``, ``'md5'`` and + ``'sha512'``. If no hasher is specified, the ``hasher`` + attribute of the :class:`InstalledDistribution` instance + is used. If the hasher is determined to be ``None``, MD5 + is used as the hashing algorithm. + :returns: The hash of the data. If a hasher was explicitly specified, + the returned hash will be prefixed with the specified hasher + followed by '='. + :rtype: str + """ + if hasher is None: + hasher = self.hasher + if hasher is None: + hasher = hashlib.md5 + prefix = '' + else: + hasher = getattr(hashlib, hasher) + prefix = '%s=' % self.hasher + digest = hasher(data).digest() + digest = base64.urlsafe_b64encode(digest).rstrip(b'=').decode('ascii') + return '%s%s' % (prefix, digest) + + +class InstalledDistribution(BaseInstalledDistribution): + """ + Created with the *path* of the ``.dist-info`` directory provided to the + constructor. It reads the metadata contained in ``pydist.json`` when it is + instantiated., or uses a passed in Metadata instance (useful for when + dry-run mode is being used). + """ + + hasher = 'sha256' + + def __init__(self, path, metadata=None, env=None): + self.modules = [] + self.finder = finder = resources.finder_for_path(path) + if finder is None: + raise ValueError('finder unavailable for %s' % path) + if env and env._cache_enabled and path in env._cache.path: + metadata = env._cache.path[path].metadata + elif metadata is None: + r = finder.find(METADATA_FILENAME) + # Temporary - for Wheel 0.23 support + if r is None: + r = finder.find(WHEEL_METADATA_FILENAME) + # Temporary - for legacy support + if r is None: + r = finder.find('METADATA') + if r is None: + raise ValueError('no %s found in %s' % (METADATA_FILENAME, + path)) + with contextlib.closing(r.as_stream()) as stream: + metadata = Metadata(fileobj=stream, scheme='legacy') + + super(InstalledDistribution, self).__init__(metadata, path, env) + + if env and env._cache_enabled: + env._cache.add(self) + + r = finder.find('REQUESTED') + self.requested = r is not None + p = os.path.join(path, 'top_level.txt') + if os.path.exists(p): + with open(p, 'rb') as f: + data = f.read() + self.modules = data.splitlines() + + def __repr__(self): + return '<InstalledDistribution %r %s at %r>' % ( + self.name, self.version, self.path) + + def __str__(self): + return "%s %s" % (self.name, self.version) + + def _get_records(self): + """ + Get the list of installed files for the distribution + :return: A list of tuples of path, hash and size. Note that hash and + size might be ``None`` for some entries. The path is exactly + as stored in the file (which is as in PEP 376). + """ + results = [] + r = self.get_distinfo_resource('RECORD') + with contextlib.closing(r.as_stream()) as stream: + with CSVReader(stream=stream) as record_reader: + # Base location is parent dir of .dist-info dir + #base_location = os.path.dirname(self.path) + #base_location = os.path.abspath(base_location) + for row in record_reader: + missing = [None for i in range(len(row), 3)] + path, checksum, size = row + missing + #if not os.path.isabs(path): + # path = path.replace('/', os.sep) + # path = os.path.join(base_location, path) + results.append((path, checksum, size)) + return results + + @cached_property + def exports(self): + """ + Return the information exported by this distribution. + :return: A dictionary of exports, mapping an export category to a dict + of :class:`ExportEntry` instances describing the individual + export entries, and keyed by name. + """ + result = {} + r = self.get_distinfo_resource(EXPORTS_FILENAME) + if r: + result = self.read_exports() + return result + + def read_exports(self): + """ + Read exports data from a file in .ini format. + + :return: A dictionary of exports, mapping an export category to a list + of :class:`ExportEntry` instances describing the individual + export entries. + """ + result = {} + r = self.get_distinfo_resource(EXPORTS_FILENAME) + if r: + with contextlib.closing(r.as_stream()) as stream: + result = read_exports(stream) + return result + + def write_exports(self, exports): + """ + Write a dictionary of exports to a file in .ini format. + :param exports: A dictionary of exports, mapping an export category to + a list of :class:`ExportEntry` instances describing the + individual export entries. + """ + rf = self.get_distinfo_file(EXPORTS_FILENAME) + with open(rf, 'w') as f: + write_exports(exports, f) + + def get_resource_path(self, relative_path): + """ + NOTE: This API may change in the future. + + Return the absolute path to a resource file with the given relative + path. + + :param relative_path: The path, relative to .dist-info, of the resource + of interest. + :return: The absolute path where the resource is to be found. + """ + r = self.get_distinfo_resource('RESOURCES') + with contextlib.closing(r.as_stream()) as stream: + with CSVReader(stream=stream) as resources_reader: + for relative, destination in resources_reader: + if relative == relative_path: + return destination + raise KeyError('no resource file with relative path %r ' + 'is installed' % relative_path) + + def list_installed_files(self): + """ + Iterates over the ``RECORD`` entries and returns a tuple + ``(path, hash, size)`` for each line. + + :returns: iterator of (path, hash, size) + """ + for result in self._get_records(): + yield result + + def write_installed_files(self, paths, prefix, dry_run=False): + """ + Writes the ``RECORD`` file, using the ``paths`` iterable passed in. Any + existing ``RECORD`` file is silently overwritten. + + prefix is used to determine when to write absolute paths. + """ + prefix = os.path.join(prefix, '') + base = os.path.dirname(self.path) + base_under_prefix = base.startswith(prefix) + base = os.path.join(base, '') + record_path = self.get_distinfo_file('RECORD') + logger.info('creating %s', record_path) + if dry_run: + return None + with CSVWriter(record_path) as writer: + for path in paths: + if os.path.isdir(path) or path.endswith(('.pyc', '.pyo')): + # do not put size and hash, as in PEP-376 + hash_value = size = '' + else: + size = '%d' % os.path.getsize(path) + with open(path, 'rb') as fp: + hash_value = self.get_hash(fp.read()) + if path.startswith(base) or (base_under_prefix and + path.startswith(prefix)): + path = os.path.relpath(path, base) + writer.writerow((path, hash_value, size)) + + # add the RECORD file itself + if record_path.startswith(base): + record_path = os.path.relpath(record_path, base) + writer.writerow((record_path, '', '')) + return record_path + + def check_installed_files(self): + """ + Checks that the hashes and sizes of the files in ``RECORD`` are + matched by the files themselves. Returns a (possibly empty) list of + mismatches. Each entry in the mismatch list will be a tuple consisting + of the path, 'exists', 'size' or 'hash' according to what didn't match + (existence is checked first, then size, then hash), the expected + value and the actual value. + """ + mismatches = [] + base = os.path.dirname(self.path) + record_path = self.get_distinfo_file('RECORD') + for path, hash_value, size in self.list_installed_files(): + if not os.path.isabs(path): + path = os.path.join(base, path) + if path == record_path: + continue + if not os.path.exists(path): + mismatches.append((path, 'exists', True, False)) + elif os.path.isfile(path): + actual_size = str(os.path.getsize(path)) + if size and actual_size != size: + mismatches.append((path, 'size', size, actual_size)) + elif hash_value: + if '=' in hash_value: + hasher = hash_value.split('=', 1)[0] + else: + hasher = None + + with open(path, 'rb') as f: + actual_hash = self.get_hash(f.read(), hasher) + if actual_hash != hash_value: + mismatches.append((path, 'hash', hash_value, actual_hash)) + return mismatches + + @cached_property + def shared_locations(self): + """ + A dictionary of shared locations whose keys are in the set 'prefix', + 'purelib', 'platlib', 'scripts', 'headers', 'data' and 'namespace'. + The corresponding value is the absolute path of that category for + this distribution, and takes into account any paths selected by the + user at installation time (e.g. via command-line arguments). In the + case of the 'namespace' key, this would be a list of absolute paths + for the roots of namespace packages in this distribution. + + The first time this property is accessed, the relevant information is + read from the SHARED file in the .dist-info directory. + """ + result = {} + shared_path = os.path.join(self.path, 'SHARED') + if os.path.isfile(shared_path): + with codecs.open(shared_path, 'r', encoding='utf-8') as f: + lines = f.read().splitlines() + for line in lines: + key, value = line.split('=', 1) + if key == 'namespace': + result.setdefault(key, []).append(value) + else: + result[key] = value + return result + + def write_shared_locations(self, paths, dry_run=False): + """ + Write shared location information to the SHARED file in .dist-info. + :param paths: A dictionary as described in the documentation for + :meth:`shared_locations`. + :param dry_run: If True, the action is logged but no file is actually + written. + :return: The path of the file written to. + """ + shared_path = os.path.join(self.path, 'SHARED') + logger.info('creating %s', shared_path) + if dry_run: + return None + lines = [] + for key in ('prefix', 'lib', 'headers', 'scripts', 'data'): + path = paths[key] + if os.path.isdir(paths[key]): + lines.append('%s=%s' % (key, path)) + for ns in paths.get('namespace', ()): + lines.append('namespace=%s' % ns) + + with codecs.open(shared_path, 'w', encoding='utf-8') as f: + f.write('\n'.join(lines)) + return shared_path + + def get_distinfo_resource(self, path): + if path not in DIST_FILES: + raise DistlibException('invalid path for a dist-info file: ' + '%r at %r' % (path, self.path)) + finder = resources.finder_for_path(self.path) + if finder is None: + raise DistlibException('Unable to get a finder for %s' % self.path) + return finder.find(path) + + def get_distinfo_file(self, path): + """ + Returns a path located under the ``.dist-info`` directory. Returns a + string representing the path. + + :parameter path: a ``'/'``-separated path relative to the + ``.dist-info`` directory or an absolute path; + If *path* is an absolute path and doesn't start + with the ``.dist-info`` directory path, + a :class:`DistlibException` is raised + :type path: str + :rtype: str + """ + # Check if it is an absolute path # XXX use relpath, add tests + if path.find(os.sep) >= 0: + # it's an absolute path? + distinfo_dirname, path = path.split(os.sep)[-2:] + if distinfo_dirname != self.path.split(os.sep)[-1]: + raise DistlibException( + 'dist-info file %r does not belong to the %r %s ' + 'distribution' % (path, self.name, self.version)) + + # The file must be relative + if path not in DIST_FILES: + raise DistlibException('invalid path for a dist-info file: ' + '%r at %r' % (path, self.path)) + + return os.path.join(self.path, path) + + def list_distinfo_files(self): + """ + Iterates over the ``RECORD`` entries and returns paths for each line if + the path is pointing to a file located in the ``.dist-info`` directory + or one of its subdirectories. + + :returns: iterator of paths + """ + base = os.path.dirname(self.path) + for path, checksum, size in self._get_records(): + # XXX add separator or use real relpath algo + if not os.path.isabs(path): + path = os.path.join(base, path) + if path.startswith(self.path): + yield path + + def __eq__(self, other): + return (isinstance(other, InstalledDistribution) and + self.path == other.path) + + # See http://docs.python.org/reference/datamodel#object.__hash__ + __hash__ = object.__hash__ + + +class EggInfoDistribution(BaseInstalledDistribution): + """Created with the *path* of the ``.egg-info`` directory or file provided + to the constructor. It reads the metadata contained in the file itself, or + if the given path happens to be a directory, the metadata is read from the + file ``PKG-INFO`` under that directory.""" + + requested = True # as we have no way of knowing, assume it was + shared_locations = {} + + def __init__(self, path, env=None): + def set_name_and_version(s, n, v): + s.name = n + s.key = n.lower() # for case-insensitive comparisons + s.version = v + + self.path = path + self.dist_path = env + if env and env._cache_enabled and path in env._cache_egg.path: + metadata = env._cache_egg.path[path].metadata + set_name_and_version(self, metadata.name, metadata.version) + else: + metadata = self._get_metadata(path) + + # Need to be set before caching + set_name_and_version(self, metadata.name, metadata.version) + + if env and env._cache_enabled: + env._cache_egg.add(self) + super(EggInfoDistribution, self).__init__(metadata, path, env) + + def _get_metadata(self, path): + requires = None + + def parse_requires_data(data): + """Create a list of dependencies from a requires.txt file. + + *data*: the contents of a setuptools-produced requires.txt file. + """ + reqs = [] + lines = data.splitlines() + for line in lines: + line = line.strip() + if line.startswith('['): + logger.warning('Unexpected line: quitting requirement scan: %r', + line) + break + r = parse_requirement(line) + if not r: + logger.warning('Not recognised as a requirement: %r', line) + continue + if r.extras: + logger.warning('extra requirements in requires.txt are ' + 'not supported') + if not r.constraints: + reqs.append(r.name) + else: + cons = ', '.join('%s%s' % c for c in r.constraints) + reqs.append('%s (%s)' % (r.name, cons)) + return reqs + + def parse_requires_path(req_path): + """Create a list of dependencies from a requires.txt file. + + *req_path*: the path to a setuptools-produced requires.txt file. + """ + + reqs = [] + try: + with codecs.open(req_path, 'r', 'utf-8') as fp: + reqs = parse_requires_data(fp.read()) + except IOError: + pass + return reqs + + tl_path = tl_data = None + if path.endswith('.egg'): + if os.path.isdir(path): + p = os.path.join(path, 'EGG-INFO') + meta_path = os.path.join(p, 'PKG-INFO') + metadata = Metadata(path=meta_path, scheme='legacy') + req_path = os.path.join(p, 'requires.txt') + tl_path = os.path.join(p, 'top_level.txt') + requires = parse_requires_path(req_path) + else: + # FIXME handle the case where zipfile is not available + zipf = zipimport.zipimporter(path) + fileobj = StringIO( + zipf.get_data('EGG-INFO/PKG-INFO').decode('utf8')) + metadata = Metadata(fileobj=fileobj, scheme='legacy') + try: + data = zipf.get_data('EGG-INFO/requires.txt') + tl_data = zipf.get_data('EGG-INFO/top_level.txt').decode('utf-8') + requires = parse_requires_data(data.decode('utf-8')) + except IOError: + requires = None + elif path.endswith('.egg-info'): + if os.path.isdir(path): + req_path = os.path.join(path, 'requires.txt') + requires = parse_requires_path(req_path) + path = os.path.join(path, 'PKG-INFO') + tl_path = os.path.join(path, 'top_level.txt') + metadata = Metadata(path=path, scheme='legacy') + else: + raise DistlibException('path must end with .egg-info or .egg, ' + 'got %r' % path) + + if requires: + metadata.add_requirements(requires) + # look for top-level modules in top_level.txt, if present + if tl_data is None: + if tl_path is not None and os.path.exists(tl_path): + with open(tl_path, 'rb') as f: + tl_data = f.read().decode('utf-8') + if not tl_data: + tl_data = [] + else: + tl_data = tl_data.splitlines() + self.modules = tl_data + return metadata + + def __repr__(self): + return '<EggInfoDistribution %r %s at %r>' % ( + self.name, self.version, self.path) + + def __str__(self): + return "%s %s" % (self.name, self.version) + + def check_installed_files(self): + """ + Checks that the hashes and sizes of the files in ``RECORD`` are + matched by the files themselves. Returns a (possibly empty) list of + mismatches. Each entry in the mismatch list will be a tuple consisting + of the path, 'exists', 'size' or 'hash' according to what didn't match + (existence is checked first, then size, then hash), the expected + value and the actual value. + """ + mismatches = [] + record_path = os.path.join(self.path, 'installed-files.txt') + if os.path.exists(record_path): + for path, _, _ in self.list_installed_files(): + if path == record_path: + continue + if not os.path.exists(path): + mismatches.append((path, 'exists', True, False)) + return mismatches + + def list_installed_files(self): + """ + Iterates over the ``installed-files.txt`` entries and returns a tuple + ``(path, hash, size)`` for each line. + + :returns: a list of (path, hash, size) + """ + + def _md5(path): + f = open(path, 'rb') + try: + content = f.read() + finally: + f.close() + return hashlib.md5(content).hexdigest() + + def _size(path): + return os.stat(path).st_size + + record_path = os.path.join(self.path, 'installed-files.txt') + result = [] + if os.path.exists(record_path): + with codecs.open(record_path, 'r', encoding='utf-8') as f: + for line in f: + line = line.strip() + p = os.path.normpath(os.path.join(self.path, line)) + # "./" is present as a marker between installed files + # and installation metadata files + if not os.path.exists(p): + logger.warning('Non-existent file: %s', p) + if p.endswith(('.pyc', '.pyo')): + continue + #otherwise fall through and fail + if not os.path.isdir(p): + result.append((p, _md5(p), _size(p))) + result.append((record_path, None, None)) + return result + + def list_distinfo_files(self, absolute=False): + """ + Iterates over the ``installed-files.txt`` entries and returns paths for + each line if the path is pointing to a file located in the + ``.egg-info`` directory or one of its subdirectories. + + :parameter absolute: If *absolute* is ``True``, each returned path is + transformed into a local absolute path. Otherwise the + raw value from ``installed-files.txt`` is returned. + :type absolute: boolean + :returns: iterator of paths + """ + record_path = os.path.join(self.path, 'installed-files.txt') + if os.path.exists(record_path): + skip = True + with codecs.open(record_path, 'r', encoding='utf-8') as f: + for line in f: + line = line.strip() + if line == './': + skip = False + continue + if not skip: + p = os.path.normpath(os.path.join(self.path, line)) + if p.startswith(self.path): + if absolute: + yield p + else: + yield line + + def __eq__(self, other): + return (isinstance(other, EggInfoDistribution) and + self.path == other.path) + + # See http://docs.python.org/reference/datamodel#object.__hash__ + __hash__ = object.__hash__ + +new_dist_class = InstalledDistribution +old_dist_class = EggInfoDistribution + + +class DependencyGraph(object): + """ + Represents a dependency graph between distributions. + + The dependency relationships are stored in an ``adjacency_list`` that maps + distributions to a list of ``(other, label)`` tuples where ``other`` + is a distribution and the edge is labeled with ``label`` (i.e. the version + specifier, if such was provided). Also, for more efficient traversal, for + every distribution ``x``, a list of predecessors is kept in + ``reverse_list[x]``. An edge from distribution ``a`` to + distribution ``b`` means that ``a`` depends on ``b``. If any missing + dependencies are found, they are stored in ``missing``, which is a + dictionary that maps distributions to a list of requirements that were not + provided by any other distributions. + """ + + def __init__(self): + self.adjacency_list = {} + self.reverse_list = {} + self.missing = {} + + def add_distribution(self, distribution): + """Add the *distribution* to the graph. + + :type distribution: :class:`distutils2.database.InstalledDistribution` + or :class:`distutils2.database.EggInfoDistribution` + """ + self.adjacency_list[distribution] = [] + self.reverse_list[distribution] = [] + #self.missing[distribution] = [] + + def add_edge(self, x, y, label=None): + """Add an edge from distribution *x* to distribution *y* with the given + *label*. + + :type x: :class:`distutils2.database.InstalledDistribution` or + :class:`distutils2.database.EggInfoDistribution` + :type y: :class:`distutils2.database.InstalledDistribution` or + :class:`distutils2.database.EggInfoDistribution` + :type label: ``str`` or ``None`` + """ + self.adjacency_list[x].append((y, label)) + # multiple edges are allowed, so be careful + if x not in self.reverse_list[y]: + self.reverse_list[y].append(x) + + def add_missing(self, distribution, requirement): + """ + Add a missing *requirement* for the given *distribution*. + + :type distribution: :class:`distutils2.database.InstalledDistribution` + or :class:`distutils2.database.EggInfoDistribution` + :type requirement: ``str`` + """ + logger.debug('%s missing %r', distribution, requirement) + self.missing.setdefault(distribution, []).append(requirement) + + def _repr_dist(self, dist): + return '%s %s' % (dist.name, dist.version) + + def repr_node(self, dist, level=1): + """Prints only a subgraph""" + output = [self._repr_dist(dist)] + for other, label in self.adjacency_list[dist]: + dist = self._repr_dist(other) + if label is not None: + dist = '%s [%s]' % (dist, label) + output.append(' ' * level + str(dist)) + suboutput = self.repr_node(other, level + 1) + subs = suboutput.split('\n') + output.extend(subs[1:]) + return '\n'.join(output) + + def to_dot(self, f, skip_disconnected=True): + """Writes a DOT output for the graph to the provided file *f*. + + If *skip_disconnected* is set to ``True``, then all distributions + that are not dependent on any other distribution are skipped. + + :type f: has to support ``file``-like operations + :type skip_disconnected: ``bool`` + """ + disconnected = [] + + f.write("digraph dependencies {\n") + for dist, adjs in self.adjacency_list.items(): + if len(adjs) == 0 and not skip_disconnected: + disconnected.append(dist) + for other, label in adjs: + if not label is None: + f.write('"%s" -> "%s" [label="%s"]\n' % + (dist.name, other.name, label)) + else: + f.write('"%s" -> "%s"\n' % (dist.name, other.name)) + if not skip_disconnected and len(disconnected) > 0: + f.write('subgraph disconnected {\n') + f.write('label = "Disconnected"\n') + f.write('bgcolor = red\n') + + for dist in disconnected: + f.write('"%s"' % dist.name) + f.write('\n') + f.write('}\n') + f.write('}\n') + + def topological_sort(self): + """ + Perform a topological sort of the graph. + :return: A tuple, the first element of which is a topologically sorted + list of distributions, and the second element of which is a + list of distributions that cannot be sorted because they have + circular dependencies and so form a cycle. + """ + result = [] + # Make a shallow copy of the adjacency list + alist = {} + for k, v in self.adjacency_list.items(): + alist[k] = v[:] + while True: + # See what we can remove in this run + to_remove = [] + for k, v in list(alist.items())[:]: + if not v: + to_remove.append(k) + del alist[k] + if not to_remove: + # What's left in alist (if anything) is a cycle. + break + # Remove from the adjacency list of others + for k, v in alist.items(): + alist[k] = [(d, r) for d, r in v if d not in to_remove] + logger.debug('Moving to result: %s', + ['%s (%s)' % (d.name, d.version) for d in to_remove]) + result.extend(to_remove) + return result, list(alist.keys()) + + def __repr__(self): + """Representation of the graph""" + output = [] + for dist, adjs in self.adjacency_list.items(): + output.append(self.repr_node(dist)) + return '\n'.join(output) + + +def make_graph(dists, scheme='default'): + """Makes a dependency graph from the given distributions. + + :parameter dists: a list of distributions + :type dists: list of :class:`distutils2.database.InstalledDistribution` and + :class:`distutils2.database.EggInfoDistribution` instances + :rtype: a :class:`DependencyGraph` instance + """ + scheme = get_scheme(scheme) + graph = DependencyGraph() + provided = {} # maps names to lists of (version, dist) tuples + + # first, build the graph and find out what's provided + for dist in dists: + graph.add_distribution(dist) + + for p in dist.provides: + name, version = parse_name_and_version(p) + logger.debug('Add to provided: %s, %s, %s', name, version, dist) + provided.setdefault(name, []).append((version, dist)) + + # now make the edges + for dist in dists: + requires = (dist.run_requires | dist.meta_requires | + dist.build_requires | dist.dev_requires) + for req in requires: + try: + matcher = scheme.matcher(req) + except UnsupportedVersionError: + # XXX compat-mode if cannot read the version + logger.warning('could not read version %r - using name only', + req) + name = req.split()[0] + matcher = scheme.matcher(name) + + name = matcher.key # case-insensitive + + matched = False + if name in provided: + for version, provider in provided[name]: + try: + match = matcher.match(version) + except UnsupportedVersionError: + match = False + + if match: + graph.add_edge(dist, provider, req) + matched = True + break + if not matched: + graph.add_missing(dist, req) + return graph + + +def get_dependent_dists(dists, dist): + """Recursively generate a list of distributions from *dists* that are + dependent on *dist*. + + :param dists: a list of distributions + :param dist: a distribution, member of *dists* for which we are interested + """ + if dist not in dists: + raise DistlibException('given distribution %r is not a member ' + 'of the list' % dist.name) + graph = make_graph(dists) + + dep = [dist] # dependent distributions + todo = graph.reverse_list[dist] # list of nodes we should inspect + + while todo: + d = todo.pop() + dep.append(d) + for succ in graph.reverse_list[d]: + if succ not in dep: + todo.append(succ) + + dep.pop(0) # remove dist from dep, was there to prevent infinite loops + return dep + + +def get_required_dists(dists, dist): + """Recursively generate a list of distributions from *dists* that are + required by *dist*. + + :param dists: a list of distributions + :param dist: a distribution, member of *dists* for which we are interested + """ + if dist not in dists: + raise DistlibException('given distribution %r is not a member ' + 'of the list' % dist.name) + graph = make_graph(dists) + + req = [] # required distributions + todo = graph.adjacency_list[dist] # list of nodes we should inspect + + while todo: + d = todo.pop()[0] + req.append(d) + for pred in graph.adjacency_list[d]: + if pred not in req: + todo.append(pred) + + return req + + +def make_dist(name, version, **kwargs): + """ + A convenience method for making a dist given just a name and version. + """ + summary = kwargs.pop('summary', 'Placeholder for summary') + md = Metadata(**kwargs) + md.name = name + md.version = version + md.summary = summary or 'Placeholder for summary' + return Distribution(md) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/index.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/index.py new file mode 100644 index 0000000..2406be2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/index.py @@ -0,0 +1,516 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +import hashlib +import logging +import os +import shutil +import subprocess +import tempfile +try: + from threading import Thread +except ImportError: + from dummy_threading import Thread + +from . import DistlibException +from .compat import (HTTPBasicAuthHandler, Request, HTTPPasswordMgr, + urlparse, build_opener, string_types) +from .util import cached_property, zip_dir, ServerProxy + +logger = logging.getLogger(__name__) + +DEFAULT_INDEX = 'https://pypi.python.org/pypi' +DEFAULT_REALM = 'pypi' + +class PackageIndex(object): + """ + This class represents a package index compatible with PyPI, the Python + Package Index. + """ + + boundary = b'----------ThIs_Is_tHe_distlib_index_bouNdaRY_$' + + def __init__(self, url=None): + """ + Initialise an instance. + + :param url: The URL of the index. If not specified, the URL for PyPI is + used. + """ + self.url = url or DEFAULT_INDEX + self.read_configuration() + scheme, netloc, path, params, query, frag = urlparse(self.url) + if params or query or frag or scheme not in ('http', 'https'): + raise DistlibException('invalid repository: %s' % self.url) + self.password_handler = None + self.ssl_verifier = None + self.gpg = None + self.gpg_home = None + with open(os.devnull, 'w') as sink: + # Use gpg by default rather than gpg2, as gpg2 insists on + # prompting for passwords + for s in ('gpg', 'gpg2'): + try: + rc = subprocess.check_call([s, '--version'], stdout=sink, + stderr=sink) + if rc == 0: + self.gpg = s + break + except OSError: + pass + + def _get_pypirc_command(self): + """ + Get the distutils command for interacting with PyPI configurations. + :return: the command. + """ + from distutils.core import Distribution + from distutils.config import PyPIRCCommand + d = Distribution() + return PyPIRCCommand(d) + + def read_configuration(self): + """ + Read the PyPI access configuration as supported by distutils, getting + PyPI to do the actual work. This populates ``username``, ``password``, + ``realm`` and ``url`` attributes from the configuration. + """ + # get distutils to do the work + c = self._get_pypirc_command() + c.repository = self.url + cfg = c._read_pypirc() + self.username = cfg.get('username') + self.password = cfg.get('password') + self.realm = cfg.get('realm', 'pypi') + self.url = cfg.get('repository', self.url) + + def save_configuration(self): + """ + Save the PyPI access configuration. You must have set ``username`` and + ``password`` attributes before calling this method. + + Again, distutils is used to do the actual work. + """ + self.check_credentials() + # get distutils to do the work + c = self._get_pypirc_command() + c._store_pypirc(self.username, self.password) + + def check_credentials(self): + """ + Check that ``username`` and ``password`` have been set, and raise an + exception if not. + """ + if self.username is None or self.password is None: + raise DistlibException('username and password must be set') + pm = HTTPPasswordMgr() + _, netloc, _, _, _, _ = urlparse(self.url) + pm.add_password(self.realm, netloc, self.username, self.password) + self.password_handler = HTTPBasicAuthHandler(pm) + + def register(self, metadata): + """ + Register a distribution on PyPI, using the provided metadata. + + :param metadata: A :class:`Metadata` instance defining at least a name + and version number for the distribution to be + registered. + :return: The HTTP response received from PyPI upon submission of the + request. + """ + self.check_credentials() + metadata.validate() + d = metadata.todict() + d[':action'] = 'verify' + request = self.encode_request(d.items(), []) + response = self.send_request(request) + d[':action'] = 'submit' + request = self.encode_request(d.items(), []) + return self.send_request(request) + + def _reader(self, name, stream, outbuf): + """ + Thread runner for reading lines of from a subprocess into a buffer. + + :param name: The logical name of the stream (used for logging only). + :param stream: The stream to read from. This will typically a pipe + connected to the output stream of a subprocess. + :param outbuf: The list to append the read lines to. + """ + while True: + s = stream.readline() + if not s: + break + s = s.decode('utf-8').rstrip() + outbuf.append(s) + logger.debug('%s: %s' % (name, s)) + stream.close() + + def get_sign_command(self, filename, signer, sign_password, + keystore=None): + """ + Return a suitable command for signing a file. + + :param filename: The pathname to the file to be signed. + :param signer: The identifier of the signer of the file. + :param sign_password: The passphrase for the signer's + private key used for signing. + :param keystore: The path to a directory which contains the keys + used in verification. If not specified, the + instance's ``gpg_home`` attribute is used instead. + :return: The signing command as a list suitable to be + passed to :class:`subprocess.Popen`. + """ + cmd = [self.gpg, '--status-fd', '2', '--no-tty'] + if keystore is None: + keystore = self.gpg_home + if keystore: + cmd.extend(['--homedir', keystore]) + if sign_password is not None: + cmd.extend(['--batch', '--passphrase-fd', '0']) + td = tempfile.mkdtemp() + sf = os.path.join(td, os.path.basename(filename) + '.asc') + cmd.extend(['--detach-sign', '--armor', '--local-user', + signer, '--output', sf, filename]) + logger.debug('invoking: %s', ' '.join(cmd)) + return cmd, sf + + def run_command(self, cmd, input_data=None): + """ + Run a command in a child process , passing it any input data specified. + + :param cmd: The command to run. + :param input_data: If specified, this must be a byte string containing + data to be sent to the child process. + :return: A tuple consisting of the subprocess' exit code, a list of + lines read from the subprocess' ``stdout``, and a list of + lines read from the subprocess' ``stderr``. + """ + kwargs = { + 'stdout': subprocess.PIPE, + 'stderr': subprocess.PIPE, + } + if input_data is not None: + kwargs['stdin'] = subprocess.PIPE + stdout = [] + stderr = [] + p = subprocess.Popen(cmd, **kwargs) + # We don't use communicate() here because we may need to + # get clever with interacting with the command + t1 = Thread(target=self._reader, args=('stdout', p.stdout, stdout)) + t1.start() + t2 = Thread(target=self._reader, args=('stderr', p.stderr, stderr)) + t2.start() + if input_data is not None: + p.stdin.write(input_data) + p.stdin.close() + + p.wait() + t1.join() + t2.join() + return p.returncode, stdout, stderr + + def sign_file(self, filename, signer, sign_password, keystore=None): + """ + Sign a file. + + :param filename: The pathname to the file to be signed. + :param signer: The identifier of the signer of the file. + :param sign_password: The passphrase for the signer's + private key used for signing. + :param keystore: The path to a directory which contains the keys + used in signing. If not specified, the instance's + ``gpg_home`` attribute is used instead. + :return: The absolute pathname of the file where the signature is + stored. + """ + cmd, sig_file = self.get_sign_command(filename, signer, sign_password, + keystore) + rc, stdout, stderr = self.run_command(cmd, + sign_password.encode('utf-8')) + if rc != 0: + raise DistlibException('sign command failed with error ' + 'code %s' % rc) + return sig_file + + def upload_file(self, metadata, filename, signer=None, sign_password=None, + filetype='sdist', pyversion='source', keystore=None): + """ + Upload a release file to the index. + + :param metadata: A :class:`Metadata` instance defining at least a name + and version number for the file to be uploaded. + :param filename: The pathname of the file to be uploaded. + :param signer: The identifier of the signer of the file. + :param sign_password: The passphrase for the signer's + private key used for signing. + :param filetype: The type of the file being uploaded. This is the + distutils command which produced that file, e.g. + ``sdist`` or ``bdist_wheel``. + :param pyversion: The version of Python which the release relates + to. For code compatible with any Python, this would + be ``source``, otherwise it would be e.g. ``3.2``. + :param keystore: The path to a directory which contains the keys + used in signing. If not specified, the instance's + ``gpg_home`` attribute is used instead. + :return: The HTTP response received from PyPI upon submission of the + request. + """ + self.check_credentials() + if not os.path.exists(filename): + raise DistlibException('not found: %s' % filename) + metadata.validate() + d = metadata.todict() + sig_file = None + if signer: + if not self.gpg: + logger.warning('no signing program available - not signed') + else: + sig_file = self.sign_file(filename, signer, sign_password, + keystore) + with open(filename, 'rb') as f: + file_data = f.read() + md5_digest = hashlib.md5(file_data).hexdigest() + sha256_digest = hashlib.sha256(file_data).hexdigest() + d.update({ + ':action': 'file_upload', + 'protocol_version': '1', + 'filetype': filetype, + 'pyversion': pyversion, + 'md5_digest': md5_digest, + 'sha256_digest': sha256_digest, + }) + files = [('content', os.path.basename(filename), file_data)] + if sig_file: + with open(sig_file, 'rb') as f: + sig_data = f.read() + files.append(('gpg_signature', os.path.basename(sig_file), + sig_data)) + shutil.rmtree(os.path.dirname(sig_file)) + request = self.encode_request(d.items(), files) + return self.send_request(request) + + def upload_documentation(self, metadata, doc_dir): + """ + Upload documentation to the index. + + :param metadata: A :class:`Metadata` instance defining at least a name + and version number for the documentation to be + uploaded. + :param doc_dir: The pathname of the directory which contains the + documentation. This should be the directory that + contains the ``index.html`` for the documentation. + :return: The HTTP response received from PyPI upon submission of the + request. + """ + self.check_credentials() + if not os.path.isdir(doc_dir): + raise DistlibException('not a directory: %r' % doc_dir) + fn = os.path.join(doc_dir, 'index.html') + if not os.path.exists(fn): + raise DistlibException('not found: %r' % fn) + metadata.validate() + name, version = metadata.name, metadata.version + zip_data = zip_dir(doc_dir).getvalue() + fields = [(':action', 'doc_upload'), + ('name', name), ('version', version)] + files = [('content', name, zip_data)] + request = self.encode_request(fields, files) + return self.send_request(request) + + def get_verify_command(self, signature_filename, data_filename, + keystore=None): + """ + Return a suitable command for verifying a file. + + :param signature_filename: The pathname to the file containing the + signature. + :param data_filename: The pathname to the file containing the + signed data. + :param keystore: The path to a directory which contains the keys + used in verification. If not specified, the + instance's ``gpg_home`` attribute is used instead. + :return: The verifying command as a list suitable to be + passed to :class:`subprocess.Popen`. + """ + cmd = [self.gpg, '--status-fd', '2', '--no-tty'] + if keystore is None: + keystore = self.gpg_home + if keystore: + cmd.extend(['--homedir', keystore]) + cmd.extend(['--verify', signature_filename, data_filename]) + logger.debug('invoking: %s', ' '.join(cmd)) + return cmd + + def verify_signature(self, signature_filename, data_filename, + keystore=None): + """ + Verify a signature for a file. + + :param signature_filename: The pathname to the file containing the + signature. + :param data_filename: The pathname to the file containing the + signed data. + :param keystore: The path to a directory which contains the keys + used in verification. If not specified, the + instance's ``gpg_home`` attribute is used instead. + :return: True if the signature was verified, else False. + """ + if not self.gpg: + raise DistlibException('verification unavailable because gpg ' + 'unavailable') + cmd = self.get_verify_command(signature_filename, data_filename, + keystore) + rc, stdout, stderr = self.run_command(cmd) + if rc not in (0, 1): + raise DistlibException('verify command failed with error ' + 'code %s' % rc) + return rc == 0 + + def download_file(self, url, destfile, digest=None, reporthook=None): + """ + This is a convenience method for downloading a file from an URL. + Normally, this will be a file from the index, though currently + no check is made for this (i.e. a file can be downloaded from + anywhere). + + The method is just like the :func:`urlretrieve` function in the + standard library, except that it allows digest computation to be + done during download and checking that the downloaded data + matched any expected value. + + :param url: The URL of the file to be downloaded (assumed to be + available via an HTTP GET request). + :param destfile: The pathname where the downloaded file is to be + saved. + :param digest: If specified, this must be a (hasher, value) + tuple, where hasher is the algorithm used (e.g. + ``'md5'``) and ``value`` is the expected value. + :param reporthook: The same as for :func:`urlretrieve` in the + standard library. + """ + if digest is None: + digester = None + logger.debug('No digest specified') + else: + if isinstance(digest, (list, tuple)): + hasher, digest = digest + else: + hasher = 'md5' + digester = getattr(hashlib, hasher)() + logger.debug('Digest specified: %s' % digest) + # The following code is equivalent to urlretrieve. + # We need to do it this way so that we can compute the + # digest of the file as we go. + with open(destfile, 'wb') as dfp: + # addinfourl is not a context manager on 2.x + # so we have to use try/finally + sfp = self.send_request(Request(url)) + try: + headers = sfp.info() + blocksize = 8192 + size = -1 + read = 0 + blocknum = 0 + if "content-length" in headers: + size = int(headers["Content-Length"]) + if reporthook: + reporthook(blocknum, blocksize, size) + while True: + block = sfp.read(blocksize) + if not block: + break + read += len(block) + dfp.write(block) + if digester: + digester.update(block) + blocknum += 1 + if reporthook: + reporthook(blocknum, blocksize, size) + finally: + sfp.close() + + # check that we got the whole file, if we can + if size >= 0 and read < size: + raise DistlibException( + 'retrieval incomplete: got only %d out of %d bytes' + % (read, size)) + # if we have a digest, it must match. + if digester: + actual = digester.hexdigest() + if digest != actual: + raise DistlibException('%s digest mismatch for %s: expected ' + '%s, got %s' % (hasher, destfile, + digest, actual)) + logger.debug('Digest verified: %s', digest) + + def send_request(self, req): + """ + Send a standard library :class:`Request` to PyPI and return its + response. + + :param req: The request to send. + :return: The HTTP response from PyPI (a standard library HTTPResponse). + """ + handlers = [] + if self.password_handler: + handlers.append(self.password_handler) + if self.ssl_verifier: + handlers.append(self.ssl_verifier) + opener = build_opener(*handlers) + return opener.open(req) + + def encode_request(self, fields, files): + """ + Encode fields and files for posting to an HTTP server. + + :param fields: The fields to send as a list of (fieldname, value) + tuples. + :param files: The files to send as a list of (fieldname, filename, + file_bytes) tuple. + """ + # Adapted from packaging, which in turn was adapted from + # http://code.activestate.com/recipes/146306 + + parts = [] + boundary = self.boundary + for k, values in fields: + if not isinstance(values, (list, tuple)): + values = [values] + + for v in values: + parts.extend(( + b'--' + boundary, + ('Content-Disposition: form-data; name="%s"' % + k).encode('utf-8'), + b'', + v.encode('utf-8'))) + for key, filename, value in files: + parts.extend(( + b'--' + boundary, + ('Content-Disposition: form-data; name="%s"; filename="%s"' % + (key, filename)).encode('utf-8'), + b'', + value)) + + parts.extend((b'--' + boundary + b'--', b'')) + + body = b'\r\n'.join(parts) + ct = b'multipart/form-data; boundary=' + boundary + headers = { + 'Content-type': ct, + 'Content-length': str(len(body)) + } + return Request(self.url, body, headers) + + def search(self, terms, operator=None): + if isinstance(terms, string_types): + terms = {'name': terms} + rpc_proxy = ServerProxy(self.url, timeout=3.0) + try: + return rpc_proxy.search(terms, operator or 'and') + finally: + rpc_proxy('close')() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/locators.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/locators.py new file mode 100644 index 0000000..5c655c3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/locators.py @@ -0,0 +1,1295 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2015 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# + +import gzip +from io import BytesIO +import json +import logging +import os +import posixpath +import re +try: + import threading +except ImportError: # pragma: no cover + import dummy_threading as threading +import zlib + +from . import DistlibException +from .compat import (urljoin, urlparse, urlunparse, url2pathname, pathname2url, + queue, quote, unescape, string_types, build_opener, + HTTPRedirectHandler as BaseRedirectHandler, text_type, + Request, HTTPError, URLError) +from .database import Distribution, DistributionPath, make_dist +from .metadata import Metadata, MetadataInvalidError +from .util import (cached_property, parse_credentials, ensure_slash, + split_filename, get_project_data, parse_requirement, + parse_name_and_version, ServerProxy, normalize_name) +from .version import get_scheme, UnsupportedVersionError +from .wheel import Wheel, is_compatible + +logger = logging.getLogger(__name__) + +HASHER_HASH = re.compile(r'^(\w+)=([a-f0-9]+)') +CHARSET = re.compile(r';\s*charset\s*=\s*(.*)\s*$', re.I) +HTML_CONTENT_TYPE = re.compile('text/html|application/x(ht)?ml') +DEFAULT_INDEX = 'https://pypi.python.org/pypi' + +def get_all_distribution_names(url=None): + """ + Return all distribution names known by an index. + :param url: The URL of the index. + :return: A list of all known distribution names. + """ + if url is None: + url = DEFAULT_INDEX + client = ServerProxy(url, timeout=3.0) + try: + return client.list_packages() + finally: + client('close')() + +class RedirectHandler(BaseRedirectHandler): + """ + A class to work around a bug in some Python 3.2.x releases. + """ + # There's a bug in the base version for some 3.2.x + # (e.g. 3.2.2 on Ubuntu Oneiric). If a Location header + # returns e.g. /abc, it bails because it says the scheme '' + # is bogus, when actually it should use the request's + # URL for the scheme. See Python issue #13696. + def http_error_302(self, req, fp, code, msg, headers): + # Some servers (incorrectly) return multiple Location headers + # (so probably same goes for URI). Use first header. + newurl = None + for key in ('location', 'uri'): + if key in headers: + newurl = headers[key] + break + if newurl is None: # pragma: no cover + return + urlparts = urlparse(newurl) + if urlparts.scheme == '': + newurl = urljoin(req.get_full_url(), newurl) + if hasattr(headers, 'replace_header'): + headers.replace_header(key, newurl) + else: + headers[key] = newurl + return BaseRedirectHandler.http_error_302(self, req, fp, code, msg, + headers) + + http_error_301 = http_error_303 = http_error_307 = http_error_302 + +class Locator(object): + """ + A base class for locators - things that locate distributions. + """ + source_extensions = ('.tar.gz', '.tar.bz2', '.tar', '.zip', '.tgz', '.tbz') + binary_extensions = ('.egg', '.exe', '.whl') + excluded_extensions = ('.pdf',) + + # A list of tags indicating which wheels you want to match. The default + # value of None matches against the tags compatible with the running + # Python. If you want to match other values, set wheel_tags on a locator + # instance to a list of tuples (pyver, abi, arch) which you want to match. + wheel_tags = None + + downloadable_extensions = source_extensions + ('.whl',) + + def __init__(self, scheme='default'): + """ + Initialise an instance. + :param scheme: Because locators look for most recent versions, they + need to know the version scheme to use. This specifies + the current PEP-recommended scheme - use ``'legacy'`` + if you need to support existing distributions on PyPI. + """ + self._cache = {} + self.scheme = scheme + # Because of bugs in some of the handlers on some of the platforms, + # we use our own opener rather than just using urlopen. + self.opener = build_opener(RedirectHandler()) + # If get_project() is called from locate(), the matcher instance + # is set from the requirement passed to locate(). See issue #18 for + # why this can be useful to know. + self.matcher = None + self.errors = queue.Queue() + + def get_errors(self): + """ + Return any errors which have occurred. + """ + result = [] + while not self.errors.empty(): # pragma: no cover + try: + e = self.errors.get(False) + result.append(e) + except self.errors.Empty: + continue + self.errors.task_done() + return result + + def clear_errors(self): + """ + Clear any errors which may have been logged. + """ + # Just get the errors and throw them away + self.get_errors() + + def clear_cache(self): + self._cache.clear() + + def _get_scheme(self): + return self._scheme + + def _set_scheme(self, value): + self._scheme = value + + scheme = property(_get_scheme, _set_scheme) + + def _get_project(self, name): + """ + For a given project, get a dictionary mapping available versions to Distribution + instances. + + This should be implemented in subclasses. + + If called from a locate() request, self.matcher will be set to a + matcher for the requirement to satisfy, otherwise it will be None. + """ + raise NotImplementedError('Please implement in the subclass') + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + raise NotImplementedError('Please implement in the subclass') + + def get_project(self, name): + """ + For a given project, get a dictionary mapping available versions to Distribution + instances. + + This calls _get_project to do all the work, and just implements a caching layer on top. + """ + if self._cache is None: # pragma: no cover + result = self._get_project(name) + elif name in self._cache: + result = self._cache[name] + else: + self.clear_errors() + result = self._get_project(name) + self._cache[name] = result + return result + + def score_url(self, url): + """ + Give an url a score which can be used to choose preferred URLs + for a given project release. + """ + t = urlparse(url) + basename = posixpath.basename(t.path) + compatible = True + is_wheel = basename.endswith('.whl') + is_downloadable = basename.endswith(self.downloadable_extensions) + if is_wheel: + compatible = is_compatible(Wheel(basename), self.wheel_tags) + return (t.scheme == 'https', 'pypi.python.org' in t.netloc, + is_downloadable, is_wheel, compatible, basename) + + def prefer_url(self, url1, url2): + """ + Choose one of two URLs where both are candidates for distribution + archives for the same version of a distribution (for example, + .tar.gz vs. zip). + + The current implementation favours https:// URLs over http://, archives + from PyPI over those from other locations, wheel compatibility (if a + wheel) and then the archive name. + """ + result = url2 + if url1: + s1 = self.score_url(url1) + s2 = self.score_url(url2) + if s1 > s2: + result = url1 + if result != url2: + logger.debug('Not replacing %r with %r', url1, url2) + else: + logger.debug('Replacing %r with %r', url1, url2) + return result + + def split_filename(self, filename, project_name): + """ + Attempt to split a filename in project name, version and Python version. + """ + return split_filename(filename, project_name) + + def convert_url_to_download_info(self, url, project_name): + """ + See if a URL is a candidate for a download URL for a project (the URL + has typically been scraped from an HTML page). + + If it is, a dictionary is returned with keys "name", "version", + "filename" and "url"; otherwise, None is returned. + """ + def same_project(name1, name2): + return normalize_name(name1) == normalize_name(name2) + + result = None + scheme, netloc, path, params, query, frag = urlparse(url) + if frag.lower().startswith('egg='): # pragma: no cover + logger.debug('%s: version hint in fragment: %r', + project_name, frag) + m = HASHER_HASH.match(frag) + if m: + algo, digest = m.groups() + else: + algo, digest = None, None + origpath = path + if path and path[-1] == '/': # pragma: no cover + path = path[:-1] + if path.endswith('.whl'): + try: + wheel = Wheel(path) + if not is_compatible(wheel, self.wheel_tags): + logger.debug('Wheel not compatible: %s', path) + else: + if project_name is None: + include = True + else: + include = same_project(wheel.name, project_name) + if include: + result = { + 'name': wheel.name, + 'version': wheel.version, + 'filename': wheel.filename, + 'url': urlunparse((scheme, netloc, origpath, + params, query, '')), + 'python-version': ', '.join( + ['.'.join(list(v[2:])) for v in wheel.pyver]), + } + except Exception as e: # pragma: no cover + logger.warning('invalid path for wheel: %s', path) + elif not path.endswith(self.downloadable_extensions): # pragma: no cover + logger.debug('Not downloadable: %s', path) + else: # downloadable extension + path = filename = posixpath.basename(path) + for ext in self.downloadable_extensions: + if path.endswith(ext): + path = path[:-len(ext)] + t = self.split_filename(path, project_name) + if not t: # pragma: no cover + logger.debug('No match for project/version: %s', path) + else: + name, version, pyver = t + if not project_name or same_project(project_name, name): + result = { + 'name': name, + 'version': version, + 'filename': filename, + 'url': urlunparse((scheme, netloc, origpath, + params, query, '')), + #'packagetype': 'sdist', + } + if pyver: # pragma: no cover + result['python-version'] = pyver + break + if result and algo: + result['%s_digest' % algo] = digest + return result + + def _get_digest(self, info): + """ + Get a digest from a dictionary by looking at keys of the form + 'algo_digest'. + + Returns a 2-tuple (algo, digest) if found, else None. Currently + looks only for SHA256, then MD5. + """ + result = None + for algo in ('sha256', 'md5'): + key = '%s_digest' % algo + if key in info: + result = (algo, info[key]) + break + return result + + def _update_version_data(self, result, info): + """ + Update a result dictionary (the final result from _get_project) with a + dictionary for a specific version, which typically holds information + gleaned from a filename or URL for an archive for the distribution. + """ + name = info.pop('name') + version = info.pop('version') + if version in result: + dist = result[version] + md = dist.metadata + else: + dist = make_dist(name, version, scheme=self.scheme) + md = dist.metadata + dist.digest = digest = self._get_digest(info) + url = info['url'] + result['digests'][url] = digest + if md.source_url != info['url']: + md.source_url = self.prefer_url(md.source_url, url) + result['urls'].setdefault(version, set()).add(url) + dist.locator = self + result[version] = dist + + def locate(self, requirement, prereleases=False): + """ + Find the most recent distribution which matches the given + requirement. + + :param requirement: A requirement of the form 'foo (1.0)' or perhaps + 'foo (>= 1.0, < 2.0, != 1.3)' + :param prereleases: If ``True``, allow pre-release versions + to be located. Otherwise, pre-release versions + are not returned. + :return: A :class:`Distribution` instance, or ``None`` if no such + distribution could be located. + """ + result = None + r = parse_requirement(requirement) + if r is None: # pragma: no cover + raise DistlibException('Not a valid requirement: %r' % requirement) + scheme = get_scheme(self.scheme) + self.matcher = matcher = scheme.matcher(r.requirement) + logger.debug('matcher: %s (%s)', matcher, type(matcher).__name__) + versions = self.get_project(r.name) + if len(versions) > 2: # urls and digests keys are present + # sometimes, versions are invalid + slist = [] + vcls = matcher.version_class + for k in versions: + if k in ('urls', 'digests'): + continue + try: + if not matcher.match(k): + logger.debug('%s did not match %r', matcher, k) + else: + if prereleases or not vcls(k).is_prerelease: + slist.append(k) + else: + logger.debug('skipping pre-release ' + 'version %s of %s', k, matcher.name) + except Exception: # pragma: no cover + logger.warning('error matching %s with %r', matcher, k) + pass # slist.append(k) + if len(slist) > 1: + slist = sorted(slist, key=scheme.key) + if slist: + logger.debug('sorted list: %s', slist) + version = slist[-1] + result = versions[version] + if result: + if r.extras: + result.extras = r.extras + result.download_urls = versions.get('urls', {}).get(version, set()) + d = {} + sd = versions.get('digests', {}) + for url in result.download_urls: + if url in sd: # pragma: no cover + d[url] = sd[url] + result.digests = d + self.matcher = None + return result + + +class PyPIRPCLocator(Locator): + """ + This locator uses XML-RPC to locate distributions. It therefore + cannot be used with simple mirrors (that only mirror file content). + """ + def __init__(self, url, **kwargs): + """ + Initialise an instance. + + :param url: The URL to use for XML-RPC. + :param kwargs: Passed to the superclass constructor. + """ + super(PyPIRPCLocator, self).__init__(**kwargs) + self.base_url = url + self.client = ServerProxy(url, timeout=3.0) + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + return set(self.client.list_packages()) + + def _get_project(self, name): + result = {'urls': {}, 'digests': {}} + versions = self.client.package_releases(name, True) + for v in versions: + urls = self.client.release_urls(name, v) + data = self.client.release_data(name, v) + metadata = Metadata(scheme=self.scheme) + metadata.name = data['name'] + metadata.version = data['version'] + metadata.license = data.get('license') + metadata.keywords = data.get('keywords', []) + metadata.summary = data.get('summary') + dist = Distribution(metadata) + if urls: + info = urls[0] + metadata.source_url = info['url'] + dist.digest = self._get_digest(info) + dist.locator = self + result[v] = dist + for info in urls: + url = info['url'] + digest = self._get_digest(info) + result['urls'].setdefault(v, set()).add(url) + result['digests'][url] = digest + return result + +class PyPIJSONLocator(Locator): + """ + This locator uses PyPI's JSON interface. It's very limited in functionality + and probably not worth using. + """ + def __init__(self, url, **kwargs): + super(PyPIJSONLocator, self).__init__(**kwargs) + self.base_url = ensure_slash(url) + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + raise NotImplementedError('Not available from this locator') + + def _get_project(self, name): + result = {'urls': {}, 'digests': {}} + url = urljoin(self.base_url, '%s/json' % quote(name)) + try: + resp = self.opener.open(url) + data = resp.read().decode() # for now + d = json.loads(data) + md = Metadata(scheme=self.scheme) + data = d['info'] + md.name = data['name'] + md.version = data['version'] + md.license = data.get('license') + md.keywords = data.get('keywords', []) + md.summary = data.get('summary') + dist = Distribution(md) + dist.locator = self + urls = d['urls'] + result[md.version] = dist + for info in d['urls']: + url = info['url'] + dist.download_urls.add(url) + dist.digests[url] = self._get_digest(info) + result['urls'].setdefault(md.version, set()).add(url) + result['digests'][url] = self._get_digest(info) + # Now get other releases + for version, infos in d['releases'].items(): + if version == md.version: + continue # already done + omd = Metadata(scheme=self.scheme) + omd.name = md.name + omd.version = version + odist = Distribution(omd) + odist.locator = self + result[version] = odist + for info in infos: + url = info['url'] + odist.download_urls.add(url) + odist.digests[url] = self._get_digest(info) + result['urls'].setdefault(version, set()).add(url) + result['digests'][url] = self._get_digest(info) +# for info in urls: +# md.source_url = info['url'] +# dist.digest = self._get_digest(info) +# dist.locator = self +# for info in urls: +# url = info['url'] +# result['urls'].setdefault(md.version, set()).add(url) +# result['digests'][url] = self._get_digest(info) + except Exception as e: + self.errors.put(text_type(e)) + logger.exception('JSON fetch failed: %s', e) + return result + + +class Page(object): + """ + This class represents a scraped HTML page. + """ + # The following slightly hairy-looking regex just looks for the contents of + # an anchor link, which has an attribute "href" either immediately preceded + # or immediately followed by a "rel" attribute. The attribute values can be + # declared with double quotes, single quotes or no quotes - which leads to + # the length of the expression. + _href = re.compile(""" +(rel\\s*=\\s*(?:"(?P<rel1>[^"]*)"|'(?P<rel2>[^']*)'|(?P<rel3>[^>\\s\n]*))\\s+)? +href\\s*=\\s*(?:"(?P<url1>[^"]*)"|'(?P<url2>[^']*)'|(?P<url3>[^>\\s\n]*)) +(\\s+rel\\s*=\\s*(?:"(?P<rel4>[^"]*)"|'(?P<rel5>[^']*)'|(?P<rel6>[^>\\s\n]*)))? +""", re.I | re.S | re.X) + _base = re.compile(r"""<base\s+href\s*=\s*['"]?([^'">]+)""", re.I | re.S) + + def __init__(self, data, url): + """ + Initialise an instance with the Unicode page contents and the URL they + came from. + """ + self.data = data + self.base_url = self.url = url + m = self._base.search(self.data) + if m: + self.base_url = m.group(1) + + _clean_re = re.compile(r'[^a-z0-9$&+,/:;=?@.#%_\\|-]', re.I) + + @cached_property + def links(self): + """ + Return the URLs of all the links on a page together with information + about their "rel" attribute, for determining which ones to treat as + downloads and which ones to queue for further scraping. + """ + def clean(url): + "Tidy up an URL." + scheme, netloc, path, params, query, frag = urlparse(url) + return urlunparse((scheme, netloc, quote(path), + params, query, frag)) + + result = set() + for match in self._href.finditer(self.data): + d = match.groupdict('') + rel = (d['rel1'] or d['rel2'] or d['rel3'] or + d['rel4'] or d['rel5'] or d['rel6']) + url = d['url1'] or d['url2'] or d['url3'] + url = urljoin(self.base_url, url) + url = unescape(url) + url = self._clean_re.sub(lambda m: '%%%2x' % ord(m.group(0)), url) + result.add((url, rel)) + # We sort the result, hoping to bring the most recent versions + # to the front + result = sorted(result, key=lambda t: t[0], reverse=True) + return result + + +class SimpleScrapingLocator(Locator): + """ + A locator which scrapes HTML pages to locate downloads for a distribution. + This runs multiple threads to do the I/O; performance is at least as good + as pip's PackageFinder, which works in an analogous fashion. + """ + + # These are used to deal with various Content-Encoding schemes. + decoders = { + 'deflate': zlib.decompress, + 'gzip': lambda b: gzip.GzipFile(fileobj=BytesIO(d)).read(), + 'none': lambda b: b, + } + + def __init__(self, url, timeout=None, num_workers=10, **kwargs): + """ + Initialise an instance. + :param url: The root URL to use for scraping. + :param timeout: The timeout, in seconds, to be applied to requests. + This defaults to ``None`` (no timeout specified). + :param num_workers: The number of worker threads you want to do I/O, + This defaults to 10. + :param kwargs: Passed to the superclass. + """ + super(SimpleScrapingLocator, self).__init__(**kwargs) + self.base_url = ensure_slash(url) + self.timeout = timeout + self._page_cache = {} + self._seen = set() + self._to_fetch = queue.Queue() + self._bad_hosts = set() + self.skip_externals = False + self.num_workers = num_workers + self._lock = threading.RLock() + # See issue #45: we need to be resilient when the locator is used + # in a thread, e.g. with concurrent.futures. We can't use self._lock + # as it is for coordinating our internal threads - the ones created + # in _prepare_threads. + self._gplock = threading.RLock() + self.platform_check = False # See issue #112 + + def _prepare_threads(self): + """ + Threads are created only when get_project is called, and terminate + before it returns. They are there primarily to parallelise I/O (i.e. + fetching web pages). + """ + self._threads = [] + for i in range(self.num_workers): + t = threading.Thread(target=self._fetch) + t.setDaemon(True) + t.start() + self._threads.append(t) + + def _wait_threads(self): + """ + Tell all the threads to terminate (by sending a sentinel value) and + wait for them to do so. + """ + # Note that you need two loops, since you can't say which + # thread will get each sentinel + for t in self._threads: + self._to_fetch.put(None) # sentinel + for t in self._threads: + t.join() + self._threads = [] + + def _get_project(self, name): + result = {'urls': {}, 'digests': {}} + with self._gplock: + self.result = result + self.project_name = name + url = urljoin(self.base_url, '%s/' % quote(name)) + self._seen.clear() + self._page_cache.clear() + self._prepare_threads() + try: + logger.debug('Queueing %s', url) + self._to_fetch.put(url) + self._to_fetch.join() + finally: + self._wait_threads() + del self.result + return result + + platform_dependent = re.compile(r'\b(linux_(i\d86|x86_64|arm\w+)|' + r'win(32|_amd64)|macosx_?\d+)\b', re.I) + + def _is_platform_dependent(self, url): + """ + Does an URL refer to a platform-specific download? + """ + return self.platform_dependent.search(url) + + def _process_download(self, url): + """ + See if an URL is a suitable download for a project. + + If it is, register information in the result dictionary (for + _get_project) about the specific version it's for. + + Note that the return value isn't actually used other than as a boolean + value. + """ + if self.platform_check and self._is_platform_dependent(url): + info = None + else: + info = self.convert_url_to_download_info(url, self.project_name) + logger.debug('process_download: %s -> %s', url, info) + if info: + with self._lock: # needed because self.result is shared + self._update_version_data(self.result, info) + return info + + def _should_queue(self, link, referrer, rel): + """ + Determine whether a link URL from a referring page and with a + particular "rel" attribute should be queued for scraping. + """ + scheme, netloc, path, _, _, _ = urlparse(link) + if path.endswith(self.source_extensions + self.binary_extensions + + self.excluded_extensions): + result = False + elif self.skip_externals and not link.startswith(self.base_url): + result = False + elif not referrer.startswith(self.base_url): + result = False + elif rel not in ('homepage', 'download'): + result = False + elif scheme not in ('http', 'https', 'ftp'): + result = False + elif self._is_platform_dependent(link): + result = False + else: + host = netloc.split(':', 1)[0] + if host.lower() == 'localhost': + result = False + else: + result = True + logger.debug('should_queue: %s (%s) from %s -> %s', link, rel, + referrer, result) + return result + + def _fetch(self): + """ + Get a URL to fetch from the work queue, get the HTML page, examine its + links for download candidates and candidates for further scraping. + + This is a handy method to run in a thread. + """ + while True: + url = self._to_fetch.get() + try: + if url: + page = self.get_page(url) + if page is None: # e.g. after an error + continue + for link, rel in page.links: + if link not in self._seen: + try: + self._seen.add(link) + if (not self._process_download(link) and + self._should_queue(link, url, rel)): + logger.debug('Queueing %s from %s', link, url) + self._to_fetch.put(link) + except MetadataInvalidError: # e.g. invalid versions + pass + except Exception as e: # pragma: no cover + self.errors.put(text_type(e)) + finally: + # always do this, to avoid hangs :-) + self._to_fetch.task_done() + if not url: + #logger.debug('Sentinel seen, quitting.') + break + + def get_page(self, url): + """ + Get the HTML for an URL, possibly from an in-memory cache. + + XXX TODO Note: this cache is never actually cleared. It's assumed that + the data won't get stale over the lifetime of a locator instance (not + necessarily true for the default_locator). + """ + # http://peak.telecommunity.com/DevCenter/EasyInstall#package-index-api + scheme, netloc, path, _, _, _ = urlparse(url) + if scheme == 'file' and os.path.isdir(url2pathname(path)): + url = urljoin(ensure_slash(url), 'index.html') + + if url in self._page_cache: + result = self._page_cache[url] + logger.debug('Returning %s from cache: %s', url, result) + else: + host = netloc.split(':', 1)[0] + result = None + if host in self._bad_hosts: + logger.debug('Skipping %s due to bad host %s', url, host) + else: + req = Request(url, headers={'Accept-encoding': 'identity'}) + try: + logger.debug('Fetching %s', url) + resp = self.opener.open(req, timeout=self.timeout) + logger.debug('Fetched %s', url) + headers = resp.info() + content_type = headers.get('Content-Type', '') + if HTML_CONTENT_TYPE.match(content_type): + final_url = resp.geturl() + data = resp.read() + encoding = headers.get('Content-Encoding') + if encoding: + decoder = self.decoders[encoding] # fail if not found + data = decoder(data) + encoding = 'utf-8' + m = CHARSET.search(content_type) + if m: + encoding = m.group(1) + try: + data = data.decode(encoding) + except UnicodeError: # pragma: no cover + data = data.decode('latin-1') # fallback + result = Page(data, final_url) + self._page_cache[final_url] = result + except HTTPError as e: + if e.code != 404: + logger.exception('Fetch failed: %s: %s', url, e) + except URLError as e: # pragma: no cover + logger.exception('Fetch failed: %s: %s', url, e) + with self._lock: + self._bad_hosts.add(host) + except Exception as e: # pragma: no cover + logger.exception('Fetch failed: %s: %s', url, e) + finally: + self._page_cache[url] = result # even if None (failure) + return result + + _distname_re = re.compile('<a href=[^>]*>([^<]+)<') + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + result = set() + page = self.get_page(self.base_url) + if not page: + raise DistlibException('Unable to get %s' % self.base_url) + for match in self._distname_re.finditer(page.data): + result.add(match.group(1)) + return result + +class DirectoryLocator(Locator): + """ + This class locates distributions in a directory tree. + """ + + def __init__(self, path, **kwargs): + """ + Initialise an instance. + :param path: The root of the directory tree to search. + :param kwargs: Passed to the superclass constructor, + except for: + * recursive - if True (the default), subdirectories are + recursed into. If False, only the top-level directory + is searched, + """ + self.recursive = kwargs.pop('recursive', True) + super(DirectoryLocator, self).__init__(**kwargs) + path = os.path.abspath(path) + if not os.path.isdir(path): # pragma: no cover + raise DistlibException('Not a directory: %r' % path) + self.base_dir = path + + def should_include(self, filename, parent): + """ + Should a filename be considered as a candidate for a distribution + archive? As well as the filename, the directory which contains it + is provided, though not used by the current implementation. + """ + return filename.endswith(self.downloadable_extensions) + + def _get_project(self, name): + result = {'urls': {}, 'digests': {}} + for root, dirs, files in os.walk(self.base_dir): + for fn in files: + if self.should_include(fn, root): + fn = os.path.join(root, fn) + url = urlunparse(('file', '', + pathname2url(os.path.abspath(fn)), + '', '', '')) + info = self.convert_url_to_download_info(url, name) + if info: + self._update_version_data(result, info) + if not self.recursive: + break + return result + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + result = set() + for root, dirs, files in os.walk(self.base_dir): + for fn in files: + if self.should_include(fn, root): + fn = os.path.join(root, fn) + url = urlunparse(('file', '', + pathname2url(os.path.abspath(fn)), + '', '', '')) + info = self.convert_url_to_download_info(url, None) + if info: + result.add(info['name']) + if not self.recursive: + break + return result + +class JSONLocator(Locator): + """ + This locator uses special extended metadata (not available on PyPI) and is + the basis of performant dependency resolution in distlib. Other locators + require archive downloads before dependencies can be determined! As you + might imagine, that can be slow. + """ + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + raise NotImplementedError('Not available from this locator') + + def _get_project(self, name): + result = {'urls': {}, 'digests': {}} + data = get_project_data(name) + if data: + for info in data.get('files', []): + if info['ptype'] != 'sdist' or info['pyversion'] != 'source': + continue + # We don't store summary in project metadata as it makes + # the data bigger for no benefit during dependency + # resolution + dist = make_dist(data['name'], info['version'], + summary=data.get('summary', + 'Placeholder for summary'), + scheme=self.scheme) + md = dist.metadata + md.source_url = info['url'] + # TODO SHA256 digest + if 'digest' in info and info['digest']: + dist.digest = ('md5', info['digest']) + md.dependencies = info.get('requirements', {}) + dist.exports = info.get('exports', {}) + result[dist.version] = dist + result['urls'].setdefault(dist.version, set()).add(info['url']) + return result + +class DistPathLocator(Locator): + """ + This locator finds installed distributions in a path. It can be useful for + adding to an :class:`AggregatingLocator`. + """ + def __init__(self, distpath, **kwargs): + """ + Initialise an instance. + + :param distpath: A :class:`DistributionPath` instance to search. + """ + super(DistPathLocator, self).__init__(**kwargs) + assert isinstance(distpath, DistributionPath) + self.distpath = distpath + + def _get_project(self, name): + dist = self.distpath.get_distribution(name) + if dist is None: + result = {'urls': {}, 'digests': {}} + else: + result = { + dist.version: dist, + 'urls': {dist.version: set([dist.source_url])}, + 'digests': {dist.version: set([None])} + } + return result + + +class AggregatingLocator(Locator): + """ + This class allows you to chain and/or merge a list of locators. + """ + def __init__(self, *locators, **kwargs): + """ + Initialise an instance. + + :param locators: The list of locators to search. + :param kwargs: Passed to the superclass constructor, + except for: + * merge - if False (the default), the first successful + search from any of the locators is returned. If True, + the results from all locators are merged (this can be + slow). + """ + self.merge = kwargs.pop('merge', False) + self.locators = locators + super(AggregatingLocator, self).__init__(**kwargs) + + def clear_cache(self): + super(AggregatingLocator, self).clear_cache() + for locator in self.locators: + locator.clear_cache() + + def _set_scheme(self, value): + self._scheme = value + for locator in self.locators: + locator.scheme = value + + scheme = property(Locator.scheme.fget, _set_scheme) + + def _get_project(self, name): + result = {} + for locator in self.locators: + d = locator.get_project(name) + if d: + if self.merge: + files = result.get('urls', {}) + digests = result.get('digests', {}) + # next line could overwrite result['urls'], result['digests'] + result.update(d) + df = result.get('urls') + if files and df: + for k, v in files.items(): + if k in df: + df[k] |= v + else: + df[k] = v + dd = result.get('digests') + if digests and dd: + dd.update(digests) + else: + # See issue #18. If any dists are found and we're looking + # for specific constraints, we only return something if + # a match is found. For example, if a DirectoryLocator + # returns just foo (1.0) while we're looking for + # foo (>= 2.0), we'll pretend there was nothing there so + # that subsequent locators can be queried. Otherwise we + # would just return foo (1.0) which would then lead to a + # failure to find foo (>= 2.0), because other locators + # weren't searched. Note that this only matters when + # merge=False. + if self.matcher is None: + found = True + else: + found = False + for k in d: + if self.matcher.match(k): + found = True + break + if found: + result = d + break + return result + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + result = set() + for locator in self.locators: + try: + result |= locator.get_distribution_names() + except NotImplementedError: + pass + return result + + +# We use a legacy scheme simply because most of the dists on PyPI use legacy +# versions which don't conform to PEP 426 / PEP 440. +default_locator = AggregatingLocator( + JSONLocator(), + SimpleScrapingLocator('https://pypi.python.org/simple/', + timeout=3.0), + scheme='legacy') + +locate = default_locator.locate + +NAME_VERSION_RE = re.compile(r'(?P<name>[\w-]+)\s*' + r'\(\s*(==\s*)?(?P<ver>[^)]+)\)$') + +class DependencyFinder(object): + """ + Locate dependencies for distributions. + """ + + def __init__(self, locator=None): + """ + Initialise an instance, using the specified locator + to locate distributions. + """ + self.locator = locator or default_locator + self.scheme = get_scheme(self.locator.scheme) + + def add_distribution(self, dist): + """ + Add a distribution to the finder. This will update internal information + about who provides what. + :param dist: The distribution to add. + """ + logger.debug('adding distribution %s', dist) + name = dist.key + self.dists_by_name[name] = dist + self.dists[(name, dist.version)] = dist + for p in dist.provides: + name, version = parse_name_and_version(p) + logger.debug('Add to provided: %s, %s, %s', name, version, dist) + self.provided.setdefault(name, set()).add((version, dist)) + + def remove_distribution(self, dist): + """ + Remove a distribution from the finder. This will update internal + information about who provides what. + :param dist: The distribution to remove. + """ + logger.debug('removing distribution %s', dist) + name = dist.key + del self.dists_by_name[name] + del self.dists[(name, dist.version)] + for p in dist.provides: + name, version = parse_name_and_version(p) + logger.debug('Remove from provided: %s, %s, %s', name, version, dist) + s = self.provided[name] + s.remove((version, dist)) + if not s: + del self.provided[name] + + def get_matcher(self, reqt): + """ + Get a version matcher for a requirement. + :param reqt: The requirement + :type reqt: str + :return: A version matcher (an instance of + :class:`distlib.version.Matcher`). + """ + try: + matcher = self.scheme.matcher(reqt) + except UnsupportedVersionError: # pragma: no cover + # XXX compat-mode if cannot read the version + name = reqt.split()[0] + matcher = self.scheme.matcher(name) + return matcher + + def find_providers(self, reqt): + """ + Find the distributions which can fulfill a requirement. + + :param reqt: The requirement. + :type reqt: str + :return: A set of distribution which can fulfill the requirement. + """ + matcher = self.get_matcher(reqt) + name = matcher.key # case-insensitive + result = set() + provided = self.provided + if name in provided: + for version, provider in provided[name]: + try: + match = matcher.match(version) + except UnsupportedVersionError: + match = False + + if match: + result.add(provider) + break + return result + + def try_to_replace(self, provider, other, problems): + """ + Attempt to replace one provider with another. This is typically used + when resolving dependencies from multiple sources, e.g. A requires + (B >= 1.0) while C requires (B >= 1.1). + + For successful replacement, ``provider`` must meet all the requirements + which ``other`` fulfills. + + :param provider: The provider we are trying to replace with. + :param other: The provider we're trying to replace. + :param problems: If False is returned, this will contain what + problems prevented replacement. This is currently + a tuple of the literal string 'cantreplace', + ``provider``, ``other`` and the set of requirements + that ``provider`` couldn't fulfill. + :return: True if we can replace ``other`` with ``provider``, else + False. + """ + rlist = self.reqts[other] + unmatched = set() + for s in rlist: + matcher = self.get_matcher(s) + if not matcher.match(provider.version): + unmatched.add(s) + if unmatched: + # can't replace other with provider + problems.add(('cantreplace', provider, other, + frozenset(unmatched))) + result = False + else: + # can replace other with provider + self.remove_distribution(other) + del self.reqts[other] + for s in rlist: + self.reqts.setdefault(provider, set()).add(s) + self.add_distribution(provider) + result = True + return result + + def find(self, requirement, meta_extras=None, prereleases=False): + """ + Find a distribution and all distributions it depends on. + + :param requirement: The requirement specifying the distribution to + find, or a Distribution instance. + :param meta_extras: A list of meta extras such as :test:, :build: and + so on. + :param prereleases: If ``True``, allow pre-release versions to be + returned - otherwise, don't return prereleases + unless they're all that's available. + + Return a set of :class:`Distribution` instances and a set of + problems. + + The distributions returned should be such that they have the + :attr:`required` attribute set to ``True`` if they were + from the ``requirement`` passed to ``find()``, and they have the + :attr:`build_time_dependency` attribute set to ``True`` unless they + are post-installation dependencies of the ``requirement``. + + The problems should be a tuple consisting of the string + ``'unsatisfied'`` and the requirement which couldn't be satisfied + by any distribution known to the locator. + """ + + self.provided = {} + self.dists = {} + self.dists_by_name = {} + self.reqts = {} + + meta_extras = set(meta_extras or []) + if ':*:' in meta_extras: + meta_extras.remove(':*:') + # :meta: and :run: are implicitly included + meta_extras |= set([':test:', ':build:', ':dev:']) + + if isinstance(requirement, Distribution): + dist = odist = requirement + logger.debug('passed %s as requirement', odist) + else: + dist = odist = self.locator.locate(requirement, + prereleases=prereleases) + if dist is None: + raise DistlibException('Unable to locate %r' % requirement) + logger.debug('located %s', odist) + dist.requested = True + problems = set() + todo = set([dist]) + install_dists = set([odist]) + while todo: + dist = todo.pop() + name = dist.key # case-insensitive + if name not in self.dists_by_name: + self.add_distribution(dist) + else: + #import pdb; pdb.set_trace() + other = self.dists_by_name[name] + if other != dist: + self.try_to_replace(dist, other, problems) + + ireqts = dist.run_requires | dist.meta_requires + sreqts = dist.build_requires + ereqts = set() + if meta_extras and dist in install_dists: + for key in ('test', 'build', 'dev'): + e = ':%s:' % key + if e in meta_extras: + ereqts |= getattr(dist, '%s_requires' % key) + all_reqts = ireqts | sreqts | ereqts + for r in all_reqts: + providers = self.find_providers(r) + if not providers: + logger.debug('No providers found for %r', r) + provider = self.locator.locate(r, prereleases=prereleases) + # If no provider is found and we didn't consider + # prereleases, consider them now. + if provider is None and not prereleases: + provider = self.locator.locate(r, prereleases=True) + if provider is None: + logger.debug('Cannot satisfy %r', r) + problems.add(('unsatisfied', r)) + else: + n, v = provider.key, provider.version + if (n, v) not in self.dists: + todo.add(provider) + providers.add(provider) + if r in ireqts and dist in install_dists: + install_dists.add(provider) + logger.debug('Adding %s to install_dists', + provider.name_and_version) + for p in providers: + name = p.key + if name not in self.dists_by_name: + self.reqts.setdefault(p, set()).add(r) + else: + other = self.dists_by_name[name] + if other != p: + # see if other can be replaced by p + self.try_to_replace(p, other, problems) + + dists = set(self.dists.values()) + for dist in dists: + dist.build_time_dependency = dist not in install_dists + if dist.build_time_dependency: + logger.debug('%s is a build-time dependency only.', + dist.name_and_version) + logger.debug('find done for %s', odist) + return dists, problems diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/manifest.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/manifest.py new file mode 100644 index 0000000..ca0fe44 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/manifest.py @@ -0,0 +1,393 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2013 Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +""" +Class representing the list of files in a distribution. + +Equivalent to distutils.filelist, but fixes some problems. +""" +import fnmatch +import logging +import os +import re +import sys + +from . import DistlibException +from .compat import fsdecode +from .util import convert_path + + +__all__ = ['Manifest'] + +logger = logging.getLogger(__name__) + +# a \ followed by some spaces + EOL +_COLLAPSE_PATTERN = re.compile('\\\\w*\n', re.M) +_COMMENTED_LINE = re.compile('#.*?(?=\n)|\n(?=$)', re.M | re.S) + +# +# Due to the different results returned by fnmatch.translate, we need +# to do slightly different processing for Python 2.7 and 3.2 ... this needed +# to be brought in for Python 3.6 onwards. +# +_PYTHON_VERSION = sys.version_info[:2] + +class Manifest(object): + """A list of files built by on exploring the filesystem and filtered by + applying various patterns to what we find there. + """ + + def __init__(self, base=None): + """ + Initialise an instance. + + :param base: The base directory to explore under. + """ + self.base = os.path.abspath(os.path.normpath(base or os.getcwd())) + self.prefix = self.base + os.sep + self.allfiles = None + self.files = set() + + # + # Public API + # + + def findall(self): + """Find all files under the base and set ``allfiles`` to the absolute + pathnames of files found. + """ + from stat import S_ISREG, S_ISDIR, S_ISLNK + + self.allfiles = allfiles = [] + root = self.base + stack = [root] + pop = stack.pop + push = stack.append + + while stack: + root = pop() + names = os.listdir(root) + + for name in names: + fullname = os.path.join(root, name) + + # Avoid excess stat calls -- just one will do, thank you! + stat = os.stat(fullname) + mode = stat.st_mode + if S_ISREG(mode): + allfiles.append(fsdecode(fullname)) + elif S_ISDIR(mode) and not S_ISLNK(mode): + push(fullname) + + def add(self, item): + """ + Add a file to the manifest. + + :param item: The pathname to add. This can be relative to the base. + """ + if not item.startswith(self.prefix): + item = os.path.join(self.base, item) + self.files.add(os.path.normpath(item)) + + def add_many(self, items): + """ + Add a list of files to the manifest. + + :param items: The pathnames to add. These can be relative to the base. + """ + for item in items: + self.add(item) + + def sorted(self, wantdirs=False): + """ + Return sorted files in directory order + """ + + def add_dir(dirs, d): + dirs.add(d) + logger.debug('add_dir added %s', d) + if d != self.base: + parent, _ = os.path.split(d) + assert parent not in ('', '/') + add_dir(dirs, parent) + + result = set(self.files) # make a copy! + if wantdirs: + dirs = set() + for f in result: + add_dir(dirs, os.path.dirname(f)) + result |= dirs + return [os.path.join(*path_tuple) for path_tuple in + sorted(os.path.split(path) for path in result)] + + def clear(self): + """Clear all collected files.""" + self.files = set() + self.allfiles = [] + + def process_directive(self, directive): + """ + Process a directive which either adds some files from ``allfiles`` to + ``files``, or removes some files from ``files``. + + :param directive: The directive to process. This should be in a format + compatible with distutils ``MANIFEST.in`` files: + + http://docs.python.org/distutils/sourcedist.html#commands + """ + # Parse the line: split it up, make sure the right number of words + # is there, and return the relevant words. 'action' is always + # defined: it's the first word of the line. Which of the other + # three are defined depends on the action; it'll be either + # patterns, (dir and patterns), or (dirpattern). + action, patterns, thedir, dirpattern = self._parse_directive(directive) + + # OK, now we know that the action is valid and we have the + # right number of words on the line for that action -- so we + # can proceed with minimal error-checking. + if action == 'include': + for pattern in patterns: + if not self._include_pattern(pattern, anchor=True): + logger.warning('no files found matching %r', pattern) + + elif action == 'exclude': + for pattern in patterns: + found = self._exclude_pattern(pattern, anchor=True) + #if not found: + # logger.warning('no previously-included files ' + # 'found matching %r', pattern) + + elif action == 'global-include': + for pattern in patterns: + if not self._include_pattern(pattern, anchor=False): + logger.warning('no files found matching %r ' + 'anywhere in distribution', pattern) + + elif action == 'global-exclude': + for pattern in patterns: + found = self._exclude_pattern(pattern, anchor=False) + #if not found: + # logger.warning('no previously-included files ' + # 'matching %r found anywhere in ' + # 'distribution', pattern) + + elif action == 'recursive-include': + for pattern in patterns: + if not self._include_pattern(pattern, prefix=thedir): + logger.warning('no files found matching %r ' + 'under directory %r', pattern, thedir) + + elif action == 'recursive-exclude': + for pattern in patterns: + found = self._exclude_pattern(pattern, prefix=thedir) + #if not found: + # logger.warning('no previously-included files ' + # 'matching %r found under directory %r', + # pattern, thedir) + + elif action == 'graft': + if not self._include_pattern(None, prefix=dirpattern): + logger.warning('no directories found matching %r', + dirpattern) + + elif action == 'prune': + if not self._exclude_pattern(None, prefix=dirpattern): + logger.warning('no previously-included directories found ' + 'matching %r', dirpattern) + else: # pragma: no cover + # This should never happen, as it should be caught in + # _parse_template_line + raise DistlibException( + 'invalid action %r' % action) + + # + # Private API + # + + def _parse_directive(self, directive): + """ + Validate a directive. + :param directive: The directive to validate. + :return: A tuple of action, patterns, thedir, dir_patterns + """ + words = directive.split() + if len(words) == 1 and words[0] not in ('include', 'exclude', + 'global-include', + 'global-exclude', + 'recursive-include', + 'recursive-exclude', + 'graft', 'prune'): + # no action given, let's use the default 'include' + words.insert(0, 'include') + + action = words[0] + patterns = thedir = dir_pattern = None + + if action in ('include', 'exclude', + 'global-include', 'global-exclude'): + if len(words) < 2: + raise DistlibException( + '%r expects <pattern1> <pattern2> ...' % action) + + patterns = [convert_path(word) for word in words[1:]] + + elif action in ('recursive-include', 'recursive-exclude'): + if len(words) < 3: + raise DistlibException( + '%r expects <dir> <pattern1> <pattern2> ...' % action) + + thedir = convert_path(words[1]) + patterns = [convert_path(word) for word in words[2:]] + + elif action in ('graft', 'prune'): + if len(words) != 2: + raise DistlibException( + '%r expects a single <dir_pattern>' % action) + + dir_pattern = convert_path(words[1]) + + else: + raise DistlibException('unknown action %r' % action) + + return action, patterns, thedir, dir_pattern + + def _include_pattern(self, pattern, anchor=True, prefix=None, + is_regex=False): + """Select strings (presumably filenames) from 'self.files' that + match 'pattern', a Unix-style wildcard (glob) pattern. + + Patterns are not quite the same as implemented by the 'fnmatch' + module: '*' and '?' match non-special characters, where "special" + is platform-dependent: slash on Unix; colon, slash, and backslash on + DOS/Windows; and colon on Mac OS. + + If 'anchor' is true (the default), then the pattern match is more + stringent: "*.py" will match "foo.py" but not "foo/bar.py". If + 'anchor' is false, both of these will match. + + If 'prefix' is supplied, then only filenames starting with 'prefix' + (itself a pattern) and ending with 'pattern', with anything in between + them, will match. 'anchor' is ignored in this case. + + If 'is_regex' is true, 'anchor' and 'prefix' are ignored, and + 'pattern' is assumed to be either a string containing a regex or a + regex object -- no translation is done, the regex is just compiled + and used as-is. + + Selected strings will be added to self.files. + + Return True if files are found. + """ + # XXX docstring lying about what the special chars are? + found = False + pattern_re = self._translate_pattern(pattern, anchor, prefix, is_regex) + + # delayed loading of allfiles list + if self.allfiles is None: + self.findall() + + for name in self.allfiles: + if pattern_re.search(name): + self.files.add(name) + found = True + return found + + def _exclude_pattern(self, pattern, anchor=True, prefix=None, + is_regex=False): + """Remove strings (presumably filenames) from 'files' that match + 'pattern'. + + Other parameters are the same as for 'include_pattern()', above. + The list 'self.files' is modified in place. Return True if files are + found. + + This API is public to allow e.g. exclusion of SCM subdirs, e.g. when + packaging source distributions + """ + found = False + pattern_re = self._translate_pattern(pattern, anchor, prefix, is_regex) + for f in list(self.files): + if pattern_re.search(f): + self.files.remove(f) + found = True + return found + + def _translate_pattern(self, pattern, anchor=True, prefix=None, + is_regex=False): + """Translate a shell-like wildcard pattern to a compiled regular + expression. + + Return the compiled regex. If 'is_regex' true, + then 'pattern' is directly compiled to a regex (if it's a string) + or just returned as-is (assumes it's a regex object). + """ + if is_regex: + if isinstance(pattern, str): + return re.compile(pattern) + else: + return pattern + + if _PYTHON_VERSION > (3, 2): + # ditch start and end characters + start, _, end = self._glob_to_re('_').partition('_') + + if pattern: + pattern_re = self._glob_to_re(pattern) + if _PYTHON_VERSION > (3, 2): + assert pattern_re.startswith(start) and pattern_re.endswith(end) + else: + pattern_re = '' + + base = re.escape(os.path.join(self.base, '')) + if prefix is not None: + # ditch end of pattern character + if _PYTHON_VERSION <= (3, 2): + empty_pattern = self._glob_to_re('') + prefix_re = self._glob_to_re(prefix)[:-len(empty_pattern)] + else: + prefix_re = self._glob_to_re(prefix) + assert prefix_re.startswith(start) and prefix_re.endswith(end) + prefix_re = prefix_re[len(start): len(prefix_re) - len(end)] + sep = os.sep + if os.sep == '\\': + sep = r'\\' + if _PYTHON_VERSION <= (3, 2): + pattern_re = '^' + base + sep.join((prefix_re, + '.*' + pattern_re)) + else: + pattern_re = pattern_re[len(start): len(pattern_re) - len(end)] + pattern_re = r'%s%s%s%s.*%s%s' % (start, base, prefix_re, sep, + pattern_re, end) + else: # no prefix -- respect anchor flag + if anchor: + if _PYTHON_VERSION <= (3, 2): + pattern_re = '^' + base + pattern_re + else: + pattern_re = r'%s%s%s' % (start, base, pattern_re[len(start):]) + + return re.compile(pattern_re) + + def _glob_to_re(self, pattern): + """Translate a shell-like glob pattern to a regular expression. + + Return a string containing the regex. Differs from + 'fnmatch.translate()' in that '*' does not match "special characters" + (which are platform-specific). + """ + pattern_re = fnmatch.translate(pattern) + + # '?' and '*' in the glob pattern become '.' and '.*' in the RE, which + # IMHO is wrong -- '?' and '*' aren't supposed to match slash in Unix, + # and by extension they shouldn't match such "special characters" under + # any OS. So change all non-escaped dots in the RE to match any + # character except the special characters (currently: just os.sep). + sep = os.sep + if os.sep == '\\': + # we're using a regex to manipulate a regex, so we need + # to escape the backslash twice + sep = r'\\\\' + escaped = r'\1[^%s]' % sep + pattern_re = re.sub(r'((?<!\\)(\\\\)*)\.', escaped, pattern_re) + return pattern_re diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/markers.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/markers.py new file mode 100644 index 0000000..ee1f3e2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/markers.py @@ -0,0 +1,131 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2017 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +""" +Parser for the environment markers micro-language defined in PEP 508. +""" + +# Note: In PEP 345, the micro-language was Python compatible, so the ast +# module could be used to parse it. However, PEP 508 introduced operators such +# as ~= and === which aren't in Python, necessitating a different approach. + +import os +import sys +import platform +import re + +from .compat import python_implementation, urlparse, string_types +from .util import in_venv, parse_marker + +__all__ = ['interpret'] + +def _is_literal(o): + if not isinstance(o, string_types) or not o: + return False + return o[0] in '\'"' + +class Evaluator(object): + """ + This class is used to evaluate marker expessions. + """ + + operations = { + '==': lambda x, y: x == y, + '===': lambda x, y: x == y, + '~=': lambda x, y: x == y or x > y, + '!=': lambda x, y: x != y, + '<': lambda x, y: x < y, + '<=': lambda x, y: x == y or x < y, + '>': lambda x, y: x > y, + '>=': lambda x, y: x == y or x > y, + 'and': lambda x, y: x and y, + 'or': lambda x, y: x or y, + 'in': lambda x, y: x in y, + 'not in': lambda x, y: x not in y, + } + + def evaluate(self, expr, context): + """ + Evaluate a marker expression returned by the :func:`parse_requirement` + function in the specified context. + """ + if isinstance(expr, string_types): + if expr[0] in '\'"': + result = expr[1:-1] + else: + if expr not in context: + raise SyntaxError('unknown variable: %s' % expr) + result = context[expr] + else: + assert isinstance(expr, dict) + op = expr['op'] + if op not in self.operations: + raise NotImplementedError('op not implemented: %s' % op) + elhs = expr['lhs'] + erhs = expr['rhs'] + if _is_literal(expr['lhs']) and _is_literal(expr['rhs']): + raise SyntaxError('invalid comparison: %s %s %s' % (elhs, op, erhs)) + + lhs = self.evaluate(elhs, context) + rhs = self.evaluate(erhs, context) + result = self.operations[op](lhs, rhs) + return result + +def default_context(): + def format_full_version(info): + version = '%s.%s.%s' % (info.major, info.minor, info.micro) + kind = info.releaselevel + if kind != 'final': + version += kind[0] + str(info.serial) + return version + + if hasattr(sys, 'implementation'): + implementation_version = format_full_version(sys.implementation.version) + implementation_name = sys.implementation.name + else: + implementation_version = '0' + implementation_name = '' + + result = { + 'implementation_name': implementation_name, + 'implementation_version': implementation_version, + 'os_name': os.name, + 'platform_machine': platform.machine(), + 'platform_python_implementation': platform.python_implementation(), + 'platform_release': platform.release(), + 'platform_system': platform.system(), + 'platform_version': platform.version(), + 'platform_in_venv': str(in_venv()), + 'python_full_version': platform.python_version(), + 'python_version': platform.python_version()[:3], + 'sys_platform': sys.platform, + } + return result + +DEFAULT_CONTEXT = default_context() +del default_context + +evaluator = Evaluator() + +def interpret(marker, execution_context=None): + """ + Interpret a marker and return a result depending on environment. + + :param marker: The marker to interpret. + :type marker: str + :param execution_context: The context used for name lookup. + :type execution_context: mapping + """ + try: + expr, rest = parse_marker(marker) + except Exception as e: + raise SyntaxError('Unable to interpret marker syntax: %s: %s' % (marker, e)) + if rest and rest[0] != '#': + raise SyntaxError('unexpected trailing data in marker: %s: %s' % (marker, rest)) + context = dict(DEFAULT_CONTEXT) + if execution_context: + context.update(execution_context) + return evaluator.evaluate(expr, context) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/metadata.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/metadata.py new file mode 100644 index 0000000..77eed7f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/metadata.py @@ -0,0 +1,1094 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +"""Implementation of the Metadata for Python packages PEPs. + +Supports all metadata formats (1.0, 1.1, 1.2, and 2.0 experimental). +""" +from __future__ import unicode_literals + +import codecs +from email import message_from_file +import json +import logging +import re + + +from . import DistlibException, __version__ +from .compat import StringIO, string_types, text_type +from .markers import interpret +from .util import extract_by_key, get_extras +from .version import get_scheme, PEP440_VERSION_RE + +logger = logging.getLogger(__name__) + + +class MetadataMissingError(DistlibException): + """A required metadata is missing""" + + +class MetadataConflictError(DistlibException): + """Attempt to read or write metadata fields that are conflictual.""" + + +class MetadataUnrecognizedVersionError(DistlibException): + """Unknown metadata version number.""" + + +class MetadataInvalidError(DistlibException): + """A metadata value is invalid""" + +# public API of this module +__all__ = ['Metadata', 'PKG_INFO_ENCODING', 'PKG_INFO_PREFERRED_VERSION'] + +# Encoding used for the PKG-INFO files +PKG_INFO_ENCODING = 'utf-8' + +# preferred version. Hopefully will be changed +# to 1.2 once PEP 345 is supported everywhere +PKG_INFO_PREFERRED_VERSION = '1.1' + +_LINE_PREFIX_1_2 = re.compile('\n \\|') +_LINE_PREFIX_PRE_1_2 = re.compile('\n ') +_241_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform', + 'Summary', 'Description', + 'Keywords', 'Home-page', 'Author', 'Author-email', + 'License') + +_314_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform', + 'Supported-Platform', 'Summary', 'Description', + 'Keywords', 'Home-page', 'Author', 'Author-email', + 'License', 'Classifier', 'Download-URL', 'Obsoletes', + 'Provides', 'Requires') + +_314_MARKERS = ('Obsoletes', 'Provides', 'Requires', 'Classifier', + 'Download-URL') + +_345_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform', + 'Supported-Platform', 'Summary', 'Description', + 'Keywords', 'Home-page', 'Author', 'Author-email', + 'Maintainer', 'Maintainer-email', 'License', + 'Classifier', 'Download-URL', 'Obsoletes-Dist', + 'Project-URL', 'Provides-Dist', 'Requires-Dist', + 'Requires-Python', 'Requires-External') + +_345_MARKERS = ('Provides-Dist', 'Requires-Dist', 'Requires-Python', + 'Obsoletes-Dist', 'Requires-External', 'Maintainer', + 'Maintainer-email', 'Project-URL') + +_426_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform', + 'Supported-Platform', 'Summary', 'Description', + 'Keywords', 'Home-page', 'Author', 'Author-email', + 'Maintainer', 'Maintainer-email', 'License', + 'Classifier', 'Download-URL', 'Obsoletes-Dist', + 'Project-URL', 'Provides-Dist', 'Requires-Dist', + 'Requires-Python', 'Requires-External', 'Private-Version', + 'Obsoleted-By', 'Setup-Requires-Dist', 'Extension', + 'Provides-Extra') + +_426_MARKERS = ('Private-Version', 'Provides-Extra', 'Obsoleted-By', + 'Setup-Requires-Dist', 'Extension') + +# See issue #106: Sometimes 'Requires' occurs wrongly in the metadata. Include +# it in the tuple literal below to allow it (for now) +_566_FIELDS = _426_FIELDS + ('Description-Content-Type', 'Requires') + +_566_MARKERS = ('Description-Content-Type',) + +_ALL_FIELDS = set() +_ALL_FIELDS.update(_241_FIELDS) +_ALL_FIELDS.update(_314_FIELDS) +_ALL_FIELDS.update(_345_FIELDS) +_ALL_FIELDS.update(_426_FIELDS) +_ALL_FIELDS.update(_566_FIELDS) + +EXTRA_RE = re.compile(r'''extra\s*==\s*("([^"]+)"|'([^']+)')''') + + +def _version2fieldlist(version): + if version == '1.0': + return _241_FIELDS + elif version == '1.1': + return _314_FIELDS + elif version == '1.2': + return _345_FIELDS + elif version in ('1.3', '2.1'): + return _345_FIELDS + _566_FIELDS + elif version == '2.0': + return _426_FIELDS + raise MetadataUnrecognizedVersionError(version) + + +def _best_version(fields): + """Detect the best version depending on the fields used.""" + def _has_marker(keys, markers): + for marker in markers: + if marker in keys: + return True + return False + + keys = [] + for key, value in fields.items(): + if value in ([], 'UNKNOWN', None): + continue + keys.append(key) + + possible_versions = ['1.0', '1.1', '1.2', '1.3', '2.0', '2.1'] + + # first let's try to see if a field is not part of one of the version + for key in keys: + if key not in _241_FIELDS and '1.0' in possible_versions: + possible_versions.remove('1.0') + logger.debug('Removed 1.0 due to %s', key) + if key not in _314_FIELDS and '1.1' in possible_versions: + possible_versions.remove('1.1') + logger.debug('Removed 1.1 due to %s', key) + if key not in _345_FIELDS and '1.2' in possible_versions: + possible_versions.remove('1.2') + logger.debug('Removed 1.2 due to %s', key) + if key not in _566_FIELDS and '1.3' in possible_versions: + possible_versions.remove('1.3') + logger.debug('Removed 1.3 due to %s', key) + if key not in _566_FIELDS and '2.1' in possible_versions: + if key != 'Description': # In 2.1, description allowed after headers + possible_versions.remove('2.1') + logger.debug('Removed 2.1 due to %s', key) + if key not in _426_FIELDS and '2.0' in possible_versions: + possible_versions.remove('2.0') + logger.debug('Removed 2.0 due to %s', key) + + # possible_version contains qualified versions + if len(possible_versions) == 1: + return possible_versions[0] # found ! + elif len(possible_versions) == 0: + logger.debug('Out of options - unknown metadata set: %s', fields) + raise MetadataConflictError('Unknown metadata set') + + # let's see if one unique marker is found + is_1_1 = '1.1' in possible_versions and _has_marker(keys, _314_MARKERS) + is_1_2 = '1.2' in possible_versions and _has_marker(keys, _345_MARKERS) + is_2_1 = '2.1' in possible_versions and _has_marker(keys, _566_MARKERS) + is_2_0 = '2.0' in possible_versions and _has_marker(keys, _426_MARKERS) + if int(is_1_1) + int(is_1_2) + int(is_2_1) + int(is_2_0) > 1: + raise MetadataConflictError('You used incompatible 1.1/1.2/2.0/2.1 fields') + + # we have the choice, 1.0, or 1.2, or 2.0 + # - 1.0 has a broken Summary field but works with all tools + # - 1.1 is to avoid + # - 1.2 fixes Summary but has little adoption + # - 2.0 adds more features and is very new + if not is_1_1 and not is_1_2 and not is_2_1 and not is_2_0: + # we couldn't find any specific marker + if PKG_INFO_PREFERRED_VERSION in possible_versions: + return PKG_INFO_PREFERRED_VERSION + if is_1_1: + return '1.1' + if is_1_2: + return '1.2' + if is_2_1: + return '2.1' + + return '2.0' + +_ATTR2FIELD = { + 'metadata_version': 'Metadata-Version', + 'name': 'Name', + 'version': 'Version', + 'platform': 'Platform', + 'supported_platform': 'Supported-Platform', + 'summary': 'Summary', + 'description': 'Description', + 'keywords': 'Keywords', + 'home_page': 'Home-page', + 'author': 'Author', + 'author_email': 'Author-email', + 'maintainer': 'Maintainer', + 'maintainer_email': 'Maintainer-email', + 'license': 'License', + 'classifier': 'Classifier', + 'download_url': 'Download-URL', + 'obsoletes_dist': 'Obsoletes-Dist', + 'provides_dist': 'Provides-Dist', + 'requires_dist': 'Requires-Dist', + 'setup_requires_dist': 'Setup-Requires-Dist', + 'requires_python': 'Requires-Python', + 'requires_external': 'Requires-External', + 'requires': 'Requires', + 'provides': 'Provides', + 'obsoletes': 'Obsoletes', + 'project_url': 'Project-URL', + 'private_version': 'Private-Version', + 'obsoleted_by': 'Obsoleted-By', + 'extension': 'Extension', + 'provides_extra': 'Provides-Extra', +} + +_PREDICATE_FIELDS = ('Requires-Dist', 'Obsoletes-Dist', 'Provides-Dist') +_VERSIONS_FIELDS = ('Requires-Python',) +_VERSION_FIELDS = ('Version',) +_LISTFIELDS = ('Platform', 'Classifier', 'Obsoletes', + 'Requires', 'Provides', 'Obsoletes-Dist', + 'Provides-Dist', 'Requires-Dist', 'Requires-External', + 'Project-URL', 'Supported-Platform', 'Setup-Requires-Dist', + 'Provides-Extra', 'Extension') +_LISTTUPLEFIELDS = ('Project-URL',) + +_ELEMENTSFIELD = ('Keywords',) + +_UNICODEFIELDS = ('Author', 'Maintainer', 'Summary', 'Description') + +_MISSING = object() + +_FILESAFE = re.compile('[^A-Za-z0-9.]+') + + +def _get_name_and_version(name, version, for_filename=False): + """Return the distribution name with version. + + If for_filename is true, return a filename-escaped form.""" + if for_filename: + # For both name and version any runs of non-alphanumeric or '.' + # characters are replaced with a single '-'. Additionally any + # spaces in the version string become '.' + name = _FILESAFE.sub('-', name) + version = _FILESAFE.sub('-', version.replace(' ', '.')) + return '%s-%s' % (name, version) + + +class LegacyMetadata(object): + """The legacy metadata of a release. + + Supports versions 1.0, 1.1 and 1.2 (auto-detected). You can + instantiate the class with one of these arguments (or none): + - *path*, the path to a metadata file + - *fileobj* give a file-like object with metadata as content + - *mapping* is a dict-like object + - *scheme* is a version scheme name + """ + # TODO document the mapping API and UNKNOWN default key + + def __init__(self, path=None, fileobj=None, mapping=None, + scheme='default'): + if [path, fileobj, mapping].count(None) < 2: + raise TypeError('path, fileobj and mapping are exclusive') + self._fields = {} + self.requires_files = [] + self._dependencies = None + self.scheme = scheme + if path is not None: + self.read(path) + elif fileobj is not None: + self.read_file(fileobj) + elif mapping is not None: + self.update(mapping) + self.set_metadata_version() + + def set_metadata_version(self): + self._fields['Metadata-Version'] = _best_version(self._fields) + + def _write_field(self, fileobj, name, value): + fileobj.write('%s: %s\n' % (name, value)) + + def __getitem__(self, name): + return self.get(name) + + def __setitem__(self, name, value): + return self.set(name, value) + + def __delitem__(self, name): + field_name = self._convert_name(name) + try: + del self._fields[field_name] + except KeyError: + raise KeyError(name) + + def __contains__(self, name): + return (name in self._fields or + self._convert_name(name) in self._fields) + + def _convert_name(self, name): + if name in _ALL_FIELDS: + return name + name = name.replace('-', '_').lower() + return _ATTR2FIELD.get(name, name) + + def _default_value(self, name): + if name in _LISTFIELDS or name in _ELEMENTSFIELD: + return [] + return 'UNKNOWN' + + def _remove_line_prefix(self, value): + if self.metadata_version in ('1.0', '1.1'): + return _LINE_PREFIX_PRE_1_2.sub('\n', value) + else: + return _LINE_PREFIX_1_2.sub('\n', value) + + def __getattr__(self, name): + if name in _ATTR2FIELD: + return self[name] + raise AttributeError(name) + + # + # Public API + # + +# dependencies = property(_get_dependencies, _set_dependencies) + + def get_fullname(self, filesafe=False): + """Return the distribution name with version. + + If filesafe is true, return a filename-escaped form.""" + return _get_name_and_version(self['Name'], self['Version'], filesafe) + + def is_field(self, name): + """return True if name is a valid metadata key""" + name = self._convert_name(name) + return name in _ALL_FIELDS + + def is_multi_field(self, name): + name = self._convert_name(name) + return name in _LISTFIELDS + + def read(self, filepath): + """Read the metadata values from a file path.""" + fp = codecs.open(filepath, 'r', encoding='utf-8') + try: + self.read_file(fp) + finally: + fp.close() + + def read_file(self, fileob): + """Read the metadata values from a file object.""" + msg = message_from_file(fileob) + self._fields['Metadata-Version'] = msg['metadata-version'] + + # When reading, get all the fields we can + for field in _ALL_FIELDS: + if field not in msg: + continue + if field in _LISTFIELDS: + # we can have multiple lines + values = msg.get_all(field) + if field in _LISTTUPLEFIELDS and values is not None: + values = [tuple(value.split(',')) for value in values] + self.set(field, values) + else: + # single line + value = msg[field] + if value is not None and value != 'UNKNOWN': + self.set(field, value) + # logger.debug('Attempting to set metadata for %s', self) + # self.set_metadata_version() + + def write(self, filepath, skip_unknown=False): + """Write the metadata fields to filepath.""" + fp = codecs.open(filepath, 'w', encoding='utf-8') + try: + self.write_file(fp, skip_unknown) + finally: + fp.close() + + def write_file(self, fileobject, skip_unknown=False): + """Write the PKG-INFO format data to a file object.""" + self.set_metadata_version() + + for field in _version2fieldlist(self['Metadata-Version']): + values = self.get(field) + if skip_unknown and values in ('UNKNOWN', [], ['UNKNOWN']): + continue + if field in _ELEMENTSFIELD: + self._write_field(fileobject, field, ','.join(values)) + continue + if field not in _LISTFIELDS: + if field == 'Description': + if self.metadata_version in ('1.0', '1.1'): + values = values.replace('\n', '\n ') + else: + values = values.replace('\n', '\n |') + values = [values] + + if field in _LISTTUPLEFIELDS: + values = [','.join(value) for value in values] + + for value in values: + self._write_field(fileobject, field, value) + + def update(self, other=None, **kwargs): + """Set metadata values from the given iterable `other` and kwargs. + + Behavior is like `dict.update`: If `other` has a ``keys`` method, + they are looped over and ``self[key]`` is assigned ``other[key]``. + Else, ``other`` is an iterable of ``(key, value)`` iterables. + + Keys that don't match a metadata field or that have an empty value are + dropped. + """ + def _set(key, value): + if key in _ATTR2FIELD and value: + self.set(self._convert_name(key), value) + + if not other: + # other is None or empty container + pass + elif hasattr(other, 'keys'): + for k in other.keys(): + _set(k, other[k]) + else: + for k, v in other: + _set(k, v) + + if kwargs: + for k, v in kwargs.items(): + _set(k, v) + + def set(self, name, value): + """Control then set a metadata field.""" + name = self._convert_name(name) + + if ((name in _ELEMENTSFIELD or name == 'Platform') and + not isinstance(value, (list, tuple))): + if isinstance(value, string_types): + value = [v.strip() for v in value.split(',')] + else: + value = [] + elif (name in _LISTFIELDS and + not isinstance(value, (list, tuple))): + if isinstance(value, string_types): + value = [value] + else: + value = [] + + if logger.isEnabledFor(logging.WARNING): + project_name = self['Name'] + + scheme = get_scheme(self.scheme) + if name in _PREDICATE_FIELDS and value is not None: + for v in value: + # check that the values are valid + if not scheme.is_valid_matcher(v.split(';')[0]): + logger.warning( + "'%s': '%s' is not valid (field '%s')", + project_name, v, name) + # FIXME this rejects UNKNOWN, is that right? + elif name in _VERSIONS_FIELDS and value is not None: + if not scheme.is_valid_constraint_list(value): + logger.warning("'%s': '%s' is not a valid version (field '%s')", + project_name, value, name) + elif name in _VERSION_FIELDS and value is not None: + if not scheme.is_valid_version(value): + logger.warning("'%s': '%s' is not a valid version (field '%s')", + project_name, value, name) + + if name in _UNICODEFIELDS: + if name == 'Description': + value = self._remove_line_prefix(value) + + self._fields[name] = value + + def get(self, name, default=_MISSING): + """Get a metadata field.""" + name = self._convert_name(name) + if name not in self._fields: + if default is _MISSING: + default = self._default_value(name) + return default + if name in _UNICODEFIELDS: + value = self._fields[name] + return value + elif name in _LISTFIELDS: + value = self._fields[name] + if value is None: + return [] + res = [] + for val in value: + if name not in _LISTTUPLEFIELDS: + res.append(val) + else: + # That's for Project-URL + res.append((val[0], val[1])) + return res + + elif name in _ELEMENTSFIELD: + value = self._fields[name] + if isinstance(value, string_types): + return value.split(',') + return self._fields[name] + + def check(self, strict=False): + """Check if the metadata is compliant. If strict is True then raise if + no Name or Version are provided""" + self.set_metadata_version() + + # XXX should check the versions (if the file was loaded) + missing, warnings = [], [] + + for attr in ('Name', 'Version'): # required by PEP 345 + if attr not in self: + missing.append(attr) + + if strict and missing != []: + msg = 'missing required metadata: %s' % ', '.join(missing) + raise MetadataMissingError(msg) + + for attr in ('Home-page', 'Author'): + if attr not in self: + missing.append(attr) + + # checking metadata 1.2 (XXX needs to check 1.1, 1.0) + if self['Metadata-Version'] != '1.2': + return missing, warnings + + scheme = get_scheme(self.scheme) + + def are_valid_constraints(value): + for v in value: + if not scheme.is_valid_matcher(v.split(';')[0]): + return False + return True + + for fields, controller in ((_PREDICATE_FIELDS, are_valid_constraints), + (_VERSIONS_FIELDS, + scheme.is_valid_constraint_list), + (_VERSION_FIELDS, + scheme.is_valid_version)): + for field in fields: + value = self.get(field, None) + if value is not None and not controller(value): + warnings.append("Wrong value for '%s': %s" % (field, value)) + + return missing, warnings + + def todict(self, skip_missing=False): + """Return fields as a dict. + + Field names will be converted to use the underscore-lowercase style + instead of hyphen-mixed case (i.e. home_page instead of Home-page). + """ + self.set_metadata_version() + + mapping_1_0 = ( + ('metadata_version', 'Metadata-Version'), + ('name', 'Name'), + ('version', 'Version'), + ('summary', 'Summary'), + ('home_page', 'Home-page'), + ('author', 'Author'), + ('author_email', 'Author-email'), + ('license', 'License'), + ('description', 'Description'), + ('keywords', 'Keywords'), + ('platform', 'Platform'), + ('classifiers', 'Classifier'), + ('download_url', 'Download-URL'), + ) + + data = {} + for key, field_name in mapping_1_0: + if not skip_missing or field_name in self._fields: + data[key] = self[field_name] + + if self['Metadata-Version'] == '1.2': + mapping_1_2 = ( + ('requires_dist', 'Requires-Dist'), + ('requires_python', 'Requires-Python'), + ('requires_external', 'Requires-External'), + ('provides_dist', 'Provides-Dist'), + ('obsoletes_dist', 'Obsoletes-Dist'), + ('project_url', 'Project-URL'), + ('maintainer', 'Maintainer'), + ('maintainer_email', 'Maintainer-email'), + ) + for key, field_name in mapping_1_2: + if not skip_missing or field_name in self._fields: + if key != 'project_url': + data[key] = self[field_name] + else: + data[key] = [','.join(u) for u in self[field_name]] + + elif self['Metadata-Version'] == '1.1': + mapping_1_1 = ( + ('provides', 'Provides'), + ('requires', 'Requires'), + ('obsoletes', 'Obsoletes'), + ) + for key, field_name in mapping_1_1: + if not skip_missing or field_name in self._fields: + data[key] = self[field_name] + + return data + + def add_requirements(self, requirements): + if self['Metadata-Version'] == '1.1': + # we can't have 1.1 metadata *and* Setuptools requires + for field in ('Obsoletes', 'Requires', 'Provides'): + if field in self: + del self[field] + self['Requires-Dist'] += requirements + + # Mapping API + # TODO could add iter* variants + + def keys(self): + return list(_version2fieldlist(self['Metadata-Version'])) + + def __iter__(self): + for key in self.keys(): + yield key + + def values(self): + return [self[key] for key in self.keys()] + + def items(self): + return [(key, self[key]) for key in self.keys()] + + def __repr__(self): + return '<%s %s %s>' % (self.__class__.__name__, self.name, + self.version) + + +METADATA_FILENAME = 'pydist.json' +WHEEL_METADATA_FILENAME = 'metadata.json' +LEGACY_METADATA_FILENAME = 'METADATA' + + +class Metadata(object): + """ + The metadata of a release. This implementation uses 2.0 (JSON) + metadata where possible. If not possible, it wraps a LegacyMetadata + instance which handles the key-value metadata format. + """ + + METADATA_VERSION_MATCHER = re.compile(r'^\d+(\.\d+)*$') + + NAME_MATCHER = re.compile('^[0-9A-Z]([0-9A-Z_.-]*[0-9A-Z])?$', re.I) + + VERSION_MATCHER = PEP440_VERSION_RE + + SUMMARY_MATCHER = re.compile('.{1,2047}') + + METADATA_VERSION = '2.0' + + GENERATOR = 'distlib (%s)' % __version__ + + MANDATORY_KEYS = { + 'name': (), + 'version': (), + 'summary': ('legacy',), + } + + INDEX_KEYS = ('name version license summary description author ' + 'author_email keywords platform home_page classifiers ' + 'download_url') + + DEPENDENCY_KEYS = ('extras run_requires test_requires build_requires ' + 'dev_requires provides meta_requires obsoleted_by ' + 'supports_environments') + + SYNTAX_VALIDATORS = { + 'metadata_version': (METADATA_VERSION_MATCHER, ()), + 'name': (NAME_MATCHER, ('legacy',)), + 'version': (VERSION_MATCHER, ('legacy',)), + 'summary': (SUMMARY_MATCHER, ('legacy',)), + } + + __slots__ = ('_legacy', '_data', 'scheme') + + def __init__(self, path=None, fileobj=None, mapping=None, + scheme='default'): + if [path, fileobj, mapping].count(None) < 2: + raise TypeError('path, fileobj and mapping are exclusive') + self._legacy = None + self._data = None + self.scheme = scheme + #import pdb; pdb.set_trace() + if mapping is not None: + try: + self._validate_mapping(mapping, scheme) + self._data = mapping + except MetadataUnrecognizedVersionError: + self._legacy = LegacyMetadata(mapping=mapping, scheme=scheme) + self.validate() + else: + data = None + if path: + with open(path, 'rb') as f: + data = f.read() + elif fileobj: + data = fileobj.read() + if data is None: + # Initialised with no args - to be added + self._data = { + 'metadata_version': self.METADATA_VERSION, + 'generator': self.GENERATOR, + } + else: + if not isinstance(data, text_type): + data = data.decode('utf-8') + try: + self._data = json.loads(data) + self._validate_mapping(self._data, scheme) + except ValueError: + # Note: MetadataUnrecognizedVersionError does not + # inherit from ValueError (it's a DistlibException, + # which should not inherit from ValueError). + # The ValueError comes from the json.load - if that + # succeeds and we get a validation error, we want + # that to propagate + self._legacy = LegacyMetadata(fileobj=StringIO(data), + scheme=scheme) + self.validate() + + common_keys = set(('name', 'version', 'license', 'keywords', 'summary')) + + none_list = (None, list) + none_dict = (None, dict) + + mapped_keys = { + 'run_requires': ('Requires-Dist', list), + 'build_requires': ('Setup-Requires-Dist', list), + 'dev_requires': none_list, + 'test_requires': none_list, + 'meta_requires': none_list, + 'extras': ('Provides-Extra', list), + 'modules': none_list, + 'namespaces': none_list, + 'exports': none_dict, + 'commands': none_dict, + 'classifiers': ('Classifier', list), + 'source_url': ('Download-URL', None), + 'metadata_version': ('Metadata-Version', None), + } + + del none_list, none_dict + + def __getattribute__(self, key): + common = object.__getattribute__(self, 'common_keys') + mapped = object.__getattribute__(self, 'mapped_keys') + if key in mapped: + lk, maker = mapped[key] + if self._legacy: + if lk is None: + result = None if maker is None else maker() + else: + result = self._legacy.get(lk) + else: + value = None if maker is None else maker() + if key not in ('commands', 'exports', 'modules', 'namespaces', + 'classifiers'): + result = self._data.get(key, value) + else: + # special cases for PEP 459 + sentinel = object() + result = sentinel + d = self._data.get('extensions') + if d: + if key == 'commands': + result = d.get('python.commands', value) + elif key == 'classifiers': + d = d.get('python.details') + if d: + result = d.get(key, value) + else: + d = d.get('python.exports') + if not d: + d = self._data.get('python.exports') + if d: + result = d.get(key, value) + if result is sentinel: + result = value + elif key not in common: + result = object.__getattribute__(self, key) + elif self._legacy: + result = self._legacy.get(key) + else: + result = self._data.get(key) + return result + + def _validate_value(self, key, value, scheme=None): + if key in self.SYNTAX_VALIDATORS: + pattern, exclusions = self.SYNTAX_VALIDATORS[key] + if (scheme or self.scheme) not in exclusions: + m = pattern.match(value) + if not m: + raise MetadataInvalidError("'%s' is an invalid value for " + "the '%s' property" % (value, + key)) + + def __setattr__(self, key, value): + self._validate_value(key, value) + common = object.__getattribute__(self, 'common_keys') + mapped = object.__getattribute__(self, 'mapped_keys') + if key in mapped: + lk, _ = mapped[key] + if self._legacy: + if lk is None: + raise NotImplementedError + self._legacy[lk] = value + elif key not in ('commands', 'exports', 'modules', 'namespaces', + 'classifiers'): + self._data[key] = value + else: + # special cases for PEP 459 + d = self._data.setdefault('extensions', {}) + if key == 'commands': + d['python.commands'] = value + elif key == 'classifiers': + d = d.setdefault('python.details', {}) + d[key] = value + else: + d = d.setdefault('python.exports', {}) + d[key] = value + elif key not in common: + object.__setattr__(self, key, value) + else: + if key == 'keywords': + if isinstance(value, string_types): + value = value.strip() + if value: + value = value.split() + else: + value = [] + if self._legacy: + self._legacy[key] = value + else: + self._data[key] = value + + @property + def name_and_version(self): + return _get_name_and_version(self.name, self.version, True) + + @property + def provides(self): + if self._legacy: + result = self._legacy['Provides-Dist'] + else: + result = self._data.setdefault('provides', []) + s = '%s (%s)' % (self.name, self.version) + if s not in result: + result.append(s) + return result + + @provides.setter + def provides(self, value): + if self._legacy: + self._legacy['Provides-Dist'] = value + else: + self._data['provides'] = value + + def get_requirements(self, reqts, extras=None, env=None): + """ + Base method to get dependencies, given a set of extras + to satisfy and an optional environment context. + :param reqts: A list of sometimes-wanted dependencies, + perhaps dependent on extras and environment. + :param extras: A list of optional components being requested. + :param env: An optional environment for marker evaluation. + """ + if self._legacy: + result = reqts + else: + result = [] + extras = get_extras(extras or [], self.extras) + for d in reqts: + if 'extra' not in d and 'environment' not in d: + # unconditional + include = True + else: + if 'extra' not in d: + # Not extra-dependent - only environment-dependent + include = True + else: + include = d.get('extra') in extras + if include: + # Not excluded because of extras, check environment + marker = d.get('environment') + if marker: + include = interpret(marker, env) + if include: + result.extend(d['requires']) + for key in ('build', 'dev', 'test'): + e = ':%s:' % key + if e in extras: + extras.remove(e) + # A recursive call, but it should terminate since 'test' + # has been removed from the extras + reqts = self._data.get('%s_requires' % key, []) + result.extend(self.get_requirements(reqts, extras=extras, + env=env)) + return result + + @property + def dictionary(self): + if self._legacy: + return self._from_legacy() + return self._data + + @property + def dependencies(self): + if self._legacy: + raise NotImplementedError + else: + return extract_by_key(self._data, self.DEPENDENCY_KEYS) + + @dependencies.setter + def dependencies(self, value): + if self._legacy: + raise NotImplementedError + else: + self._data.update(value) + + def _validate_mapping(self, mapping, scheme): + if mapping.get('metadata_version') != self.METADATA_VERSION: + raise MetadataUnrecognizedVersionError() + missing = [] + for key, exclusions in self.MANDATORY_KEYS.items(): + if key not in mapping: + if scheme not in exclusions: + missing.append(key) + if missing: + msg = 'Missing metadata items: %s' % ', '.join(missing) + raise MetadataMissingError(msg) + for k, v in mapping.items(): + self._validate_value(k, v, scheme) + + def validate(self): + if self._legacy: + missing, warnings = self._legacy.check(True) + if missing or warnings: + logger.warning('Metadata: missing: %s, warnings: %s', + missing, warnings) + else: + self._validate_mapping(self._data, self.scheme) + + def todict(self): + if self._legacy: + return self._legacy.todict(True) + else: + result = extract_by_key(self._data, self.INDEX_KEYS) + return result + + def _from_legacy(self): + assert self._legacy and not self._data + result = { + 'metadata_version': self.METADATA_VERSION, + 'generator': self.GENERATOR, + } + lmd = self._legacy.todict(True) # skip missing ones + for k in ('name', 'version', 'license', 'summary', 'description', + 'classifier'): + if k in lmd: + if k == 'classifier': + nk = 'classifiers' + else: + nk = k + result[nk] = lmd[k] + kw = lmd.get('Keywords', []) + if kw == ['']: + kw = [] + result['keywords'] = kw + keys = (('requires_dist', 'run_requires'), + ('setup_requires_dist', 'build_requires')) + for ok, nk in keys: + if ok in lmd and lmd[ok]: + result[nk] = [{'requires': lmd[ok]}] + result['provides'] = self.provides + author = {} + maintainer = {} + return result + + LEGACY_MAPPING = { + 'name': 'Name', + 'version': 'Version', + 'license': 'License', + 'summary': 'Summary', + 'description': 'Description', + 'classifiers': 'Classifier', + } + + def _to_legacy(self): + def process_entries(entries): + reqts = set() + for e in entries: + extra = e.get('extra') + env = e.get('environment') + rlist = e['requires'] + for r in rlist: + if not env and not extra: + reqts.add(r) + else: + marker = '' + if extra: + marker = 'extra == "%s"' % extra + if env: + if marker: + marker = '(%s) and %s' % (env, marker) + else: + marker = env + reqts.add(';'.join((r, marker))) + return reqts + + assert self._data and not self._legacy + result = LegacyMetadata() + nmd = self._data + for nk, ok in self.LEGACY_MAPPING.items(): + if nk in nmd: + result[ok] = nmd[nk] + r1 = process_entries(self.run_requires + self.meta_requires) + r2 = process_entries(self.build_requires + self.dev_requires) + if self.extras: + result['Provides-Extra'] = sorted(self.extras) + result['Requires-Dist'] = sorted(r1) + result['Setup-Requires-Dist'] = sorted(r2) + # TODO: other fields such as contacts + return result + + def write(self, path=None, fileobj=None, legacy=False, skip_unknown=True): + if [path, fileobj].count(None) != 1: + raise ValueError('Exactly one of path and fileobj is needed') + self.validate() + if legacy: + if self._legacy: + legacy_md = self._legacy + else: + legacy_md = self._to_legacy() + if path: + legacy_md.write(path, skip_unknown=skip_unknown) + else: + legacy_md.write_file(fileobj, skip_unknown=skip_unknown) + else: + if self._legacy: + d = self._from_legacy() + else: + d = self._data + if fileobj: + json.dump(d, fileobj, ensure_ascii=True, indent=2, + sort_keys=True) + else: + with codecs.open(path, 'w', 'utf-8') as f: + json.dump(d, f, ensure_ascii=True, indent=2, + sort_keys=True) + + def add_requirements(self, requirements): + if self._legacy: + self._legacy.add_requirements(requirements) + else: + run_requires = self._data.setdefault('run_requires', []) + always = None + for entry in run_requires: + if 'environment' not in entry and 'extra' not in entry: + always = entry + break + if always is None: + always = { 'requires': requirements } + run_requires.insert(0, always) + else: + rset = set(always['requires']) | set(requirements) + always['requires'] = sorted(rset) + + def __repr__(self): + name = self.name or '(no name)' + version = self.version or 'no version' + return '<%s %s %s (%s)>' % (self.__class__.__name__, + self.metadata_version, name, version) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/resources.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/resources.py new file mode 100644 index 0000000..1884016 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/resources.py @@ -0,0 +1,355 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013-2017 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +from __future__ import unicode_literals + +import bisect +import io +import logging +import os +import pkgutil +import shutil +import sys +import types +import zipimport + +from . import DistlibException +from .util import cached_property, get_cache_base, path_to_cache_dir, Cache + +logger = logging.getLogger(__name__) + + +cache = None # created when needed + + +class ResourceCache(Cache): + def __init__(self, base=None): + if base is None: + # Use native string to avoid issues on 2.x: see Python #20140. + base = os.path.join(get_cache_base(), str('resource-cache')) + super(ResourceCache, self).__init__(base) + + def is_stale(self, resource, path): + """ + Is the cache stale for the given resource? + + :param resource: The :class:`Resource` being cached. + :param path: The path of the resource in the cache. + :return: True if the cache is stale. + """ + # Cache invalidation is a hard problem :-) + return True + + def get(self, resource): + """ + Get a resource into the cache, + + :param resource: A :class:`Resource` instance. + :return: The pathname of the resource in the cache. + """ + prefix, path = resource.finder.get_cache_info(resource) + if prefix is None: + result = path + else: + result = os.path.join(self.base, self.prefix_to_dir(prefix), path) + dirname = os.path.dirname(result) + if not os.path.isdir(dirname): + os.makedirs(dirname) + if not os.path.exists(result): + stale = True + else: + stale = self.is_stale(resource, path) + if stale: + # write the bytes of the resource to the cache location + with open(result, 'wb') as f: + f.write(resource.bytes) + return result + + +class ResourceBase(object): + def __init__(self, finder, name): + self.finder = finder + self.name = name + + +class Resource(ResourceBase): + """ + A class representing an in-package resource, such as a data file. This is + not normally instantiated by user code, but rather by a + :class:`ResourceFinder` which manages the resource. + """ + is_container = False # Backwards compatibility + + def as_stream(self): + """ + Get the resource as a stream. + + This is not a property to make it obvious that it returns a new stream + each time. + """ + return self.finder.get_stream(self) + + @cached_property + def file_path(self): + global cache + if cache is None: + cache = ResourceCache() + return cache.get(self) + + @cached_property + def bytes(self): + return self.finder.get_bytes(self) + + @cached_property + def size(self): + return self.finder.get_size(self) + + +class ResourceContainer(ResourceBase): + is_container = True # Backwards compatibility + + @cached_property + def resources(self): + return self.finder.get_resources(self) + + +class ResourceFinder(object): + """ + Resource finder for file system resources. + """ + + if sys.platform.startswith('java'): + skipped_extensions = ('.pyc', '.pyo', '.class') + else: + skipped_extensions = ('.pyc', '.pyo') + + def __init__(self, module): + self.module = module + self.loader = getattr(module, '__loader__', None) + self.base = os.path.dirname(getattr(module, '__file__', '')) + + def _adjust_path(self, path): + return os.path.realpath(path) + + def _make_path(self, resource_name): + # Issue #50: need to preserve type of path on Python 2.x + # like os.path._get_sep + if isinstance(resource_name, bytes): # should only happen on 2.x + sep = b'/' + else: + sep = '/' + parts = resource_name.split(sep) + parts.insert(0, self.base) + result = os.path.join(*parts) + return self._adjust_path(result) + + def _find(self, path): + return os.path.exists(path) + + def get_cache_info(self, resource): + return None, resource.path + + def find(self, resource_name): + path = self._make_path(resource_name) + if not self._find(path): + result = None + else: + if self._is_directory(path): + result = ResourceContainer(self, resource_name) + else: + result = Resource(self, resource_name) + result.path = path + return result + + def get_stream(self, resource): + return open(resource.path, 'rb') + + def get_bytes(self, resource): + with open(resource.path, 'rb') as f: + return f.read() + + def get_size(self, resource): + return os.path.getsize(resource.path) + + def get_resources(self, resource): + def allowed(f): + return (f != '__pycache__' and not + f.endswith(self.skipped_extensions)) + return set([f for f in os.listdir(resource.path) if allowed(f)]) + + def is_container(self, resource): + return self._is_directory(resource.path) + + _is_directory = staticmethod(os.path.isdir) + + def iterator(self, resource_name): + resource = self.find(resource_name) + if resource is not None: + todo = [resource] + while todo: + resource = todo.pop(0) + yield resource + if resource.is_container: + rname = resource.name + for name in resource.resources: + if not rname: + new_name = name + else: + new_name = '/'.join([rname, name]) + child = self.find(new_name) + if child.is_container: + todo.append(child) + else: + yield child + + +class ZipResourceFinder(ResourceFinder): + """ + Resource finder for resources in .zip files. + """ + def __init__(self, module): + super(ZipResourceFinder, self).__init__(module) + archive = self.loader.archive + self.prefix_len = 1 + len(archive) + # PyPy doesn't have a _files attr on zipimporter, and you can't set one + if hasattr(self.loader, '_files'): + self._files = self.loader._files + else: + self._files = zipimport._zip_directory_cache[archive] + self.index = sorted(self._files) + + def _adjust_path(self, path): + return path + + def _find(self, path): + path = path[self.prefix_len:] + if path in self._files: + result = True + else: + if path and path[-1] != os.sep: + path = path + os.sep + i = bisect.bisect(self.index, path) + try: + result = self.index[i].startswith(path) + except IndexError: + result = False + if not result: + logger.debug('_find failed: %r %r', path, self.loader.prefix) + else: + logger.debug('_find worked: %r %r', path, self.loader.prefix) + return result + + def get_cache_info(self, resource): + prefix = self.loader.archive + path = resource.path[1 + len(prefix):] + return prefix, path + + def get_bytes(self, resource): + return self.loader.get_data(resource.path) + + def get_stream(self, resource): + return io.BytesIO(self.get_bytes(resource)) + + def get_size(self, resource): + path = resource.path[self.prefix_len:] + return self._files[path][3] + + def get_resources(self, resource): + path = resource.path[self.prefix_len:] + if path and path[-1] != os.sep: + path += os.sep + plen = len(path) + result = set() + i = bisect.bisect(self.index, path) + while i < len(self.index): + if not self.index[i].startswith(path): + break + s = self.index[i][plen:] + result.add(s.split(os.sep, 1)[0]) # only immediate children + i += 1 + return result + + def _is_directory(self, path): + path = path[self.prefix_len:] + if path and path[-1] != os.sep: + path += os.sep + i = bisect.bisect(self.index, path) + try: + result = self.index[i].startswith(path) + except IndexError: + result = False + return result + +_finder_registry = { + type(None): ResourceFinder, + zipimport.zipimporter: ZipResourceFinder +} + +try: + # In Python 3.6, _frozen_importlib -> _frozen_importlib_external + try: + import _frozen_importlib_external as _fi + except ImportError: + import _frozen_importlib as _fi + _finder_registry[_fi.SourceFileLoader] = ResourceFinder + _finder_registry[_fi.FileFinder] = ResourceFinder + del _fi +except (ImportError, AttributeError): + pass + + +def register_finder(loader, finder_maker): + _finder_registry[type(loader)] = finder_maker + +_finder_cache = {} + + +def finder(package): + """ + Return a resource finder for a package. + :param package: The name of the package. + :return: A :class:`ResourceFinder` instance for the package. + """ + if package in _finder_cache: + result = _finder_cache[package] + else: + if package not in sys.modules: + __import__(package) + module = sys.modules[package] + path = getattr(module, '__path__', None) + if path is None: + raise DistlibException('You cannot get a finder for a module, ' + 'only for a package') + loader = getattr(module, '__loader__', None) + finder_maker = _finder_registry.get(type(loader)) + if finder_maker is None: + raise DistlibException('Unable to locate finder for %r' % package) + result = finder_maker(module) + _finder_cache[package] = result + return result + + +_dummy_module = types.ModuleType(str('__dummy__')) + + +def finder_for_path(path): + """ + Return a resource finder for a path, which should represent a container. + + :param path: The path. + :return: A :class:`ResourceFinder` instance for the path. + """ + result = None + # calls any path hooks, gets importer into cache + pkgutil.get_importer(path) + loader = sys.path_importer_cache.get(path) + finder = _finder_registry.get(type(loader)) + if finder: + module = _dummy_module + module.__file__ = os.path.join(path, '') + module.__loader__ = loader + result = finder(module) + return result diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/scripts.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/scripts.py new file mode 100644 index 0000000..8e22cb9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/scripts.py @@ -0,0 +1,417 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013-2015 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +from io import BytesIO +import logging +import os +import re +import struct +import sys + +from .compat import sysconfig, detect_encoding, ZipFile +from .resources import finder +from .util import (FileOperator, get_export_entry, convert_path, + get_executable, in_venv) + +logger = logging.getLogger(__name__) + +_DEFAULT_MANIFEST = ''' +<?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="%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>'''.strip() + +# check if Python is called on the first line with this expression +FIRST_LINE_RE = re.compile(b'^#!.*pythonw?[0-9.]*([ \t].*)?$') +SCRIPT_TEMPLATE = r'''# -*- coding: utf-8 -*- +if __name__ == '__main__': + import sys, re + + def _resolve(module, func): + __import__(module) + mod = sys.modules[module] + parts = func.split('.') + result = getattr(mod, parts.pop(0)) + for p in parts: + result = getattr(result, p) + return result + + try: + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + + func = _resolve('%(module)s', '%(func)s') + rc = func() # None interpreted as 0 + except Exception as e: # only supporting Python >= 2.6 + sys.stderr.write('%%s\n' %% e) + rc = 1 + sys.exit(rc) +''' + + +def _enquote_executable(executable): + if ' ' in executable: + # make sure we quote only the executable in case of env + # for example /usr/bin/env "/dir with spaces/bin/jython" + # instead of "/usr/bin/env /dir with spaces/bin/jython" + # otherwise whole + if executable.startswith('/usr/bin/env '): + env, _executable = executable.split(' ', 1) + if ' ' in _executable and not _executable.startswith('"'): + executable = '%s "%s"' % (env, _executable) + else: + if not executable.startswith('"'): + executable = '"%s"' % executable + return executable + + +class ScriptMaker(object): + """ + A class to copy or create scripts from source scripts or callable + specifications. + """ + script_template = SCRIPT_TEMPLATE + + executable = None # for shebangs + + def __init__(self, source_dir, target_dir, add_launchers=True, + dry_run=False, fileop=None): + self.source_dir = source_dir + self.target_dir = target_dir + self.add_launchers = add_launchers + self.force = False + self.clobber = False + # It only makes sense to set mode bits on POSIX. + self.set_mode = (os.name == 'posix') or (os.name == 'java' and + os._name == 'posix') + self.variants = set(('', 'X.Y')) + self._fileop = fileop or FileOperator(dry_run) + + self._is_nt = os.name == 'nt' or ( + os.name == 'java' and os._name == 'nt') + + def _get_alternate_executable(self, executable, options): + if options.get('gui', False) and self._is_nt: # pragma: no cover + dn, fn = os.path.split(executable) + fn = fn.replace('python', 'pythonw') + executable = os.path.join(dn, fn) + return executable + + if sys.platform.startswith('java'): # pragma: no cover + def _is_shell(self, executable): + """ + Determine if the specified executable is a script + (contains a #! line) + """ + try: + with open(executable) as fp: + return fp.read(2) == '#!' + except (OSError, IOError): + logger.warning('Failed to open %s', executable) + return False + + def _fix_jython_executable(self, executable): + if self._is_shell(executable): + # Workaround for Jython is not needed on Linux systems. + import java + + if java.lang.System.getProperty('os.name') == 'Linux': + return executable + elif executable.lower().endswith('jython.exe'): + # Use wrapper exe for Jython on Windows + return executable + return '/usr/bin/env %s' % executable + + def _build_shebang(self, executable, post_interp): + """ + Build a shebang line. In the simple case (on Windows, or a shebang line + which is not too long or contains spaces) use a simple formulation for + the shebang. Otherwise, use /bin/sh as the executable, with a contrived + shebang which allows the script to run either under Python or sh, using + suitable quoting. Thanks to Harald Nordgren for his input. + + See also: http://www.in-ulm.de/~mascheck/various/shebang/#length + https://hg.mozilla.org/mozilla-central/file/tip/mach + """ + if os.name != 'posix': + simple_shebang = True + else: + # Add 3 for '#!' prefix and newline suffix. + shebang_length = len(executable) + len(post_interp) + 3 + if sys.platform == 'darwin': + max_shebang_length = 512 + else: + max_shebang_length = 127 + simple_shebang = ((b' ' not in executable) and + (shebang_length <= max_shebang_length)) + + if simple_shebang: + result = b'#!' + executable + post_interp + b'\n' + else: + result = b'#!/bin/sh\n' + result += b"'''exec' " + executable + post_interp + b' "$0" "$@"\n' + result += b"' '''" + return result + + def _get_shebang(self, encoding, post_interp=b'', options=None): + enquote = True + if self.executable: + executable = self.executable + enquote = False # assume this will be taken care of + elif not sysconfig.is_python_build(): + executable = get_executable() + elif in_venv(): # pragma: no cover + executable = os.path.join(sysconfig.get_path('scripts'), + 'python%s' % sysconfig.get_config_var('EXE')) + else: # pragma: no cover + executable = os.path.join( + sysconfig.get_config_var('BINDIR'), + 'python%s%s' % (sysconfig.get_config_var('VERSION'), + sysconfig.get_config_var('EXE'))) + if options: + executable = self._get_alternate_executable(executable, options) + + if sys.platform.startswith('java'): # pragma: no cover + executable = self._fix_jython_executable(executable) + # Normalise case for Windows + executable = os.path.normcase(executable) + # If the user didn't specify an executable, it may be necessary to + # cater for executable paths with spaces (not uncommon on Windows) + if enquote: + executable = _enquote_executable(executable) + # Issue #51: don't use fsencode, since we later try to + # check that the shebang is decodable using utf-8. + executable = executable.encode('utf-8') + # in case of IronPython, play safe and enable frames support + if (sys.platform == 'cli' and '-X:Frames' not in post_interp + and '-X:FullFrames' not in post_interp): # pragma: no cover + post_interp += b' -X:Frames' + shebang = self._build_shebang(executable, post_interp) + # Python parser starts to read a script using UTF-8 until + # it gets a #coding:xxx cookie. The shebang has to be the + # first line of a file, the #coding:xxx cookie cannot be + # written before. So the shebang has to be decodable from + # UTF-8. + try: + shebang.decode('utf-8') + except UnicodeDecodeError: # pragma: no cover + raise ValueError( + 'The shebang (%r) is not decodable from utf-8' % shebang) + # If the script is encoded to a custom encoding (use a + # #coding:xxx cookie), the shebang has to be decodable from + # the script encoding too. + if encoding != 'utf-8': + try: + shebang.decode(encoding) + except UnicodeDecodeError: # pragma: no cover + raise ValueError( + 'The shebang (%r) is not decodable ' + 'from the script encoding (%r)' % (shebang, encoding)) + return shebang + + def _get_script_text(self, entry): + return self.script_template % dict(module=entry.prefix, + func=entry.suffix) + + manifest = _DEFAULT_MANIFEST + + def get_manifest(self, exename): + base = os.path.basename(exename) + return self.manifest % base + + def _write_script(self, names, shebang, script_bytes, filenames, ext): + use_launcher = self.add_launchers and self._is_nt + linesep = os.linesep.encode('utf-8') + if not shebang.endswith(linesep): + shebang += linesep + if not use_launcher: + script_bytes = shebang + script_bytes + else: # pragma: no cover + if ext == 'py': + launcher = self._get_launcher('t') + else: + launcher = self._get_launcher('w') + stream = BytesIO() + with ZipFile(stream, 'w') as zf: + zf.writestr('__main__.py', script_bytes) + zip_data = stream.getvalue() + script_bytes = launcher + shebang + zip_data + for name in names: + outname = os.path.join(self.target_dir, name) + if use_launcher: # pragma: no cover + n, e = os.path.splitext(outname) + if e.startswith('.py'): + outname = n + outname = '%s.exe' % outname + try: + self._fileop.write_binary_file(outname, script_bytes) + except Exception: + # Failed writing an executable - it might be in use. + logger.warning('Failed to write executable - trying to ' + 'use .deleteme logic') + dfname = '%s.deleteme' % outname + if os.path.exists(dfname): + os.remove(dfname) # Not allowed to fail here + os.rename(outname, dfname) # nor here + self._fileop.write_binary_file(outname, script_bytes) + logger.debug('Able to replace executable using ' + '.deleteme logic') + try: + os.remove(dfname) + except Exception: + pass # still in use - ignore error + else: + if self._is_nt and not outname.endswith('.' + ext): # pragma: no cover + outname = '%s.%s' % (outname, ext) + if os.path.exists(outname) and not self.clobber: + logger.warning('Skipping existing file %s', outname) + continue + self._fileop.write_binary_file(outname, script_bytes) + if self.set_mode: + self._fileop.set_executable_mode([outname]) + filenames.append(outname) + + def _make_script(self, entry, filenames, options=None): + post_interp = b'' + if options: + args = options.get('interpreter_args', []) + if args: + args = ' %s' % ' '.join(args) + post_interp = args.encode('utf-8') + shebang = self._get_shebang('utf-8', post_interp, options=options) + script = self._get_script_text(entry).encode('utf-8') + name = entry.name + scriptnames = set() + if '' in self.variants: + scriptnames.add(name) + if 'X' in self.variants: + scriptnames.add('%s%s' % (name, sys.version[0])) + if 'X.Y' in self.variants: + scriptnames.add('%s-%s' % (name, sys.version[:3])) + if options and options.get('gui', False): + ext = 'pyw' + else: + ext = 'py' + self._write_script(scriptnames, shebang, script, filenames, ext) + + def _copy_script(self, script, filenames): + adjust = False + script = os.path.join(self.source_dir, convert_path(script)) + outname = os.path.join(self.target_dir, os.path.basename(script)) + if not self.force and not self._fileop.newer(script, outname): + logger.debug('not copying %s (up-to-date)', script) + return + + # Always open the file, but ignore failures in dry-run mode -- + # that way, we'll get accurate feedback if we can read the + # script. + try: + f = open(script, 'rb') + except IOError: # pragma: no cover + if not self.dry_run: + raise + f = None + else: + first_line = f.readline() + if not first_line: # pragma: no cover + logger.warning('%s: %s is an empty file (skipping)', + self.get_command_name(), script) + return + + match = FIRST_LINE_RE.match(first_line.replace(b'\r\n', b'\n')) + if match: + adjust = True + post_interp = match.group(1) or b'' + + if not adjust: + if f: + f.close() + self._fileop.copy_file(script, outname) + if self.set_mode: + self._fileop.set_executable_mode([outname]) + filenames.append(outname) + else: + logger.info('copying and adjusting %s -> %s', script, + self.target_dir) + if not self._fileop.dry_run: + encoding, lines = detect_encoding(f.readline) + f.seek(0) + shebang = self._get_shebang(encoding, post_interp) + if b'pythonw' in first_line: # pragma: no cover + ext = 'pyw' + else: + ext = 'py' + n = os.path.basename(outname) + self._write_script([n], shebang, f.read(), filenames, ext) + if f: + f.close() + + @property + def dry_run(self): + return self._fileop.dry_run + + @dry_run.setter + def dry_run(self, value): + self._fileop.dry_run = value + + if os.name == 'nt' or (os.name == 'java' and os._name == 'nt'): # pragma: no cover + # Executable launcher support. + # Launchers are from https://bitbucket.org/vinay.sajip/simple_launcher/ + + def _get_launcher(self, kind): + if struct.calcsize('P') == 8: # 64-bit + bits = '64' + else: + bits = '32' + name = '%s%s.exe' % (kind, bits) + # Issue 31: don't hardcode an absolute package name, but + # determine it relative to the current package + distlib_package = __name__.rsplit('.', 1)[0] + result = finder(distlib_package).find(name).bytes + return result + + # Public API follows + + def make(self, specification, options=None): + """ + Make a script. + + :param specification: The specification, which is either a valid export + entry specification (to make a script from a + callable) or a filename (to make a script by + copying from a source location). + :param options: A dictionary of options controlling script generation. + :return: A list of all absolute pathnames written to. + """ + filenames = [] + entry = get_export_entry(specification) + if entry is None: + self._copy_script(specification, filenames) + else: + self._make_script(entry, filenames, options=options) + return filenames + + def make_multiple(self, specifications, options=None): + """ + Take a list of specifications and make scripts from them, + :param specifications: A list of specifications. + :return: A list of all absolute pathnames written to, + """ + filenames = [] + for specification in specifications: + filenames.extend(self.make(specification, options)) + return filenames diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/t32.exe b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/t32.exe new file mode 100644 index 0000000000000000000000000000000000000000..a09d926872d84ae22a617dfe9ebb560d420b37de GIT binary patch literal 92672 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/t64.exe b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/t64.exe new file mode 100644 index 0000000000000000000000000000000000000000..9da9b40de922fb203df6b9a1d0ad4139af536850 GIT binary patch literal 102400 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/util.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/util.py new file mode 100644 index 0000000..9d4bfd3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/util.py @@ -0,0 +1,1756 @@ +# +# Copyright (C) 2012-2017 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +import codecs +from collections import deque +import contextlib +import csv +from glob import iglob as std_iglob +import io +import json +import logging +import os +import py_compile +import re +import socket +try: + import ssl +except ImportError: # pragma: no cover + ssl = None +import subprocess +import sys +import tarfile +import tempfile +import textwrap + +try: + import threading +except ImportError: # pragma: no cover + import dummy_threading as threading +import time + +from . import DistlibException +from .compat import (string_types, text_type, shutil, raw_input, StringIO, + cache_from_source, urlopen, urljoin, httplib, xmlrpclib, + splittype, HTTPHandler, BaseConfigurator, valid_ident, + Container, configparser, URLError, ZipFile, fsdecode, + unquote, urlparse) + +logger = logging.getLogger(__name__) + +# +# Requirement parsing code as per PEP 508 +# + +IDENTIFIER = re.compile(r'^([\w\.-]+)\s*') +VERSION_IDENTIFIER = re.compile(r'^([\w\.*+-]+)\s*') +COMPARE_OP = re.compile(r'^(<=?|>=?|={2,3}|[~!]=)\s*') +MARKER_OP = re.compile(r'^((<=?)|(>=?)|={2,3}|[~!]=|in|not\s+in)\s*') +OR = re.compile(r'^or\b\s*') +AND = re.compile(r'^and\b\s*') +NON_SPACE = re.compile(r'(\S+)\s*') +STRING_CHUNK = re.compile(r'([\s\w\.{}()*+#:;,/?!~`@$%^&=|<>\[\]-]+)') + + +def parse_marker(marker_string): + """ + Parse a marker string and return a dictionary containing a marker expression. + + The dictionary will contain keys "op", "lhs" and "rhs" for non-terminals in + the expression grammar, or strings. A string contained in quotes is to be + interpreted as a literal string, and a string not contained in quotes is a + variable (such as os_name). + """ + def marker_var(remaining): + # either identifier, or literal string + m = IDENTIFIER.match(remaining) + if m: + result = m.groups()[0] + remaining = remaining[m.end():] + elif not remaining: + raise SyntaxError('unexpected end of input') + else: + q = remaining[0] + if q not in '\'"': + raise SyntaxError('invalid expression: %s' % remaining) + oq = '\'"'.replace(q, '') + remaining = remaining[1:] + parts = [q] + while remaining: + # either a string chunk, or oq, or q to terminate + if remaining[0] == q: + break + elif remaining[0] == oq: + parts.append(oq) + remaining = remaining[1:] + else: + m = STRING_CHUNK.match(remaining) + if not m: + raise SyntaxError('error in string literal: %s' % remaining) + parts.append(m.groups()[0]) + remaining = remaining[m.end():] + else: + s = ''.join(parts) + raise SyntaxError('unterminated string: %s' % s) + parts.append(q) + result = ''.join(parts) + remaining = remaining[1:].lstrip() # skip past closing quote + return result, remaining + + def marker_expr(remaining): + if remaining and remaining[0] == '(': + result, remaining = marker(remaining[1:].lstrip()) + if remaining[0] != ')': + raise SyntaxError('unterminated parenthesis: %s' % remaining) + remaining = remaining[1:].lstrip() + else: + lhs, remaining = marker_var(remaining) + while remaining: + m = MARKER_OP.match(remaining) + if not m: + break + op = m.groups()[0] + remaining = remaining[m.end():] + rhs, remaining = marker_var(remaining) + lhs = {'op': op, 'lhs': lhs, 'rhs': rhs} + result = lhs + return result, remaining + + def marker_and(remaining): + lhs, remaining = marker_expr(remaining) + while remaining: + m = AND.match(remaining) + if not m: + break + remaining = remaining[m.end():] + rhs, remaining = marker_expr(remaining) + lhs = {'op': 'and', 'lhs': lhs, 'rhs': rhs} + return lhs, remaining + + def marker(remaining): + lhs, remaining = marker_and(remaining) + while remaining: + m = OR.match(remaining) + if not m: + break + remaining = remaining[m.end():] + rhs, remaining = marker_and(remaining) + lhs = {'op': 'or', 'lhs': lhs, 'rhs': rhs} + return lhs, remaining + + return marker(marker_string) + + +def parse_requirement(req): + """ + Parse a requirement passed in as a string. Return a Container + whose attributes contain the various parts of the requirement. + """ + remaining = req.strip() + if not remaining or remaining.startswith('#'): + return None + m = IDENTIFIER.match(remaining) + if not m: + raise SyntaxError('name expected: %s' % remaining) + distname = m.groups()[0] + remaining = remaining[m.end():] + extras = mark_expr = versions = uri = None + if remaining and remaining[0] == '[': + i = remaining.find(']', 1) + if i < 0: + raise SyntaxError('unterminated extra: %s' % remaining) + s = remaining[1:i] + remaining = remaining[i + 1:].lstrip() + extras = [] + while s: + m = IDENTIFIER.match(s) + if not m: + raise SyntaxError('malformed extra: %s' % s) + extras.append(m.groups()[0]) + s = s[m.end():] + if not s: + break + if s[0] != ',': + raise SyntaxError('comma expected in extras: %s' % s) + s = s[1:].lstrip() + if not extras: + extras = None + if remaining: + if remaining[0] == '@': + # it's a URI + remaining = remaining[1:].lstrip() + m = NON_SPACE.match(remaining) + if not m: + raise SyntaxError('invalid URI: %s' % remaining) + uri = m.groups()[0] + t = urlparse(uri) + # there are issues with Python and URL parsing, so this test + # is a bit crude. See bpo-20271, bpo-23505. Python doesn't + # always parse invalid URLs correctly - it should raise + # exceptions for malformed URLs + if not (t.scheme and t.netloc): + raise SyntaxError('Invalid URL: %s' % uri) + remaining = remaining[m.end():].lstrip() + else: + + def get_versions(ver_remaining): + """ + Return a list of operator, version tuples if any are + specified, else None. + """ + m = COMPARE_OP.match(ver_remaining) + versions = None + if m: + versions = [] + while True: + op = m.groups()[0] + ver_remaining = ver_remaining[m.end():] + m = VERSION_IDENTIFIER.match(ver_remaining) + if not m: + raise SyntaxError('invalid version: %s' % ver_remaining) + v = m.groups()[0] + versions.append((op, v)) + ver_remaining = ver_remaining[m.end():] + if not ver_remaining or ver_remaining[0] != ',': + break + ver_remaining = ver_remaining[1:].lstrip() + m = COMPARE_OP.match(ver_remaining) + if not m: + raise SyntaxError('invalid constraint: %s' % ver_remaining) + if not versions: + versions = None + return versions, ver_remaining + + if remaining[0] != '(': + versions, remaining = get_versions(remaining) + else: + i = remaining.find(')', 1) + if i < 0: + raise SyntaxError('unterminated parenthesis: %s' % remaining) + s = remaining[1:i] + remaining = remaining[i + 1:].lstrip() + # As a special diversion from PEP 508, allow a version number + # a.b.c in parentheses as a synonym for ~= a.b.c (because this + # is allowed in earlier PEPs) + if COMPARE_OP.match(s): + versions, _ = get_versions(s) + else: + m = VERSION_IDENTIFIER.match(s) + if not m: + raise SyntaxError('invalid constraint: %s' % s) + v = m.groups()[0] + s = s[m.end():].lstrip() + if s: + raise SyntaxError('invalid constraint: %s' % s) + versions = [('~=', v)] + + if remaining: + if remaining[0] != ';': + raise SyntaxError('invalid requirement: %s' % remaining) + remaining = remaining[1:].lstrip() + + mark_expr, remaining = parse_marker(remaining) + + if remaining and remaining[0] != '#': + raise SyntaxError('unexpected trailing data: %s' % remaining) + + if not versions: + rs = distname + else: + rs = '%s %s' % (distname, ', '.join(['%s %s' % con for con in versions])) + return Container(name=distname, extras=extras, constraints=versions, + marker=mark_expr, url=uri, requirement=rs) + + +def get_resources_dests(resources_root, rules): + """Find destinations for resources files""" + + def get_rel_path(root, path): + # normalizes and returns a lstripped-/-separated path + root = root.replace(os.path.sep, '/') + path = path.replace(os.path.sep, '/') + assert path.startswith(root) + return path[len(root):].lstrip('/') + + destinations = {} + for base, suffix, dest in rules: + prefix = os.path.join(resources_root, base) + for abs_base in iglob(prefix): + abs_glob = os.path.join(abs_base, suffix) + for abs_path in iglob(abs_glob): + resource_file = get_rel_path(resources_root, abs_path) + if dest is None: # remove the entry if it was here + destinations.pop(resource_file, None) + else: + rel_path = get_rel_path(abs_base, abs_path) + rel_dest = dest.replace(os.path.sep, '/').rstrip('/') + destinations[resource_file] = rel_dest + '/' + rel_path + return destinations + + +def in_venv(): + if hasattr(sys, 'real_prefix'): + # virtualenv venvs + result = True + else: + # PEP 405 venvs + result = sys.prefix != getattr(sys, 'base_prefix', sys.prefix) + return result + + +def get_executable(): +# The __PYVENV_LAUNCHER__ dance is apparently no longer needed, as +# changes to the stub launcher mean that sys.executable always points +# to the stub on OS X +# if sys.platform == 'darwin' and ('__PYVENV_LAUNCHER__' +# in os.environ): +# result = os.environ['__PYVENV_LAUNCHER__'] +# else: +# result = sys.executable +# return result + result = os.path.normcase(sys.executable) + if not isinstance(result, text_type): + result = fsdecode(result) + return result + + +def proceed(prompt, allowed_chars, error_prompt=None, default=None): + p = prompt + while True: + s = raw_input(p) + p = prompt + if not s and default: + s = default + if s: + c = s[0].lower() + if c in allowed_chars: + break + if error_prompt: + p = '%c: %s\n%s' % (c, error_prompt, prompt) + return c + + +def extract_by_key(d, keys): + if isinstance(keys, string_types): + keys = keys.split() + result = {} + for key in keys: + if key in d: + result[key] = d[key] + return result + +def read_exports(stream): + if sys.version_info[0] >= 3: + # needs to be a text stream + stream = codecs.getreader('utf-8')(stream) + # Try to load as JSON, falling back on legacy format + data = stream.read() + stream = StringIO(data) + try: + jdata = json.load(stream) + result = jdata['extensions']['python.exports']['exports'] + for group, entries in result.items(): + for k, v in entries.items(): + s = '%s = %s' % (k, v) + entry = get_export_entry(s) + assert entry is not None + entries[k] = entry + return result + except Exception: + stream.seek(0, 0) + + def read_stream(cp, stream): + if hasattr(cp, 'read_file'): + cp.read_file(stream) + else: + cp.readfp(stream) + + cp = configparser.ConfigParser() + try: + read_stream(cp, stream) + except configparser.MissingSectionHeaderError: + stream.close() + data = textwrap.dedent(data) + stream = StringIO(data) + read_stream(cp, stream) + + result = {} + for key in cp.sections(): + result[key] = entries = {} + for name, value in cp.items(key): + s = '%s = %s' % (name, value) + entry = get_export_entry(s) + assert entry is not None + #entry.dist = self + entries[name] = entry + return result + + +def write_exports(exports, stream): + if sys.version_info[0] >= 3: + # needs to be a text stream + stream = codecs.getwriter('utf-8')(stream) + cp = configparser.ConfigParser() + for k, v in exports.items(): + # TODO check k, v for valid values + cp.add_section(k) + for entry in v.values(): + if entry.suffix is None: + s = entry.prefix + else: + s = '%s:%s' % (entry.prefix, entry.suffix) + if entry.flags: + s = '%s [%s]' % (s, ', '.join(entry.flags)) + cp.set(k, entry.name, s) + cp.write(stream) + + +@contextlib.contextmanager +def tempdir(): + td = tempfile.mkdtemp() + try: + yield td + finally: + shutil.rmtree(td) + +@contextlib.contextmanager +def chdir(d): + cwd = os.getcwd() + try: + os.chdir(d) + yield + finally: + os.chdir(cwd) + + +@contextlib.contextmanager +def socket_timeout(seconds=15): + cto = socket.getdefaulttimeout() + try: + socket.setdefaulttimeout(seconds) + yield + finally: + socket.setdefaulttimeout(cto) + + +class cached_property(object): + def __init__(self, func): + self.func = func + #for attr in ('__name__', '__module__', '__doc__'): + # setattr(self, attr, getattr(func, attr, None)) + + def __get__(self, obj, cls=None): + if obj is None: + return self + value = self.func(obj) + object.__setattr__(obj, self.func.__name__, value) + #obj.__dict__[self.func.__name__] = value = self.func(obj) + return value + +def convert_path(pathname): + """Return 'pathname' as a name that will work on the native filesystem. + + The path is split on '/' and put back together again using the current + directory separator. Needed because filenames in the setup script are + always supplied in Unix style, and have to be converted to the local + convention before we can actually use them in the filesystem. Raises + ValueError on non-Unix-ish systems if 'pathname' either starts or + ends with a slash. + """ + if os.sep == '/': + return pathname + if not pathname: + return pathname + if pathname[0] == '/': + raise ValueError("path '%s' cannot be absolute" % pathname) + if pathname[-1] == '/': + raise ValueError("path '%s' cannot end with '/'" % pathname) + + paths = pathname.split('/') + while os.curdir in paths: + paths.remove(os.curdir) + if not paths: + return os.curdir + return os.path.join(*paths) + + +class FileOperator(object): + def __init__(self, dry_run=False): + self.dry_run = dry_run + self.ensured = set() + self._init_record() + + def _init_record(self): + self.record = False + self.files_written = set() + self.dirs_created = set() + + def record_as_written(self, path): + if self.record: + self.files_written.add(path) + + def newer(self, source, target): + """Tell if the target is newer than the source. + + Returns true if 'source' exists and is more recently modified than + 'target', or if 'source' exists and 'target' doesn't. + + Returns false if both exist and 'target' is the same age or younger + than 'source'. Raise PackagingFileError if 'source' does not exist. + + Note that this test is not very accurate: files created in the same + second will have the same "age". + """ + if not os.path.exists(source): + raise DistlibException("file '%r' does not exist" % + os.path.abspath(source)) + if not os.path.exists(target): + return True + + return os.stat(source).st_mtime > os.stat(target).st_mtime + + def copy_file(self, infile, outfile, check=True): + """Copy a file respecting dry-run and force flags. + """ + self.ensure_dir(os.path.dirname(outfile)) + logger.info('Copying %s to %s', infile, outfile) + if not self.dry_run: + msg = None + if check: + if os.path.islink(outfile): + msg = '%s is a symlink' % outfile + elif os.path.exists(outfile) and not os.path.isfile(outfile): + msg = '%s is a non-regular file' % outfile + if msg: + raise ValueError(msg + ' which would be overwritten') + shutil.copyfile(infile, outfile) + self.record_as_written(outfile) + + def copy_stream(self, instream, outfile, encoding=None): + assert not os.path.isdir(outfile) + self.ensure_dir(os.path.dirname(outfile)) + logger.info('Copying stream %s to %s', instream, outfile) + if not self.dry_run: + if encoding is None: + outstream = open(outfile, 'wb') + else: + outstream = codecs.open(outfile, 'w', encoding=encoding) + try: + shutil.copyfileobj(instream, outstream) + finally: + outstream.close() + self.record_as_written(outfile) + + def write_binary_file(self, path, data): + self.ensure_dir(os.path.dirname(path)) + if not self.dry_run: + if os.path.exists(path): + os.remove(path) + with open(path, 'wb') as f: + f.write(data) + self.record_as_written(path) + + def write_text_file(self, path, data, encoding): + self.write_binary_file(path, data.encode(encoding)) + + def set_mode(self, bits, mask, files): + if os.name == 'posix' or (os.name == 'java' and os._name == 'posix'): + # Set the executable bits (owner, group, and world) on + # all the files specified. + for f in files: + if self.dry_run: + logger.info("changing mode of %s", f) + else: + mode = (os.stat(f).st_mode | bits) & mask + logger.info("changing mode of %s to %o", f, mode) + os.chmod(f, mode) + + set_executable_mode = lambda s, f: s.set_mode(0o555, 0o7777, f) + + def ensure_dir(self, path): + path = os.path.abspath(path) + if path not in self.ensured and not os.path.exists(path): + self.ensured.add(path) + d, f = os.path.split(path) + self.ensure_dir(d) + logger.info('Creating %s' % path) + if not self.dry_run: + os.mkdir(path) + if self.record: + self.dirs_created.add(path) + + def byte_compile(self, path, optimize=False, force=False, prefix=None, hashed_invalidation=False): + dpath = cache_from_source(path, not optimize) + logger.info('Byte-compiling %s to %s', path, dpath) + if not self.dry_run: + if force or self.newer(path, dpath): + if not prefix: + diagpath = None + else: + assert path.startswith(prefix) + diagpath = path[len(prefix):] + compile_kwargs = {} + if hashed_invalidation and hasattr(py_compile, 'PycInvalidationMode'): + compile_kwargs['invalidation_mode'] = py_compile.PycInvalidationMode.CHECKED_HASH + py_compile.compile(path, dpath, diagpath, True, **compile_kwargs) # raise error + self.record_as_written(dpath) + return dpath + + def ensure_removed(self, path): + if os.path.exists(path): + if os.path.isdir(path) and not os.path.islink(path): + logger.debug('Removing directory tree at %s', path) + if not self.dry_run: + shutil.rmtree(path) + if self.record: + if path in self.dirs_created: + self.dirs_created.remove(path) + else: + if os.path.islink(path): + s = 'link' + else: + s = 'file' + logger.debug('Removing %s %s', s, path) + if not self.dry_run: + os.remove(path) + if self.record: + if path in self.files_written: + self.files_written.remove(path) + + def is_writable(self, path): + result = False + while not result: + if os.path.exists(path): + result = os.access(path, os.W_OK) + break + parent = os.path.dirname(path) + if parent == path: + break + path = parent + return result + + def commit(self): + """ + Commit recorded changes, turn off recording, return + changes. + """ + assert self.record + result = self.files_written, self.dirs_created + self._init_record() + return result + + def rollback(self): + if not self.dry_run: + for f in list(self.files_written): + if os.path.exists(f): + os.remove(f) + # dirs should all be empty now, except perhaps for + # __pycache__ subdirs + # reverse so that subdirs appear before their parents + dirs = sorted(self.dirs_created, reverse=True) + for d in dirs: + flist = os.listdir(d) + if flist: + assert flist == ['__pycache__'] + sd = os.path.join(d, flist[0]) + os.rmdir(sd) + os.rmdir(d) # should fail if non-empty + self._init_record() + +def resolve(module_name, dotted_path): + if module_name in sys.modules: + mod = sys.modules[module_name] + else: + mod = __import__(module_name) + if dotted_path is None: + result = mod + else: + parts = dotted_path.split('.') + result = getattr(mod, parts.pop(0)) + for p in parts: + result = getattr(result, p) + return result + + +class ExportEntry(object): + def __init__(self, name, prefix, suffix, flags): + self.name = name + self.prefix = prefix + self.suffix = suffix + self.flags = flags + + @cached_property + def value(self): + return resolve(self.prefix, self.suffix) + + def __repr__(self): # pragma: no cover + return '<ExportEntry %s = %s:%s %s>' % (self.name, self.prefix, + self.suffix, self.flags) + + def __eq__(self, other): + if not isinstance(other, ExportEntry): + result = False + else: + result = (self.name == other.name and + self.prefix == other.prefix and + self.suffix == other.suffix and + self.flags == other.flags) + return result + + __hash__ = object.__hash__ + + +ENTRY_RE = re.compile(r'''(?P<name>(\w|[-.+])+) + \s*=\s*(?P<callable>(\w+)([:\.]\w+)*) + \s*(\[\s*(?P<flags>\w+(=\w+)?(,\s*\w+(=\w+)?)*)\s*\])? + ''', re.VERBOSE) + +def get_export_entry(specification): + m = ENTRY_RE.search(specification) + if not m: + result = None + if '[' in specification or ']' in specification: + raise DistlibException("Invalid specification " + "'%s'" % specification) + else: + d = m.groupdict() + name = d['name'] + path = d['callable'] + colons = path.count(':') + if colons == 0: + prefix, suffix = path, None + else: + if colons != 1: + raise DistlibException("Invalid specification " + "'%s'" % specification) + prefix, suffix = path.split(':') + flags = d['flags'] + if flags is None: + if '[' in specification or ']' in specification: + raise DistlibException("Invalid specification " + "'%s'" % specification) + flags = [] + else: + flags = [f.strip() for f in flags.split(',')] + result = ExportEntry(name, prefix, suffix, flags) + return result + + +def get_cache_base(suffix=None): + """ + Return the default base location for distlib caches. If the directory does + not exist, it is created. Use the suffix provided for the base directory, + and default to '.distlib' if it isn't provided. + + On Windows, if LOCALAPPDATA is defined in the environment, then it is + assumed to be a directory, and will be the parent directory of the result. + On POSIX, and on Windows if LOCALAPPDATA is not defined, the user's home + directory - using os.expanduser('~') - will be the parent directory of + the result. + + The result is just the directory '.distlib' in the parent directory as + determined above, or with the name specified with ``suffix``. + """ + if suffix is None: + suffix = '.distlib' + if os.name == 'nt' and 'LOCALAPPDATA' in os.environ: + result = os.path.expandvars('$localappdata') + else: + # Assume posix, or old Windows + result = os.path.expanduser('~') + # we use 'isdir' instead of 'exists', because we want to + # fail if there's a file with that name + if os.path.isdir(result): + usable = os.access(result, os.W_OK) + if not usable: + logger.warning('Directory exists but is not writable: %s', result) + else: + try: + os.makedirs(result) + usable = True + except OSError: + logger.warning('Unable to create %s', result, exc_info=True) + usable = False + if not usable: + result = tempfile.mkdtemp() + logger.warning('Default location unusable, using %s', result) + return os.path.join(result, suffix) + + +def path_to_cache_dir(path): + """ + Convert an absolute path to a directory name for use in a cache. + + The algorithm used is: + + #. On Windows, any ``':'`` in the drive is replaced with ``'---'``. + #. Any occurrence of ``os.sep`` is replaced with ``'--'``. + #. ``'.cache'`` is appended. + """ + d, p = os.path.splitdrive(os.path.abspath(path)) + if d: + d = d.replace(':', '---') + p = p.replace(os.sep, '--') + return d + p + '.cache' + + +def ensure_slash(s): + if not s.endswith('/'): + return s + '/' + return s + + +def parse_credentials(netloc): + username = password = None + if '@' in netloc: + prefix, netloc = netloc.split('@', 1) + if ':' not in prefix: + username = prefix + else: + username, password = prefix.split(':', 1) + return username, password, netloc + + +def get_process_umask(): + result = os.umask(0o22) + os.umask(result) + return result + +def is_string_sequence(seq): + result = True + i = None + for i, s in enumerate(seq): + if not isinstance(s, string_types): + result = False + break + assert i is not None + return result + +PROJECT_NAME_AND_VERSION = re.compile('([a-z0-9_]+([.-][a-z_][a-z0-9_]*)*)-' + '([a-z0-9_.+-]+)', re.I) +PYTHON_VERSION = re.compile(r'-py(\d\.?\d?)') + + +def split_filename(filename, project_name=None): + """ + Extract name, version, python version from a filename (no extension) + + Return name, version, pyver or None + """ + result = None + pyver = None + filename = unquote(filename).replace(' ', '-') + m = PYTHON_VERSION.search(filename) + if m: + pyver = m.group(1) + filename = filename[:m.start()] + if project_name and len(filename) > len(project_name) + 1: + m = re.match(re.escape(project_name) + r'\b', filename) + if m: + n = m.end() + result = filename[:n], filename[n + 1:], pyver + if result is None: + m = PROJECT_NAME_AND_VERSION.match(filename) + if m: + result = m.group(1), m.group(3), pyver + return result + +# Allow spaces in name because of legacy dists like "Twisted Core" +NAME_VERSION_RE = re.compile(r'(?P<name>[\w .-]+)\s*' + r'\(\s*(?P<ver>[^\s)]+)\)$') + +def parse_name_and_version(p): + """ + A utility method used to get name and version from a string. + + From e.g. a Provides-Dist value. + + :param p: A value in a form 'foo (1.0)' + :return: The name and version as a tuple. + """ + m = NAME_VERSION_RE.match(p) + if not m: + raise DistlibException('Ill-formed name/version string: \'%s\'' % p) + d = m.groupdict() + return d['name'].strip().lower(), d['ver'] + +def get_extras(requested, available): + result = set() + requested = set(requested or []) + available = set(available or []) + if '*' in requested: + requested.remove('*') + result |= available + for r in requested: + if r == '-': + result.add(r) + elif r.startswith('-'): + unwanted = r[1:] + if unwanted not in available: + logger.warning('undeclared extra: %s' % unwanted) + if unwanted in result: + result.remove(unwanted) + else: + if r not in available: + logger.warning('undeclared extra: %s' % r) + result.add(r) + return result +# +# Extended metadata functionality +# + +def _get_external_data(url): + result = {} + try: + # urlopen might fail if it runs into redirections, + # because of Python issue #13696. Fixed in locators + # using a custom redirect handler. + resp = urlopen(url) + headers = resp.info() + ct = headers.get('Content-Type') + if not ct.startswith('application/json'): + logger.debug('Unexpected response for JSON request: %s', ct) + else: + reader = codecs.getreader('utf-8')(resp) + #data = reader.read().decode('utf-8') + #result = json.loads(data) + result = json.load(reader) + except Exception as e: + logger.exception('Failed to get external data for %s: %s', url, e) + return result + +_external_data_base_url = 'https://www.red-dove.com/pypi/projects/' + +def get_project_data(name): + url = '%s/%s/project.json' % (name[0].upper(), name) + url = urljoin(_external_data_base_url, url) + result = _get_external_data(url) + return result + +def get_package_data(name, version): + url = '%s/%s/package-%s.json' % (name[0].upper(), name, version) + url = urljoin(_external_data_base_url, url) + return _get_external_data(url) + + +class Cache(object): + """ + A class implementing a cache for resources that need to live in the file system + e.g. shared libraries. This class was moved from resources to here because it + could be used by other modules, e.g. the wheel module. + """ + + def __init__(self, base): + """ + Initialise an instance. + + :param base: The base directory where the cache should be located. + """ + # we use 'isdir' instead of 'exists', because we want to + # fail if there's a file with that name + if not os.path.isdir(base): # pragma: no cover + os.makedirs(base) + if (os.stat(base).st_mode & 0o77) != 0: + logger.warning('Directory \'%s\' is not private', base) + self.base = os.path.abspath(os.path.normpath(base)) + + def prefix_to_dir(self, prefix): + """ + Converts a resource prefix to a directory name in the cache. + """ + return path_to_cache_dir(prefix) + + def clear(self): + """ + Clear the cache. + """ + not_removed = [] + for fn in os.listdir(self.base): + fn = os.path.join(self.base, fn) + try: + if os.path.islink(fn) or os.path.isfile(fn): + os.remove(fn) + elif os.path.isdir(fn): + shutil.rmtree(fn) + except Exception: + not_removed.append(fn) + return not_removed + + +class EventMixin(object): + """ + A very simple publish/subscribe system. + """ + def __init__(self): + self._subscribers = {} + + def add(self, event, subscriber, append=True): + """ + Add a subscriber for an event. + + :param event: The name of an event. + :param subscriber: The subscriber to be added (and called when the + event is published). + :param append: Whether to append or prepend the subscriber to an + existing subscriber list for the event. + """ + subs = self._subscribers + if event not in subs: + subs[event] = deque([subscriber]) + else: + sq = subs[event] + if append: + sq.append(subscriber) + else: + sq.appendleft(subscriber) + + def remove(self, event, subscriber): + """ + Remove a subscriber for an event. + + :param event: The name of an event. + :param subscriber: The subscriber to be removed. + """ + subs = self._subscribers + if event not in subs: + raise ValueError('No subscribers: %r' % event) + subs[event].remove(subscriber) + + def get_subscribers(self, event): + """ + Return an iterator for the subscribers for an event. + :param event: The event to return subscribers for. + """ + return iter(self._subscribers.get(event, ())) + + def publish(self, event, *args, **kwargs): + """ + Publish a event and return a list of values returned by its + subscribers. + + :param event: The event to publish. + :param args: The positional arguments to pass to the event's + subscribers. + :param kwargs: The keyword arguments to pass to the event's + subscribers. + """ + result = [] + for subscriber in self.get_subscribers(event): + try: + value = subscriber(event, *args, **kwargs) + except Exception: + logger.exception('Exception during event publication') + value = None + result.append(value) + logger.debug('publish %s: args = %s, kwargs = %s, result = %s', + event, args, kwargs, result) + return result + +# +# Simple sequencing +# +class Sequencer(object): + def __init__(self): + self._preds = {} + self._succs = {} + self._nodes = set() # nodes with no preds/succs + + def add_node(self, node): + self._nodes.add(node) + + def remove_node(self, node, edges=False): + if node in self._nodes: + self._nodes.remove(node) + if edges: + for p in set(self._preds.get(node, ())): + self.remove(p, node) + for s in set(self._succs.get(node, ())): + self.remove(node, s) + # Remove empties + for k, v in list(self._preds.items()): + if not v: + del self._preds[k] + for k, v in list(self._succs.items()): + if not v: + del self._succs[k] + + def add(self, pred, succ): + assert pred != succ + self._preds.setdefault(succ, set()).add(pred) + self._succs.setdefault(pred, set()).add(succ) + + def remove(self, pred, succ): + assert pred != succ + try: + preds = self._preds[succ] + succs = self._succs[pred] + except KeyError: # pragma: no cover + raise ValueError('%r not a successor of anything' % succ) + try: + preds.remove(pred) + succs.remove(succ) + except KeyError: # pragma: no cover + raise ValueError('%r not a successor of %r' % (succ, pred)) + + def is_step(self, step): + return (step in self._preds or step in self._succs or + step in self._nodes) + + def get_steps(self, final): + if not self.is_step(final): + raise ValueError('Unknown: %r' % final) + result = [] + todo = [] + seen = set() + todo.append(final) + while todo: + step = todo.pop(0) + if step in seen: + # if a step was already seen, + # move it to the end (so it will appear earlier + # when reversed on return) ... but not for the + # final step, as that would be confusing for + # users + if step != final: + result.remove(step) + result.append(step) + else: + seen.add(step) + result.append(step) + preds = self._preds.get(step, ()) + todo.extend(preds) + return reversed(result) + + @property + def strong_connections(self): + #http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm + index_counter = [0] + stack = [] + lowlinks = {} + index = {} + result = [] + + graph = self._succs + + def strongconnect(node): + # set the depth index for this node to the smallest unused index + index[node] = index_counter[0] + lowlinks[node] = index_counter[0] + index_counter[0] += 1 + stack.append(node) + + # Consider successors + try: + successors = graph[node] + except Exception: + successors = [] + for successor in successors: + if successor not in lowlinks: + # Successor has not yet been visited + strongconnect(successor) + lowlinks[node] = min(lowlinks[node],lowlinks[successor]) + elif successor in stack: + # the successor is in the stack and hence in the current + # strongly connected component (SCC) + lowlinks[node] = min(lowlinks[node],index[successor]) + + # If `node` is a root node, pop the stack and generate an SCC + if lowlinks[node] == index[node]: + connected_component = [] + + while True: + successor = stack.pop() + connected_component.append(successor) + if successor == node: break + component = tuple(connected_component) + # storing the result + result.append(component) + + for node in graph: + if node not in lowlinks: + strongconnect(node) + + return result + + @property + def dot(self): + result = ['digraph G {'] + for succ in self._preds: + preds = self._preds[succ] + for pred in preds: + result.append(' %s -> %s;' % (pred, succ)) + for node in self._nodes: + result.append(' %s;' % node) + result.append('}') + return '\n'.join(result) + +# +# Unarchiving functionality for zip, tar, tgz, tbz, whl +# + +ARCHIVE_EXTENSIONS = ('.tar.gz', '.tar.bz2', '.tar', '.zip', + '.tgz', '.tbz', '.whl') + +def unarchive(archive_filename, dest_dir, format=None, check=True): + + def check_path(path): + if not isinstance(path, text_type): + path = path.decode('utf-8') + p = os.path.abspath(os.path.join(dest_dir, path)) + if not p.startswith(dest_dir) or p[plen] != os.sep: + raise ValueError('path outside destination: %r' % p) + + dest_dir = os.path.abspath(dest_dir) + plen = len(dest_dir) + archive = None + if format is None: + if archive_filename.endswith(('.zip', '.whl')): + format = 'zip' + elif archive_filename.endswith(('.tar.gz', '.tgz')): + format = 'tgz' + mode = 'r:gz' + elif archive_filename.endswith(('.tar.bz2', '.tbz')): + format = 'tbz' + mode = 'r:bz2' + elif archive_filename.endswith('.tar'): + format = 'tar' + mode = 'r' + else: # pragma: no cover + raise ValueError('Unknown format for %r' % archive_filename) + try: + if format == 'zip': + archive = ZipFile(archive_filename, 'r') + if check: + names = archive.namelist() + for name in names: + check_path(name) + else: + archive = tarfile.open(archive_filename, mode) + if check: + names = archive.getnames() + for name in names: + check_path(name) + if format != 'zip' and sys.version_info[0] < 3: + # See Python issue 17153. If the dest path contains Unicode, + # tarfile extraction fails on Python 2.x if a member path name + # contains non-ASCII characters - it leads to an implicit + # bytes -> unicode conversion using ASCII to decode. + for tarinfo in archive.getmembers(): + if not isinstance(tarinfo.name, text_type): + tarinfo.name = tarinfo.name.decode('utf-8') + archive.extractall(dest_dir) + + finally: + if archive: + archive.close() + + +def zip_dir(directory): + """zip a directory tree into a BytesIO object""" + result = io.BytesIO() + dlen = len(directory) + with ZipFile(result, "w") as zf: + for root, dirs, files in os.walk(directory): + for name in files: + full = os.path.join(root, name) + rel = root[dlen:] + dest = os.path.join(rel, name) + zf.write(full, dest) + return result + +# +# Simple progress bar +# + +UNITS = ('', 'K', 'M', 'G','T','P') + + +class Progress(object): + unknown = 'UNKNOWN' + + def __init__(self, minval=0, maxval=100): + assert maxval is None or maxval >= minval + self.min = self.cur = minval + self.max = maxval + self.started = None + self.elapsed = 0 + self.done = False + + def update(self, curval): + assert self.min <= curval + assert self.max is None or curval <= self.max + self.cur = curval + now = time.time() + if self.started is None: + self.started = now + else: + self.elapsed = now - self.started + + def increment(self, incr): + assert incr >= 0 + self.update(self.cur + incr) + + def start(self): + self.update(self.min) + return self + + def stop(self): + if self.max is not None: + self.update(self.max) + self.done = True + + @property + def maximum(self): + return self.unknown if self.max is None else self.max + + @property + def percentage(self): + if self.done: + result = '100 %' + elif self.max is None: + result = ' ?? %' + else: + v = 100.0 * (self.cur - self.min) / (self.max - self.min) + result = '%3d %%' % v + return result + + def format_duration(self, duration): + if (duration <= 0) and self.max is None or self.cur == self.min: + result = '??:??:??' + #elif duration < 1: + # result = '--:--:--' + else: + result = time.strftime('%H:%M:%S', time.gmtime(duration)) + return result + + @property + def ETA(self): + if self.done: + prefix = 'Done' + t = self.elapsed + #import pdb; pdb.set_trace() + else: + prefix = 'ETA ' + if self.max is None: + t = -1 + elif self.elapsed == 0 or (self.cur == self.min): + t = 0 + else: + #import pdb; pdb.set_trace() + t = float(self.max - self.min) + t /= self.cur - self.min + t = (t - 1) * self.elapsed + return '%s: %s' % (prefix, self.format_duration(t)) + + @property + def speed(self): + if self.elapsed == 0: + result = 0.0 + else: + result = (self.cur - self.min) / self.elapsed + for unit in UNITS: + if result < 1000: + break + result /= 1000.0 + return '%d %sB/s' % (result, unit) + +# +# Glob functionality +# + +RICH_GLOB = re.compile(r'\{([^}]*)\}') +_CHECK_RECURSIVE_GLOB = re.compile(r'[^/\\,{]\*\*|\*\*[^/\\,}]') +_CHECK_MISMATCH_SET = re.compile(r'^[^{]*\}|\{[^}]*$') + + +def iglob(path_glob): + """Extended globbing function that supports ** and {opt1,opt2,opt3}.""" + if _CHECK_RECURSIVE_GLOB.search(path_glob): + msg = """invalid glob %r: recursive glob "**" must be used alone""" + raise ValueError(msg % path_glob) + if _CHECK_MISMATCH_SET.search(path_glob): + msg = """invalid glob %r: mismatching set marker '{' or '}'""" + raise ValueError(msg % path_glob) + return _iglob(path_glob) + + +def _iglob(path_glob): + rich_path_glob = RICH_GLOB.split(path_glob, 1) + if len(rich_path_glob) > 1: + assert len(rich_path_glob) == 3, rich_path_glob + prefix, set, suffix = rich_path_glob + for item in set.split(','): + for path in _iglob(''.join((prefix, item, suffix))): + yield path + else: + if '**' not in path_glob: + for item in std_iglob(path_glob): + yield item + else: + prefix, radical = path_glob.split('**', 1) + if prefix == '': + prefix = '.' + if radical == '': + radical = '*' + else: + # we support both + radical = radical.lstrip('/') + radical = radical.lstrip('\\') + for path, dir, files in os.walk(prefix): + path = os.path.normpath(path) + for fn in _iglob(os.path.join(path, radical)): + yield fn + +if ssl: + from .compat import (HTTPSHandler as BaseHTTPSHandler, match_hostname, + CertificateError) + + +# +# HTTPSConnection which verifies certificates/matches domains +# + + class HTTPSConnection(httplib.HTTPSConnection): + ca_certs = None # set this to the path to the certs file (.pem) + check_domain = True # only used if ca_certs is not None + + # noinspection PyPropertyAccess + def connect(self): + sock = socket.create_connection((self.host, self.port), self.timeout) + if getattr(self, '_tunnel_host', False): + self.sock = sock + self._tunnel() + + if not hasattr(ssl, 'SSLContext'): + # For 2.x + if self.ca_certs: + cert_reqs = ssl.CERT_REQUIRED + else: + cert_reqs = ssl.CERT_NONE + self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file, + cert_reqs=cert_reqs, + ssl_version=ssl.PROTOCOL_SSLv23, + ca_certs=self.ca_certs) + else: # pragma: no cover + context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) + context.options |= ssl.OP_NO_SSLv2 + if self.cert_file: + context.load_cert_chain(self.cert_file, self.key_file) + kwargs = {} + if self.ca_certs: + context.verify_mode = ssl.CERT_REQUIRED + context.load_verify_locations(cafile=self.ca_certs) + if getattr(ssl, 'HAS_SNI', False): + kwargs['server_hostname'] = self.host + self.sock = context.wrap_socket(sock, **kwargs) + if self.ca_certs and self.check_domain: + try: + match_hostname(self.sock.getpeercert(), self.host) + logger.debug('Host verified: %s', self.host) + except CertificateError: # pragma: no cover + self.sock.shutdown(socket.SHUT_RDWR) + self.sock.close() + raise + + class HTTPSHandler(BaseHTTPSHandler): + def __init__(self, ca_certs, check_domain=True): + BaseHTTPSHandler.__init__(self) + self.ca_certs = ca_certs + self.check_domain = check_domain + + def _conn_maker(self, *args, **kwargs): + """ + This is called to create a connection instance. Normally you'd + pass a connection class to do_open, but it doesn't actually check for + a class, and just expects a callable. As long as we behave just as a + constructor would have, we should be OK. If it ever changes so that + we *must* pass a class, we'll create an UnsafeHTTPSConnection class + which just sets check_domain to False in the class definition, and + choose which one to pass to do_open. + """ + result = HTTPSConnection(*args, **kwargs) + if self.ca_certs: + result.ca_certs = self.ca_certs + result.check_domain = self.check_domain + return result + + def https_open(self, req): + try: + return self.do_open(self._conn_maker, req) + except URLError as e: + if 'certificate verify failed' in str(e.reason): + raise CertificateError('Unable to verify server certificate ' + 'for %s' % req.host) + else: + raise + + # + # To prevent against mixing HTTP traffic with HTTPS (examples: A Man-In-The- + # Middle proxy using HTTP listens on port 443, or an index mistakenly serves + # HTML containing a http://xyz link when it should be https://xyz), + # you can use the following handler class, which does not allow HTTP traffic. + # + # It works by inheriting from HTTPHandler - so build_opener won't add a + # handler for HTTP itself. + # + class HTTPSOnlyHandler(HTTPSHandler, HTTPHandler): + def http_open(self, req): + raise URLError('Unexpected HTTP request on what should be a secure ' + 'connection: %s' % req) + +# +# XML-RPC with timeouts +# + +_ver_info = sys.version_info[:2] + +if _ver_info == (2, 6): + class HTTP(httplib.HTTP): + def __init__(self, host='', port=None, **kwargs): + if port == 0: # 0 means use port 0, not the default port + port = None + self._setup(self._connection_class(host, port, **kwargs)) + + + if ssl: + class HTTPS(httplib.HTTPS): + def __init__(self, host='', port=None, **kwargs): + if port == 0: # 0 means use port 0, not the default port + port = None + self._setup(self._connection_class(host, port, **kwargs)) + + +class Transport(xmlrpclib.Transport): + def __init__(self, timeout, use_datetime=0): + self.timeout = timeout + xmlrpclib.Transport.__init__(self, use_datetime) + + def make_connection(self, host): + h, eh, x509 = self.get_host_info(host) + if _ver_info == (2, 6): + result = HTTP(h, timeout=self.timeout) + else: + if not self._connection or host != self._connection[0]: + self._extra_headers = eh + self._connection = host, httplib.HTTPConnection(h) + result = self._connection[1] + return result + +if ssl: + class SafeTransport(xmlrpclib.SafeTransport): + def __init__(self, timeout, use_datetime=0): + self.timeout = timeout + xmlrpclib.SafeTransport.__init__(self, use_datetime) + + def make_connection(self, host): + h, eh, kwargs = self.get_host_info(host) + if not kwargs: + kwargs = {} + kwargs['timeout'] = self.timeout + if _ver_info == (2, 6): + result = HTTPS(host, None, **kwargs) + else: + if not self._connection or host != self._connection[0]: + self._extra_headers = eh + self._connection = host, httplib.HTTPSConnection(h, None, + **kwargs) + result = self._connection[1] + return result + + +class ServerProxy(xmlrpclib.ServerProxy): + def __init__(self, uri, **kwargs): + self.timeout = timeout = kwargs.pop('timeout', None) + # The above classes only come into play if a timeout + # is specified + if timeout is not None: + scheme, _ = splittype(uri) + use_datetime = kwargs.get('use_datetime', 0) + if scheme == 'https': + tcls = SafeTransport + else: + tcls = Transport + kwargs['transport'] = t = tcls(timeout, use_datetime=use_datetime) + self.transport = t + xmlrpclib.ServerProxy.__init__(self, uri, **kwargs) + +# +# CSV functionality. This is provided because on 2.x, the csv module can't +# handle Unicode. However, we need to deal with Unicode in e.g. RECORD files. +# + +def _csv_open(fn, mode, **kwargs): + if sys.version_info[0] < 3: + mode += 'b' + else: + kwargs['newline'] = '' + # Python 3 determines encoding from locale. Force 'utf-8' + # file encoding to match other forced utf-8 encoding + kwargs['encoding'] = 'utf-8' + return open(fn, mode, **kwargs) + + +class CSVBase(object): + defaults = { + 'delimiter': str(','), # The strs are used because we need native + 'quotechar': str('"'), # str in the csv API (2.x won't take + 'lineterminator': str('\n') # Unicode) + } + + def __enter__(self): + return self + + def __exit__(self, *exc_info): + self.stream.close() + + +class CSVReader(CSVBase): + def __init__(self, **kwargs): + if 'stream' in kwargs: + stream = kwargs['stream'] + if sys.version_info[0] >= 3: + # needs to be a text stream + stream = codecs.getreader('utf-8')(stream) + self.stream = stream + else: + self.stream = _csv_open(kwargs['path'], 'r') + self.reader = csv.reader(self.stream, **self.defaults) + + def __iter__(self): + return self + + def next(self): + result = next(self.reader) + if sys.version_info[0] < 3: + for i, item in enumerate(result): + if not isinstance(item, text_type): + result[i] = item.decode('utf-8') + return result + + __next__ = next + +class CSVWriter(CSVBase): + def __init__(self, fn, **kwargs): + self.stream = _csv_open(fn, 'w') + self.writer = csv.writer(self.stream, **self.defaults) + + def writerow(self, row): + if sys.version_info[0] < 3: + r = [] + for item in row: + if isinstance(item, text_type): + item = item.encode('utf-8') + r.append(item) + row = r + self.writer.writerow(row) + +# +# Configurator functionality +# + +class Configurator(BaseConfigurator): + + value_converters = dict(BaseConfigurator.value_converters) + value_converters['inc'] = 'inc_convert' + + def __init__(self, config, base=None): + super(Configurator, self).__init__(config) + self.base = base or os.getcwd() + + def configure_custom(self, config): + def convert(o): + if isinstance(o, (list, tuple)): + result = type(o)([convert(i) for i in o]) + elif isinstance(o, dict): + if '()' in o: + result = self.configure_custom(o) + else: + result = {} + for k in o: + result[k] = convert(o[k]) + else: + result = self.convert(o) + return result + + c = config.pop('()') + if not callable(c): + c = self.resolve(c) + props = config.pop('.', None) + # Check for valid identifiers + args = config.pop('[]', ()) + if args: + args = tuple([convert(o) for o in args]) + items = [(k, convert(config[k])) for k in config if valid_ident(k)] + kwargs = dict(items) + result = c(*args, **kwargs) + if props: + for n, v in props.items(): + setattr(result, n, convert(v)) + return result + + def __getitem__(self, key): + result = self.config[key] + if isinstance(result, dict) and '()' in result: + self.config[key] = result = self.configure_custom(result) + return result + + def inc_convert(self, value): + """Default converter for the inc:// protocol.""" + if not os.path.isabs(value): + value = os.path.join(self.base, value) + with codecs.open(value, 'r', encoding='utf-8') as f: + result = json.load(f) + return result + + +class SubprocessMixin(object): + """ + Mixin for running subprocesses and capturing their output + """ + def __init__(self, verbose=False, progress=None): + self.verbose = verbose + self.progress = progress + + def reader(self, stream, context): + """ + Read lines from a subprocess' output stream and either pass to a progress + callable (if specified) or write progress information to sys.stderr. + """ + progress = self.progress + verbose = self.verbose + while True: + s = stream.readline() + if not s: + break + if progress is not None: + progress(s, context) + else: + if not verbose: + sys.stderr.write('.') + else: + sys.stderr.write(s.decode('utf-8')) + sys.stderr.flush() + stream.close() + + def run_command(self, cmd, **kwargs): + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, **kwargs) + t1 = threading.Thread(target=self.reader, args=(p.stdout, 'stdout')) + t1.start() + t2 = threading.Thread(target=self.reader, args=(p.stderr, 'stderr')) + t2.start() + p.wait() + t1.join() + t2.join() + if self.progress is not None: + self.progress('done.', 'main') + elif self.verbose: + sys.stderr.write('done.\n') + return p + + +def normalize_name(name): + """Normalize a python package name a la PEP 503""" + # https://www.python.org/dev/peps/pep-0503/#normalized-names + return re.sub('[-_.]+', '-', name).lower() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/version.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/version.py new file mode 100644 index 0000000..3eebe18 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/version.py @@ -0,0 +1,736 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2017 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +""" +Implementation of a flexible versioning scheme providing support for PEP-440, +setuptools-compatible and semantic versioning. +""" + +import logging +import re + +from .compat import string_types +from .util import parse_requirement + +__all__ = ['NormalizedVersion', 'NormalizedMatcher', + 'LegacyVersion', 'LegacyMatcher', + 'SemanticVersion', 'SemanticMatcher', + 'UnsupportedVersionError', 'get_scheme'] + +logger = logging.getLogger(__name__) + + +class UnsupportedVersionError(ValueError): + """This is an unsupported version.""" + pass + + +class Version(object): + def __init__(self, s): + self._string = s = s.strip() + self._parts = parts = self.parse(s) + assert isinstance(parts, tuple) + assert len(parts) > 0 + + def parse(self, s): + raise NotImplementedError('please implement in a subclass') + + def _check_compatible(self, other): + if type(self) != type(other): + raise TypeError('cannot compare %r and %r' % (self, other)) + + def __eq__(self, other): + self._check_compatible(other) + return self._parts == other._parts + + def __ne__(self, other): + return not self.__eq__(other) + + def __lt__(self, other): + self._check_compatible(other) + return self._parts < other._parts + + def __gt__(self, other): + return not (self.__lt__(other) or self.__eq__(other)) + + def __le__(self, other): + return self.__lt__(other) or self.__eq__(other) + + def __ge__(self, other): + return self.__gt__(other) or self.__eq__(other) + + # See http://docs.python.org/reference/datamodel#object.__hash__ + def __hash__(self): + return hash(self._parts) + + def __repr__(self): + return "%s('%s')" % (self.__class__.__name__, self._string) + + def __str__(self): + return self._string + + @property + def is_prerelease(self): + raise NotImplementedError('Please implement in subclasses.') + + +class Matcher(object): + version_class = None + + # value is either a callable or the name of a method + _operators = { + '<': lambda v, c, p: v < c, + '>': lambda v, c, p: v > c, + '<=': lambda v, c, p: v == c or v < c, + '>=': lambda v, c, p: v == c or v > c, + '==': lambda v, c, p: v == c, + '===': lambda v, c, p: v == c, + # by default, compatible => >=. + '~=': lambda v, c, p: v == c or v > c, + '!=': lambda v, c, p: v != c, + } + + # this is a method only to support alternative implementations + # via overriding + def parse_requirement(self, s): + return parse_requirement(s) + + def __init__(self, s): + if self.version_class is None: + raise ValueError('Please specify a version class') + self._string = s = s.strip() + r = self.parse_requirement(s) + if not r: + raise ValueError('Not valid: %r' % s) + self.name = r.name + self.key = self.name.lower() # for case-insensitive comparisons + clist = [] + if r.constraints: + # import pdb; pdb.set_trace() + for op, s in r.constraints: + if s.endswith('.*'): + if op not in ('==', '!='): + raise ValueError('\'.*\' not allowed for ' + '%r constraints' % op) + # Could be a partial version (e.g. for '2.*') which + # won't parse as a version, so keep it as a string + vn, prefix = s[:-2], True + # Just to check that vn is a valid version + self.version_class(vn) + else: + # Should parse as a version, so we can create an + # instance for the comparison + vn, prefix = self.version_class(s), False + clist.append((op, vn, prefix)) + self._parts = tuple(clist) + + def match(self, version): + """ + Check if the provided version matches the constraints. + + :param version: The version to match against this instance. + :type version: String or :class:`Version` instance. + """ + if isinstance(version, string_types): + version = self.version_class(version) + for operator, constraint, prefix in self._parts: + f = self._operators.get(operator) + if isinstance(f, string_types): + f = getattr(self, f) + if not f: + msg = ('%r not implemented ' + 'for %s' % (operator, self.__class__.__name__)) + raise NotImplementedError(msg) + if not f(version, constraint, prefix): + return False + return True + + @property + def exact_version(self): + result = None + if len(self._parts) == 1 and self._parts[0][0] in ('==', '==='): + result = self._parts[0][1] + return result + + def _check_compatible(self, other): + if type(self) != type(other) or self.name != other.name: + raise TypeError('cannot compare %s and %s' % (self, other)) + + def __eq__(self, other): + self._check_compatible(other) + return self.key == other.key and self._parts == other._parts + + def __ne__(self, other): + return not self.__eq__(other) + + # See http://docs.python.org/reference/datamodel#object.__hash__ + def __hash__(self): + return hash(self.key) + hash(self._parts) + + def __repr__(self): + return "%s(%r)" % (self.__class__.__name__, self._string) + + def __str__(self): + return self._string + + +PEP440_VERSION_RE = re.compile(r'^v?(\d+!)?(\d+(\.\d+)*)((a|b|c|rc)(\d+))?' + r'(\.(post)(\d+))?(\.(dev)(\d+))?' + r'(\+([a-zA-Z\d]+(\.[a-zA-Z\d]+)?))?$') + + +def _pep_440_key(s): + s = s.strip() + m = PEP440_VERSION_RE.match(s) + if not m: + raise UnsupportedVersionError('Not a valid version: %s' % s) + groups = m.groups() + nums = tuple(int(v) for v in groups[1].split('.')) + while len(nums) > 1 and nums[-1] == 0: + nums = nums[:-1] + + if not groups[0]: + epoch = 0 + else: + epoch = int(groups[0]) + pre = groups[4:6] + post = groups[7:9] + dev = groups[10:12] + local = groups[13] + if pre == (None, None): + pre = () + else: + pre = pre[0], int(pre[1]) + if post == (None, None): + post = () + else: + post = post[0], int(post[1]) + if dev == (None, None): + dev = () + else: + dev = dev[0], int(dev[1]) + if local is None: + local = () + else: + parts = [] + for part in local.split('.'): + # to ensure that numeric compares as > lexicographic, avoid + # comparing them directly, but encode a tuple which ensures + # correct sorting + if part.isdigit(): + part = (1, int(part)) + else: + part = (0, part) + parts.append(part) + local = tuple(parts) + if not pre: + # either before pre-release, or final release and after + if not post and dev: + # before pre-release + pre = ('a', -1) # to sort before a0 + else: + pre = ('z',) # to sort after all pre-releases + # now look at the state of post and dev. + if not post: + post = ('_',) # sort before 'a' + if not dev: + dev = ('final',) + + #print('%s -> %s' % (s, m.groups())) + return epoch, nums, pre, post, dev, local + + +_normalized_key = _pep_440_key + + +class NormalizedVersion(Version): + """A rational version. + + Good: + 1.2 # equivalent to "1.2.0" + 1.2.0 + 1.2a1 + 1.2.3a2 + 1.2.3b1 + 1.2.3c1 + 1.2.3.4 + TODO: fill this out + + Bad: + 1 # minimum two numbers + 1.2a # release level must have a release serial + 1.2.3b + """ + def parse(self, s): + result = _normalized_key(s) + # _normalized_key loses trailing zeroes in the release + # clause, since that's needed to ensure that X.Y == X.Y.0 == X.Y.0.0 + # However, PEP 440 prefix matching needs it: for example, + # (~= 1.4.5.0) matches differently to (~= 1.4.5.0.0). + m = PEP440_VERSION_RE.match(s) # must succeed + groups = m.groups() + self._release_clause = tuple(int(v) for v in groups[1].split('.')) + return result + + PREREL_TAGS = set(['a', 'b', 'c', 'rc', 'dev']) + + @property + def is_prerelease(self): + return any(t[0] in self.PREREL_TAGS for t in self._parts if t) + + +def _match_prefix(x, y): + x = str(x) + y = str(y) + if x == y: + return True + if not x.startswith(y): + return False + n = len(y) + return x[n] == '.' + + +class NormalizedMatcher(Matcher): + version_class = NormalizedVersion + + # value is either a callable or the name of a method + _operators = { + '~=': '_match_compatible', + '<': '_match_lt', + '>': '_match_gt', + '<=': '_match_le', + '>=': '_match_ge', + '==': '_match_eq', + '===': '_match_arbitrary', + '!=': '_match_ne', + } + + def _adjust_local(self, version, constraint, prefix): + if prefix: + strip_local = '+' not in constraint and version._parts[-1] + else: + # both constraint and version are + # NormalizedVersion instances. + # If constraint does not have a local component, + # ensure the version doesn't, either. + strip_local = not constraint._parts[-1] and version._parts[-1] + if strip_local: + s = version._string.split('+', 1)[0] + version = self.version_class(s) + return version, constraint + + def _match_lt(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + if version >= constraint: + return False + release_clause = constraint._release_clause + pfx = '.'.join([str(i) for i in release_clause]) + return not _match_prefix(version, pfx) + + def _match_gt(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + if version <= constraint: + return False + release_clause = constraint._release_clause + pfx = '.'.join([str(i) for i in release_clause]) + return not _match_prefix(version, pfx) + + def _match_le(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + return version <= constraint + + def _match_ge(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + return version >= constraint + + def _match_eq(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + if not prefix: + result = (version == constraint) + else: + result = _match_prefix(version, constraint) + return result + + def _match_arbitrary(self, version, constraint, prefix): + return str(version) == str(constraint) + + def _match_ne(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + if not prefix: + result = (version != constraint) + else: + result = not _match_prefix(version, constraint) + return result + + def _match_compatible(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + if version == constraint: + return True + if version < constraint: + return False +# if not prefix: +# return True + release_clause = constraint._release_clause + if len(release_clause) > 1: + release_clause = release_clause[:-1] + pfx = '.'.join([str(i) for i in release_clause]) + return _match_prefix(version, pfx) + +_REPLACEMENTS = ( + (re.compile('[.+-]$'), ''), # remove trailing puncts + (re.compile(r'^[.](\d)'), r'0.\1'), # .N -> 0.N at start + (re.compile('^[.-]'), ''), # remove leading puncts + (re.compile(r'^\((.*)\)$'), r'\1'), # remove parentheses + (re.compile(r'^v(ersion)?\s*(\d+)'), r'\2'), # remove leading v(ersion) + (re.compile(r'^r(ev)?\s*(\d+)'), r'\2'), # remove leading v(ersion) + (re.compile('[.]{2,}'), '.'), # multiple runs of '.' + (re.compile(r'\b(alfa|apha)\b'), 'alpha'), # misspelt alpha + (re.compile(r'\b(pre-alpha|prealpha)\b'), + 'pre.alpha'), # standardise + (re.compile(r'\(beta\)$'), 'beta'), # remove parentheses +) + +_SUFFIX_REPLACEMENTS = ( + (re.compile('^[:~._+-]+'), ''), # remove leading puncts + (re.compile('[,*")([\\]]'), ''), # remove unwanted chars + (re.compile('[~:+_ -]'), '.'), # replace illegal chars + (re.compile('[.]{2,}'), '.'), # multiple runs of '.' + (re.compile(r'\.$'), ''), # trailing '.' +) + +_NUMERIC_PREFIX = re.compile(r'(\d+(\.\d+)*)') + + +def _suggest_semantic_version(s): + """ + Try to suggest a semantic form for a version for which + _suggest_normalized_version couldn't come up with anything. + """ + result = s.strip().lower() + for pat, repl in _REPLACEMENTS: + result = pat.sub(repl, result) + if not result: + result = '0.0.0' + + # Now look for numeric prefix, and separate it out from + # the rest. + #import pdb; pdb.set_trace() + m = _NUMERIC_PREFIX.match(result) + if not m: + prefix = '0.0.0' + suffix = result + else: + prefix = m.groups()[0].split('.') + prefix = [int(i) for i in prefix] + while len(prefix) < 3: + prefix.append(0) + if len(prefix) == 3: + suffix = result[m.end():] + else: + suffix = '.'.join([str(i) for i in prefix[3:]]) + result[m.end():] + prefix = prefix[:3] + prefix = '.'.join([str(i) for i in prefix]) + suffix = suffix.strip() + if suffix: + #import pdb; pdb.set_trace() + # massage the suffix. + for pat, repl in _SUFFIX_REPLACEMENTS: + suffix = pat.sub(repl, suffix) + + if not suffix: + result = prefix + else: + sep = '-' if 'dev' in suffix else '+' + result = prefix + sep + suffix + if not is_semver(result): + result = None + return result + + +def _suggest_normalized_version(s): + """Suggest a normalized version close to the given version string. + + If you have a version string that isn't rational (i.e. NormalizedVersion + doesn't like it) then you might be able to get an equivalent (or close) + rational version from this function. + + This does a number of simple normalizations to the given string, based + on observation of versions currently in use on PyPI. Given a dump of + those version during PyCon 2009, 4287 of them: + - 2312 (53.93%) match NormalizedVersion without change + with the automatic suggestion + - 3474 (81.04%) match when using this suggestion method + + @param s {str} An irrational version string. + @returns A rational version string, or None, if couldn't determine one. + """ + try: + _normalized_key(s) + return s # already rational + except UnsupportedVersionError: + pass + + rs = s.lower() + + # part of this could use maketrans + for orig, repl in (('-alpha', 'a'), ('-beta', 'b'), ('alpha', 'a'), + ('beta', 'b'), ('rc', 'c'), ('-final', ''), + ('-pre', 'c'), + ('-release', ''), ('.release', ''), ('-stable', ''), + ('+', '.'), ('_', '.'), (' ', ''), ('.final', ''), + ('final', '')): + rs = rs.replace(orig, repl) + + # if something ends with dev or pre, we add a 0 + rs = re.sub(r"pre$", r"pre0", rs) + rs = re.sub(r"dev$", r"dev0", rs) + + # if we have something like "b-2" or "a.2" at the end of the + # version, that is probably beta, alpha, etc + # let's remove the dash or dot + rs = re.sub(r"([abc]|rc)[\-\.](\d+)$", r"\1\2", rs) + + # 1.0-dev-r371 -> 1.0.dev371 + # 0.1-dev-r79 -> 0.1.dev79 + rs = re.sub(r"[\-\.](dev)[\-\.]?r?(\d+)$", r".\1\2", rs) + + # Clean: 2.0.a.3, 2.0.b1, 0.9.0~c1 + rs = re.sub(r"[.~]?([abc])\.?", r"\1", rs) + + # Clean: v0.3, v1.0 + if rs.startswith('v'): + rs = rs[1:] + + # Clean leading '0's on numbers. + #TODO: unintended side-effect on, e.g., "2003.05.09" + # PyPI stats: 77 (~2%) better + rs = re.sub(r"\b0+(\d+)(?!\d)", r"\1", rs) + + # Clean a/b/c with no version. E.g. "1.0a" -> "1.0a0". Setuptools infers + # zero. + # PyPI stats: 245 (7.56%) better + rs = re.sub(r"(\d+[abc])$", r"\g<1>0", rs) + + # the 'dev-rNNN' tag is a dev tag + rs = re.sub(r"\.?(dev-r|dev\.r)\.?(\d+)$", r".dev\2", rs) + + # clean the - when used as a pre delimiter + rs = re.sub(r"-(a|b|c)(\d+)$", r"\1\2", rs) + + # a terminal "dev" or "devel" can be changed into ".dev0" + rs = re.sub(r"[\.\-](dev|devel)$", r".dev0", rs) + + # a terminal "dev" can be changed into ".dev0" + rs = re.sub(r"(?![\.\-])dev$", r".dev0", rs) + + # a terminal "final" or "stable" can be removed + rs = re.sub(r"(final|stable)$", "", rs) + + # The 'r' and the '-' tags are post release tags + # 0.4a1.r10 -> 0.4a1.post10 + # 0.9.33-17222 -> 0.9.33.post17222 + # 0.9.33-r17222 -> 0.9.33.post17222 + rs = re.sub(r"\.?(r|-|-r)\.?(\d+)$", r".post\2", rs) + + # Clean 'r' instead of 'dev' usage: + # 0.9.33+r17222 -> 0.9.33.dev17222 + # 1.0dev123 -> 1.0.dev123 + # 1.0.git123 -> 1.0.dev123 + # 1.0.bzr123 -> 1.0.dev123 + # 0.1a0dev.123 -> 0.1a0.dev123 + # PyPI stats: ~150 (~4%) better + rs = re.sub(r"\.?(dev|git|bzr)\.?(\d+)$", r".dev\2", rs) + + # Clean '.pre' (normalized from '-pre' above) instead of 'c' usage: + # 0.2.pre1 -> 0.2c1 + # 0.2-c1 -> 0.2c1 + # 1.0preview123 -> 1.0c123 + # PyPI stats: ~21 (0.62%) better + rs = re.sub(r"\.?(pre|preview|-c)(\d+)$", r"c\g<2>", rs) + + # Tcl/Tk uses "px" for their post release markers + rs = re.sub(r"p(\d+)$", r".post\1", rs) + + try: + _normalized_key(rs) + except UnsupportedVersionError: + rs = None + return rs + +# +# Legacy version processing (distribute-compatible) +# + +_VERSION_PART = re.compile(r'([a-z]+|\d+|[\.-])', re.I) +_VERSION_REPLACE = { + 'pre': 'c', + 'preview': 'c', + '-': 'final-', + 'rc': 'c', + 'dev': '@', + '': None, + '.': None, +} + + +def _legacy_key(s): + def get_parts(s): + result = [] + for p in _VERSION_PART.split(s.lower()): + p = _VERSION_REPLACE.get(p, p) + if p: + if '0' <= p[:1] <= '9': + p = p.zfill(8) + else: + p = '*' + p + result.append(p) + result.append('*final') + return result + + result = [] + for p in get_parts(s): + if p.startswith('*'): + if p < '*final': + while result and result[-1] == '*final-': + result.pop() + while result and result[-1] == '00000000': + result.pop() + result.append(p) + return tuple(result) + + +class LegacyVersion(Version): + def parse(self, s): + return _legacy_key(s) + + @property + def is_prerelease(self): + result = False + for x in self._parts: + if (isinstance(x, string_types) and x.startswith('*') and + x < '*final'): + result = True + break + return result + + +class LegacyMatcher(Matcher): + version_class = LegacyVersion + + _operators = dict(Matcher._operators) + _operators['~='] = '_match_compatible' + + numeric_re = re.compile(r'^(\d+(\.\d+)*)') + + def _match_compatible(self, version, constraint, prefix): + if version < constraint: + return False + m = self.numeric_re.match(str(constraint)) + if not m: + logger.warning('Cannot compute compatible match for version %s ' + ' and constraint %s', version, constraint) + return True + s = m.groups()[0] + if '.' in s: + s = s.rsplit('.', 1)[0] + return _match_prefix(version, s) + +# +# Semantic versioning +# + +_SEMVER_RE = re.compile(r'^(\d+)\.(\d+)\.(\d+)' + r'(-[a-z0-9]+(\.[a-z0-9-]+)*)?' + r'(\+[a-z0-9]+(\.[a-z0-9-]+)*)?$', re.I) + + +def is_semver(s): + return _SEMVER_RE.match(s) + + +def _semantic_key(s): + def make_tuple(s, absent): + if s is None: + result = (absent,) + else: + parts = s[1:].split('.') + # We can't compare ints and strings on Python 3, so fudge it + # by zero-filling numeric values so simulate a numeric comparison + result = tuple([p.zfill(8) if p.isdigit() else p for p in parts]) + return result + + m = is_semver(s) + if not m: + raise UnsupportedVersionError(s) + groups = m.groups() + major, minor, patch = [int(i) for i in groups[:3]] + # choose the '|' and '*' so that versions sort correctly + pre, build = make_tuple(groups[3], '|'), make_tuple(groups[5], '*') + return (major, minor, patch), pre, build + + +class SemanticVersion(Version): + def parse(self, s): + return _semantic_key(s) + + @property + def is_prerelease(self): + return self._parts[1][0] != '|' + + +class SemanticMatcher(Matcher): + version_class = SemanticVersion + + +class VersionScheme(object): + def __init__(self, key, matcher, suggester=None): + self.key = key + self.matcher = matcher + self.suggester = suggester + + def is_valid_version(self, s): + try: + self.matcher.version_class(s) + result = True + except UnsupportedVersionError: + result = False + return result + + def is_valid_matcher(self, s): + try: + self.matcher(s) + result = True + except UnsupportedVersionError: + result = False + return result + + def is_valid_constraint_list(self, s): + """ + Used for processing some metadata fields + """ + return self.is_valid_matcher('dummy_name (%s)' % s) + + def suggest(self, s): + if self.suggester is None: + result = None + else: + result = self.suggester(s) + return result + +_SCHEMES = { + 'normalized': VersionScheme(_normalized_key, NormalizedMatcher, + _suggest_normalized_version), + 'legacy': VersionScheme(_legacy_key, LegacyMatcher, lambda self, s: s), + 'semantic': VersionScheme(_semantic_key, SemanticMatcher, + _suggest_semantic_version), +} + +_SCHEMES['default'] = _SCHEMES['normalized'] + + +def get_scheme(name): + if name not in _SCHEMES: + raise ValueError('unknown scheme name: %r' % name) + return _SCHEMES[name] diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/w32.exe b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/w32.exe new file mode 100644 index 0000000000000000000000000000000000000000..732215a9d34ccb7b417d637a7646d9b843ecafa8 GIT binary patch literal 89088 zcmeFae|S?>wm*FGqitH!CO`{C3REl(SahnPNDYM`O{q#T7)Xdvz$<hz5gjb&0FD$| zPs=nt#$jgk-tk`NUb*PJIy$3wMg@OiORy=5PEkZ0P^;6cyPm2=Y8#~Xyq~pC(iU~@ z_dd`2ywCg3TS)e=wSTX@_S$Q$y;FJf9>F9Cf*Bu86NCeB>CeT#|L3nblC!40kR?2m z{>H@z3`^g*ct!B1Tk<#8{Ol(+x7?n8>n(TO@iQ_1pEl;#NO$D_^p5<p8@>6r|7^p? zD>5@P3KB)%InlPUc<U{5lb_$uJ2!U@!dIxT&CTYnHuoCtzCL#`-1%8w%`JjkymkHD zpYr&>Cg9H}+(GW%^wV2|ROUbGfyXTfOART)i?<!WISJD#7!6|#8G`TvV*Xu^z32+K zc6>T0?9%;4K}Zn{6fx`yPa}*$9C+R!7zI~72c&$InY+UdMGBkF3c`HyxD3K09`bzW z?_q;rO&5ec#{?noJ4vI19bbHBt~vx^h2FH$V8i|^#EsiUg#JboP3@w-(&Uf&%NK<8 zSJZ5{MZ852W)~s>WeT(LIf&1wKNqULLI)GN_(-E-D)X~ZK=1;t<%*guHMhdg`-(mb zHzDv1KBN9zR9?--O+N$ReOXAr81V9z!X5SJ5`=3<1^<8V|AP@&sr2}Qvp;hQT24iW zOHg|EiZd1ojV;oo#(r^ba2`^8T22{~_UQ@YMZp7O1R*2@?SerFE~TuJB_wDaYC0h8 zfONF1t%{=H`W`bdYp+>YBsg9Ty9ec3iy+O3xa}TIvPK#Q&udyx1MvwG0(#iaGC|N| zJ#3?<Y4YLRkU`54s9BYRjyISA>){9$tW;Y34lPnX=&>D4X~|k7c$TwEfOzs@Yh#Nz z`FV;`(w!E`sKg@`2E}bDY>ku^4XS@tV(WO*<eu67;0Clk;vRHp!Qf<+5w0B!*Y>g? zYH=KK#%%Yu1~&m>IlB^#2^syGG|2AB1(}4aOcaC%!)}%`I7AIC2(Ro3yW`GSttng^ z_xb=ECor!L{-PNO>_ulJ3%fm=O0X!s%)$GZ?~I94l-^KEAX0n$?4wGpr7&i4#~)OB zQD%2NrWUKtZuYT1Vnu}AeF`cSgx>Rkk@}Lg{WltgT76VeA2aic`cTnpXrt2WXmJkM z9%u<Rp-*9{$HQ)>Xm?McyDyZ28Ux7mpxy?mnmvzMMr-85vkRrJLaDRx>|I7je+cM+ zj{RJ(3Vrgke;W@#D!y%U%fQLtlPKTAzWtVuOQdXpwsy6eRjt^cZ%0D4bF7$F;f!th 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/w64.exe b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/w64.exe new file mode 100644 index 0000000000000000000000000000000000000000..c41bd0a011fd760ce20ba795d9e535e0d2c39876 GIT binary patch literal 99328 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 B=L-M; literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/wheel.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/wheel.py new file mode 100644 index 0000000..b04bfae --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distlib/wheel.py @@ -0,0 +1,988 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013-2017 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +from __future__ import unicode_literals + +import base64 +import codecs +import datetime +import distutils.util +from email import message_from_file +import hashlib +import imp +import json +import logging +import os +import posixpath +import re +import shutil +import sys +import tempfile +import zipfile + +from . import __version__, DistlibException +from .compat import sysconfig, ZipFile, fsdecode, text_type, filter +from .database import InstalledDistribution +from .metadata import Metadata, METADATA_FILENAME, WHEEL_METADATA_FILENAME +from .util import (FileOperator, convert_path, CSVReader, CSVWriter, Cache, + cached_property, get_cache_base, read_exports, tempdir) +from .version import NormalizedVersion, UnsupportedVersionError + +logger = logging.getLogger(__name__) + +cache = None # created when needed + +if hasattr(sys, 'pypy_version_info'): # pragma: no cover + IMP_PREFIX = 'pp' +elif sys.platform.startswith('java'): # pragma: no cover + IMP_PREFIX = 'jy' +elif sys.platform == 'cli': # pragma: no cover + IMP_PREFIX = 'ip' +else: + IMP_PREFIX = 'cp' + +VER_SUFFIX = sysconfig.get_config_var('py_version_nodot') +if not VER_SUFFIX: # pragma: no cover + VER_SUFFIX = '%s%s' % sys.version_info[:2] +PYVER = 'py' + VER_SUFFIX +IMPVER = IMP_PREFIX + VER_SUFFIX + +ARCH = distutils.util.get_platform().replace('-', '_').replace('.', '_') + +ABI = sysconfig.get_config_var('SOABI') +if ABI and ABI.startswith('cpython-'): + ABI = ABI.replace('cpython-', 'cp') +else: + def _derive_abi(): + parts = ['cp', VER_SUFFIX] + if sysconfig.get_config_var('Py_DEBUG'): + parts.append('d') + if sysconfig.get_config_var('WITH_PYMALLOC'): + parts.append('m') + if sysconfig.get_config_var('Py_UNICODE_SIZE') == 4: + parts.append('u') + return ''.join(parts) + ABI = _derive_abi() + del _derive_abi + +FILENAME_RE = re.compile(r''' +(?P<nm>[^-]+) +-(?P<vn>\d+[^-]*) +(-(?P<bn>\d+[^-]*))? +-(?P<py>\w+\d+(\.\w+\d+)*) +-(?P<bi>\w+) +-(?P<ar>\w+(\.\w+)*) +\.whl$ +''', re.IGNORECASE | re.VERBOSE) + +NAME_VERSION_RE = re.compile(r''' +(?P<nm>[^-]+) +-(?P<vn>\d+[^-]*) +(-(?P<bn>\d+[^-]*))?$ +''', re.IGNORECASE | re.VERBOSE) + +SHEBANG_RE = re.compile(br'\s*#![^\r\n]*') +SHEBANG_DETAIL_RE = re.compile(br'^(\s*#!("[^"]+"|\S+))\s+(.*)$') +SHEBANG_PYTHON = b'#!python' +SHEBANG_PYTHONW = b'#!pythonw' + +if os.sep == '/': + to_posix = lambda o: o +else: + to_posix = lambda o: o.replace(os.sep, '/') + + +class Mounter(object): + def __init__(self): + self.impure_wheels = {} + self.libs = {} + + def add(self, pathname, extensions): + self.impure_wheels[pathname] = extensions + self.libs.update(extensions) + + def remove(self, pathname): + extensions = self.impure_wheels.pop(pathname) + for k, v in extensions: + if k in self.libs: + del self.libs[k] + + def find_module(self, fullname, path=None): + if fullname in self.libs: + result = self + else: + result = None + return result + + def load_module(self, fullname): + if fullname in sys.modules: + result = sys.modules[fullname] + else: + if fullname not in self.libs: + raise ImportError('unable to find extension for %s' % fullname) + result = imp.load_dynamic(fullname, self.libs[fullname]) + result.__loader__ = self + parts = fullname.rsplit('.', 1) + if len(parts) > 1: + result.__package__ = parts[0] + return result + +_hook = Mounter() + + +class Wheel(object): + """ + Class to build and install from Wheel files (PEP 427). + """ + + wheel_version = (1, 1) + hash_kind = 'sha256' + + def __init__(self, filename=None, sign=False, verify=False): + """ + Initialise an instance using a (valid) filename. + """ + self.sign = sign + self.should_verify = verify + self.buildver = '' + self.pyver = [PYVER] + self.abi = ['none'] + self.arch = ['any'] + self.dirname = os.getcwd() + if filename is None: + self.name = 'dummy' + self.version = '0.1' + self._filename = self.filename + else: + m = NAME_VERSION_RE.match(filename) + if m: + info = m.groupdict('') + self.name = info['nm'] + # Reinstate the local version separator + self.version = info['vn'].replace('_', '-') + self.buildver = info['bn'] + self._filename = self.filename + else: + dirname, filename = os.path.split(filename) + m = FILENAME_RE.match(filename) + if not m: + raise DistlibException('Invalid name or ' + 'filename: %r' % filename) + if dirname: + self.dirname = os.path.abspath(dirname) + self._filename = filename + info = m.groupdict('') + self.name = info['nm'] + self.version = info['vn'] + self.buildver = info['bn'] + self.pyver = info['py'].split('.') + self.abi = info['bi'].split('.') + self.arch = info['ar'].split('.') + + @property + def filename(self): + """ + Build and return a filename from the various components. + """ + if self.buildver: + buildver = '-' + self.buildver + else: + buildver = '' + pyver = '.'.join(self.pyver) + abi = '.'.join(self.abi) + arch = '.'.join(self.arch) + # replace - with _ as a local version separator + version = self.version.replace('-', '_') + return '%s-%s%s-%s-%s-%s.whl' % (self.name, version, buildver, + pyver, abi, arch) + + @property + def exists(self): + path = os.path.join(self.dirname, self.filename) + return os.path.isfile(path) + + @property + def tags(self): + for pyver in self.pyver: + for abi in self.abi: + for arch in self.arch: + yield pyver, abi, arch + + @cached_property + def metadata(self): + pathname = os.path.join(self.dirname, self.filename) + name_ver = '%s-%s' % (self.name, self.version) + info_dir = '%s.dist-info' % name_ver + wrapper = codecs.getreader('utf-8') + with ZipFile(pathname, 'r') as zf: + wheel_metadata = self.get_wheel_metadata(zf) + wv = wheel_metadata['Wheel-Version'].split('.', 1) + file_version = tuple([int(i) for i in wv]) + if file_version < (1, 1): + fns = [WHEEL_METADATA_FILENAME, METADATA_FILENAME, 'METADATA'] + else: + fns = [WHEEL_METADATA_FILENAME, METADATA_FILENAME] + result = None + for fn in fns: + try: + metadata_filename = posixpath.join(info_dir, fn) + with zf.open(metadata_filename) as bf: + wf = wrapper(bf) + result = Metadata(fileobj=wf) + if result: + break + except KeyError: + pass + if not result: + raise ValueError('Invalid wheel, because metadata is ' + 'missing: looked in %s' % ', '.join(fns)) + return result + + def get_wheel_metadata(self, zf): + name_ver = '%s-%s' % (self.name, self.version) + info_dir = '%s.dist-info' % name_ver + metadata_filename = posixpath.join(info_dir, 'WHEEL') + with zf.open(metadata_filename) as bf: + wf = codecs.getreader('utf-8')(bf) + message = message_from_file(wf) + return dict(message) + + @cached_property + def info(self): + pathname = os.path.join(self.dirname, self.filename) + with ZipFile(pathname, 'r') as zf: + result = self.get_wheel_metadata(zf) + return result + + def process_shebang(self, data): + m = SHEBANG_RE.match(data) + if m: + end = m.end() + shebang, data_after_shebang = data[:end], data[end:] + # Preserve any arguments after the interpreter + if b'pythonw' in shebang.lower(): + shebang_python = SHEBANG_PYTHONW + else: + shebang_python = SHEBANG_PYTHON + m = SHEBANG_DETAIL_RE.match(shebang) + if m: + args = b' ' + m.groups()[-1] + else: + args = b'' + shebang = shebang_python + args + data = shebang + data_after_shebang + else: + cr = data.find(b'\r') + lf = data.find(b'\n') + if cr < 0 or cr > lf: + term = b'\n' + else: + if data[cr:cr + 2] == b'\r\n': + term = b'\r\n' + else: + term = b'\r' + data = SHEBANG_PYTHON + term + data + return data + + def get_hash(self, data, hash_kind=None): + if hash_kind is None: + hash_kind = self.hash_kind + try: + hasher = getattr(hashlib, hash_kind) + except AttributeError: + raise DistlibException('Unsupported hash algorithm: %r' % hash_kind) + result = hasher(data).digest() + result = base64.urlsafe_b64encode(result).rstrip(b'=').decode('ascii') + return hash_kind, result + + def write_record(self, records, record_path, base): + records = list(records) # make a copy for sorting + p = to_posix(os.path.relpath(record_path, base)) + records.append((p, '', '')) + records.sort() + with CSVWriter(record_path) as writer: + for row in records: + writer.writerow(row) + + def write_records(self, info, libdir, archive_paths): + records = [] + distinfo, info_dir = info + hasher = getattr(hashlib, self.hash_kind) + for ap, p in archive_paths: + with open(p, 'rb') as f: + data = f.read() + digest = '%s=%s' % self.get_hash(data) + size = os.path.getsize(p) + records.append((ap, digest, size)) + + p = os.path.join(distinfo, 'RECORD') + self.write_record(records, p, libdir) + ap = to_posix(os.path.join(info_dir, 'RECORD')) + archive_paths.append((ap, p)) + + def build_zip(self, pathname, archive_paths): + with ZipFile(pathname, 'w', zipfile.ZIP_DEFLATED) as zf: + for ap, p in archive_paths: + logger.debug('Wrote %s to %s in wheel', p, ap) + zf.write(p, ap) + + def build(self, paths, tags=None, wheel_version=None): + """ + Build a wheel from files in specified paths, and use any specified tags + when determining the name of the wheel. + """ + if tags is None: + tags = {} + + libkey = list(filter(lambda o: o in paths, ('purelib', 'platlib')))[0] + if libkey == 'platlib': + is_pure = 'false' + default_pyver = [IMPVER] + default_abi = [ABI] + default_arch = [ARCH] + else: + is_pure = 'true' + default_pyver = [PYVER] + default_abi = ['none'] + default_arch = ['any'] + + self.pyver = tags.get('pyver', default_pyver) + self.abi = tags.get('abi', default_abi) + self.arch = tags.get('arch', default_arch) + + libdir = paths[libkey] + + name_ver = '%s-%s' % (self.name, self.version) + data_dir = '%s.data' % name_ver + info_dir = '%s.dist-info' % name_ver + + archive_paths = [] + + # First, stuff which is not in site-packages + for key in ('data', 'headers', 'scripts'): + if key not in paths: + continue + path = paths[key] + if os.path.isdir(path): + for root, dirs, files in os.walk(path): + for fn in files: + p = fsdecode(os.path.join(root, fn)) + rp = os.path.relpath(p, path) + ap = to_posix(os.path.join(data_dir, key, rp)) + archive_paths.append((ap, p)) + if key == 'scripts' and not p.endswith('.exe'): + with open(p, 'rb') as f: + data = f.read() + data = self.process_shebang(data) + with open(p, 'wb') as f: + f.write(data) + + # Now, stuff which is in site-packages, other than the + # distinfo stuff. + path = libdir + distinfo = None + for root, dirs, files in os.walk(path): + if root == path: + # At the top level only, save distinfo for later + # and skip it for now + for i, dn in enumerate(dirs): + dn = fsdecode(dn) + if dn.endswith('.dist-info'): + distinfo = os.path.join(root, dn) + del dirs[i] + break + assert distinfo, '.dist-info directory expected, not found' + + for fn in files: + # comment out next suite to leave .pyc files in + if fsdecode(fn).endswith(('.pyc', '.pyo')): + continue + p = os.path.join(root, fn) + rp = to_posix(os.path.relpath(p, path)) + archive_paths.append((rp, p)) + + # Now distinfo. Assumed to be flat, i.e. os.listdir is enough. + files = os.listdir(distinfo) + for fn in files: + if fn not in ('RECORD', 'INSTALLER', 'SHARED', 'WHEEL'): + p = fsdecode(os.path.join(distinfo, fn)) + ap = to_posix(os.path.join(info_dir, fn)) + archive_paths.append((ap, p)) + + wheel_metadata = [ + 'Wheel-Version: %d.%d' % (wheel_version or self.wheel_version), + 'Generator: distlib %s' % __version__, + 'Root-Is-Purelib: %s' % is_pure, + ] + for pyver, abi, arch in self.tags: + wheel_metadata.append('Tag: %s-%s-%s' % (pyver, abi, arch)) + p = os.path.join(distinfo, 'WHEEL') + with open(p, 'w') as f: + f.write('\n'.join(wheel_metadata)) + ap = to_posix(os.path.join(info_dir, 'WHEEL')) + archive_paths.append((ap, p)) + + # Now, at last, RECORD. + # Paths in here are archive paths - nothing else makes sense. + self.write_records((distinfo, info_dir), libdir, archive_paths) + # Now, ready to build the zip file + pathname = os.path.join(self.dirname, self.filename) + self.build_zip(pathname, archive_paths) + return pathname + + def install(self, paths, maker, **kwargs): + """ + Install a wheel to the specified paths. If kwarg ``warner`` is + specified, it should be a callable, which will be called with two + tuples indicating the wheel version of this software and the wheel + version in the file, if there is a discrepancy in the versions. + This can be used to issue any warnings to raise any exceptions. + If kwarg ``lib_only`` is True, only the purelib/platlib files are + installed, and the headers, scripts, data and dist-info metadata are + not written. If kwarg ``bytecode_hashed_invalidation`` is True, written + bytecode will try to use file-hash based invalidation (PEP-552) on + supported interpreter versions (CPython 2.7+). + + The return value is a :class:`InstalledDistribution` instance unless + ``options.lib_only`` is True, in which case the return value is ``None``. + """ + + dry_run = maker.dry_run + warner = kwargs.get('warner') + lib_only = kwargs.get('lib_only', False) + bc_hashed_invalidation = kwargs.get('bytecode_hashed_invalidation', False) + + pathname = os.path.join(self.dirname, self.filename) + name_ver = '%s-%s' % (self.name, self.version) + data_dir = '%s.data' % name_ver + info_dir = '%s.dist-info' % name_ver + + metadata_name = posixpath.join(info_dir, METADATA_FILENAME) + wheel_metadata_name = posixpath.join(info_dir, 'WHEEL') + record_name = posixpath.join(info_dir, 'RECORD') + + wrapper = codecs.getreader('utf-8') + + with ZipFile(pathname, 'r') as zf: + with zf.open(wheel_metadata_name) as bwf: + wf = wrapper(bwf) + message = message_from_file(wf) + wv = message['Wheel-Version'].split('.', 1) + file_version = tuple([int(i) for i in wv]) + if (file_version != self.wheel_version) and warner: + warner(self.wheel_version, file_version) + + if message['Root-Is-Purelib'] == 'true': + libdir = paths['purelib'] + else: + libdir = paths['platlib'] + + records = {} + with zf.open(record_name) as bf: + with CSVReader(stream=bf) as reader: + for row in reader: + p = row[0] + records[p] = row + + data_pfx = posixpath.join(data_dir, '') + info_pfx = posixpath.join(info_dir, '') + script_pfx = posixpath.join(data_dir, 'scripts', '') + + # make a new instance rather than a copy of maker's, + # as we mutate it + fileop = FileOperator(dry_run=dry_run) + fileop.record = True # so we can rollback if needed + + bc = not sys.dont_write_bytecode # Double negatives. Lovely! + + outfiles = [] # for RECORD writing + + # for script copying/shebang processing + workdir = tempfile.mkdtemp() + # set target dir later + # we default add_launchers to False, as the + # Python Launcher should be used instead + maker.source_dir = workdir + maker.target_dir = None + try: + for zinfo in zf.infolist(): + arcname = zinfo.filename + if isinstance(arcname, text_type): + u_arcname = arcname + else: + u_arcname = arcname.decode('utf-8') + # The signature file won't be in RECORD, + # and we don't currently don't do anything with it + if u_arcname.endswith('/RECORD.jws'): + continue + row = records[u_arcname] + if row[2] and str(zinfo.file_size) != row[2]: + raise DistlibException('size mismatch for ' + '%s' % u_arcname) + if row[1]: + kind, value = row[1].split('=', 1) + with zf.open(arcname) as bf: + data = bf.read() + _, digest = self.get_hash(data, kind) + if digest != value: + raise DistlibException('digest mismatch for ' + '%s' % arcname) + + if lib_only and u_arcname.startswith((info_pfx, data_pfx)): + logger.debug('lib_only: skipping %s', u_arcname) + continue + is_script = (u_arcname.startswith(script_pfx) + and not u_arcname.endswith('.exe')) + + if u_arcname.startswith(data_pfx): + _, where, rp = u_arcname.split('/', 2) + outfile = os.path.join(paths[where], convert_path(rp)) + else: + # meant for site-packages. + if u_arcname in (wheel_metadata_name, record_name): + continue + outfile = os.path.join(libdir, convert_path(u_arcname)) + if not is_script: + with zf.open(arcname) as bf: + fileop.copy_stream(bf, outfile) + outfiles.append(outfile) + # Double check the digest of the written file + if not dry_run and row[1]: + with open(outfile, 'rb') as bf: + data = bf.read() + _, newdigest = self.get_hash(data, kind) + if newdigest != digest: + raise DistlibException('digest mismatch ' + 'on write for ' + '%s' % outfile) + if bc and outfile.endswith('.py'): + try: + pyc = fileop.byte_compile(outfile, + hashed_invalidation=bc_hashed_invalidation) + outfiles.append(pyc) + except Exception: + # Don't give up if byte-compilation fails, + # but log it and perhaps warn the user + logger.warning('Byte-compilation failed', + exc_info=True) + else: + fn = os.path.basename(convert_path(arcname)) + workname = os.path.join(workdir, fn) + with zf.open(arcname) as bf: + fileop.copy_stream(bf, workname) + + dn, fn = os.path.split(outfile) + maker.target_dir = dn + filenames = maker.make(fn) + fileop.set_executable_mode(filenames) + outfiles.extend(filenames) + + if lib_only: + logger.debug('lib_only: returning None') + dist = None + else: + # Generate scripts + + # Try to get pydist.json so we can see if there are + # any commands to generate. If this fails (e.g. because + # of a legacy wheel), log a warning but don't give up. + commands = None + file_version = self.info['Wheel-Version'] + if file_version == '1.0': + # Use legacy info + ep = posixpath.join(info_dir, 'entry_points.txt') + try: + with zf.open(ep) as bwf: + epdata = read_exports(bwf) + commands = {} + for key in ('console', 'gui'): + k = '%s_scripts' % key + if k in epdata: + commands['wrap_%s' % key] = d = {} + for v in epdata[k].values(): + s = '%s:%s' % (v.prefix, v.suffix) + if v.flags: + s += ' %s' % v.flags + d[v.name] = s + except Exception: + logger.warning('Unable to read legacy script ' + 'metadata, so cannot generate ' + 'scripts') + else: + try: + with zf.open(metadata_name) as bwf: + wf = wrapper(bwf) + commands = json.load(wf).get('extensions') + if commands: + commands = commands.get('python.commands') + except Exception: + logger.warning('Unable to read JSON metadata, so ' + 'cannot generate scripts') + if commands: + console_scripts = commands.get('wrap_console', {}) + gui_scripts = commands.get('wrap_gui', {}) + if console_scripts or gui_scripts: + script_dir = paths.get('scripts', '') + if not os.path.isdir(script_dir): + raise ValueError('Valid script path not ' + 'specified') + maker.target_dir = script_dir + for k, v in console_scripts.items(): + script = '%s = %s' % (k, v) + filenames = maker.make(script) + fileop.set_executable_mode(filenames) + + if gui_scripts: + options = {'gui': True } + for k, v in gui_scripts.items(): + script = '%s = %s' % (k, v) + filenames = maker.make(script, options) + fileop.set_executable_mode(filenames) + + p = os.path.join(libdir, info_dir) + dist = InstalledDistribution(p) + + # Write SHARED + paths = dict(paths) # don't change passed in dict + del paths['purelib'] + del paths['platlib'] + paths['lib'] = libdir + p = dist.write_shared_locations(paths, dry_run) + if p: + outfiles.append(p) + + # Write RECORD + dist.write_installed_files(outfiles, paths['prefix'], + dry_run) + return dist + except Exception: # pragma: no cover + logger.exception('installation failed.') + fileop.rollback() + raise + finally: + shutil.rmtree(workdir) + + def _get_dylib_cache(self): + global cache + if cache is None: + # Use native string to avoid issues on 2.x: see Python #20140. + base = os.path.join(get_cache_base(), str('dylib-cache'), + sys.version[:3]) + cache = Cache(base) + return cache + + def _get_extensions(self): + pathname = os.path.join(self.dirname, self.filename) + name_ver = '%s-%s' % (self.name, self.version) + info_dir = '%s.dist-info' % name_ver + arcname = posixpath.join(info_dir, 'EXTENSIONS') + wrapper = codecs.getreader('utf-8') + result = [] + with ZipFile(pathname, 'r') as zf: + try: + with zf.open(arcname) as bf: + wf = wrapper(bf) + extensions = json.load(wf) + cache = self._get_dylib_cache() + prefix = cache.prefix_to_dir(pathname) + cache_base = os.path.join(cache.base, prefix) + if not os.path.isdir(cache_base): + os.makedirs(cache_base) + for name, relpath in extensions.items(): + dest = os.path.join(cache_base, convert_path(relpath)) + if not os.path.exists(dest): + extract = True + else: + file_time = os.stat(dest).st_mtime + file_time = datetime.datetime.fromtimestamp(file_time) + info = zf.getinfo(relpath) + wheel_time = datetime.datetime(*info.date_time) + extract = wheel_time > file_time + if extract: + zf.extract(relpath, cache_base) + result.append((name, dest)) + except KeyError: + pass + return result + + def is_compatible(self): + """ + Determine if a wheel is compatible with the running system. + """ + return is_compatible(self) + + def is_mountable(self): + """ + Determine if a wheel is asserted as mountable by its metadata. + """ + return True # for now - metadata details TBD + + def mount(self, append=False): + pathname = os.path.abspath(os.path.join(self.dirname, self.filename)) + if not self.is_compatible(): + msg = 'Wheel %s not compatible with this Python.' % pathname + raise DistlibException(msg) + if not self.is_mountable(): + msg = 'Wheel %s is marked as not mountable.' % pathname + raise DistlibException(msg) + if pathname in sys.path: + logger.debug('%s already in path', pathname) + else: + if append: + sys.path.append(pathname) + else: + sys.path.insert(0, pathname) + extensions = self._get_extensions() + if extensions: + if _hook not in sys.meta_path: + sys.meta_path.append(_hook) + _hook.add(pathname, extensions) + + def unmount(self): + pathname = os.path.abspath(os.path.join(self.dirname, self.filename)) + if pathname not in sys.path: + logger.debug('%s not in path', pathname) + else: + sys.path.remove(pathname) + if pathname in _hook.impure_wheels: + _hook.remove(pathname) + if not _hook.impure_wheels: + if _hook in sys.meta_path: + sys.meta_path.remove(_hook) + + def verify(self): + pathname = os.path.join(self.dirname, self.filename) + name_ver = '%s-%s' % (self.name, self.version) + data_dir = '%s.data' % name_ver + info_dir = '%s.dist-info' % name_ver + + metadata_name = posixpath.join(info_dir, METADATA_FILENAME) + wheel_metadata_name = posixpath.join(info_dir, 'WHEEL') + record_name = posixpath.join(info_dir, 'RECORD') + + wrapper = codecs.getreader('utf-8') + + with ZipFile(pathname, 'r') as zf: + with zf.open(wheel_metadata_name) as bwf: + wf = wrapper(bwf) + message = message_from_file(wf) + wv = message['Wheel-Version'].split('.', 1) + file_version = tuple([int(i) for i in wv]) + # TODO version verification + + records = {} + with zf.open(record_name) as bf: + with CSVReader(stream=bf) as reader: + for row in reader: + p = row[0] + records[p] = row + + for zinfo in zf.infolist(): + arcname = zinfo.filename + if isinstance(arcname, text_type): + u_arcname = arcname + else: + u_arcname = arcname.decode('utf-8') + if '..' in u_arcname: + raise DistlibException('invalid entry in ' + 'wheel: %r' % u_arcname) + + # The signature file won't be in RECORD, + # and we don't currently don't do anything with it + if u_arcname.endswith('/RECORD.jws'): + continue + row = records[u_arcname] + if row[2] and str(zinfo.file_size) != row[2]: + raise DistlibException('size mismatch for ' + '%s' % u_arcname) + if row[1]: + kind, value = row[1].split('=', 1) + with zf.open(arcname) as bf: + data = bf.read() + _, digest = self.get_hash(data, kind) + if digest != value: + raise DistlibException('digest mismatch for ' + '%s' % arcname) + + def update(self, modifier, dest_dir=None, **kwargs): + """ + Update the contents of a wheel in a generic way. The modifier should + be a callable which expects a dictionary argument: its keys are + archive-entry paths, and its values are absolute filesystem paths + where the contents the corresponding archive entries can be found. The + modifier is free to change the contents of the files pointed to, add + new entries and remove entries, before returning. This method will + extract the entire contents of the wheel to a temporary location, call + the modifier, and then use the passed (and possibly updated) + dictionary to write a new wheel. If ``dest_dir`` is specified, the new + wheel is written there -- otherwise, the original wheel is overwritten. + + The modifier should return True if it updated the wheel, else False. + This method returns the same value the modifier returns. + """ + + def get_version(path_map, info_dir): + version = path = None + key = '%s/%s' % (info_dir, METADATA_FILENAME) + if key not in path_map: + key = '%s/PKG-INFO' % info_dir + if key in path_map: + path = path_map[key] + version = Metadata(path=path).version + return version, path + + def update_version(version, path): + updated = None + try: + v = NormalizedVersion(version) + i = version.find('-') + if i < 0: + updated = '%s+1' % version + else: + parts = [int(s) for s in version[i + 1:].split('.')] + parts[-1] += 1 + updated = '%s+%s' % (version[:i], + '.'.join(str(i) for i in parts)) + except UnsupportedVersionError: + logger.debug('Cannot update non-compliant (PEP-440) ' + 'version %r', version) + if updated: + md = Metadata(path=path) + md.version = updated + legacy = not path.endswith(METADATA_FILENAME) + md.write(path=path, legacy=legacy) + logger.debug('Version updated from %r to %r', version, + updated) + + pathname = os.path.join(self.dirname, self.filename) + name_ver = '%s-%s' % (self.name, self.version) + info_dir = '%s.dist-info' % name_ver + record_name = posixpath.join(info_dir, 'RECORD') + with tempdir() as workdir: + with ZipFile(pathname, 'r') as zf: + path_map = {} + for zinfo in zf.infolist(): + arcname = zinfo.filename + if isinstance(arcname, text_type): + u_arcname = arcname + else: + u_arcname = arcname.decode('utf-8') + if u_arcname == record_name: + continue + if '..' in u_arcname: + raise DistlibException('invalid entry in ' + 'wheel: %r' % u_arcname) + zf.extract(zinfo, workdir) + path = os.path.join(workdir, convert_path(u_arcname)) + path_map[u_arcname] = path + + # Remember the version. + original_version, _ = get_version(path_map, info_dir) + # Files extracted. Call the modifier. + modified = modifier(path_map, **kwargs) + if modified: + # Something changed - need to build a new wheel. + current_version, path = get_version(path_map, info_dir) + if current_version and (current_version == original_version): + # Add or update local version to signify changes. + update_version(current_version, path) + # Decide where the new wheel goes. + if dest_dir is None: + fd, newpath = tempfile.mkstemp(suffix='.whl', + prefix='wheel-update-', + dir=workdir) + os.close(fd) + else: + if not os.path.isdir(dest_dir): + raise DistlibException('Not a directory: %r' % dest_dir) + newpath = os.path.join(dest_dir, self.filename) + archive_paths = list(path_map.items()) + distinfo = os.path.join(workdir, info_dir) + info = distinfo, info_dir + self.write_records(info, workdir, archive_paths) + self.build_zip(newpath, archive_paths) + if dest_dir is None: + shutil.copyfile(newpath, pathname) + return modified + +def compatible_tags(): + """ + Return (pyver, abi, arch) tuples compatible with this Python. + """ + versions = [VER_SUFFIX] + major = VER_SUFFIX[0] + for minor in range(sys.version_info[1] - 1, - 1, -1): + versions.append(''.join([major, str(minor)])) + + abis = [] + for suffix, _, _ in imp.get_suffixes(): + if suffix.startswith('.abi'): + abis.append(suffix.split('.', 2)[1]) + abis.sort() + if ABI != 'none': + abis.insert(0, ABI) + abis.append('none') + result = [] + + arches = [ARCH] + if sys.platform == 'darwin': + m = re.match(r'(\w+)_(\d+)_(\d+)_(\w+)$', ARCH) + if m: + name, major, minor, arch = m.groups() + minor = int(minor) + matches = [arch] + if arch in ('i386', 'ppc'): + matches.append('fat') + if arch in ('i386', 'ppc', 'x86_64'): + matches.append('fat3') + if arch in ('ppc64', 'x86_64'): + matches.append('fat64') + if arch in ('i386', 'x86_64'): + matches.append('intel') + if arch in ('i386', 'x86_64', 'intel', 'ppc', 'ppc64'): + matches.append('universal') + while minor >= 0: + for match in matches: + s = '%s_%s_%s_%s' % (name, major, minor, match) + if s != ARCH: # already there + arches.append(s) + minor -= 1 + + # Most specific - our Python version, ABI and arch + for abi in abis: + for arch in arches: + result.append((''.join((IMP_PREFIX, versions[0])), abi, arch)) + + # where no ABI / arch dependency, but IMP_PREFIX dependency + for i, version in enumerate(versions): + result.append((''.join((IMP_PREFIX, version)), 'none', 'any')) + if i == 0: + result.append((''.join((IMP_PREFIX, version[0])), 'none', 'any')) + + # no IMP_PREFIX, ABI or arch dependency + for i, version in enumerate(versions): + result.append((''.join(('py', version)), 'none', 'any')) + if i == 0: + result.append((''.join(('py', version[0])), 'none', 'any')) + return set(result) + + +COMPATIBLE_TAGS = compatible_tags() + +del compatible_tags + + +def is_compatible(wheel, tags=None): + if not isinstance(wheel, Wheel): + wheel = Wheel(wheel) # assume it's a filename + result = False + if tags is None: + tags = COMPATIBLE_TAGS + for ver, abi, arch in tags: + if ver in wheel.pyver and abi in wheel.abi and arch in wheel.arch: + result = True + break + return result diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distro.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distro.py new file mode 100644 index 0000000..aa4defc --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/distro.py @@ -0,0 +1,1197 @@ +# Copyright 2015,2016,2017 Nir Cohen +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +The ``distro`` package (``distro`` stands for Linux Distribution) provides +information about the Linux distribution it runs on, such as a reliable +machine-readable distro ID, or version information. + +It is a renewed alternative implementation for Python's original +:py:func:`platform.linux_distribution` function, but it provides much more +functionality. An alternative implementation became necessary because Python +3.5 deprecated this function, and Python 3.7 is expected to remove it +altogether. Its predecessor function :py:func:`platform.dist` was already +deprecated since Python 2.6 and is also expected to be removed in Python 3.7. +Still, there are many cases in which access to OS distribution information +is needed. See `Python issue 1322 <https://bugs.python.org/issue1322>`_ for +more information. +""" + +import os +import re +import sys +import json +import shlex +import logging +import argparse +import subprocess + + +_UNIXCONFDIR = os.environ.get('UNIXCONFDIR', '/etc') +_OS_RELEASE_BASENAME = 'os-release' + +#: Translation table for normalizing the "ID" attribute defined in os-release +#: files, for use by the :func:`distro.id` method. +#: +#: * Key: Value as defined in the os-release file, translated to lower case, +#: with blanks translated to underscores. +#: +#: * Value: Normalized value. +NORMALIZED_OS_ID = {} + +#: Translation table for normalizing the "Distributor ID" attribute returned by +#: the lsb_release command, for use by the :func:`distro.id` method. +#: +#: * Key: Value as returned by the lsb_release command, translated to lower +#: case, with blanks translated to underscores. +#: +#: * Value: Normalized value. +NORMALIZED_LSB_ID = { + 'enterpriseenterprise': 'oracle', # Oracle Enterprise Linux + 'redhatenterpriseworkstation': 'rhel', # RHEL 6, 7 Workstation + 'redhatenterpriseserver': 'rhel', # RHEL 6, 7 Server +} + +#: Translation table for normalizing the distro ID derived from the file name +#: of distro release files, for use by the :func:`distro.id` method. +#: +#: * Key: Value as derived from the file name of a distro release file, +#: translated to lower case, with blanks translated to underscores. +#: +#: * Value: Normalized value. +NORMALIZED_DISTRO_ID = { + 'redhat': 'rhel', # RHEL 6.x, 7.x +} + +# Pattern for content of distro release file (reversed) +_DISTRO_RELEASE_CONTENT_REVERSED_PATTERN = re.compile( + r'(?:[^)]*\)(.*)\()? *(?:STL )?([\d.+\-a-z]*\d) *(?:esaeler *)?(.+)') + +# Pattern for base file name of distro release file +_DISTRO_RELEASE_BASENAME_PATTERN = re.compile( + r'(\w+)[-_](release|version)$') + +# Base file names to be ignored when searching for distro release file +_DISTRO_RELEASE_IGNORE_BASENAMES = ( + 'debian_version', + 'lsb-release', + 'oem-release', + _OS_RELEASE_BASENAME, + 'system-release' +) + + +def linux_distribution(full_distribution_name=True): + """ + Return information about the current OS distribution as a tuple + ``(id_name, version, codename)`` with items as follows: + + * ``id_name``: If *full_distribution_name* is false, the result of + :func:`distro.id`. Otherwise, the result of :func:`distro.name`. + + * ``version``: The result of :func:`distro.version`. + + * ``codename``: The result of :func:`distro.codename`. + + The interface of this function is compatible with the original + :py:func:`platform.linux_distribution` function, supporting a subset of + its parameters. + + The data it returns may not exactly be the same, because it uses more data + sources than the original function, and that may lead to different data if + the OS distribution is not consistent across multiple data sources it + provides (there are indeed such distributions ...). + + Another reason for differences is the fact that the :func:`distro.id` + method normalizes the distro ID string to a reliable machine-readable value + for a number of popular OS distributions. + """ + return _distro.linux_distribution(full_distribution_name) + + +def id(): + """ + Return the distro ID of the current distribution, as a + machine-readable string. + + For a number of OS distributions, the returned distro ID value is + *reliable*, in the sense that it is documented and that it does not change + across releases of the distribution. + + This package maintains the following reliable distro ID values: + + ============== ========================================= + Distro ID Distribution + ============== ========================================= + "ubuntu" Ubuntu + "debian" Debian + "rhel" RedHat Enterprise Linux + "centos" CentOS + "fedora" Fedora + "sles" SUSE Linux Enterprise Server + "opensuse" openSUSE + "amazon" Amazon Linux + "arch" Arch Linux + "cloudlinux" CloudLinux OS + "exherbo" Exherbo Linux + "gentoo" GenToo Linux + "ibm_powerkvm" IBM PowerKVM + "kvmibm" KVM for IBM z Systems + "linuxmint" Linux Mint + "mageia" Mageia + "mandriva" Mandriva Linux + "parallels" Parallels + "pidora" Pidora + "raspbian" Raspbian + "oracle" Oracle Linux (and Oracle Enterprise Linux) + "scientific" Scientific Linux + "slackware" Slackware + "xenserver" XenServer + "openbsd" OpenBSD + "netbsd" NetBSD + "freebsd" FreeBSD + ============== ========================================= + + If you have a need to get distros for reliable IDs added into this set, + or if you find that the :func:`distro.id` function returns a different + distro ID for one of the listed distros, please create an issue in the + `distro issue tracker`_. + + **Lookup hierarchy and transformations:** + + First, the ID is obtained from the following sources, in the specified + order. The first available and non-empty value is used: + + * the value of the "ID" attribute of the os-release file, + + * the value of the "Distributor ID" attribute returned by the lsb_release + command, + + * the first part of the file name of the distro release file, + + The so determined ID value then passes the following transformations, + before it is returned by this method: + + * it is translated to lower case, + + * blanks (which should not be there anyway) are translated to underscores, + + * a normalization of the ID is performed, based upon + `normalization tables`_. The purpose of this normalization is to ensure + that the ID is as reliable as possible, even across incompatible changes + in the OS distributions. A common reason for an incompatible change is + the addition of an os-release file, or the addition of the lsb_release + command, with ID values that differ from what was previously determined + from the distro release file name. + """ + return _distro.id() + + +def name(pretty=False): + """ + Return the name of the current OS distribution, as a human-readable + string. + + If *pretty* is false, the name is returned without version or codename. + (e.g. "CentOS Linux") + + If *pretty* is true, the version and codename are appended. + (e.g. "CentOS Linux 7.1.1503 (Core)") + + **Lookup hierarchy:** + + The name is obtained from the following sources, in the specified order. + The first available and non-empty value is used: + + * If *pretty* is false: + + - the value of the "NAME" attribute of the os-release file, + + - the value of the "Distributor ID" attribute returned by the lsb_release + command, + + - the value of the "<name>" field of the distro release file. + + * If *pretty* is true: + + - the value of the "PRETTY_NAME" attribute of the os-release file, + + - the value of the "Description" attribute returned by the lsb_release + command, + + - the value of the "<name>" field of the distro release file, appended + with the value of the pretty version ("<version_id>" and "<codename>" + fields) of the distro release file, if available. + """ + return _distro.name(pretty) + + +def version(pretty=False, best=False): + """ + Return the version of the current OS distribution, as a human-readable + string. + + If *pretty* is false, the version is returned without codename (e.g. + "7.0"). + + If *pretty* is true, the codename in parenthesis is appended, if the + codename is non-empty (e.g. "7.0 (Maipo)"). + + Some distributions provide version numbers with different precisions in + the different sources of distribution information. Examining the different + sources in a fixed priority order does not always yield the most precise + version (e.g. for Debian 8.2, or CentOS 7.1). + + The *best* parameter can be used to control the approach for the returned + version: + + If *best* is false, the first non-empty version number in priority order of + the examined sources is returned. + + If *best* is true, the most precise version number out of all examined + sources is returned. + + **Lookup hierarchy:** + + In all cases, the version number is obtained from the following sources. + If *best* is false, this order represents the priority order: + + * the value of the "VERSION_ID" attribute of the os-release file, + * the value of the "Release" attribute returned by the lsb_release + command, + * the version number parsed from the "<version_id>" field of the first line + of the distro release file, + * the version number parsed from the "PRETTY_NAME" attribute of the + os-release file, if it follows the format of the distro release files. + * the version number parsed from the "Description" attribute returned by + the lsb_release command, if it follows the format of the distro release + files. + """ + return _distro.version(pretty, best) + + +def version_parts(best=False): + """ + Return the version of the current OS distribution as a tuple + ``(major, minor, build_number)`` with items as follows: + + * ``major``: The result of :func:`distro.major_version`. + + * ``minor``: The result of :func:`distro.minor_version`. + + * ``build_number``: The result of :func:`distro.build_number`. + + For a description of the *best* parameter, see the :func:`distro.version` + method. + """ + return _distro.version_parts(best) + + +def major_version(best=False): + """ + Return the major version of the current OS distribution, as a string, + if provided. + Otherwise, the empty string is returned. The major version is the first + part of the dot-separated version string. + + For a description of the *best* parameter, see the :func:`distro.version` + method. + """ + return _distro.major_version(best) + + +def minor_version(best=False): + """ + Return the minor version of the current OS distribution, as a string, + if provided. + Otherwise, the empty string is returned. The minor version is the second + part of the dot-separated version string. + + For a description of the *best* parameter, see the :func:`distro.version` + method. + """ + return _distro.minor_version(best) + + +def build_number(best=False): + """ + Return the build number of the current OS distribution, as a string, + if provided. + Otherwise, the empty string is returned. The build number is the third part + of the dot-separated version string. + + For a description of the *best* parameter, see the :func:`distro.version` + method. + """ + return _distro.build_number(best) + + +def like(): + """ + Return a space-separated list of distro IDs of distributions that are + closely related to the current OS distribution in regards to packaging + and programming interfaces, for example distributions the current + distribution is a derivative from. + + **Lookup hierarchy:** + + This information item is only provided by the os-release file. + For details, see the description of the "ID_LIKE" attribute in the + `os-release man page + <http://www.freedesktop.org/software/systemd/man/os-release.html>`_. + """ + return _distro.like() + + +def codename(): + """ + Return the codename for the release of the current OS distribution, + as a string. + + If the distribution does not have a codename, an empty string is returned. + + Note that the returned codename is not always really a codename. For + example, openSUSE returns "x86_64". This function does not handle such + cases in any special way and just returns the string it finds, if any. + + **Lookup hierarchy:** + + * the codename within the "VERSION" attribute of the os-release file, if + provided, + + * the value of the "Codename" attribute returned by the lsb_release + command, + + * the value of the "<codename>" field of the distro release file. + """ + return _distro.codename() + + +def info(pretty=False, best=False): + """ + Return certain machine-readable information items about the current OS + distribution in a dictionary, as shown in the following example: + + .. sourcecode:: python + + { + 'id': 'rhel', + 'version': '7.0', + 'version_parts': { + 'major': '7', + 'minor': '0', + 'build_number': '' + }, + 'like': 'fedora', + 'codename': 'Maipo' + } + + The dictionary structure and keys are always the same, regardless of which + information items are available in the underlying data sources. The values + for the various keys are as follows: + + * ``id``: The result of :func:`distro.id`. + + * ``version``: The result of :func:`distro.version`. + + * ``version_parts -> major``: The result of :func:`distro.major_version`. + + * ``version_parts -> minor``: The result of :func:`distro.minor_version`. + + * ``version_parts -> build_number``: The result of + :func:`distro.build_number`. + + * ``like``: The result of :func:`distro.like`. + + * ``codename``: The result of :func:`distro.codename`. + + For a description of the *pretty* and *best* parameters, see the + :func:`distro.version` method. + """ + return _distro.info(pretty, best) + + +def os_release_info(): + """ + Return a dictionary containing key-value pairs for the information items + from the os-release file data source of the current OS distribution. + + See `os-release file`_ for details about these information items. + """ + return _distro.os_release_info() + + +def lsb_release_info(): + """ + Return a dictionary containing key-value pairs for the information items + from the lsb_release command data source of the current OS distribution. + + See `lsb_release command output`_ for details about these information + items. + """ + return _distro.lsb_release_info() + + +def distro_release_info(): + """ + Return a dictionary containing key-value pairs for the information items + from the distro release file data source of the current OS distribution. + + See `distro release file`_ for details about these information items. + """ + return _distro.distro_release_info() + + +def uname_info(): + """ + Return a dictionary containing key-value pairs for the information items + from the distro release file data source of the current OS distribution. + """ + return _distro.uname_info() + + +def os_release_attr(attribute): + """ + Return a single named information item from the os-release file data source + of the current OS distribution. + + Parameters: + + * ``attribute`` (string): Key of the information item. + + Returns: + + * (string): Value of the information item, if the item exists. + The empty string, if the item does not exist. + + See `os-release file`_ for details about these information items. + """ + return _distro.os_release_attr(attribute) + + +def lsb_release_attr(attribute): + """ + Return a single named information item from the lsb_release command output + data source of the current OS distribution. + + Parameters: + + * ``attribute`` (string): Key of the information item. + + Returns: + + * (string): Value of the information item, if the item exists. + The empty string, if the item does not exist. + + See `lsb_release command output`_ for details about these information + items. + """ + return _distro.lsb_release_attr(attribute) + + +def distro_release_attr(attribute): + """ + Return a single named information item from the distro release file + data source of the current OS distribution. + + Parameters: + + * ``attribute`` (string): Key of the information item. + + Returns: + + * (string): Value of the information item, if the item exists. + The empty string, if the item does not exist. + + See `distro release file`_ for details about these information items. + """ + return _distro.distro_release_attr(attribute) + + +def uname_attr(attribute): + """ + Return a single named information item from the distro release file + data source of the current OS distribution. + + Parameters: + + * ``attribute`` (string): Key of the information item. + + Returns: + + * (string): Value of the information item, if the item exists. + The empty string, if the item does not exist. + """ + return _distro.uname_attr(attribute) + + +class cached_property(object): + """A version of @property which caches the value. On access, it calls the + underlying function and sets the value in `__dict__` so future accesses + will not re-call the property. + """ + def __init__(self, f): + self._fname = f.__name__ + self._f = f + + def __get__(self, obj, owner): + assert obj is not None, 'call {} on an instance'.format(self._fname) + ret = obj.__dict__[self._fname] = self._f(obj) + return ret + + +class LinuxDistribution(object): + """ + Provides information about a OS distribution. + + This package creates a private module-global instance of this class with + default initialization arguments, that is used by the + `consolidated accessor functions`_ and `single source accessor functions`_. + By using default initialization arguments, that module-global instance + returns data about the current OS distribution (i.e. the distro this + package runs on). + + Normally, it is not necessary to create additional instances of this class. + However, in situations where control is needed over the exact data sources + that are used, instances of this class can be created with a specific + distro release file, or a specific os-release file, or without invoking the + lsb_release command. + """ + + def __init__(self, + include_lsb=True, + os_release_file='', + distro_release_file='', + include_uname=True): + """ + The initialization method of this class gathers information from the + available data sources, and stores that in private instance attributes. + Subsequent access to the information items uses these private instance + attributes, so that the data sources are read only once. + + Parameters: + + * ``include_lsb`` (bool): Controls whether the + `lsb_release command output`_ is included as a data source. + + If the lsb_release command is not available in the program execution + path, the data source for the lsb_release command will be empty. + + * ``os_release_file`` (string): The path name of the + `os-release file`_ that is to be used as a data source. + + An empty string (the default) will cause the default path name to + be used (see `os-release file`_ for details). + + If the specified or defaulted os-release file does not exist, the + data source for the os-release file will be empty. + + * ``distro_release_file`` (string): The path name of the + `distro release file`_ that is to be used as a data source. + + An empty string (the default) will cause a default search algorithm + to be used (see `distro release file`_ for details). + + If the specified distro release file does not exist, or if no default + distro release file can be found, the data source for the distro + release file will be empty. + + * ``include_name`` (bool): Controls whether uname command output is + included as a data source. If the uname command is not available in + the program execution path the data source for the uname command will + be empty. + + Public instance attributes: + + * ``os_release_file`` (string): The path name of the + `os-release file`_ that is actually used as a data source. The + empty string if no distro release file is used as a data source. + + * ``distro_release_file`` (string): The path name of the + `distro release file`_ that is actually used as a data source. The + empty string if no distro release file is used as a data source. + + * ``include_lsb`` (bool): The result of the ``include_lsb`` parameter. + This controls whether the lsb information will be loaded. + + * ``include_uname`` (bool): The result of the ``include_uname`` + parameter. This controls whether the uname information will + be loaded. + + Raises: + + * :py:exc:`IOError`: Some I/O issue with an os-release file or distro + release file. + + * :py:exc:`subprocess.CalledProcessError`: The lsb_release command had + some issue (other than not being available in the program execution + path). + + * :py:exc:`UnicodeError`: A data source has unexpected characters or + uses an unexpected encoding. + """ + self.os_release_file = os_release_file or \ + os.path.join(_UNIXCONFDIR, _OS_RELEASE_BASENAME) + self.distro_release_file = distro_release_file or '' # updated later + self.include_lsb = include_lsb + self.include_uname = include_uname + + def __repr__(self): + """Return repr of all info + """ + return \ + "LinuxDistribution(" \ + "os_release_file={self.os_release_file!r}, " \ + "distro_release_file={self.distro_release_file!r}, " \ + "include_lsb={self.include_lsb!r}, " \ + "include_uname={self.include_uname!r}, " \ + "_os_release_info={self._os_release_info!r}, " \ + "_lsb_release_info={self._lsb_release_info!r}, " \ + "_distro_release_info={self._distro_release_info!r}, " \ + "_uname_info={self._uname_info!r})".format( + self=self) + + def linux_distribution(self, full_distribution_name=True): + """ + Return information about the OS distribution that is compatible + with Python's :func:`platform.linux_distribution`, supporting a subset + of its parameters. + + For details, see :func:`distro.linux_distribution`. + """ + return ( + self.name() if full_distribution_name else self.id(), + self.version(), + self.codename() + ) + + def id(self): + """Return the distro ID of the OS distribution, as a string. + + For details, see :func:`distro.id`. + """ + def normalize(distro_id, table): + distro_id = distro_id.lower().replace(' ', '_') + return table.get(distro_id, distro_id) + + distro_id = self.os_release_attr('id') + if distro_id: + return normalize(distro_id, NORMALIZED_OS_ID) + + distro_id = self.lsb_release_attr('distributor_id') + if distro_id: + return normalize(distro_id, NORMALIZED_LSB_ID) + + distro_id = self.distro_release_attr('id') + if distro_id: + return normalize(distro_id, NORMALIZED_DISTRO_ID) + + distro_id = self.uname_attr('id') + if distro_id: + return normalize(distro_id, NORMALIZED_DISTRO_ID) + + return '' + + def name(self, pretty=False): + """ + Return the name of the OS distribution, as a string. + + For details, see :func:`distro.name`. + """ + name = self.os_release_attr('name') \ + or self.lsb_release_attr('distributor_id') \ + or self.distro_release_attr('name') \ + or self.uname_attr('name') + if pretty: + name = self.os_release_attr('pretty_name') \ + or self.lsb_release_attr('description') + if not name: + name = self.distro_release_attr('name') \ + or self.uname_attr('name') + version = self.version(pretty=True) + if version: + name = name + ' ' + version + return name or '' + + def version(self, pretty=False, best=False): + """ + Return the version of the OS distribution, as a string. + + For details, see :func:`distro.version`. + """ + versions = [ + self.os_release_attr('version_id'), + self.lsb_release_attr('release'), + self.distro_release_attr('version_id'), + self._parse_distro_release_content( + self.os_release_attr('pretty_name')).get('version_id', ''), + self._parse_distro_release_content( + self.lsb_release_attr('description')).get('version_id', ''), + self.uname_attr('release') + ] + version = '' + if best: + # This algorithm uses the last version in priority order that has + # the best precision. If the versions are not in conflict, that + # does not matter; otherwise, using the last one instead of the + # first one might be considered a surprise. + for v in versions: + if v.count(".") > version.count(".") or version == '': + version = v + else: + for v in versions: + if v != '': + version = v + break + if pretty and version and self.codename(): + version = u'{0} ({1})'.format(version, self.codename()) + return version + + def version_parts(self, best=False): + """ + Return the version of the OS distribution, as a tuple of version + numbers. + + For details, see :func:`distro.version_parts`. + """ + version_str = self.version(best=best) + if version_str: + version_regex = re.compile(r'(\d+)\.?(\d+)?\.?(\d+)?') + matches = version_regex.match(version_str) + if matches: + major, minor, build_number = matches.groups() + return major, minor or '', build_number or '' + return '', '', '' + + def major_version(self, best=False): + """ + Return the major version number of the current distribution. + + For details, see :func:`distro.major_version`. + """ + return self.version_parts(best)[0] + + def minor_version(self, best=False): + """ + Return the minor version number of the current distribution. + + For details, see :func:`distro.minor_version`. + """ + return self.version_parts(best)[1] + + def build_number(self, best=False): + """ + Return the build number of the current distribution. + + For details, see :func:`distro.build_number`. + """ + return self.version_parts(best)[2] + + def like(self): + """ + Return the IDs of distributions that are like the OS distribution. + + For details, see :func:`distro.like`. + """ + return self.os_release_attr('id_like') or '' + + def codename(self): + """ + Return the codename of the OS distribution. + + For details, see :func:`distro.codename`. + """ + return self.os_release_attr('codename') \ + or self.lsb_release_attr('codename') \ + or self.distro_release_attr('codename') \ + or '' + + def info(self, pretty=False, best=False): + """ + Return certain machine-readable information about the OS + distribution. + + For details, see :func:`distro.info`. + """ + return dict( + id=self.id(), + version=self.version(pretty, best), + version_parts=dict( + major=self.major_version(best), + minor=self.minor_version(best), + build_number=self.build_number(best) + ), + like=self.like(), + codename=self.codename(), + ) + + def os_release_info(self): + """ + Return a dictionary containing key-value pairs for the information + items from the os-release file data source of the OS distribution. + + For details, see :func:`distro.os_release_info`. + """ + return self._os_release_info + + def lsb_release_info(self): + """ + Return a dictionary containing key-value pairs for the information + items from the lsb_release command data source of the OS + distribution. + + For details, see :func:`distro.lsb_release_info`. + """ + return self._lsb_release_info + + def distro_release_info(self): + """ + Return a dictionary containing key-value pairs for the information + items from the distro release file data source of the OS + distribution. + + For details, see :func:`distro.distro_release_info`. + """ + return self._distro_release_info + + def uname_info(self): + """ + Return a dictionary containing key-value pairs for the information + items from the uname command data source of the OS distribution. + + For details, see :func:`distro.uname_info`. + """ + + def os_release_attr(self, attribute): + """ + Return a single named information item from the os-release file data + source of the OS distribution. + + For details, see :func:`distro.os_release_attr`. + """ + return self._os_release_info.get(attribute, '') + + def lsb_release_attr(self, attribute): + """ + Return a single named information item from the lsb_release command + output data source of the OS distribution. + + For details, see :func:`distro.lsb_release_attr`. + """ + return self._lsb_release_info.get(attribute, '') + + def distro_release_attr(self, attribute): + """ + Return a single named information item from the distro release file + data source of the OS distribution. + + For details, see :func:`distro.distro_release_attr`. + """ + return self._distro_release_info.get(attribute, '') + + def uname_attr(self, attribute): + """ + Return a single named information item from the uname command + output data source of the OS distribution. + + For details, see :func:`distro.uname_release_attr`. + """ + return self._uname_info.get(attribute, '') + + @cached_property + def _os_release_info(self): + """ + Get the information items from the specified os-release file. + + Returns: + A dictionary containing all information items. + """ + if os.path.isfile(self.os_release_file): + with open(self.os_release_file) as release_file: + return self._parse_os_release_content(release_file) + return {} + + @staticmethod + def _parse_os_release_content(lines): + """ + Parse the lines of an os-release file. + + Parameters: + + * lines: Iterable through the lines in the os-release file. + Each line must be a unicode string or a UTF-8 encoded byte + string. + + Returns: + A dictionary containing all information items. + """ + props = {} + lexer = shlex.shlex(lines, posix=True) + lexer.whitespace_split = True + + # The shlex module defines its `wordchars` variable using literals, + # making it dependent on the encoding of the Python source file. + # In Python 2.6 and 2.7, the shlex source file is encoded in + # 'iso-8859-1', and the `wordchars` variable is defined as a byte + # string. This causes a UnicodeDecodeError to be raised when the + # parsed content is a unicode object. The following fix resolves that + # (... but it should be fixed in shlex...): + if sys.version_info[0] == 2 and isinstance(lexer.wordchars, bytes): + lexer.wordchars = lexer.wordchars.decode('iso-8859-1') + + tokens = list(lexer) + for token in tokens: + # At this point, all shell-like parsing has been done (i.e. + # comments processed, quotes and backslash escape sequences + # processed, multi-line values assembled, trailing newlines + # stripped, etc.), so the tokens are now either: + # * variable assignments: var=value + # * commands or their arguments (not allowed in os-release) + if '=' in token: + k, v = token.split('=', 1) + if isinstance(v, bytes): + v = v.decode('utf-8') + props[k.lower()] = v + if k == 'VERSION': + # this handles cases in which the codename is in + # the `(CODENAME)` (rhel, centos, fedora) format + # or in the `, CODENAME` format (Ubuntu). + codename = re.search(r'(\(\D+\))|,(\s+)?\D+', v) + if codename: + codename = codename.group() + codename = codename.strip('()') + codename = codename.strip(',') + codename = codename.strip() + # codename appears within paranthese. + props['codename'] = codename + else: + props['codename'] = '' + else: + # Ignore any tokens that are not variable assignments + pass + return props + + @cached_property + def _lsb_release_info(self): + """ + Get the information items from the lsb_release command output. + + Returns: + A dictionary containing all information items. + """ + if not self.include_lsb: + return {} + with open(os.devnull, 'w') as devnull: + try: + cmd = ('lsb_release', '-a') + stdout = subprocess.check_output(cmd, stderr=devnull) + except OSError: # Command not found + return {} + content = stdout.decode(sys.getfilesystemencoding()).splitlines() + return self._parse_lsb_release_content(content) + + @staticmethod + def _parse_lsb_release_content(lines): + """ + Parse the output of the lsb_release command. + + Parameters: + + * lines: Iterable through the lines of the lsb_release output. + Each line must be a unicode string or a UTF-8 encoded byte + string. + + Returns: + A dictionary containing all information items. + """ + props = {} + for line in lines: + kv = line.strip('\n').split(':', 1) + if len(kv) != 2: + # Ignore lines without colon. + continue + k, v = kv + props.update({k.replace(' ', '_').lower(): v.strip()}) + return props + + @cached_property + def _uname_info(self): + with open(os.devnull, 'w') as devnull: + try: + cmd = ('uname', '-rs') + stdout = subprocess.check_output(cmd, stderr=devnull) + except OSError: + return {} + content = stdout.decode(sys.getfilesystemencoding()).splitlines() + return self._parse_uname_content(content) + + @staticmethod + def _parse_uname_content(lines): + props = {} + match = re.search(r'^([^\s]+)\s+([\d\.]+)', lines[0].strip()) + if match: + name, version = match.groups() + + # This is to prevent the Linux kernel version from + # appearing as the 'best' version on otherwise + # identifiable distributions. + if name == 'Linux': + return {} + props['id'] = name.lower() + props['name'] = name + props['release'] = version + return props + + @cached_property + def _distro_release_info(self): + """ + Get the information items from the specified distro release file. + + Returns: + A dictionary containing all information items. + """ + if self.distro_release_file: + # If it was specified, we use it and parse what we can, even if + # its file name or content does not match the expected pattern. + distro_info = self._parse_distro_release_file( + self.distro_release_file) + basename = os.path.basename(self.distro_release_file) + # The file name pattern for user-specified distro release files + # is somewhat more tolerant (compared to when searching for the + # file), because we want to use what was specified as best as + # possible. + match = _DISTRO_RELEASE_BASENAME_PATTERN.match(basename) + if match: + distro_info['id'] = match.group(1) + return distro_info + else: + try: + basenames = os.listdir(_UNIXCONFDIR) + # We sort for repeatability in cases where there are multiple + # distro specific files; e.g. CentOS, Oracle, Enterprise all + # containing `redhat-release` on top of their own. + basenames.sort() + except OSError: + # This may occur when /etc is not readable but we can't be + # sure about the *-release files. Check common entries of + # /etc for information. If they turn out to not be there the + # error is handled in `_parse_distro_release_file()`. + basenames = ['SuSE-release', + 'arch-release', + 'base-release', + 'centos-release', + 'fedora-release', + 'gentoo-release', + 'mageia-release', + 'mandrake-release', + 'mandriva-release', + 'mandrivalinux-release', + 'manjaro-release', + 'oracle-release', + 'redhat-release', + 'sl-release', + 'slackware-version'] + for basename in basenames: + if basename in _DISTRO_RELEASE_IGNORE_BASENAMES: + continue + match = _DISTRO_RELEASE_BASENAME_PATTERN.match(basename) + if match: + filepath = os.path.join(_UNIXCONFDIR, basename) + distro_info = self._parse_distro_release_file(filepath) + if 'name' in distro_info: + # The name is always present if the pattern matches + self.distro_release_file = filepath + distro_info['id'] = match.group(1) + return distro_info + return {} + + def _parse_distro_release_file(self, filepath): + """ + Parse a distro release file. + + Parameters: + + * filepath: Path name of the distro release file. + + Returns: + A dictionary containing all information items. + """ + try: + with open(filepath) as fp: + # Only parse the first line. For instance, on SLES there + # are multiple lines. We don't want them... + return self._parse_distro_release_content(fp.readline()) + except (OSError, IOError): + # Ignore not being able to read a specific, seemingly version + # related file. + # See https://github.com/nir0s/distro/issues/162 + return {} + + @staticmethod + def _parse_distro_release_content(line): + """ + Parse a line from a distro release file. + + Parameters: + * line: Line from the distro release file. Must be a unicode string + or a UTF-8 encoded byte string. + + Returns: + A dictionary containing all information items. + """ + if isinstance(line, bytes): + line = line.decode('utf-8') + matches = _DISTRO_RELEASE_CONTENT_REVERSED_PATTERN.match( + line.strip()[::-1]) + distro_info = {} + if matches: + # regexp ensures non-None + distro_info['name'] = matches.group(3)[::-1] + if matches.group(2): + distro_info['version_id'] = matches.group(2)[::-1] + if matches.group(1): + distro_info['codename'] = matches.group(1)[::-1] + elif line: + distro_info['name'] = line.strip() + return distro_info + + +_distro = LinuxDistribution() + + +def main(): + logger = logging.getLogger(__name__) + logger.setLevel(logging.DEBUG) + logger.addHandler(logging.StreamHandler(sys.stdout)) + + parser = argparse.ArgumentParser(description="OS distro info tool") + parser.add_argument( + '--json', + '-j', + help="Output in machine readable format", + action="store_true") + args = parser.parse_args() + + if args.json: + logger.info(json.dumps(info(), indent=4, sort_keys=True)) + else: + logger.info('Name: %s', name(pretty=True)) + distribution_version = version(pretty=True) + logger.info('Version: %s', distribution_version) + distribution_codename = codename() + logger.info('Codename: %s', distribution_codename) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__init__.py new file mode 100644 index 0000000..0491234 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/__init__.py @@ -0,0 +1,35 @@ +""" +HTML parsing library based on the `WHATWG HTML specification +<https://whatwg.org/html>`_. The parser is designed to be compatible with +existing HTML found in the wild and implements well-defined error recovery that +is largely compatible with modern desktop web browsers. + +Example usage:: + + from pip._vendor import html5lib + with open("my_document.html", "rb") as f: + tree = html5lib.parse(f) + +For convenience, this module re-exports the following names: + +* :func:`~.html5parser.parse` +* :func:`~.html5parser.parseFragment` +* :class:`~.html5parser.HTMLParser` +* :func:`~.treebuilders.getTreeBuilder` +* :func:`~.treewalkers.getTreeWalker` +* :func:`~.serializer.serialize` +""" + +from __future__ import absolute_import, division, unicode_literals + +from .html5parser import HTMLParser, parse, parseFragment +from .treebuilders import getTreeBuilder +from .treewalkers import getTreeWalker +from .serializer import serialize + +__all__ = ["HTMLParser", "parse", "parseFragment", "getTreeBuilder", + "getTreeWalker", "serialize"] + +# this has to be at the top level, see how setup.py parses this +#: Distribution version number. +__version__ = "1.0.1" diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_ihatexml.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_ihatexml.py new file mode 100644 index 0000000..4c77717 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_ihatexml.py @@ -0,0 +1,288 @@ +from __future__ import absolute_import, division, unicode_literals + +import re +import warnings + +from .constants import DataLossWarning + +baseChar = """ +[#x0041-#x005A] | [#x0061-#x007A] | [#x00C0-#x00D6] | [#x00D8-#x00F6] | +[#x00F8-#x00FF] | [#x0100-#x0131] | [#x0134-#x013E] | [#x0141-#x0148] | +[#x014A-#x017E] | [#x0180-#x01C3] | [#x01CD-#x01F0] | [#x01F4-#x01F5] | +[#x01FA-#x0217] | [#x0250-#x02A8] | [#x02BB-#x02C1] | #x0386 | +[#x0388-#x038A] | #x038C | [#x038E-#x03A1] | [#x03A3-#x03CE] | +[#x03D0-#x03D6] | #x03DA | #x03DC | #x03DE | #x03E0 | [#x03E2-#x03F3] | +[#x0401-#x040C] | [#x040E-#x044F] | [#x0451-#x045C] | [#x045E-#x0481] | +[#x0490-#x04C4] | [#x04C7-#x04C8] | [#x04CB-#x04CC] | [#x04D0-#x04EB] | +[#x04EE-#x04F5] | [#x04F8-#x04F9] | [#x0531-#x0556] | #x0559 | +[#x0561-#x0586] | [#x05D0-#x05EA] | [#x05F0-#x05F2] | [#x0621-#x063A] | +[#x0641-#x064A] | [#x0671-#x06B7] | [#x06BA-#x06BE] | [#x06C0-#x06CE] | +[#x06D0-#x06D3] | #x06D5 | [#x06E5-#x06E6] | [#x0905-#x0939] | #x093D | +[#x0958-#x0961] | [#x0985-#x098C] | [#x098F-#x0990] | [#x0993-#x09A8] | +[#x09AA-#x09B0] | #x09B2 | [#x09B6-#x09B9] | [#x09DC-#x09DD] | +[#x09DF-#x09E1] | [#x09F0-#x09F1] | [#x0A05-#x0A0A] | [#x0A0F-#x0A10] | +[#x0A13-#x0A28] | [#x0A2A-#x0A30] | [#x0A32-#x0A33] | [#x0A35-#x0A36] | +[#x0A38-#x0A39] | [#x0A59-#x0A5C] | #x0A5E | [#x0A72-#x0A74] | +[#x0A85-#x0A8B] | #x0A8D | [#x0A8F-#x0A91] | [#x0A93-#x0AA8] | +[#x0AAA-#x0AB0] | [#x0AB2-#x0AB3] | [#x0AB5-#x0AB9] | #x0ABD | #x0AE0 | +[#x0B05-#x0B0C] | [#x0B0F-#x0B10] | [#x0B13-#x0B28] | [#x0B2A-#x0B30] | +[#x0B32-#x0B33] | [#x0B36-#x0B39] | #x0B3D | [#x0B5C-#x0B5D] | +[#x0B5F-#x0B61] | [#x0B85-#x0B8A] | [#x0B8E-#x0B90] | [#x0B92-#x0B95] | +[#x0B99-#x0B9A] | #x0B9C | [#x0B9E-#x0B9F] | [#x0BA3-#x0BA4] | +[#x0BA8-#x0BAA] | [#x0BAE-#x0BB5] | [#x0BB7-#x0BB9] | [#x0C05-#x0C0C] | +[#x0C0E-#x0C10] | [#x0C12-#x0C28] | [#x0C2A-#x0C33] | [#x0C35-#x0C39] | +[#x0C60-#x0C61] | [#x0C85-#x0C8C] | [#x0C8E-#x0C90] | [#x0C92-#x0CA8] | +[#x0CAA-#x0CB3] | [#x0CB5-#x0CB9] | #x0CDE | [#x0CE0-#x0CE1] | +[#x0D05-#x0D0C] | [#x0D0E-#x0D10] | [#x0D12-#x0D28] | [#x0D2A-#x0D39] | +[#x0D60-#x0D61] | [#x0E01-#x0E2E] | #x0E30 | [#x0E32-#x0E33] | +[#x0E40-#x0E45] | [#x0E81-#x0E82] | #x0E84 | [#x0E87-#x0E88] | #x0E8A | +#x0E8D | [#x0E94-#x0E97] | [#x0E99-#x0E9F] | [#x0EA1-#x0EA3] | #x0EA5 | +#x0EA7 | [#x0EAA-#x0EAB] | [#x0EAD-#x0EAE] | #x0EB0 | [#x0EB2-#x0EB3] | +#x0EBD | [#x0EC0-#x0EC4] | [#x0F40-#x0F47] | [#x0F49-#x0F69] | +[#x10A0-#x10C5] | [#x10D0-#x10F6] | #x1100 | [#x1102-#x1103] | +[#x1105-#x1107] | #x1109 | [#x110B-#x110C] | [#x110E-#x1112] | #x113C | +#x113E | #x1140 | #x114C | #x114E | #x1150 | [#x1154-#x1155] | #x1159 | +[#x115F-#x1161] | #x1163 | #x1165 | #x1167 | #x1169 | [#x116D-#x116E] | +[#x1172-#x1173] | #x1175 | #x119E | #x11A8 | #x11AB | [#x11AE-#x11AF] | +[#x11B7-#x11B8] | #x11BA | [#x11BC-#x11C2] | #x11EB | #x11F0 | #x11F9 | +[#x1E00-#x1E9B] | [#x1EA0-#x1EF9] | [#x1F00-#x1F15] | [#x1F18-#x1F1D] | +[#x1F20-#x1F45] | [#x1F48-#x1F4D] | [#x1F50-#x1F57] | #x1F59 | #x1F5B | +#x1F5D | [#x1F5F-#x1F7D] | [#x1F80-#x1FB4] | [#x1FB6-#x1FBC] | #x1FBE | +[#x1FC2-#x1FC4] | [#x1FC6-#x1FCC] | [#x1FD0-#x1FD3] | [#x1FD6-#x1FDB] | +[#x1FE0-#x1FEC] | [#x1FF2-#x1FF4] | [#x1FF6-#x1FFC] | #x2126 | +[#x212A-#x212B] | #x212E | [#x2180-#x2182] | [#x3041-#x3094] | +[#x30A1-#x30FA] | [#x3105-#x312C] | [#xAC00-#xD7A3]""" + +ideographic = """[#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]""" + +combiningCharacter = """ +[#x0300-#x0345] | [#x0360-#x0361] | [#x0483-#x0486] | [#x0591-#x05A1] | +[#x05A3-#x05B9] | [#x05BB-#x05BD] | #x05BF | [#x05C1-#x05C2] | #x05C4 | +[#x064B-#x0652] | #x0670 | [#x06D6-#x06DC] | [#x06DD-#x06DF] | +[#x06E0-#x06E4] | [#x06E7-#x06E8] | [#x06EA-#x06ED] | [#x0901-#x0903] | +#x093C | [#x093E-#x094C] | #x094D | [#x0951-#x0954] | [#x0962-#x0963] | +[#x0981-#x0983] | #x09BC | #x09BE | #x09BF | [#x09C0-#x09C4] | +[#x09C7-#x09C8] | [#x09CB-#x09CD] | #x09D7 | [#x09E2-#x09E3] | #x0A02 | +#x0A3C | #x0A3E | #x0A3F | [#x0A40-#x0A42] | [#x0A47-#x0A48] | +[#x0A4B-#x0A4D] | [#x0A70-#x0A71] | [#x0A81-#x0A83] | #x0ABC | +[#x0ABE-#x0AC5] | [#x0AC7-#x0AC9] | [#x0ACB-#x0ACD] | [#x0B01-#x0B03] | +#x0B3C | [#x0B3E-#x0B43] | [#x0B47-#x0B48] | [#x0B4B-#x0B4D] | +[#x0B56-#x0B57] | [#x0B82-#x0B83] | [#x0BBE-#x0BC2] | [#x0BC6-#x0BC8] | +[#x0BCA-#x0BCD] | #x0BD7 | [#x0C01-#x0C03] | [#x0C3E-#x0C44] | +[#x0C46-#x0C48] | [#x0C4A-#x0C4D] | [#x0C55-#x0C56] | [#x0C82-#x0C83] | +[#x0CBE-#x0CC4] | [#x0CC6-#x0CC8] | [#x0CCA-#x0CCD] | [#x0CD5-#x0CD6] | +[#x0D02-#x0D03] | [#x0D3E-#x0D43] | [#x0D46-#x0D48] | [#x0D4A-#x0D4D] | +#x0D57 | #x0E31 | [#x0E34-#x0E3A] | [#x0E47-#x0E4E] | #x0EB1 | +[#x0EB4-#x0EB9] | [#x0EBB-#x0EBC] | [#x0EC8-#x0ECD] | [#x0F18-#x0F19] | +#x0F35 | #x0F37 | #x0F39 | #x0F3E | #x0F3F | [#x0F71-#x0F84] | +[#x0F86-#x0F8B] | [#x0F90-#x0F95] | #x0F97 | [#x0F99-#x0FAD] | +[#x0FB1-#x0FB7] | #x0FB9 | [#x20D0-#x20DC] | #x20E1 | [#x302A-#x302F] | +#x3099 | #x309A""" + +digit = """ +[#x0030-#x0039] | [#x0660-#x0669] | [#x06F0-#x06F9] | [#x0966-#x096F] | +[#x09E6-#x09EF] | [#x0A66-#x0A6F] | [#x0AE6-#x0AEF] | [#x0B66-#x0B6F] | +[#x0BE7-#x0BEF] | [#x0C66-#x0C6F] | [#x0CE6-#x0CEF] | [#x0D66-#x0D6F] | +[#x0E50-#x0E59] | [#x0ED0-#x0ED9] | [#x0F20-#x0F29]""" + +extender = """ +#x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | +#[#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]""" + +letter = " | ".join([baseChar, ideographic]) + +# Without the +name = " | ".join([letter, digit, ".", "-", "_", combiningCharacter, + extender]) +nameFirst = " | ".join([letter, "_"]) + +reChar = re.compile(r"#x([\d|A-F]{4,4})") +reCharRange = re.compile(r"\[#x([\d|A-F]{4,4})-#x([\d|A-F]{4,4})\]") + + +def charStringToList(chars): + charRanges = [item.strip() for item in chars.split(" | ")] + rv = [] + for item in charRanges: + foundMatch = False + for regexp in (reChar, reCharRange): + match = regexp.match(item) + if match is not None: + rv.append([hexToInt(item) for item in match.groups()]) + if len(rv[-1]) == 1: + rv[-1] = rv[-1] * 2 + foundMatch = True + break + if not foundMatch: + assert len(item) == 1 + + rv.append([ord(item)] * 2) + rv = normaliseCharList(rv) + return rv + + +def normaliseCharList(charList): + charList = sorted(charList) + for item in charList: + assert item[1] >= item[0] + rv = [] + i = 0 + while i < len(charList): + j = 1 + rv.append(charList[i]) + while i + j < len(charList) and charList[i + j][0] <= rv[-1][1] + 1: + rv[-1][1] = charList[i + j][1] + j += 1 + i += j + return rv + +# We don't really support characters above the BMP :( +max_unicode = int("FFFF", 16) + + +def missingRanges(charList): + rv = [] + if charList[0] != 0: + rv.append([0, charList[0][0] - 1]) + for i, item in enumerate(charList[:-1]): + rv.append([item[1] + 1, charList[i + 1][0] - 1]) + if charList[-1][1] != max_unicode: + rv.append([charList[-1][1] + 1, max_unicode]) + return rv + + +def listToRegexpStr(charList): + rv = [] + for item in charList: + if item[0] == item[1]: + rv.append(escapeRegexp(chr(item[0]))) + else: + rv.append(escapeRegexp(chr(item[0])) + "-" + + escapeRegexp(chr(item[1]))) + return "[%s]" % "".join(rv) + + +def hexToInt(hex_str): + return int(hex_str, 16) + + +def escapeRegexp(string): + specialCharacters = (".", "^", "$", "*", "+", "?", "{", "}", + "[", "]", "|", "(", ")", "-") + for char in specialCharacters: + string = string.replace(char, "\\" + char) + + return string + +# output from the above +nonXmlNameBMPRegexp = re.compile('[\x00-,/:-@\\[-\\^`\\{-\xb6\xb8-\xbf\xd7\xf7\u0132-\u0133\u013f-\u0140\u0149\u017f\u01c4-\u01cc\u01f1-\u01f3\u01f6-\u01f9\u0218-\u024f\u02a9-\u02ba\u02c2-\u02cf\u02d2-\u02ff\u0346-\u035f\u0362-\u0385\u038b\u038d\u03a2\u03cf\u03d7-\u03d9\u03db\u03dd\u03df\u03e1\u03f4-\u0400\u040d\u0450\u045d\u0482\u0487-\u048f\u04c5-\u04c6\u04c9-\u04ca\u04cd-\u04cf\u04ec-\u04ed\u04f6-\u04f7\u04fa-\u0530\u0557-\u0558\u055a-\u0560\u0587-\u0590\u05a2\u05ba\u05be\u05c0\u05c3\u05c5-\u05cf\u05eb-\u05ef\u05f3-\u0620\u063b-\u063f\u0653-\u065f\u066a-\u066f\u06b8-\u06b9\u06bf\u06cf\u06d4\u06e9\u06ee-\u06ef\u06fa-\u0900\u0904\u093a-\u093b\u094e-\u0950\u0955-\u0957\u0964-\u0965\u0970-\u0980\u0984\u098d-\u098e\u0991-\u0992\u09a9\u09b1\u09b3-\u09b5\u09ba-\u09bb\u09bd\u09c5-\u09c6\u09c9-\u09ca\u09ce-\u09d6\u09d8-\u09db\u09de\u09e4-\u09e5\u09f2-\u0a01\u0a03-\u0a04\u0a0b-\u0a0e\u0a11-\u0a12\u0a29\u0a31\u0a34\u0a37\u0a3a-\u0a3b\u0a3d\u0a43-\u0a46\u0a49-\u0a4a\u0a4e-\u0a58\u0a5d\u0a5f-\u0a65\u0a75-\u0a80\u0a84\u0a8c\u0a8e\u0a92\u0aa9\u0ab1\u0ab4\u0aba-\u0abb\u0ac6\u0aca\u0ace-\u0adf\u0ae1-\u0ae5\u0af0-\u0b00\u0b04\u0b0d-\u0b0e\u0b11-\u0b12\u0b29\u0b31\u0b34-\u0b35\u0b3a-\u0b3b\u0b44-\u0b46\u0b49-\u0b4a\u0b4e-\u0b55\u0b58-\u0b5b\u0b5e\u0b62-\u0b65\u0b70-\u0b81\u0b84\u0b8b-\u0b8d\u0b91\u0b96-\u0b98\u0b9b\u0b9d\u0ba0-\u0ba2\u0ba5-\u0ba7\u0bab-\u0bad\u0bb6\u0bba-\u0bbd\u0bc3-\u0bc5\u0bc9\u0bce-\u0bd6\u0bd8-\u0be6\u0bf0-\u0c00\u0c04\u0c0d\u0c11\u0c29\u0c34\u0c3a-\u0c3d\u0c45\u0c49\u0c4e-\u0c54\u0c57-\u0c5f\u0c62-\u0c65\u0c70-\u0c81\u0c84\u0c8d\u0c91\u0ca9\u0cb4\u0cba-\u0cbd\u0cc5\u0cc9\u0cce-\u0cd4\u0cd7-\u0cdd\u0cdf\u0ce2-\u0ce5\u0cf0-\u0d01\u0d04\u0d0d\u0d11\u0d29\u0d3a-\u0d3d\u0d44-\u0d45\u0d49\u0d4e-\u0d56\u0d58-\u0d5f\u0d62-\u0d65\u0d70-\u0e00\u0e2f\u0e3b-\u0e3f\u0e4f\u0e5a-\u0e80\u0e83\u0e85-\u0e86\u0e89\u0e8b-\u0e8c\u0e8e-\u0e93\u0e98\u0ea0\u0ea4\u0ea6\u0ea8-\u0ea9\u0eac\u0eaf\u0eba\u0ebe-\u0ebf\u0ec5\u0ec7\u0ece-\u0ecf\u0eda-\u0f17\u0f1a-\u0f1f\u0f2a-\u0f34\u0f36\u0f38\u0f3a-\u0f3d\u0f48\u0f6a-\u0f70\u0f85\u0f8c-\u0f8f\u0f96\u0f98\u0fae-\u0fb0\u0fb8\u0fba-\u109f\u10c6-\u10cf\u10f7-\u10ff\u1101\u1104\u1108\u110a\u110d\u1113-\u113b\u113d\u113f\u1141-\u114b\u114d\u114f\u1151-\u1153\u1156-\u1158\u115a-\u115e\u1162\u1164\u1166\u1168\u116a-\u116c\u116f-\u1171\u1174\u1176-\u119d\u119f-\u11a7\u11a9-\u11aa\u11ac-\u11ad\u11b0-\u11b6\u11b9\u11bb\u11c3-\u11ea\u11ec-\u11ef\u11f1-\u11f8\u11fa-\u1dff\u1e9c-\u1e9f\u1efa-\u1eff\u1f16-\u1f17\u1f1e-\u1f1f\u1f46-\u1f47\u1f4e-\u1f4f\u1f58\u1f5a\u1f5c\u1f5e\u1f7e-\u1f7f\u1fb5\u1fbd\u1fbf-\u1fc1\u1fc5\u1fcd-\u1fcf\u1fd4-\u1fd5\u1fdc-\u1fdf\u1fed-\u1ff1\u1ff5\u1ffd-\u20cf\u20dd-\u20e0\u20e2-\u2125\u2127-\u2129\u212c-\u212d\u212f-\u217f\u2183-\u3004\u3006\u3008-\u3020\u3030\u3036-\u3040\u3095-\u3098\u309b-\u309c\u309f-\u30a0\u30fb\u30ff-\u3104\u312d-\u4dff\u9fa6-\uabff\ud7a4-\uffff]') # noqa + +nonXmlNameFirstBMPRegexp = re.compile('[\x00-@\\[-\\^`\\{-\xbf\xd7\xf7\u0132-\u0133\u013f-\u0140\u0149\u017f\u01c4-\u01cc\u01f1-\u01f3\u01f6-\u01f9\u0218-\u024f\u02a9-\u02ba\u02c2-\u0385\u0387\u038b\u038d\u03a2\u03cf\u03d7-\u03d9\u03db\u03dd\u03df\u03e1\u03f4-\u0400\u040d\u0450\u045d\u0482-\u048f\u04c5-\u04c6\u04c9-\u04ca\u04cd-\u04cf\u04ec-\u04ed\u04f6-\u04f7\u04fa-\u0530\u0557-\u0558\u055a-\u0560\u0587-\u05cf\u05eb-\u05ef\u05f3-\u0620\u063b-\u0640\u064b-\u0670\u06b8-\u06b9\u06bf\u06cf\u06d4\u06d6-\u06e4\u06e7-\u0904\u093a-\u093c\u093e-\u0957\u0962-\u0984\u098d-\u098e\u0991-\u0992\u09a9\u09b1\u09b3-\u09b5\u09ba-\u09db\u09de\u09e2-\u09ef\u09f2-\u0a04\u0a0b-\u0a0e\u0a11-\u0a12\u0a29\u0a31\u0a34\u0a37\u0a3a-\u0a58\u0a5d\u0a5f-\u0a71\u0a75-\u0a84\u0a8c\u0a8e\u0a92\u0aa9\u0ab1\u0ab4\u0aba-\u0abc\u0abe-\u0adf\u0ae1-\u0b04\u0b0d-\u0b0e\u0b11-\u0b12\u0b29\u0b31\u0b34-\u0b35\u0b3a-\u0b3c\u0b3e-\u0b5b\u0b5e\u0b62-\u0b84\u0b8b-\u0b8d\u0b91\u0b96-\u0b98\u0b9b\u0b9d\u0ba0-\u0ba2\u0ba5-\u0ba7\u0bab-\u0bad\u0bb6\u0bba-\u0c04\u0c0d\u0c11\u0c29\u0c34\u0c3a-\u0c5f\u0c62-\u0c84\u0c8d\u0c91\u0ca9\u0cb4\u0cba-\u0cdd\u0cdf\u0ce2-\u0d04\u0d0d\u0d11\u0d29\u0d3a-\u0d5f\u0d62-\u0e00\u0e2f\u0e31\u0e34-\u0e3f\u0e46-\u0e80\u0e83\u0e85-\u0e86\u0e89\u0e8b-\u0e8c\u0e8e-\u0e93\u0e98\u0ea0\u0ea4\u0ea6\u0ea8-\u0ea9\u0eac\u0eaf\u0eb1\u0eb4-\u0ebc\u0ebe-\u0ebf\u0ec5-\u0f3f\u0f48\u0f6a-\u109f\u10c6-\u10cf\u10f7-\u10ff\u1101\u1104\u1108\u110a\u110d\u1113-\u113b\u113d\u113f\u1141-\u114b\u114d\u114f\u1151-\u1153\u1156-\u1158\u115a-\u115e\u1162\u1164\u1166\u1168\u116a-\u116c\u116f-\u1171\u1174\u1176-\u119d\u119f-\u11a7\u11a9-\u11aa\u11ac-\u11ad\u11b0-\u11b6\u11b9\u11bb\u11c3-\u11ea\u11ec-\u11ef\u11f1-\u11f8\u11fa-\u1dff\u1e9c-\u1e9f\u1efa-\u1eff\u1f16-\u1f17\u1f1e-\u1f1f\u1f46-\u1f47\u1f4e-\u1f4f\u1f58\u1f5a\u1f5c\u1f5e\u1f7e-\u1f7f\u1fb5\u1fbd\u1fbf-\u1fc1\u1fc5\u1fcd-\u1fcf\u1fd4-\u1fd5\u1fdc-\u1fdf\u1fed-\u1ff1\u1ff5\u1ffd-\u2125\u2127-\u2129\u212c-\u212d\u212f-\u217f\u2183-\u3006\u3008-\u3020\u302a-\u3040\u3095-\u30a0\u30fb-\u3104\u312d-\u4dff\u9fa6-\uabff\ud7a4-\uffff]') # noqa + +# Simpler things +nonPubidCharRegexp = re.compile("[^\x20\x0D\x0Aa-zA-Z0-9\\-'()+,./:=?;!*#@$_%]") + + +class InfosetFilter(object): + replacementRegexp = re.compile(r"U[\dA-F]{5,5}") + + def __init__(self, + dropXmlnsLocalName=False, + dropXmlnsAttrNs=False, + preventDoubleDashComments=False, + preventDashAtCommentEnd=False, + replaceFormFeedCharacters=True, + preventSingleQuotePubid=False): + + self.dropXmlnsLocalName = dropXmlnsLocalName + self.dropXmlnsAttrNs = dropXmlnsAttrNs + + self.preventDoubleDashComments = preventDoubleDashComments + self.preventDashAtCommentEnd = preventDashAtCommentEnd + + self.replaceFormFeedCharacters = replaceFormFeedCharacters + + self.preventSingleQuotePubid = preventSingleQuotePubid + + self.replaceCache = {} + + def coerceAttribute(self, name, namespace=None): + if self.dropXmlnsLocalName and name.startswith("xmlns:"): + warnings.warn("Attributes cannot begin with xmlns", DataLossWarning) + return None + elif (self.dropXmlnsAttrNs and + namespace == "http://www.w3.org/2000/xmlns/"): + warnings.warn("Attributes cannot be in the xml namespace", DataLossWarning) + return None + else: + return self.toXmlName(name) + + def coerceElement(self, name): + return self.toXmlName(name) + + def coerceComment(self, data): + if self.preventDoubleDashComments: + while "--" in data: + warnings.warn("Comments cannot contain adjacent dashes", DataLossWarning) + data = data.replace("--", "- -") + if data.endswith("-"): + warnings.warn("Comments cannot end in a dash", DataLossWarning) + data += " " + return data + + def coerceCharacters(self, data): + if self.replaceFormFeedCharacters: + for _ in range(data.count("\x0C")): + warnings.warn("Text cannot contain U+000C", DataLossWarning) + data = data.replace("\x0C", " ") + # Other non-xml characters + return data + + def coercePubid(self, data): + dataOutput = data + for char in nonPubidCharRegexp.findall(data): + warnings.warn("Coercing non-XML pubid", DataLossWarning) + replacement = self.getReplacementCharacter(char) + dataOutput = dataOutput.replace(char, replacement) + if self.preventSingleQuotePubid and dataOutput.find("'") >= 0: + warnings.warn("Pubid cannot contain single quote", DataLossWarning) + dataOutput = dataOutput.replace("'", self.getReplacementCharacter("'")) + return dataOutput + + def toXmlName(self, name): + nameFirst = name[0] + nameRest = name[1:] + m = nonXmlNameFirstBMPRegexp.match(nameFirst) + if m: + warnings.warn("Coercing non-XML name", DataLossWarning) + nameFirstOutput = self.getReplacementCharacter(nameFirst) + else: + nameFirstOutput = nameFirst + + nameRestOutput = nameRest + replaceChars = set(nonXmlNameBMPRegexp.findall(nameRest)) + for char in replaceChars: + warnings.warn("Coercing non-XML name", DataLossWarning) + replacement = self.getReplacementCharacter(char) + nameRestOutput = nameRestOutput.replace(char, replacement) + return nameFirstOutput + nameRestOutput + + def getReplacementCharacter(self, char): + if char in self.replaceCache: + replacement = self.replaceCache[char] + else: + replacement = self.escapeChar(char) + return replacement + + def fromXmlName(self, name): + for item in set(self.replacementRegexp.findall(name)): + name = name.replace(item, self.unescapeChar(item)) + return name + + def escapeChar(self, char): + replacement = "U%05X" % ord(char) + self.replaceCache[char] = replacement + return replacement + + def unescapeChar(self, charcode): + return chr(int(charcode[1:], 16)) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_inputstream.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_inputstream.py new file mode 100644 index 0000000..a65e55f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_inputstream.py @@ -0,0 +1,923 @@ +from __future__ import absolute_import, division, unicode_literals + +from pip._vendor.six import text_type, binary_type +from pip._vendor.six.moves import http_client, urllib + +import codecs +import re + +from pip._vendor import webencodings + +from .constants import EOF, spaceCharacters, asciiLetters, asciiUppercase +from .constants import _ReparseException +from . import _utils + +from io import StringIO + +try: + from io import BytesIO +except ImportError: + BytesIO = StringIO + +# Non-unicode versions of constants for use in the pre-parser +spaceCharactersBytes = frozenset([item.encode("ascii") for item in spaceCharacters]) +asciiLettersBytes = frozenset([item.encode("ascii") for item in asciiLetters]) +asciiUppercaseBytes = frozenset([item.encode("ascii") for item in asciiUppercase]) +spacesAngleBrackets = spaceCharactersBytes | frozenset([b">", b"<"]) + + +invalid_unicode_no_surrogate = "[\u0001-\u0008\u000B\u000E-\u001F\u007F-\u009F\uFDD0-\uFDEF\uFFFE\uFFFF\U0001FFFE\U0001FFFF\U0002FFFE\U0002FFFF\U0003FFFE\U0003FFFF\U0004FFFE\U0004FFFF\U0005FFFE\U0005FFFF\U0006FFFE\U0006FFFF\U0007FFFE\U0007FFFF\U0008FFFE\U0008FFFF\U0009FFFE\U0009FFFF\U000AFFFE\U000AFFFF\U000BFFFE\U000BFFFF\U000CFFFE\U000CFFFF\U000DFFFE\U000DFFFF\U000EFFFE\U000EFFFF\U000FFFFE\U000FFFFF\U0010FFFE\U0010FFFF]" # noqa + +if _utils.supports_lone_surrogates: + # Use one extra step of indirection and create surrogates with + # eval. Not using this indirection would introduce an illegal + # unicode literal on platforms not supporting such lone + # surrogates. + assert invalid_unicode_no_surrogate[-1] == "]" and invalid_unicode_no_surrogate.count("]") == 1 + invalid_unicode_re = re.compile(invalid_unicode_no_surrogate[:-1] + + eval('"\\uD800-\\uDFFF"') + # pylint:disable=eval-used + "]") +else: + invalid_unicode_re = re.compile(invalid_unicode_no_surrogate) + +non_bmp_invalid_codepoints = set([0x1FFFE, 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, + 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, 0x5FFFF, + 0x6FFFE, 0x6FFFF, 0x7FFFE, 0x7FFFF, 0x8FFFE, + 0x8FFFF, 0x9FFFE, 0x9FFFF, 0xAFFFE, 0xAFFFF, + 0xBFFFE, 0xBFFFF, 0xCFFFE, 0xCFFFF, 0xDFFFE, + 0xDFFFF, 0xEFFFE, 0xEFFFF, 0xFFFFE, 0xFFFFF, + 0x10FFFE, 0x10FFFF]) + +ascii_punctuation_re = re.compile("[\u0009-\u000D\u0020-\u002F\u003A-\u0040\u005C\u005B-\u0060\u007B-\u007E]") + +# Cache for charsUntil() +charsUntilRegEx = {} + + +class BufferedStream(object): + """Buffering for streams that do not have buffering of their own + + The buffer is implemented as a list of chunks on the assumption that + joining many strings will be slow since it is O(n**2) + """ + + def __init__(self, stream): + self.stream = stream + self.buffer = [] + self.position = [-1, 0] # chunk number, offset + + def tell(self): + pos = 0 + for chunk in self.buffer[:self.position[0]]: + pos += len(chunk) + pos += self.position[1] + return pos + + def seek(self, pos): + assert pos <= self._bufferedBytes() + offset = pos + i = 0 + while len(self.buffer[i]) < offset: + offset -= len(self.buffer[i]) + i += 1 + self.position = [i, offset] + + def read(self, bytes): + if not self.buffer: + return self._readStream(bytes) + elif (self.position[0] == len(self.buffer) and + self.position[1] == len(self.buffer[-1])): + return self._readStream(bytes) + else: + return self._readFromBuffer(bytes) + + def _bufferedBytes(self): + return sum([len(item) for item in self.buffer]) + + def _readStream(self, bytes): + data = self.stream.read(bytes) + self.buffer.append(data) + self.position[0] += 1 + self.position[1] = len(data) + return data + + def _readFromBuffer(self, bytes): + remainingBytes = bytes + rv = [] + bufferIndex = self.position[0] + bufferOffset = self.position[1] + while bufferIndex < len(self.buffer) and remainingBytes != 0: + assert remainingBytes > 0 + bufferedData = self.buffer[bufferIndex] + + if remainingBytes <= len(bufferedData) - bufferOffset: + bytesToRead = remainingBytes + self.position = [bufferIndex, bufferOffset + bytesToRead] + else: + bytesToRead = len(bufferedData) - bufferOffset + self.position = [bufferIndex, len(bufferedData)] + bufferIndex += 1 + rv.append(bufferedData[bufferOffset:bufferOffset + bytesToRead]) + remainingBytes -= bytesToRead + + bufferOffset = 0 + + if remainingBytes: + rv.append(self._readStream(remainingBytes)) + + return b"".join(rv) + + +def HTMLInputStream(source, **kwargs): + # Work around Python bug #20007: read(0) closes the connection. + # http://bugs.python.org/issue20007 + if (isinstance(source, http_client.HTTPResponse) or + # Also check for addinfourl wrapping HTTPResponse + (isinstance(source, urllib.response.addbase) and + isinstance(source.fp, http_client.HTTPResponse))): + isUnicode = False + elif hasattr(source, "read"): + isUnicode = isinstance(source.read(0), text_type) + else: + isUnicode = isinstance(source, text_type) + + if isUnicode: + encodings = [x for x in kwargs if x.endswith("_encoding")] + if encodings: + raise TypeError("Cannot set an encoding with a unicode input, set %r" % encodings) + + return HTMLUnicodeInputStream(source, **kwargs) + else: + return HTMLBinaryInputStream(source, **kwargs) + + +class HTMLUnicodeInputStream(object): + """Provides a unicode stream of characters to the HTMLTokenizer. + + This class takes care of character encoding and removing or replacing + incorrect byte-sequences and also provides column and line tracking. + + """ + + _defaultChunkSize = 10240 + + def __init__(self, source): + """Initialises the HTMLInputStream. + + HTMLInputStream(source, [encoding]) -> Normalized stream from source + for use by html5lib. + + source can be either a file-object, local filename or a string. + + The optional encoding parameter must be a string that indicates + the encoding. If specified, that encoding will be used, + regardless of any BOM or later declaration (such as in a meta + element) + + """ + + if not _utils.supports_lone_surrogates: + # Such platforms will have already checked for such + # surrogate errors, so no need to do this checking. + self.reportCharacterErrors = None + elif len("\U0010FFFF") == 1: + self.reportCharacterErrors = self.characterErrorsUCS4 + else: + self.reportCharacterErrors = self.characterErrorsUCS2 + + # List of where new lines occur + self.newLines = [0] + + self.charEncoding = (lookupEncoding("utf-8"), "certain") + self.dataStream = self.openStream(source) + + self.reset() + + def reset(self): + self.chunk = "" + self.chunkSize = 0 + self.chunkOffset = 0 + self.errors = [] + + # number of (complete) lines in previous chunks + self.prevNumLines = 0 + # number of columns in the last line of the previous chunk + self.prevNumCols = 0 + + # Deal with CR LF and surrogates split over chunk boundaries + self._bufferedCharacter = None + + def openStream(self, source): + """Produces a file object from source. + + source can be either a file object, local filename or a string. + + """ + # Already a file object + if hasattr(source, 'read'): + stream = source + else: + stream = StringIO(source) + + return stream + + def _position(self, offset): + chunk = self.chunk + nLines = chunk.count('\n', 0, offset) + positionLine = self.prevNumLines + nLines + lastLinePos = chunk.rfind('\n', 0, offset) + if lastLinePos == -1: + positionColumn = self.prevNumCols + offset + else: + positionColumn = offset - (lastLinePos + 1) + return (positionLine, positionColumn) + + def position(self): + """Returns (line, col) of the current position in the stream.""" + line, col = self._position(self.chunkOffset) + return (line + 1, col) + + def char(self): + """ Read one character from the stream or queue if available. Return + EOF when EOF is reached. + """ + # Read a new chunk from the input stream if necessary + if self.chunkOffset >= self.chunkSize: + if not self.readChunk(): + return EOF + + chunkOffset = self.chunkOffset + char = self.chunk[chunkOffset] + self.chunkOffset = chunkOffset + 1 + + return char + + def readChunk(self, chunkSize=None): + if chunkSize is None: + chunkSize = self._defaultChunkSize + + self.prevNumLines, self.prevNumCols = self._position(self.chunkSize) + + self.chunk = "" + self.chunkSize = 0 + self.chunkOffset = 0 + + data = self.dataStream.read(chunkSize) + + # Deal with CR LF and surrogates broken across chunks + if self._bufferedCharacter: + data = self._bufferedCharacter + data + self._bufferedCharacter = None + elif not data: + # We have no more data, bye-bye stream + return False + + if len(data) > 1: + lastv = ord(data[-1]) + if lastv == 0x0D or 0xD800 <= lastv <= 0xDBFF: + self._bufferedCharacter = data[-1] + data = data[:-1] + + if self.reportCharacterErrors: + self.reportCharacterErrors(data) + + # Replace invalid characters + data = data.replace("\r\n", "\n") + data = data.replace("\r", "\n") + + self.chunk = data + self.chunkSize = len(data) + + return True + + def characterErrorsUCS4(self, data): + for _ in range(len(invalid_unicode_re.findall(data))): + self.errors.append("invalid-codepoint") + + def characterErrorsUCS2(self, data): + # Someone picked the wrong compile option + # You lose + skip = False + for match in invalid_unicode_re.finditer(data): + if skip: + continue + codepoint = ord(match.group()) + pos = match.start() + # Pretty sure there should be endianness issues here + if _utils.isSurrogatePair(data[pos:pos + 2]): + # We have a surrogate pair! + char_val = _utils.surrogatePairToCodepoint(data[pos:pos + 2]) + if char_val in non_bmp_invalid_codepoints: + self.errors.append("invalid-codepoint") + skip = True + elif (codepoint >= 0xD800 and codepoint <= 0xDFFF and + pos == len(data) - 1): + self.errors.append("invalid-codepoint") + else: + skip = False + self.errors.append("invalid-codepoint") + + def charsUntil(self, characters, opposite=False): + """ Returns a string of characters from the stream up to but not + including any character in 'characters' or EOF. 'characters' must be + a container that supports the 'in' method and iteration over its + characters. + """ + + # Use a cache of regexps to find the required characters + try: + chars = charsUntilRegEx[(characters, opposite)] + except KeyError: + if __debug__: + for c in characters: + assert(ord(c) < 128) + regex = "".join(["\\x%02x" % ord(c) for c in characters]) + if not opposite: + regex = "^%s" % regex + chars = charsUntilRegEx[(characters, opposite)] = re.compile("[%s]+" % regex) + + rv = [] + + while True: + # Find the longest matching prefix + m = chars.match(self.chunk, self.chunkOffset) + if m is None: + # If nothing matched, and it wasn't because we ran out of chunk, + # then stop + if self.chunkOffset != self.chunkSize: + break + else: + end = m.end() + # If not the whole chunk matched, return everything + # up to the part that didn't match + if end != self.chunkSize: + rv.append(self.chunk[self.chunkOffset:end]) + self.chunkOffset = end + break + # If the whole remainder of the chunk matched, + # use it all and read the next chunk + rv.append(self.chunk[self.chunkOffset:]) + if not self.readChunk(): + # Reached EOF + break + + r = "".join(rv) + return r + + def unget(self, char): + # Only one character is allowed to be ungotten at once - it must + # be consumed again before any further call to unget + if char is not None: + if self.chunkOffset == 0: + # unget is called quite rarely, so it's a good idea to do + # more work here if it saves a bit of work in the frequently + # called char and charsUntil. + # So, just prepend the ungotten character onto the current + # chunk: + self.chunk = char + self.chunk + self.chunkSize += 1 + else: + self.chunkOffset -= 1 + assert self.chunk[self.chunkOffset] == char + + +class HTMLBinaryInputStream(HTMLUnicodeInputStream): + """Provides a unicode stream of characters to the HTMLTokenizer. + + This class takes care of character encoding and removing or replacing + incorrect byte-sequences and also provides column and line tracking. + + """ + + def __init__(self, source, override_encoding=None, transport_encoding=None, + same_origin_parent_encoding=None, likely_encoding=None, + default_encoding="windows-1252", useChardet=True): + """Initialises the HTMLInputStream. + + HTMLInputStream(source, [encoding]) -> Normalized stream from source + for use by html5lib. + + source can be either a file-object, local filename or a string. + + The optional encoding parameter must be a string that indicates + the encoding. If specified, that encoding will be used, + regardless of any BOM or later declaration (such as in a meta + element) + + """ + # Raw Stream - for unicode objects this will encode to utf-8 and set + # self.charEncoding as appropriate + self.rawStream = self.openStream(source) + + HTMLUnicodeInputStream.__init__(self, self.rawStream) + + # Encoding Information + # Number of bytes to use when looking for a meta element with + # encoding information + self.numBytesMeta = 1024 + # Number of bytes to use when using detecting encoding using chardet + self.numBytesChardet = 100 + # Things from args + self.override_encoding = override_encoding + self.transport_encoding = transport_encoding + self.same_origin_parent_encoding = same_origin_parent_encoding + self.likely_encoding = likely_encoding + self.default_encoding = default_encoding + + # Determine encoding + self.charEncoding = self.determineEncoding(useChardet) + assert self.charEncoding[0] is not None + + # Call superclass + self.reset() + + def reset(self): + self.dataStream = self.charEncoding[0].codec_info.streamreader(self.rawStream, 'replace') + HTMLUnicodeInputStream.reset(self) + + def openStream(self, source): + """Produces a file object from source. + + source can be either a file object, local filename or a string. + + """ + # Already a file object + if hasattr(source, 'read'): + stream = source + else: + stream = BytesIO(source) + + try: + stream.seek(stream.tell()) + except: # pylint:disable=bare-except + stream = BufferedStream(stream) + + return stream + + def determineEncoding(self, chardet=True): + # BOMs take precedence over everything + # This will also read past the BOM if present + charEncoding = self.detectBOM(), "certain" + if charEncoding[0] is not None: + return charEncoding + + # If we've been overriden, we've been overriden + charEncoding = lookupEncoding(self.override_encoding), "certain" + if charEncoding[0] is not None: + return charEncoding + + # Now check the transport layer + charEncoding = lookupEncoding(self.transport_encoding), "certain" + if charEncoding[0] is not None: + return charEncoding + + # Look for meta elements with encoding information + charEncoding = self.detectEncodingMeta(), "tentative" + if charEncoding[0] is not None: + return charEncoding + + # Parent document encoding + charEncoding = lookupEncoding(self.same_origin_parent_encoding), "tentative" + if charEncoding[0] is not None and not charEncoding[0].name.startswith("utf-16"): + return charEncoding + + # "likely" encoding + charEncoding = lookupEncoding(self.likely_encoding), "tentative" + if charEncoding[0] is not None: + return charEncoding + + # Guess with chardet, if available + if chardet: + try: + from pip._vendor.chardet.universaldetector import UniversalDetector + except ImportError: + pass + else: + buffers = [] + detector = UniversalDetector() + while not detector.done: + buffer = self.rawStream.read(self.numBytesChardet) + assert isinstance(buffer, bytes) + if not buffer: + break + buffers.append(buffer) + detector.feed(buffer) + detector.close() + encoding = lookupEncoding(detector.result['encoding']) + self.rawStream.seek(0) + if encoding is not None: + return encoding, "tentative" + + # Try the default encoding + charEncoding = lookupEncoding(self.default_encoding), "tentative" + if charEncoding[0] is not None: + return charEncoding + + # Fallback to html5lib's default if even that hasn't worked + return lookupEncoding("windows-1252"), "tentative" + + def changeEncoding(self, newEncoding): + assert self.charEncoding[1] != "certain" + newEncoding = lookupEncoding(newEncoding) + if newEncoding is None: + return + if newEncoding.name in ("utf-16be", "utf-16le"): + newEncoding = lookupEncoding("utf-8") + assert newEncoding is not None + elif newEncoding == self.charEncoding[0]: + self.charEncoding = (self.charEncoding[0], "certain") + else: + self.rawStream.seek(0) + self.charEncoding = (newEncoding, "certain") + self.reset() + raise _ReparseException("Encoding changed from %s to %s" % (self.charEncoding[0], newEncoding)) + + def detectBOM(self): + """Attempts to detect at BOM at the start of the stream. If + an encoding can be determined from the BOM return the name of the + encoding otherwise return None""" + bomDict = { + codecs.BOM_UTF8: 'utf-8', + codecs.BOM_UTF16_LE: 'utf-16le', codecs.BOM_UTF16_BE: 'utf-16be', + codecs.BOM_UTF32_LE: 'utf-32le', codecs.BOM_UTF32_BE: 'utf-32be' + } + + # Go to beginning of file and read in 4 bytes + string = self.rawStream.read(4) + assert isinstance(string, bytes) + + # Try detecting the BOM using bytes from the string + encoding = bomDict.get(string[:3]) # UTF-8 + seek = 3 + if not encoding: + # Need to detect UTF-32 before UTF-16 + encoding = bomDict.get(string) # UTF-32 + seek = 4 + if not encoding: + encoding = bomDict.get(string[:2]) # UTF-16 + seek = 2 + + # Set the read position past the BOM if one was found, otherwise + # set it to the start of the stream + if encoding: + self.rawStream.seek(seek) + return lookupEncoding(encoding) + else: + self.rawStream.seek(0) + return None + + def detectEncodingMeta(self): + """Report the encoding declared by the meta element + """ + buffer = self.rawStream.read(self.numBytesMeta) + assert isinstance(buffer, bytes) + parser = EncodingParser(buffer) + self.rawStream.seek(0) + encoding = parser.getEncoding() + + if encoding is not None and encoding.name in ("utf-16be", "utf-16le"): + encoding = lookupEncoding("utf-8") + + return encoding + + +class EncodingBytes(bytes): + """String-like object with an associated position and various extra methods + If the position is ever greater than the string length then an exception is + raised""" + def __new__(self, value): + assert isinstance(value, bytes) + return bytes.__new__(self, value.lower()) + + def __init__(self, value): + # pylint:disable=unused-argument + self._position = -1 + + def __iter__(self): + return self + + def __next__(self): + p = self._position = self._position + 1 + if p >= len(self): + raise StopIteration + elif p < 0: + raise TypeError + return self[p:p + 1] + + def next(self): + # Py2 compat + return self.__next__() + + def previous(self): + p = self._position + if p >= len(self): + raise StopIteration + elif p < 0: + raise TypeError + self._position = p = p - 1 + return self[p:p + 1] + + def setPosition(self, position): + if self._position >= len(self): + raise StopIteration + self._position = position + + def getPosition(self): + if self._position >= len(self): + raise StopIteration + if self._position >= 0: + return self._position + else: + return None + + position = property(getPosition, setPosition) + + def getCurrentByte(self): + return self[self.position:self.position + 1] + + currentByte = property(getCurrentByte) + + def skip(self, chars=spaceCharactersBytes): + """Skip past a list of characters""" + p = self.position # use property for the error-checking + while p < len(self): + c = self[p:p + 1] + if c not in chars: + self._position = p + return c + p += 1 + self._position = p + return None + + def skipUntil(self, chars): + p = self.position + while p < len(self): + c = self[p:p + 1] + if c in chars: + self._position = p + return c + p += 1 + self._position = p + return None + + def matchBytes(self, bytes): + """Look for a sequence of bytes at the start of a string. If the bytes + are found return True and advance the position to the byte after the + match. Otherwise return False and leave the position alone""" + p = self.position + data = self[p:p + len(bytes)] + rv = data.startswith(bytes) + if rv: + self.position += len(bytes) + return rv + + def jumpTo(self, bytes): + """Look for the next sequence of bytes matching a given sequence. If + a match is found advance the position to the last byte of the match""" + newPosition = self[self.position:].find(bytes) + if newPosition > -1: + # XXX: This is ugly, but I can't see a nicer way to fix this. + if self._position == -1: + self._position = 0 + self._position += (newPosition + len(bytes) - 1) + return True + else: + raise StopIteration + + +class EncodingParser(object): + """Mini parser for detecting character encoding from meta elements""" + + def __init__(self, data): + """string - the data to work on for encoding detection""" + self.data = EncodingBytes(data) + self.encoding = None + + def getEncoding(self): + methodDispatch = ( + (b"<!--", self.handleComment), + (b"<meta", self.handleMeta), + (b"</", self.handlePossibleEndTag), + (b"<!", self.handleOther), + (b"<?", self.handleOther), + (b"<", self.handlePossibleStartTag)) + for _ in self.data: + keepParsing = True + for key, method in methodDispatch: + if self.data.matchBytes(key): + try: + keepParsing = method() + break + except StopIteration: + keepParsing = False + break + if not keepParsing: + break + + return self.encoding + + def handleComment(self): + """Skip over comments""" + return self.data.jumpTo(b"-->") + + def handleMeta(self): + if self.data.currentByte not in spaceCharactersBytes: + # if we have <meta not followed by a space so just keep going + return True + # We have a valid meta element we want to search for attributes + hasPragma = False + pendingEncoding = None + while True: + # Try to find the next attribute after the current position + attr = self.getAttribute() + if attr is None: + return True + else: + if attr[0] == b"http-equiv": + hasPragma = attr[1] == b"content-type" + if hasPragma and pendingEncoding is not None: + self.encoding = pendingEncoding + return False + elif attr[0] == b"charset": + tentativeEncoding = attr[1] + codec = lookupEncoding(tentativeEncoding) + if codec is not None: + self.encoding = codec + return False + elif attr[0] == b"content": + contentParser = ContentAttrParser(EncodingBytes(attr[1])) + tentativeEncoding = contentParser.parse() + if tentativeEncoding is not None: + codec = lookupEncoding(tentativeEncoding) + if codec is not None: + if hasPragma: + self.encoding = codec + return False + else: + pendingEncoding = codec + + def handlePossibleStartTag(self): + return self.handlePossibleTag(False) + + def handlePossibleEndTag(self): + next(self.data) + return self.handlePossibleTag(True) + + def handlePossibleTag(self, endTag): + data = self.data + if data.currentByte not in asciiLettersBytes: + # If the next byte is not an ascii letter either ignore this + # fragment (possible start tag case) or treat it according to + # handleOther + if endTag: + data.previous() + self.handleOther() + return True + + c = data.skipUntil(spacesAngleBrackets) + if c == b"<": + # return to the first step in the overall "two step" algorithm + # reprocessing the < byte + data.previous() + else: + # Read all attributes + attr = self.getAttribute() + while attr is not None: + attr = self.getAttribute() + return True + + def handleOther(self): + return self.data.jumpTo(b">") + + def getAttribute(self): + """Return a name,value pair for the next attribute in the stream, + if one is found, or None""" + data = self.data + # Step 1 (skip chars) + c = data.skip(spaceCharactersBytes | frozenset([b"/"])) + assert c is None or len(c) == 1 + # Step 2 + if c in (b">", None): + return None + # Step 3 + attrName = [] + attrValue = [] + # Step 4 attribute name + while True: + if c == b"=" and attrName: + break + elif c in spaceCharactersBytes: + # Step 6! + c = data.skip() + break + elif c in (b"/", b">"): + return b"".join(attrName), b"" + elif c in asciiUppercaseBytes: + attrName.append(c.lower()) + elif c is None: + return None + else: + attrName.append(c) + # Step 5 + c = next(data) + # Step 7 + if c != b"=": + data.previous() + return b"".join(attrName), b"" + # Step 8 + next(data) + # Step 9 + c = data.skip() + # Step 10 + if c in (b"'", b'"'): + # 10.1 + quoteChar = c + while True: + # 10.2 + c = next(data) + # 10.3 + if c == quoteChar: + next(data) + return b"".join(attrName), b"".join(attrValue) + # 10.4 + elif c in asciiUppercaseBytes: + attrValue.append(c.lower()) + # 10.5 + else: + attrValue.append(c) + elif c == b">": + return b"".join(attrName), b"" + elif c in asciiUppercaseBytes: + attrValue.append(c.lower()) + elif c is None: + return None + else: + attrValue.append(c) + # Step 11 + while True: + c = next(data) + if c in spacesAngleBrackets: + return b"".join(attrName), b"".join(attrValue) + elif c in asciiUppercaseBytes: + attrValue.append(c.lower()) + elif c is None: + return None + else: + attrValue.append(c) + + +class ContentAttrParser(object): + def __init__(self, data): + assert isinstance(data, bytes) + self.data = data + + def parse(self): + try: + # Check if the attr name is charset + # otherwise return + self.data.jumpTo(b"charset") + self.data.position += 1 + self.data.skip() + if not self.data.currentByte == b"=": + # If there is no = sign keep looking for attrs + return None + self.data.position += 1 + self.data.skip() + # Look for an encoding between matching quote marks + if self.data.currentByte in (b'"', b"'"): + quoteMark = self.data.currentByte + self.data.position += 1 + oldPosition = self.data.position + if self.data.jumpTo(quoteMark): + return self.data[oldPosition:self.data.position] + else: + return None + else: + # Unquoted value + oldPosition = self.data.position + try: + self.data.skipUntil(spaceCharactersBytes) + return self.data[oldPosition:self.data.position] + except StopIteration: + # Return the whole remaining value + return self.data[oldPosition:] + except StopIteration: + return None + + +def lookupEncoding(encoding): + """Return the python codec name corresponding to an encoding or None if the + string doesn't correspond to a valid encoding.""" + if isinstance(encoding, binary_type): + try: + encoding = encoding.decode("ascii") + except UnicodeDecodeError: + return None + + if encoding is not None: + try: + return webencodings.lookup(encoding) + except AttributeError: + return None + else: + return None diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_tokenizer.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_tokenizer.py new file mode 100644 index 0000000..178f6e7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_tokenizer.py @@ -0,0 +1,1721 @@ +from __future__ import absolute_import, division, unicode_literals + +from pip._vendor.six import unichr as chr + +from collections import deque + +from .constants import spaceCharacters +from .constants import entities +from .constants import asciiLetters, asciiUpper2Lower +from .constants import digits, hexDigits, EOF +from .constants import tokenTypes, tagTokenTypes +from .constants import replacementCharacters + +from ._inputstream import HTMLInputStream + +from ._trie import Trie + +entitiesTrie = Trie(entities) + + +class HTMLTokenizer(object): + """ This class takes care of tokenizing HTML. + + * self.currentToken + Holds the token that is currently being processed. + + * self.state + Holds a reference to the method to be invoked... XXX + + * self.stream + Points to HTMLInputStream object. + """ + + def __init__(self, stream, parser=None, **kwargs): + + self.stream = HTMLInputStream(stream, **kwargs) + self.parser = parser + + # Setup the initial tokenizer state + self.escapeFlag = False + self.lastFourChars = [] + self.state = self.dataState + self.escape = False + + # The current token being created + self.currentToken = None + super(HTMLTokenizer, self).__init__() + + def __iter__(self): + """ This is where the magic happens. + + We do our usually processing through the states and when we have a token + to return we yield the token which pauses processing until the next token + is requested. + """ + self.tokenQueue = deque([]) + # Start processing. When EOF is reached self.state will return False + # instead of True and the loop will terminate. + while self.state(): + while self.stream.errors: + yield {"type": tokenTypes["ParseError"], "data": self.stream.errors.pop(0)} + while self.tokenQueue: + yield self.tokenQueue.popleft() + + def consumeNumberEntity(self, isHex): + """This function returns either U+FFFD or the character based on the + decimal or hexadecimal representation. It also discards ";" if present. + If not present self.tokenQueue.append({"type": tokenTypes["ParseError"]}) is invoked. + """ + + allowed = digits + radix = 10 + if isHex: + allowed = hexDigits + radix = 16 + + charStack = [] + + # Consume all the characters that are in range while making sure we + # don't hit an EOF. + c = self.stream.char() + while c in allowed and c is not EOF: + charStack.append(c) + c = self.stream.char() + + # Convert the set of characters consumed to an int. + charAsInt = int("".join(charStack), radix) + + # Certain characters get replaced with others + if charAsInt in replacementCharacters: + char = replacementCharacters[charAsInt] + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "illegal-codepoint-for-numeric-entity", + "datavars": {"charAsInt": charAsInt}}) + elif ((0xD800 <= charAsInt <= 0xDFFF) or + (charAsInt > 0x10FFFF)): + char = "\uFFFD" + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "illegal-codepoint-for-numeric-entity", + "datavars": {"charAsInt": charAsInt}}) + else: + # Should speed up this check somehow (e.g. move the set to a constant) + if ((0x0001 <= charAsInt <= 0x0008) or + (0x000E <= charAsInt <= 0x001F) or + (0x007F <= charAsInt <= 0x009F) or + (0xFDD0 <= charAsInt <= 0xFDEF) or + charAsInt in frozenset([0x000B, 0xFFFE, 0xFFFF, 0x1FFFE, + 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, + 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, + 0x5FFFF, 0x6FFFE, 0x6FFFF, 0x7FFFE, + 0x7FFFF, 0x8FFFE, 0x8FFFF, 0x9FFFE, + 0x9FFFF, 0xAFFFE, 0xAFFFF, 0xBFFFE, + 0xBFFFF, 0xCFFFE, 0xCFFFF, 0xDFFFE, + 0xDFFFF, 0xEFFFE, 0xEFFFF, 0xFFFFE, + 0xFFFFF, 0x10FFFE, 0x10FFFF])): + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": + "illegal-codepoint-for-numeric-entity", + "datavars": {"charAsInt": charAsInt}}) + try: + # Try/except needed as UCS-2 Python builds' unichar only works + # within the BMP. + char = chr(charAsInt) + except ValueError: + v = charAsInt - 0x10000 + char = chr(0xD800 | (v >> 10)) + chr(0xDC00 | (v & 0x3FF)) + + # Discard the ; if present. Otherwise, put it back on the queue and + # invoke parseError on parser. + if c != ";": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "numeric-entity-without-semicolon"}) + self.stream.unget(c) + + return char + + def consumeEntity(self, allowedChar=None, fromAttribute=False): + # Initialise to the default output for when no entity is matched + output = "&" + + charStack = [self.stream.char()] + if (charStack[0] in spaceCharacters or charStack[0] in (EOF, "<", "&") or + (allowedChar is not None and allowedChar == charStack[0])): + self.stream.unget(charStack[0]) + + elif charStack[0] == "#": + # Read the next character to see if it's hex or decimal + hex = False + charStack.append(self.stream.char()) + if charStack[-1] in ("x", "X"): + hex = True + charStack.append(self.stream.char()) + + # charStack[-1] should be the first digit + if (hex and charStack[-1] in hexDigits) \ + or (not hex and charStack[-1] in digits): + # At least one digit found, so consume the whole number + self.stream.unget(charStack[-1]) + output = self.consumeNumberEntity(hex) + else: + # No digits found + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "expected-numeric-entity"}) + self.stream.unget(charStack.pop()) + output = "&" + "".join(charStack) + + else: + # At this point in the process might have named entity. Entities + # are stored in the global variable "entities". + # + # Consume characters and compare to these to a substring of the + # entity names in the list until the substring no longer matches. + while (charStack[-1] is not EOF): + if not entitiesTrie.has_keys_with_prefix("".join(charStack)): + break + charStack.append(self.stream.char()) + + # At this point we have a string that starts with some characters + # that may match an entity + # Try to find the longest entity the string will match to take care + # of &noti for instance. + try: + entityName = entitiesTrie.longest_prefix("".join(charStack[:-1])) + entityLength = len(entityName) + except KeyError: + entityName = None + + if entityName is not None: + if entityName[-1] != ";": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "named-entity-without-semicolon"}) + if (entityName[-1] != ";" and fromAttribute and + (charStack[entityLength] in asciiLetters or + charStack[entityLength] in digits or + charStack[entityLength] == "=")): + self.stream.unget(charStack.pop()) + output = "&" + "".join(charStack) + else: + output = entities[entityName] + self.stream.unget(charStack.pop()) + output += "".join(charStack[entityLength:]) + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-named-entity"}) + self.stream.unget(charStack.pop()) + output = "&" + "".join(charStack) + + if fromAttribute: + self.currentToken["data"][-1][1] += output + else: + if output in spaceCharacters: + tokenType = "SpaceCharacters" + else: + tokenType = "Characters" + self.tokenQueue.append({"type": tokenTypes[tokenType], "data": output}) + + def processEntityInAttribute(self, allowedChar): + """This method replaces the need for "entityInAttributeValueState". + """ + self.consumeEntity(allowedChar=allowedChar, fromAttribute=True) + + def emitCurrentToken(self): + """This method is a generic handler for emitting the tags. It also sets + the state to "data" because that's what's needed after a token has been + emitted. + """ + token = self.currentToken + # Add token to the queue to be yielded + if (token["type"] in tagTokenTypes): + token["name"] = token["name"].translate(asciiUpper2Lower) + if token["type"] == tokenTypes["EndTag"]: + if token["data"]: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "attributes-in-end-tag"}) + if token["selfClosing"]: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "self-closing-flag-on-end-tag"}) + self.tokenQueue.append(token) + self.state = self.dataState + + # Below are the various tokenizer states worked out. + def dataState(self): + data = self.stream.char() + if data == "&": + self.state = self.entityDataState + elif data == "<": + self.state = self.tagOpenState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\u0000"}) + elif data is EOF: + # Tokenization ends. + return False + elif data in spaceCharacters: + # Directly after emitting a token you switch back to the "data + # state". At that point spaceCharacters are important so they are + # emitted separately. + self.tokenQueue.append({"type": tokenTypes["SpaceCharacters"], "data": + data + self.stream.charsUntil(spaceCharacters, True)}) + # No need to update lastFourChars here, since the first space will + # have already been appended to lastFourChars and will have broken + # any <!-- or --> sequences + else: + chars = self.stream.charsUntil(("&", "<", "\u0000")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def entityDataState(self): + self.consumeEntity() + self.state = self.dataState + return True + + def rcdataState(self): + data = self.stream.char() + if data == "&": + self.state = self.characterReferenceInRcdata + elif data == "<": + self.state = self.rcdataLessThanSignState + elif data == EOF: + # Tokenization ends. + return False + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + elif data in spaceCharacters: + # Directly after emitting a token you switch back to the "data + # state". At that point spaceCharacters are important so they are + # emitted separately. + self.tokenQueue.append({"type": tokenTypes["SpaceCharacters"], "data": + data + self.stream.charsUntil(spaceCharacters, True)}) + # No need to update lastFourChars here, since the first space will + # have already been appended to lastFourChars and will have broken + # any <!-- or --> sequences + else: + chars = self.stream.charsUntil(("&", "<", "\u0000")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def characterReferenceInRcdata(self): + self.consumeEntity() + self.state = self.rcdataState + return True + + def rawtextState(self): + data = self.stream.char() + if data == "<": + self.state = self.rawtextLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + elif data == EOF: + # Tokenization ends. + return False + else: + chars = self.stream.charsUntil(("<", "\u0000")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def scriptDataState(self): + data = self.stream.char() + if data == "<": + self.state = self.scriptDataLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + elif data == EOF: + # Tokenization ends. + return False + else: + chars = self.stream.charsUntil(("<", "\u0000")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def plaintextState(self): + data = self.stream.char() + if data == EOF: + # Tokenization ends. + return False + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + self.stream.charsUntil("\u0000")}) + return True + + def tagOpenState(self): + data = self.stream.char() + if data == "!": + self.state = self.markupDeclarationOpenState + elif data == "/": + self.state = self.closeTagOpenState + elif data in asciiLetters: + self.currentToken = {"type": tokenTypes["StartTag"], + "name": data, "data": [], + "selfClosing": False, + "selfClosingAcknowledged": False} + self.state = self.tagNameState + elif data == ">": + # XXX In theory it could be something besides a tag name. But + # do we really care? + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-tag-name-but-got-right-bracket"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<>"}) + self.state = self.dataState + elif data == "?": + # XXX In theory it could be something besides a tag name. But + # do we really care? + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-tag-name-but-got-question-mark"}) + self.stream.unget(data) + self.state = self.bogusCommentState + else: + # XXX + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-tag-name"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.stream.unget(data) + self.state = self.dataState + return True + + def closeTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.currentToken = {"type": tokenTypes["EndTag"], "name": data, + "data": [], "selfClosing": False} + self.state = self.tagNameState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-closing-tag-but-got-right-bracket"}) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-closing-tag-but-got-eof"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "</"}) + self.state = self.dataState + else: + # XXX data can be _'_... + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-closing-tag-but-got-char", + "datavars": {"data": data}}) + self.stream.unget(data) + self.state = self.bogusCommentState + return True + + def tagNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeAttributeNameState + elif data == ">": + self.emitCurrentToken() + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-tag-name"}) + self.state = self.dataState + elif data == "/": + self.state = self.selfClosingStartTagState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["name"] += "\uFFFD" + else: + self.currentToken["name"] += data + # (Don't use charsUntil here, because tag names are + # very short and it's faster to not do anything fancy) + return True + + def rcdataLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.rcdataEndTagOpenState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.stream.unget(data) + self.state = self.rcdataState + return True + + def rcdataEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer += data + self.state = self.rcdataEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "</"}) + self.stream.unget(data) + self.state = self.rcdataState + return True + + def rcdataEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.rcdataState + return True + + def rawtextLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.rawtextEndTagOpenState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.stream.unget(data) + self.state = self.rawtextState + return True + + def rawtextEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer += data + self.state = self.rawtextEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "</"}) + self.stream.unget(data) + self.state = self.rawtextState + return True + + def rawtextEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.rawtextState + return True + + def scriptDataLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.scriptDataEndTagOpenState + elif data == "!": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<!"}) + self.state = self.scriptDataEscapeStartState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer += data + self.state = self.scriptDataEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "</"}) + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEscapeStartState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataEscapeStartDashState + else: + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEscapeStartDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataEscapedDashDashState + else: + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEscapedState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataEscapedDashState + elif data == "<": + self.state = self.scriptDataEscapedLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + elif data == EOF: + self.state = self.dataState + else: + chars = self.stream.charsUntil(("<", "-", "\u0000")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def scriptDataEscapedDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataEscapedDashDashState + elif data == "<": + self.state = self.scriptDataEscapedLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + self.state = self.scriptDataEscapedState + elif data == EOF: + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedDashDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + elif data == "<": + self.state = self.scriptDataEscapedLessThanSignState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": ">"}) + self.state = self.scriptDataState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + self.state = self.scriptDataEscapedState + elif data == EOF: + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.scriptDataEscapedEndTagOpenState + elif data in asciiLetters: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<" + data}) + self.temporaryBuffer = data + self.state = self.scriptDataDoubleEscapeStartState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer = data + self.state = self.scriptDataEscapedEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "</"}) + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataDoubleEscapeStartState(self): + data = self.stream.char() + if data in (spaceCharacters | frozenset(("/", ">"))): + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + if self.temporaryBuffer.lower() == "script": + self.state = self.scriptDataDoubleEscapedState + else: + self.state = self.scriptDataEscapedState + elif data in asciiLetters: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.temporaryBuffer += data + else: + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataDoubleEscapedState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataDoubleEscapedDashState + elif data == "<": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.state = self.scriptDataDoubleEscapedLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-script-in-script"}) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + return True + + def scriptDataDoubleEscapedDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataDoubleEscapedDashDashState + elif data == "<": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.state = self.scriptDataDoubleEscapedLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + self.state = self.scriptDataDoubleEscapedState + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-script-in-script"}) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataDoubleEscapedState + return True + + def scriptDataDoubleEscapedDashDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + elif data == "<": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.state = self.scriptDataDoubleEscapedLessThanSignState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": ">"}) + self.state = self.scriptDataState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + self.state = self.scriptDataDoubleEscapedState + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-script-in-script"}) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataDoubleEscapedState + return True + + def scriptDataDoubleEscapedLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "/"}) + self.temporaryBuffer = "" + self.state = self.scriptDataDoubleEscapeEndState + else: + self.stream.unget(data) + self.state = self.scriptDataDoubleEscapedState + return True + + def scriptDataDoubleEscapeEndState(self): + data = self.stream.char() + if data in (spaceCharacters | frozenset(("/", ">"))): + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + if self.temporaryBuffer.lower() == "script": + self.state = self.scriptDataEscapedState + else: + self.state = self.scriptDataDoubleEscapedState + elif data in asciiLetters: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.temporaryBuffer += data + else: + self.stream.unget(data) + self.state = self.scriptDataDoubleEscapedState + return True + + def beforeAttributeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.stream.charsUntil(spaceCharacters, True) + elif data in asciiLetters: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data == ">": + self.emitCurrentToken() + elif data == "/": + self.state = self.selfClosingStartTagState + elif data in ("'", '"', "=", "<"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "invalid-character-in-attribute-name"}) + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"].append(["\uFFFD", ""]) + self.state = self.attributeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-attribute-name-but-got-eof"}) + self.state = self.dataState + else: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + return True + + def attributeNameState(self): + data = self.stream.char() + leavingThisState = True + emitToken = False + if data == "=": + self.state = self.beforeAttributeValueState + elif data in asciiLetters: + self.currentToken["data"][-1][0] += data +\ + self.stream.charsUntil(asciiLetters, True) + leavingThisState = False + elif data == ">": + # XXX If we emit here the attributes are converted to a dict + # without being checked and when the code below runs we error + # because data is a dict not a list + emitToken = True + elif data in spaceCharacters: + self.state = self.afterAttributeNameState + elif data == "/": + self.state = self.selfClosingStartTagState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"][-1][0] += "\uFFFD" + leavingThisState = False + elif data in ("'", '"', "<"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": + "invalid-character-in-attribute-name"}) + self.currentToken["data"][-1][0] += data + leavingThisState = False + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "eof-in-attribute-name"}) + self.state = self.dataState + else: + self.currentToken["data"][-1][0] += data + leavingThisState = False + + if leavingThisState: + # Attributes are not dropped at this stage. That happens when the + # start tag token is emitted so values can still be safely appended + # to attributes, but we do want to report the parse error in time. + self.currentToken["data"][-1][0] = ( + self.currentToken["data"][-1][0].translate(asciiUpper2Lower)) + for name, _ in self.currentToken["data"][:-1]: + if self.currentToken["data"][-1][0] == name: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "duplicate-attribute"}) + break + # XXX Fix for above XXX + if emitToken: + self.emitCurrentToken() + return True + + def afterAttributeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.stream.charsUntil(spaceCharacters, True) + elif data == "=": + self.state = self.beforeAttributeValueState + elif data == ">": + self.emitCurrentToken() + elif data in asciiLetters: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data == "/": + self.state = self.selfClosingStartTagState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"].append(["\uFFFD", ""]) + self.state = self.attributeNameState + elif data in ("'", '"', "<"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "invalid-character-after-attribute-name"}) + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-end-of-tag-but-got-eof"}) + self.state = self.dataState + else: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + return True + + def beforeAttributeValueState(self): + data = self.stream.char() + if data in spaceCharacters: + self.stream.charsUntil(spaceCharacters, True) + elif data == "\"": + self.state = self.attributeValueDoubleQuotedState + elif data == "&": + self.state = self.attributeValueUnQuotedState + self.stream.unget(data) + elif data == "'": + self.state = self.attributeValueSingleQuotedState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-attribute-value-but-got-right-bracket"}) + self.emitCurrentToken() + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"][-1][1] += "\uFFFD" + self.state = self.attributeValueUnQuotedState + elif data in ("=", "<", "`"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "equals-in-unquoted-attribute-value"}) + self.currentToken["data"][-1][1] += data + self.state = self.attributeValueUnQuotedState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-attribute-value-but-got-eof"}) + self.state = self.dataState + else: + self.currentToken["data"][-1][1] += data + self.state = self.attributeValueUnQuotedState + return True + + def attributeValueDoubleQuotedState(self): + data = self.stream.char() + if data == "\"": + self.state = self.afterAttributeValueState + elif data == "&": + self.processEntityInAttribute('"') + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"][-1][1] += "\uFFFD" + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-value-double-quote"}) + self.state = self.dataState + else: + self.currentToken["data"][-1][1] += data +\ + self.stream.charsUntil(("\"", "&", "\u0000")) + return True + + def attributeValueSingleQuotedState(self): + data = self.stream.char() + if data == "'": + self.state = self.afterAttributeValueState + elif data == "&": + self.processEntityInAttribute("'") + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"][-1][1] += "\uFFFD" + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-value-single-quote"}) + self.state = self.dataState + else: + self.currentToken["data"][-1][1] += data +\ + self.stream.charsUntil(("'", "&", "\u0000")) + return True + + def attributeValueUnQuotedState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeAttributeNameState + elif data == "&": + self.processEntityInAttribute(">") + elif data == ">": + self.emitCurrentToken() + elif data in ('"', "'", "=", "<", "`"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-character-in-unquoted-attribute-value"}) + self.currentToken["data"][-1][1] += data + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"][-1][1] += "\uFFFD" + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-value-no-quotes"}) + self.state = self.dataState + else: + self.currentToken["data"][-1][1] += data + self.stream.charsUntil( + frozenset(("&", ">", '"', "'", "=", "<", "`", "\u0000")) | spaceCharacters) + return True + + def afterAttributeValueState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeAttributeNameState + elif data == ">": + self.emitCurrentToken() + elif data == "/": + self.state = self.selfClosingStartTagState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-EOF-after-attribute-value"}) + self.stream.unget(data) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-character-after-attribute-value"}) + self.stream.unget(data) + self.state = self.beforeAttributeNameState + return True + + def selfClosingStartTagState(self): + data = self.stream.char() + if data == ">": + self.currentToken["selfClosing"] = True + self.emitCurrentToken() + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": + "unexpected-EOF-after-solidus-in-tag"}) + self.stream.unget(data) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-character-after-solidus-in-tag"}) + self.stream.unget(data) + self.state = self.beforeAttributeNameState + return True + + def bogusCommentState(self): + # Make a new comment token and give it as value all the characters + # until the first > or EOF (charsUntil checks for EOF automatically) + # and emit it. + data = self.stream.charsUntil(">") + data = data.replace("\u0000", "\uFFFD") + self.tokenQueue.append( + {"type": tokenTypes["Comment"], "data": data}) + + # Eat the character directly after the bogus comment which is either a + # ">" or an EOF. + self.stream.char() + self.state = self.dataState + return True + + def markupDeclarationOpenState(self): + charStack = [self.stream.char()] + if charStack[-1] == "-": + charStack.append(self.stream.char()) + if charStack[-1] == "-": + self.currentToken = {"type": tokenTypes["Comment"], "data": ""} + self.state = self.commentStartState + return True + elif charStack[-1] in ('d', 'D'): + matched = True + for expected in (('o', 'O'), ('c', 'C'), ('t', 'T'), + ('y', 'Y'), ('p', 'P'), ('e', 'E')): + charStack.append(self.stream.char()) + if charStack[-1] not in expected: + matched = False + break + if matched: + self.currentToken = {"type": tokenTypes["Doctype"], + "name": "", + "publicId": None, "systemId": None, + "correct": True} + self.state = self.doctypeState + return True + elif (charStack[-1] == "[" and + self.parser is not None and + self.parser.tree.openElements and + self.parser.tree.openElements[-1].namespace != self.parser.tree.defaultNamespace): + matched = True + for expected in ["C", "D", "A", "T", "A", "["]: + charStack.append(self.stream.char()) + if charStack[-1] != expected: + matched = False + break + if matched: + self.state = self.cdataSectionState + return True + + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-dashes-or-doctype"}) + + while charStack: + self.stream.unget(charStack.pop()) + self.state = self.bogusCommentState + return True + + def commentStartState(self): + data = self.stream.char() + if data == "-": + self.state = self.commentStartDashState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "incorrect-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += data + self.state = self.commentState + return True + + def commentStartDashState(self): + data = self.stream.char() + if data == "-": + self.state = self.commentEndState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "-\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "incorrect-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += "-" + data + self.state = self.commentState + return True + + def commentState(self): + data = self.stream.char() + if data == "-": + self.state = self.commentEndDashState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "\uFFFD" + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "eof-in-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += data + \ + self.stream.charsUntil(("-", "\u0000")) + return True + + def commentEndDashState(self): + data = self.stream.char() + if data == "-": + self.state = self.commentEndState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "-\uFFFD" + self.state = self.commentState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-end-dash"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += "-" + data + self.state = self.commentState + return True + + def commentEndState(self): + data = self.stream.char() + if data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "--\uFFFD" + self.state = self.commentState + elif data == "!": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-bang-after-double-dash-in-comment"}) + self.state = self.commentEndBangState + elif data == "-": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-dash-after-double-dash-in-comment"}) + self.currentToken["data"] += data + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-double-dash"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + # XXX + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-comment"}) + self.currentToken["data"] += "--" + data + self.state = self.commentState + return True + + def commentEndBangState(self): + data = self.stream.char() + if data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == "-": + self.currentToken["data"] += "--!" + self.state = self.commentEndDashState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "--!\uFFFD" + self.state = self.commentState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-end-bang-state"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += "--!" + data + self.state = self.commentState + return True + + def doctypeState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeDoctypeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-doctype-name-but-got-eof"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "need-space-after-doctype"}) + self.stream.unget(data) + self.state = self.beforeDoctypeNameState + return True + + def beforeDoctypeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-doctype-name-but-got-right-bracket"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["name"] = "\uFFFD" + self.state = self.doctypeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-doctype-name-but-got-eof"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["name"] = data + self.state = self.doctypeNameState + return True + + def doctypeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) + self.state = self.afterDoctypeNameState + elif data == ">": + self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["name"] += "\uFFFD" + self.state = self.doctypeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype-name"}) + self.currentToken["correct"] = False + self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["name"] += data + return True + + def afterDoctypeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.currentToken["correct"] = False + self.stream.unget(data) + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + if data in ("p", "P"): + matched = True + for expected in (("u", "U"), ("b", "B"), ("l", "L"), + ("i", "I"), ("c", "C")): + data = self.stream.char() + if data not in expected: + matched = False + break + if matched: + self.state = self.afterDoctypePublicKeywordState + return True + elif data in ("s", "S"): + matched = True + for expected in (("y", "Y"), ("s", "S"), ("t", "T"), + ("e", "E"), ("m", "M")): + data = self.stream.char() + if data not in expected: + matched = False + break + if matched: + self.state = self.afterDoctypeSystemKeywordState + return True + + # All the characters read before the current 'data' will be + # [a-zA-Z], so they're garbage in the bogus doctype and can be + # discarded; only the latest character might be '>' or EOF + # and needs to be ungetted + self.stream.unget(data) + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-space-or-right-bracket-in-doctype", "datavars": + {"data": data}}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + + return True + + def afterDoctypePublicKeywordState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeDoctypePublicIdentifierState + elif data in ("'", '"'): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.stream.unget(data) + self.state = self.beforeDoctypePublicIdentifierState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.stream.unget(data) + self.state = self.beforeDoctypePublicIdentifierState + return True + + def beforeDoctypePublicIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == "\"": + self.currentToken["publicId"] = "" + self.state = self.doctypePublicIdentifierDoubleQuotedState + elif data == "'": + self.currentToken["publicId"] = "" + self.state = self.doctypePublicIdentifierSingleQuotedState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def doctypePublicIdentifierDoubleQuotedState(self): + data = self.stream.char() + if data == "\"": + self.state = self.afterDoctypePublicIdentifierState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["publicId"] += "\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["publicId"] += data + return True + + def doctypePublicIdentifierSingleQuotedState(self): + data = self.stream.char() + if data == "'": + self.state = self.afterDoctypePublicIdentifierState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["publicId"] += "\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["publicId"] += data + return True + + def afterDoctypePublicIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.betweenDoctypePublicAndSystemIdentifiersState + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == '"': + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierDoubleQuotedState + elif data == "'": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierSingleQuotedState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def betweenDoctypePublicAndSystemIdentifiersState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == '"': + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierDoubleQuotedState + elif data == "'": + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierSingleQuotedState + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def afterDoctypeSystemKeywordState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeDoctypeSystemIdentifierState + elif data in ("'", '"'): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.stream.unget(data) + self.state = self.beforeDoctypeSystemIdentifierState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.stream.unget(data) + self.state = self.beforeDoctypeSystemIdentifierState + return True + + def beforeDoctypeSystemIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == "\"": + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierDoubleQuotedState + elif data == "'": + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierSingleQuotedState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def doctypeSystemIdentifierDoubleQuotedState(self): + data = self.stream.char() + if data == "\"": + self.state = self.afterDoctypeSystemIdentifierState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["systemId"] += "\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["systemId"] += data + return True + + def doctypeSystemIdentifierSingleQuotedState(self): + data = self.stream.char() + if data == "'": + self.state = self.afterDoctypeSystemIdentifierState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["systemId"] += "\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["systemId"] += data + return True + + def afterDoctypeSystemIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.state = self.bogusDoctypeState + return True + + def bogusDoctypeState(self): + data = self.stream.char() + if data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + # XXX EMIT + self.stream.unget(data) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + pass + return True + + def cdataSectionState(self): + data = [] + while True: + data.append(self.stream.charsUntil("]")) + data.append(self.stream.charsUntil(">")) + char = self.stream.char() + if char == EOF: + break + else: + assert char == ">" + if data[-1][-2:] == "]]": + data[-1] = data[-1][:-2] + break + else: + data.append(char) + + data = "".join(data) # pylint:disable=redefined-variable-type + # Deal with null here rather than in the parser + nullCount = data.count("\u0000") + if nullCount > 0: + for _ in range(nullCount): + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + data = data.replace("\u0000", "\uFFFD") + if data: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": data}) + self.state = self.dataState + return True diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__init__.py new file mode 100644 index 0000000..a5ba4bf --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/__init__.py @@ -0,0 +1,14 @@ +from __future__ import absolute_import, division, unicode_literals + +from .py import Trie as PyTrie + +Trie = PyTrie + +# pylint:disable=wrong-import-position +try: + from .datrie import Trie as DATrie +except ImportError: + pass +else: + Trie = DATrie +# pylint:enable=wrong-import-position diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/_base.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/_base.py new file mode 100644 index 0000000..a1158bb --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/_base.py @@ -0,0 +1,37 @@ +from __future__ import absolute_import, division, unicode_literals + +from collections import Mapping + + +class Trie(Mapping): + """Abstract base class for tries""" + + def keys(self, prefix=None): + # pylint:disable=arguments-differ + keys = super(Trie, self).keys() + + if prefix is None: + return set(keys) + + return {x for x in keys if x.startswith(prefix)} + + def has_keys_with_prefix(self, prefix): + for key in self.keys(): + if key.startswith(prefix): + return True + + return False + + def longest_prefix(self, prefix): + if prefix in self: + return prefix + + for i in range(1, len(prefix) + 1): + if prefix[:-i] in self: + return prefix[:-i] + + raise KeyError(prefix) + + def longest_prefix_item(self, prefix): + lprefix = self.longest_prefix(prefix) + return (lprefix, self[lprefix]) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/datrie.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/datrie.py new file mode 100644 index 0000000..e2e5f86 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/datrie.py @@ -0,0 +1,44 @@ +from __future__ import absolute_import, division, unicode_literals + +from datrie import Trie as DATrie +from pip._vendor.six import text_type + +from ._base import Trie as ABCTrie + + +class Trie(ABCTrie): + def __init__(self, data): + chars = set() + for key in data.keys(): + if not isinstance(key, text_type): + raise TypeError("All keys must be strings") + for char in key: + chars.add(char) + + self._data = DATrie("".join(chars)) + for key, value in data.items(): + self._data[key] = value + + def __contains__(self, key): + return key in self._data + + def __len__(self): + return len(self._data) + + def __iter__(self): + raise NotImplementedError() + + def __getitem__(self, key): + return self._data[key] + + def keys(self, prefix=None): + return self._data.keys(prefix) + + def has_keys_with_prefix(self, prefix): + return self._data.has_keys_with_prefix(prefix) + + def longest_prefix(self, prefix): + return self._data.longest_prefix(prefix) + + def longest_prefix_item(self, prefix): + return self._data.longest_prefix_item(prefix) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/py.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/py.py new file mode 100644 index 0000000..c178b21 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_trie/py.py @@ -0,0 +1,67 @@ +from __future__ import absolute_import, division, unicode_literals +from pip._vendor.six import text_type + +from bisect import bisect_left + +from ._base import Trie as ABCTrie + + +class Trie(ABCTrie): + def __init__(self, data): + if not all(isinstance(x, text_type) for x in data.keys()): + raise TypeError("All keys must be strings") + + self._data = data + self._keys = sorted(data.keys()) + self._cachestr = "" + self._cachepoints = (0, len(data)) + + def __contains__(self, key): + return key in self._data + + def __len__(self): + return len(self._data) + + def __iter__(self): + return iter(self._data) + + def __getitem__(self, key): + return self._data[key] + + def keys(self, prefix=None): + if prefix is None or prefix == "" or not self._keys: + return set(self._keys) + + if prefix.startswith(self._cachestr): + lo, hi = self._cachepoints + start = i = bisect_left(self._keys, prefix, lo, hi) + else: + start = i = bisect_left(self._keys, prefix) + + keys = set() + if start == len(self._keys): + return keys + + while self._keys[i].startswith(prefix): + keys.add(self._keys[i]) + i += 1 + + self._cachestr = prefix + self._cachepoints = (start, i) + + return keys + + def has_keys_with_prefix(self, prefix): + if prefix in self._data: + return True + + if prefix.startswith(self._cachestr): + lo, hi = self._cachepoints + i = bisect_left(self._keys, prefix, lo, hi) + else: + i = bisect_left(self._keys, prefix) + + if i == len(self._keys): + return False + + return self._keys[i].startswith(prefix) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_utils.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_utils.py new file mode 100644 index 0000000..0703afb --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/_utils.py @@ -0,0 +1,124 @@ +from __future__ import absolute_import, division, unicode_literals + +from types import ModuleType + +from pip._vendor.six import text_type + +try: + import xml.etree.cElementTree as default_etree +except ImportError: + import xml.etree.ElementTree as default_etree + + +__all__ = ["default_etree", "MethodDispatcher", "isSurrogatePair", + "surrogatePairToCodepoint", "moduleFactoryFactory", + "supports_lone_surrogates"] + + +# Platforms not supporting lone surrogates (\uD800-\uDFFF) should be +# caught by the below test. In general this would be any platform +# using UTF-16 as its encoding of unicode strings, such as +# Jython. This is because UTF-16 itself is based on the use of such +# surrogates, and there is no mechanism to further escape such +# escapes. +try: + _x = eval('"\\uD800"') # pylint:disable=eval-used + if not isinstance(_x, text_type): + # We need this with u"" because of http://bugs.jython.org/issue2039 + _x = eval('u"\\uD800"') # pylint:disable=eval-used + assert isinstance(_x, text_type) +except: # pylint:disable=bare-except + supports_lone_surrogates = False +else: + supports_lone_surrogates = True + + +class MethodDispatcher(dict): + """Dict with 2 special properties: + + On initiation, keys that are lists, sets or tuples are converted to + multiple keys so accessing any one of the items in the original + list-like object returns the matching value + + md = MethodDispatcher({("foo", "bar"):"baz"}) + md["foo"] == "baz" + + A default value which can be set through the default attribute. + """ + + def __init__(self, items=()): + # Using _dictEntries instead of directly assigning to self is about + # twice as fast. Please do careful performance testing before changing + # anything here. + _dictEntries = [] + for name, value in items: + if isinstance(name, (list, tuple, frozenset, set)): + for item in name: + _dictEntries.append((item, value)) + else: + _dictEntries.append((name, value)) + dict.__init__(self, _dictEntries) + assert len(self) == len(_dictEntries) + self.default = None + + def __getitem__(self, key): + return dict.get(self, key, self.default) + + +# Some utility functions to deal with weirdness around UCS2 vs UCS4 +# python builds + +def isSurrogatePair(data): + return (len(data) == 2 and + ord(data[0]) >= 0xD800 and ord(data[0]) <= 0xDBFF and + ord(data[1]) >= 0xDC00 and ord(data[1]) <= 0xDFFF) + + +def surrogatePairToCodepoint(data): + char_val = (0x10000 + (ord(data[0]) - 0xD800) * 0x400 + + (ord(data[1]) - 0xDC00)) + return char_val + +# Module Factory Factory (no, this isn't Java, I know) +# Here to stop this being duplicated all over the place. + + +def moduleFactoryFactory(factory): + moduleCache = {} + + def moduleFactory(baseModule, *args, **kwargs): + if isinstance(ModuleType.__name__, type("")): + name = "_%s_factory" % baseModule.__name__ + else: + name = b"_%s_factory" % baseModule.__name__ + + kwargs_tuple = tuple(kwargs.items()) + + try: + return moduleCache[name][args][kwargs_tuple] + except KeyError: + mod = ModuleType(name) + objs = factory(baseModule, *args, **kwargs) + mod.__dict__.update(objs) + if "name" not in moduleCache: + moduleCache[name] = {} + if "args" not in moduleCache[name]: + moduleCache[name][args] = {} + if "kwargs" not in moduleCache[name][args]: + moduleCache[name][args][kwargs_tuple] = {} + moduleCache[name][args][kwargs_tuple] = mod + return mod + + return moduleFactory + + +def memoize(func): + cache = {} + + def wrapped(*args, **kwargs): + key = (tuple(args), tuple(kwargs.items())) + if key not in cache: + cache[key] = func(*args, **kwargs) + return cache[key] + + return wrapped diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/constants.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/constants.py new file mode 100644 index 0000000..1ff8041 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/constants.py @@ -0,0 +1,2947 @@ +from __future__ import absolute_import, division, unicode_literals + +import string + +EOF = None + +E = { + "null-character": + "Null character in input stream, replaced with U+FFFD.", + "invalid-codepoint": + "Invalid codepoint in stream.", + "incorrectly-placed-solidus": + "Solidus (/) incorrectly placed in tag.", + "incorrect-cr-newline-entity": + "Incorrect CR newline entity, replaced with LF.", + "illegal-windows-1252-entity": + "Entity used with illegal number (windows-1252 reference).", + "cant-convert-numeric-entity": + "Numeric entity couldn't be converted to character " + "(codepoint U+%(charAsInt)08x).", + "illegal-codepoint-for-numeric-entity": + "Numeric entity represents an illegal codepoint: " + "U+%(charAsInt)08x.", + "numeric-entity-without-semicolon": + "Numeric entity didn't end with ';'.", + "expected-numeric-entity-but-got-eof": + "Numeric entity expected. Got end of file instead.", + "expected-numeric-entity": + "Numeric entity expected but none found.", + "named-entity-without-semicolon": + "Named entity didn't end with ';'.", + "expected-named-entity": + "Named entity expected. Got none.", + "attributes-in-end-tag": + "End tag contains unexpected attributes.", + 'self-closing-flag-on-end-tag': + "End tag contains unexpected self-closing flag.", + "expected-tag-name-but-got-right-bracket": + "Expected tag name. Got '>' instead.", + "expected-tag-name-but-got-question-mark": + "Expected tag name. Got '?' instead. (HTML doesn't " + "support processing instructions.)", + "expected-tag-name": + "Expected tag name. Got something else instead", + "expected-closing-tag-but-got-right-bracket": + "Expected closing tag. Got '>' instead. Ignoring '</>'.", + "expected-closing-tag-but-got-eof": + "Expected closing tag. Unexpected end of file.", + "expected-closing-tag-but-got-char": + "Expected closing tag. Unexpected character '%(data)s' found.", + "eof-in-tag-name": + "Unexpected end of file in the tag name.", + "expected-attribute-name-but-got-eof": + "Unexpected end of file. Expected attribute name instead.", + "eof-in-attribute-name": + "Unexpected end of file in attribute name.", + "invalid-character-in-attribute-name": + "Invalid character in attribute name", + "duplicate-attribute": + "Dropped duplicate attribute on tag.", + "expected-end-of-tag-name-but-got-eof": + "Unexpected end of file. Expected = or end of tag.", + "expected-attribute-value-but-got-eof": + "Unexpected end of file. Expected attribute value.", + "expected-attribute-value-but-got-right-bracket": + "Expected attribute value. Got '>' instead.", + 'equals-in-unquoted-attribute-value': + "Unexpected = in unquoted attribute", + 'unexpected-character-in-unquoted-attribute-value': + "Unexpected character in unquoted attribute", + "invalid-character-after-attribute-name": + "Unexpected character after attribute name.", + "unexpected-character-after-attribute-value": + "Unexpected character after attribute value.", + "eof-in-attribute-value-double-quote": + "Unexpected end of file in attribute value (\").", + "eof-in-attribute-value-single-quote": + "Unexpected end of file in attribute value (').", + "eof-in-attribute-value-no-quotes": + "Unexpected end of file in attribute value.", + "unexpected-EOF-after-solidus-in-tag": + "Unexpected end of file in tag. Expected >", + "unexpected-character-after-solidus-in-tag": + "Unexpected character after / in tag. Expected >", + "expected-dashes-or-doctype": + "Expected '--' or 'DOCTYPE'. Not found.", + "unexpected-bang-after-double-dash-in-comment": + "Unexpected ! after -- in comment", + "unexpected-space-after-double-dash-in-comment": + "Unexpected space after -- in comment", + "incorrect-comment": + "Incorrect comment.", + "eof-in-comment": + "Unexpected end of file in comment.", + "eof-in-comment-end-dash": + "Unexpected end of file in comment (-)", + "unexpected-dash-after-double-dash-in-comment": + "Unexpected '-' after '--' found in comment.", + "eof-in-comment-double-dash": + "Unexpected end of file in comment (--).", + "eof-in-comment-end-space-state": + "Unexpected end of file in comment.", + "eof-in-comment-end-bang-state": + "Unexpected end of file in comment.", + "unexpected-char-in-comment": + "Unexpected character in comment found.", + "need-space-after-doctype": + "No space after literal string 'DOCTYPE'.", + "expected-doctype-name-but-got-right-bracket": + "Unexpected > character. Expected DOCTYPE name.", + "expected-doctype-name-but-got-eof": + "Unexpected end of file. Expected DOCTYPE name.", + "eof-in-doctype-name": + "Unexpected end of file in DOCTYPE name.", + "eof-in-doctype": + "Unexpected end of file in DOCTYPE.", + "expected-space-or-right-bracket-in-doctype": + "Expected space or '>'. Got '%(data)s'", + "unexpected-end-of-doctype": + "Unexpected end of DOCTYPE.", + "unexpected-char-in-doctype": + "Unexpected character in DOCTYPE.", + "eof-in-innerhtml": + "XXX innerHTML EOF", + "unexpected-doctype": + "Unexpected DOCTYPE. Ignored.", + "non-html-root": + "html needs to be the first start tag.", + "expected-doctype-but-got-eof": + "Unexpected End of file. Expected DOCTYPE.", + "unknown-doctype": + "Erroneous DOCTYPE.", + "expected-doctype-but-got-chars": + "Unexpected non-space characters. Expected DOCTYPE.", + "expected-doctype-but-got-start-tag": + "Unexpected start tag (%(name)s). Expected DOCTYPE.", + "expected-doctype-but-got-end-tag": + "Unexpected end tag (%(name)s). Expected DOCTYPE.", + "end-tag-after-implied-root": + "Unexpected end tag (%(name)s) after the (implied) root element.", + "expected-named-closing-tag-but-got-eof": + "Unexpected end of file. Expected end tag (%(name)s).", + "two-heads-are-not-better-than-one": + "Unexpected start tag head in existing head. Ignored.", + "unexpected-end-tag": + "Unexpected end tag (%(name)s). Ignored.", + "unexpected-start-tag-out-of-my-head": + "Unexpected start tag (%(name)s) that can be in head. Moved.", + "unexpected-start-tag": + "Unexpected start tag (%(name)s).", + "missing-end-tag": + "Missing end tag (%(name)s).", + "missing-end-tags": + "Missing end tags (%(name)s).", + "unexpected-start-tag-implies-end-tag": + "Unexpected start tag (%(startName)s) " + "implies end tag (%(endName)s).", + "unexpected-start-tag-treated-as": + "Unexpected start tag (%(originalName)s). Treated as %(newName)s.", + "deprecated-tag": + "Unexpected start tag %(name)s. Don't use it!", + "unexpected-start-tag-ignored": + "Unexpected start tag %(name)s. Ignored.", + "expected-one-end-tag-but-got-another": + "Unexpected end tag (%(gotName)s). " + "Missing end tag (%(expectedName)s).", + "end-tag-too-early": + "End tag (%(name)s) seen too early. Expected other end tag.", + "end-tag-too-early-named": + "Unexpected end tag (%(gotName)s). Expected end tag (%(expectedName)s).", + "end-tag-too-early-ignored": + "End tag (%(name)s) seen too early. Ignored.", + "adoption-agency-1.1": + "End tag (%(name)s) violates step 1, " + "paragraph 1 of the adoption agency algorithm.", + "adoption-agency-1.2": + "End tag (%(name)s) violates step 1, " + "paragraph 2 of the adoption agency algorithm.", + "adoption-agency-1.3": + "End tag (%(name)s) violates step 1, " + "paragraph 3 of the adoption agency algorithm.", + "adoption-agency-4.4": + "End tag (%(name)s) violates step 4, " + "paragraph 4 of the adoption agency algorithm.", + "unexpected-end-tag-treated-as": + "Unexpected end tag (%(originalName)s). Treated as %(newName)s.", + "no-end-tag": + "This element (%(name)s) has no end tag.", + "unexpected-implied-end-tag-in-table": + "Unexpected implied end tag (%(name)s) in the table phase.", + "unexpected-implied-end-tag-in-table-body": + "Unexpected implied end tag (%(name)s) in the table body phase.", + "unexpected-char-implies-table-voodoo": + "Unexpected non-space characters in " + "table context caused voodoo mode.", + "unexpected-hidden-input-in-table": + "Unexpected input with type hidden in table context.", + "unexpected-form-in-table": + "Unexpected form in table context.", + "unexpected-start-tag-implies-table-voodoo": + "Unexpected start tag (%(name)s) in " + "table context caused voodoo mode.", + "unexpected-end-tag-implies-table-voodoo": + "Unexpected end tag (%(name)s) in " + "table context caused voodoo mode.", + "unexpected-cell-in-table-body": + "Unexpected table cell start tag (%(name)s) " + "in the table body phase.", + "unexpected-cell-end-tag": + "Got table cell end tag (%(name)s) " + "while required end tags are missing.", + "unexpected-end-tag-in-table-body": + "Unexpected end tag (%(name)s) in the table body phase. Ignored.", + "unexpected-implied-end-tag-in-table-row": + "Unexpected implied end tag (%(name)s) in the table row phase.", + "unexpected-end-tag-in-table-row": + "Unexpected end tag (%(name)s) in the table row phase. Ignored.", + "unexpected-select-in-select": + "Unexpected select start tag in the select phase " + "treated as select end tag.", + "unexpected-input-in-select": + "Unexpected input start tag in the select phase.", + "unexpected-start-tag-in-select": + "Unexpected start tag token (%(name)s in the select phase. " + "Ignored.", + "unexpected-end-tag-in-select": + "Unexpected end tag (%(name)s) in the select phase. Ignored.", + "unexpected-table-element-start-tag-in-select-in-table": + "Unexpected table element start tag (%(name)s) in the select in table phase.", + "unexpected-table-element-end-tag-in-select-in-table": + "Unexpected table element end tag (%(name)s) in the select in table phase.", + "unexpected-char-after-body": + "Unexpected non-space characters in the after body phase.", + "unexpected-start-tag-after-body": + "Unexpected start tag token (%(name)s)" + " in the after body phase.", + "unexpected-end-tag-after-body": + "Unexpected end tag token (%(name)s)" + " in the after body phase.", + "unexpected-char-in-frameset": + "Unexpected characters in the frameset phase. Characters ignored.", + "unexpected-start-tag-in-frameset": + "Unexpected start tag token (%(name)s)" + " in the frameset phase. Ignored.", + "unexpected-frameset-in-frameset-innerhtml": + "Unexpected end tag token (frameset) " + "in the frameset phase (innerHTML).", + "unexpected-end-tag-in-frameset": + "Unexpected end tag token (%(name)s)" + " in the frameset phase. Ignored.", + "unexpected-char-after-frameset": + "Unexpected non-space characters in the " + "after frameset phase. Ignored.", + "unexpected-start-tag-after-frameset": + "Unexpected start tag (%(name)s)" + " in the after frameset phase. Ignored.", + "unexpected-end-tag-after-frameset": + "Unexpected end tag (%(name)s)" + " in the after frameset phase. Ignored.", + "unexpected-end-tag-after-body-innerhtml": + "Unexpected end tag after body(innerHtml)", + "expected-eof-but-got-char": + "Unexpected non-space characters. Expected end of file.", + "expected-eof-but-got-start-tag": + "Unexpected start tag (%(name)s)" + ". Expected end of file.", + "expected-eof-but-got-end-tag": + "Unexpected end tag (%(name)s)" + ". Expected end of file.", + "eof-in-table": + "Unexpected end of file. Expected table content.", + "eof-in-select": + "Unexpected end of file. Expected select content.", + "eof-in-frameset": + "Unexpected end of file. Expected frameset content.", + "eof-in-script-in-script": + "Unexpected end of file. Expected script content.", + "eof-in-foreign-lands": + "Unexpected end of file. Expected foreign content", + "non-void-element-with-trailing-solidus": + "Trailing solidus not allowed on element %(name)s", + "unexpected-html-element-in-foreign-content": + "Element %(name)s not allowed in a non-html context", + "unexpected-end-tag-before-html": + "Unexpected end tag (%(name)s) before html.", + "unexpected-inhead-noscript-tag": + "Element %(name)s not allowed in a inhead-noscript context", + "eof-in-head-noscript": + "Unexpected end of file. Expected inhead-noscript content", + "char-in-head-noscript": + "Unexpected non-space character. Expected inhead-noscript content", + "XXX-undefined-error": + "Undefined error (this sucks and should be fixed)", +} + +namespaces = { + "html": "http://www.w3.org/1999/xhtml", + "mathml": "http://www.w3.org/1998/Math/MathML", + "svg": "http://www.w3.org/2000/svg", + "xlink": "http://www.w3.org/1999/xlink", + "xml": "http://www.w3.org/XML/1998/namespace", + "xmlns": "http://www.w3.org/2000/xmlns/" +} + +scopingElements = frozenset([ + (namespaces["html"], "applet"), + (namespaces["html"], "caption"), + (namespaces["html"], "html"), + (namespaces["html"], "marquee"), + (namespaces["html"], "object"), + (namespaces["html"], "table"), + (namespaces["html"], "td"), + (namespaces["html"], "th"), + (namespaces["mathml"], "mi"), + (namespaces["mathml"], "mo"), + (namespaces["mathml"], "mn"), + (namespaces["mathml"], "ms"), + (namespaces["mathml"], "mtext"), + (namespaces["mathml"], "annotation-xml"), + (namespaces["svg"], "foreignObject"), + (namespaces["svg"], "desc"), + (namespaces["svg"], "title"), +]) + +formattingElements = frozenset([ + (namespaces["html"], "a"), + (namespaces["html"], "b"), + (namespaces["html"], "big"), + (namespaces["html"], "code"), + (namespaces["html"], "em"), + (namespaces["html"], "font"), + (namespaces["html"], "i"), + (namespaces["html"], "nobr"), + (namespaces["html"], "s"), + (namespaces["html"], "small"), + (namespaces["html"], "strike"), + (namespaces["html"], "strong"), + (namespaces["html"], "tt"), + (namespaces["html"], "u") +]) + +specialElements = frozenset([ + (namespaces["html"], "address"), + (namespaces["html"], "applet"), + (namespaces["html"], "area"), + (namespaces["html"], "article"), + (namespaces["html"], "aside"), + (namespaces["html"], "base"), + (namespaces["html"], "basefont"), + (namespaces["html"], "bgsound"), + (namespaces["html"], "blockquote"), + (namespaces["html"], "body"), + (namespaces["html"], "br"), + (namespaces["html"], "button"), + (namespaces["html"], "caption"), + (namespaces["html"], "center"), + (namespaces["html"], "col"), + (namespaces["html"], "colgroup"), + (namespaces["html"], "command"), + (namespaces["html"], "dd"), + (namespaces["html"], "details"), + (namespaces["html"], "dir"), + (namespaces["html"], "div"), + (namespaces["html"], "dl"), + (namespaces["html"], "dt"), + (namespaces["html"], "embed"), + (namespaces["html"], "fieldset"), + (namespaces["html"], "figure"), + (namespaces["html"], "footer"), + (namespaces["html"], "form"), + (namespaces["html"], "frame"), + (namespaces["html"], "frameset"), + (namespaces["html"], "h1"), + (namespaces["html"], "h2"), + (namespaces["html"], "h3"), + (namespaces["html"], "h4"), + (namespaces["html"], "h5"), + (namespaces["html"], "h6"), + (namespaces["html"], "head"), + (namespaces["html"], "header"), + (namespaces["html"], "hr"), + (namespaces["html"], "html"), + (namespaces["html"], "iframe"), + # Note that image is commented out in the spec as "this isn't an + # element that can end up on the stack, so it doesn't matter," + (namespaces["html"], "image"), + (namespaces["html"], "img"), + (namespaces["html"], "input"), + (namespaces["html"], "isindex"), + (namespaces["html"], "li"), + (namespaces["html"], "link"), + (namespaces["html"], "listing"), + (namespaces["html"], "marquee"), + (namespaces["html"], "menu"), + (namespaces["html"], "meta"), + (namespaces["html"], "nav"), + (namespaces["html"], "noembed"), + (namespaces["html"], "noframes"), + (namespaces["html"], "noscript"), + (namespaces["html"], "object"), + (namespaces["html"], "ol"), + (namespaces["html"], "p"), + (namespaces["html"], "param"), + (namespaces["html"], "plaintext"), + (namespaces["html"], "pre"), + (namespaces["html"], "script"), + (namespaces["html"], "section"), + (namespaces["html"], "select"), + (namespaces["html"], "style"), + (namespaces["html"], "table"), + (namespaces["html"], "tbody"), + (namespaces["html"], "td"), + (namespaces["html"], "textarea"), + (namespaces["html"], "tfoot"), + (namespaces["html"], "th"), + (namespaces["html"], "thead"), + (namespaces["html"], "title"), + (namespaces["html"], "tr"), + (namespaces["html"], "ul"), + (namespaces["html"], "wbr"), + (namespaces["html"], "xmp"), + (namespaces["svg"], "foreignObject") +]) + +htmlIntegrationPointElements = frozenset([ + (namespaces["mathml"], "annotation-xml"), + (namespaces["svg"], "foreignObject"), + (namespaces["svg"], "desc"), + (namespaces["svg"], "title") +]) + +mathmlTextIntegrationPointElements = frozenset([ + (namespaces["mathml"], "mi"), + (namespaces["mathml"], "mo"), + (namespaces["mathml"], "mn"), + (namespaces["mathml"], "ms"), + (namespaces["mathml"], "mtext") +]) + +adjustSVGAttributes = { + "attributename": "attributeName", + "attributetype": "attributeType", + "basefrequency": "baseFrequency", + "baseprofile": "baseProfile", + "calcmode": "calcMode", + "clippathunits": "clipPathUnits", + "contentscripttype": "contentScriptType", + "contentstyletype": "contentStyleType", + "diffuseconstant": "diffuseConstant", + "edgemode": "edgeMode", + "externalresourcesrequired": "externalResourcesRequired", + "filterres": "filterRes", + "filterunits": "filterUnits", + "glyphref": "glyphRef", + "gradienttransform": "gradientTransform", + "gradientunits": "gradientUnits", + "kernelmatrix": "kernelMatrix", + "kernelunitlength": "kernelUnitLength", + "keypoints": "keyPoints", + "keysplines": "keySplines", + "keytimes": "keyTimes", + "lengthadjust": "lengthAdjust", + "limitingconeangle": "limitingConeAngle", + "markerheight": "markerHeight", + "markerunits": "markerUnits", + "markerwidth": "markerWidth", + "maskcontentunits": "maskContentUnits", + "maskunits": "maskUnits", + "numoctaves": "numOctaves", + "pathlength": "pathLength", + "patterncontentunits": "patternContentUnits", + "patterntransform": "patternTransform", + "patternunits": "patternUnits", + "pointsatx": "pointsAtX", + "pointsaty": "pointsAtY", + "pointsatz": "pointsAtZ", + "preservealpha": "preserveAlpha", + "preserveaspectratio": "preserveAspectRatio", + "primitiveunits": "primitiveUnits", + "refx": "refX", + "refy": "refY", + "repeatcount": "repeatCount", + "repeatdur": "repeatDur", + "requiredextensions": "requiredExtensions", + "requiredfeatures": "requiredFeatures", + "specularconstant": "specularConstant", + "specularexponent": "specularExponent", + "spreadmethod": "spreadMethod", + "startoffset": "startOffset", + "stddeviation": "stdDeviation", + "stitchtiles": "stitchTiles", + "surfacescale": "surfaceScale", + "systemlanguage": "systemLanguage", + "tablevalues": "tableValues", + "targetx": "targetX", + "targety": "targetY", + "textlength": "textLength", + "viewbox": "viewBox", + "viewtarget": "viewTarget", + "xchannelselector": "xChannelSelector", + "ychannelselector": "yChannelSelector", + "zoomandpan": "zoomAndPan" +} + +adjustMathMLAttributes = {"definitionurl": "definitionURL"} + +adjustForeignAttributes = { + "xlink:actuate": ("xlink", "actuate", namespaces["xlink"]), + "xlink:arcrole": ("xlink", "arcrole", namespaces["xlink"]), + "xlink:href": ("xlink", "href", namespaces["xlink"]), + "xlink:role": ("xlink", "role", namespaces["xlink"]), + "xlink:show": ("xlink", "show", namespaces["xlink"]), + "xlink:title": ("xlink", "title", namespaces["xlink"]), + "xlink:type": ("xlink", "type", namespaces["xlink"]), + "xml:base": ("xml", "base", namespaces["xml"]), + "xml:lang": ("xml", "lang", namespaces["xml"]), + "xml:space": ("xml", "space", namespaces["xml"]), + "xmlns": (None, "xmlns", namespaces["xmlns"]), + "xmlns:xlink": ("xmlns", "xlink", namespaces["xmlns"]) +} + +unadjustForeignAttributes = dict([((ns, local), qname) for qname, (prefix, local, ns) in + adjustForeignAttributes.items()]) + +spaceCharacters = frozenset([ + "\t", + "\n", + "\u000C", + " ", + "\r" +]) + +tableInsertModeElements = frozenset([ + "table", + "tbody", + "tfoot", + "thead", + "tr" +]) + +asciiLowercase = frozenset(string.ascii_lowercase) +asciiUppercase = frozenset(string.ascii_uppercase) +asciiLetters = frozenset(string.ascii_letters) +digits = frozenset(string.digits) +hexDigits = frozenset(string.hexdigits) + +asciiUpper2Lower = dict([(ord(c), ord(c.lower())) + for c in string.ascii_uppercase]) + +# Heading elements need to be ordered +headingElements = ( + "h1", + "h2", + "h3", + "h4", + "h5", + "h6" +) + +voidElements = frozenset([ + "base", + "command", + "event-source", + "link", + "meta", + "hr", + "br", + "img", + "embed", + "param", + "area", + "col", + "input", + "source", + "track" +]) + +cdataElements = frozenset(['title', 'textarea']) + +rcdataElements = frozenset([ + 'style', + 'script', + 'xmp', + 'iframe', + 'noembed', + 'noframes', + 'noscript' +]) + +booleanAttributes = { + "": frozenset(["irrelevant", "itemscope"]), + "style": frozenset(["scoped"]), + "img": frozenset(["ismap"]), + "audio": frozenset(["autoplay", "controls"]), + "video": frozenset(["autoplay", "controls"]), + "script": frozenset(["defer", "async"]), + "details": frozenset(["open"]), + "datagrid": frozenset(["multiple", "disabled"]), + "command": frozenset(["hidden", "disabled", "checked", "default"]), + "hr": frozenset(["noshade"]), + "menu": frozenset(["autosubmit"]), + "fieldset": frozenset(["disabled", "readonly"]), + "option": frozenset(["disabled", "readonly", "selected"]), + "optgroup": frozenset(["disabled", "readonly"]), + "button": frozenset(["disabled", "autofocus"]), + "input": frozenset(["disabled", "readonly", "required", "autofocus", "checked", "ismap"]), + "select": frozenset(["disabled", "readonly", "autofocus", "multiple"]), + "output": frozenset(["disabled", "readonly"]), + "iframe": frozenset(["seamless"]), +} + +# entitiesWindows1252 has to be _ordered_ and needs to have an index. It +# therefore can't be a frozenset. +entitiesWindows1252 = ( + 8364, # 0x80 0x20AC EURO SIGN + 65533, # 0x81 UNDEFINED + 8218, # 0x82 0x201A SINGLE LOW-9 QUOTATION MARK + 402, # 0x83 0x0192 LATIN SMALL LETTER F WITH HOOK + 8222, # 0x84 0x201E DOUBLE LOW-9 QUOTATION MARK + 8230, # 0x85 0x2026 HORIZONTAL ELLIPSIS + 8224, # 0x86 0x2020 DAGGER + 8225, # 0x87 0x2021 DOUBLE DAGGER + 710, # 0x88 0x02C6 MODIFIER LETTER CIRCUMFLEX ACCENT + 8240, # 0x89 0x2030 PER MILLE SIGN + 352, # 0x8A 0x0160 LATIN CAPITAL LETTER S WITH CARON + 8249, # 0x8B 0x2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK + 338, # 0x8C 0x0152 LATIN CAPITAL LIGATURE OE + 65533, # 0x8D UNDEFINED + 381, # 0x8E 0x017D LATIN CAPITAL LETTER Z WITH CARON + 65533, # 0x8F UNDEFINED + 65533, # 0x90 UNDEFINED + 8216, # 0x91 0x2018 LEFT SINGLE QUOTATION MARK + 8217, # 0x92 0x2019 RIGHT SINGLE QUOTATION MARK + 8220, # 0x93 0x201C LEFT DOUBLE QUOTATION MARK + 8221, # 0x94 0x201D RIGHT DOUBLE QUOTATION MARK + 8226, # 0x95 0x2022 BULLET + 8211, # 0x96 0x2013 EN DASH + 8212, # 0x97 0x2014 EM DASH + 732, # 0x98 0x02DC SMALL TILDE + 8482, # 0x99 0x2122 TRADE MARK SIGN + 353, # 0x9A 0x0161 LATIN SMALL LETTER S WITH CARON + 8250, # 0x9B 0x203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + 339, # 0x9C 0x0153 LATIN SMALL LIGATURE OE + 65533, # 0x9D UNDEFINED + 382, # 0x9E 0x017E LATIN SMALL LETTER Z WITH CARON + 376 # 0x9F 0x0178 LATIN CAPITAL LETTER Y WITH DIAERESIS +) + +xmlEntities = frozenset(['lt;', 'gt;', 'amp;', 'apos;', 'quot;']) + +entities = { + "AElig": "\xc6", + "AElig;": "\xc6", + "AMP": "&", + "AMP;": "&", + "Aacute": "\xc1", + "Aacute;": "\xc1", + "Abreve;": "\u0102", + "Acirc": "\xc2", + "Acirc;": "\xc2", + "Acy;": "\u0410", + "Afr;": "\U0001d504", + "Agrave": "\xc0", + "Agrave;": "\xc0", + "Alpha;": "\u0391", + "Amacr;": "\u0100", + "And;": "\u2a53", + "Aogon;": "\u0104", + "Aopf;": "\U0001d538", + "ApplyFunction;": "\u2061", + "Aring": "\xc5", + "Aring;": "\xc5", + "Ascr;": "\U0001d49c", + "Assign;": "\u2254", + "Atilde": "\xc3", + "Atilde;": "\xc3", + "Auml": "\xc4", + "Auml;": "\xc4", + "Backslash;": "\u2216", + "Barv;": "\u2ae7", + "Barwed;": "\u2306", + "Bcy;": "\u0411", + "Because;": "\u2235", + "Bernoullis;": "\u212c", + "Beta;": "\u0392", + "Bfr;": "\U0001d505", + "Bopf;": "\U0001d539", + "Breve;": "\u02d8", + "Bscr;": "\u212c", + "Bumpeq;": "\u224e", + "CHcy;": "\u0427", + "COPY": "\xa9", + "COPY;": "\xa9", + "Cacute;": "\u0106", + "Cap;": "\u22d2", + "CapitalDifferentialD;": "\u2145", + "Cayleys;": "\u212d", + "Ccaron;": "\u010c", + "Ccedil": "\xc7", + "Ccedil;": "\xc7", + "Ccirc;": "\u0108", + "Cconint;": "\u2230", + "Cdot;": "\u010a", + "Cedilla;": "\xb8", + "CenterDot;": "\xb7", + "Cfr;": "\u212d", + "Chi;": "\u03a7", + "CircleDot;": "\u2299", + "CircleMinus;": "\u2296", + "CirclePlus;": "\u2295", + "CircleTimes;": "\u2297", + "ClockwiseContourIntegral;": "\u2232", + "CloseCurlyDoubleQuote;": "\u201d", + "CloseCurlyQuote;": "\u2019", + "Colon;": "\u2237", + "Colone;": "\u2a74", + "Congruent;": "\u2261", + "Conint;": "\u222f", + "ContourIntegral;": "\u222e", + "Copf;": "\u2102", + "Coproduct;": "\u2210", + "CounterClockwiseContourIntegral;": "\u2233", + "Cross;": "\u2a2f", + "Cscr;": "\U0001d49e", + "Cup;": "\u22d3", + "CupCap;": "\u224d", + "DD;": "\u2145", + "DDotrahd;": "\u2911", + "DJcy;": "\u0402", + "DScy;": "\u0405", + "DZcy;": "\u040f", + "Dagger;": "\u2021", + "Darr;": "\u21a1", + "Dashv;": "\u2ae4", + "Dcaron;": "\u010e", + "Dcy;": "\u0414", + "Del;": "\u2207", + "Delta;": "\u0394", + "Dfr;": "\U0001d507", + "DiacriticalAcute;": "\xb4", + "DiacriticalDot;": "\u02d9", + "DiacriticalDoubleAcute;": "\u02dd", + "DiacriticalGrave;": "`", + "DiacriticalTilde;": "\u02dc", + "Diamond;": "\u22c4", + "DifferentialD;": "\u2146", + "Dopf;": "\U0001d53b", + "Dot;": "\xa8", + "DotDot;": "\u20dc", + "DotEqual;": "\u2250", + "DoubleContourIntegral;": "\u222f", + "DoubleDot;": "\xa8", + "DoubleDownArrow;": "\u21d3", + "DoubleLeftArrow;": "\u21d0", + "DoubleLeftRightArrow;": "\u21d4", + "DoubleLeftTee;": "\u2ae4", + "DoubleLongLeftArrow;": "\u27f8", + "DoubleLongLeftRightArrow;": "\u27fa", + "DoubleLongRightArrow;": "\u27f9", + "DoubleRightArrow;": "\u21d2", + "DoubleRightTee;": "\u22a8", + "DoubleUpArrow;": "\u21d1", + "DoubleUpDownArrow;": "\u21d5", + "DoubleVerticalBar;": "\u2225", + "DownArrow;": "\u2193", + "DownArrowBar;": "\u2913", + "DownArrowUpArrow;": "\u21f5", + "DownBreve;": "\u0311", + "DownLeftRightVector;": "\u2950", + "DownLeftTeeVector;": "\u295e", + "DownLeftVector;": "\u21bd", + "DownLeftVectorBar;": "\u2956", + "DownRightTeeVector;": "\u295f", + "DownRightVector;": "\u21c1", + "DownRightVectorBar;": "\u2957", + "DownTee;": "\u22a4", + "DownTeeArrow;": "\u21a7", + "Downarrow;": "\u21d3", + "Dscr;": "\U0001d49f", + "Dstrok;": "\u0110", + "ENG;": "\u014a", + "ETH": "\xd0", + "ETH;": "\xd0", + "Eacute": "\xc9", + "Eacute;": "\xc9", + "Ecaron;": "\u011a", + "Ecirc": "\xca", + "Ecirc;": "\xca", + "Ecy;": "\u042d", + "Edot;": "\u0116", + "Efr;": "\U0001d508", + "Egrave": "\xc8", + "Egrave;": "\xc8", + "Element;": "\u2208", + "Emacr;": "\u0112", + "EmptySmallSquare;": "\u25fb", + "EmptyVerySmallSquare;": "\u25ab", + "Eogon;": "\u0118", + "Eopf;": "\U0001d53c", + "Epsilon;": "\u0395", + "Equal;": "\u2a75", + "EqualTilde;": "\u2242", + "Equilibrium;": "\u21cc", + "Escr;": "\u2130", + "Esim;": "\u2a73", + "Eta;": "\u0397", + "Euml": "\xcb", + "Euml;": "\xcb", + "Exists;": "\u2203", + "ExponentialE;": "\u2147", + "Fcy;": "\u0424", + "Ffr;": "\U0001d509", + "FilledSmallSquare;": "\u25fc", + "FilledVerySmallSquare;": "\u25aa", + "Fopf;": "\U0001d53d", + "ForAll;": "\u2200", + "Fouriertrf;": "\u2131", + "Fscr;": "\u2131", + "GJcy;": "\u0403", + "GT": ">", + "GT;": ">", + "Gamma;": "\u0393", + "Gammad;": "\u03dc", + "Gbreve;": "\u011e", + "Gcedil;": "\u0122", + "Gcirc;": "\u011c", + "Gcy;": "\u0413", + "Gdot;": "\u0120", + "Gfr;": "\U0001d50a", + "Gg;": "\u22d9", + "Gopf;": "\U0001d53e", + "GreaterEqual;": "\u2265", + "GreaterEqualLess;": "\u22db", + "GreaterFullEqual;": "\u2267", + "GreaterGreater;": "\u2aa2", + "GreaterLess;": "\u2277", + "GreaterSlantEqual;": "\u2a7e", + "GreaterTilde;": "\u2273", + "Gscr;": "\U0001d4a2", + "Gt;": "\u226b", + "HARDcy;": "\u042a", + "Hacek;": "\u02c7", + "Hat;": "^", + "Hcirc;": "\u0124", + "Hfr;": "\u210c", + "HilbertSpace;": "\u210b", + "Hopf;": "\u210d", + "HorizontalLine;": "\u2500", + "Hscr;": "\u210b", + "Hstrok;": "\u0126", + "HumpDownHump;": "\u224e", + "HumpEqual;": "\u224f", + "IEcy;": "\u0415", + "IJlig;": "\u0132", + "IOcy;": "\u0401", + "Iacute": "\xcd", + "Iacute;": "\xcd", + "Icirc": "\xce", + "Icirc;": "\xce", + "Icy;": "\u0418", + "Idot;": "\u0130", + "Ifr;": "\u2111", + "Igrave": "\xcc", + "Igrave;": "\xcc", + "Im;": "\u2111", + "Imacr;": "\u012a", + "ImaginaryI;": "\u2148", + "Implies;": "\u21d2", + "Int;": "\u222c", + "Integral;": "\u222b", + "Intersection;": "\u22c2", + "InvisibleComma;": "\u2063", + "InvisibleTimes;": "\u2062", + "Iogon;": "\u012e", + "Iopf;": "\U0001d540", + "Iota;": "\u0399", + "Iscr;": "\u2110", + "Itilde;": "\u0128", + "Iukcy;": "\u0406", + "Iuml": "\xcf", + "Iuml;": "\xcf", + "Jcirc;": "\u0134", + "Jcy;": "\u0419", + "Jfr;": "\U0001d50d", + "Jopf;": "\U0001d541", + "Jscr;": "\U0001d4a5", + "Jsercy;": "\u0408", + "Jukcy;": "\u0404", + "KHcy;": "\u0425", + "KJcy;": "\u040c", + "Kappa;": "\u039a", + "Kcedil;": "\u0136", + "Kcy;": "\u041a", + "Kfr;": "\U0001d50e", + "Kopf;": "\U0001d542", + "Kscr;": "\U0001d4a6", + "LJcy;": "\u0409", + "LT": "<", + "LT;": "<", + "Lacute;": "\u0139", + "Lambda;": "\u039b", + "Lang;": "\u27ea", + "Laplacetrf;": "\u2112", + "Larr;": "\u219e", + "Lcaron;": "\u013d", + "Lcedil;": "\u013b", + "Lcy;": "\u041b", + "LeftAngleBracket;": "\u27e8", + "LeftArrow;": "\u2190", + "LeftArrowBar;": "\u21e4", + "LeftArrowRightArrow;": "\u21c6", + "LeftCeiling;": "\u2308", + "LeftDoubleBracket;": "\u27e6", + "LeftDownTeeVector;": "\u2961", + "LeftDownVector;": "\u21c3", + "LeftDownVectorBar;": "\u2959", + "LeftFloor;": "\u230a", + "LeftRightArrow;": "\u2194", + "LeftRightVector;": "\u294e", + "LeftTee;": "\u22a3", + "LeftTeeArrow;": "\u21a4", + "LeftTeeVector;": "\u295a", + "LeftTriangle;": "\u22b2", + "LeftTriangleBar;": "\u29cf", + "LeftTriangleEqual;": "\u22b4", + "LeftUpDownVector;": "\u2951", + "LeftUpTeeVector;": "\u2960", + "LeftUpVector;": "\u21bf", + "LeftUpVectorBar;": "\u2958", + "LeftVector;": "\u21bc", + "LeftVectorBar;": "\u2952", + "Leftarrow;": "\u21d0", + "Leftrightarrow;": "\u21d4", + "LessEqualGreater;": "\u22da", + "LessFullEqual;": "\u2266", + "LessGreater;": "\u2276", + "LessLess;": "\u2aa1", + "LessSlantEqual;": "\u2a7d", + "LessTilde;": "\u2272", + "Lfr;": "\U0001d50f", + "Ll;": "\u22d8", + "Lleftarrow;": "\u21da", + "Lmidot;": "\u013f", + "LongLeftArrow;": "\u27f5", + "LongLeftRightArrow;": "\u27f7", + "LongRightArrow;": "\u27f6", + "Longleftarrow;": "\u27f8", + "Longleftrightarrow;": "\u27fa", + "Longrightarrow;": "\u27f9", + "Lopf;": "\U0001d543", + "LowerLeftArrow;": "\u2199", + "LowerRightArrow;": "\u2198", + "Lscr;": "\u2112", + "Lsh;": "\u21b0", + "Lstrok;": "\u0141", + "Lt;": "\u226a", + "Map;": "\u2905", + "Mcy;": "\u041c", + "MediumSpace;": "\u205f", + "Mellintrf;": "\u2133", + "Mfr;": "\U0001d510", + "MinusPlus;": "\u2213", + "Mopf;": "\U0001d544", + "Mscr;": "\u2133", + "Mu;": "\u039c", + "NJcy;": "\u040a", + "Nacute;": "\u0143", + "Ncaron;": "\u0147", + "Ncedil;": "\u0145", + "Ncy;": "\u041d", + "NegativeMediumSpace;": "\u200b", + "NegativeThickSpace;": "\u200b", + "NegativeThinSpace;": "\u200b", + "NegativeVeryThinSpace;": "\u200b", + "NestedGreaterGreater;": "\u226b", + "NestedLessLess;": "\u226a", + "NewLine;": "\n", + "Nfr;": "\U0001d511", + "NoBreak;": "\u2060", + "NonBreakingSpace;": "\xa0", + "Nopf;": "\u2115", + "Not;": "\u2aec", + "NotCongruent;": "\u2262", + "NotCupCap;": "\u226d", + "NotDoubleVerticalBar;": "\u2226", + "NotElement;": "\u2209", + "NotEqual;": "\u2260", + "NotEqualTilde;": "\u2242\u0338", + "NotExists;": "\u2204", + "NotGreater;": "\u226f", + "NotGreaterEqual;": "\u2271", + "NotGreaterFullEqual;": "\u2267\u0338", + "NotGreaterGreater;": "\u226b\u0338", + "NotGreaterLess;": "\u2279", + "NotGreaterSlantEqual;": "\u2a7e\u0338", + "NotGreaterTilde;": "\u2275", + "NotHumpDownHump;": "\u224e\u0338", + "NotHumpEqual;": "\u224f\u0338", + "NotLeftTriangle;": "\u22ea", + "NotLeftTriangleBar;": "\u29cf\u0338", + "NotLeftTriangleEqual;": "\u22ec", + "NotLess;": "\u226e", + "NotLessEqual;": "\u2270", + "NotLessGreater;": "\u2278", + "NotLessLess;": "\u226a\u0338", + "NotLessSlantEqual;": "\u2a7d\u0338", + "NotLessTilde;": "\u2274", + "NotNestedGreaterGreater;": "\u2aa2\u0338", + "NotNestedLessLess;": "\u2aa1\u0338", + "NotPrecedes;": "\u2280", + "NotPrecedesEqual;": "\u2aaf\u0338", + "NotPrecedesSlantEqual;": "\u22e0", + "NotReverseElement;": "\u220c", + "NotRightTriangle;": "\u22eb", + "NotRightTriangleBar;": "\u29d0\u0338", + "NotRightTriangleEqual;": "\u22ed", + "NotSquareSubset;": "\u228f\u0338", + "NotSquareSubsetEqual;": "\u22e2", + "NotSquareSuperset;": "\u2290\u0338", + "NotSquareSupersetEqual;": "\u22e3", + "NotSubset;": "\u2282\u20d2", + "NotSubsetEqual;": "\u2288", + "NotSucceeds;": "\u2281", + "NotSucceedsEqual;": "\u2ab0\u0338", + "NotSucceedsSlantEqual;": "\u22e1", + "NotSucceedsTilde;": "\u227f\u0338", + "NotSuperset;": "\u2283\u20d2", + "NotSupersetEqual;": "\u2289", + "NotTilde;": "\u2241", + "NotTildeEqual;": "\u2244", + "NotTildeFullEqual;": "\u2247", + "NotTildeTilde;": "\u2249", + "NotVerticalBar;": "\u2224", + "Nscr;": "\U0001d4a9", + "Ntilde": "\xd1", + "Ntilde;": "\xd1", + "Nu;": "\u039d", + "OElig;": "\u0152", + "Oacute": "\xd3", + "Oacute;": "\xd3", + "Ocirc": "\xd4", + "Ocirc;": "\xd4", + "Ocy;": "\u041e", + "Odblac;": "\u0150", + "Ofr;": "\U0001d512", + "Ograve": "\xd2", + "Ograve;": "\xd2", + "Omacr;": "\u014c", + "Omega;": "\u03a9", + "Omicron;": "\u039f", + "Oopf;": "\U0001d546", + "OpenCurlyDoubleQuote;": "\u201c", + "OpenCurlyQuote;": "\u2018", + "Or;": "\u2a54", + "Oscr;": "\U0001d4aa", + "Oslash": "\xd8", + "Oslash;": "\xd8", + "Otilde": "\xd5", + "Otilde;": "\xd5", + "Otimes;": "\u2a37", + "Ouml": "\xd6", + "Ouml;": "\xd6", + "OverBar;": "\u203e", + "OverBrace;": "\u23de", + "OverBracket;": "\u23b4", + "OverParenthesis;": "\u23dc", + "PartialD;": "\u2202", + "Pcy;": "\u041f", + "Pfr;": "\U0001d513", + "Phi;": "\u03a6", + "Pi;": "\u03a0", + "PlusMinus;": "\xb1", + "Poincareplane;": "\u210c", + "Popf;": "\u2119", + "Pr;": "\u2abb", + "Precedes;": "\u227a", + "PrecedesEqual;": "\u2aaf", + "PrecedesSlantEqual;": "\u227c", + "PrecedesTilde;": "\u227e", + "Prime;": "\u2033", + "Product;": "\u220f", + "Proportion;": "\u2237", + "Proportional;": "\u221d", + "Pscr;": "\U0001d4ab", + "Psi;": "\u03a8", + "QUOT": "\"", + "QUOT;": "\"", + "Qfr;": "\U0001d514", + "Qopf;": "\u211a", + "Qscr;": "\U0001d4ac", + "RBarr;": "\u2910", + "REG": "\xae", + "REG;": "\xae", + "Racute;": "\u0154", + "Rang;": "\u27eb", + "Rarr;": "\u21a0", + "Rarrtl;": "\u2916", + "Rcaron;": "\u0158", + "Rcedil;": "\u0156", + "Rcy;": "\u0420", + "Re;": "\u211c", + "ReverseElement;": "\u220b", + "ReverseEquilibrium;": "\u21cb", + "ReverseUpEquilibrium;": "\u296f", + "Rfr;": "\u211c", + "Rho;": "\u03a1", + "RightAngleBracket;": "\u27e9", + "RightArrow;": "\u2192", + "RightArrowBar;": "\u21e5", + "RightArrowLeftArrow;": "\u21c4", + "RightCeiling;": "\u2309", + "RightDoubleBracket;": "\u27e7", + "RightDownTeeVector;": "\u295d", + "RightDownVector;": "\u21c2", + "RightDownVectorBar;": "\u2955", + "RightFloor;": "\u230b", + "RightTee;": "\u22a2", + "RightTeeArrow;": "\u21a6", + "RightTeeVector;": "\u295b", + "RightTriangle;": "\u22b3", + "RightTriangleBar;": "\u29d0", + "RightTriangleEqual;": "\u22b5", + "RightUpDownVector;": "\u294f", + "RightUpTeeVector;": "\u295c", + "RightUpVector;": "\u21be", + "RightUpVectorBar;": "\u2954", + "RightVector;": "\u21c0", + "RightVectorBar;": "\u2953", + "Rightarrow;": "\u21d2", + "Ropf;": "\u211d", + "RoundImplies;": "\u2970", + "Rrightarrow;": "\u21db", + "Rscr;": "\u211b", + "Rsh;": "\u21b1", + "RuleDelayed;": "\u29f4", + "SHCHcy;": "\u0429", + "SHcy;": "\u0428", + "SOFTcy;": "\u042c", + "Sacute;": "\u015a", + "Sc;": "\u2abc", + "Scaron;": "\u0160", + "Scedil;": "\u015e", + "Scirc;": "\u015c", + "Scy;": "\u0421", + "Sfr;": "\U0001d516", + "ShortDownArrow;": "\u2193", + "ShortLeftArrow;": "\u2190", + "ShortRightArrow;": "\u2192", + "ShortUpArrow;": "\u2191", + "Sigma;": "\u03a3", + "SmallCircle;": "\u2218", + "Sopf;": "\U0001d54a", + "Sqrt;": "\u221a", + "Square;": "\u25a1", + "SquareIntersection;": "\u2293", + "SquareSubset;": "\u228f", + "SquareSubsetEqual;": "\u2291", + "SquareSuperset;": "\u2290", + "SquareSupersetEqual;": "\u2292", + "SquareUnion;": "\u2294", + "Sscr;": "\U0001d4ae", + "Star;": "\u22c6", + "Sub;": "\u22d0", + "Subset;": "\u22d0", + "SubsetEqual;": "\u2286", + "Succeeds;": "\u227b", + "SucceedsEqual;": "\u2ab0", + "SucceedsSlantEqual;": "\u227d", + "SucceedsTilde;": "\u227f", + "SuchThat;": "\u220b", + "Sum;": "\u2211", + "Sup;": "\u22d1", + "Superset;": "\u2283", + "SupersetEqual;": "\u2287", + "Supset;": "\u22d1", + "THORN": "\xde", + "THORN;": "\xde", + "TRADE;": "\u2122", + "TSHcy;": "\u040b", + "TScy;": "\u0426", + "Tab;": "\t", + "Tau;": "\u03a4", + "Tcaron;": "\u0164", + "Tcedil;": "\u0162", + "Tcy;": "\u0422", + "Tfr;": "\U0001d517", + "Therefore;": "\u2234", + "Theta;": "\u0398", + "ThickSpace;": "\u205f\u200a", + "ThinSpace;": "\u2009", + "Tilde;": "\u223c", + "TildeEqual;": "\u2243", + "TildeFullEqual;": "\u2245", + "TildeTilde;": "\u2248", + "Topf;": "\U0001d54b", + "TripleDot;": "\u20db", + "Tscr;": "\U0001d4af", + "Tstrok;": "\u0166", + "Uacute": "\xda", + "Uacute;": "\xda", + "Uarr;": "\u219f", + "Uarrocir;": "\u2949", + "Ubrcy;": "\u040e", + "Ubreve;": "\u016c", + "Ucirc": "\xdb", + "Ucirc;": "\xdb", + "Ucy;": "\u0423", + "Udblac;": "\u0170", + "Ufr;": "\U0001d518", + "Ugrave": "\xd9", + "Ugrave;": "\xd9", + "Umacr;": "\u016a", + "UnderBar;": "_", + "UnderBrace;": "\u23df", + "UnderBracket;": "\u23b5", + "UnderParenthesis;": "\u23dd", + "Union;": "\u22c3", + "UnionPlus;": "\u228e", + "Uogon;": "\u0172", + "Uopf;": "\U0001d54c", + "UpArrow;": "\u2191", + "UpArrowBar;": "\u2912", + "UpArrowDownArrow;": "\u21c5", + "UpDownArrow;": "\u2195", + "UpEquilibrium;": "\u296e", + "UpTee;": "\u22a5", + "UpTeeArrow;": "\u21a5", + "Uparrow;": "\u21d1", + "Updownarrow;": "\u21d5", + "UpperLeftArrow;": "\u2196", + "UpperRightArrow;": "\u2197", + "Upsi;": "\u03d2", + "Upsilon;": "\u03a5", + "Uring;": "\u016e", + "Uscr;": "\U0001d4b0", + "Utilde;": "\u0168", + "Uuml": "\xdc", + "Uuml;": "\xdc", + "VDash;": "\u22ab", + "Vbar;": "\u2aeb", + "Vcy;": "\u0412", + "Vdash;": "\u22a9", + "Vdashl;": "\u2ae6", + "Vee;": "\u22c1", + "Verbar;": "\u2016", + "Vert;": "\u2016", + "VerticalBar;": "\u2223", + "VerticalLine;": "|", + "VerticalSeparator;": "\u2758", + "VerticalTilde;": "\u2240", + "VeryThinSpace;": "\u200a", + "Vfr;": "\U0001d519", + "Vopf;": "\U0001d54d", + "Vscr;": "\U0001d4b1", + "Vvdash;": "\u22aa", + "Wcirc;": "\u0174", + "Wedge;": "\u22c0", + "Wfr;": "\U0001d51a", + "Wopf;": "\U0001d54e", + "Wscr;": "\U0001d4b2", + "Xfr;": "\U0001d51b", + "Xi;": "\u039e", + "Xopf;": "\U0001d54f", + "Xscr;": "\U0001d4b3", + "YAcy;": "\u042f", + "YIcy;": "\u0407", + "YUcy;": "\u042e", + "Yacute": "\xdd", + "Yacute;": "\xdd", + "Ycirc;": "\u0176", + "Ycy;": "\u042b", + "Yfr;": "\U0001d51c", + "Yopf;": "\U0001d550", + "Yscr;": "\U0001d4b4", + "Yuml;": "\u0178", + "ZHcy;": "\u0416", + "Zacute;": "\u0179", + "Zcaron;": "\u017d", + "Zcy;": "\u0417", + "Zdot;": "\u017b", + "ZeroWidthSpace;": "\u200b", + "Zeta;": "\u0396", + "Zfr;": "\u2128", + "Zopf;": "\u2124", + "Zscr;": "\U0001d4b5", + "aacute": "\xe1", + "aacute;": "\xe1", + "abreve;": "\u0103", + "ac;": "\u223e", + "acE;": "\u223e\u0333", + "acd;": "\u223f", + "acirc": "\xe2", + "acirc;": "\xe2", + "acute": "\xb4", + "acute;": "\xb4", + "acy;": "\u0430", + "aelig": "\xe6", + "aelig;": "\xe6", + "af;": "\u2061", + "afr;": "\U0001d51e", + "agrave": "\xe0", + "agrave;": "\xe0", + "alefsym;": "\u2135", + "aleph;": "\u2135", + "alpha;": "\u03b1", + "amacr;": "\u0101", + "amalg;": "\u2a3f", + "amp": "&", + "amp;": "&", + "and;": "\u2227", + "andand;": "\u2a55", + "andd;": "\u2a5c", + "andslope;": "\u2a58", + "andv;": "\u2a5a", + "ang;": "\u2220", + "ange;": "\u29a4", + "angle;": "\u2220", + "angmsd;": "\u2221", + "angmsdaa;": "\u29a8", + "angmsdab;": "\u29a9", + "angmsdac;": "\u29aa", + "angmsdad;": "\u29ab", + "angmsdae;": "\u29ac", + "angmsdaf;": "\u29ad", + "angmsdag;": "\u29ae", + "angmsdah;": "\u29af", + "angrt;": "\u221f", + "angrtvb;": "\u22be", + "angrtvbd;": "\u299d", + "angsph;": "\u2222", + "angst;": "\xc5", + "angzarr;": "\u237c", + "aogon;": "\u0105", + "aopf;": "\U0001d552", + "ap;": "\u2248", + "apE;": "\u2a70", + "apacir;": "\u2a6f", + "ape;": "\u224a", + "apid;": "\u224b", + "apos;": "'", + "approx;": "\u2248", + "approxeq;": "\u224a", + "aring": "\xe5", + "aring;": "\xe5", + "ascr;": "\U0001d4b6", + "ast;": "*", + "asymp;": "\u2248", + "asympeq;": "\u224d", + "atilde": "\xe3", + "atilde;": "\xe3", + "auml": "\xe4", + "auml;": "\xe4", + "awconint;": "\u2233", + "awint;": "\u2a11", + "bNot;": "\u2aed", + "backcong;": "\u224c", + "backepsilon;": "\u03f6", + "backprime;": "\u2035", + "backsim;": "\u223d", + "backsimeq;": "\u22cd", + "barvee;": "\u22bd", + "barwed;": "\u2305", + "barwedge;": "\u2305", + "bbrk;": "\u23b5", + "bbrktbrk;": "\u23b6", + "bcong;": "\u224c", + "bcy;": "\u0431", + "bdquo;": "\u201e", + "becaus;": "\u2235", + "because;": "\u2235", + "bemptyv;": "\u29b0", + "bepsi;": "\u03f6", + "bernou;": "\u212c", + "beta;": "\u03b2", + "beth;": "\u2136", + "between;": "\u226c", + "bfr;": "\U0001d51f", + "bigcap;": "\u22c2", + "bigcirc;": "\u25ef", + "bigcup;": "\u22c3", + "bigodot;": "\u2a00", + "bigoplus;": "\u2a01", + "bigotimes;": "\u2a02", + "bigsqcup;": "\u2a06", + "bigstar;": "\u2605", + "bigtriangledown;": "\u25bd", + "bigtriangleup;": "\u25b3", + "biguplus;": "\u2a04", + "bigvee;": "\u22c1", + "bigwedge;": "\u22c0", + "bkarow;": "\u290d", + "blacklozenge;": "\u29eb", + "blacksquare;": "\u25aa", + "blacktriangle;": "\u25b4", + "blacktriangledown;": "\u25be", + "blacktriangleleft;": "\u25c2", + "blacktriangleright;": "\u25b8", + "blank;": "\u2423", + "blk12;": "\u2592", + "blk14;": "\u2591", + "blk34;": "\u2593", + "block;": "\u2588", + "bne;": "=\u20e5", + "bnequiv;": "\u2261\u20e5", + "bnot;": "\u2310", + "bopf;": "\U0001d553", + "bot;": "\u22a5", + "bottom;": "\u22a5", + "bowtie;": "\u22c8", + "boxDL;": "\u2557", + "boxDR;": "\u2554", + "boxDl;": "\u2556", + "boxDr;": "\u2553", + "boxH;": "\u2550", + "boxHD;": "\u2566", + "boxHU;": "\u2569", + "boxHd;": "\u2564", + "boxHu;": "\u2567", + "boxUL;": "\u255d", + "boxUR;": "\u255a", + "boxUl;": "\u255c", + "boxUr;": "\u2559", + "boxV;": "\u2551", + "boxVH;": "\u256c", + "boxVL;": "\u2563", + "boxVR;": "\u2560", + "boxVh;": "\u256b", + "boxVl;": "\u2562", + "boxVr;": "\u255f", + "boxbox;": "\u29c9", + "boxdL;": "\u2555", + "boxdR;": "\u2552", + "boxdl;": "\u2510", + "boxdr;": "\u250c", + "boxh;": "\u2500", + "boxhD;": "\u2565", + "boxhU;": "\u2568", + "boxhd;": "\u252c", + "boxhu;": "\u2534", + "boxminus;": "\u229f", + "boxplus;": "\u229e", + "boxtimes;": "\u22a0", + "boxuL;": "\u255b", + "boxuR;": "\u2558", + "boxul;": "\u2518", + "boxur;": "\u2514", + "boxv;": "\u2502", + "boxvH;": "\u256a", + "boxvL;": "\u2561", + "boxvR;": "\u255e", + "boxvh;": "\u253c", + "boxvl;": "\u2524", + "boxvr;": "\u251c", + "bprime;": "\u2035", + "breve;": "\u02d8", + "brvbar": "\xa6", + "brvbar;": "\xa6", + "bscr;": "\U0001d4b7", + "bsemi;": "\u204f", + "bsim;": "\u223d", + "bsime;": "\u22cd", + "bsol;": "\\", + "bsolb;": "\u29c5", + "bsolhsub;": "\u27c8", + "bull;": "\u2022", + "bullet;": "\u2022", + "bump;": "\u224e", + "bumpE;": "\u2aae", + "bumpe;": "\u224f", + "bumpeq;": "\u224f", + "cacute;": "\u0107", + "cap;": "\u2229", + "capand;": "\u2a44", + "capbrcup;": "\u2a49", + "capcap;": "\u2a4b", + "capcup;": "\u2a47", + "capdot;": "\u2a40", + "caps;": "\u2229\ufe00", + "caret;": "\u2041", + "caron;": "\u02c7", + "ccaps;": "\u2a4d", + "ccaron;": "\u010d", + "ccedil": "\xe7", + "ccedil;": "\xe7", + "ccirc;": "\u0109", + "ccups;": "\u2a4c", + "ccupssm;": "\u2a50", + "cdot;": "\u010b", + "cedil": "\xb8", + "cedil;": "\xb8", + "cemptyv;": "\u29b2", + "cent": "\xa2", + "cent;": "\xa2", + "centerdot;": "\xb7", + "cfr;": "\U0001d520", + "chcy;": "\u0447", + "check;": "\u2713", + "checkmark;": "\u2713", + "chi;": "\u03c7", + "cir;": "\u25cb", + "cirE;": "\u29c3", + "circ;": "\u02c6", + "circeq;": "\u2257", + "circlearrowleft;": "\u21ba", + "circlearrowright;": "\u21bb", + "circledR;": "\xae", + "circledS;": "\u24c8", + "circledast;": "\u229b", + "circledcirc;": "\u229a", + "circleddash;": "\u229d", + "cire;": "\u2257", + "cirfnint;": "\u2a10", + "cirmid;": "\u2aef", + "cirscir;": "\u29c2", + "clubs;": "\u2663", + "clubsuit;": "\u2663", + "colon;": ":", + "colone;": "\u2254", + "coloneq;": "\u2254", + "comma;": ",", + "commat;": "@", + "comp;": "\u2201", + "compfn;": "\u2218", + "complement;": "\u2201", + "complexes;": "\u2102", + "cong;": "\u2245", + "congdot;": "\u2a6d", + "conint;": "\u222e", + "copf;": "\U0001d554", + "coprod;": "\u2210", + "copy": "\xa9", + "copy;": "\xa9", + "copysr;": "\u2117", + "crarr;": "\u21b5", + "cross;": "\u2717", + "cscr;": "\U0001d4b8", + "csub;": "\u2acf", + "csube;": "\u2ad1", + "csup;": "\u2ad0", + "csupe;": "\u2ad2", + "ctdot;": "\u22ef", + "cudarrl;": "\u2938", + "cudarrr;": "\u2935", + "cuepr;": "\u22de", + "cuesc;": "\u22df", + "cularr;": "\u21b6", + "cularrp;": "\u293d", + "cup;": "\u222a", + "cupbrcap;": "\u2a48", + "cupcap;": "\u2a46", + "cupcup;": "\u2a4a", + "cupdot;": "\u228d", + "cupor;": "\u2a45", + "cups;": "\u222a\ufe00", + "curarr;": "\u21b7", + "curarrm;": "\u293c", + "curlyeqprec;": "\u22de", + "curlyeqsucc;": "\u22df", + "curlyvee;": "\u22ce", + "curlywedge;": "\u22cf", + "curren": "\xa4", + "curren;": "\xa4", + "curvearrowleft;": "\u21b6", + "curvearrowright;": "\u21b7", + "cuvee;": "\u22ce", + "cuwed;": "\u22cf", + "cwconint;": "\u2232", + "cwint;": "\u2231", + "cylcty;": "\u232d", + "dArr;": "\u21d3", + "dHar;": "\u2965", + "dagger;": "\u2020", + "daleth;": "\u2138", + "darr;": "\u2193", + "dash;": "\u2010", + "dashv;": "\u22a3", + "dbkarow;": "\u290f", + "dblac;": "\u02dd", + "dcaron;": "\u010f", + "dcy;": "\u0434", + "dd;": "\u2146", + "ddagger;": "\u2021", + "ddarr;": "\u21ca", + "ddotseq;": "\u2a77", + "deg": "\xb0", + "deg;": "\xb0", + "delta;": "\u03b4", + "demptyv;": "\u29b1", + "dfisht;": "\u297f", + "dfr;": "\U0001d521", + "dharl;": "\u21c3", + "dharr;": "\u21c2", + "diam;": "\u22c4", + "diamond;": "\u22c4", + "diamondsuit;": "\u2666", + "diams;": "\u2666", + "die;": "\xa8", + "digamma;": "\u03dd", + "disin;": "\u22f2", + "div;": "\xf7", + "divide": "\xf7", + "divide;": "\xf7", + "divideontimes;": "\u22c7", + "divonx;": "\u22c7", + "djcy;": "\u0452", + "dlcorn;": "\u231e", + "dlcrop;": "\u230d", + "dollar;": "$", + "dopf;": "\U0001d555", + "dot;": "\u02d9", + "doteq;": "\u2250", + "doteqdot;": "\u2251", + "dotminus;": "\u2238", + "dotplus;": "\u2214", + "dotsquare;": "\u22a1", + "doublebarwedge;": "\u2306", + "downarrow;": "\u2193", + "downdownarrows;": "\u21ca", + "downharpoonleft;": "\u21c3", + "downharpoonright;": "\u21c2", + "drbkarow;": "\u2910", + "drcorn;": "\u231f", + "drcrop;": "\u230c", + "dscr;": "\U0001d4b9", + "dscy;": "\u0455", + "dsol;": "\u29f6", + "dstrok;": "\u0111", + "dtdot;": "\u22f1", + "dtri;": "\u25bf", + "dtrif;": "\u25be", + "duarr;": "\u21f5", + "duhar;": "\u296f", + "dwangle;": "\u29a6", + "dzcy;": "\u045f", + "dzigrarr;": "\u27ff", + "eDDot;": "\u2a77", + "eDot;": "\u2251", + "eacute": "\xe9", + "eacute;": "\xe9", + "easter;": "\u2a6e", + "ecaron;": "\u011b", + "ecir;": "\u2256", + "ecirc": "\xea", + "ecirc;": "\xea", + "ecolon;": "\u2255", + "ecy;": "\u044d", + "edot;": "\u0117", + "ee;": "\u2147", + "efDot;": "\u2252", + "efr;": "\U0001d522", + "eg;": "\u2a9a", + "egrave": "\xe8", + "egrave;": "\xe8", + "egs;": "\u2a96", + "egsdot;": "\u2a98", + "el;": "\u2a99", + "elinters;": "\u23e7", + "ell;": "\u2113", + "els;": "\u2a95", + "elsdot;": "\u2a97", + "emacr;": "\u0113", + "empty;": "\u2205", + "emptyset;": "\u2205", + "emptyv;": "\u2205", + "emsp13;": "\u2004", + "emsp14;": "\u2005", + "emsp;": "\u2003", + "eng;": "\u014b", + "ensp;": "\u2002", + "eogon;": "\u0119", + "eopf;": "\U0001d556", + "epar;": "\u22d5", + "eparsl;": "\u29e3", + "eplus;": "\u2a71", + "epsi;": "\u03b5", + "epsilon;": "\u03b5", + "epsiv;": "\u03f5", + "eqcirc;": "\u2256", + "eqcolon;": "\u2255", + "eqsim;": "\u2242", + "eqslantgtr;": "\u2a96", + "eqslantless;": "\u2a95", + "equals;": "=", + "equest;": "\u225f", + "equiv;": "\u2261", + "equivDD;": "\u2a78", + "eqvparsl;": "\u29e5", + "erDot;": "\u2253", + "erarr;": "\u2971", + "escr;": "\u212f", + "esdot;": "\u2250", + "esim;": "\u2242", + "eta;": "\u03b7", + "eth": "\xf0", + "eth;": "\xf0", + "euml": "\xeb", + "euml;": "\xeb", + "euro;": "\u20ac", + "excl;": "!", + "exist;": "\u2203", + "expectation;": "\u2130", + "exponentiale;": "\u2147", + "fallingdotseq;": "\u2252", + "fcy;": "\u0444", + "female;": "\u2640", + "ffilig;": "\ufb03", + "fflig;": "\ufb00", + "ffllig;": "\ufb04", + "ffr;": "\U0001d523", + "filig;": "\ufb01", + "fjlig;": "fj", + "flat;": "\u266d", + "fllig;": "\ufb02", + "fltns;": "\u25b1", + "fnof;": "\u0192", + "fopf;": "\U0001d557", + "forall;": "\u2200", + "fork;": "\u22d4", + "forkv;": "\u2ad9", + "fpartint;": "\u2a0d", + "frac12": "\xbd", + "frac12;": "\xbd", + "frac13;": "\u2153", + "frac14": "\xbc", + "frac14;": "\xbc", + "frac15;": "\u2155", + "frac16;": "\u2159", + "frac18;": "\u215b", + "frac23;": "\u2154", + "frac25;": "\u2156", + "frac34": "\xbe", + "frac34;": "\xbe", + "frac35;": "\u2157", + "frac38;": "\u215c", + "frac45;": "\u2158", + "frac56;": "\u215a", + "frac58;": "\u215d", + "frac78;": "\u215e", + "frasl;": "\u2044", + "frown;": "\u2322", + "fscr;": "\U0001d4bb", + "gE;": "\u2267", + "gEl;": "\u2a8c", + "gacute;": "\u01f5", + "gamma;": "\u03b3", + "gammad;": "\u03dd", + "gap;": "\u2a86", + "gbreve;": "\u011f", + "gcirc;": "\u011d", + "gcy;": "\u0433", + "gdot;": "\u0121", + "ge;": "\u2265", + "gel;": "\u22db", + "geq;": "\u2265", + "geqq;": "\u2267", + "geqslant;": "\u2a7e", + "ges;": "\u2a7e", + "gescc;": "\u2aa9", + "gesdot;": "\u2a80", + "gesdoto;": "\u2a82", + "gesdotol;": "\u2a84", + "gesl;": "\u22db\ufe00", + "gesles;": "\u2a94", + "gfr;": "\U0001d524", + "gg;": "\u226b", + "ggg;": "\u22d9", + "gimel;": "\u2137", + "gjcy;": "\u0453", + "gl;": "\u2277", + "glE;": "\u2a92", + "gla;": "\u2aa5", + "glj;": "\u2aa4", + "gnE;": "\u2269", + "gnap;": "\u2a8a", + "gnapprox;": "\u2a8a", + "gne;": "\u2a88", + "gneq;": "\u2a88", + "gneqq;": "\u2269", + "gnsim;": "\u22e7", + "gopf;": "\U0001d558", + "grave;": "`", + "gscr;": "\u210a", + "gsim;": "\u2273", + "gsime;": "\u2a8e", + "gsiml;": "\u2a90", + "gt": ">", + "gt;": ">", + "gtcc;": "\u2aa7", + "gtcir;": "\u2a7a", + "gtdot;": "\u22d7", + "gtlPar;": "\u2995", + "gtquest;": "\u2a7c", + "gtrapprox;": "\u2a86", + "gtrarr;": "\u2978", + "gtrdot;": "\u22d7", + "gtreqless;": "\u22db", + "gtreqqless;": "\u2a8c", + "gtrless;": "\u2277", + "gtrsim;": "\u2273", + "gvertneqq;": "\u2269\ufe00", + "gvnE;": "\u2269\ufe00", + "hArr;": "\u21d4", + "hairsp;": "\u200a", + "half;": "\xbd", + "hamilt;": "\u210b", + "hardcy;": "\u044a", + "harr;": "\u2194", + "harrcir;": "\u2948", + "harrw;": "\u21ad", + "hbar;": "\u210f", + "hcirc;": "\u0125", + "hearts;": "\u2665", + "heartsuit;": "\u2665", + "hellip;": "\u2026", + "hercon;": "\u22b9", + "hfr;": "\U0001d525", + "hksearow;": "\u2925", + "hkswarow;": "\u2926", + "hoarr;": "\u21ff", + "homtht;": "\u223b", + "hookleftarrow;": "\u21a9", + "hookrightarrow;": "\u21aa", + "hopf;": "\U0001d559", + "horbar;": "\u2015", + "hscr;": "\U0001d4bd", + "hslash;": "\u210f", + "hstrok;": "\u0127", + "hybull;": "\u2043", + "hyphen;": "\u2010", + "iacute": "\xed", + "iacute;": "\xed", + "ic;": "\u2063", + "icirc": "\xee", + "icirc;": "\xee", + "icy;": "\u0438", + "iecy;": "\u0435", + "iexcl": "\xa1", + "iexcl;": "\xa1", + "iff;": "\u21d4", + "ifr;": "\U0001d526", + "igrave": "\xec", + "igrave;": "\xec", + "ii;": "\u2148", + "iiiint;": "\u2a0c", + "iiint;": "\u222d", + "iinfin;": "\u29dc", + "iiota;": "\u2129", + "ijlig;": "\u0133", + "imacr;": "\u012b", + "image;": "\u2111", + "imagline;": "\u2110", + "imagpart;": "\u2111", + "imath;": "\u0131", + "imof;": "\u22b7", + "imped;": "\u01b5", + "in;": "\u2208", + "incare;": "\u2105", + "infin;": "\u221e", + "infintie;": "\u29dd", + "inodot;": "\u0131", + "int;": "\u222b", + "intcal;": "\u22ba", + "integers;": "\u2124", + "intercal;": "\u22ba", + "intlarhk;": "\u2a17", + "intprod;": "\u2a3c", + "iocy;": "\u0451", + "iogon;": "\u012f", + "iopf;": "\U0001d55a", + "iota;": "\u03b9", + "iprod;": "\u2a3c", + "iquest": "\xbf", + "iquest;": "\xbf", + "iscr;": "\U0001d4be", + "isin;": "\u2208", + "isinE;": "\u22f9", + "isindot;": "\u22f5", + "isins;": "\u22f4", + "isinsv;": "\u22f3", + "isinv;": "\u2208", + "it;": "\u2062", + "itilde;": "\u0129", + "iukcy;": "\u0456", + "iuml": "\xef", + "iuml;": "\xef", + "jcirc;": "\u0135", + "jcy;": "\u0439", + "jfr;": "\U0001d527", + "jmath;": "\u0237", + "jopf;": "\U0001d55b", + "jscr;": "\U0001d4bf", + "jsercy;": "\u0458", + "jukcy;": "\u0454", + "kappa;": "\u03ba", + "kappav;": "\u03f0", + "kcedil;": "\u0137", + "kcy;": "\u043a", + "kfr;": "\U0001d528", + "kgreen;": "\u0138", + "khcy;": "\u0445", + "kjcy;": "\u045c", + "kopf;": "\U0001d55c", + "kscr;": "\U0001d4c0", + "lAarr;": "\u21da", + "lArr;": "\u21d0", + "lAtail;": "\u291b", + "lBarr;": "\u290e", + "lE;": "\u2266", + "lEg;": "\u2a8b", + "lHar;": "\u2962", + "lacute;": "\u013a", + "laemptyv;": "\u29b4", + "lagran;": "\u2112", + "lambda;": "\u03bb", + "lang;": "\u27e8", + "langd;": "\u2991", + "langle;": "\u27e8", + "lap;": "\u2a85", + "laquo": "\xab", + "laquo;": "\xab", + "larr;": "\u2190", + "larrb;": "\u21e4", + "larrbfs;": "\u291f", + "larrfs;": "\u291d", + "larrhk;": "\u21a9", + "larrlp;": "\u21ab", + "larrpl;": "\u2939", + "larrsim;": "\u2973", + "larrtl;": "\u21a2", + "lat;": "\u2aab", + "latail;": "\u2919", + "late;": "\u2aad", + "lates;": "\u2aad\ufe00", + "lbarr;": "\u290c", + "lbbrk;": "\u2772", + "lbrace;": "{", + "lbrack;": "[", + "lbrke;": "\u298b", + "lbrksld;": "\u298f", + "lbrkslu;": "\u298d", + "lcaron;": "\u013e", + "lcedil;": "\u013c", + "lceil;": "\u2308", + "lcub;": "{", + "lcy;": "\u043b", + "ldca;": "\u2936", + "ldquo;": "\u201c", + "ldquor;": "\u201e", + "ldrdhar;": "\u2967", + "ldrushar;": "\u294b", + "ldsh;": "\u21b2", + "le;": "\u2264", + "leftarrow;": "\u2190", + "leftarrowtail;": "\u21a2", + "leftharpoondown;": "\u21bd", + "leftharpoonup;": "\u21bc", + "leftleftarrows;": "\u21c7", + "leftrightarrow;": "\u2194", + "leftrightarrows;": "\u21c6", + "leftrightharpoons;": "\u21cb", + "leftrightsquigarrow;": "\u21ad", + "leftthreetimes;": "\u22cb", + "leg;": "\u22da", + "leq;": "\u2264", + "leqq;": "\u2266", + "leqslant;": "\u2a7d", + "les;": "\u2a7d", + "lescc;": "\u2aa8", + "lesdot;": "\u2a7f", + "lesdoto;": "\u2a81", + "lesdotor;": "\u2a83", + "lesg;": "\u22da\ufe00", + "lesges;": "\u2a93", + "lessapprox;": "\u2a85", + "lessdot;": "\u22d6", + "lesseqgtr;": "\u22da", + "lesseqqgtr;": "\u2a8b", + "lessgtr;": "\u2276", + "lesssim;": "\u2272", + "lfisht;": "\u297c", + "lfloor;": "\u230a", + "lfr;": "\U0001d529", + "lg;": "\u2276", + "lgE;": "\u2a91", + "lhard;": "\u21bd", + "lharu;": "\u21bc", + "lharul;": "\u296a", + "lhblk;": "\u2584", + "ljcy;": "\u0459", + "ll;": "\u226a", + "llarr;": "\u21c7", + "llcorner;": "\u231e", + "llhard;": "\u296b", + "lltri;": "\u25fa", + "lmidot;": "\u0140", + "lmoust;": "\u23b0", + "lmoustache;": "\u23b0", + "lnE;": "\u2268", + "lnap;": "\u2a89", + "lnapprox;": "\u2a89", + "lne;": "\u2a87", + "lneq;": "\u2a87", + "lneqq;": "\u2268", + "lnsim;": "\u22e6", + "loang;": "\u27ec", + "loarr;": "\u21fd", + "lobrk;": "\u27e6", + "longleftarrow;": "\u27f5", + "longleftrightarrow;": "\u27f7", + "longmapsto;": "\u27fc", + "longrightarrow;": "\u27f6", + "looparrowleft;": "\u21ab", + "looparrowright;": "\u21ac", + "lopar;": "\u2985", + "lopf;": "\U0001d55d", + "loplus;": "\u2a2d", + "lotimes;": "\u2a34", + "lowast;": "\u2217", + "lowbar;": "_", + "loz;": "\u25ca", + "lozenge;": "\u25ca", + "lozf;": "\u29eb", + "lpar;": "(", + "lparlt;": "\u2993", + "lrarr;": "\u21c6", + "lrcorner;": "\u231f", + "lrhar;": "\u21cb", + "lrhard;": "\u296d", + "lrm;": "\u200e", + "lrtri;": "\u22bf", + "lsaquo;": "\u2039", + "lscr;": "\U0001d4c1", + "lsh;": "\u21b0", + "lsim;": "\u2272", + "lsime;": "\u2a8d", + "lsimg;": "\u2a8f", + "lsqb;": "[", + "lsquo;": "\u2018", + "lsquor;": "\u201a", + "lstrok;": "\u0142", + "lt": "<", + "lt;": "<", + "ltcc;": "\u2aa6", + "ltcir;": "\u2a79", + "ltdot;": "\u22d6", + "lthree;": "\u22cb", + "ltimes;": "\u22c9", + "ltlarr;": "\u2976", + "ltquest;": "\u2a7b", + "ltrPar;": "\u2996", + "ltri;": "\u25c3", + "ltrie;": "\u22b4", + "ltrif;": "\u25c2", + "lurdshar;": "\u294a", + "luruhar;": "\u2966", + "lvertneqq;": "\u2268\ufe00", + "lvnE;": "\u2268\ufe00", + "mDDot;": "\u223a", + "macr": "\xaf", + "macr;": "\xaf", + "male;": "\u2642", + "malt;": "\u2720", + "maltese;": "\u2720", + "map;": "\u21a6", + "mapsto;": "\u21a6", + "mapstodown;": "\u21a7", + "mapstoleft;": "\u21a4", + "mapstoup;": "\u21a5", + "marker;": "\u25ae", + "mcomma;": "\u2a29", + "mcy;": "\u043c", + "mdash;": "\u2014", + "measuredangle;": "\u2221", + "mfr;": "\U0001d52a", + "mho;": "\u2127", + "micro": "\xb5", + "micro;": "\xb5", + "mid;": "\u2223", + "midast;": "*", + "midcir;": "\u2af0", + "middot": "\xb7", + "middot;": "\xb7", + "minus;": "\u2212", + "minusb;": "\u229f", + "minusd;": "\u2238", + "minusdu;": "\u2a2a", + "mlcp;": "\u2adb", + "mldr;": "\u2026", + "mnplus;": "\u2213", + "models;": "\u22a7", + "mopf;": "\U0001d55e", + "mp;": "\u2213", + "mscr;": "\U0001d4c2", + "mstpos;": "\u223e", + "mu;": "\u03bc", + "multimap;": "\u22b8", + "mumap;": "\u22b8", + "nGg;": "\u22d9\u0338", + "nGt;": "\u226b\u20d2", + "nGtv;": "\u226b\u0338", + "nLeftarrow;": "\u21cd", + "nLeftrightarrow;": "\u21ce", + "nLl;": "\u22d8\u0338", + "nLt;": "\u226a\u20d2", + "nLtv;": "\u226a\u0338", + "nRightarrow;": "\u21cf", + "nVDash;": "\u22af", + "nVdash;": "\u22ae", + "nabla;": "\u2207", + "nacute;": "\u0144", + "nang;": "\u2220\u20d2", + "nap;": "\u2249", + "napE;": "\u2a70\u0338", + "napid;": "\u224b\u0338", + "napos;": "\u0149", + "napprox;": "\u2249", + "natur;": "\u266e", + "natural;": "\u266e", + "naturals;": "\u2115", + "nbsp": "\xa0", + "nbsp;": "\xa0", + "nbump;": "\u224e\u0338", + "nbumpe;": "\u224f\u0338", + "ncap;": "\u2a43", + "ncaron;": "\u0148", + "ncedil;": "\u0146", + "ncong;": "\u2247", + "ncongdot;": "\u2a6d\u0338", + "ncup;": "\u2a42", + "ncy;": "\u043d", + "ndash;": "\u2013", + "ne;": "\u2260", + "neArr;": "\u21d7", + "nearhk;": "\u2924", + "nearr;": "\u2197", + "nearrow;": "\u2197", + "nedot;": "\u2250\u0338", + "nequiv;": "\u2262", + "nesear;": "\u2928", + "nesim;": "\u2242\u0338", + "nexist;": "\u2204", + "nexists;": "\u2204", + "nfr;": "\U0001d52b", + "ngE;": "\u2267\u0338", + "nge;": "\u2271", + "ngeq;": "\u2271", + "ngeqq;": "\u2267\u0338", + "ngeqslant;": "\u2a7e\u0338", + "nges;": "\u2a7e\u0338", + "ngsim;": "\u2275", + "ngt;": "\u226f", + "ngtr;": "\u226f", + "nhArr;": "\u21ce", + "nharr;": "\u21ae", + "nhpar;": "\u2af2", + "ni;": "\u220b", + "nis;": "\u22fc", + "nisd;": "\u22fa", + "niv;": "\u220b", + "njcy;": "\u045a", + "nlArr;": "\u21cd", + "nlE;": "\u2266\u0338", + "nlarr;": "\u219a", + "nldr;": "\u2025", + "nle;": "\u2270", + "nleftarrow;": "\u219a", + "nleftrightarrow;": "\u21ae", + "nleq;": "\u2270", + "nleqq;": "\u2266\u0338", + "nleqslant;": "\u2a7d\u0338", + "nles;": "\u2a7d\u0338", + "nless;": "\u226e", + "nlsim;": "\u2274", + "nlt;": "\u226e", + "nltri;": "\u22ea", + "nltrie;": "\u22ec", + "nmid;": "\u2224", + "nopf;": "\U0001d55f", + "not": "\xac", + "not;": "\xac", + "notin;": "\u2209", + "notinE;": "\u22f9\u0338", + "notindot;": "\u22f5\u0338", + "notinva;": "\u2209", + "notinvb;": "\u22f7", + "notinvc;": "\u22f6", + "notni;": "\u220c", + "notniva;": "\u220c", + "notnivb;": "\u22fe", + "notnivc;": "\u22fd", + "npar;": "\u2226", + "nparallel;": "\u2226", + "nparsl;": "\u2afd\u20e5", + "npart;": "\u2202\u0338", + "npolint;": "\u2a14", + "npr;": "\u2280", + "nprcue;": "\u22e0", + "npre;": "\u2aaf\u0338", + "nprec;": "\u2280", + "npreceq;": "\u2aaf\u0338", + "nrArr;": "\u21cf", + "nrarr;": "\u219b", + "nrarrc;": "\u2933\u0338", + "nrarrw;": "\u219d\u0338", + "nrightarrow;": "\u219b", + "nrtri;": "\u22eb", + "nrtrie;": "\u22ed", + "nsc;": "\u2281", + "nsccue;": "\u22e1", + "nsce;": "\u2ab0\u0338", + "nscr;": "\U0001d4c3", + "nshortmid;": "\u2224", + "nshortparallel;": "\u2226", + "nsim;": "\u2241", + "nsime;": "\u2244", + "nsimeq;": "\u2244", + "nsmid;": "\u2224", + "nspar;": "\u2226", + "nsqsube;": "\u22e2", + "nsqsupe;": "\u22e3", + "nsub;": "\u2284", + "nsubE;": "\u2ac5\u0338", + "nsube;": "\u2288", + "nsubset;": "\u2282\u20d2", + "nsubseteq;": "\u2288", + "nsubseteqq;": "\u2ac5\u0338", + "nsucc;": "\u2281", + "nsucceq;": "\u2ab0\u0338", + "nsup;": "\u2285", + "nsupE;": "\u2ac6\u0338", + "nsupe;": "\u2289", + "nsupset;": "\u2283\u20d2", + "nsupseteq;": "\u2289", + "nsupseteqq;": "\u2ac6\u0338", + "ntgl;": "\u2279", + "ntilde": "\xf1", + "ntilde;": "\xf1", + "ntlg;": "\u2278", + "ntriangleleft;": "\u22ea", + "ntrianglelefteq;": "\u22ec", + "ntriangleright;": "\u22eb", + "ntrianglerighteq;": "\u22ed", + "nu;": "\u03bd", + "num;": "#", + "numero;": "\u2116", + "numsp;": "\u2007", + "nvDash;": "\u22ad", + "nvHarr;": "\u2904", + "nvap;": "\u224d\u20d2", + "nvdash;": "\u22ac", + "nvge;": "\u2265\u20d2", + "nvgt;": ">\u20d2", + "nvinfin;": "\u29de", + "nvlArr;": "\u2902", + "nvle;": "\u2264\u20d2", + "nvlt;": "<\u20d2", + "nvltrie;": "\u22b4\u20d2", + "nvrArr;": "\u2903", + "nvrtrie;": "\u22b5\u20d2", + "nvsim;": "\u223c\u20d2", + "nwArr;": "\u21d6", + "nwarhk;": "\u2923", + "nwarr;": "\u2196", + "nwarrow;": "\u2196", + "nwnear;": "\u2927", + "oS;": "\u24c8", + "oacute": "\xf3", + "oacute;": "\xf3", + "oast;": "\u229b", + "ocir;": "\u229a", + "ocirc": "\xf4", + "ocirc;": "\xf4", + "ocy;": "\u043e", + "odash;": "\u229d", + "odblac;": "\u0151", + "odiv;": "\u2a38", + "odot;": "\u2299", + "odsold;": "\u29bc", + "oelig;": "\u0153", + "ofcir;": "\u29bf", + "ofr;": "\U0001d52c", + "ogon;": "\u02db", + "ograve": "\xf2", + "ograve;": "\xf2", + "ogt;": "\u29c1", + "ohbar;": "\u29b5", + "ohm;": "\u03a9", + "oint;": "\u222e", + "olarr;": "\u21ba", + "olcir;": "\u29be", + "olcross;": "\u29bb", + "oline;": "\u203e", + "olt;": "\u29c0", + "omacr;": "\u014d", + "omega;": "\u03c9", + "omicron;": "\u03bf", + "omid;": "\u29b6", + "ominus;": "\u2296", + "oopf;": "\U0001d560", + "opar;": "\u29b7", + "operp;": "\u29b9", + "oplus;": "\u2295", + "or;": "\u2228", + "orarr;": "\u21bb", + "ord;": "\u2a5d", + "order;": "\u2134", + "orderof;": "\u2134", + "ordf": "\xaa", + "ordf;": "\xaa", + "ordm": "\xba", + "ordm;": "\xba", + "origof;": "\u22b6", + "oror;": "\u2a56", + "orslope;": "\u2a57", + "orv;": "\u2a5b", + "oscr;": "\u2134", + "oslash": "\xf8", + "oslash;": "\xf8", + "osol;": "\u2298", + "otilde": "\xf5", + "otilde;": "\xf5", + "otimes;": "\u2297", + "otimesas;": "\u2a36", + "ouml": "\xf6", + "ouml;": "\xf6", + "ovbar;": "\u233d", + "par;": "\u2225", + "para": "\xb6", + "para;": "\xb6", + "parallel;": "\u2225", + "parsim;": "\u2af3", + "parsl;": "\u2afd", + "part;": "\u2202", + "pcy;": "\u043f", + "percnt;": "%", + "period;": ".", + "permil;": "\u2030", + "perp;": "\u22a5", + "pertenk;": "\u2031", + "pfr;": "\U0001d52d", + "phi;": "\u03c6", + "phiv;": "\u03d5", + "phmmat;": "\u2133", + "phone;": "\u260e", + "pi;": "\u03c0", + "pitchfork;": "\u22d4", + "piv;": "\u03d6", + "planck;": "\u210f", + "planckh;": "\u210e", + "plankv;": "\u210f", + "plus;": "+", + "plusacir;": "\u2a23", + "plusb;": "\u229e", + "pluscir;": "\u2a22", + "plusdo;": "\u2214", + "plusdu;": "\u2a25", + "pluse;": "\u2a72", + "plusmn": "\xb1", + "plusmn;": "\xb1", + "plussim;": "\u2a26", + "plustwo;": "\u2a27", + "pm;": "\xb1", + "pointint;": "\u2a15", + "popf;": "\U0001d561", + "pound": "\xa3", + "pound;": "\xa3", + "pr;": "\u227a", + "prE;": "\u2ab3", + "prap;": "\u2ab7", + "prcue;": "\u227c", + "pre;": "\u2aaf", + "prec;": "\u227a", + "precapprox;": "\u2ab7", + "preccurlyeq;": "\u227c", + "preceq;": "\u2aaf", + "precnapprox;": "\u2ab9", + "precneqq;": "\u2ab5", + "precnsim;": "\u22e8", + "precsim;": "\u227e", + "prime;": "\u2032", + "primes;": "\u2119", + "prnE;": "\u2ab5", + "prnap;": "\u2ab9", + "prnsim;": "\u22e8", + "prod;": "\u220f", + "profalar;": "\u232e", + "profline;": "\u2312", + "profsurf;": "\u2313", + "prop;": "\u221d", + "propto;": "\u221d", + "prsim;": "\u227e", + "prurel;": "\u22b0", + "pscr;": "\U0001d4c5", + "psi;": "\u03c8", + "puncsp;": "\u2008", + "qfr;": "\U0001d52e", + "qint;": "\u2a0c", + "qopf;": "\U0001d562", + "qprime;": "\u2057", + "qscr;": "\U0001d4c6", + "quaternions;": "\u210d", + "quatint;": "\u2a16", + "quest;": "?", + "questeq;": "\u225f", + "quot": "\"", + "quot;": "\"", + "rAarr;": "\u21db", + "rArr;": "\u21d2", + "rAtail;": "\u291c", + "rBarr;": "\u290f", + "rHar;": "\u2964", + "race;": "\u223d\u0331", + "racute;": "\u0155", + "radic;": "\u221a", + "raemptyv;": "\u29b3", + "rang;": "\u27e9", + "rangd;": "\u2992", + "range;": "\u29a5", + "rangle;": "\u27e9", + "raquo": "\xbb", + "raquo;": "\xbb", + "rarr;": "\u2192", + "rarrap;": "\u2975", + "rarrb;": "\u21e5", + "rarrbfs;": "\u2920", + "rarrc;": "\u2933", + "rarrfs;": "\u291e", + "rarrhk;": "\u21aa", + "rarrlp;": "\u21ac", + "rarrpl;": "\u2945", + "rarrsim;": "\u2974", + "rarrtl;": "\u21a3", + "rarrw;": "\u219d", + "ratail;": "\u291a", + "ratio;": "\u2236", + "rationals;": "\u211a", + "rbarr;": "\u290d", + "rbbrk;": "\u2773", + "rbrace;": "}", + "rbrack;": "]", + "rbrke;": "\u298c", + "rbrksld;": "\u298e", + "rbrkslu;": "\u2990", + "rcaron;": "\u0159", + "rcedil;": "\u0157", + "rceil;": "\u2309", + "rcub;": "}", + "rcy;": "\u0440", + "rdca;": "\u2937", + "rdldhar;": "\u2969", + "rdquo;": "\u201d", + "rdquor;": "\u201d", + "rdsh;": "\u21b3", + "real;": "\u211c", + "realine;": "\u211b", + "realpart;": "\u211c", + "reals;": "\u211d", + "rect;": "\u25ad", + "reg": "\xae", + "reg;": "\xae", + "rfisht;": "\u297d", + "rfloor;": "\u230b", + "rfr;": "\U0001d52f", + "rhard;": "\u21c1", + "rharu;": "\u21c0", + "rharul;": "\u296c", + "rho;": "\u03c1", + "rhov;": "\u03f1", + "rightarrow;": "\u2192", + "rightarrowtail;": "\u21a3", + "rightharpoondown;": "\u21c1", + "rightharpoonup;": "\u21c0", + "rightleftarrows;": "\u21c4", + "rightleftharpoons;": "\u21cc", + "rightrightarrows;": "\u21c9", + "rightsquigarrow;": "\u219d", + "rightthreetimes;": "\u22cc", + "ring;": "\u02da", + "risingdotseq;": "\u2253", + "rlarr;": "\u21c4", + "rlhar;": "\u21cc", + "rlm;": "\u200f", + "rmoust;": "\u23b1", + "rmoustache;": "\u23b1", + "rnmid;": "\u2aee", + "roang;": "\u27ed", + "roarr;": "\u21fe", + "robrk;": "\u27e7", + "ropar;": "\u2986", + "ropf;": "\U0001d563", + "roplus;": "\u2a2e", + "rotimes;": "\u2a35", + "rpar;": ")", + "rpargt;": "\u2994", + "rppolint;": "\u2a12", + "rrarr;": "\u21c9", + "rsaquo;": "\u203a", + "rscr;": "\U0001d4c7", + "rsh;": "\u21b1", + "rsqb;": "]", + "rsquo;": "\u2019", + "rsquor;": "\u2019", + "rthree;": "\u22cc", + "rtimes;": "\u22ca", + "rtri;": "\u25b9", + "rtrie;": "\u22b5", + "rtrif;": "\u25b8", + "rtriltri;": "\u29ce", + "ruluhar;": "\u2968", + "rx;": "\u211e", + "sacute;": "\u015b", + "sbquo;": "\u201a", + "sc;": "\u227b", + "scE;": "\u2ab4", + "scap;": "\u2ab8", + "scaron;": "\u0161", + "sccue;": "\u227d", + "sce;": "\u2ab0", + "scedil;": "\u015f", + "scirc;": "\u015d", + "scnE;": "\u2ab6", + "scnap;": "\u2aba", + "scnsim;": "\u22e9", + "scpolint;": "\u2a13", + "scsim;": "\u227f", + "scy;": "\u0441", + "sdot;": "\u22c5", + "sdotb;": "\u22a1", + "sdote;": "\u2a66", + "seArr;": "\u21d8", + "searhk;": "\u2925", + "searr;": "\u2198", + "searrow;": "\u2198", + "sect": "\xa7", + "sect;": "\xa7", + "semi;": ";", + "seswar;": "\u2929", + "setminus;": "\u2216", + "setmn;": "\u2216", + "sext;": "\u2736", + "sfr;": "\U0001d530", + "sfrown;": "\u2322", + "sharp;": "\u266f", + "shchcy;": "\u0449", + "shcy;": "\u0448", + "shortmid;": "\u2223", + "shortparallel;": "\u2225", + "shy": "\xad", + "shy;": "\xad", + "sigma;": "\u03c3", + "sigmaf;": "\u03c2", + "sigmav;": "\u03c2", + "sim;": "\u223c", + "simdot;": "\u2a6a", + "sime;": "\u2243", + "simeq;": "\u2243", + "simg;": "\u2a9e", + "simgE;": "\u2aa0", + "siml;": "\u2a9d", + "simlE;": "\u2a9f", + "simne;": "\u2246", + "simplus;": "\u2a24", + "simrarr;": "\u2972", + "slarr;": "\u2190", + "smallsetminus;": "\u2216", + "smashp;": "\u2a33", + "smeparsl;": "\u29e4", + "smid;": "\u2223", + "smile;": "\u2323", + "smt;": "\u2aaa", + "smte;": "\u2aac", + "smtes;": "\u2aac\ufe00", + "softcy;": "\u044c", + "sol;": "/", + "solb;": "\u29c4", + "solbar;": "\u233f", + "sopf;": "\U0001d564", + "spades;": "\u2660", + "spadesuit;": "\u2660", + "spar;": "\u2225", + "sqcap;": "\u2293", + "sqcaps;": "\u2293\ufe00", + "sqcup;": "\u2294", + "sqcups;": "\u2294\ufe00", + "sqsub;": "\u228f", + "sqsube;": "\u2291", + "sqsubset;": "\u228f", + "sqsubseteq;": "\u2291", + "sqsup;": "\u2290", + "sqsupe;": "\u2292", + "sqsupset;": "\u2290", + "sqsupseteq;": "\u2292", + "squ;": "\u25a1", + "square;": "\u25a1", + "squarf;": "\u25aa", + "squf;": "\u25aa", + "srarr;": "\u2192", + "sscr;": "\U0001d4c8", + "ssetmn;": "\u2216", + "ssmile;": "\u2323", + "sstarf;": "\u22c6", + "star;": "\u2606", + "starf;": "\u2605", + "straightepsilon;": "\u03f5", + "straightphi;": "\u03d5", + "strns;": "\xaf", + "sub;": "\u2282", + "subE;": "\u2ac5", + "subdot;": "\u2abd", + "sube;": "\u2286", + "subedot;": "\u2ac3", + "submult;": "\u2ac1", + "subnE;": "\u2acb", + "subne;": "\u228a", + "subplus;": "\u2abf", + "subrarr;": "\u2979", + "subset;": "\u2282", + "subseteq;": "\u2286", + "subseteqq;": "\u2ac5", + "subsetneq;": "\u228a", + "subsetneqq;": "\u2acb", + "subsim;": "\u2ac7", + "subsub;": "\u2ad5", + "subsup;": "\u2ad3", + "succ;": "\u227b", + "succapprox;": "\u2ab8", + "succcurlyeq;": "\u227d", + "succeq;": "\u2ab0", + "succnapprox;": "\u2aba", + "succneqq;": "\u2ab6", + "succnsim;": "\u22e9", + "succsim;": "\u227f", + "sum;": "\u2211", + "sung;": "\u266a", + "sup1": "\xb9", + "sup1;": "\xb9", + "sup2": "\xb2", + "sup2;": "\xb2", + "sup3": "\xb3", + "sup3;": "\xb3", + "sup;": "\u2283", + "supE;": "\u2ac6", + "supdot;": "\u2abe", + "supdsub;": "\u2ad8", + "supe;": "\u2287", + "supedot;": "\u2ac4", + "suphsol;": "\u27c9", + "suphsub;": "\u2ad7", + "suplarr;": "\u297b", + "supmult;": "\u2ac2", + "supnE;": "\u2acc", + "supne;": "\u228b", + "supplus;": "\u2ac0", + "supset;": "\u2283", + "supseteq;": "\u2287", + "supseteqq;": "\u2ac6", + "supsetneq;": "\u228b", + "supsetneqq;": "\u2acc", + "supsim;": "\u2ac8", + "supsub;": "\u2ad4", + "supsup;": "\u2ad6", + "swArr;": "\u21d9", + "swarhk;": "\u2926", + "swarr;": "\u2199", + "swarrow;": "\u2199", + "swnwar;": "\u292a", + "szlig": "\xdf", + "szlig;": "\xdf", + "target;": "\u2316", + "tau;": "\u03c4", + "tbrk;": "\u23b4", + "tcaron;": "\u0165", + "tcedil;": "\u0163", + "tcy;": "\u0442", + "tdot;": "\u20db", + "telrec;": "\u2315", + "tfr;": "\U0001d531", + "there4;": "\u2234", + "therefore;": "\u2234", + "theta;": "\u03b8", + "thetasym;": "\u03d1", + "thetav;": "\u03d1", + "thickapprox;": "\u2248", + "thicksim;": "\u223c", + "thinsp;": "\u2009", + "thkap;": "\u2248", + "thksim;": "\u223c", + "thorn": "\xfe", + "thorn;": "\xfe", + "tilde;": "\u02dc", + "times": "\xd7", + "times;": "\xd7", + "timesb;": "\u22a0", + "timesbar;": "\u2a31", + "timesd;": "\u2a30", + "tint;": "\u222d", + "toea;": "\u2928", + "top;": "\u22a4", + "topbot;": "\u2336", + "topcir;": "\u2af1", + "topf;": "\U0001d565", + "topfork;": "\u2ada", + "tosa;": "\u2929", + "tprime;": "\u2034", + "trade;": "\u2122", + "triangle;": "\u25b5", + "triangledown;": "\u25bf", + "triangleleft;": "\u25c3", + "trianglelefteq;": "\u22b4", + "triangleq;": "\u225c", + "triangleright;": "\u25b9", + "trianglerighteq;": "\u22b5", + "tridot;": "\u25ec", + "trie;": "\u225c", + "triminus;": "\u2a3a", + "triplus;": "\u2a39", + "trisb;": "\u29cd", + "tritime;": "\u2a3b", + "trpezium;": "\u23e2", + "tscr;": "\U0001d4c9", + "tscy;": "\u0446", + "tshcy;": "\u045b", + "tstrok;": "\u0167", + "twixt;": "\u226c", + "twoheadleftarrow;": "\u219e", + "twoheadrightarrow;": "\u21a0", + "uArr;": "\u21d1", + "uHar;": "\u2963", + "uacute": "\xfa", + "uacute;": "\xfa", + "uarr;": "\u2191", + "ubrcy;": "\u045e", + "ubreve;": "\u016d", + "ucirc": "\xfb", + "ucirc;": "\xfb", + "ucy;": "\u0443", + "udarr;": "\u21c5", + "udblac;": "\u0171", + "udhar;": "\u296e", + "ufisht;": "\u297e", + "ufr;": "\U0001d532", + "ugrave": "\xf9", + "ugrave;": "\xf9", + "uharl;": "\u21bf", + "uharr;": "\u21be", + "uhblk;": "\u2580", + "ulcorn;": "\u231c", + "ulcorner;": "\u231c", + "ulcrop;": "\u230f", + "ultri;": "\u25f8", + "umacr;": "\u016b", + "uml": "\xa8", + "uml;": "\xa8", + "uogon;": "\u0173", + "uopf;": "\U0001d566", + "uparrow;": "\u2191", + "updownarrow;": "\u2195", + "upharpoonleft;": "\u21bf", + "upharpoonright;": "\u21be", + "uplus;": "\u228e", + "upsi;": "\u03c5", + "upsih;": "\u03d2", + "upsilon;": "\u03c5", + "upuparrows;": "\u21c8", + "urcorn;": "\u231d", + "urcorner;": "\u231d", + "urcrop;": "\u230e", + "uring;": "\u016f", + "urtri;": "\u25f9", + "uscr;": "\U0001d4ca", + "utdot;": "\u22f0", + "utilde;": "\u0169", + "utri;": "\u25b5", + "utrif;": "\u25b4", + "uuarr;": "\u21c8", + "uuml": "\xfc", + "uuml;": "\xfc", + "uwangle;": "\u29a7", + "vArr;": "\u21d5", + "vBar;": "\u2ae8", + "vBarv;": "\u2ae9", + "vDash;": "\u22a8", + "vangrt;": "\u299c", + "varepsilon;": "\u03f5", + "varkappa;": "\u03f0", + "varnothing;": "\u2205", + "varphi;": "\u03d5", + "varpi;": "\u03d6", + "varpropto;": "\u221d", + "varr;": "\u2195", + "varrho;": "\u03f1", + "varsigma;": "\u03c2", + "varsubsetneq;": "\u228a\ufe00", + "varsubsetneqq;": "\u2acb\ufe00", + "varsupsetneq;": "\u228b\ufe00", + "varsupsetneqq;": "\u2acc\ufe00", + "vartheta;": "\u03d1", + "vartriangleleft;": "\u22b2", + "vartriangleright;": "\u22b3", + "vcy;": "\u0432", + "vdash;": "\u22a2", + "vee;": "\u2228", + "veebar;": "\u22bb", + "veeeq;": "\u225a", + "vellip;": "\u22ee", + "verbar;": "|", + "vert;": "|", + "vfr;": "\U0001d533", + "vltri;": "\u22b2", + "vnsub;": "\u2282\u20d2", + "vnsup;": "\u2283\u20d2", + "vopf;": "\U0001d567", + "vprop;": "\u221d", + "vrtri;": "\u22b3", + "vscr;": "\U0001d4cb", + "vsubnE;": "\u2acb\ufe00", + "vsubne;": "\u228a\ufe00", + "vsupnE;": "\u2acc\ufe00", + "vsupne;": "\u228b\ufe00", + "vzigzag;": "\u299a", + "wcirc;": "\u0175", + "wedbar;": "\u2a5f", + "wedge;": "\u2227", + "wedgeq;": "\u2259", + "weierp;": "\u2118", + "wfr;": "\U0001d534", + "wopf;": "\U0001d568", + "wp;": "\u2118", + "wr;": "\u2240", + "wreath;": "\u2240", + "wscr;": "\U0001d4cc", + "xcap;": "\u22c2", + "xcirc;": "\u25ef", + "xcup;": "\u22c3", + "xdtri;": "\u25bd", + "xfr;": "\U0001d535", + "xhArr;": "\u27fa", + "xharr;": "\u27f7", + "xi;": "\u03be", + "xlArr;": "\u27f8", + "xlarr;": "\u27f5", + "xmap;": "\u27fc", + "xnis;": "\u22fb", + "xodot;": "\u2a00", + "xopf;": "\U0001d569", + "xoplus;": "\u2a01", + "xotime;": "\u2a02", + "xrArr;": "\u27f9", + "xrarr;": "\u27f6", + "xscr;": "\U0001d4cd", + "xsqcup;": "\u2a06", + "xuplus;": "\u2a04", + "xutri;": "\u25b3", + "xvee;": "\u22c1", + "xwedge;": "\u22c0", + "yacute": "\xfd", + "yacute;": "\xfd", + "yacy;": "\u044f", + "ycirc;": "\u0177", + "ycy;": "\u044b", + "yen": "\xa5", + "yen;": "\xa5", + "yfr;": "\U0001d536", + "yicy;": "\u0457", + "yopf;": "\U0001d56a", + "yscr;": "\U0001d4ce", + "yucy;": "\u044e", + "yuml": "\xff", + "yuml;": "\xff", + "zacute;": "\u017a", + "zcaron;": "\u017e", + "zcy;": "\u0437", + "zdot;": "\u017c", + "zeetrf;": "\u2128", + "zeta;": "\u03b6", + "zfr;": "\U0001d537", + "zhcy;": "\u0436", + "zigrarr;": "\u21dd", + "zopf;": "\U0001d56b", + "zscr;": "\U0001d4cf", + "zwj;": "\u200d", + "zwnj;": "\u200c", +} + +replacementCharacters = { + 0x0: "\uFFFD", + 0x0d: "\u000D", + 0x80: "\u20AC", + 0x81: "\u0081", + 0x82: "\u201A", + 0x83: "\u0192", + 0x84: "\u201E", + 0x85: "\u2026", + 0x86: "\u2020", + 0x87: "\u2021", + 0x88: "\u02C6", + 0x89: "\u2030", + 0x8A: "\u0160", + 0x8B: "\u2039", + 0x8C: "\u0152", + 0x8D: "\u008D", + 0x8E: "\u017D", + 0x8F: "\u008F", + 0x90: "\u0090", + 0x91: "\u2018", + 0x92: "\u2019", + 0x93: "\u201C", + 0x94: "\u201D", + 0x95: "\u2022", + 0x96: "\u2013", + 0x97: "\u2014", + 0x98: "\u02DC", + 0x99: "\u2122", + 0x9A: "\u0161", + 0x9B: "\u203A", + 0x9C: "\u0153", + 0x9D: "\u009D", + 0x9E: "\u017E", + 0x9F: "\u0178", +} + +tokenTypes = { + "Doctype": 0, + "Characters": 1, + "SpaceCharacters": 2, + "StartTag": 3, + "EndTag": 4, + "EmptyTag": 5, + "Comment": 6, + "ParseError": 7 +} + +tagTokenTypes = frozenset([tokenTypes["StartTag"], tokenTypes["EndTag"], + tokenTypes["EmptyTag"]]) + + +prefixes = dict([(v, k) for k, v in namespaces.items()]) +prefixes["http://www.w3.org/1998/Math/MathML"] = "math" + + +class DataLossWarning(UserWarning): + """Raised when the current tree is unable to represent the input data""" + pass + + +class _ReparseException(Exception): + pass diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py new file mode 100644 index 0000000..5ba926e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py @@ -0,0 +1,29 @@ +from __future__ import absolute_import, division, unicode_literals + +from . import base + +from collections import OrderedDict + + +def _attr_key(attr): + """Return an appropriate key for an attribute for sorting + + Attributes have a namespace that can be either ``None`` or a string. We + can't compare the two because they're different types, so we convert + ``None`` to an empty string first. + + """ + return (attr[0][0] or ''), attr[0][1] + + +class Filter(base.Filter): + """Alphabetizes attributes for elements""" + def __iter__(self): + for token in base.Filter.__iter__(self): + if token["type"] in ("StartTag", "EmptyTag"): + attrs = OrderedDict() + for name, value in sorted(token["data"].items(), + key=_attr_key): + attrs[name] = value + token["data"] = attrs + yield token diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/base.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/base.py new file mode 100644 index 0000000..c7dbaed --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/base.py @@ -0,0 +1,12 @@ +from __future__ import absolute_import, division, unicode_literals + + +class Filter(object): + def __init__(self, source): + self.source = source + + def __iter__(self): + return iter(self.source) + + def __getattr__(self, name): + return getattr(self.source, name) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py new file mode 100644 index 0000000..aefb5c8 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py @@ -0,0 +1,73 @@ +from __future__ import absolute_import, division, unicode_literals + +from . import base + + +class Filter(base.Filter): + """Injects ``<meta charset=ENCODING>`` tag into head of document""" + def __init__(self, source, encoding): + """Creates a Filter + + :arg source: the source token stream + + :arg encoding: the encoding to set + + """ + base.Filter.__init__(self, source) + self.encoding = encoding + + def __iter__(self): + state = "pre_head" + meta_found = (self.encoding is None) + pending = [] + + for token in base.Filter.__iter__(self): + type = token["type"] + if type == "StartTag": + if token["name"].lower() == "head": + state = "in_head" + + elif type == "EmptyTag": + if token["name"].lower() == "meta": + # replace charset with actual encoding + has_http_equiv_content_type = False + for (namespace, name), value in token["data"].items(): + if namespace is not None: + continue + elif name.lower() == 'charset': + token["data"][(namespace, name)] = self.encoding + meta_found = True + break + elif name == 'http-equiv' and value.lower() == 'content-type': + has_http_equiv_content_type = True + else: + if has_http_equiv_content_type and (None, "content") in token["data"]: + token["data"][(None, "content")] = 'text/html; charset=%s' % self.encoding + meta_found = True + + elif token["name"].lower() == "head" and not meta_found: + # insert meta into empty head + yield {"type": "StartTag", "name": "head", + "data": token["data"]} + yield {"type": "EmptyTag", "name": "meta", + "data": {(None, "charset"): self.encoding}} + yield {"type": "EndTag", "name": "head"} + meta_found = True + continue + + elif type == "EndTag": + if token["name"].lower() == "head" and pending: + # insert meta into head (if necessary) and flush pending queue + yield pending.pop(0) + if not meta_found: + yield {"type": "EmptyTag", "name": "meta", + "data": {(None, "charset"): self.encoding}} + while pending: + yield pending.pop(0) + meta_found = True + state = "post_head" + + if state == "in_head": + pending.append(token) + else: + yield token diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/lint.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/lint.py new file mode 100644 index 0000000..fcc07ee --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/lint.py @@ -0,0 +1,93 @@ +from __future__ import absolute_import, division, unicode_literals + +from pip._vendor.six import text_type + +from . import base +from ..constants import namespaces, voidElements + +from ..constants import spaceCharacters +spaceCharacters = "".join(spaceCharacters) + + +class Filter(base.Filter): + """Lints the token stream for errors + + If it finds any errors, it'll raise an ``AssertionError``. + + """ + def __init__(self, source, require_matching_tags=True): + """Creates a Filter + + :arg source: the source token stream + + :arg require_matching_tags: whether or not to require matching tags + + """ + super(Filter, self).__init__(source) + self.require_matching_tags = require_matching_tags + + def __iter__(self): + open_elements = [] + for token in base.Filter.__iter__(self): + type = token["type"] + if type in ("StartTag", "EmptyTag"): + namespace = token["namespace"] + name = token["name"] + assert namespace is None or isinstance(namespace, text_type) + assert namespace != "" + assert isinstance(name, text_type) + assert name != "" + assert isinstance(token["data"], dict) + if (not namespace or namespace == namespaces["html"]) and name in voidElements: + assert type == "EmptyTag" + else: + assert type == "StartTag" + if type == "StartTag" and self.require_matching_tags: + open_elements.append((namespace, name)) + for (namespace, name), value in token["data"].items(): + assert namespace is None or isinstance(namespace, text_type) + assert namespace != "" + assert isinstance(name, text_type) + assert name != "" + assert isinstance(value, text_type) + + elif type == "EndTag": + namespace = token["namespace"] + name = token["name"] + assert namespace is None or isinstance(namespace, text_type) + assert namespace != "" + assert isinstance(name, text_type) + assert name != "" + if (not namespace or namespace == namespaces["html"]) and name in voidElements: + assert False, "Void element reported as EndTag token: %(tag)s" % {"tag": name} + elif self.require_matching_tags: + start = open_elements.pop() + assert start == (namespace, name) + + elif type == "Comment": + data = token["data"] + assert isinstance(data, text_type) + + elif type in ("Characters", "SpaceCharacters"): + data = token["data"] + assert isinstance(data, text_type) + assert data != "" + if type == "SpaceCharacters": + assert data.strip(spaceCharacters) == "" + + elif type == "Doctype": + name = token["name"] + assert name is None or isinstance(name, text_type) + assert token["publicId"] is None or isinstance(name, text_type) + assert token["systemId"] is None or isinstance(name, text_type) + + elif type == "Entity": + assert isinstance(token["name"], text_type) + + elif type == "SerializerError": + assert isinstance(token["data"], text_type) + + else: + assert False, "Unknown token type: %(type)s" % {"type": type} + + yield token diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/optionaltags.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/optionaltags.py new file mode 100644 index 0000000..4a86501 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/optionaltags.py @@ -0,0 +1,207 @@ +from __future__ import absolute_import, division, unicode_literals + +from . import base + + +class Filter(base.Filter): + """Removes optional tags from the token stream""" + def slider(self): + previous1 = previous2 = None + for token in self.source: + if previous1 is not None: + yield previous2, previous1, token + previous2 = previous1 + previous1 = token + if previous1 is not None: + yield previous2, previous1, None + + def __iter__(self): + for previous, token, next in self.slider(): + type = token["type"] + if type == "StartTag": + if (token["data"] or + not self.is_optional_start(token["name"], previous, next)): + yield token + elif type == "EndTag": + if not self.is_optional_end(token["name"], next): + yield token + else: + yield token + + def is_optional_start(self, tagname, previous, next): + type = next and next["type"] or None + if tagname in 'html': + # An html element's start tag may be omitted if the first thing + # inside the html element is not a space character or a comment. + return type not in ("Comment", "SpaceCharacters") + elif tagname == 'head': + # A head element's start tag may be omitted if the first thing + # inside the head element is an element. + # XXX: we also omit the start tag if the head element is empty + if type in ("StartTag", "EmptyTag"): + return True + elif type == "EndTag": + return next["name"] == "head" + elif tagname == 'body': + # A body element's start tag may be omitted if the first thing + # inside the body element is not a space character or a comment, + # except if the first thing inside the body element is a script + # or style element and the node immediately preceding the body + # element is a head element whose end tag has been omitted. + if type in ("Comment", "SpaceCharacters"): + return False + elif type == "StartTag": + # XXX: we do not look at the preceding event, so we never omit + # the body element's start tag if it's followed by a script or + # a style element. + return next["name"] not in ('script', 'style') + else: + return True + elif tagname == 'colgroup': + # A colgroup element's start tag may be omitted if the first thing + # inside the colgroup element is a col element, and if the element + # is not immediately preceded by another colgroup element whose + # end tag has been omitted. + if type in ("StartTag", "EmptyTag"): + # XXX: we do not look at the preceding event, so instead we never + # omit the colgroup element's end tag when it is immediately + # followed by another colgroup element. See is_optional_end. + return next["name"] == "col" + else: + return False + elif tagname == 'tbody': + # A tbody element's start tag may be omitted if the first thing + # inside the tbody element is a tr element, and if the element is + # not immediately preceded by a tbody, thead, or tfoot element + # whose end tag has been omitted. + if type == "StartTag": + # omit the thead and tfoot elements' end tag when they are + # immediately followed by a tbody element. See is_optional_end. + if previous and previous['type'] == 'EndTag' and \ + previous['name'] in ('tbody', 'thead', 'tfoot'): + return False + return next["name"] == 'tr' + else: + return False + return False + + def is_optional_end(self, tagname, next): + type = next and next["type"] or None + if tagname in ('html', 'head', 'body'): + # An html element's end tag may be omitted if the html element + # is not immediately followed by a space character or a comment. + return type not in ("Comment", "SpaceCharacters") + elif tagname in ('li', 'optgroup', 'tr'): + # A li element's end tag may be omitted if the li element is + # immediately followed by another li element or if there is + # no more content in the parent element. + # An optgroup element's end tag may be omitted if the optgroup + # element is immediately followed by another optgroup element, + # or if there is no more content in the parent element. + # A tr element's end tag may be omitted if the tr element is + # immediately followed by another tr element, or if there is + # no more content in the parent element. + if type == "StartTag": + return next["name"] == tagname + else: + return type == "EndTag" or type is None + elif tagname in ('dt', 'dd'): + # A dt element's end tag may be omitted if the dt element is + # immediately followed by another dt element or a dd element. + # A dd element's end tag may be omitted if the dd element is + # immediately followed by another dd element or a dt element, + # or if there is no more content in the parent element. + if type == "StartTag": + return next["name"] in ('dt', 'dd') + elif tagname == 'dd': + return type == "EndTag" or type is None + else: + return False + elif tagname == 'p': + # A p element's end tag may be omitted if the p element is + # immediately followed by an address, article, aside, + # blockquote, datagrid, dialog, dir, div, dl, fieldset, + # footer, form, h1, h2, h3, h4, h5, h6, header, hr, menu, + # nav, ol, p, pre, section, table, or ul, element, or if + # there is no more content in the parent element. + if type in ("StartTag", "EmptyTag"): + return next["name"] in ('address', 'article', 'aside', + 'blockquote', 'datagrid', 'dialog', + 'dir', 'div', 'dl', 'fieldset', 'footer', + 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', + 'header', 'hr', 'menu', 'nav', 'ol', + 'p', 'pre', 'section', 'table', 'ul') + else: + return type == "EndTag" or type is None + elif tagname == 'option': + # An option element's end tag may be omitted if the option + # element is immediately followed by another option element, + # or if it is immediately followed by an <code>optgroup</code> + # element, or if there is no more content in the parent + # element. + if type == "StartTag": + return next["name"] in ('option', 'optgroup') + else: + return type == "EndTag" or type is None + elif tagname in ('rt', 'rp'): + # An rt element's end tag may be omitted if the rt element is + # immediately followed by an rt or rp element, or if there is + # no more content in the parent element. + # An rp element's end tag may be omitted if the rp element is + # immediately followed by an rt or rp element, or if there is + # no more content in the parent element. + if type == "StartTag": + return next["name"] in ('rt', 'rp') + else: + return type == "EndTag" or type is None + elif tagname == 'colgroup': + # A colgroup element's end tag may be omitted if the colgroup + # element is not immediately followed by a space character or + # a comment. + if type in ("Comment", "SpaceCharacters"): + return False + elif type == "StartTag": + # XXX: we also look for an immediately following colgroup + # element. See is_optional_start. + return next["name"] != 'colgroup' + else: + return True + elif tagname in ('thead', 'tbody'): + # A thead element's end tag may be omitted if the thead element + # is immediately followed by a tbody or tfoot element. + # A tbody element's end tag may be omitted if the tbody element + # is immediately followed by a tbody or tfoot element, or if + # there is no more content in the parent element. + # A tfoot element's end tag may be omitted if the tfoot element + # is immediately followed by a tbody element, or if there is no + # more content in the parent element. + # XXX: we never omit the end tag when the following element is + # a tbody. See is_optional_start. + if type == "StartTag": + return next["name"] in ['tbody', 'tfoot'] + elif tagname == 'tbody': + return type == "EndTag" or type is None + else: + return False + elif tagname == 'tfoot': + # A tfoot element's end tag may be omitted if the tfoot element + # is immediately followed by a tbody element, or if there is no + # more content in the parent element. + # XXX: we never omit the end tag when the following element is + # a tbody. See is_optional_start. + if type == "StartTag": + return next["name"] == 'tbody' + else: + return type == "EndTag" or type is None + elif tagname in ('td', 'th'): + # A td element's end tag may be omitted if the td element is + # immediately followed by a td or th element, or if there is + # no more content in the parent element. + # A th element's end tag may be omitted if the th element is + # immediately followed by a td or th element, or if there is + # no more content in the parent element. + if type == "StartTag": + return next["name"] in ('td', 'th') + else: + return type == "EndTag" or type is None + return False diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/sanitizer.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/sanitizer.py new file mode 100644 index 0000000..af8e77b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/sanitizer.py @@ -0,0 +1,896 @@ +from __future__ import absolute_import, division, unicode_literals + +import re +from xml.sax.saxutils import escape, unescape + +from pip._vendor.six.moves import urllib_parse as urlparse + +from . import base +from ..constants import namespaces, prefixes + +__all__ = ["Filter"] + + +allowed_elements = frozenset(( + (namespaces['html'], 'a'), + (namespaces['html'], 'abbr'), + (namespaces['html'], 'acronym'), + (namespaces['html'], 'address'), + (namespaces['html'], 'area'), + (namespaces['html'], 'article'), + (namespaces['html'], 'aside'), + (namespaces['html'], 'audio'), + (namespaces['html'], 'b'), + (namespaces['html'], 'big'), + (namespaces['html'], 'blockquote'), + (namespaces['html'], 'br'), + (namespaces['html'], 'button'), + (namespaces['html'], 'canvas'), + (namespaces['html'], 'caption'), + (namespaces['html'], 'center'), + (namespaces['html'], 'cite'), + (namespaces['html'], 'code'), + (namespaces['html'], 'col'), + (namespaces['html'], 'colgroup'), + (namespaces['html'], 'command'), + (namespaces['html'], 'datagrid'), + (namespaces['html'], 'datalist'), + (namespaces['html'], 'dd'), + (namespaces['html'], 'del'), + (namespaces['html'], 'details'), + (namespaces['html'], 'dfn'), + (namespaces['html'], 'dialog'), + (namespaces['html'], 'dir'), + (namespaces['html'], 'div'), + (namespaces['html'], 'dl'), + (namespaces['html'], 'dt'), + (namespaces['html'], 'em'), + (namespaces['html'], 'event-source'), + (namespaces['html'], 'fieldset'), + (namespaces['html'], 'figcaption'), + (namespaces['html'], 'figure'), + (namespaces['html'], 'footer'), + (namespaces['html'], 'font'), + (namespaces['html'], 'form'), + (namespaces['html'], 'header'), + (namespaces['html'], 'h1'), + (namespaces['html'], 'h2'), + (namespaces['html'], 'h3'), + (namespaces['html'], 'h4'), + (namespaces['html'], 'h5'), + (namespaces['html'], 'h6'), + (namespaces['html'], 'hr'), + (namespaces['html'], 'i'), + (namespaces['html'], 'img'), + (namespaces['html'], 'input'), + (namespaces['html'], 'ins'), + (namespaces['html'], 'keygen'), + (namespaces['html'], 'kbd'), + (namespaces['html'], 'label'), + (namespaces['html'], 'legend'), + (namespaces['html'], 'li'), + (namespaces['html'], 'm'), + (namespaces['html'], 'map'), + (namespaces['html'], 'menu'), + (namespaces['html'], 'meter'), + (namespaces['html'], 'multicol'), + (namespaces['html'], 'nav'), + (namespaces['html'], 'nextid'), + (namespaces['html'], 'ol'), + (namespaces['html'], 'output'), + (namespaces['html'], 'optgroup'), + (namespaces['html'], 'option'), + (namespaces['html'], 'p'), + (namespaces['html'], 'pre'), + (namespaces['html'], 'progress'), + (namespaces['html'], 'q'), + (namespaces['html'], 's'), + (namespaces['html'], 'samp'), + (namespaces['html'], 'section'), + (namespaces['html'], 'select'), + (namespaces['html'], 'small'), + (namespaces['html'], 'sound'), + (namespaces['html'], 'source'), + (namespaces['html'], 'spacer'), + (namespaces['html'], 'span'), + (namespaces['html'], 'strike'), + (namespaces['html'], 'strong'), + (namespaces['html'], 'sub'), + (namespaces['html'], 'sup'), + (namespaces['html'], 'table'), + (namespaces['html'], 'tbody'), + (namespaces['html'], 'td'), + (namespaces['html'], 'textarea'), + (namespaces['html'], 'time'), + (namespaces['html'], 'tfoot'), + (namespaces['html'], 'th'), + (namespaces['html'], 'thead'), + (namespaces['html'], 'tr'), + (namespaces['html'], 'tt'), + (namespaces['html'], 'u'), + (namespaces['html'], 'ul'), + (namespaces['html'], 'var'), + (namespaces['html'], 'video'), + (namespaces['mathml'], 'maction'), + (namespaces['mathml'], 'math'), + (namespaces['mathml'], 'merror'), + (namespaces['mathml'], 'mfrac'), + (namespaces['mathml'], 'mi'), + (namespaces['mathml'], 'mmultiscripts'), + (namespaces['mathml'], 'mn'), + (namespaces['mathml'], 'mo'), + (namespaces['mathml'], 'mover'), + (namespaces['mathml'], 'mpadded'), + (namespaces['mathml'], 'mphantom'), + (namespaces['mathml'], 'mprescripts'), + (namespaces['mathml'], 'mroot'), + (namespaces['mathml'], 'mrow'), + (namespaces['mathml'], 'mspace'), + (namespaces['mathml'], 'msqrt'), + (namespaces['mathml'], 'mstyle'), + (namespaces['mathml'], 'msub'), + (namespaces['mathml'], 'msubsup'), + (namespaces['mathml'], 'msup'), + (namespaces['mathml'], 'mtable'), + (namespaces['mathml'], 'mtd'), + (namespaces['mathml'], 'mtext'), + (namespaces['mathml'], 'mtr'), + (namespaces['mathml'], 'munder'), + (namespaces['mathml'], 'munderover'), + (namespaces['mathml'], 'none'), + (namespaces['svg'], 'a'), + (namespaces['svg'], 'animate'), + (namespaces['svg'], 'animateColor'), + (namespaces['svg'], 'animateMotion'), + (namespaces['svg'], 'animateTransform'), + (namespaces['svg'], 'clipPath'), + (namespaces['svg'], 'circle'), + (namespaces['svg'], 'defs'), + (namespaces['svg'], 'desc'), + (namespaces['svg'], 'ellipse'), + (namespaces['svg'], 'font-face'), + (namespaces['svg'], 'font-face-name'), + (namespaces['svg'], 'font-face-src'), + (namespaces['svg'], 'g'), + (namespaces['svg'], 'glyph'), + (namespaces['svg'], 'hkern'), + (namespaces['svg'], 'linearGradient'), + (namespaces['svg'], 'line'), + (namespaces['svg'], 'marker'), + (namespaces['svg'], 'metadata'), + (namespaces['svg'], 'missing-glyph'), + (namespaces['svg'], 'mpath'), + (namespaces['svg'], 'path'), + (namespaces['svg'], 'polygon'), + (namespaces['svg'], 'polyline'), + (namespaces['svg'], 'radialGradient'), + (namespaces['svg'], 'rect'), + (namespaces['svg'], 'set'), + (namespaces['svg'], 'stop'), + (namespaces['svg'], 'svg'), + (namespaces['svg'], 'switch'), + (namespaces['svg'], 'text'), + (namespaces['svg'], 'title'), + (namespaces['svg'], 'tspan'), + (namespaces['svg'], 'use'), +)) + +allowed_attributes = frozenset(( + # HTML attributes + (None, 'abbr'), + (None, 'accept'), + (None, 'accept-charset'), + (None, 'accesskey'), + (None, 'action'), + (None, 'align'), + (None, 'alt'), + (None, 'autocomplete'), + (None, 'autofocus'), + (None, 'axis'), + (None, 'background'), + (None, 'balance'), + (None, 'bgcolor'), + (None, 'bgproperties'), + (None, 'border'), + (None, 'bordercolor'), + (None, 'bordercolordark'), + (None, 'bordercolorlight'), + (None, 'bottompadding'), + (None, 'cellpadding'), + (None, 'cellspacing'), + (None, 'ch'), + (None, 'challenge'), + (None, 'char'), + (None, 'charoff'), + (None, 'choff'), + (None, 'charset'), + (None, 'checked'), + (None, 'cite'), + (None, 'class'), + (None, 'clear'), + (None, 'color'), + (None, 'cols'), + (None, 'colspan'), + (None, 'compact'), + (None, 'contenteditable'), + (None, 'controls'), + (None, 'coords'), + (None, 'data'), + (None, 'datafld'), + (None, 'datapagesize'), + (None, 'datasrc'), + (None, 'datetime'), + (None, 'default'), + (None, 'delay'), + (None, 'dir'), + (None, 'disabled'), + (None, 'draggable'), + (None, 'dynsrc'), + (None, 'enctype'), + (None, 'end'), + (None, 'face'), + (None, 'for'), + (None, 'form'), + (None, 'frame'), + (None, 'galleryimg'), + (None, 'gutter'), + (None, 'headers'), + (None, 'height'), + (None, 'hidefocus'), + (None, 'hidden'), + (None, 'high'), + (None, 'href'), + (None, 'hreflang'), + (None, 'hspace'), + (None, 'icon'), + (None, 'id'), + (None, 'inputmode'), + (None, 'ismap'), + (None, 'keytype'), + (None, 'label'), + (None, 'leftspacing'), + (None, 'lang'), + (None, 'list'), + (None, 'longdesc'), + (None, 'loop'), + (None, 'loopcount'), + (None, 'loopend'), + (None, 'loopstart'), + (None, 'low'), + (None, 'lowsrc'), + (None, 'max'), + (None, 'maxlength'), + (None, 'media'), + (None, 'method'), + (None, 'min'), + (None, 'multiple'), + (None, 'name'), + (None, 'nohref'), + (None, 'noshade'), + (None, 'nowrap'), + (None, 'open'), + (None, 'optimum'), + (None, 'pattern'), + (None, 'ping'), + (None, 'point-size'), + (None, 'poster'), + (None, 'pqg'), + (None, 'preload'), + (None, 'prompt'), + (None, 'radiogroup'), + (None, 'readonly'), + (None, 'rel'), + (None, 'repeat-max'), + (None, 'repeat-min'), + (None, 'replace'), + (None, 'required'), + (None, 'rev'), + (None, 'rightspacing'), + (None, 'rows'), + (None, 'rowspan'), + (None, 'rules'), + (None, 'scope'), + (None, 'selected'), + (None, 'shape'), + (None, 'size'), + (None, 'span'), + (None, 'src'), + (None, 'start'), + (None, 'step'), + (None, 'style'), + (None, 'summary'), + (None, 'suppress'), + (None, 'tabindex'), + (None, 'target'), + (None, 'template'), + (None, 'title'), + (None, 'toppadding'), + (None, 'type'), + (None, 'unselectable'), + (None, 'usemap'), + (None, 'urn'), + (None, 'valign'), + (None, 'value'), + (None, 'variable'), + (None, 'volume'), + (None, 'vspace'), + (None, 'vrml'), + (None, 'width'), + (None, 'wrap'), + (namespaces['xml'], 'lang'), + # MathML attributes + (None, 'actiontype'), + (None, 'align'), + (None, 'columnalign'), + (None, 'columnalign'), + (None, 'columnalign'), + (None, 'columnlines'), + (None, 'columnspacing'), + (None, 'columnspan'), + (None, 'depth'), + (None, 'display'), + (None, 'displaystyle'), + (None, 'equalcolumns'), + (None, 'equalrows'), + (None, 'fence'), + (None, 'fontstyle'), + (None, 'fontweight'), + (None, 'frame'), + (None, 'height'), + (None, 'linethickness'), + (None, 'lspace'), + (None, 'mathbackground'), + (None, 'mathcolor'), + (None, 'mathvariant'), + (None, 'mathvariant'), + (None, 'maxsize'), + (None, 'minsize'), + (None, 'other'), + (None, 'rowalign'), + (None, 'rowalign'), + (None, 'rowalign'), + (None, 'rowlines'), + (None, 'rowspacing'), + (None, 'rowspan'), + (None, 'rspace'), + (None, 'scriptlevel'), + (None, 'selection'), + (None, 'separator'), + (None, 'stretchy'), + (None, 'width'), + (None, 'width'), + (namespaces['xlink'], 'href'), + (namespaces['xlink'], 'show'), + (namespaces['xlink'], 'type'), + # SVG attributes + (None, 'accent-height'), + (None, 'accumulate'), + (None, 'additive'), + (None, 'alphabetic'), + (None, 'arabic-form'), + (None, 'ascent'), + (None, 'attributeName'), + (None, 'attributeType'), + (None, 'baseProfile'), + (None, 'bbox'), + (None, 'begin'), + (None, 'by'), + (None, 'calcMode'), + (None, 'cap-height'), + (None, 'class'), + (None, 'clip-path'), + (None, 'color'), + (None, 'color-rendering'), + (None, 'content'), + (None, 'cx'), + (None, 'cy'), + (None, 'd'), + (None, 'dx'), + (None, 'dy'), + (None, 'descent'), + (None, 'display'), + (None, 'dur'), + (None, 'end'), + (None, 'fill'), + (None, 'fill-opacity'), + (None, 'fill-rule'), + (None, 'font-family'), + (None, 'font-size'), + (None, 'font-stretch'), + (None, 'font-style'), + (None, 'font-variant'), + (None, 'font-weight'), + (None, 'from'), + (None, 'fx'), + (None, 'fy'), + (None, 'g1'), + (None, 'g2'), + (None, 'glyph-name'), + (None, 'gradientUnits'), + (None, 'hanging'), + (None, 'height'), + (None, 'horiz-adv-x'), + (None, 'horiz-origin-x'), + (None, 'id'), + (None, 'ideographic'), + (None, 'k'), + (None, 'keyPoints'), + (None, 'keySplines'), + (None, 'keyTimes'), + (None, 'lang'), + (None, 'marker-end'), + (None, 'marker-mid'), + (None, 'marker-start'), + (None, 'markerHeight'), + (None, 'markerUnits'), + (None, 'markerWidth'), + (None, 'mathematical'), + (None, 'max'), + (None, 'min'), + (None, 'name'), + (None, 'offset'), + (None, 'opacity'), + (None, 'orient'), + (None, 'origin'), + (None, 'overline-position'), + (None, 'overline-thickness'), + (None, 'panose-1'), + (None, 'path'), + (None, 'pathLength'), + (None, 'points'), + (None, 'preserveAspectRatio'), + (None, 'r'), + (None, 'refX'), + (None, 'refY'), + (None, 'repeatCount'), + (None, 'repeatDur'), + (None, 'requiredExtensions'), + (None, 'requiredFeatures'), + (None, 'restart'), + (None, 'rotate'), + (None, 'rx'), + (None, 'ry'), + (None, 'slope'), + (None, 'stemh'), + (None, 'stemv'), + (None, 'stop-color'), + (None, 'stop-opacity'), + (None, 'strikethrough-position'), + (None, 'strikethrough-thickness'), + (None, 'stroke'), + (None, 'stroke-dasharray'), + (None, 'stroke-dashoffset'), + (None, 'stroke-linecap'), + (None, 'stroke-linejoin'), + (None, 'stroke-miterlimit'), + (None, 'stroke-opacity'), + (None, 'stroke-width'), + (None, 'systemLanguage'), + (None, 'target'), + (None, 'text-anchor'), + (None, 'to'), + (None, 'transform'), + (None, 'type'), + (None, 'u1'), + (None, 'u2'), + (None, 'underline-position'), + (None, 'underline-thickness'), + (None, 'unicode'), + (None, 'unicode-range'), + (None, 'units-per-em'), + (None, 'values'), + (None, 'version'), + (None, 'viewBox'), + (None, 'visibility'), + (None, 'width'), + (None, 'widths'), + (None, 'x'), + (None, 'x-height'), + (None, 'x1'), + (None, 'x2'), + (namespaces['xlink'], 'actuate'), + (namespaces['xlink'], 'arcrole'), + (namespaces['xlink'], 'href'), + (namespaces['xlink'], 'role'), + (namespaces['xlink'], 'show'), + (namespaces['xlink'], 'title'), + (namespaces['xlink'], 'type'), + (namespaces['xml'], 'base'), + (namespaces['xml'], 'lang'), + (namespaces['xml'], 'space'), + (None, 'y'), + (None, 'y1'), + (None, 'y2'), + (None, 'zoomAndPan'), +)) + +attr_val_is_uri = frozenset(( + (None, 'href'), + (None, 'src'), + (None, 'cite'), + (None, 'action'), + (None, 'longdesc'), + (None, 'poster'), + (None, 'background'), + (None, 'datasrc'), + (None, 'dynsrc'), + (None, 'lowsrc'), + (None, 'ping'), + (namespaces['xlink'], 'href'), + (namespaces['xml'], 'base'), +)) + +svg_attr_val_allows_ref = frozenset(( + (None, 'clip-path'), + (None, 'color-profile'), + (None, 'cursor'), + (None, 'fill'), + (None, 'filter'), + (None, 'marker'), + (None, 'marker-start'), + (None, 'marker-mid'), + (None, 'marker-end'), + (None, 'mask'), + (None, 'stroke'), +)) + +svg_allow_local_href = frozenset(( + (None, 'altGlyph'), + (None, 'animate'), + (None, 'animateColor'), + (None, 'animateMotion'), + (None, 'animateTransform'), + (None, 'cursor'), + (None, 'feImage'), + (None, 'filter'), + (None, 'linearGradient'), + (None, 'pattern'), + (None, 'radialGradient'), + (None, 'textpath'), + (None, 'tref'), + (None, 'set'), + (None, 'use') +)) + +allowed_css_properties = frozenset(( + 'azimuth', + 'background-color', + 'border-bottom-color', + 'border-collapse', + 'border-color', + 'border-left-color', + 'border-right-color', + 'border-top-color', + 'clear', + 'color', + 'cursor', + 'direction', + 'display', + 'elevation', + 'float', + 'font', + 'font-family', + 'font-size', + 'font-style', + 'font-variant', + 'font-weight', + 'height', + 'letter-spacing', + 'line-height', + 'overflow', + 'pause', + 'pause-after', + 'pause-before', + 'pitch', + 'pitch-range', + 'richness', + 'speak', + 'speak-header', + 'speak-numeral', + 'speak-punctuation', + 'speech-rate', + 'stress', + 'text-align', + 'text-decoration', + 'text-indent', + 'unicode-bidi', + 'vertical-align', + 'voice-family', + 'volume', + 'white-space', + 'width', +)) + +allowed_css_keywords = frozenset(( + 'auto', + 'aqua', + 'black', + 'block', + 'blue', + 'bold', + 'both', + 'bottom', + 'brown', + 'center', + 'collapse', + 'dashed', + 'dotted', + 'fuchsia', + 'gray', + 'green', + '!important', + 'italic', + 'left', + 'lime', + 'maroon', + 'medium', + 'none', + 'navy', + 'normal', + 'nowrap', + 'olive', + 'pointer', + 'purple', + 'red', + 'right', + 'solid', + 'silver', + 'teal', + 'top', + 'transparent', + 'underline', + 'white', + 'yellow', +)) + +allowed_svg_properties = frozenset(( + 'fill', + 'fill-opacity', + 'fill-rule', + 'stroke', + 'stroke-width', + 'stroke-linecap', + 'stroke-linejoin', + 'stroke-opacity', +)) + +allowed_protocols = frozenset(( + 'ed2k', + 'ftp', + 'http', + 'https', + 'irc', + 'mailto', + 'news', + 'gopher', + 'nntp', + 'telnet', + 'webcal', + 'xmpp', + 'callto', + 'feed', + 'urn', + 'aim', + 'rsync', + 'tag', + 'ssh', + 'sftp', + 'rtsp', + 'afs', + 'data', +)) + +allowed_content_types = frozenset(( + 'image/png', + 'image/jpeg', + 'image/gif', + 'image/webp', + 'image/bmp', + 'text/plain', +)) + + +data_content_type = re.compile(r''' + ^ + # Match a content type <application>/<type> + (?P<content_type>[-a-zA-Z0-9.]+/[-a-zA-Z0-9.]+) + # Match any character set and encoding + (?:(?:;charset=(?:[-a-zA-Z0-9]+)(?:;(?:base64))?) + |(?:;(?:base64))?(?:;charset=(?:[-a-zA-Z0-9]+))?) + # Assume the rest is data + ,.* + $ + ''', + re.VERBOSE) + + +class Filter(base.Filter): + """Sanitizes token stream of XHTML+MathML+SVG and of inline style attributes""" + def __init__(self, + source, + allowed_elements=allowed_elements, + allowed_attributes=allowed_attributes, + allowed_css_properties=allowed_css_properties, + allowed_css_keywords=allowed_css_keywords, + allowed_svg_properties=allowed_svg_properties, + allowed_protocols=allowed_protocols, + allowed_content_types=allowed_content_types, + attr_val_is_uri=attr_val_is_uri, + svg_attr_val_allows_ref=svg_attr_val_allows_ref, + svg_allow_local_href=svg_allow_local_href): + """Creates a Filter + + :arg allowed_elements: set of elements to allow--everything else will + be escaped + + :arg allowed_attributes: set of attributes to allow in + elements--everything else will be stripped + + :arg allowed_css_properties: set of CSS properties to allow--everything + else will be stripped + + :arg allowed_css_keywords: set of CSS keywords to allow--everything + else will be stripped + + :arg allowed_svg_properties: set of SVG properties to allow--everything + else will be removed + + :arg allowed_protocols: set of allowed protocols for URIs + + :arg allowed_content_types: set of allowed content types for ``data`` URIs. + + :arg attr_val_is_uri: set of attributes that have URI values--values + that have a scheme not listed in ``allowed_protocols`` are removed + + :arg svg_attr_val_allows_ref: set of SVG attributes that can have + references + + :arg svg_allow_local_href: set of SVG elements that can have local + hrefs--these are removed + + """ + super(Filter, self).__init__(source) + self.allowed_elements = allowed_elements + self.allowed_attributes = allowed_attributes + self.allowed_css_properties = allowed_css_properties + self.allowed_css_keywords = allowed_css_keywords + self.allowed_svg_properties = allowed_svg_properties + self.allowed_protocols = allowed_protocols + self.allowed_content_types = allowed_content_types + self.attr_val_is_uri = attr_val_is_uri + self.svg_attr_val_allows_ref = svg_attr_val_allows_ref + self.svg_allow_local_href = svg_allow_local_href + + def __iter__(self): + for token in base.Filter.__iter__(self): + token = self.sanitize_token(token) + if token: + yield token + + # Sanitize the +html+, escaping all elements not in ALLOWED_ELEMENTS, and + # stripping out all attributes not in ALLOWED_ATTRIBUTES. Style attributes + # are parsed, and a restricted set, specified by ALLOWED_CSS_PROPERTIES and + # ALLOWED_CSS_KEYWORDS, are allowed through. attributes in ATTR_VAL_IS_URI + # are scanned, and only URI schemes specified in ALLOWED_PROTOCOLS are + # allowed. + # + # sanitize_html('<script> do_nasty_stuff() </script>') + # => &lt;script> do_nasty_stuff() &lt;/script> + # sanitize_html('<a href="javascript: sucker();">Click here for $100</a>') + # => <a>Click here for $100</a> + def sanitize_token(self, token): + + # accommodate filters which use token_type differently + token_type = token["type"] + if token_type in ("StartTag", "EndTag", "EmptyTag"): + name = token["name"] + namespace = token["namespace"] + if ((namespace, name) in self.allowed_elements or + (namespace is None and + (namespaces["html"], name) in self.allowed_elements)): + return self.allowed_token(token) + else: + return self.disallowed_token(token) + elif token_type == "Comment": + pass + else: + return token + + def allowed_token(self, token): + if "data" in token: + attrs = token["data"] + attr_names = set(attrs.keys()) + + # Remove forbidden attributes + for to_remove in (attr_names - self.allowed_attributes): + del token["data"][to_remove] + attr_names.remove(to_remove) + + # Remove attributes with disallowed URL values + for attr in (attr_names & self.attr_val_is_uri): + assert attr in attrs + # I don't have a clue where this regexp comes from or why it matches those + # characters, nor why we call unescape. I just know it's always been here. + # Should you be worried by this comment in a sanitizer? Yes. On the other hand, all + # this will do is remove *more* than it otherwise would. + val_unescaped = re.sub("[`\x00-\x20\x7f-\xa0\\s]+", '', + unescape(attrs[attr])).lower() + # remove replacement characters from unescaped characters + val_unescaped = val_unescaped.replace("\ufffd", "") + try: + uri = urlparse.urlparse(val_unescaped) + except ValueError: + uri = None + del attrs[attr] + if uri and uri.scheme: + if uri.scheme not in self.allowed_protocols: + del attrs[attr] + if uri.scheme == 'data': + m = data_content_type.match(uri.path) + if not m: + del attrs[attr] + elif m.group('content_type') not in self.allowed_content_types: + del attrs[attr] + + for attr in self.svg_attr_val_allows_ref: + if attr in attrs: + attrs[attr] = re.sub(r'url\s*\(\s*[^#\s][^)]+?\)', + ' ', + unescape(attrs[attr])) + if (token["name"] in self.svg_allow_local_href and + (namespaces['xlink'], 'href') in attrs and re.search(r'^\s*[^#\s].*', + attrs[(namespaces['xlink'], 'href')])): + del attrs[(namespaces['xlink'], 'href')] + if (None, 'style') in attrs: + attrs[(None, 'style')] = self.sanitize_css(attrs[(None, 'style')]) + token["data"] = attrs + return token + + def disallowed_token(self, token): + token_type = token["type"] + if token_type == "EndTag": + token["data"] = "</%s>" % token["name"] + elif token["data"]: + assert token_type in ("StartTag", "EmptyTag") + attrs = [] + for (ns, name), v in token["data"].items(): + attrs.append(' %s="%s"' % (name if ns is None else "%s:%s" % (prefixes[ns], name), escape(v))) + token["data"] = "<%s%s>" % (token["name"], ''.join(attrs)) + else: + token["data"] = "<%s>" % token["name"] + if token.get("selfClosing"): + token["data"] = token["data"][:-1] + "/>" + + token["type"] = "Characters" + + del token["name"] + return token + + def sanitize_css(self, style): + # disallow urls + style = re.compile(r'url\s*\(\s*[^\s)]+?\s*\)\s*').sub(' ', style) + + # gauntlet + if not re.match(r"""^([:,;#%.\sa-zA-Z0-9!]|\w-\w|'[\s\w]+'|"[\s\w]+"|\([\d,\s]+\))*$""", style): + return '' + if not re.match(r"^\s*([-\w]+\s*:[^:;]*(;\s*|$))*$", style): + return '' + + clean = [] + for prop, value in re.findall(r"([-\w]+)\s*:\s*([^:;]*)", style): + if not value: + continue + if prop.lower() in self.allowed_css_properties: + clean.append(prop + ': ' + value + ';') + elif prop.split('-')[0].lower() in ['background', 'border', 'margin', + 'padding']: + for keyword in value.split(): + if keyword not in self.allowed_css_keywords and \ + not re.match(r"^(#[0-9a-fA-F]+|rgb\(\d+%?,\d*%?,?\d*%?\)?|\d{0,2}\.?\d{0,2}(cm|em|ex|in|mm|pc|pt|px|%|,|\))?)$", keyword): # noqa + break + else: + clean.append(prop + ': ' + value + ';') + elif prop.lower() in self.allowed_svg_properties: + clean.append(prop + ': ' + value + ';') + + return ' '.join(clean) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/whitespace.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/whitespace.py new file mode 100644 index 0000000..0d12584 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/filters/whitespace.py @@ -0,0 +1,38 @@ +from __future__ import absolute_import, division, unicode_literals + +import re + +from . import base +from ..constants import rcdataElements, spaceCharacters +spaceCharacters = "".join(spaceCharacters) + +SPACES_REGEX = re.compile("[%s]+" % spaceCharacters) + + +class Filter(base.Filter): + """Collapses whitespace except in pre, textarea, and script elements""" + spacePreserveElements = frozenset(["pre", "textarea"] + list(rcdataElements)) + + def __iter__(self): + preserve = 0 + for token in base.Filter.__iter__(self): + type = token["type"] + if type == "StartTag" \ + and (preserve or token["name"] in self.spacePreserveElements): + preserve += 1 + + elif type == "EndTag" and preserve: + preserve -= 1 + + elif not preserve and type == "SpaceCharacters" and token["data"]: + # Test on token["data"] above to not introduce spaces where there were not + token["data"] = " " + + elif not preserve and type == "Characters": + token["data"] = collapse_spaces(token["data"]) + + yield token + + +def collapse_spaces(text): + return SPACES_REGEX.sub(' ', text) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/html5parser.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/html5parser.py new file mode 100644 index 0000000..ae41a13 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/html5parser.py @@ -0,0 +1,2791 @@ +from __future__ import absolute_import, division, unicode_literals +from pip._vendor.six import with_metaclass, viewkeys + +import types +from collections import OrderedDict + +from . import _inputstream +from . import _tokenizer + +from . import treebuilders +from .treebuilders.base import Marker + +from . import _utils +from .constants import ( + spaceCharacters, asciiUpper2Lower, + specialElements, headingElements, cdataElements, rcdataElements, + tokenTypes, tagTokenTypes, + namespaces, + htmlIntegrationPointElements, mathmlTextIntegrationPointElements, + adjustForeignAttributes as adjustForeignAttributesMap, + adjustMathMLAttributes, adjustSVGAttributes, + E, + _ReparseException +) + + +def parse(doc, treebuilder="etree", namespaceHTMLElements=True, **kwargs): + """Parse an HTML document as a string or file-like object into a tree + + :arg doc: the document to parse as a string or file-like object + + :arg treebuilder: the treebuilder to use when parsing + + :arg namespaceHTMLElements: whether or not to namespace HTML elements + + :returns: parsed tree + + Example: + + >>> from html5lib.html5parser import parse + >>> parse('<html><body><p>This is a doc</p></body></html>') + <Element u'{http://www.w3.org/1999/xhtml}html' at 0x7feac4909db0> + + """ + tb = treebuilders.getTreeBuilder(treebuilder) + p = HTMLParser(tb, namespaceHTMLElements=namespaceHTMLElements) + return p.parse(doc, **kwargs) + + +def parseFragment(doc, container="div", treebuilder="etree", namespaceHTMLElements=True, **kwargs): + """Parse an HTML fragment as a string or file-like object into a tree + + :arg doc: the fragment to parse as a string or file-like object + + :arg container: the container context to parse the fragment in + + :arg treebuilder: the treebuilder to use when parsing + + :arg namespaceHTMLElements: whether or not to namespace HTML elements + + :returns: parsed tree + + Example: + + >>> from html5lib.html5libparser import parseFragment + >>> parseFragment('<b>this is a fragment</b>') + <Element u'DOCUMENT_FRAGMENT' at 0x7feac484b090> + + """ + tb = treebuilders.getTreeBuilder(treebuilder) + p = HTMLParser(tb, namespaceHTMLElements=namespaceHTMLElements) + return p.parseFragment(doc, container=container, **kwargs) + + +def method_decorator_metaclass(function): + class Decorated(type): + def __new__(meta, classname, bases, classDict): + for attributeName, attribute in classDict.items(): + if isinstance(attribute, types.FunctionType): + attribute = function(attribute) + + classDict[attributeName] = attribute + return type.__new__(meta, classname, bases, classDict) + return Decorated + + +class HTMLParser(object): + """HTML parser + + Generates a tree structure from a stream of (possibly malformed) HTML. + + """ + + def __init__(self, tree=None, strict=False, namespaceHTMLElements=True, debug=False): + """ + :arg tree: a treebuilder class controlling the type of tree that will be + returned. Built in treebuilders can be accessed through + html5lib.treebuilders.getTreeBuilder(treeType) + + :arg strict: raise an exception when a parse error is encountered + + :arg namespaceHTMLElements: whether or not to namespace HTML elements + + :arg debug: whether or not to enable debug mode which logs things + + Example: + + >>> from html5lib.html5parser import HTMLParser + >>> parser = HTMLParser() # generates parser with etree builder + >>> parser = HTMLParser('lxml', strict=True) # generates parser with lxml builder which is strict + + """ + + # Raise an exception on the first error encountered + self.strict = strict + + if tree is None: + tree = treebuilders.getTreeBuilder("etree") + self.tree = tree(namespaceHTMLElements) + self.errors = [] + + self.phases = dict([(name, cls(self, self.tree)) for name, cls in + getPhases(debug).items()]) + + def _parse(self, stream, innerHTML=False, container="div", scripting=False, **kwargs): + + self.innerHTMLMode = innerHTML + self.container = container + self.scripting = scripting + self.tokenizer = _tokenizer.HTMLTokenizer(stream, parser=self, **kwargs) + self.reset() + + try: + self.mainLoop() + except _ReparseException: + self.reset() + self.mainLoop() + + def reset(self): + self.tree.reset() + self.firstStartTag = False + self.errors = [] + self.log = [] # only used with debug mode + # "quirks" / "limited quirks" / "no quirks" + self.compatMode = "no quirks" + + if self.innerHTMLMode: + self.innerHTML = self.container.lower() + + if self.innerHTML in cdataElements: + self.tokenizer.state = self.tokenizer.rcdataState + elif self.innerHTML in rcdataElements: + self.tokenizer.state = self.tokenizer.rawtextState + elif self.innerHTML == 'plaintext': + self.tokenizer.state = self.tokenizer.plaintextState + else: + # state already is data state + # self.tokenizer.state = self.tokenizer.dataState + pass + self.phase = self.phases["beforeHtml"] + self.phase.insertHtmlElement() + self.resetInsertionMode() + else: + self.innerHTML = False # pylint:disable=redefined-variable-type + self.phase = self.phases["initial"] + + self.lastPhase = None + + self.beforeRCDataPhase = None + + self.framesetOK = True + + @property + def documentEncoding(self): + """Name of the character encoding that was used to decode the input stream, or + :obj:`None` if that is not determined yet + + """ + if not hasattr(self, 'tokenizer'): + return None + return self.tokenizer.stream.charEncoding[0].name + + def isHTMLIntegrationPoint(self, element): + if (element.name == "annotation-xml" and + element.namespace == namespaces["mathml"]): + return ("encoding" in element.attributes and + element.attributes["encoding"].translate( + asciiUpper2Lower) in + ("text/html", "application/xhtml+xml")) + else: + return (element.namespace, element.name) in htmlIntegrationPointElements + + def isMathMLTextIntegrationPoint(self, element): + return (element.namespace, element.name) in mathmlTextIntegrationPointElements + + def mainLoop(self): + CharactersToken = tokenTypes["Characters"] + SpaceCharactersToken = tokenTypes["SpaceCharacters"] + StartTagToken = tokenTypes["StartTag"] + EndTagToken = tokenTypes["EndTag"] + CommentToken = tokenTypes["Comment"] + DoctypeToken = tokenTypes["Doctype"] + ParseErrorToken = tokenTypes["ParseError"] + + for token in self.normalizedTokens(): + prev_token = None + new_token = token + while new_token is not None: + prev_token = new_token + currentNode = self.tree.openElements[-1] if self.tree.openElements else None + currentNodeNamespace = currentNode.namespace if currentNode else None + currentNodeName = currentNode.name if currentNode else None + + type = new_token["type"] + + if type == ParseErrorToken: + self.parseError(new_token["data"], new_token.get("datavars", {})) + new_token = None + else: + if (len(self.tree.openElements) == 0 or + currentNodeNamespace == self.tree.defaultNamespace or + (self.isMathMLTextIntegrationPoint(currentNode) and + ((type == StartTagToken and + token["name"] not in frozenset(["mglyph", "malignmark"])) or + type in (CharactersToken, SpaceCharactersToken))) or + (currentNodeNamespace == namespaces["mathml"] and + currentNodeName == "annotation-xml" and + type == StartTagToken and + token["name"] == "svg") or + (self.isHTMLIntegrationPoint(currentNode) and + type in (StartTagToken, CharactersToken, SpaceCharactersToken))): + phase = self.phase + else: + phase = self.phases["inForeignContent"] + + if type == CharactersToken: + new_token = phase.processCharacters(new_token) + elif type == SpaceCharactersToken: + new_token = phase.processSpaceCharacters(new_token) + elif type == StartTagToken: + new_token = phase.processStartTag(new_token) + elif type == EndTagToken: + new_token = phase.processEndTag(new_token) + elif type == CommentToken: + new_token = phase.processComment(new_token) + elif type == DoctypeToken: + new_token = phase.processDoctype(new_token) + + if (type == StartTagToken and prev_token["selfClosing"] and + not prev_token["selfClosingAcknowledged"]): + self.parseError("non-void-element-with-trailing-solidus", + {"name": prev_token["name"]}) + + # When the loop finishes it's EOF + reprocess = True + phases = [] + while reprocess: + phases.append(self.phase) + reprocess = self.phase.processEOF() + if reprocess: + assert self.phase not in phases + + def normalizedTokens(self): + for token in self.tokenizer: + yield self.normalizeToken(token) + + def parse(self, stream, *args, **kwargs): + """Parse a HTML document into a well-formed tree + + :arg stream: a file-like object or string containing the HTML to be parsed + + The optional encoding parameter must be a string that indicates + the encoding. If specified, that encoding will be used, + regardless of any BOM or later declaration (such as in a meta + element). + + :arg scripting: treat noscript elements as if JavaScript was turned on + + :returns: parsed tree + + Example: + + >>> from html5lib.html5parser import HTMLParser + >>> parser = HTMLParser() + >>> parser.parse('<html><body><p>This is a doc</p></body></html>') + <Element u'{http://www.w3.org/1999/xhtml}html' at 0x7feac4909db0> + + """ + self._parse(stream, False, None, *args, **kwargs) + return self.tree.getDocument() + + def parseFragment(self, stream, *args, **kwargs): + """Parse a HTML fragment into a well-formed tree fragment + + :arg container: name of the element we're setting the innerHTML + property if set to None, default to 'div' + + :arg stream: a file-like object or string containing the HTML to be parsed + + The optional encoding parameter must be a string that indicates + the encoding. If specified, that encoding will be used, + regardless of any BOM or later declaration (such as in a meta + element) + + :arg scripting: treat noscript elements as if JavaScript was turned on + + :returns: parsed tree + + Example: + + >>> from html5lib.html5libparser import HTMLParser + >>> parser = HTMLParser() + >>> parser.parseFragment('<b>this is a fragment</b>') + <Element u'DOCUMENT_FRAGMENT' at 0x7feac484b090> + + """ + self._parse(stream, True, *args, **kwargs) + return self.tree.getFragment() + + def parseError(self, errorcode="XXX-undefined-error", datavars=None): + # XXX The idea is to make errorcode mandatory. + if datavars is None: + datavars = {} + self.errors.append((self.tokenizer.stream.position(), errorcode, datavars)) + if self.strict: + raise ParseError(E[errorcode] % datavars) + + def normalizeToken(self, token): + # HTML5 specific normalizations to the token stream + if token["type"] == tokenTypes["StartTag"]: + raw = token["data"] + token["data"] = OrderedDict(raw) + if len(raw) > len(token["data"]): + # we had some duplicated attribute, fix so first wins + token["data"].update(raw[::-1]) + + return token + + def adjustMathMLAttributes(self, token): + adjust_attributes(token, adjustMathMLAttributes) + + def adjustSVGAttributes(self, token): + adjust_attributes(token, adjustSVGAttributes) + + def adjustForeignAttributes(self, token): + adjust_attributes(token, adjustForeignAttributesMap) + + def reparseTokenNormal(self, token): + # pylint:disable=unused-argument + self.parser.phase() + + def resetInsertionMode(self): + # The name of this method is mostly historical. (It's also used in the + # specification.) + last = False + newModes = { + "select": "inSelect", + "td": "inCell", + "th": "inCell", + "tr": "inRow", + "tbody": "inTableBody", + "thead": "inTableBody", + "tfoot": "inTableBody", + "caption": "inCaption", + "colgroup": "inColumnGroup", + "table": "inTable", + "head": "inBody", + "body": "inBody", + "frameset": "inFrameset", + "html": "beforeHead" + } + for node in self.tree.openElements[::-1]: + nodeName = node.name + new_phase = None + if node == self.tree.openElements[0]: + assert self.innerHTML + last = True + nodeName = self.innerHTML + # Check for conditions that should only happen in the innerHTML + # case + if nodeName in ("select", "colgroup", "head", "html"): + assert self.innerHTML + + if not last and node.namespace != self.tree.defaultNamespace: + continue + + if nodeName in newModes: + new_phase = self.phases[newModes[nodeName]] + break + elif last: + new_phase = self.phases["inBody"] + break + + self.phase = new_phase + + def parseRCDataRawtext(self, token, contentType): + # Generic RCDATA/RAWTEXT Parsing algorithm + assert contentType in ("RAWTEXT", "RCDATA") + + self.tree.insertElement(token) + + if contentType == "RAWTEXT": + self.tokenizer.state = self.tokenizer.rawtextState + else: + self.tokenizer.state = self.tokenizer.rcdataState + + self.originalPhase = self.phase + + self.phase = self.phases["text"] + + +@_utils.memoize +def getPhases(debug): + def log(function): + """Logger that records which phase processes each token""" + type_names = dict((value, key) for key, value in + tokenTypes.items()) + + def wrapped(self, *args, **kwargs): + if function.__name__.startswith("process") and len(args) > 0: + token = args[0] + try: + info = {"type": type_names[token['type']]} + except: + raise + if token['type'] in tagTokenTypes: + info["name"] = token['name'] + + self.parser.log.append((self.parser.tokenizer.state.__name__, + self.parser.phase.__class__.__name__, + self.__class__.__name__, + function.__name__, + info)) + return function(self, *args, **kwargs) + else: + return function(self, *args, **kwargs) + return wrapped + + def getMetaclass(use_metaclass, metaclass_func): + if use_metaclass: + return method_decorator_metaclass(metaclass_func) + else: + return type + + # pylint:disable=unused-argument + class Phase(with_metaclass(getMetaclass(debug, log))): + """Base class for helper object that implements each phase of processing + """ + + def __init__(self, parser, tree): + self.parser = parser + self.tree = tree + + def processEOF(self): + raise NotImplementedError + + def processComment(self, token): + # For most phases the following is correct. Where it's not it will be + # overridden. + self.tree.insertComment(token, self.tree.openElements[-1]) + + def processDoctype(self, token): + self.parser.parseError("unexpected-doctype") + + def processCharacters(self, token): + self.tree.insertText(token["data"]) + + def processSpaceCharacters(self, token): + self.tree.insertText(token["data"]) + + def processStartTag(self, token): + return self.startTagHandler[token["name"]](token) + + def startTagHtml(self, token): + if not self.parser.firstStartTag and token["name"] == "html": + self.parser.parseError("non-html-root") + # XXX Need a check here to see if the first start tag token emitted is + # this token... If it's not, invoke self.parser.parseError(). + for attr, value in token["data"].items(): + if attr not in self.tree.openElements[0].attributes: + self.tree.openElements[0].attributes[attr] = value + self.parser.firstStartTag = False + + def processEndTag(self, token): + return self.endTagHandler[token["name"]](token) + + class InitialPhase(Phase): + def processSpaceCharacters(self, token): + pass + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + correct = token["correct"] + + if (name != "html" or publicId is not None or + systemId is not None and systemId != "about:legacy-compat"): + self.parser.parseError("unknown-doctype") + + if publicId is None: + publicId = "" + + self.tree.insertDoctype(token) + + if publicId != "": + publicId = publicId.translate(asciiUpper2Lower) + + if (not correct or token["name"] != "html" or + publicId.startswith( + ("+//silmaril//dtd html pro v0r11 19970101//", + "-//advasoft ltd//dtd html 3.0 aswedit + extensions//", + "-//as//dtd html 3.0 aswedit + extensions//", + "-//ietf//dtd html 2.0 level 1//", + "-//ietf//dtd html 2.0 level 2//", + "-//ietf//dtd html 2.0 strict level 1//", + "-//ietf//dtd html 2.0 strict level 2//", + "-//ietf//dtd html 2.0 strict//", + "-//ietf//dtd html 2.0//", + "-//ietf//dtd html 2.1e//", + "-//ietf//dtd html 3.0//", + "-//ietf//dtd html 3.2 final//", + "-//ietf//dtd html 3.2//", + "-//ietf//dtd html 3//", + "-//ietf//dtd html level 0//", + "-//ietf//dtd html level 1//", + "-//ietf//dtd html level 2//", + "-//ietf//dtd html level 3//", + "-//ietf//dtd html strict level 0//", + "-//ietf//dtd html strict level 1//", + "-//ietf//dtd html strict level 2//", + "-//ietf//dtd html strict level 3//", + "-//ietf//dtd html strict//", + "-//ietf//dtd html//", + "-//metrius//dtd metrius presentational//", + "-//microsoft//dtd internet explorer 2.0 html strict//", + "-//microsoft//dtd internet explorer 2.0 html//", + "-//microsoft//dtd internet explorer 2.0 tables//", + "-//microsoft//dtd internet explorer 3.0 html strict//", + "-//microsoft//dtd internet explorer 3.0 html//", + "-//microsoft//dtd internet explorer 3.0 tables//", + "-//netscape comm. corp.//dtd html//", + "-//netscape comm. corp.//dtd strict html//", + "-//o'reilly and associates//dtd html 2.0//", + "-//o'reilly and associates//dtd html extended 1.0//", + "-//o'reilly and associates//dtd html extended relaxed 1.0//", + "-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//", + "-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//", + "-//spyglass//dtd html 2.0 extended//", + "-//sq//dtd html 2.0 hotmetal + extensions//", + "-//sun microsystems corp.//dtd hotjava html//", + "-//sun microsystems corp.//dtd hotjava strict html//", + "-//w3c//dtd html 3 1995-03-24//", + "-//w3c//dtd html 3.2 draft//", + "-//w3c//dtd html 3.2 final//", + "-//w3c//dtd html 3.2//", + "-//w3c//dtd html 3.2s draft//", + "-//w3c//dtd html 4.0 frameset//", + "-//w3c//dtd html 4.0 transitional//", + "-//w3c//dtd html experimental 19960712//", + "-//w3c//dtd html experimental 970421//", + "-//w3c//dtd w3 html//", + "-//w3o//dtd w3 html 3.0//", + "-//webtechs//dtd mozilla html 2.0//", + "-//webtechs//dtd mozilla html//")) or + publicId in ("-//w3o//dtd w3 html strict 3.0//en//", + "-/w3c/dtd html 4.0 transitional/en", + "html") or + publicId.startswith( + ("-//w3c//dtd html 4.01 frameset//", + "-//w3c//dtd html 4.01 transitional//")) and + systemId is None or + systemId and systemId.lower() == "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"): + self.parser.compatMode = "quirks" + elif (publicId.startswith( + ("-//w3c//dtd xhtml 1.0 frameset//", + "-//w3c//dtd xhtml 1.0 transitional//")) or + publicId.startswith( + ("-//w3c//dtd html 4.01 frameset//", + "-//w3c//dtd html 4.01 transitional//")) and + systemId is not None): + self.parser.compatMode = "limited quirks" + + self.parser.phase = self.parser.phases["beforeHtml"] + + def anythingElse(self): + self.parser.compatMode = "quirks" + self.parser.phase = self.parser.phases["beforeHtml"] + + def processCharacters(self, token): + self.parser.parseError("expected-doctype-but-got-chars") + self.anythingElse() + return token + + def processStartTag(self, token): + self.parser.parseError("expected-doctype-but-got-start-tag", + {"name": token["name"]}) + self.anythingElse() + return token + + def processEndTag(self, token): + self.parser.parseError("expected-doctype-but-got-end-tag", + {"name": token["name"]}) + self.anythingElse() + return token + + def processEOF(self): + self.parser.parseError("expected-doctype-but-got-eof") + self.anythingElse() + return True + + class BeforeHtmlPhase(Phase): + # helper methods + def insertHtmlElement(self): + self.tree.insertRoot(impliedTagToken("html", "StartTag")) + self.parser.phase = self.parser.phases["beforeHead"] + + # other + def processEOF(self): + self.insertHtmlElement() + return True + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processSpaceCharacters(self, token): + pass + + def processCharacters(self, token): + self.insertHtmlElement() + return token + + def processStartTag(self, token): + if token["name"] == "html": + self.parser.firstStartTag = True + self.insertHtmlElement() + return token + + def processEndTag(self, token): + if token["name"] not in ("head", "body", "html", "br"): + self.parser.parseError("unexpected-end-tag-before-html", + {"name": token["name"]}) + else: + self.insertHtmlElement() + return token + + class BeforeHeadPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("head", self.startTagHead) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + (("head", "body", "html", "br"), self.endTagImplyHead) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + self.startTagHead(impliedTagToken("head", "StartTag")) + return True + + def processSpaceCharacters(self, token): + pass + + def processCharacters(self, token): + self.startTagHead(impliedTagToken("head", "StartTag")) + return token + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagHead(self, token): + self.tree.insertElement(token) + self.tree.headPointer = self.tree.openElements[-1] + self.parser.phase = self.parser.phases["inHead"] + + def startTagOther(self, token): + self.startTagHead(impliedTagToken("head", "StartTag")) + return token + + def endTagImplyHead(self, token): + self.startTagHead(impliedTagToken("head", "StartTag")) + return token + + def endTagOther(self, token): + self.parser.parseError("end-tag-after-implied-root", + {"name": token["name"]}) + + class InHeadPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("title", self.startTagTitle), + (("noframes", "style"), self.startTagNoFramesStyle), + ("noscript", self.startTagNoscript), + ("script", self.startTagScript), + (("base", "basefont", "bgsound", "command", "link"), + self.startTagBaseLinkCommand), + ("meta", self.startTagMeta), + ("head", self.startTagHead) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("head", self.endTagHead), + (("br", "html", "body"), self.endTagHtmlBodyBr) + ]) + self.endTagHandler.default = self.endTagOther + + # the real thing + def processEOF(self): + self.anythingElse() + return True + + def processCharacters(self, token): + self.anythingElse() + return token + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagHead(self, token): + self.parser.parseError("two-heads-are-not-better-than-one") + + def startTagBaseLinkCommand(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagMeta(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + attributes = token["data"] + if self.parser.tokenizer.stream.charEncoding[1] == "tentative": + if "charset" in attributes: + self.parser.tokenizer.stream.changeEncoding(attributes["charset"]) + elif ("content" in attributes and + "http-equiv" in attributes and + attributes["http-equiv"].lower() == "content-type"): + # Encoding it as UTF-8 here is a hack, as really we should pass + # the abstract Unicode string, and just use the + # ContentAttrParser on that, but using UTF-8 allows all chars + # to be encoded and as a ASCII-superset works. + data = _inputstream.EncodingBytes(attributes["content"].encode("utf-8")) + parser = _inputstream.ContentAttrParser(data) + codec = parser.parse() + self.parser.tokenizer.stream.changeEncoding(codec) + + def startTagTitle(self, token): + self.parser.parseRCDataRawtext(token, "RCDATA") + + def startTagNoFramesStyle(self, token): + # Need to decide whether to implement the scripting-disabled case + self.parser.parseRCDataRawtext(token, "RAWTEXT") + + def startTagNoscript(self, token): + if self.parser.scripting: + self.parser.parseRCDataRawtext(token, "RAWTEXT") + else: + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inHeadNoscript"] + + def startTagScript(self, token): + self.tree.insertElement(token) + self.parser.tokenizer.state = self.parser.tokenizer.scriptDataState + self.parser.originalPhase = self.parser.phase + self.parser.phase = self.parser.phases["text"] + + def startTagOther(self, token): + self.anythingElse() + return token + + def endTagHead(self, token): + node = self.parser.tree.openElements.pop() + assert node.name == "head", "Expected head got %s" % node.name + self.parser.phase = self.parser.phases["afterHead"] + + def endTagHtmlBodyBr(self, token): + self.anythingElse() + return token + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def anythingElse(self): + self.endTagHead(impliedTagToken("head")) + + class InHeadNoscriptPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("basefont", "bgsound", "link", "meta", "noframes", "style"), self.startTagBaseLinkCommand), + (("head", "noscript"), self.startTagHeadNoscript), + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("noscript", self.endTagNoscript), + ("br", self.endTagBr), + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + self.parser.parseError("eof-in-head-noscript") + self.anythingElse() + return True + + def processComment(self, token): + return self.parser.phases["inHead"].processComment(token) + + def processCharacters(self, token): + self.parser.parseError("char-in-head-noscript") + self.anythingElse() + return token + + def processSpaceCharacters(self, token): + return self.parser.phases["inHead"].processSpaceCharacters(token) + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagBaseLinkCommand(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagHeadNoscript(self, token): + self.parser.parseError("unexpected-start-tag", {"name": token["name"]}) + + def startTagOther(self, token): + self.parser.parseError("unexpected-inhead-noscript-tag", {"name": token["name"]}) + self.anythingElse() + return token + + def endTagNoscript(self, token): + node = self.parser.tree.openElements.pop() + assert node.name == "noscript", "Expected noscript got %s" % node.name + self.parser.phase = self.parser.phases["inHead"] + + def endTagBr(self, token): + self.parser.parseError("unexpected-inhead-noscript-tag", {"name": token["name"]}) + self.anythingElse() + return token + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def anythingElse(self): + # Caller must raise parse error first! + self.endTagNoscript(impliedTagToken("noscript")) + + class AfterHeadPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("body", self.startTagBody), + ("frameset", self.startTagFrameset), + (("base", "basefont", "bgsound", "link", "meta", "noframes", "script", + "style", "title"), + self.startTagFromHead), + ("head", self.startTagHead) + ]) + self.startTagHandler.default = self.startTagOther + self.endTagHandler = _utils.MethodDispatcher([(("body", "html", "br"), + self.endTagHtmlBodyBr)]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + self.anythingElse() + return True + + def processCharacters(self, token): + self.anythingElse() + return token + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagBody(self, token): + self.parser.framesetOK = False + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inBody"] + + def startTagFrameset(self, token): + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inFrameset"] + + def startTagFromHead(self, token): + self.parser.parseError("unexpected-start-tag-out-of-my-head", + {"name": token["name"]}) + self.tree.openElements.append(self.tree.headPointer) + self.parser.phases["inHead"].processStartTag(token) + for node in self.tree.openElements[::-1]: + if node.name == "head": + self.tree.openElements.remove(node) + break + + def startTagHead(self, token): + self.parser.parseError("unexpected-start-tag", {"name": token["name"]}) + + def startTagOther(self, token): + self.anythingElse() + return token + + def endTagHtmlBodyBr(self, token): + self.anythingElse() + return token + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def anythingElse(self): + self.tree.insertElement(impliedTagToken("body", "StartTag")) + self.parser.phase = self.parser.phases["inBody"] + self.parser.framesetOK = True + + class InBodyPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#parsing-main-inbody + # the really-really-really-very crazy mode + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + # Set this to the default handler + self.processSpaceCharacters = self.processSpaceCharactersNonPre + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("base", "basefont", "bgsound", "command", "link", "meta", + "script", "style", "title"), + self.startTagProcessInHead), + ("body", self.startTagBody), + ("frameset", self.startTagFrameset), + (("address", "article", "aside", "blockquote", "center", "details", + "dir", "div", "dl", "fieldset", "figcaption", "figure", + "footer", "header", "hgroup", "main", "menu", "nav", "ol", "p", + "section", "summary", "ul"), + self.startTagCloseP), + (headingElements, self.startTagHeading), + (("pre", "listing"), self.startTagPreListing), + ("form", self.startTagForm), + (("li", "dd", "dt"), self.startTagListItem), + ("plaintext", self.startTagPlaintext), + ("a", self.startTagA), + (("b", "big", "code", "em", "font", "i", "s", "small", "strike", + "strong", "tt", "u"), self.startTagFormatting), + ("nobr", self.startTagNobr), + ("button", self.startTagButton), + (("applet", "marquee", "object"), self.startTagAppletMarqueeObject), + ("xmp", self.startTagXmp), + ("table", self.startTagTable), + (("area", "br", "embed", "img", "keygen", "wbr"), + self.startTagVoidFormatting), + (("param", "source", "track"), self.startTagParamSource), + ("input", self.startTagInput), + ("hr", self.startTagHr), + ("image", self.startTagImage), + ("isindex", self.startTagIsIndex), + ("textarea", self.startTagTextarea), + ("iframe", self.startTagIFrame), + ("noscript", self.startTagNoscript), + (("noembed", "noframes"), self.startTagRawtext), + ("select", self.startTagSelect), + (("rp", "rt"), self.startTagRpRt), + (("option", "optgroup"), self.startTagOpt), + (("math"), self.startTagMath), + (("svg"), self.startTagSvg), + (("caption", "col", "colgroup", "frame", "head", + "tbody", "td", "tfoot", "th", "thead", + "tr"), self.startTagMisplaced) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("body", self.endTagBody), + ("html", self.endTagHtml), + (("address", "article", "aside", "blockquote", "button", "center", + "details", "dialog", "dir", "div", "dl", "fieldset", "figcaption", "figure", + "footer", "header", "hgroup", "listing", "main", "menu", "nav", "ol", "pre", + "section", "summary", "ul"), self.endTagBlock), + ("form", self.endTagForm), + ("p", self.endTagP), + (("dd", "dt", "li"), self.endTagListItem), + (headingElements, self.endTagHeading), + (("a", "b", "big", "code", "em", "font", "i", "nobr", "s", "small", + "strike", "strong", "tt", "u"), self.endTagFormatting), + (("applet", "marquee", "object"), self.endTagAppletMarqueeObject), + ("br", self.endTagBr), + ]) + self.endTagHandler.default = self.endTagOther + + def isMatchingFormattingElement(self, node1, node2): + return (node1.name == node2.name and + node1.namespace == node2.namespace and + node1.attributes == node2.attributes) + + # helper + def addFormattingElement(self, token): + self.tree.insertElement(token) + element = self.tree.openElements[-1] + + matchingElements = [] + for node in self.tree.activeFormattingElements[::-1]: + if node is Marker: + break + elif self.isMatchingFormattingElement(node, element): + matchingElements.append(node) + + assert len(matchingElements) <= 3 + if len(matchingElements) == 3: + self.tree.activeFormattingElements.remove(matchingElements[-1]) + self.tree.activeFormattingElements.append(element) + + # the real deal + def processEOF(self): + allowed_elements = frozenset(("dd", "dt", "li", "p", "tbody", "td", + "tfoot", "th", "thead", "tr", "body", + "html")) + for node in self.tree.openElements[::-1]: + if node.name not in allowed_elements: + self.parser.parseError("expected-closing-tag-but-got-eof") + break + # Stop parsing + + def processSpaceCharactersDropNewline(self, token): + # Sometimes (start of <pre>, <listing>, and <textarea> blocks) we + # want to drop leading newlines + data = token["data"] + self.processSpaceCharacters = self.processSpaceCharactersNonPre + if (data.startswith("\n") and + self.tree.openElements[-1].name in ("pre", "listing", "textarea") and + not self.tree.openElements[-1].hasContent()): + data = data[1:] + if data: + self.tree.reconstructActiveFormattingElements() + self.tree.insertText(data) + + def processCharacters(self, token): + if token["data"] == "\u0000": + # The tokenizer should always emit null on its own + return + self.tree.reconstructActiveFormattingElements() + self.tree.insertText(token["data"]) + # This must be bad for performance + if (self.parser.framesetOK and + any([char not in spaceCharacters + for char in token["data"]])): + self.parser.framesetOK = False + + def processSpaceCharactersNonPre(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertText(token["data"]) + + def startTagProcessInHead(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagBody(self, token): + self.parser.parseError("unexpected-start-tag", {"name": "body"}) + if (len(self.tree.openElements) == 1 or + self.tree.openElements[1].name != "body"): + assert self.parser.innerHTML + else: + self.parser.framesetOK = False + for attr, value in token["data"].items(): + if attr not in self.tree.openElements[1].attributes: + self.tree.openElements[1].attributes[attr] = value + + def startTagFrameset(self, token): + self.parser.parseError("unexpected-start-tag", {"name": "frameset"}) + if (len(self.tree.openElements) == 1 or self.tree.openElements[1].name != "body"): + assert self.parser.innerHTML + elif not self.parser.framesetOK: + pass + else: + if self.tree.openElements[1].parent: + self.tree.openElements[1].parent.removeChild(self.tree.openElements[1]) + while self.tree.openElements[-1].name != "html": + self.tree.openElements.pop() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inFrameset"] + + def startTagCloseP(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + + def startTagPreListing(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + self.parser.framesetOK = False + self.processSpaceCharacters = self.processSpaceCharactersDropNewline + + def startTagForm(self, token): + if self.tree.formPointer: + self.parser.parseError("unexpected-start-tag", {"name": "form"}) + else: + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + self.tree.formPointer = self.tree.openElements[-1] + + def startTagListItem(self, token): + self.parser.framesetOK = False + + stopNamesMap = {"li": ["li"], + "dt": ["dt", "dd"], + "dd": ["dt", "dd"]} + stopNames = stopNamesMap[token["name"]] + for node in reversed(self.tree.openElements): + if node.name in stopNames: + self.parser.phase.processEndTag( + impliedTagToken(node.name, "EndTag")) + break + if (node.nameTuple in specialElements and + node.name not in ("address", "div", "p")): + break + + if self.tree.elementInScope("p", variant="button"): + self.parser.phase.processEndTag( + impliedTagToken("p", "EndTag")) + + self.tree.insertElement(token) + + def startTagPlaintext(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + self.parser.tokenizer.state = self.parser.tokenizer.plaintextState + + def startTagHeading(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + if self.tree.openElements[-1].name in headingElements: + self.parser.parseError("unexpected-start-tag", {"name": token["name"]}) + self.tree.openElements.pop() + self.tree.insertElement(token) + + def startTagA(self, token): + afeAElement = self.tree.elementInActiveFormattingElements("a") + if afeAElement: + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "a", "endName": "a"}) + self.endTagFormatting(impliedTagToken("a")) + if afeAElement in self.tree.openElements: + self.tree.openElements.remove(afeAElement) + if afeAElement in self.tree.activeFormattingElements: + self.tree.activeFormattingElements.remove(afeAElement) + self.tree.reconstructActiveFormattingElements() + self.addFormattingElement(token) + + def startTagFormatting(self, token): + self.tree.reconstructActiveFormattingElements() + self.addFormattingElement(token) + + def startTagNobr(self, token): + self.tree.reconstructActiveFormattingElements() + if self.tree.elementInScope("nobr"): + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "nobr", "endName": "nobr"}) + self.processEndTag(impliedTagToken("nobr")) + # XXX Need tests that trigger the following + self.tree.reconstructActiveFormattingElements() + self.addFormattingElement(token) + + def startTagButton(self, token): + if self.tree.elementInScope("button"): + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "button", "endName": "button"}) + self.processEndTag(impliedTagToken("button")) + return token + else: + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.parser.framesetOK = False + + def startTagAppletMarqueeObject(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.tree.activeFormattingElements.append(Marker) + self.parser.framesetOK = False + + def startTagXmp(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.reconstructActiveFormattingElements() + self.parser.framesetOK = False + self.parser.parseRCDataRawtext(token, "RAWTEXT") + + def startTagTable(self, token): + if self.parser.compatMode != "quirks": + if self.tree.elementInScope("p", variant="button"): + self.processEndTag(impliedTagToken("p")) + self.tree.insertElement(token) + self.parser.framesetOK = False + self.parser.phase = self.parser.phases["inTable"] + + def startTagVoidFormatting(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + self.parser.framesetOK = False + + def startTagInput(self, token): + framesetOK = self.parser.framesetOK + self.startTagVoidFormatting(token) + if ("type" in token["data"] and + token["data"]["type"].translate(asciiUpper2Lower) == "hidden"): + # input type=hidden doesn't change framesetOK + self.parser.framesetOK = framesetOK + + def startTagParamSource(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagHr(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + self.parser.framesetOK = False + + def startTagImage(self, token): + # No really... + self.parser.parseError("unexpected-start-tag-treated-as", + {"originalName": "image", "newName": "img"}) + self.processStartTag(impliedTagToken("img", "StartTag", + attributes=token["data"], + selfClosing=token["selfClosing"])) + + def startTagIsIndex(self, token): + self.parser.parseError("deprecated-tag", {"name": "isindex"}) + if self.tree.formPointer: + return + form_attrs = {} + if "action" in token["data"]: + form_attrs["action"] = token["data"]["action"] + self.processStartTag(impliedTagToken("form", "StartTag", + attributes=form_attrs)) + self.processStartTag(impliedTagToken("hr", "StartTag")) + self.processStartTag(impliedTagToken("label", "StartTag")) + # XXX Localization ... + if "prompt" in token["data"]: + prompt = token["data"]["prompt"] + else: + prompt = "This is a searchable index. Enter search keywords: " + self.processCharacters( + {"type": tokenTypes["Characters"], "data": prompt}) + attributes = token["data"].copy() + if "action" in attributes: + del attributes["action"] + if "prompt" in attributes: + del attributes["prompt"] + attributes["name"] = "isindex" + self.processStartTag(impliedTagToken("input", "StartTag", + attributes=attributes, + selfClosing=token["selfClosing"])) + self.processEndTag(impliedTagToken("label")) + self.processStartTag(impliedTagToken("hr", "StartTag")) + self.processEndTag(impliedTagToken("form")) + + def startTagTextarea(self, token): + self.tree.insertElement(token) + self.parser.tokenizer.state = self.parser.tokenizer.rcdataState + self.processSpaceCharacters = self.processSpaceCharactersDropNewline + self.parser.framesetOK = False + + def startTagIFrame(self, token): + self.parser.framesetOK = False + self.startTagRawtext(token) + + def startTagNoscript(self, token): + if self.parser.scripting: + self.startTagRawtext(token) + else: + self.startTagOther(token) + + def startTagRawtext(self, token): + """iframe, noembed noframes, noscript(if scripting enabled)""" + self.parser.parseRCDataRawtext(token, "RAWTEXT") + + def startTagOpt(self, token): + if self.tree.openElements[-1].name == "option": + self.parser.phase.processEndTag(impliedTagToken("option")) + self.tree.reconstructActiveFormattingElements() + self.parser.tree.insertElement(token) + + def startTagSelect(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.parser.framesetOK = False + if self.parser.phase in (self.parser.phases["inTable"], + self.parser.phases["inCaption"], + self.parser.phases["inColumnGroup"], + self.parser.phases["inTableBody"], + self.parser.phases["inRow"], + self.parser.phases["inCell"]): + self.parser.phase = self.parser.phases["inSelectInTable"] + else: + self.parser.phase = self.parser.phases["inSelect"] + + def startTagRpRt(self, token): + if self.tree.elementInScope("ruby"): + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != "ruby": + self.parser.parseError() + self.tree.insertElement(token) + + def startTagMath(self, token): + self.tree.reconstructActiveFormattingElements() + self.parser.adjustMathMLAttributes(token) + self.parser.adjustForeignAttributes(token) + token["namespace"] = namespaces["mathml"] + self.tree.insertElement(token) + # Need to get the parse error right for the case where the token + # has a namespace not equal to the xmlns attribute + if token["selfClosing"]: + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagSvg(self, token): + self.tree.reconstructActiveFormattingElements() + self.parser.adjustSVGAttributes(token) + self.parser.adjustForeignAttributes(token) + token["namespace"] = namespaces["svg"] + self.tree.insertElement(token) + # Need to get the parse error right for the case where the token + # has a namespace not equal to the xmlns attribute + if token["selfClosing"]: + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagMisplaced(self, token): + """ Elements that should be children of other elements that have a + different insertion mode; here they are ignored + "caption", "col", "colgroup", "frame", "frameset", "head", + "option", "optgroup", "tbody", "td", "tfoot", "th", "thead", + "tr", "noscript" + """ + self.parser.parseError("unexpected-start-tag-ignored", {"name": token["name"]}) + + def startTagOther(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + + def endTagP(self, token): + if not self.tree.elementInScope("p", variant="button"): + self.startTagCloseP(impliedTagToken("p", "StartTag")) + self.parser.parseError("unexpected-end-tag", {"name": "p"}) + self.endTagP(impliedTagToken("p", "EndTag")) + else: + self.tree.generateImpliedEndTags("p") + if self.tree.openElements[-1].name != "p": + self.parser.parseError("unexpected-end-tag", {"name": "p"}) + node = self.tree.openElements.pop() + while node.name != "p": + node = self.tree.openElements.pop() + + def endTagBody(self, token): + if not self.tree.elementInScope("body"): + self.parser.parseError() + return + elif self.tree.openElements[-1].name != "body": + for node in self.tree.openElements[2:]: + if node.name not in frozenset(("dd", "dt", "li", "optgroup", + "option", "p", "rp", "rt", + "tbody", "td", "tfoot", + "th", "thead", "tr", "body", + "html")): + # Not sure this is the correct name for the parse error + self.parser.parseError( + "expected-one-end-tag-but-got-another", + {"gotName": "body", "expectedName": node.name}) + break + self.parser.phase = self.parser.phases["afterBody"] + + def endTagHtml(self, token): + # We repeat the test for the body end tag token being ignored here + if self.tree.elementInScope("body"): + self.endTagBody(impliedTagToken("body")) + return token + + def endTagBlock(self, token): + # Put us back in the right whitespace handling mode + if token["name"] == "pre": + self.processSpaceCharacters = self.processSpaceCharactersNonPre + inScope = self.tree.elementInScope(token["name"]) + if inScope: + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("end-tag-too-early", {"name": token["name"]}) + if inScope: + node = self.tree.openElements.pop() + while node.name != token["name"]: + node = self.tree.openElements.pop() + + def endTagForm(self, token): + node = self.tree.formPointer + self.tree.formPointer = None + if node is None or not self.tree.elementInScope(node): + self.parser.parseError("unexpected-end-tag", + {"name": "form"}) + else: + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1] != node: + self.parser.parseError("end-tag-too-early-ignored", + {"name": "form"}) + self.tree.openElements.remove(node) + + def endTagListItem(self, token): + if token["name"] == "li": + variant = "list" + else: + variant = None + if not self.tree.elementInScope(token["name"], variant=variant): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + else: + self.tree.generateImpliedEndTags(exclude=token["name"]) + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError( + "end-tag-too-early", + {"name": token["name"]}) + node = self.tree.openElements.pop() + while node.name != token["name"]: + node = self.tree.openElements.pop() + + def endTagHeading(self, token): + for item in headingElements: + if self.tree.elementInScope(item): + self.tree.generateImpliedEndTags() + break + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("end-tag-too-early", {"name": token["name"]}) + + for item in headingElements: + if self.tree.elementInScope(item): + item = self.tree.openElements.pop() + while item.name not in headingElements: + item = self.tree.openElements.pop() + break + + def endTagFormatting(self, token): + """The much-feared adoption agency algorithm""" + # http://svn.whatwg.org/webapps/complete.html#adoptionAgency revision 7867 + # XXX Better parseError messages appreciated. + + # Step 1 + outerLoopCounter = 0 + + # Step 2 + while outerLoopCounter < 8: + + # Step 3 + outerLoopCounter += 1 + + # Step 4: + + # Let the formatting element be the last element in + # the list of active formatting elements that: + # - is between the end of the list and the last scope + # marker in the list, if any, or the start of the list + # otherwise, and + # - has the same tag name as the token. + formattingElement = self.tree.elementInActiveFormattingElements( + token["name"]) + if (not formattingElement or + (formattingElement in self.tree.openElements and + not self.tree.elementInScope(formattingElement.name))): + # If there is no such node, then abort these steps + # and instead act as described in the "any other + # end tag" entry below. + self.endTagOther(token) + return + + # Otherwise, if there is such a node, but that node is + # not in the stack of open elements, then this is a + # parse error; remove the element from the list, and + # abort these steps. + elif formattingElement not in self.tree.openElements: + self.parser.parseError("adoption-agency-1.2", {"name": token["name"]}) + self.tree.activeFormattingElements.remove(formattingElement) + return + + # Otherwise, if there is such a node, and that node is + # also in the stack of open elements, but the element + # is not in scope, then this is a parse error; ignore + # the token, and abort these steps. + elif not self.tree.elementInScope(formattingElement.name): + self.parser.parseError("adoption-agency-4.4", {"name": token["name"]}) + return + + # Otherwise, there is a formatting element and that + # element is in the stack and is in scope. If the + # element is not the current node, this is a parse + # error. In any case, proceed with the algorithm as + # written in the following steps. + else: + if formattingElement != self.tree.openElements[-1]: + self.parser.parseError("adoption-agency-1.3", {"name": token["name"]}) + + # Step 5: + + # Let the furthest block be the topmost node in the + # stack of open elements that is lower in the stack + # than the formatting element, and is an element in + # the special category. There might not be one. + afeIndex = self.tree.openElements.index(formattingElement) + furthestBlock = None + for element in self.tree.openElements[afeIndex:]: + if element.nameTuple in specialElements: + furthestBlock = element + break + + # Step 6: + + # If there is no furthest block, then the UA must + # first pop all the nodes from the bottom of the stack + # of open elements, from the current node up to and + # including the formatting element, then remove the + # formatting element from the list of active + # formatting elements, and finally abort these steps. + if furthestBlock is None: + element = self.tree.openElements.pop() + while element != formattingElement: + element = self.tree.openElements.pop() + self.tree.activeFormattingElements.remove(element) + return + + # Step 7 + commonAncestor = self.tree.openElements[afeIndex - 1] + + # Step 8: + # The bookmark is supposed to help us identify where to reinsert + # nodes in step 15. We have to ensure that we reinsert nodes after + # the node before the active formatting element. Note the bookmark + # can move in step 9.7 + bookmark = self.tree.activeFormattingElements.index(formattingElement) + + # Step 9 + lastNode = node = furthestBlock + innerLoopCounter = 0 + + index = self.tree.openElements.index(node) + while innerLoopCounter < 3: + innerLoopCounter += 1 + # Node is element before node in open elements + index -= 1 + node = self.tree.openElements[index] + if node not in self.tree.activeFormattingElements: + self.tree.openElements.remove(node) + continue + # Step 9.6 + if node == formattingElement: + break + # Step 9.7 + if lastNode == furthestBlock: + bookmark = self.tree.activeFormattingElements.index(node) + 1 + # Step 9.8 + clone = node.cloneNode() + # Replace node with clone + self.tree.activeFormattingElements[ + self.tree.activeFormattingElements.index(node)] = clone + self.tree.openElements[ + self.tree.openElements.index(node)] = clone + node = clone + # Step 9.9 + # Remove lastNode from its parents, if any + if lastNode.parent: + lastNode.parent.removeChild(lastNode) + node.appendChild(lastNode) + # Step 9.10 + lastNode = node + + # Step 10 + # Foster parent lastNode if commonAncestor is a + # table, tbody, tfoot, thead, or tr we need to foster + # parent the lastNode + if lastNode.parent: + lastNode.parent.removeChild(lastNode) + + if commonAncestor.name in frozenset(("table", "tbody", "tfoot", "thead", "tr")): + parent, insertBefore = self.tree.getTableMisnestedNodePosition() + parent.insertBefore(lastNode, insertBefore) + else: + commonAncestor.appendChild(lastNode) + + # Step 11 + clone = formattingElement.cloneNode() + + # Step 12 + furthestBlock.reparentChildren(clone) + + # Step 13 + furthestBlock.appendChild(clone) + + # Step 14 + self.tree.activeFormattingElements.remove(formattingElement) + self.tree.activeFormattingElements.insert(bookmark, clone) + + # Step 15 + self.tree.openElements.remove(formattingElement) + self.tree.openElements.insert( + self.tree.openElements.index(furthestBlock) + 1, clone) + + def endTagAppletMarqueeObject(self, token): + if self.tree.elementInScope(token["name"]): + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("end-tag-too-early", {"name": token["name"]}) + + if self.tree.elementInScope(token["name"]): + element = self.tree.openElements.pop() + while element.name != token["name"]: + element = self.tree.openElements.pop() + self.tree.clearActiveFormattingElements() + + def endTagBr(self, token): + self.parser.parseError("unexpected-end-tag-treated-as", + {"originalName": "br", "newName": "br element"}) + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(impliedTagToken("br", "StartTag")) + self.tree.openElements.pop() + + def endTagOther(self, token): + for node in self.tree.openElements[::-1]: + if node.name == token["name"]: + self.tree.generateImpliedEndTags(exclude=token["name"]) + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + while self.tree.openElements.pop() != node: + pass + break + else: + if node.nameTuple in specialElements: + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + break + + class TextPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = _utils.MethodDispatcher([]) + self.startTagHandler.default = self.startTagOther + self.endTagHandler = _utils.MethodDispatcher([ + ("script", self.endTagScript)]) + self.endTagHandler.default = self.endTagOther + + def processCharacters(self, token): + self.tree.insertText(token["data"]) + + def processEOF(self): + self.parser.parseError("expected-named-closing-tag-but-got-eof", + {"name": self.tree.openElements[-1].name}) + self.tree.openElements.pop() + self.parser.phase = self.parser.originalPhase + return True + + def startTagOther(self, token): + assert False, "Tried to process start tag %s in RCDATA/RAWTEXT mode" % token['name'] + + def endTagScript(self, token): + node = self.tree.openElements.pop() + assert node.name == "script" + self.parser.phase = self.parser.originalPhase + # The rest of this method is all stuff that only happens if + # document.write works + + def endTagOther(self, token): + self.tree.openElements.pop() + self.parser.phase = self.parser.originalPhase + + class InTablePhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-table + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("caption", self.startTagCaption), + ("colgroup", self.startTagColgroup), + ("col", self.startTagCol), + (("tbody", "tfoot", "thead"), self.startTagRowGroup), + (("td", "th", "tr"), self.startTagImplyTbody), + ("table", self.startTagTable), + (("style", "script"), self.startTagStyleScript), + ("input", self.startTagInput), + ("form", self.startTagForm) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("table", self.endTagTable), + (("body", "caption", "col", "colgroup", "html", "tbody", "td", + "tfoot", "th", "thead", "tr"), self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + # helper methods + def clearStackToTableContext(self): + # "clear the stack back to a table context" + while self.tree.openElements[-1].name not in ("table", "html"): + # self.parser.parseError("unexpected-implied-end-tag-in-table", + # {"name": self.tree.openElements[-1].name}) + self.tree.openElements.pop() + # When the current node is <html> it's an innerHTML case + + # processing methods + def processEOF(self): + if self.tree.openElements[-1].name != "html": + self.parser.parseError("eof-in-table") + else: + assert self.parser.innerHTML + # Stop parsing + + def processSpaceCharacters(self, token): + originalPhase = self.parser.phase + self.parser.phase = self.parser.phases["inTableText"] + self.parser.phase.originalPhase = originalPhase + self.parser.phase.processSpaceCharacters(token) + + def processCharacters(self, token): + originalPhase = self.parser.phase + self.parser.phase = self.parser.phases["inTableText"] + self.parser.phase.originalPhase = originalPhase + self.parser.phase.processCharacters(token) + + def insertText(self, token): + # If we get here there must be at least one non-whitespace character + # Do the table magic! + self.tree.insertFromTable = True + self.parser.phases["inBody"].processCharacters(token) + self.tree.insertFromTable = False + + def startTagCaption(self, token): + self.clearStackToTableContext() + self.tree.activeFormattingElements.append(Marker) + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inCaption"] + + def startTagColgroup(self, token): + self.clearStackToTableContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inColumnGroup"] + + def startTagCol(self, token): + self.startTagColgroup(impliedTagToken("colgroup", "StartTag")) + return token + + def startTagRowGroup(self, token): + self.clearStackToTableContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inTableBody"] + + def startTagImplyTbody(self, token): + self.startTagRowGroup(impliedTagToken("tbody", "StartTag")) + return token + + def startTagTable(self, token): + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "table", "endName": "table"}) + self.parser.phase.processEndTag(impliedTagToken("table")) + if not self.parser.innerHTML: + return token + + def startTagStyleScript(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagInput(self, token): + if ("type" in token["data"] and + token["data"]["type"].translate(asciiUpper2Lower) == "hidden"): + self.parser.parseError("unexpected-hidden-input-in-table") + self.tree.insertElement(token) + # XXX associate with form + self.tree.openElements.pop() + else: + self.startTagOther(token) + + def startTagForm(self, token): + self.parser.parseError("unexpected-form-in-table") + if self.tree.formPointer is None: + self.tree.insertElement(token) + self.tree.formPointer = self.tree.openElements[-1] + self.tree.openElements.pop() + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-implies-table-voodoo", {"name": token["name"]}) + # Do the table magic! + self.tree.insertFromTable = True + self.parser.phases["inBody"].processStartTag(token) + self.tree.insertFromTable = False + + def endTagTable(self, token): + if self.tree.elementInScope("table", variant="table"): + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != "table": + self.parser.parseError("end-tag-too-early-named", + {"gotName": "table", + "expectedName": self.tree.openElements[-1].name}) + while self.tree.openElements[-1].name != "table": + self.tree.openElements.pop() + self.tree.openElements.pop() + self.parser.resetInsertionMode() + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-implies-table-voodoo", {"name": token["name"]}) + # Do the table magic! + self.tree.insertFromTable = True + self.parser.phases["inBody"].processEndTag(token) + self.tree.insertFromTable = False + + class InTableTextPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.originalPhase = None + self.characterTokens = [] + + def flushCharacters(self): + data = "".join([item["data"] for item in self.characterTokens]) + if any([item not in spaceCharacters for item in data]): + token = {"type": tokenTypes["Characters"], "data": data} + self.parser.phases["inTable"].insertText(token) + elif data: + self.tree.insertText(data) + self.characterTokens = [] + + def processComment(self, token): + self.flushCharacters() + self.parser.phase = self.originalPhase + return token + + def processEOF(self): + self.flushCharacters() + self.parser.phase = self.originalPhase + return True + + def processCharacters(self, token): + if token["data"] == "\u0000": + return + self.characterTokens.append(token) + + def processSpaceCharacters(self, token): + # pretty sure we should never reach here + self.characterTokens.append(token) + # assert False + + def processStartTag(self, token): + self.flushCharacters() + self.parser.phase = self.originalPhase + return token + + def processEndTag(self, token): + self.flushCharacters() + self.parser.phase = self.originalPhase + return token + + class InCaptionPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-caption + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("caption", "col", "colgroup", "tbody", "td", "tfoot", "th", + "thead", "tr"), self.startTagTableElement) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("caption", self.endTagCaption), + ("table", self.endTagTable), + (("body", "col", "colgroup", "html", "tbody", "td", "tfoot", "th", + "thead", "tr"), self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + def ignoreEndTagCaption(self): + return not self.tree.elementInScope("caption", variant="table") + + def processEOF(self): + self.parser.phases["inBody"].processEOF() + + def processCharacters(self, token): + return self.parser.phases["inBody"].processCharacters(token) + + def startTagTableElement(self, token): + self.parser.parseError() + # XXX Have to duplicate logic here to find out if the tag is ignored + ignoreEndTag = self.ignoreEndTagCaption() + self.parser.phase.processEndTag(impliedTagToken("caption")) + if not ignoreEndTag: + return token + + def startTagOther(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def endTagCaption(self, token): + if not self.ignoreEndTagCaption(): + # AT this code is quite similar to endTagTable in "InTable" + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != "caption": + self.parser.parseError("expected-one-end-tag-but-got-another", + {"gotName": "caption", + "expectedName": self.tree.openElements[-1].name}) + while self.tree.openElements[-1].name != "caption": + self.tree.openElements.pop() + self.tree.openElements.pop() + self.tree.clearActiveFormattingElements() + self.parser.phase = self.parser.phases["inTable"] + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagTable(self, token): + self.parser.parseError() + ignoreEndTag = self.ignoreEndTagCaption() + self.parser.phase.processEndTag(impliedTagToken("caption")) + if not ignoreEndTag: + return token + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagOther(self, token): + return self.parser.phases["inBody"].processEndTag(token) + + class InColumnGroupPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-column + + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("col", self.startTagCol) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("colgroup", self.endTagColgroup), + ("col", self.endTagCol) + ]) + self.endTagHandler.default = self.endTagOther + + def ignoreEndTagColgroup(self): + return self.tree.openElements[-1].name == "html" + + def processEOF(self): + if self.tree.openElements[-1].name == "html": + assert self.parser.innerHTML + return + else: + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup(impliedTagToken("colgroup")) + if not ignoreEndTag: + return True + + def processCharacters(self, token): + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup(impliedTagToken("colgroup")) + if not ignoreEndTag: + return token + + def startTagCol(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagOther(self, token): + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup(impliedTagToken("colgroup")) + if not ignoreEndTag: + return token + + def endTagColgroup(self, token): + if self.ignoreEndTagColgroup(): + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + else: + self.tree.openElements.pop() + self.parser.phase = self.parser.phases["inTable"] + + def endTagCol(self, token): + self.parser.parseError("no-end-tag", {"name": "col"}) + + def endTagOther(self, token): + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup(impliedTagToken("colgroup")) + if not ignoreEndTag: + return token + + class InTableBodyPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-table0 + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("tr", self.startTagTr), + (("td", "th"), self.startTagTableCell), + (("caption", "col", "colgroup", "tbody", "tfoot", "thead"), + self.startTagTableOther) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + (("tbody", "tfoot", "thead"), self.endTagTableRowGroup), + ("table", self.endTagTable), + (("body", "caption", "col", "colgroup", "html", "td", "th", + "tr"), self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + # helper methods + def clearStackToTableBodyContext(self): + while self.tree.openElements[-1].name not in ("tbody", "tfoot", + "thead", "html"): + # self.parser.parseError("unexpected-implied-end-tag-in-table", + # {"name": self.tree.openElements[-1].name}) + self.tree.openElements.pop() + if self.tree.openElements[-1].name == "html": + assert self.parser.innerHTML + + # the rest + def processEOF(self): + self.parser.phases["inTable"].processEOF() + + def processSpaceCharacters(self, token): + return self.parser.phases["inTable"].processSpaceCharacters(token) + + def processCharacters(self, token): + return self.parser.phases["inTable"].processCharacters(token) + + def startTagTr(self, token): + self.clearStackToTableBodyContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inRow"] + + def startTagTableCell(self, token): + self.parser.parseError("unexpected-cell-in-table-body", + {"name": token["name"]}) + self.startTagTr(impliedTagToken("tr", "StartTag")) + return token + + def startTagTableOther(self, token): + # XXX AT Any ideas on how to share this with endTagTable? + if (self.tree.elementInScope("tbody", variant="table") or + self.tree.elementInScope("thead", variant="table") or + self.tree.elementInScope("tfoot", variant="table")): + self.clearStackToTableBodyContext() + self.endTagTableRowGroup( + impliedTagToken(self.tree.openElements[-1].name)) + return token + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def startTagOther(self, token): + return self.parser.phases["inTable"].processStartTag(token) + + def endTagTableRowGroup(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.clearStackToTableBodyContext() + self.tree.openElements.pop() + self.parser.phase = self.parser.phases["inTable"] + else: + self.parser.parseError("unexpected-end-tag-in-table-body", + {"name": token["name"]}) + + def endTagTable(self, token): + if (self.tree.elementInScope("tbody", variant="table") or + self.tree.elementInScope("thead", variant="table") or + self.tree.elementInScope("tfoot", variant="table")): + self.clearStackToTableBodyContext() + self.endTagTableRowGroup( + impliedTagToken(self.tree.openElements[-1].name)) + return token + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag-in-table-body", + {"name": token["name"]}) + + def endTagOther(self, token): + return self.parser.phases["inTable"].processEndTag(token) + + class InRowPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-row + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("td", "th"), self.startTagTableCell), + (("caption", "col", "colgroup", "tbody", "tfoot", "thead", + "tr"), self.startTagTableOther) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("tr", self.endTagTr), + ("table", self.endTagTable), + (("tbody", "tfoot", "thead"), self.endTagTableRowGroup), + (("body", "caption", "col", "colgroup", "html", "td", "th"), + self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + # helper methods (XXX unify this with other table helper methods) + def clearStackToTableRowContext(self): + while self.tree.openElements[-1].name not in ("tr", "html"): + self.parser.parseError("unexpected-implied-end-tag-in-table-row", + {"name": self.tree.openElements[-1].name}) + self.tree.openElements.pop() + + def ignoreEndTagTr(self): + return not self.tree.elementInScope("tr", variant="table") + + # the rest + def processEOF(self): + self.parser.phases["inTable"].processEOF() + + def processSpaceCharacters(self, token): + return self.parser.phases["inTable"].processSpaceCharacters(token) + + def processCharacters(self, token): + return self.parser.phases["inTable"].processCharacters(token) + + def startTagTableCell(self, token): + self.clearStackToTableRowContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inCell"] + self.tree.activeFormattingElements.append(Marker) + + def startTagTableOther(self, token): + ignoreEndTag = self.ignoreEndTagTr() + self.endTagTr(impliedTagToken("tr")) + # XXX how are we sure it's always ignored in the innerHTML case? + if not ignoreEndTag: + return token + + def startTagOther(self, token): + return self.parser.phases["inTable"].processStartTag(token) + + def endTagTr(self, token): + if not self.ignoreEndTagTr(): + self.clearStackToTableRowContext() + self.tree.openElements.pop() + self.parser.phase = self.parser.phases["inTableBody"] + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagTable(self, token): + ignoreEndTag = self.ignoreEndTagTr() + self.endTagTr(impliedTagToken("tr")) + # Reprocess the current tag if the tr end tag was not ignored + # XXX how are we sure it's always ignored in the innerHTML case? + if not ignoreEndTag: + return token + + def endTagTableRowGroup(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.endTagTr(impliedTagToken("tr")) + return token + else: + self.parser.parseError() + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag-in-table-row", + {"name": token["name"]}) + + def endTagOther(self, token): + return self.parser.phases["inTable"].processEndTag(token) + + class InCellPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-cell + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("caption", "col", "colgroup", "tbody", "td", "tfoot", "th", + "thead", "tr"), self.startTagTableOther) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + (("td", "th"), self.endTagTableCell), + (("body", "caption", "col", "colgroup", "html"), self.endTagIgnore), + (("table", "tbody", "tfoot", "thead", "tr"), self.endTagImply) + ]) + self.endTagHandler.default = self.endTagOther + + # helper + def closeCell(self): + if self.tree.elementInScope("td", variant="table"): + self.endTagTableCell(impliedTagToken("td")) + elif self.tree.elementInScope("th", variant="table"): + self.endTagTableCell(impliedTagToken("th")) + + # the rest + def processEOF(self): + self.parser.phases["inBody"].processEOF() + + def processCharacters(self, token): + return self.parser.phases["inBody"].processCharacters(token) + + def startTagTableOther(self, token): + if (self.tree.elementInScope("td", variant="table") or + self.tree.elementInScope("th", variant="table")): + self.closeCell() + return token + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def startTagOther(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def endTagTableCell(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.tree.generateImpliedEndTags(token["name"]) + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("unexpected-cell-end-tag", + {"name": token["name"]}) + while True: + node = self.tree.openElements.pop() + if node.name == token["name"]: + break + else: + self.tree.openElements.pop() + self.tree.clearActiveFormattingElements() + self.parser.phase = self.parser.phases["inRow"] + else: + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagImply(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.closeCell() + return token + else: + # sometimes innerHTML case + self.parser.parseError() + + def endTagOther(self, token): + return self.parser.phases["inBody"].processEndTag(token) + + class InSelectPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("option", self.startTagOption), + ("optgroup", self.startTagOptgroup), + ("select", self.startTagSelect), + (("input", "keygen", "textarea"), self.startTagInput), + ("script", self.startTagScript) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("option", self.endTagOption), + ("optgroup", self.endTagOptgroup), + ("select", self.endTagSelect) + ]) + self.endTagHandler.default = self.endTagOther + + # http://www.whatwg.org/specs/web-apps/current-work/#in-select + def processEOF(self): + if self.tree.openElements[-1].name != "html": + self.parser.parseError("eof-in-select") + else: + assert self.parser.innerHTML + + def processCharacters(self, token): + if token["data"] == "\u0000": + return + self.tree.insertText(token["data"]) + + def startTagOption(self, token): + # We need to imply </option> if <option> is the current node. + if self.tree.openElements[-1].name == "option": + self.tree.openElements.pop() + self.tree.insertElement(token) + + def startTagOptgroup(self, token): + if self.tree.openElements[-1].name == "option": + self.tree.openElements.pop() + if self.tree.openElements[-1].name == "optgroup": + self.tree.openElements.pop() + self.tree.insertElement(token) + + def startTagSelect(self, token): + self.parser.parseError("unexpected-select-in-select") + self.endTagSelect(impliedTagToken("select")) + + def startTagInput(self, token): + self.parser.parseError("unexpected-input-in-select") + if self.tree.elementInScope("select", variant="select"): + self.endTagSelect(impliedTagToken("select")) + return token + else: + assert self.parser.innerHTML + + def startTagScript(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-in-select", + {"name": token["name"]}) + + def endTagOption(self, token): + if self.tree.openElements[-1].name == "option": + self.tree.openElements.pop() + else: + self.parser.parseError("unexpected-end-tag-in-select", + {"name": "option"}) + + def endTagOptgroup(self, token): + # </optgroup> implicitly closes <option> + if (self.tree.openElements[-1].name == "option" and + self.tree.openElements[-2].name == "optgroup"): + self.tree.openElements.pop() + # It also closes </optgroup> + if self.tree.openElements[-1].name == "optgroup": + self.tree.openElements.pop() + # But nothing else + else: + self.parser.parseError("unexpected-end-tag-in-select", + {"name": "optgroup"}) + + def endTagSelect(self, token): + if self.tree.elementInScope("select", variant="select"): + node = self.tree.openElements.pop() + while node.name != "select": + node = self.tree.openElements.pop() + self.parser.resetInsertionMode() + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-in-select", + {"name": token["name"]}) + + class InSelectInTablePhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + (("caption", "table", "tbody", "tfoot", "thead", "tr", "td", "th"), + self.startTagTable) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + (("caption", "table", "tbody", "tfoot", "thead", "tr", "td", "th"), + self.endTagTable) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + self.parser.phases["inSelect"].processEOF() + + def processCharacters(self, token): + return self.parser.phases["inSelect"].processCharacters(token) + + def startTagTable(self, token): + self.parser.parseError("unexpected-table-element-start-tag-in-select-in-table", {"name": token["name"]}) + self.endTagOther(impliedTagToken("select")) + return token + + def startTagOther(self, token): + return self.parser.phases["inSelect"].processStartTag(token) + + def endTagTable(self, token): + self.parser.parseError("unexpected-table-element-end-tag-in-select-in-table", {"name": token["name"]}) + if self.tree.elementInScope(token["name"], variant="table"): + self.endTagOther(impliedTagToken("select")) + return token + + def endTagOther(self, token): + return self.parser.phases["inSelect"].processEndTag(token) + + class InForeignContentPhase(Phase): + breakoutElements = frozenset(["b", "big", "blockquote", "body", "br", + "center", "code", "dd", "div", "dl", "dt", + "em", "embed", "h1", "h2", "h3", + "h4", "h5", "h6", "head", "hr", "i", "img", + "li", "listing", "menu", "meta", "nobr", + "ol", "p", "pre", "ruby", "s", "small", + "span", "strong", "strike", "sub", "sup", + "table", "tt", "u", "ul", "var"]) + + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + def adjustSVGTagNames(self, token): + replacements = {"altglyph": "altGlyph", + "altglyphdef": "altGlyphDef", + "altglyphitem": "altGlyphItem", + "animatecolor": "animateColor", + "animatemotion": "animateMotion", + "animatetransform": "animateTransform", + "clippath": "clipPath", + "feblend": "feBlend", + "fecolormatrix": "feColorMatrix", + "fecomponenttransfer": "feComponentTransfer", + "fecomposite": "feComposite", + "feconvolvematrix": "feConvolveMatrix", + "fediffuselighting": "feDiffuseLighting", + "fedisplacementmap": "feDisplacementMap", + "fedistantlight": "feDistantLight", + "feflood": "feFlood", + "fefunca": "feFuncA", + "fefuncb": "feFuncB", + "fefuncg": "feFuncG", + "fefuncr": "feFuncR", + "fegaussianblur": "feGaussianBlur", + "feimage": "feImage", + "femerge": "feMerge", + "femergenode": "feMergeNode", + "femorphology": "feMorphology", + "feoffset": "feOffset", + "fepointlight": "fePointLight", + "fespecularlighting": "feSpecularLighting", + "fespotlight": "feSpotLight", + "fetile": "feTile", + "feturbulence": "feTurbulence", + "foreignobject": "foreignObject", + "glyphref": "glyphRef", + "lineargradient": "linearGradient", + "radialgradient": "radialGradient", + "textpath": "textPath"} + + if token["name"] in replacements: + token["name"] = replacements[token["name"]] + + def processCharacters(self, token): + if token["data"] == "\u0000": + token["data"] = "\uFFFD" + elif (self.parser.framesetOK and + any(char not in spaceCharacters for char in token["data"])): + self.parser.framesetOK = False + Phase.processCharacters(self, token) + + def processStartTag(self, token): + currentNode = self.tree.openElements[-1] + if (token["name"] in self.breakoutElements or + (token["name"] == "font" and + set(token["data"].keys()) & set(["color", "face", "size"]))): + self.parser.parseError("unexpected-html-element-in-foreign-content", + {"name": token["name"]}) + while (self.tree.openElements[-1].namespace != + self.tree.defaultNamespace and + not self.parser.isHTMLIntegrationPoint(self.tree.openElements[-1]) and + not self.parser.isMathMLTextIntegrationPoint(self.tree.openElements[-1])): + self.tree.openElements.pop() + return token + + else: + if currentNode.namespace == namespaces["mathml"]: + self.parser.adjustMathMLAttributes(token) + elif currentNode.namespace == namespaces["svg"]: + self.adjustSVGTagNames(token) + self.parser.adjustSVGAttributes(token) + self.parser.adjustForeignAttributes(token) + token["namespace"] = currentNode.namespace + self.tree.insertElement(token) + if token["selfClosing"]: + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def processEndTag(self, token): + nodeIndex = len(self.tree.openElements) - 1 + node = self.tree.openElements[-1] + if node.name.translate(asciiUpper2Lower) != token["name"]: + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + while True: + if node.name.translate(asciiUpper2Lower) == token["name"]: + # XXX this isn't in the spec but it seems necessary + if self.parser.phase == self.parser.phases["inTableText"]: + self.parser.phase.flushCharacters() + self.parser.phase = self.parser.phase.originalPhase + while self.tree.openElements.pop() != node: + assert self.tree.openElements + new_token = None + break + nodeIndex -= 1 + + node = self.tree.openElements[nodeIndex] + if node.namespace != self.tree.defaultNamespace: + continue + else: + new_token = self.parser.phase.processEndTag(token) + break + return new_token + + class AfterBodyPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([("html", self.endTagHtml)]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + # Stop parsing + pass + + def processComment(self, token): + # This is needed because data is to be appended to the <html> element + # here and not to whatever is currently open. + self.tree.insertComment(token, self.tree.openElements[0]) + + def processCharacters(self, token): + self.parser.parseError("unexpected-char-after-body") + self.parser.phase = self.parser.phases["inBody"] + return token + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-after-body", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + return token + + def endTagHtml(self, name): + if self.parser.innerHTML: + self.parser.parseError("unexpected-end-tag-after-body-innerhtml") + else: + self.parser.phase = self.parser.phases["afterAfterBody"] + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-after-body", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + return token + + class InFramesetPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-frameset + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("frameset", self.startTagFrameset), + ("frame", self.startTagFrame), + ("noframes", self.startTagNoframes) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("frameset", self.endTagFrameset) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + if self.tree.openElements[-1].name != "html": + self.parser.parseError("eof-in-frameset") + else: + assert self.parser.innerHTML + + def processCharacters(self, token): + self.parser.parseError("unexpected-char-in-frameset") + + def startTagFrameset(self, token): + self.tree.insertElement(token) + + def startTagFrame(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + + def startTagNoframes(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-in-frameset", + {"name": token["name"]}) + + def endTagFrameset(self, token): + if self.tree.openElements[-1].name == "html": + # innerHTML case + self.parser.parseError("unexpected-frameset-in-frameset-innerhtml") + else: + self.tree.openElements.pop() + if (not self.parser.innerHTML and + self.tree.openElements[-1].name != "frameset"): + # If we're not in innerHTML mode and the current node is not a + # "frameset" element (anymore) then switch. + self.parser.phase = self.parser.phases["afterFrameset"] + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-in-frameset", + {"name": token["name"]}) + + class AfterFramesetPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#after3 + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("noframes", self.startTagNoframes) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("html", self.endTagHtml) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + # Stop parsing + pass + + def processCharacters(self, token): + self.parser.parseError("unexpected-char-after-frameset") + + def startTagNoframes(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-after-frameset", + {"name": token["name"]}) + + def endTagHtml(self, token): + self.parser.phase = self.parser.phases["afterAfterFrameset"] + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-after-frameset", + {"name": token["name"]}) + + class AfterAfterBodyPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml) + ]) + self.startTagHandler.default = self.startTagOther + + def processEOF(self): + pass + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processSpaceCharacters(self, token): + return self.parser.phases["inBody"].processSpaceCharacters(token) + + def processCharacters(self, token): + self.parser.parseError("expected-eof-but-got-char") + self.parser.phase = self.parser.phases["inBody"] + return token + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("expected-eof-but-got-start-tag", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + return token + + def processEndTag(self, token): + self.parser.parseError("expected-eof-but-got-end-tag", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + return token + + class AfterAfterFramesetPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("noframes", self.startTagNoFrames) + ]) + self.startTagHandler.default = self.startTagOther + + def processEOF(self): + pass + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processSpaceCharacters(self, token): + return self.parser.phases["inBody"].processSpaceCharacters(token) + + def processCharacters(self, token): + self.parser.parseError("expected-eof-but-got-char") + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagNoFrames(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("expected-eof-but-got-start-tag", + {"name": token["name"]}) + + def processEndTag(self, token): + self.parser.parseError("expected-eof-but-got-end-tag", + {"name": token["name"]}) + # pylint:enable=unused-argument + + return { + "initial": InitialPhase, + "beforeHtml": BeforeHtmlPhase, + "beforeHead": BeforeHeadPhase, + "inHead": InHeadPhase, + "inHeadNoscript": InHeadNoscriptPhase, + "afterHead": AfterHeadPhase, + "inBody": InBodyPhase, + "text": TextPhase, + "inTable": InTablePhase, + "inTableText": InTableTextPhase, + "inCaption": InCaptionPhase, + "inColumnGroup": InColumnGroupPhase, + "inTableBody": InTableBodyPhase, + "inRow": InRowPhase, + "inCell": InCellPhase, + "inSelect": InSelectPhase, + "inSelectInTable": InSelectInTablePhase, + "inForeignContent": InForeignContentPhase, + "afterBody": AfterBodyPhase, + "inFrameset": InFramesetPhase, + "afterFrameset": AfterFramesetPhase, + "afterAfterBody": AfterAfterBodyPhase, + "afterAfterFrameset": AfterAfterFramesetPhase, + # XXX after after frameset + } + + +def adjust_attributes(token, replacements): + needs_adjustment = viewkeys(token['data']) & viewkeys(replacements) + if needs_adjustment: + token['data'] = OrderedDict((replacements.get(k, k), v) + for k, v in token['data'].items()) + + +def impliedTagToken(name, type="EndTag", attributes=None, + selfClosing=False): + if attributes is None: + attributes = {} + return {"type": tokenTypes[type], "name": name, "data": attributes, + "selfClosing": selfClosing} + + +class ParseError(Exception): + """Error in parsed document""" + pass diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/serializer.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/serializer.py new file mode 100644 index 0000000..53f4d44 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/serializer.py @@ -0,0 +1,409 @@ +from __future__ import absolute_import, division, unicode_literals +from pip._vendor.six import text_type + +import re + +from codecs import register_error, xmlcharrefreplace_errors + +from .constants import voidElements, booleanAttributes, spaceCharacters +from .constants import rcdataElements, entities, xmlEntities +from . import treewalkers, _utils +from xml.sax.saxutils import escape + +_quoteAttributeSpecChars = "".join(spaceCharacters) + "\"'=<>`" +_quoteAttributeSpec = re.compile("[" + _quoteAttributeSpecChars + "]") +_quoteAttributeLegacy = re.compile("[" + _quoteAttributeSpecChars + + "\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" + "\x20\x2f\x60\xa0\u1680\u180e\u180f\u2000" + "\u2001\u2002\u2003\u2004\u2005\u2006\u2007" + "\u2008\u2009\u200a\u2028\u2029\u202f\u205f" + "\u3000]") + + +_encode_entity_map = {} +_is_ucs4 = len("\U0010FFFF") == 1 +for k, v in list(entities.items()): + # skip multi-character entities + if ((_is_ucs4 and len(v) > 1) or + (not _is_ucs4 and len(v) > 2)): + continue + if v != "&": + if len(v) == 2: + v = _utils.surrogatePairToCodepoint(v) + else: + v = ord(v) + if v not in _encode_entity_map or k.islower(): + # prefer &lt; over &LT; and similarly for &amp;, &gt;, etc. + _encode_entity_map[v] = k + + +def htmlentityreplace_errors(exc): + if isinstance(exc, (UnicodeEncodeError, UnicodeTranslateError)): + res = [] + codepoints = [] + skip = False + for i, c in enumerate(exc.object[exc.start:exc.end]): + if skip: + skip = False + continue + index = i + exc.start + if _utils.isSurrogatePair(exc.object[index:min([exc.end, index + 2])]): + codepoint = _utils.surrogatePairToCodepoint(exc.object[index:index + 2]) + skip = True + else: + codepoint = ord(c) + codepoints.append(codepoint) + for cp in codepoints: + e = _encode_entity_map.get(cp) + if e: + res.append("&") + res.append(e) + if not e.endswith(";"): + res.append(";") + else: + res.append("&#x%s;" % (hex(cp)[2:])) + return ("".join(res), exc.end) + else: + return xmlcharrefreplace_errors(exc) + + +register_error("htmlentityreplace", htmlentityreplace_errors) + + +def serialize(input, tree="etree", encoding=None, **serializer_opts): + """Serializes the input token stream using the specified treewalker + + :arg input: the token stream to serialize + + :arg tree: the treewalker to use + + :arg encoding: the encoding to use + + :arg serializer_opts: any options to pass to the + :py:class:`html5lib.serializer.HTMLSerializer` that gets created + + :returns: the tree serialized as a string + + Example: + + >>> from html5lib.html5parser import parse + >>> from html5lib.serializer import serialize + >>> token_stream = parse('<html><body><p>Hi!</p></body></html>') + >>> serialize(token_stream, omit_optional_tags=False) + '<html><head></head><body><p>Hi!</p></body></html>' + + """ + # XXX: Should we cache this? + walker = treewalkers.getTreeWalker(tree) + s = HTMLSerializer(**serializer_opts) + return s.render(walker(input), encoding) + + +class HTMLSerializer(object): + + # attribute quoting options + quote_attr_values = "legacy" # be secure by default + quote_char = '"' + use_best_quote_char = True + + # tag syntax options + omit_optional_tags = True + minimize_boolean_attributes = True + use_trailing_solidus = False + space_before_trailing_solidus = True + + # escaping options + escape_lt_in_attrs = False + escape_rcdata = False + resolve_entities = True + + # miscellaneous options + alphabetical_attributes = False + inject_meta_charset = True + strip_whitespace = False + sanitize = False + + options = ("quote_attr_values", "quote_char", "use_best_quote_char", + "omit_optional_tags", "minimize_boolean_attributes", + "use_trailing_solidus", "space_before_trailing_solidus", + "escape_lt_in_attrs", "escape_rcdata", "resolve_entities", + "alphabetical_attributes", "inject_meta_charset", + "strip_whitespace", "sanitize") + + def __init__(self, **kwargs): + """Initialize HTMLSerializer + + :arg inject_meta_charset: Whether or not to inject the meta charset. + + Defaults to ``True``. + + :arg quote_attr_values: Whether to quote attribute values that don't + require quoting per legacy browser behavior (``"legacy"``), when + required by the standard (``"spec"``), or always (``"always"``). + + Defaults to ``"legacy"``. + + :arg quote_char: Use given quote character for attribute quoting. + + Defaults to ``"`` which will use double quotes unless attribute + value contains a double quote, in which case single quotes are + used. + + :arg escape_lt_in_attrs: Whether or not to escape ``<`` in attribute + values. + + Defaults to ``False``. + + :arg escape_rcdata: Whether to escape characters that need to be + escaped within normal elements within rcdata elements such as + style. + + Defaults to ``False``. + + :arg resolve_entities: Whether to resolve named character entities that + appear in the source tree. The XML predefined entities &lt; &gt; + &amp; &quot; &apos; are unaffected by this setting. + + Defaults to ``True``. + + :arg strip_whitespace: Whether to remove semantically meaningless + whitespace. (This compresses all whitespace to a single space + except within ``pre``.) + + Defaults to ``False``. + + :arg minimize_boolean_attributes: Shortens boolean attributes to give + just the attribute value, for example:: + + <input disabled="disabled"> + + becomes:: + + <input disabled> + + Defaults to ``True``. + + :arg use_trailing_solidus: Includes a close-tag slash at the end of the + start tag of void elements (empty elements whose end tag is + forbidden). E.g. ``<hr/>``. + + Defaults to ``False``. + + :arg space_before_trailing_solidus: Places a space immediately before + the closing slash in a tag using a trailing solidus. E.g. + ``<hr />``. Requires ``use_trailing_solidus=True``. + + Defaults to ``True``. + + :arg sanitize: Strip all unsafe or unknown constructs from output. + See :py:class:`html5lib.filters.sanitizer.Filter`. + + Defaults to ``False``. + + :arg omit_optional_tags: Omit start/end tags that are optional. + + Defaults to ``True``. + + :arg alphabetical_attributes: Reorder attributes to be in alphabetical order. + + Defaults to ``False``. + + """ + unexpected_args = frozenset(kwargs) - frozenset(self.options) + if len(unexpected_args) > 0: + raise TypeError("__init__() got an unexpected keyword argument '%s'" % next(iter(unexpected_args))) + if 'quote_char' in kwargs: + self.use_best_quote_char = False + for attr in self.options: + setattr(self, attr, kwargs.get(attr, getattr(self, attr))) + self.errors = [] + self.strict = False + + def encode(self, string): + assert(isinstance(string, text_type)) + if self.encoding: + return string.encode(self.encoding, "htmlentityreplace") + else: + return string + + def encodeStrict(self, string): + assert(isinstance(string, text_type)) + if self.encoding: + return string.encode(self.encoding, "strict") + else: + return string + + def serialize(self, treewalker, encoding=None): + # pylint:disable=too-many-nested-blocks + self.encoding = encoding + in_cdata = False + self.errors = [] + + if encoding and self.inject_meta_charset: + from .filters.inject_meta_charset import Filter + treewalker = Filter(treewalker, encoding) + # Alphabetical attributes is here under the assumption that none of + # the later filters add or change order of attributes; it needs to be + # before the sanitizer so escaped elements come out correctly + if self.alphabetical_attributes: + from .filters.alphabeticalattributes import Filter + treewalker = Filter(treewalker) + # WhitespaceFilter should be used before OptionalTagFilter + # for maximum efficiently of this latter filter + if self.strip_whitespace: + from .filters.whitespace import Filter + treewalker = Filter(treewalker) + if self.sanitize: + from .filters.sanitizer import Filter + treewalker = Filter(treewalker) + if self.omit_optional_tags: + from .filters.optionaltags import Filter + treewalker = Filter(treewalker) + + for token in treewalker: + type = token["type"] + if type == "Doctype": + doctype = "<!DOCTYPE %s" % token["name"] + + if token["publicId"]: + doctype += ' PUBLIC "%s"' % token["publicId"] + elif token["systemId"]: + doctype += " SYSTEM" + if token["systemId"]: + if token["systemId"].find('"') >= 0: + if token["systemId"].find("'") >= 0: + self.serializeError("System identifer contains both single and double quote characters") + quote_char = "'" + else: + quote_char = '"' + doctype += " %s%s%s" % (quote_char, token["systemId"], quote_char) + + doctype += ">" + yield self.encodeStrict(doctype) + + elif type in ("Characters", "SpaceCharacters"): + if type == "SpaceCharacters" or in_cdata: + if in_cdata and token["data"].find("</") >= 0: + self.serializeError("Unexpected </ in CDATA") + yield self.encode(token["data"]) + else: + yield self.encode(escape(token["data"])) + + elif type in ("StartTag", "EmptyTag"): + name = token["name"] + yield self.encodeStrict("<%s" % name) + if name in rcdataElements and not self.escape_rcdata: + in_cdata = True + elif in_cdata: + self.serializeError("Unexpected child element of a CDATA element") + for (_, attr_name), attr_value in token["data"].items(): + # TODO: Add namespace support here + k = attr_name + v = attr_value + yield self.encodeStrict(' ') + + yield self.encodeStrict(k) + if not self.minimize_boolean_attributes or \ + (k not in booleanAttributes.get(name, tuple()) and + k not in booleanAttributes.get("", tuple())): + yield self.encodeStrict("=") + if self.quote_attr_values == "always" or len(v) == 0: + quote_attr = True + elif self.quote_attr_values == "spec": + quote_attr = _quoteAttributeSpec.search(v) is not None + elif self.quote_attr_values == "legacy": + quote_attr = _quoteAttributeLegacy.search(v) is not None + else: + raise ValueError("quote_attr_values must be one of: " + "'always', 'spec', or 'legacy'") + v = v.replace("&", "&amp;") + if self.escape_lt_in_attrs: + v = v.replace("<", "&lt;") + if quote_attr: + quote_char = self.quote_char + if self.use_best_quote_char: + if "'" in v and '"' not in v: + quote_char = '"' + elif '"' in v and "'" not in v: + quote_char = "'" + if quote_char == "'": + v = v.replace("'", "&#39;") + else: + v = v.replace('"', "&quot;") + yield self.encodeStrict(quote_char) + yield self.encode(v) + yield self.encodeStrict(quote_char) + else: + yield self.encode(v) + if name in voidElements and self.use_trailing_solidus: + if self.space_before_trailing_solidus: + yield self.encodeStrict(" /") + else: + yield self.encodeStrict("/") + yield self.encode(">") + + elif type == "EndTag": + name = token["name"] + if name in rcdataElements: + in_cdata = False + elif in_cdata: + self.serializeError("Unexpected child element of a CDATA element") + yield self.encodeStrict("</%s>" % name) + + elif type == "Comment": + data = token["data"] + if data.find("--") >= 0: + self.serializeError("Comment contains --") + yield self.encodeStrict("<!--%s-->" % token["data"]) + + elif type == "Entity": + name = token["name"] + key = name + ";" + if key not in entities: + self.serializeError("Entity %s not recognized" % name) + if self.resolve_entities and key not in xmlEntities: + data = entities[key] + else: + data = "&%s;" % name + yield self.encodeStrict(data) + + else: + self.serializeError(token["data"]) + + def render(self, treewalker, encoding=None): + """Serializes the stream from the treewalker into a string + + :arg treewalker: the treewalker to serialize + + :arg encoding: the string encoding to use + + :returns: the serialized tree + + Example: + + >>> from html5lib import parse, getTreeWalker + >>> from html5lib.serializer import HTMLSerializer + >>> token_stream = parse('<html><body>Hi!</body></html>') + >>> walker = getTreeWalker('etree') + >>> serializer = HTMLSerializer(omit_optional_tags=False) + >>> serializer.render(walker(token_stream)) + '<html><head></head><body>Hi!</body></html>' + + """ + if encoding: + return b"".join(list(self.serialize(treewalker, encoding))) + else: + return "".join(list(self.serialize(treewalker))) + + def serializeError(self, data="XXX ERROR MESSAGE NEEDED"): + # XXX The idea is to make data mandatory. + self.errors.append(data) + if self.strict: + raise SerializeError + + +class SerializeError(Exception): + """Error in serialized tree""" + pass diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/__init__.py new file mode 100644 index 0000000..7ef5959 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/__init__.py @@ -0,0 +1,30 @@ +"""Tree adapters let you convert from one tree structure to another + +Example: + +.. code-block:: python + + from pip._vendor import html5lib + from pip._vendor.html5lib.treeadapters import genshi + + doc = '<html><body>Hi!</body></html>' + treebuilder = html5lib.getTreeBuilder('etree') + parser = html5lib.HTMLParser(tree=treebuilder) + tree = parser.parse(doc) + TreeWalker = html5lib.getTreeWalker('etree') + + genshi_tree = genshi.to_genshi(TreeWalker(tree)) + +""" +from __future__ import absolute_import, division, unicode_literals + +from . import sax + +__all__ = ["sax"] + +try: + from . import genshi # noqa +except ImportError: + pass +else: + __all__.append("genshi") diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/genshi.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/genshi.py new file mode 100644 index 0000000..61d5fb6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/genshi.py @@ -0,0 +1,54 @@ +from __future__ import absolute_import, division, unicode_literals + +from genshi.core import QName, Attrs +from genshi.core import START, END, TEXT, COMMENT, DOCTYPE + + +def to_genshi(walker): + """Convert a tree to a genshi tree + + :arg walker: the treewalker to use to walk the tree to convert it + + :returns: generator of genshi nodes + + """ + text = [] + for token in walker: + type = token["type"] + if type in ("Characters", "SpaceCharacters"): + text.append(token["data"]) + elif text: + yield TEXT, "".join(text), (None, -1, -1) + text = [] + + if type in ("StartTag", "EmptyTag"): + if token["namespace"]: + name = "{%s}%s" % (token["namespace"], token["name"]) + else: + name = token["name"] + attrs = Attrs([(QName("{%s}%s" % attr if attr[0] is not None else attr[1]), value) + for attr, value in token["data"].items()]) + yield (START, (QName(name), attrs), (None, -1, -1)) + if type == "EmptyTag": + type = "EndTag" + + if type == "EndTag": + if token["namespace"]: + name = "{%s}%s" % (token["namespace"], token["name"]) + else: + name = token["name"] + + yield END, QName(name), (None, -1, -1) + + elif type == "Comment": + yield COMMENT, token["data"], (None, -1, -1) + + elif type == "Doctype": + yield DOCTYPE, (token["name"], token["publicId"], + token["systemId"]), (None, -1, -1) + + else: + pass # FIXME: What to do? + + if text: + yield TEXT, "".join(text), (None, -1, -1) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/sax.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/sax.py new file mode 100644 index 0000000..f4ccea5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treeadapters/sax.py @@ -0,0 +1,50 @@ +from __future__ import absolute_import, division, unicode_literals + +from xml.sax.xmlreader import AttributesNSImpl + +from ..constants import adjustForeignAttributes, unadjustForeignAttributes + +prefix_mapping = {} +for prefix, localName, namespace in adjustForeignAttributes.values(): + if prefix is not None: + prefix_mapping[prefix] = namespace + + +def to_sax(walker, handler): + """Call SAX-like content handler based on treewalker walker + + :arg walker: the treewalker to use to walk the tree to convert it + + :arg handler: SAX handler to use + + """ + handler.startDocument() + for prefix, namespace in prefix_mapping.items(): + handler.startPrefixMapping(prefix, namespace) + + for token in walker: + type = token["type"] + if type == "Doctype": + continue + elif type in ("StartTag", "EmptyTag"): + attrs = AttributesNSImpl(token["data"], + unadjustForeignAttributes) + handler.startElementNS((token["namespace"], token["name"]), + token["name"], + attrs) + if type == "EmptyTag": + handler.endElementNS((token["namespace"], token["name"]), + token["name"]) + elif type == "EndTag": + handler.endElementNS((token["namespace"], token["name"]), + token["name"]) + elif type in ("Characters", "SpaceCharacters"): + handler.characters(token["data"]) + elif type == "Comment": + pass + else: + assert False, "Unknown token type" + + for prefix, namespace in prefix_mapping.items(): + handler.endPrefixMapping(prefix) + handler.endDocument() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__init__.py new file mode 100644 index 0000000..d44447e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/__init__.py @@ -0,0 +1,88 @@ +"""A collection of modules for building different kinds of trees from HTML +documents. + +To create a treebuilder for a new type of tree, you need to do +implement several things: + +1. A set of classes for various types of elements: Document, Doctype, Comment, + Element. These must implement the interface of ``base.treebuilders.Node`` + (although comment nodes have a different signature for their constructor, + see ``treebuilders.etree.Comment``) Textual content may also be implemented + as another node type, or not, as your tree implementation requires. + +2. A treebuilder object (called ``TreeBuilder`` by convention) that inherits + from ``treebuilders.base.TreeBuilder``. This has 4 required attributes: + + * ``documentClass`` - the class to use for the bottommost node of a document + * ``elementClass`` - the class to use for HTML Elements + * ``commentClass`` - the class to use for comments + * ``doctypeClass`` - the class to use for doctypes + + It also has one required method: + + * ``getDocument`` - Returns the root node of the complete document tree + +3. If you wish to run the unit tests, you must also create a ``testSerializer`` + method on your treebuilder which accepts a node and returns a string + containing Node and its children serialized according to the format used in + the unittests + +""" + +from __future__ import absolute_import, division, unicode_literals + +from .._utils import default_etree + +treeBuilderCache = {} + + +def getTreeBuilder(treeType, implementation=None, **kwargs): + """Get a TreeBuilder class for various types of trees with built-in support + + :arg treeType: the name of the tree type required (case-insensitive). Supported + values are: + + * "dom" - A generic builder for DOM implementations, defaulting to a + xml.dom.minidom based implementation. + * "etree" - A generic builder for tree implementations exposing an + ElementTree-like interface, defaulting to xml.etree.cElementTree if + available and xml.etree.ElementTree if not. + * "lxml" - A etree-based builder for lxml.etree, handling limitations + of lxml's implementation. + + :arg implementation: (Currently applies to the "etree" and "dom" tree + types). A module implementing the tree type e.g. xml.etree.ElementTree + or xml.etree.cElementTree. + + :arg kwargs: Any additional options to pass to the TreeBuilder when + creating it. + + Example: + + >>> from html5lib.treebuilders import getTreeBuilder + >>> builder = getTreeBuilder('etree') + + """ + + treeType = treeType.lower() + if treeType not in treeBuilderCache: + if treeType == "dom": + from . import dom + # Come up with a sane default (pref. from the stdlib) + if implementation is None: + from xml.dom import minidom + implementation = minidom + # NEVER cache here, caching is done in the dom submodule + return dom.getDomModule(implementation, **kwargs).TreeBuilder + elif treeType == "lxml": + from . import etree_lxml + treeBuilderCache[treeType] = etree_lxml.TreeBuilder + elif treeType == "etree": + from . import etree + if implementation is None: + implementation = default_etree + # NEVER cache here, caching is done in the etree submodule + return etree.getETreeModule(implementation, **kwargs).TreeBuilder + else: + raise ValueError("""Unrecognised treebuilder "%s" """ % treeType) + return treeBuilderCache.get(treeType) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/base.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/base.py new file mode 100644 index 0000000..73973db --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/base.py @@ -0,0 +1,417 @@ +from __future__ import absolute_import, division, unicode_literals +from pip._vendor.six import text_type + +from ..constants import scopingElements, tableInsertModeElements, namespaces + +# The scope markers are inserted when entering object elements, +# marquees, table cells, and table captions, and are used to prevent formatting +# from "leaking" into tables, object elements, and marquees. +Marker = None + +listElementsMap = { + None: (frozenset(scopingElements), False), + "button": (frozenset(scopingElements | set([(namespaces["html"], "button")])), False), + "list": (frozenset(scopingElements | set([(namespaces["html"], "ol"), + (namespaces["html"], "ul")])), False), + "table": (frozenset([(namespaces["html"], "html"), + (namespaces["html"], "table")]), False), + "select": (frozenset([(namespaces["html"], "optgroup"), + (namespaces["html"], "option")]), True) +} + + +class Node(object): + """Represents an item in the tree""" + def __init__(self, name): + """Creates a Node + + :arg name: The tag name associated with the node + + """ + # The tag name assocaited with the node + self.name = name + # The parent of the current node (or None for the document node) + self.parent = None + # The value of the current node (applies to text nodes and comments) + self.value = None + # A dict holding name -> value pairs for attributes of the node + self.attributes = {} + # A list of child nodes of the current node. This must include all + # elements but not necessarily other node types. + self.childNodes = [] + # A list of miscellaneous flags that can be set on the node. + self._flags = [] + + def __str__(self): + attributesStr = " ".join(["%s=\"%s\"" % (name, value) + for name, value in + self.attributes.items()]) + if attributesStr: + return "<%s %s>" % (self.name, attributesStr) + else: + return "<%s>" % (self.name) + + def __repr__(self): + return "<%s>" % (self.name) + + def appendChild(self, node): + """Insert node as a child of the current node + + :arg node: the node to insert + + """ + raise NotImplementedError + + def insertText(self, data, insertBefore=None): + """Insert data as text in the current node, positioned before the + start of node insertBefore or to the end of the node's text. + + :arg data: the data to insert + + :arg insertBefore: True if you want to insert the text before the node + and False if you want to insert it after the node + + """ + raise NotImplementedError + + def insertBefore(self, node, refNode): + """Insert node as a child of the current node, before refNode in the + list of child nodes. Raises ValueError if refNode is not a child of + the current node + + :arg node: the node to insert + + :arg refNode: the child node to insert the node before + + """ + raise NotImplementedError + + def removeChild(self, node): + """Remove node from the children of the current node + + :arg node: the child node to remove + + """ + raise NotImplementedError + + def reparentChildren(self, newParent): + """Move all the children of the current node to newParent. + This is needed so that trees that don't store text as nodes move the + text in the correct way + + :arg newParent: the node to move all this node's children to + + """ + # XXX - should this method be made more general? + for child in self.childNodes: + newParent.appendChild(child) + self.childNodes = [] + + def cloneNode(self): + """Return a shallow copy of the current node i.e. a node with the same + name and attributes but with no parent or child nodes + """ + raise NotImplementedError + + def hasContent(self): + """Return true if the node has children or text, false otherwise + """ + raise NotImplementedError + + +class ActiveFormattingElements(list): + def append(self, node): + equalCount = 0 + if node != Marker: + for element in self[::-1]: + if element == Marker: + break + if self.nodesEqual(element, node): + equalCount += 1 + if equalCount == 3: + self.remove(element) + break + list.append(self, node) + + def nodesEqual(self, node1, node2): + if not node1.nameTuple == node2.nameTuple: + return False + + if not node1.attributes == node2.attributes: + return False + + return True + + +class TreeBuilder(object): + """Base treebuilder implementation + + * documentClass - the class to use for the bottommost node of a document + * elementClass - the class to use for HTML Elements + * commentClass - the class to use for comments + * doctypeClass - the class to use for doctypes + + """ + # pylint:disable=not-callable + + # Document class + documentClass = None + + # The class to use for creating a node + elementClass = None + + # The class to use for creating comments + commentClass = None + + # The class to use for creating doctypes + doctypeClass = None + + # Fragment class + fragmentClass = None + + def __init__(self, namespaceHTMLElements): + """Create a TreeBuilder + + :arg namespaceHTMLElements: whether or not to namespace HTML elements + + """ + if namespaceHTMLElements: + self.defaultNamespace = "http://www.w3.org/1999/xhtml" + else: + self.defaultNamespace = None + self.reset() + + def reset(self): + self.openElements = [] + self.activeFormattingElements = ActiveFormattingElements() + + # XXX - rename these to headElement, formElement + self.headPointer = None + self.formPointer = None + + self.insertFromTable = False + + self.document = self.documentClass() + + def elementInScope(self, target, variant=None): + + # If we pass a node in we match that. if we pass a string + # match any node with that name + exactNode = hasattr(target, "nameTuple") + if not exactNode: + if isinstance(target, text_type): + target = (namespaces["html"], target) + assert isinstance(target, tuple) + + listElements, invert = listElementsMap[variant] + + for node in reversed(self.openElements): + if exactNode and node == target: + return True + elif not exactNode and node.nameTuple == target: + return True + elif (invert ^ (node.nameTuple in listElements)): + return False + + assert False # We should never reach this point + + def reconstructActiveFormattingElements(self): + # Within this algorithm the order of steps described in the + # specification is not quite the same as the order of steps in the + # code. It should still do the same though. + + # Step 1: stop the algorithm when there's nothing to do. + if not self.activeFormattingElements: + return + + # Step 2 and step 3: we start with the last element. So i is -1. + i = len(self.activeFormattingElements) - 1 + entry = self.activeFormattingElements[i] + if entry == Marker or entry in self.openElements: + return + + # Step 6 + while entry != Marker and entry not in self.openElements: + if i == 0: + # This will be reset to 0 below + i = -1 + break + i -= 1 + # Step 5: let entry be one earlier in the list. + entry = self.activeFormattingElements[i] + + while True: + # Step 7 + i += 1 + + # Step 8 + entry = self.activeFormattingElements[i] + clone = entry.cloneNode() # Mainly to get a new copy of the attributes + + # Step 9 + element = self.insertElement({"type": "StartTag", + "name": clone.name, + "namespace": clone.namespace, + "data": clone.attributes}) + + # Step 10 + self.activeFormattingElements[i] = element + + # Step 11 + if element == self.activeFormattingElements[-1]: + break + + def clearActiveFormattingElements(self): + entry = self.activeFormattingElements.pop() + while self.activeFormattingElements and entry != Marker: + entry = self.activeFormattingElements.pop() + + def elementInActiveFormattingElements(self, name): + """Check if an element exists between the end of the active + formatting elements and the last marker. If it does, return it, else + return false""" + + for item in self.activeFormattingElements[::-1]: + # Check for Marker first because if it's a Marker it doesn't have a + # name attribute. + if item == Marker: + break + elif item.name == name: + return item + return False + + def insertRoot(self, token): + element = self.createElement(token) + self.openElements.append(element) + self.document.appendChild(element) + + def insertDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + + doctype = self.doctypeClass(name, publicId, systemId) + self.document.appendChild(doctype) + + def insertComment(self, token, parent=None): + if parent is None: + parent = self.openElements[-1] + parent.appendChild(self.commentClass(token["data"])) + + def createElement(self, token): + """Create an element but don't insert it anywhere""" + name = token["name"] + namespace = token.get("namespace", self.defaultNamespace) + element = self.elementClass(name, namespace) + element.attributes = token["data"] + return element + + def _getInsertFromTable(self): + return self._insertFromTable + + def _setInsertFromTable(self, value): + """Switch the function used to insert an element from the + normal one to the misnested table one and back again""" + self._insertFromTable = value + if value: + self.insertElement = self.insertElementTable + else: + self.insertElement = self.insertElementNormal + + insertFromTable = property(_getInsertFromTable, _setInsertFromTable) + + def insertElementNormal(self, token): + name = token["name"] + assert isinstance(name, text_type), "Element %s not unicode" % name + namespace = token.get("namespace", self.defaultNamespace) + element = self.elementClass(name, namespace) + element.attributes = token["data"] + self.openElements[-1].appendChild(element) + self.openElements.append(element) + return element + + def insertElementTable(self, token): + """Create an element and insert it into the tree""" + element = self.createElement(token) + if self.openElements[-1].name not in tableInsertModeElements: + return self.insertElementNormal(token) + else: + # We should be in the InTable mode. This means we want to do + # special magic element rearranging + parent, insertBefore = self.getTableMisnestedNodePosition() + if insertBefore is None: + parent.appendChild(element) + else: + parent.insertBefore(element, insertBefore) + self.openElements.append(element) + return element + + def insertText(self, data, parent=None): + """Insert text data.""" + if parent is None: + parent = self.openElements[-1] + + if (not self.insertFromTable or (self.insertFromTable and + self.openElements[-1].name + not in tableInsertModeElements)): + parent.insertText(data) + else: + # We should be in the InTable mode. This means we want to do + # special magic element rearranging + parent, insertBefore = self.getTableMisnestedNodePosition() + parent.insertText(data, insertBefore) + + def getTableMisnestedNodePosition(self): + """Get the foster parent element, and sibling to insert before + (or None) when inserting a misnested table node""" + # The foster parent element is the one which comes before the most + # recently opened table element + # XXX - this is really inelegant + lastTable = None + fosterParent = None + insertBefore = None + for elm in self.openElements[::-1]: + if elm.name == "table": + lastTable = elm + break + if lastTable: + # XXX - we should really check that this parent is actually a + # node here + if lastTable.parent: + fosterParent = lastTable.parent + insertBefore = lastTable + else: + fosterParent = self.openElements[ + self.openElements.index(lastTable) - 1] + else: + fosterParent = self.openElements[0] + return fosterParent, insertBefore + + def generateImpliedEndTags(self, exclude=None): + name = self.openElements[-1].name + # XXX td, th and tr are not actually needed + if (name in frozenset(("dd", "dt", "li", "option", "optgroup", "p", "rp", "rt")) and + name != exclude): + self.openElements.pop() + # XXX This is not entirely what the specification says. We should + # investigate it more closely. + self.generateImpliedEndTags(exclude) + + def getDocument(self): + """Return the final tree""" + return self.document + + def getFragment(self): + """Return the final fragment""" + # assert self.innerHTML + fragment = self.fragmentClass() + self.openElements[0].reparentChildren(fragment) + return fragment + + def testSerializer(self, node): + """Serialize the subtree of node in the format required by unit tests + + :arg node: the node from which to start serializing + + """ + raise NotImplementedError diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/dom.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/dom.py new file mode 100644 index 0000000..dcfac22 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/dom.py @@ -0,0 +1,236 @@ +from __future__ import absolute_import, division, unicode_literals + + +from collections import MutableMapping +from xml.dom import minidom, Node +import weakref + +from . import base +from .. import constants +from ..constants import namespaces +from .._utils import moduleFactoryFactory + + +def getDomBuilder(DomImplementation): + Dom = DomImplementation + + class AttrList(MutableMapping): + def __init__(self, element): + self.element = element + + def __iter__(self): + return iter(self.element.attributes.keys()) + + def __setitem__(self, name, value): + if isinstance(name, tuple): + raise NotImplementedError + else: + attr = self.element.ownerDocument.createAttribute(name) + attr.value = value + self.element.attributes[name] = attr + + def __len__(self): + return len(self.element.attributes) + + def items(self): + return list(self.element.attributes.items()) + + def values(self): + return list(self.element.attributes.values()) + + def __getitem__(self, name): + if isinstance(name, tuple): + raise NotImplementedError + else: + return self.element.attributes[name].value + + def __delitem__(self, name): + if isinstance(name, tuple): + raise NotImplementedError + else: + del self.element.attributes[name] + + class NodeBuilder(base.Node): + def __init__(self, element): + base.Node.__init__(self, element.nodeName) + self.element = element + + namespace = property(lambda self: hasattr(self.element, "namespaceURI") and + self.element.namespaceURI or None) + + def appendChild(self, node): + node.parent = self + self.element.appendChild(node.element) + + def insertText(self, data, insertBefore=None): + text = self.element.ownerDocument.createTextNode(data) + if insertBefore: + self.element.insertBefore(text, insertBefore.element) + else: + self.element.appendChild(text) + + def insertBefore(self, node, refNode): + self.element.insertBefore(node.element, refNode.element) + node.parent = self + + def removeChild(self, node): + if node.element.parentNode == self.element: + self.element.removeChild(node.element) + node.parent = None + + def reparentChildren(self, newParent): + while self.element.hasChildNodes(): + child = self.element.firstChild + self.element.removeChild(child) + newParent.element.appendChild(child) + self.childNodes = [] + + def getAttributes(self): + return AttrList(self.element) + + def setAttributes(self, attributes): + if attributes: + for name, value in list(attributes.items()): + if isinstance(name, tuple): + if name[0] is not None: + qualifiedName = (name[0] + ":" + name[1]) + else: + qualifiedName = name[1] + self.element.setAttributeNS(name[2], qualifiedName, + value) + else: + self.element.setAttribute( + name, value) + attributes = property(getAttributes, setAttributes) + + def cloneNode(self): + return NodeBuilder(self.element.cloneNode(False)) + + def hasContent(self): + return self.element.hasChildNodes() + + def getNameTuple(self): + if self.namespace is None: + return namespaces["html"], self.name + else: + return self.namespace, self.name + + nameTuple = property(getNameTuple) + + class TreeBuilder(base.TreeBuilder): # pylint:disable=unused-variable + def documentClass(self): + self.dom = Dom.getDOMImplementation().createDocument(None, None, None) + return weakref.proxy(self) + + def insertDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + + domimpl = Dom.getDOMImplementation() + doctype = domimpl.createDocumentType(name, publicId, systemId) + self.document.appendChild(NodeBuilder(doctype)) + if Dom == minidom: + doctype.ownerDocument = self.dom + + def elementClass(self, name, namespace=None): + if namespace is None and self.defaultNamespace is None: + node = self.dom.createElement(name) + else: + node = self.dom.createElementNS(namespace, name) + + return NodeBuilder(node) + + def commentClass(self, data): + return NodeBuilder(self.dom.createComment(data)) + + def fragmentClass(self): + return NodeBuilder(self.dom.createDocumentFragment()) + + def appendChild(self, node): + self.dom.appendChild(node.element) + + def testSerializer(self, element): + return testSerializer(element) + + def getDocument(self): + return self.dom + + def getFragment(self): + return base.TreeBuilder.getFragment(self).element + + def insertText(self, data, parent=None): + data = data + if parent != self: + base.TreeBuilder.insertText(self, data, parent) + else: + # HACK: allow text nodes as children of the document node + if hasattr(self.dom, '_child_node_types'): + # pylint:disable=protected-access + if Node.TEXT_NODE not in self.dom._child_node_types: + self.dom._child_node_types = list(self.dom._child_node_types) + self.dom._child_node_types.append(Node.TEXT_NODE) + self.dom.appendChild(self.dom.createTextNode(data)) + + implementation = DomImplementation + name = None + + def testSerializer(element): + element.normalize() + rv = [] + + def serializeElement(element, indent=0): + if element.nodeType == Node.DOCUMENT_TYPE_NODE: + if element.name: + if element.publicId or element.systemId: + publicId = element.publicId or "" + systemId = element.systemId or "" + rv.append("""|%s<!DOCTYPE %s "%s" "%s">""" % + (' ' * indent, element.name, publicId, systemId)) + else: + rv.append("|%s<!DOCTYPE %s>" % (' ' * indent, element.name)) + else: + rv.append("|%s<!DOCTYPE >" % (' ' * indent,)) + elif element.nodeType == Node.DOCUMENT_NODE: + rv.append("#document") + elif element.nodeType == Node.DOCUMENT_FRAGMENT_NODE: + rv.append("#document-fragment") + elif element.nodeType == Node.COMMENT_NODE: + rv.append("|%s<!-- %s -->" % (' ' * indent, element.nodeValue)) + elif element.nodeType == Node.TEXT_NODE: + rv.append("|%s\"%s\"" % (' ' * indent, element.nodeValue)) + else: + if (hasattr(element, "namespaceURI") and + element.namespaceURI is not None): + name = "%s %s" % (constants.prefixes[element.namespaceURI], + element.nodeName) + else: + name = element.nodeName + rv.append("|%s<%s>" % (' ' * indent, name)) + if element.hasAttributes(): + attributes = [] + for i in range(len(element.attributes)): + attr = element.attributes.item(i) + name = attr.nodeName + value = attr.value + ns = attr.namespaceURI + if ns: + name = "%s %s" % (constants.prefixes[ns], attr.localName) + else: + name = attr.nodeName + attributes.append((name, value)) + + for name, value in sorted(attributes): + rv.append('|%s%s="%s"' % (' ' * (indent + 2), name, value)) + indent += 2 + for child in element.childNodes: + serializeElement(child, indent) + serializeElement(element, 0) + + return "\n".join(rv) + + return locals() + + +# The actual means to get a module! +getDomModule = moduleFactoryFactory(getDomBuilder) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree.py new file mode 100644 index 0000000..0dedf44 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree.py @@ -0,0 +1,340 @@ +from __future__ import absolute_import, division, unicode_literals +# pylint:disable=protected-access + +from pip._vendor.six import text_type + +import re + +from . import base +from .. import _ihatexml +from .. import constants +from ..constants import namespaces +from .._utils import moduleFactoryFactory + +tag_regexp = re.compile("{([^}]*)}(.*)") + + +def getETreeBuilder(ElementTreeImplementation, fullTree=False): + ElementTree = ElementTreeImplementation + ElementTreeCommentType = ElementTree.Comment("asd").tag + + class Element(base.Node): + def __init__(self, name, namespace=None): + self._name = name + self._namespace = namespace + self._element = ElementTree.Element(self._getETreeTag(name, + namespace)) + if namespace is None: + self.nameTuple = namespaces["html"], self._name + else: + self.nameTuple = self._namespace, self._name + self.parent = None + self._childNodes = [] + self._flags = [] + + def _getETreeTag(self, name, namespace): + if namespace is None: + etree_tag = name + else: + etree_tag = "{%s}%s" % (namespace, name) + return etree_tag + + def _setName(self, name): + self._name = name + self._element.tag = self._getETreeTag(self._name, self._namespace) + + def _getName(self): + return self._name + + name = property(_getName, _setName) + + def _setNamespace(self, namespace): + self._namespace = namespace + self._element.tag = self._getETreeTag(self._name, self._namespace) + + def _getNamespace(self): + return self._namespace + + namespace = property(_getNamespace, _setNamespace) + + def _getAttributes(self): + return self._element.attrib + + def _setAttributes(self, attributes): + # Delete existing attributes first + # XXX - there may be a better way to do this... + for key in list(self._element.attrib.keys()): + del self._element.attrib[key] + for key, value in attributes.items(): + if isinstance(key, tuple): + name = "{%s}%s" % (key[2], key[1]) + else: + name = key + self._element.set(name, value) + + attributes = property(_getAttributes, _setAttributes) + + def _getChildNodes(self): + return self._childNodes + + def _setChildNodes(self, value): + del self._element[:] + self._childNodes = [] + for element in value: + self.insertChild(element) + + childNodes = property(_getChildNodes, _setChildNodes) + + def hasContent(self): + """Return true if the node has children or text""" + return bool(self._element.text or len(self._element)) + + def appendChild(self, node): + self._childNodes.append(node) + self._element.append(node._element) + node.parent = self + + def insertBefore(self, node, refNode): + index = list(self._element).index(refNode._element) + self._element.insert(index, node._element) + node.parent = self + + def removeChild(self, node): + self._childNodes.remove(node) + self._element.remove(node._element) + node.parent = None + + def insertText(self, data, insertBefore=None): + if not(len(self._element)): + if not self._element.text: + self._element.text = "" + self._element.text += data + elif insertBefore is None: + # Insert the text as the tail of the last child element + if not self._element[-1].tail: + self._element[-1].tail = "" + self._element[-1].tail += data + else: + # Insert the text before the specified node + children = list(self._element) + index = children.index(insertBefore._element) + if index > 0: + if not self._element[index - 1].tail: + self._element[index - 1].tail = "" + self._element[index - 1].tail += data + else: + if not self._element.text: + self._element.text = "" + self._element.text += data + + def cloneNode(self): + element = type(self)(self.name, self.namespace) + for name, value in self.attributes.items(): + element.attributes[name] = value + return element + + def reparentChildren(self, newParent): + if newParent.childNodes: + newParent.childNodes[-1]._element.tail += self._element.text + else: + if not newParent._element.text: + newParent._element.text = "" + if self._element.text is not None: + newParent._element.text += self._element.text + self._element.text = "" + base.Node.reparentChildren(self, newParent) + + class Comment(Element): + def __init__(self, data): + # Use the superclass constructor to set all properties on the + # wrapper element + self._element = ElementTree.Comment(data) + self.parent = None + self._childNodes = [] + self._flags = [] + + def _getData(self): + return self._element.text + + def _setData(self, value): + self._element.text = value + + data = property(_getData, _setData) + + class DocumentType(Element): + def __init__(self, name, publicId, systemId): + Element.__init__(self, "<!DOCTYPE>") + self._element.text = name + self.publicId = publicId + self.systemId = systemId + + def _getPublicId(self): + return self._element.get("publicId", "") + + def _setPublicId(self, value): + if value is not None: + self._element.set("publicId", value) + + publicId = property(_getPublicId, _setPublicId) + + def _getSystemId(self): + return self._element.get("systemId", "") + + def _setSystemId(self, value): + if value is not None: + self._element.set("systemId", value) + + systemId = property(_getSystemId, _setSystemId) + + class Document(Element): + def __init__(self): + Element.__init__(self, "DOCUMENT_ROOT") + + class DocumentFragment(Element): + def __init__(self): + Element.__init__(self, "DOCUMENT_FRAGMENT") + + def testSerializer(element): + rv = [] + + def serializeElement(element, indent=0): + if not(hasattr(element, "tag")): + element = element.getroot() + if element.tag == "<!DOCTYPE>": + if element.get("publicId") or element.get("systemId"): + publicId = element.get("publicId") or "" + systemId = element.get("systemId") or "" + rv.append("""<!DOCTYPE %s "%s" "%s">""" % + (element.text, publicId, systemId)) + else: + rv.append("<!DOCTYPE %s>" % (element.text,)) + elif element.tag == "DOCUMENT_ROOT": + rv.append("#document") + if element.text is not None: + rv.append("|%s\"%s\"" % (' ' * (indent + 2), element.text)) + if element.tail is not None: + raise TypeError("Document node cannot have tail") + if hasattr(element, "attrib") and len(element.attrib): + raise TypeError("Document node cannot have attributes") + elif element.tag == ElementTreeCommentType: + rv.append("|%s<!-- %s -->" % (' ' * indent, element.text)) + else: + assert isinstance(element.tag, text_type), \ + "Expected unicode, got %s, %s" % (type(element.tag), element.tag) + nsmatch = tag_regexp.match(element.tag) + + if nsmatch is None: + name = element.tag + else: + ns, name = nsmatch.groups() + prefix = constants.prefixes[ns] + name = "%s %s" % (prefix, name) + rv.append("|%s<%s>" % (' ' * indent, name)) + + if hasattr(element, "attrib"): + attributes = [] + for name, value in element.attrib.items(): + nsmatch = tag_regexp.match(name) + if nsmatch is not None: + ns, name = nsmatch.groups() + prefix = constants.prefixes[ns] + attr_string = "%s %s" % (prefix, name) + else: + attr_string = name + attributes.append((attr_string, value)) + + for name, value in sorted(attributes): + rv.append('|%s%s="%s"' % (' ' * (indent + 2), name, value)) + if element.text: + rv.append("|%s\"%s\"" % (' ' * (indent + 2), element.text)) + indent += 2 + for child in element: + serializeElement(child, indent) + if element.tail: + rv.append("|%s\"%s\"" % (' ' * (indent - 2), element.tail)) + serializeElement(element, 0) + + return "\n".join(rv) + + def tostring(element): # pylint:disable=unused-variable + """Serialize an element and its child nodes to a string""" + rv = [] + filter = _ihatexml.InfosetFilter() + + def serializeElement(element): + if isinstance(element, ElementTree.ElementTree): + element = element.getroot() + + if element.tag == "<!DOCTYPE>": + if element.get("publicId") or element.get("systemId"): + publicId = element.get("publicId") or "" + systemId = element.get("systemId") or "" + rv.append("""<!DOCTYPE %s PUBLIC "%s" "%s">""" % + (element.text, publicId, systemId)) + else: + rv.append("<!DOCTYPE %s>" % (element.text,)) + elif element.tag == "DOCUMENT_ROOT": + if element.text is not None: + rv.append(element.text) + if element.tail is not None: + raise TypeError("Document node cannot have tail") + if hasattr(element, "attrib") and len(element.attrib): + raise TypeError("Document node cannot have attributes") + + for child in element: + serializeElement(child) + + elif element.tag == ElementTreeCommentType: + rv.append("<!--%s-->" % (element.text,)) + else: + # This is assumed to be an ordinary element + if not element.attrib: + rv.append("<%s>" % (filter.fromXmlName(element.tag),)) + else: + attr = " ".join(["%s=\"%s\"" % ( + filter.fromXmlName(name), value) + for name, value in element.attrib.items()]) + rv.append("<%s %s>" % (element.tag, attr)) + if element.text: + rv.append(element.text) + + for child in element: + serializeElement(child) + + rv.append("</%s>" % (element.tag,)) + + if element.tail: + rv.append(element.tail) + + serializeElement(element) + + return "".join(rv) + + class TreeBuilder(base.TreeBuilder): # pylint:disable=unused-variable + documentClass = Document + doctypeClass = DocumentType + elementClass = Element + commentClass = Comment + fragmentClass = DocumentFragment + implementation = ElementTreeImplementation + + def testSerializer(self, element): + return testSerializer(element) + + def getDocument(self): + if fullTree: + return self.document._element + else: + if self.defaultNamespace is not None: + return self.document._element.find( + "{%s}html" % self.defaultNamespace) + else: + return self.document._element.find("html") + + def getFragment(self): + return base.TreeBuilder.getFragment(self)._element + + return locals() + + +getETreeModule = moduleFactoryFactory(getETreeBuilder) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py new file mode 100644 index 0000000..ca12a99 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py @@ -0,0 +1,366 @@ +"""Module for supporting the lxml.etree library. The idea here is to use as much +of the native library as possible, without using fragile hacks like custom element +names that break between releases. The downside of this is that we cannot represent +all possible trees; specifically the following are known to cause problems: + +Text or comments as siblings of the root element +Docypes with no name + +When any of these things occur, we emit a DataLossWarning +""" + +from __future__ import absolute_import, division, unicode_literals +# pylint:disable=protected-access + +import warnings +import re +import sys + +from . import base +from ..constants import DataLossWarning +from .. import constants +from . import etree as etree_builders +from .. import _ihatexml + +import lxml.etree as etree + + +fullTree = True +tag_regexp = re.compile("{([^}]*)}(.*)") + +comment_type = etree.Comment("asd").tag + + +class DocumentType(object): + def __init__(self, name, publicId, systemId): + self.name = name + self.publicId = publicId + self.systemId = systemId + + +class Document(object): + def __init__(self): + self._elementTree = None + self._childNodes = [] + + def appendChild(self, element): + self._elementTree.getroot().addnext(element._element) + + def _getChildNodes(self): + return self._childNodes + + childNodes = property(_getChildNodes) + + +def testSerializer(element): + rv = [] + infosetFilter = _ihatexml.InfosetFilter(preventDoubleDashComments=True) + + def serializeElement(element, indent=0): + if not hasattr(element, "tag"): + if hasattr(element, "getroot"): + # Full tree case + rv.append("#document") + if element.docinfo.internalDTD: + if not (element.docinfo.public_id or + element.docinfo.system_url): + dtd_str = "<!DOCTYPE %s>" % element.docinfo.root_name + else: + dtd_str = """<!DOCTYPE %s "%s" "%s">""" % ( + element.docinfo.root_name, + element.docinfo.public_id, + element.docinfo.system_url) + rv.append("|%s%s" % (' ' * (indent + 2), dtd_str)) + next_element = element.getroot() + while next_element.getprevious() is not None: + next_element = next_element.getprevious() + while next_element is not None: + serializeElement(next_element, indent + 2) + next_element = next_element.getnext() + elif isinstance(element, str) or isinstance(element, bytes): + # Text in a fragment + assert isinstance(element, str) or sys.version_info[0] == 2 + rv.append("|%s\"%s\"" % (' ' * indent, element)) + else: + # Fragment case + rv.append("#document-fragment") + for next_element in element: + serializeElement(next_element, indent + 2) + elif element.tag == comment_type: + rv.append("|%s<!-- %s -->" % (' ' * indent, element.text)) + if hasattr(element, "tail") and element.tail: + rv.append("|%s\"%s\"" % (' ' * indent, element.tail)) + else: + assert isinstance(element, etree._Element) + nsmatch = etree_builders.tag_regexp.match(element.tag) + if nsmatch is not None: + ns = nsmatch.group(1) + tag = nsmatch.group(2) + prefix = constants.prefixes[ns] + rv.append("|%s<%s %s>" % (' ' * indent, prefix, + infosetFilter.fromXmlName(tag))) + else: + rv.append("|%s<%s>" % (' ' * indent, + infosetFilter.fromXmlName(element.tag))) + + if hasattr(element, "attrib"): + attributes = [] + for name, value in element.attrib.items(): + nsmatch = tag_regexp.match(name) + if nsmatch is not None: + ns, name = nsmatch.groups() + name = infosetFilter.fromXmlName(name) + prefix = constants.prefixes[ns] + attr_string = "%s %s" % (prefix, name) + else: + attr_string = infosetFilter.fromXmlName(name) + attributes.append((attr_string, value)) + + for name, value in sorted(attributes): + rv.append('|%s%s="%s"' % (' ' * (indent + 2), name, value)) + + if element.text: + rv.append("|%s\"%s\"" % (' ' * (indent + 2), element.text)) + indent += 2 + for child in element: + serializeElement(child, indent) + if hasattr(element, "tail") and element.tail: + rv.append("|%s\"%s\"" % (' ' * (indent - 2), element.tail)) + serializeElement(element, 0) + + return "\n".join(rv) + + +def tostring(element): + """Serialize an element and its child nodes to a string""" + rv = [] + + def serializeElement(element): + if not hasattr(element, "tag"): + if element.docinfo.internalDTD: + if element.docinfo.doctype: + dtd_str = element.docinfo.doctype + else: + dtd_str = "<!DOCTYPE %s>" % element.docinfo.root_name + rv.append(dtd_str) + serializeElement(element.getroot()) + + elif element.tag == comment_type: + rv.append("<!--%s-->" % (element.text,)) + + else: + # This is assumed to be an ordinary element + if not element.attrib: + rv.append("<%s>" % (element.tag,)) + else: + attr = " ".join(["%s=\"%s\"" % (name, value) + for name, value in element.attrib.items()]) + rv.append("<%s %s>" % (element.tag, attr)) + if element.text: + rv.append(element.text) + + for child in element: + serializeElement(child) + + rv.append("</%s>" % (element.tag,)) + + if hasattr(element, "tail") and element.tail: + rv.append(element.tail) + + serializeElement(element) + + return "".join(rv) + + +class TreeBuilder(base.TreeBuilder): + documentClass = Document + doctypeClass = DocumentType + elementClass = None + commentClass = None + fragmentClass = Document + implementation = etree + + def __init__(self, namespaceHTMLElements, fullTree=False): + builder = etree_builders.getETreeModule(etree, fullTree=fullTree) + infosetFilter = self.infosetFilter = _ihatexml.InfosetFilter(preventDoubleDashComments=True) + self.namespaceHTMLElements = namespaceHTMLElements + + class Attributes(dict): + def __init__(self, element, value=None): + if value is None: + value = {} + self._element = element + dict.__init__(self, value) # pylint:disable=non-parent-init-called + for key, value in self.items(): + if isinstance(key, tuple): + name = "{%s}%s" % (key[2], infosetFilter.coerceAttribute(key[1])) + else: + name = infosetFilter.coerceAttribute(key) + self._element._element.attrib[name] = value + + def __setitem__(self, key, value): + dict.__setitem__(self, key, value) + if isinstance(key, tuple): + name = "{%s}%s" % (key[2], infosetFilter.coerceAttribute(key[1])) + else: + name = infosetFilter.coerceAttribute(key) + self._element._element.attrib[name] = value + + class Element(builder.Element): + def __init__(self, name, namespace): + name = infosetFilter.coerceElement(name) + builder.Element.__init__(self, name, namespace=namespace) + self._attributes = Attributes(self) + + def _setName(self, name): + self._name = infosetFilter.coerceElement(name) + self._element.tag = self._getETreeTag( + self._name, self._namespace) + + def _getName(self): + return infosetFilter.fromXmlName(self._name) + + name = property(_getName, _setName) + + def _getAttributes(self): + return self._attributes + + def _setAttributes(self, attributes): + self._attributes = Attributes(self, attributes) + + attributes = property(_getAttributes, _setAttributes) + + def insertText(self, data, insertBefore=None): + data = infosetFilter.coerceCharacters(data) + builder.Element.insertText(self, data, insertBefore) + + def appendChild(self, child): + builder.Element.appendChild(self, child) + + class Comment(builder.Comment): + def __init__(self, data): + data = infosetFilter.coerceComment(data) + builder.Comment.__init__(self, data) + + def _setData(self, data): + data = infosetFilter.coerceComment(data) + self._element.text = data + + def _getData(self): + return self._element.text + + data = property(_getData, _setData) + + self.elementClass = Element + self.commentClass = Comment + # self.fragmentClass = builder.DocumentFragment + base.TreeBuilder.__init__(self, namespaceHTMLElements) + + def reset(self): + base.TreeBuilder.reset(self) + self.insertComment = self.insertCommentInitial + self.initial_comments = [] + self.doctype = None + + def testSerializer(self, element): + return testSerializer(element) + + def getDocument(self): + if fullTree: + return self.document._elementTree + else: + return self.document._elementTree.getroot() + + def getFragment(self): + fragment = [] + element = self.openElements[0]._element + if element.text: + fragment.append(element.text) + fragment.extend(list(element)) + if element.tail: + fragment.append(element.tail) + return fragment + + def insertDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + + if not name: + warnings.warn("lxml cannot represent empty doctype", DataLossWarning) + self.doctype = None + else: + coercedName = self.infosetFilter.coerceElement(name) + if coercedName != name: + warnings.warn("lxml cannot represent non-xml doctype", DataLossWarning) + + doctype = self.doctypeClass(coercedName, publicId, systemId) + self.doctype = doctype + + def insertCommentInitial(self, data, parent=None): + assert parent is None or parent is self.document + assert self.document._elementTree is None + self.initial_comments.append(data) + + def insertCommentMain(self, data, parent=None): + if (parent == self.document and + self.document._elementTree.getroot()[-1].tag == comment_type): + warnings.warn("lxml cannot represent adjacent comments beyond the root elements", DataLossWarning) + super(TreeBuilder, self).insertComment(data, parent) + + def insertRoot(self, token): + # Because of the way libxml2 works, it doesn't seem to be possible to + # alter information like the doctype after the tree has been parsed. + # Therefore we need to use the built-in parser to create our initial + # tree, after which we can add elements like normal + docStr = "" + if self.doctype: + assert self.doctype.name + docStr += "<!DOCTYPE %s" % self.doctype.name + if (self.doctype.publicId is not None or + self.doctype.systemId is not None): + docStr += (' PUBLIC "%s" ' % + (self.infosetFilter.coercePubid(self.doctype.publicId or ""))) + if self.doctype.systemId: + sysid = self.doctype.systemId + if sysid.find("'") >= 0 and sysid.find('"') >= 0: + warnings.warn("DOCTYPE system cannot contain single and double quotes", DataLossWarning) + sysid = sysid.replace("'", 'U00027') + if sysid.find("'") >= 0: + docStr += '"%s"' % sysid + else: + docStr += "'%s'" % sysid + else: + docStr += "''" + docStr += ">" + if self.doctype.name != token["name"]: + warnings.warn("lxml cannot represent doctype with a different name to the root element", DataLossWarning) + docStr += "<THIS_SHOULD_NEVER_APPEAR_PUBLICLY/>" + root = etree.fromstring(docStr) + + # Append the initial comments: + for comment_token in self.initial_comments: + comment = self.commentClass(comment_token["data"]) + root.addprevious(comment._element) + + # Create the root document and add the ElementTree to it + self.document = self.documentClass() + self.document._elementTree = root.getroottree() + + # Give the root element the right name + name = token["name"] + namespace = token.get("namespace", self.defaultNamespace) + if namespace is None: + etree_tag = name + else: + etree_tag = "{%s}%s" % (namespace, name) + root.tag = etree_tag + + # Add the root element to the internal child/open data structures + root_element = self.elementClass(name, namespace) + root_element._element = root + self.document._childNodes.append(root_element) + self.openElements.append(root_element) + + # Reset to the default insert comment function + self.insertComment = self.insertCommentMain diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/__init__.py new file mode 100644 index 0000000..9bec207 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/__init__.py @@ -0,0 +1,154 @@ +"""A collection of modules for iterating through different kinds of +tree, generating tokens identical to those produced by the tokenizer +module. + +To create a tree walker for a new type of tree, you need to do +implement a tree walker object (called TreeWalker by convention) that +implements a 'serialize' method taking a tree as sole argument and +returning an iterator generating tokens. +""" + +from __future__ import absolute_import, division, unicode_literals + +from .. import constants +from .._utils import default_etree + +__all__ = ["getTreeWalker", "pprint"] + +treeWalkerCache = {} + + +def getTreeWalker(treeType, implementation=None, **kwargs): + """Get a TreeWalker class for various types of tree with built-in support + + :arg str treeType: the name of the tree type required (case-insensitive). + Supported values are: + + * "dom": The xml.dom.minidom DOM implementation + * "etree": A generic walker for tree implementations exposing an + elementtree-like interface (known to work with ElementTree, + cElementTree and lxml.etree). + * "lxml": Optimized walker for lxml.etree + * "genshi": a Genshi stream + + :arg implementation: A module implementing the tree type e.g. + xml.etree.ElementTree or cElementTree (Currently applies to the "etree" + tree type only). + + :arg kwargs: keyword arguments passed to the etree walker--for other + walkers, this has no effect + + :returns: a TreeWalker class + + """ + + treeType = treeType.lower() + if treeType not in treeWalkerCache: + if treeType == "dom": + from . import dom + treeWalkerCache[treeType] = dom.TreeWalker + elif treeType == "genshi": + from . import genshi + treeWalkerCache[treeType] = genshi.TreeWalker + elif treeType == "lxml": + from . import etree_lxml + treeWalkerCache[treeType] = etree_lxml.TreeWalker + elif treeType == "etree": + from . import etree + if implementation is None: + implementation = default_etree + # XXX: NEVER cache here, caching is done in the etree submodule + return etree.getETreeModule(implementation, **kwargs).TreeWalker + return treeWalkerCache.get(treeType) + + +def concatenateCharacterTokens(tokens): + pendingCharacters = [] + for token in tokens: + type = token["type"] + if type in ("Characters", "SpaceCharacters"): + pendingCharacters.append(token["data"]) + else: + if pendingCharacters: + yield {"type": "Characters", "data": "".join(pendingCharacters)} + pendingCharacters = [] + yield token + if pendingCharacters: + yield {"type": "Characters", "data": "".join(pendingCharacters)} + + +def pprint(walker): + """Pretty printer for tree walkers + + Takes a TreeWalker instance and pretty prints the output of walking the tree. + + :arg walker: a TreeWalker instance + + """ + output = [] + indent = 0 + for token in concatenateCharacterTokens(walker): + type = token["type"] + if type in ("StartTag", "EmptyTag"): + # tag name + if token["namespace"] and token["namespace"] != constants.namespaces["html"]: + if token["namespace"] in constants.prefixes: + ns = constants.prefixes[token["namespace"]] + else: + ns = token["namespace"] + name = "%s %s" % (ns, token["name"]) + else: + name = token["name"] + output.append("%s<%s>" % (" " * indent, name)) + indent += 2 + # attributes (sorted for consistent ordering) + attrs = token["data"] + for (namespace, localname), value in sorted(attrs.items()): + if namespace: + if namespace in constants.prefixes: + ns = constants.prefixes[namespace] + else: + ns = namespace + name = "%s %s" % (ns, localname) + else: + name = localname + output.append("%s%s=\"%s\"" % (" " * indent, name, value)) + # self-closing + if type == "EmptyTag": + indent -= 2 + + elif type == "EndTag": + indent -= 2 + + elif type == "Comment": + output.append("%s<!-- %s -->" % (" " * indent, token["data"])) + + elif type == "Doctype": + if token["name"]: + if token["publicId"]: + output.append("""%s<!DOCTYPE %s "%s" "%s">""" % + (" " * indent, + token["name"], + token["publicId"], + token["systemId"] if token["systemId"] else "")) + elif token["systemId"]: + output.append("""%s<!DOCTYPE %s "" "%s">""" % + (" " * indent, + token["name"], + token["systemId"])) + else: + output.append("%s<!DOCTYPE %s>" % (" " * indent, + token["name"])) + else: + output.append("%s<!DOCTYPE >" % (" " * indent,)) + + elif type == "Characters": + output.append("%s\"%s\"" % (" " * indent, token["data"])) + + elif type == "SpaceCharacters": + assert False, "concatenateCharacterTokens should have got rid of all Space tokens" + + else: + raise ValueError("Unknown token type, %s" % type) + + return "\n".join(output) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/base.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/base.py new file mode 100644 index 0000000..80c474c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/base.py @@ -0,0 +1,252 @@ +from __future__ import absolute_import, division, unicode_literals + +from xml.dom import Node +from ..constants import namespaces, voidElements, spaceCharacters + +__all__ = ["DOCUMENT", "DOCTYPE", "TEXT", "ELEMENT", "COMMENT", "ENTITY", "UNKNOWN", + "TreeWalker", "NonRecursiveTreeWalker"] + +DOCUMENT = Node.DOCUMENT_NODE +DOCTYPE = Node.DOCUMENT_TYPE_NODE +TEXT = Node.TEXT_NODE +ELEMENT = Node.ELEMENT_NODE +COMMENT = Node.COMMENT_NODE +ENTITY = Node.ENTITY_NODE +UNKNOWN = "<#UNKNOWN#>" + +spaceCharacters = "".join(spaceCharacters) + + +class TreeWalker(object): + """Walks a tree yielding tokens + + Tokens are dicts that all have a ``type`` field specifying the type of the + token. + + """ + def __init__(self, tree): + """Creates a TreeWalker + + :arg tree: the tree to walk + + """ + self.tree = tree + + def __iter__(self): + raise NotImplementedError + + def error(self, msg): + """Generates an error token with the given message + + :arg msg: the error message + + :returns: SerializeError token + + """ + return {"type": "SerializeError", "data": msg} + + def emptyTag(self, namespace, name, attrs, hasChildren=False): + """Generates an EmptyTag token + + :arg namespace: the namespace of the token--can be ``None`` + + :arg name: the name of the element + + :arg attrs: the attributes of the element as a dict + + :arg hasChildren: whether or not to yield a SerializationError because + this tag shouldn't have children + + :returns: EmptyTag token + + """ + yield {"type": "EmptyTag", "name": name, + "namespace": namespace, + "data": attrs} + if hasChildren: + yield self.error("Void element has children") + + def startTag(self, namespace, name, attrs): + """Generates a StartTag token + + :arg namespace: the namespace of the token--can be ``None`` + + :arg name: the name of the element + + :arg attrs: the attributes of the element as a dict + + :returns: StartTag token + + """ + return {"type": "StartTag", + "name": name, + "namespace": namespace, + "data": attrs} + + def endTag(self, namespace, name): + """Generates an EndTag token + + :arg namespace: the namespace of the token--can be ``None`` + + :arg name: the name of the element + + :returns: EndTag token + + """ + return {"type": "EndTag", + "name": name, + "namespace": namespace} + + def text(self, data): + """Generates SpaceCharacters and Characters tokens + + Depending on what's in the data, this generates one or more + ``SpaceCharacters`` and ``Characters`` tokens. + + For example: + + >>> from html5lib.treewalkers.base import TreeWalker + >>> # Give it an empty tree just so it instantiates + >>> walker = TreeWalker([]) + >>> list(walker.text('')) + [] + >>> list(walker.text(' ')) + [{u'data': ' ', u'type': u'SpaceCharacters'}] + >>> list(walker.text(' abc ')) # doctest: +NORMALIZE_WHITESPACE + [{u'data': ' ', u'type': u'SpaceCharacters'}, + {u'data': u'abc', u'type': u'Characters'}, + {u'data': u' ', u'type': u'SpaceCharacters'}] + + :arg data: the text data + + :returns: one or more ``SpaceCharacters`` and ``Characters`` tokens + + """ + data = data + middle = data.lstrip(spaceCharacters) + left = data[:len(data) - len(middle)] + if left: + yield {"type": "SpaceCharacters", "data": left} + data = middle + middle = data.rstrip(spaceCharacters) + right = data[len(middle):] + if middle: + yield {"type": "Characters", "data": middle} + if right: + yield {"type": "SpaceCharacters", "data": right} + + def comment(self, data): + """Generates a Comment token + + :arg data: the comment + + :returns: Comment token + + """ + return {"type": "Comment", "data": data} + + def doctype(self, name, publicId=None, systemId=None): + """Generates a Doctype token + + :arg name: + + :arg publicId: + + :arg systemId: + + :returns: the Doctype token + + """ + return {"type": "Doctype", + "name": name, + "publicId": publicId, + "systemId": systemId} + + def entity(self, name): + """Generates an Entity token + + :arg name: the entity name + + :returns: an Entity token + + """ + return {"type": "Entity", "name": name} + + def unknown(self, nodeType): + """Handles unknown node types""" + return self.error("Unknown node type: " + nodeType) + + +class NonRecursiveTreeWalker(TreeWalker): + def getNodeDetails(self, node): + raise NotImplementedError + + def getFirstChild(self, node): + raise NotImplementedError + + def getNextSibling(self, node): + raise NotImplementedError + + def getParentNode(self, node): + raise NotImplementedError + + def __iter__(self): + currentNode = self.tree + while currentNode is not None: + details = self.getNodeDetails(currentNode) + type, details = details[0], details[1:] + hasChildren = False + + if type == DOCTYPE: + yield self.doctype(*details) + + elif type == TEXT: + for token in self.text(*details): + yield token + + elif type == ELEMENT: + namespace, name, attributes, hasChildren = details + if (not namespace or namespace == namespaces["html"]) and name in voidElements: + for token in self.emptyTag(namespace, name, attributes, + hasChildren): + yield token + hasChildren = False + else: + yield self.startTag(namespace, name, attributes) + + elif type == COMMENT: + yield self.comment(details[0]) + + elif type == ENTITY: + yield self.entity(details[0]) + + elif type == DOCUMENT: + hasChildren = True + + else: + yield self.unknown(details[0]) + + if hasChildren: + firstChild = self.getFirstChild(currentNode) + else: + firstChild = None + + if firstChild is not None: + currentNode = firstChild + else: + while currentNode is not None: + details = self.getNodeDetails(currentNode) + type, details = details[0], details[1:] + if type == ELEMENT: + namespace, name, attributes, hasChildren = details + if (namespace and namespace != namespaces["html"]) or name not in voidElements: + yield self.endTag(namespace, name) + if self.tree is currentNode: + currentNode = None + break + nextSibling = self.getNextSibling(currentNode) + if nextSibling is not None: + currentNode = nextSibling + break + else: + currentNode = self.getParentNode(currentNode) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/dom.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/dom.py new file mode 100644 index 0000000..b0c89b0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/dom.py @@ -0,0 +1,43 @@ +from __future__ import absolute_import, division, unicode_literals + +from xml.dom import Node + +from . import base + + +class TreeWalker(base.NonRecursiveTreeWalker): + def getNodeDetails(self, node): + if node.nodeType == Node.DOCUMENT_TYPE_NODE: + return base.DOCTYPE, node.name, node.publicId, node.systemId + + elif node.nodeType in (Node.TEXT_NODE, Node.CDATA_SECTION_NODE): + return base.TEXT, node.nodeValue + + elif node.nodeType == Node.ELEMENT_NODE: + attrs = {} + for attr in list(node.attributes.keys()): + attr = node.getAttributeNode(attr) + if attr.namespaceURI: + attrs[(attr.namespaceURI, attr.localName)] = attr.value + else: + attrs[(None, attr.name)] = attr.value + return (base.ELEMENT, node.namespaceURI, node.nodeName, + attrs, node.hasChildNodes()) + + elif node.nodeType == Node.COMMENT_NODE: + return base.COMMENT, node.nodeValue + + elif node.nodeType in (Node.DOCUMENT_NODE, Node.DOCUMENT_FRAGMENT_NODE): + return (base.DOCUMENT,) + + else: + return base.UNKNOWN, node.nodeType + + def getFirstChild(self, node): + return node.firstChild + + def getNextSibling(self, node): + return node.nextSibling + + def getParentNode(self, node): + return node.parentNode diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree.py new file mode 100644 index 0000000..95fc0c1 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree.py @@ -0,0 +1,130 @@ +from __future__ import absolute_import, division, unicode_literals + +from collections import OrderedDict +import re + +from pip._vendor.six import string_types + +from . import base +from .._utils import moduleFactoryFactory + +tag_regexp = re.compile("{([^}]*)}(.*)") + + +def getETreeBuilder(ElementTreeImplementation): + ElementTree = ElementTreeImplementation + ElementTreeCommentType = ElementTree.Comment("asd").tag + + class TreeWalker(base.NonRecursiveTreeWalker): # pylint:disable=unused-variable + """Given the particular ElementTree representation, this implementation, + to avoid using recursion, returns "nodes" as tuples with the following + content: + + 1. The current element + + 2. The index of the element relative to its parent + + 3. A stack of ancestor elements + + 4. A flag "text", "tail" or None to indicate if the current node is a + text node; either the text or tail of the current element (1) + """ + def getNodeDetails(self, node): + if isinstance(node, tuple): # It might be the root Element + elt, _, _, flag = node + if flag in ("text", "tail"): + return base.TEXT, getattr(elt, flag) + else: + node = elt + + if not(hasattr(node, "tag")): + node = node.getroot() + + if node.tag in ("DOCUMENT_ROOT", "DOCUMENT_FRAGMENT"): + return (base.DOCUMENT,) + + elif node.tag == "<!DOCTYPE>": + return (base.DOCTYPE, node.text, + node.get("publicId"), node.get("systemId")) + + elif node.tag == ElementTreeCommentType: + return base.COMMENT, node.text + + else: + assert isinstance(node.tag, string_types), type(node.tag) + # This is assumed to be an ordinary element + match = tag_regexp.match(node.tag) + if match: + namespace, tag = match.groups() + else: + namespace = None + tag = node.tag + attrs = OrderedDict() + for name, value in list(node.attrib.items()): + match = tag_regexp.match(name) + if match: + attrs[(match.group(1), match.group(2))] = value + else: + attrs[(None, name)] = value + return (base.ELEMENT, namespace, tag, + attrs, len(node) or node.text) + + def getFirstChild(self, node): + if isinstance(node, tuple): + element, key, parents, flag = node + else: + element, key, parents, flag = node, None, [], None + + if flag in ("text", "tail"): + return None + else: + if element.text: + return element, key, parents, "text" + elif len(element): + parents.append(element) + return element[0], 0, parents, None + else: + return None + + def getNextSibling(self, node): + if isinstance(node, tuple): + element, key, parents, flag = node + else: + return None + + if flag == "text": + if len(element): + parents.append(element) + return element[0], 0, parents, None + else: + return None + else: + if element.tail and flag != "tail": + return element, key, parents, "tail" + elif key < len(parents[-1]) - 1: + return parents[-1][key + 1], key + 1, parents, None + else: + return None + + def getParentNode(self, node): + if isinstance(node, tuple): + element, key, parents, flag = node + else: + return None + + if flag == "text": + if not parents: + return element + else: + return element, key, parents, None + else: + parent = parents.pop() + if not parents: + return parent + else: + assert list(parents[-1]).count(parent) == 1 + return parent, list(parents[-1]).index(parent), parents, None + + return locals() + +getETreeModule = moduleFactoryFactory(getETreeBuilder) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree_lxml.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree_lxml.py new file mode 100644 index 0000000..e81ddf3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/etree_lxml.py @@ -0,0 +1,213 @@ +from __future__ import absolute_import, division, unicode_literals +from pip._vendor.six import text_type + +from lxml import etree +from ..treebuilders.etree import tag_regexp + +from . import base + +from .. import _ihatexml + + +def ensure_str(s): + if s is None: + return None + elif isinstance(s, text_type): + return s + else: + return s.decode("ascii", "strict") + + +class Root(object): + def __init__(self, et): + self.elementtree = et + self.children = [] + + try: + if et.docinfo.internalDTD: + self.children.append(Doctype(self, + ensure_str(et.docinfo.root_name), + ensure_str(et.docinfo.public_id), + ensure_str(et.docinfo.system_url))) + except AttributeError: + pass + + try: + node = et.getroot() + except AttributeError: + node = et + + while node.getprevious() is not None: + node = node.getprevious() + while node is not None: + self.children.append(node) + node = node.getnext() + + self.text = None + self.tail = None + + def __getitem__(self, key): + return self.children[key] + + def getnext(self): + return None + + def __len__(self): + return 1 + + +class Doctype(object): + def __init__(self, root_node, name, public_id, system_id): + self.root_node = root_node + self.name = name + self.public_id = public_id + self.system_id = system_id + + self.text = None + self.tail = None + + def getnext(self): + return self.root_node.children[1] + + +class FragmentRoot(Root): + def __init__(self, children): + self.children = [FragmentWrapper(self, child) for child in children] + self.text = self.tail = None + + def getnext(self): + return None + + +class FragmentWrapper(object): + def __init__(self, fragment_root, obj): + self.root_node = fragment_root + self.obj = obj + if hasattr(self.obj, 'text'): + self.text = ensure_str(self.obj.text) + else: + self.text = None + if hasattr(self.obj, 'tail'): + self.tail = ensure_str(self.obj.tail) + else: + self.tail = None + + def __getattr__(self, name): + return getattr(self.obj, name) + + def getnext(self): + siblings = self.root_node.children + idx = siblings.index(self) + if idx < len(siblings) - 1: + return siblings[idx + 1] + else: + return None + + def __getitem__(self, key): + return self.obj[key] + + def __bool__(self): + return bool(self.obj) + + def getparent(self): + return None + + def __str__(self): + return str(self.obj) + + def __unicode__(self): + return str(self.obj) + + def __len__(self): + return len(self.obj) + + +class TreeWalker(base.NonRecursiveTreeWalker): + def __init__(self, tree): + # pylint:disable=redefined-variable-type + if isinstance(tree, list): + self.fragmentChildren = set(tree) + tree = FragmentRoot(tree) + else: + self.fragmentChildren = set() + tree = Root(tree) + base.NonRecursiveTreeWalker.__init__(self, tree) + self.filter = _ihatexml.InfosetFilter() + + def getNodeDetails(self, node): + if isinstance(node, tuple): # Text node + node, key = node + assert key in ("text", "tail"), "Text nodes are text or tail, found %s" % key + return base.TEXT, ensure_str(getattr(node, key)) + + elif isinstance(node, Root): + return (base.DOCUMENT,) + + elif isinstance(node, Doctype): + return base.DOCTYPE, node.name, node.public_id, node.system_id + + elif isinstance(node, FragmentWrapper) and not hasattr(node, "tag"): + return base.TEXT, ensure_str(node.obj) + + elif node.tag == etree.Comment: + return base.COMMENT, ensure_str(node.text) + + elif node.tag == etree.Entity: + return base.ENTITY, ensure_str(node.text)[1:-1] # strip &; + + else: + # This is assumed to be an ordinary element + match = tag_regexp.match(ensure_str(node.tag)) + if match: + namespace, tag = match.groups() + else: + namespace = None + tag = ensure_str(node.tag) + attrs = {} + for name, value in list(node.attrib.items()): + name = ensure_str(name) + value = ensure_str(value) + match = tag_regexp.match(name) + if match: + attrs[(match.group(1), match.group(2))] = value + else: + attrs[(None, name)] = value + return (base.ELEMENT, namespace, self.filter.fromXmlName(tag), + attrs, len(node) > 0 or node.text) + + def getFirstChild(self, node): + assert not isinstance(node, tuple), "Text nodes have no children" + + assert len(node) or node.text, "Node has no children" + if node.text: + return (node, "text") + else: + return node[0] + + def getNextSibling(self, node): + if isinstance(node, tuple): # Text node + node, key = node + assert key in ("text", "tail"), "Text nodes are text or tail, found %s" % key + if key == "text": + # XXX: we cannot use a "bool(node) and node[0] or None" construct here + # because node[0] might evaluate to False if it has no child element + if len(node): + return node[0] + else: + return None + else: # tail + return node.getnext() + + return (node, "tail") if node.tail else node.getnext() + + def getParentNode(self, node): + if isinstance(node, tuple): # Text node + node, key = node + assert key in ("text", "tail"), "Text nodes are text or tail, found %s" % key + if key == "text": + return node + # else: fallback to "normal" processing + elif node in self.fragmentChildren: + return None + + return node.getparent() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/genshi.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/genshi.py new file mode 100644 index 0000000..7483be2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/html5lib/treewalkers/genshi.py @@ -0,0 +1,69 @@ +from __future__ import absolute_import, division, unicode_literals + +from genshi.core import QName +from genshi.core import START, END, XML_NAMESPACE, DOCTYPE, TEXT +from genshi.core import START_NS, END_NS, START_CDATA, END_CDATA, PI, COMMENT + +from . import base + +from ..constants import voidElements, namespaces + + +class TreeWalker(base.TreeWalker): + def __iter__(self): + # Buffer the events so we can pass in the following one + previous = None + for event in self.tree: + if previous is not None: + for token in self.tokens(previous, event): + yield token + previous = event + + # Don't forget the final event! + if previous is not None: + for token in self.tokens(previous, None): + yield token + + def tokens(self, event, next): + kind, data, _ = event + if kind == START: + tag, attribs = data + name = tag.localname + namespace = tag.namespace + converted_attribs = {} + for k, v in attribs: + if isinstance(k, QName): + converted_attribs[(k.namespace, k.localname)] = v + else: + converted_attribs[(None, k)] = v + + if namespace == namespaces["html"] and name in voidElements: + for token in self.emptyTag(namespace, name, converted_attribs, + not next or next[0] != END or + next[1] != tag): + yield token + else: + yield self.startTag(namespace, name, converted_attribs) + + elif kind == END: + name = data.localname + namespace = data.namespace + if namespace != namespaces["html"] or name not in voidElements: + yield self.endTag(namespace, name) + + elif kind == COMMENT: + yield self.comment(data) + + elif kind == TEXT: + for token in self.text(data): + yield token + + elif kind == DOCTYPE: + yield self.doctype(*data) + + elif kind in (XML_NAMESPACE, DOCTYPE, START_NS, END_NS, + START_CDATA, END_CDATA, PI): + pass + + else: + yield self.unknown(kind) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__init__.py new file mode 100644 index 0000000..847bf93 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/__init__.py @@ -0,0 +1,2 @@ +from .package_data import __version__ +from .core import * diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/codec.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/codec.py new file mode 100644 index 0000000..98c65ea --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/codec.py @@ -0,0 +1,118 @@ +from .core import encode, decode, alabel, ulabel, IDNAError +import codecs +import re + +_unicode_dots_re = re.compile(u'[\u002e\u3002\uff0e\uff61]') + +class Codec(codecs.Codec): + + def encode(self, data, errors='strict'): + + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return "", 0 + + return encode(data), len(data) + + def decode(self, data, errors='strict'): + + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return u"", 0 + + return decode(data), len(data) + +class IncrementalEncoder(codecs.BufferedIncrementalEncoder): + def _buffer_encode(self, data, errors, final): + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return ("", 0) + + labels = _unicode_dots_re.split(data) + trailing_dot = u'' + if labels: + if not labels[-1]: + trailing_dot = '.' + del labels[-1] + elif not final: + # Keep potentially unfinished label until the next call + del labels[-1] + if labels: + trailing_dot = '.' + + result = [] + size = 0 + for label in labels: + result.append(alabel(label)) + if size: + size += 1 + size += len(label) + + # Join with U+002E + result = ".".join(result) + trailing_dot + size += len(trailing_dot) + return (result, size) + +class IncrementalDecoder(codecs.BufferedIncrementalDecoder): + def _buffer_decode(self, data, errors, final): + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return (u"", 0) + + # IDNA allows decoding to operate on Unicode strings, too. + if isinstance(data, unicode): + labels = _unicode_dots_re.split(data) + else: + # Must be ASCII string + data = str(data) + unicode(data, "ascii") + labels = data.split(".") + + trailing_dot = u'' + if labels: + if not labels[-1]: + trailing_dot = u'.' + del labels[-1] + elif not final: + # Keep potentially unfinished label until the next call + del labels[-1] + if labels: + trailing_dot = u'.' + + result = [] + size = 0 + for label in labels: + result.append(ulabel(label)) + if size: + size += 1 + size += len(label) + + result = u".".join(result) + trailing_dot + size += len(trailing_dot) + return (result, size) + + +class StreamWriter(Codec, codecs.StreamWriter): + pass + +class StreamReader(Codec, codecs.StreamReader): + pass + +def getregentry(): + return codecs.CodecInfo( + name='idna', + encode=Codec().encode, + decode=Codec().decode, + incrementalencoder=IncrementalEncoder, + incrementaldecoder=IncrementalDecoder, + streamwriter=StreamWriter, + streamreader=StreamReader, + ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/compat.py new file mode 100644 index 0000000..4d47f33 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/compat.py @@ -0,0 +1,12 @@ +from .core import * +from .codec import * + +def ToASCII(label): + return encode(label) + +def ToUnicode(label): + return decode(label) + +def nameprep(s): + raise NotImplementedError("IDNA 2008 does not utilise nameprep protocol") + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/core.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/core.py new file mode 100644 index 0000000..104624a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/core.py @@ -0,0 +1,396 @@ +from . import idnadata +import bisect +import unicodedata +import re +import sys +from .intranges import intranges_contain + +_virama_combining_class = 9 +_alabel_prefix = b'xn--' +_unicode_dots_re = re.compile(u'[\u002e\u3002\uff0e\uff61]') + +if sys.version_info[0] == 3: + unicode = str + unichr = chr + +class IDNAError(UnicodeError): + """ Base exception for all IDNA-encoding related problems """ + pass + + +class IDNABidiError(IDNAError): + """ Exception when bidirectional requirements are not satisfied """ + pass + + +class InvalidCodepoint(IDNAError): + """ Exception when a disallowed or unallocated codepoint is used """ + pass + + +class InvalidCodepointContext(IDNAError): + """ Exception when the codepoint is not valid in the context it is used """ + pass + + +def _combining_class(cp): + v = unicodedata.combining(unichr(cp)) + if v == 0: + if not unicodedata.name(unichr(cp)): + raise ValueError("Unknown character in unicodedata") + return v + +def _is_script(cp, script): + return intranges_contain(ord(cp), idnadata.scripts[script]) + +def _punycode(s): + return s.encode('punycode') + +def _unot(s): + return 'U+{0:04X}'.format(s) + + +def valid_label_length(label): + + if len(label) > 63: + return False + return True + + +def valid_string_length(label, trailing_dot): + + if len(label) > (254 if trailing_dot else 253): + return False + return True + + +def check_bidi(label, check_ltr=False): + + # Bidi rules should only be applied if string contains RTL characters + bidi_label = False + for (idx, cp) in enumerate(label, 1): + direction = unicodedata.bidirectional(cp) + if direction == '': + # String likely comes from a newer version of Unicode + raise IDNABidiError('Unknown directionality in label {0} at position {1}'.format(repr(label), idx)) + if direction in ['R', 'AL', 'AN']: + bidi_label = True + if not bidi_label and not check_ltr: + return True + + # Bidi rule 1 + direction = unicodedata.bidirectional(label[0]) + if direction in ['R', 'AL']: + rtl = True + elif direction == 'L': + rtl = False + else: + raise IDNABidiError('First codepoint in label {0} must be directionality L, R or AL'.format(repr(label))) + + valid_ending = False + number_type = False + for (idx, cp) in enumerate(label, 1): + direction = unicodedata.bidirectional(cp) + + if rtl: + # Bidi rule 2 + if not direction in ['R', 'AL', 'AN', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']: + raise IDNABidiError('Invalid direction for codepoint at position {0} in a right-to-left label'.format(idx)) + # Bidi rule 3 + if direction in ['R', 'AL', 'EN', 'AN']: + valid_ending = True + elif direction != 'NSM': + valid_ending = False + # Bidi rule 4 + if direction in ['AN', 'EN']: + if not number_type: + number_type = direction + else: + if number_type != direction: + raise IDNABidiError('Can not mix numeral types in a right-to-left label') + else: + # Bidi rule 5 + if not direction in ['L', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']: + raise IDNABidiError('Invalid direction for codepoint at position {0} in a left-to-right label'.format(idx)) + # Bidi rule 6 + if direction in ['L', 'EN']: + valid_ending = True + elif direction != 'NSM': + valid_ending = False + + if not valid_ending: + raise IDNABidiError('Label ends with illegal codepoint directionality') + + return True + + +def check_initial_combiner(label): + + if unicodedata.category(label[0])[0] == 'M': + raise IDNAError('Label begins with an illegal combining character') + return True + + +def check_hyphen_ok(label): + + if label[2:4] == '--': + raise IDNAError('Label has disallowed hyphens in 3rd and 4th position') + if label[0] == '-' or label[-1] == '-': + raise IDNAError('Label must not start or end with a hyphen') + return True + + +def check_nfc(label): + + if unicodedata.normalize('NFC', label) != label: + raise IDNAError('Label must be in Normalization Form C') + + +def valid_contextj(label, pos): + + cp_value = ord(label[pos]) + + if cp_value == 0x200c: + + if pos > 0: + if _combining_class(ord(label[pos - 1])) == _virama_combining_class: + return True + + ok = False + for i in range(pos-1, -1, -1): + joining_type = idnadata.joining_types.get(ord(label[i])) + if joining_type == ord('T'): + continue + if joining_type in [ord('L'), ord('D')]: + ok = True + break + + if not ok: + return False + + ok = False + for i in range(pos+1, len(label)): + joining_type = idnadata.joining_types.get(ord(label[i])) + if joining_type == ord('T'): + continue + if joining_type in [ord('R'), ord('D')]: + ok = True + break + return ok + + if cp_value == 0x200d: + + if pos > 0: + if _combining_class(ord(label[pos - 1])) == _virama_combining_class: + return True + return False + + else: + + return False + + +def valid_contexto(label, pos, exception=False): + + cp_value = ord(label[pos]) + + if cp_value == 0x00b7: + if 0 < pos < len(label)-1: + if ord(label[pos - 1]) == 0x006c and ord(label[pos + 1]) == 0x006c: + return True + return False + + elif cp_value == 0x0375: + if pos < len(label)-1 and len(label) > 1: + return _is_script(label[pos + 1], 'Greek') + return False + + elif cp_value == 0x05f3 or cp_value == 0x05f4: + if pos > 0: + return _is_script(label[pos - 1], 'Hebrew') + return False + + elif cp_value == 0x30fb: + for cp in label: + if cp == u'\u30fb': + continue + if _is_script(cp, 'Hiragana') or _is_script(cp, 'Katakana') or _is_script(cp, 'Han'): + return True + return False + + elif 0x660 <= cp_value <= 0x669: + for cp in label: + if 0x6f0 <= ord(cp) <= 0x06f9: + return False + return True + + elif 0x6f0 <= cp_value <= 0x6f9: + for cp in label: + if 0x660 <= ord(cp) <= 0x0669: + return False + return True + + +def check_label(label): + + if isinstance(label, (bytes, bytearray)): + label = label.decode('utf-8') + if len(label) == 0: + raise IDNAError('Empty Label') + + check_nfc(label) + check_hyphen_ok(label) + check_initial_combiner(label) + + for (pos, cp) in enumerate(label): + cp_value = ord(cp) + if intranges_contain(cp_value, idnadata.codepoint_classes['PVALID']): + continue + elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTJ']): + try: + if not valid_contextj(label, pos): + raise InvalidCodepointContext('Joiner {0} not allowed at position {1} in {2}'.format( + _unot(cp_value), pos+1, repr(label))) + except ValueError: + raise IDNAError('Unknown codepoint adjacent to joiner {0} at position {1} in {2}'.format( + _unot(cp_value), pos+1, repr(label))) + elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTO']): + if not valid_contexto(label, pos): + raise InvalidCodepointContext('Codepoint {0} not allowed at position {1} in {2}'.format(_unot(cp_value), pos+1, repr(label))) + else: + raise InvalidCodepoint('Codepoint {0} at position {1} of {2} not allowed'.format(_unot(cp_value), pos+1, repr(label))) + + check_bidi(label) + + +def alabel(label): + + try: + label = label.encode('ascii') + ulabel(label) + if not valid_label_length(label): + raise IDNAError('Label too long') + return label + except UnicodeEncodeError: + pass + + if not label: + raise IDNAError('No Input') + + label = unicode(label) + check_label(label) + label = _punycode(label) + label = _alabel_prefix + label + + if not valid_label_length(label): + raise IDNAError('Label too long') + + return label + + +def ulabel(label): + + if not isinstance(label, (bytes, bytearray)): + try: + label = label.encode('ascii') + except UnicodeEncodeError: + check_label(label) + return label + + label = label.lower() + if label.startswith(_alabel_prefix): + label = label[len(_alabel_prefix):] + else: + check_label(label) + return label.decode('ascii') + + label = label.decode('punycode') + check_label(label) + return label + + +def uts46_remap(domain, std3_rules=True, transitional=False): + """Re-map the characters in the string according to UTS46 processing.""" + from .uts46data import uts46data + output = u"" + try: + for pos, char in enumerate(domain): + code_point = ord(char) + uts46row = uts46data[code_point if code_point < 256 else + bisect.bisect_left(uts46data, (code_point, "Z")) - 1] + status = uts46row[1] + replacement = uts46row[2] if len(uts46row) == 3 else None + if (status == "V" or + (status == "D" and not transitional) or + (status == "3" and not std3_rules and replacement is None)): + output += char + elif replacement is not None and (status == "M" or + (status == "3" and not std3_rules) or + (status == "D" and transitional)): + output += replacement + elif status != "I": + raise IndexError() + return unicodedata.normalize("NFC", output) + except IndexError: + raise InvalidCodepoint( + "Codepoint {0} not allowed at position {1} in {2}".format( + _unot(code_point), pos + 1, repr(domain))) + + +def encode(s, strict=False, uts46=False, std3_rules=False, transitional=False): + + if isinstance(s, (bytes, bytearray)): + s = s.decode("ascii") + if uts46: + s = uts46_remap(s, std3_rules, transitional) + trailing_dot = False + result = [] + if strict: + labels = s.split('.') + else: + labels = _unicode_dots_re.split(s) + if not labels or labels == ['']: + raise IDNAError('Empty domain') + if labels[-1] == '': + del labels[-1] + trailing_dot = True + for label in labels: + s = alabel(label) + if s: + result.append(s) + else: + raise IDNAError('Empty label') + if trailing_dot: + result.append(b'') + s = b'.'.join(result) + if not valid_string_length(s, trailing_dot): + raise IDNAError('Domain too long') + return s + + +def decode(s, strict=False, uts46=False, std3_rules=False): + + if isinstance(s, (bytes, bytearray)): + s = s.decode("ascii") + if uts46: + s = uts46_remap(s, std3_rules, False) + trailing_dot = False + result = [] + if not strict: + labels = _unicode_dots_re.split(s) + else: + labels = s.split(u'.') + if not labels or labels == ['']: + raise IDNAError('Empty domain') + if not labels[-1]: + del labels[-1] + trailing_dot = True + for label in labels: + s = ulabel(label) + if s: + result.append(s) + else: + raise IDNAError('Empty label') + if trailing_dot: + result.append(u'') + return u'.'.join(result) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/idnadata.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/idnadata.py new file mode 100644 index 0000000..a80c959 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/idnadata.py @@ -0,0 +1,1979 @@ +# This file is automatically generated by tools/idna-data + +__version__ = "11.0.0" +scripts = { + 'Greek': ( + 0x37000000374, + 0x37500000378, + 0x37a0000037e, + 0x37f00000380, + 0x38400000385, + 0x38600000387, + 0x3880000038b, + 0x38c0000038d, + 0x38e000003a2, + 0x3a3000003e2, + 0x3f000000400, + 0x1d2600001d2b, + 0x1d5d00001d62, + 0x1d6600001d6b, + 0x1dbf00001dc0, + 0x1f0000001f16, + 0x1f1800001f1e, + 0x1f2000001f46, + 0x1f4800001f4e, + 0x1f5000001f58, + 0x1f5900001f5a, + 0x1f5b00001f5c, + 0x1f5d00001f5e, + 0x1f5f00001f7e, + 0x1f8000001fb5, + 0x1fb600001fc5, + 0x1fc600001fd4, + 0x1fd600001fdc, + 0x1fdd00001ff0, + 0x1ff200001ff5, + 0x1ff600001fff, + 0x212600002127, + 0xab650000ab66, + 0x101400001018f, + 0x101a0000101a1, + 0x1d2000001d246, + ), + 'Han': ( + 0x2e8000002e9a, + 0x2e9b00002ef4, + 0x2f0000002fd6, + 0x300500003006, + 0x300700003008, + 0x30210000302a, + 0x30380000303c, + 0x340000004db6, + 0x4e0000009ff0, + 0xf9000000fa6e, + 0xfa700000fada, + 0x200000002a6d7, + 0x2a7000002b735, + 0x2b7400002b81e, + 0x2b8200002cea2, + 0x2ceb00002ebe1, + 0x2f8000002fa1e, + ), + 'Hebrew': ( + 0x591000005c8, + 0x5d0000005eb, + 0x5ef000005f5, + 0xfb1d0000fb37, + 0xfb380000fb3d, + 0xfb3e0000fb3f, + 0xfb400000fb42, + 0xfb430000fb45, + 0xfb460000fb50, + ), + 'Hiragana': ( + 0x304100003097, + 0x309d000030a0, + 0x1b0010001b11f, + 0x1f2000001f201, + ), + 'Katakana': ( + 0x30a1000030fb, + 0x30fd00003100, + 0x31f000003200, + 0x32d0000032ff, + 0x330000003358, + 0xff660000ff70, + 0xff710000ff9e, + 0x1b0000001b001, + ), +} +joining_types = { + 0x600: 85, + 0x601: 85, + 0x602: 85, + 0x603: 85, + 0x604: 85, + 0x605: 85, + 0x608: 85, + 0x60b: 85, + 0x620: 68, + 0x621: 85, + 0x622: 82, + 0x623: 82, + 0x624: 82, + 0x625: 82, + 0x626: 68, + 0x627: 82, + 0x628: 68, + 0x629: 82, + 0x62a: 68, + 0x62b: 68, + 0x62c: 68, + 0x62d: 68, + 0x62e: 68, + 0x62f: 82, + 0x630: 82, + 0x631: 82, + 0x632: 82, + 0x633: 68, + 0x634: 68, + 0x635: 68, + 0x636: 68, + 0x637: 68, + 0x638: 68, + 0x639: 68, + 0x63a: 68, + 0x63b: 68, + 0x63c: 68, + 0x63d: 68, + 0x63e: 68, + 0x63f: 68, + 0x640: 67, + 0x641: 68, + 0x642: 68, + 0x643: 68, + 0x644: 68, + 0x645: 68, + 0x646: 68, + 0x647: 68, + 0x648: 82, + 0x649: 68, + 0x64a: 68, + 0x66e: 68, + 0x66f: 68, + 0x671: 82, + 0x672: 82, + 0x673: 82, + 0x674: 85, + 0x675: 82, + 0x676: 82, + 0x677: 82, + 0x678: 68, + 0x679: 68, + 0x67a: 68, + 0x67b: 68, + 0x67c: 68, + 0x67d: 68, + 0x67e: 68, + 0x67f: 68, + 0x680: 68, + 0x681: 68, + 0x682: 68, + 0x683: 68, + 0x684: 68, + 0x685: 68, + 0x686: 68, + 0x687: 68, + 0x688: 82, + 0x689: 82, + 0x68a: 82, + 0x68b: 82, + 0x68c: 82, + 0x68d: 82, + 0x68e: 82, + 0x68f: 82, + 0x690: 82, + 0x691: 82, + 0x692: 82, + 0x693: 82, + 0x694: 82, + 0x695: 82, + 0x696: 82, + 0x697: 82, + 0x698: 82, + 0x699: 82, + 0x69a: 68, + 0x69b: 68, + 0x69c: 68, + 0x69d: 68, + 0x69e: 68, + 0x69f: 68, + 0x6a0: 68, + 0x6a1: 68, + 0x6a2: 68, + 0x6a3: 68, + 0x6a4: 68, + 0x6a5: 68, + 0x6a6: 68, + 0x6a7: 68, + 0x6a8: 68, + 0x6a9: 68, + 0x6aa: 68, + 0x6ab: 68, + 0x6ac: 68, + 0x6ad: 68, + 0x6ae: 68, + 0x6af: 68, + 0x6b0: 68, + 0x6b1: 68, + 0x6b2: 68, + 0x6b3: 68, + 0x6b4: 68, + 0x6b5: 68, + 0x6b6: 68, + 0x6b7: 68, + 0x6b8: 68, + 0x6b9: 68, + 0x6ba: 68, + 0x6bb: 68, + 0x6bc: 68, + 0x6bd: 68, + 0x6be: 68, + 0x6bf: 68, + 0x6c0: 82, + 0x6c1: 68, + 0x6c2: 68, + 0x6c3: 82, + 0x6c4: 82, + 0x6c5: 82, + 0x6c6: 82, + 0x6c7: 82, + 0x6c8: 82, + 0x6c9: 82, + 0x6ca: 82, + 0x6cb: 82, + 0x6cc: 68, + 0x6cd: 82, + 0x6ce: 68, + 0x6cf: 82, + 0x6d0: 68, + 0x6d1: 68, + 0x6d2: 82, + 0x6d3: 82, + 0x6d5: 82, + 0x6dd: 85, + 0x6ee: 82, + 0x6ef: 82, + 0x6fa: 68, + 0x6fb: 68, + 0x6fc: 68, + 0x6ff: 68, + 0x70f: 84, + 0x710: 82, + 0x712: 68, + 0x713: 68, + 0x714: 68, + 0x715: 82, + 0x716: 82, + 0x717: 82, + 0x718: 82, + 0x719: 82, + 0x71a: 68, + 0x71b: 68, + 0x71c: 68, + 0x71d: 68, + 0x71e: 82, + 0x71f: 68, + 0x720: 68, + 0x721: 68, + 0x722: 68, + 0x723: 68, + 0x724: 68, + 0x725: 68, + 0x726: 68, + 0x727: 68, + 0x728: 82, + 0x729: 68, + 0x72a: 82, + 0x72b: 68, + 0x72c: 82, + 0x72d: 68, + 0x72e: 68, + 0x72f: 82, + 0x74d: 82, + 0x74e: 68, + 0x74f: 68, + 0x750: 68, + 0x751: 68, + 0x752: 68, + 0x753: 68, + 0x754: 68, + 0x755: 68, + 0x756: 68, + 0x757: 68, + 0x758: 68, + 0x759: 82, + 0x75a: 82, + 0x75b: 82, + 0x75c: 68, + 0x75d: 68, + 0x75e: 68, + 0x75f: 68, + 0x760: 68, + 0x761: 68, + 0x762: 68, + 0x763: 68, + 0x764: 68, + 0x765: 68, + 0x766: 68, + 0x767: 68, + 0x768: 68, + 0x769: 68, + 0x76a: 68, + 0x76b: 82, + 0x76c: 82, + 0x76d: 68, + 0x76e: 68, + 0x76f: 68, + 0x770: 68, + 0x771: 82, + 0x772: 68, + 0x773: 82, + 0x774: 82, + 0x775: 68, + 0x776: 68, + 0x777: 68, + 0x778: 82, + 0x779: 82, + 0x77a: 68, + 0x77b: 68, + 0x77c: 68, + 0x77d: 68, + 0x77e: 68, + 0x77f: 68, + 0x7ca: 68, + 0x7cb: 68, + 0x7cc: 68, + 0x7cd: 68, + 0x7ce: 68, + 0x7cf: 68, + 0x7d0: 68, + 0x7d1: 68, + 0x7d2: 68, + 0x7d3: 68, + 0x7d4: 68, + 0x7d5: 68, + 0x7d6: 68, + 0x7d7: 68, + 0x7d8: 68, + 0x7d9: 68, + 0x7da: 68, + 0x7db: 68, + 0x7dc: 68, + 0x7dd: 68, + 0x7de: 68, + 0x7df: 68, + 0x7e0: 68, + 0x7e1: 68, + 0x7e2: 68, + 0x7e3: 68, + 0x7e4: 68, + 0x7e5: 68, + 0x7e6: 68, + 0x7e7: 68, + 0x7e8: 68, + 0x7e9: 68, + 0x7ea: 68, + 0x7fa: 67, + 0x840: 82, + 0x841: 68, + 0x842: 68, + 0x843: 68, + 0x844: 68, + 0x845: 68, + 0x846: 82, + 0x847: 82, + 0x848: 68, + 0x849: 82, + 0x84a: 68, + 0x84b: 68, + 0x84c: 68, + 0x84d: 68, + 0x84e: 68, + 0x84f: 68, + 0x850: 68, + 0x851: 68, + 0x852: 68, + 0x853: 68, + 0x854: 82, + 0x855: 68, + 0x856: 85, + 0x857: 85, + 0x858: 85, + 0x860: 68, + 0x861: 85, + 0x862: 68, + 0x863: 68, + 0x864: 68, + 0x865: 68, + 0x866: 85, + 0x867: 82, + 0x868: 68, + 0x869: 82, + 0x86a: 82, + 0x8a0: 68, + 0x8a1: 68, + 0x8a2: 68, + 0x8a3: 68, + 0x8a4: 68, + 0x8a5: 68, + 0x8a6: 68, + 0x8a7: 68, + 0x8a8: 68, + 0x8a9: 68, + 0x8aa: 82, + 0x8ab: 82, + 0x8ac: 82, + 0x8ad: 85, + 0x8ae: 82, + 0x8af: 68, + 0x8b0: 68, + 0x8b1: 82, + 0x8b2: 82, + 0x8b3: 68, + 0x8b4: 68, + 0x8b6: 68, + 0x8b7: 68, + 0x8b8: 68, + 0x8b9: 82, + 0x8ba: 68, + 0x8bb: 68, + 0x8bc: 68, + 0x8bd: 68, + 0x8e2: 85, + 0x1806: 85, + 0x1807: 68, + 0x180a: 67, + 0x180e: 85, + 0x1820: 68, + 0x1821: 68, + 0x1822: 68, + 0x1823: 68, + 0x1824: 68, + 0x1825: 68, + 0x1826: 68, + 0x1827: 68, + 0x1828: 68, + 0x1829: 68, + 0x182a: 68, + 0x182b: 68, + 0x182c: 68, + 0x182d: 68, + 0x182e: 68, + 0x182f: 68, + 0x1830: 68, + 0x1831: 68, + 0x1832: 68, + 0x1833: 68, + 0x1834: 68, + 0x1835: 68, + 0x1836: 68, + 0x1837: 68, + 0x1838: 68, + 0x1839: 68, + 0x183a: 68, + 0x183b: 68, + 0x183c: 68, + 0x183d: 68, + 0x183e: 68, + 0x183f: 68, + 0x1840: 68, + 0x1841: 68, + 0x1842: 68, + 0x1843: 68, + 0x1844: 68, + 0x1845: 68, + 0x1846: 68, + 0x1847: 68, + 0x1848: 68, + 0x1849: 68, + 0x184a: 68, + 0x184b: 68, + 0x184c: 68, + 0x184d: 68, + 0x184e: 68, + 0x184f: 68, + 0x1850: 68, + 0x1851: 68, + 0x1852: 68, + 0x1853: 68, + 0x1854: 68, + 0x1855: 68, + 0x1856: 68, + 0x1857: 68, + 0x1858: 68, + 0x1859: 68, + 0x185a: 68, + 0x185b: 68, + 0x185c: 68, + 0x185d: 68, + 0x185e: 68, + 0x185f: 68, + 0x1860: 68, + 0x1861: 68, + 0x1862: 68, + 0x1863: 68, + 0x1864: 68, + 0x1865: 68, + 0x1866: 68, + 0x1867: 68, + 0x1868: 68, + 0x1869: 68, + 0x186a: 68, + 0x186b: 68, + 0x186c: 68, + 0x186d: 68, + 0x186e: 68, + 0x186f: 68, + 0x1870: 68, + 0x1871: 68, + 0x1872: 68, + 0x1873: 68, + 0x1874: 68, + 0x1875: 68, + 0x1876: 68, + 0x1877: 68, + 0x1878: 68, + 0x1880: 85, + 0x1881: 85, + 0x1882: 85, + 0x1883: 85, + 0x1884: 85, + 0x1885: 84, + 0x1886: 84, + 0x1887: 68, + 0x1888: 68, + 0x1889: 68, + 0x188a: 68, + 0x188b: 68, + 0x188c: 68, + 0x188d: 68, + 0x188e: 68, + 0x188f: 68, + 0x1890: 68, + 0x1891: 68, + 0x1892: 68, + 0x1893: 68, + 0x1894: 68, + 0x1895: 68, + 0x1896: 68, + 0x1897: 68, + 0x1898: 68, + 0x1899: 68, + 0x189a: 68, + 0x189b: 68, + 0x189c: 68, + 0x189d: 68, + 0x189e: 68, + 0x189f: 68, + 0x18a0: 68, + 0x18a1: 68, + 0x18a2: 68, + 0x18a3: 68, + 0x18a4: 68, + 0x18a5: 68, + 0x18a6: 68, + 0x18a7: 68, + 0x18a8: 68, + 0x18aa: 68, + 0x200c: 85, + 0x200d: 67, + 0x202f: 85, + 0x2066: 85, + 0x2067: 85, + 0x2068: 85, + 0x2069: 85, + 0xa840: 68, + 0xa841: 68, + 0xa842: 68, + 0xa843: 68, + 0xa844: 68, + 0xa845: 68, + 0xa846: 68, + 0xa847: 68, + 0xa848: 68, + 0xa849: 68, + 0xa84a: 68, + 0xa84b: 68, + 0xa84c: 68, + 0xa84d: 68, + 0xa84e: 68, + 0xa84f: 68, + 0xa850: 68, + 0xa851: 68, + 0xa852: 68, + 0xa853: 68, + 0xa854: 68, + 0xa855: 68, + 0xa856: 68, + 0xa857: 68, + 0xa858: 68, + 0xa859: 68, + 0xa85a: 68, + 0xa85b: 68, + 0xa85c: 68, + 0xa85d: 68, + 0xa85e: 68, + 0xa85f: 68, + 0xa860: 68, + 0xa861: 68, + 0xa862: 68, + 0xa863: 68, + 0xa864: 68, + 0xa865: 68, + 0xa866: 68, + 0xa867: 68, + 0xa868: 68, + 0xa869: 68, + 0xa86a: 68, + 0xa86b: 68, + 0xa86c: 68, + 0xa86d: 68, + 0xa86e: 68, + 0xa86f: 68, + 0xa870: 68, + 0xa871: 68, + 0xa872: 76, + 0xa873: 85, + 0x10ac0: 68, + 0x10ac1: 68, + 0x10ac2: 68, + 0x10ac3: 68, + 0x10ac4: 68, + 0x10ac5: 82, + 0x10ac6: 85, + 0x10ac7: 82, + 0x10ac8: 85, + 0x10ac9: 82, + 0x10aca: 82, + 0x10acb: 85, + 0x10acc: 85, + 0x10acd: 76, + 0x10ace: 82, + 0x10acf: 82, + 0x10ad0: 82, + 0x10ad1: 82, + 0x10ad2: 82, + 0x10ad3: 68, + 0x10ad4: 68, + 0x10ad5: 68, + 0x10ad6: 68, + 0x10ad7: 76, + 0x10ad8: 68, + 0x10ad9: 68, + 0x10ada: 68, + 0x10adb: 68, + 0x10adc: 68, + 0x10add: 82, + 0x10ade: 68, + 0x10adf: 68, + 0x10ae0: 68, + 0x10ae1: 82, + 0x10ae2: 85, + 0x10ae3: 85, + 0x10ae4: 82, + 0x10aeb: 68, + 0x10aec: 68, + 0x10aed: 68, + 0x10aee: 68, + 0x10aef: 82, + 0x10b80: 68, + 0x10b81: 82, + 0x10b82: 68, + 0x10b83: 82, + 0x10b84: 82, + 0x10b85: 82, + 0x10b86: 68, + 0x10b87: 68, + 0x10b88: 68, + 0x10b89: 82, + 0x10b8a: 68, + 0x10b8b: 68, + 0x10b8c: 82, + 0x10b8d: 68, + 0x10b8e: 82, + 0x10b8f: 82, + 0x10b90: 68, + 0x10b91: 82, + 0x10ba9: 82, + 0x10baa: 82, + 0x10bab: 82, + 0x10bac: 82, + 0x10bad: 68, + 0x10bae: 68, + 0x10baf: 85, + 0x10d00: 76, + 0x10d01: 68, + 0x10d02: 68, + 0x10d03: 68, + 0x10d04: 68, + 0x10d05: 68, + 0x10d06: 68, + 0x10d07: 68, + 0x10d08: 68, + 0x10d09: 68, + 0x10d0a: 68, + 0x10d0b: 68, + 0x10d0c: 68, + 0x10d0d: 68, + 0x10d0e: 68, + 0x10d0f: 68, + 0x10d10: 68, + 0x10d11: 68, + 0x10d12: 68, + 0x10d13: 68, + 0x10d14: 68, + 0x10d15: 68, + 0x10d16: 68, + 0x10d17: 68, + 0x10d18: 68, + 0x10d19: 68, + 0x10d1a: 68, + 0x10d1b: 68, + 0x10d1c: 68, + 0x10d1d: 68, + 0x10d1e: 68, + 0x10d1f: 68, + 0x10d20: 68, + 0x10d21: 68, + 0x10d22: 82, + 0x10d23: 68, + 0x10f30: 68, + 0x10f31: 68, + 0x10f32: 68, + 0x10f33: 82, + 0x10f34: 68, + 0x10f35: 68, + 0x10f36: 68, + 0x10f37: 68, + 0x10f38: 68, + 0x10f39: 68, + 0x10f3a: 68, + 0x10f3b: 68, + 0x10f3c: 68, + 0x10f3d: 68, + 0x10f3e: 68, + 0x10f3f: 68, + 0x10f40: 68, + 0x10f41: 68, + 0x10f42: 68, + 0x10f43: 68, + 0x10f44: 68, + 0x10f45: 85, + 0x10f51: 68, + 0x10f52: 68, + 0x10f53: 68, + 0x10f54: 82, + 0x110bd: 85, + 0x110cd: 85, + 0x1e900: 68, + 0x1e901: 68, + 0x1e902: 68, + 0x1e903: 68, + 0x1e904: 68, + 0x1e905: 68, + 0x1e906: 68, + 0x1e907: 68, + 0x1e908: 68, + 0x1e909: 68, + 0x1e90a: 68, + 0x1e90b: 68, + 0x1e90c: 68, + 0x1e90d: 68, + 0x1e90e: 68, + 0x1e90f: 68, + 0x1e910: 68, + 0x1e911: 68, + 0x1e912: 68, + 0x1e913: 68, + 0x1e914: 68, + 0x1e915: 68, + 0x1e916: 68, + 0x1e917: 68, + 0x1e918: 68, + 0x1e919: 68, + 0x1e91a: 68, + 0x1e91b: 68, + 0x1e91c: 68, + 0x1e91d: 68, + 0x1e91e: 68, + 0x1e91f: 68, + 0x1e920: 68, + 0x1e921: 68, + 0x1e922: 68, + 0x1e923: 68, + 0x1e924: 68, + 0x1e925: 68, + 0x1e926: 68, + 0x1e927: 68, + 0x1e928: 68, + 0x1e929: 68, + 0x1e92a: 68, + 0x1e92b: 68, + 0x1e92c: 68, + 0x1e92d: 68, + 0x1e92e: 68, + 0x1e92f: 68, + 0x1e930: 68, + 0x1e931: 68, + 0x1e932: 68, + 0x1e933: 68, + 0x1e934: 68, + 0x1e935: 68, + 0x1e936: 68, + 0x1e937: 68, + 0x1e938: 68, + 0x1e939: 68, + 0x1e93a: 68, + 0x1e93b: 68, + 0x1e93c: 68, + 0x1e93d: 68, + 0x1e93e: 68, + 0x1e93f: 68, + 0x1e940: 68, + 0x1e941: 68, + 0x1e942: 68, + 0x1e943: 68, +} +codepoint_classes = { + 'PVALID': ( + 0x2d0000002e, + 0x300000003a, + 0x610000007b, + 0xdf000000f7, + 0xf800000100, + 0x10100000102, + 0x10300000104, + 0x10500000106, + 0x10700000108, + 0x1090000010a, + 0x10b0000010c, + 0x10d0000010e, + 0x10f00000110, + 0x11100000112, + 0x11300000114, + 0x11500000116, + 0x11700000118, + 0x1190000011a, + 0x11b0000011c, + 0x11d0000011e, + 0x11f00000120, + 0x12100000122, + 0x12300000124, + 0x12500000126, + 0x12700000128, + 0x1290000012a, + 0x12b0000012c, + 0x12d0000012e, + 0x12f00000130, + 0x13100000132, + 0x13500000136, + 0x13700000139, + 0x13a0000013b, + 0x13c0000013d, + 0x13e0000013f, + 0x14200000143, + 0x14400000145, + 0x14600000147, + 0x14800000149, + 0x14b0000014c, + 0x14d0000014e, + 0x14f00000150, + 0x15100000152, + 0x15300000154, + 0x15500000156, + 0x15700000158, + 0x1590000015a, + 0x15b0000015c, + 0x15d0000015e, + 0x15f00000160, + 0x16100000162, + 0x16300000164, + 0x16500000166, + 0x16700000168, + 0x1690000016a, + 0x16b0000016c, + 0x16d0000016e, + 0x16f00000170, + 0x17100000172, + 0x17300000174, + 0x17500000176, + 0x17700000178, + 0x17a0000017b, + 0x17c0000017d, + 0x17e0000017f, + 0x18000000181, + 0x18300000184, + 0x18500000186, + 0x18800000189, + 0x18c0000018e, + 0x19200000193, + 0x19500000196, + 0x1990000019c, + 0x19e0000019f, + 0x1a1000001a2, + 0x1a3000001a4, + 0x1a5000001a6, + 0x1a8000001a9, + 0x1aa000001ac, + 0x1ad000001ae, + 0x1b0000001b1, + 0x1b4000001b5, + 0x1b6000001b7, + 0x1b9000001bc, + 0x1bd000001c4, + 0x1ce000001cf, + 0x1d0000001d1, + 0x1d2000001d3, + 0x1d4000001d5, + 0x1d6000001d7, + 0x1d8000001d9, + 0x1da000001db, + 0x1dc000001de, + 0x1df000001e0, + 0x1e1000001e2, + 0x1e3000001e4, + 0x1e5000001e6, + 0x1e7000001e8, + 0x1e9000001ea, + 0x1eb000001ec, + 0x1ed000001ee, + 0x1ef000001f1, + 0x1f5000001f6, + 0x1f9000001fa, + 0x1fb000001fc, + 0x1fd000001fe, + 0x1ff00000200, + 0x20100000202, + 0x20300000204, + 0x20500000206, + 0x20700000208, + 0x2090000020a, + 0x20b0000020c, + 0x20d0000020e, + 0x20f00000210, + 0x21100000212, + 0x21300000214, + 0x21500000216, + 0x21700000218, + 0x2190000021a, + 0x21b0000021c, + 0x21d0000021e, + 0x21f00000220, + 0x22100000222, + 0x22300000224, + 0x22500000226, + 0x22700000228, + 0x2290000022a, + 0x22b0000022c, + 0x22d0000022e, + 0x22f00000230, + 0x23100000232, + 0x2330000023a, + 0x23c0000023d, + 0x23f00000241, + 0x24200000243, + 0x24700000248, + 0x2490000024a, + 0x24b0000024c, + 0x24d0000024e, + 0x24f000002b0, + 0x2b9000002c2, + 0x2c6000002d2, + 0x2ec000002ed, + 0x2ee000002ef, + 0x30000000340, + 0x34200000343, + 0x3460000034f, + 0x35000000370, + 0x37100000372, + 0x37300000374, + 0x37700000378, + 0x37b0000037e, + 0x39000000391, + 0x3ac000003cf, + 0x3d7000003d8, + 0x3d9000003da, + 0x3db000003dc, + 0x3dd000003de, + 0x3df000003e0, + 0x3e1000003e2, + 0x3e3000003e4, + 0x3e5000003e6, + 0x3e7000003e8, + 0x3e9000003ea, + 0x3eb000003ec, + 0x3ed000003ee, + 0x3ef000003f0, + 0x3f3000003f4, + 0x3f8000003f9, + 0x3fb000003fd, + 0x43000000460, + 0x46100000462, + 0x46300000464, + 0x46500000466, + 0x46700000468, + 0x4690000046a, + 0x46b0000046c, + 0x46d0000046e, + 0x46f00000470, + 0x47100000472, + 0x47300000474, + 0x47500000476, + 0x47700000478, + 0x4790000047a, + 0x47b0000047c, + 0x47d0000047e, + 0x47f00000480, + 0x48100000482, + 0x48300000488, + 0x48b0000048c, + 0x48d0000048e, + 0x48f00000490, + 0x49100000492, + 0x49300000494, + 0x49500000496, + 0x49700000498, + 0x4990000049a, + 0x49b0000049c, + 0x49d0000049e, + 0x49f000004a0, + 0x4a1000004a2, + 0x4a3000004a4, + 0x4a5000004a6, + 0x4a7000004a8, + 0x4a9000004aa, + 0x4ab000004ac, + 0x4ad000004ae, + 0x4af000004b0, + 0x4b1000004b2, + 0x4b3000004b4, + 0x4b5000004b6, + 0x4b7000004b8, + 0x4b9000004ba, + 0x4bb000004bc, + 0x4bd000004be, + 0x4bf000004c0, + 0x4c2000004c3, + 0x4c4000004c5, + 0x4c6000004c7, + 0x4c8000004c9, + 0x4ca000004cb, + 0x4cc000004cd, + 0x4ce000004d0, + 0x4d1000004d2, + 0x4d3000004d4, + 0x4d5000004d6, + 0x4d7000004d8, + 0x4d9000004da, + 0x4db000004dc, + 0x4dd000004de, + 0x4df000004e0, + 0x4e1000004e2, + 0x4e3000004e4, + 0x4e5000004e6, + 0x4e7000004e8, + 0x4e9000004ea, + 0x4eb000004ec, + 0x4ed000004ee, + 0x4ef000004f0, + 0x4f1000004f2, + 0x4f3000004f4, + 0x4f5000004f6, + 0x4f7000004f8, + 0x4f9000004fa, + 0x4fb000004fc, + 0x4fd000004fe, + 0x4ff00000500, + 0x50100000502, + 0x50300000504, + 0x50500000506, + 0x50700000508, + 0x5090000050a, + 0x50b0000050c, + 0x50d0000050e, + 0x50f00000510, + 0x51100000512, + 0x51300000514, + 0x51500000516, + 0x51700000518, + 0x5190000051a, + 0x51b0000051c, + 0x51d0000051e, + 0x51f00000520, + 0x52100000522, + 0x52300000524, + 0x52500000526, + 0x52700000528, + 0x5290000052a, + 0x52b0000052c, + 0x52d0000052e, + 0x52f00000530, + 0x5590000055a, + 0x56000000587, + 0x58800000589, + 0x591000005be, + 0x5bf000005c0, + 0x5c1000005c3, + 0x5c4000005c6, + 0x5c7000005c8, + 0x5d0000005eb, + 0x5ef000005f3, + 0x6100000061b, + 0x62000000640, + 0x64100000660, + 0x66e00000675, + 0x679000006d4, + 0x6d5000006dd, + 0x6df000006e9, + 0x6ea000006f0, + 0x6fa00000700, + 0x7100000074b, + 0x74d000007b2, + 0x7c0000007f6, + 0x7fd000007fe, + 0x8000000082e, + 0x8400000085c, + 0x8600000086b, + 0x8a0000008b5, + 0x8b6000008be, + 0x8d3000008e2, + 0x8e300000958, + 0x96000000964, + 0x96600000970, + 0x97100000984, + 0x9850000098d, + 0x98f00000991, + 0x993000009a9, + 0x9aa000009b1, + 0x9b2000009b3, + 0x9b6000009ba, + 0x9bc000009c5, + 0x9c7000009c9, + 0x9cb000009cf, + 0x9d7000009d8, + 0x9e0000009e4, + 0x9e6000009f2, + 0x9fc000009fd, + 0x9fe000009ff, + 0xa0100000a04, + 0xa0500000a0b, + 0xa0f00000a11, + 0xa1300000a29, + 0xa2a00000a31, + 0xa3200000a33, + 0xa3500000a36, + 0xa3800000a3a, + 0xa3c00000a3d, + 0xa3e00000a43, + 0xa4700000a49, + 0xa4b00000a4e, + 0xa5100000a52, + 0xa5c00000a5d, + 0xa6600000a76, + 0xa8100000a84, + 0xa8500000a8e, + 0xa8f00000a92, + 0xa9300000aa9, + 0xaaa00000ab1, + 0xab200000ab4, + 0xab500000aba, + 0xabc00000ac6, + 0xac700000aca, + 0xacb00000ace, + 0xad000000ad1, + 0xae000000ae4, + 0xae600000af0, + 0xaf900000b00, + 0xb0100000b04, + 0xb0500000b0d, + 0xb0f00000b11, + 0xb1300000b29, + 0xb2a00000b31, + 0xb3200000b34, + 0xb3500000b3a, + 0xb3c00000b45, + 0xb4700000b49, + 0xb4b00000b4e, + 0xb5600000b58, + 0xb5f00000b64, + 0xb6600000b70, + 0xb7100000b72, + 0xb8200000b84, + 0xb8500000b8b, + 0xb8e00000b91, + 0xb9200000b96, + 0xb9900000b9b, + 0xb9c00000b9d, + 0xb9e00000ba0, + 0xba300000ba5, + 0xba800000bab, + 0xbae00000bba, + 0xbbe00000bc3, + 0xbc600000bc9, + 0xbca00000bce, + 0xbd000000bd1, + 0xbd700000bd8, + 0xbe600000bf0, + 0xc0000000c0d, + 0xc0e00000c11, + 0xc1200000c29, + 0xc2a00000c3a, + 0xc3d00000c45, + 0xc4600000c49, + 0xc4a00000c4e, + 0xc5500000c57, + 0xc5800000c5b, + 0xc6000000c64, + 0xc6600000c70, + 0xc8000000c84, + 0xc8500000c8d, + 0xc8e00000c91, + 0xc9200000ca9, + 0xcaa00000cb4, + 0xcb500000cba, + 0xcbc00000cc5, + 0xcc600000cc9, + 0xcca00000cce, + 0xcd500000cd7, + 0xcde00000cdf, + 0xce000000ce4, + 0xce600000cf0, + 0xcf100000cf3, + 0xd0000000d04, + 0xd0500000d0d, + 0xd0e00000d11, + 0xd1200000d45, + 0xd4600000d49, + 0xd4a00000d4f, + 0xd5400000d58, + 0xd5f00000d64, + 0xd6600000d70, + 0xd7a00000d80, + 0xd8200000d84, + 0xd8500000d97, + 0xd9a00000db2, + 0xdb300000dbc, + 0xdbd00000dbe, + 0xdc000000dc7, + 0xdca00000dcb, + 0xdcf00000dd5, + 0xdd600000dd7, + 0xdd800000de0, + 0xde600000df0, + 0xdf200000df4, + 0xe0100000e33, + 0xe3400000e3b, + 0xe4000000e4f, + 0xe5000000e5a, + 0xe8100000e83, + 0xe8400000e85, + 0xe8700000e89, + 0xe8a00000e8b, + 0xe8d00000e8e, + 0xe9400000e98, + 0xe9900000ea0, + 0xea100000ea4, + 0xea500000ea6, + 0xea700000ea8, + 0xeaa00000eac, + 0xead00000eb3, + 0xeb400000eba, + 0xebb00000ebe, + 0xec000000ec5, + 0xec600000ec7, + 0xec800000ece, + 0xed000000eda, + 0xede00000ee0, + 0xf0000000f01, + 0xf0b00000f0c, + 0xf1800000f1a, + 0xf2000000f2a, + 0xf3500000f36, + 0xf3700000f38, + 0xf3900000f3a, + 0xf3e00000f43, + 0xf4400000f48, + 0xf4900000f4d, + 0xf4e00000f52, + 0xf5300000f57, + 0xf5800000f5c, + 0xf5d00000f69, + 0xf6a00000f6d, + 0xf7100000f73, + 0xf7400000f75, + 0xf7a00000f81, + 0xf8200000f85, + 0xf8600000f93, + 0xf9400000f98, + 0xf9900000f9d, + 0xf9e00000fa2, + 0xfa300000fa7, + 0xfa800000fac, + 0xfad00000fb9, + 0xfba00000fbd, + 0xfc600000fc7, + 0x10000000104a, + 0x10500000109e, + 0x10d0000010fb, + 0x10fd00001100, + 0x120000001249, + 0x124a0000124e, + 0x125000001257, + 0x125800001259, + 0x125a0000125e, + 0x126000001289, + 0x128a0000128e, + 0x1290000012b1, + 0x12b2000012b6, + 0x12b8000012bf, + 0x12c0000012c1, + 0x12c2000012c6, + 0x12c8000012d7, + 0x12d800001311, + 0x131200001316, + 0x13180000135b, + 0x135d00001360, + 0x138000001390, + 0x13a0000013f6, + 0x14010000166d, + 0x166f00001680, + 0x16810000169b, + 0x16a0000016eb, + 0x16f1000016f9, + 0x17000000170d, + 0x170e00001715, + 0x172000001735, + 0x174000001754, + 0x17600000176d, + 0x176e00001771, + 0x177200001774, + 0x1780000017b4, + 0x17b6000017d4, + 0x17d7000017d8, + 0x17dc000017de, + 0x17e0000017ea, + 0x18100000181a, + 0x182000001879, + 0x1880000018ab, + 0x18b0000018f6, + 0x19000000191f, + 0x19200000192c, + 0x19300000193c, + 0x19460000196e, + 0x197000001975, + 0x1980000019ac, + 0x19b0000019ca, + 0x19d0000019da, + 0x1a0000001a1c, + 0x1a2000001a5f, + 0x1a6000001a7d, + 0x1a7f00001a8a, + 0x1a9000001a9a, + 0x1aa700001aa8, + 0x1ab000001abe, + 0x1b0000001b4c, + 0x1b5000001b5a, + 0x1b6b00001b74, + 0x1b8000001bf4, + 0x1c0000001c38, + 0x1c4000001c4a, + 0x1c4d00001c7e, + 0x1cd000001cd3, + 0x1cd400001cfa, + 0x1d0000001d2c, + 0x1d2f00001d30, + 0x1d3b00001d3c, + 0x1d4e00001d4f, + 0x1d6b00001d78, + 0x1d7900001d9b, + 0x1dc000001dfa, + 0x1dfb00001e00, + 0x1e0100001e02, + 0x1e0300001e04, + 0x1e0500001e06, + 0x1e0700001e08, + 0x1e0900001e0a, + 0x1e0b00001e0c, + 0x1e0d00001e0e, + 0x1e0f00001e10, + 0x1e1100001e12, + 0x1e1300001e14, + 0x1e1500001e16, + 0x1e1700001e18, + 0x1e1900001e1a, + 0x1e1b00001e1c, + 0x1e1d00001e1e, + 0x1e1f00001e20, + 0x1e2100001e22, + 0x1e2300001e24, + 0x1e2500001e26, + 0x1e2700001e28, + 0x1e2900001e2a, + 0x1e2b00001e2c, + 0x1e2d00001e2e, + 0x1e2f00001e30, + 0x1e3100001e32, + 0x1e3300001e34, + 0x1e3500001e36, + 0x1e3700001e38, + 0x1e3900001e3a, + 0x1e3b00001e3c, + 0x1e3d00001e3e, + 0x1e3f00001e40, + 0x1e4100001e42, + 0x1e4300001e44, + 0x1e4500001e46, + 0x1e4700001e48, + 0x1e4900001e4a, + 0x1e4b00001e4c, + 0x1e4d00001e4e, + 0x1e4f00001e50, + 0x1e5100001e52, + 0x1e5300001e54, + 0x1e5500001e56, + 0x1e5700001e58, + 0x1e5900001e5a, + 0x1e5b00001e5c, + 0x1e5d00001e5e, + 0x1e5f00001e60, + 0x1e6100001e62, + 0x1e6300001e64, + 0x1e6500001e66, + 0x1e6700001e68, + 0x1e6900001e6a, + 0x1e6b00001e6c, + 0x1e6d00001e6e, + 0x1e6f00001e70, + 0x1e7100001e72, + 0x1e7300001e74, + 0x1e7500001e76, + 0x1e7700001e78, + 0x1e7900001e7a, + 0x1e7b00001e7c, + 0x1e7d00001e7e, + 0x1e7f00001e80, + 0x1e8100001e82, + 0x1e8300001e84, + 0x1e8500001e86, + 0x1e8700001e88, + 0x1e8900001e8a, + 0x1e8b00001e8c, + 0x1e8d00001e8e, + 0x1e8f00001e90, + 0x1e9100001e92, + 0x1e9300001e94, + 0x1e9500001e9a, + 0x1e9c00001e9e, + 0x1e9f00001ea0, + 0x1ea100001ea2, + 0x1ea300001ea4, + 0x1ea500001ea6, + 0x1ea700001ea8, + 0x1ea900001eaa, + 0x1eab00001eac, + 0x1ead00001eae, + 0x1eaf00001eb0, + 0x1eb100001eb2, + 0x1eb300001eb4, + 0x1eb500001eb6, + 0x1eb700001eb8, + 0x1eb900001eba, + 0x1ebb00001ebc, + 0x1ebd00001ebe, + 0x1ebf00001ec0, + 0x1ec100001ec2, + 0x1ec300001ec4, + 0x1ec500001ec6, + 0x1ec700001ec8, + 0x1ec900001eca, + 0x1ecb00001ecc, + 0x1ecd00001ece, + 0x1ecf00001ed0, + 0x1ed100001ed2, + 0x1ed300001ed4, + 0x1ed500001ed6, + 0x1ed700001ed8, + 0x1ed900001eda, + 0x1edb00001edc, + 0x1edd00001ede, + 0x1edf00001ee0, + 0x1ee100001ee2, + 0x1ee300001ee4, + 0x1ee500001ee6, + 0x1ee700001ee8, + 0x1ee900001eea, + 0x1eeb00001eec, + 0x1eed00001eee, + 0x1eef00001ef0, + 0x1ef100001ef2, + 0x1ef300001ef4, + 0x1ef500001ef6, + 0x1ef700001ef8, + 0x1ef900001efa, + 0x1efb00001efc, + 0x1efd00001efe, + 0x1eff00001f08, + 0x1f1000001f16, + 0x1f2000001f28, + 0x1f3000001f38, + 0x1f4000001f46, + 0x1f5000001f58, + 0x1f6000001f68, + 0x1f7000001f71, + 0x1f7200001f73, + 0x1f7400001f75, + 0x1f7600001f77, + 0x1f7800001f79, + 0x1f7a00001f7b, + 0x1f7c00001f7d, + 0x1fb000001fb2, + 0x1fb600001fb7, + 0x1fc600001fc7, + 0x1fd000001fd3, + 0x1fd600001fd8, + 0x1fe000001fe3, + 0x1fe400001fe8, + 0x1ff600001ff7, + 0x214e0000214f, + 0x218400002185, + 0x2c3000002c5f, + 0x2c6100002c62, + 0x2c6500002c67, + 0x2c6800002c69, + 0x2c6a00002c6b, + 0x2c6c00002c6d, + 0x2c7100002c72, + 0x2c7300002c75, + 0x2c7600002c7c, + 0x2c8100002c82, + 0x2c8300002c84, + 0x2c8500002c86, + 0x2c8700002c88, + 0x2c8900002c8a, + 0x2c8b00002c8c, + 0x2c8d00002c8e, + 0x2c8f00002c90, + 0x2c9100002c92, + 0x2c9300002c94, + 0x2c9500002c96, + 0x2c9700002c98, + 0x2c9900002c9a, + 0x2c9b00002c9c, + 0x2c9d00002c9e, + 0x2c9f00002ca0, + 0x2ca100002ca2, + 0x2ca300002ca4, + 0x2ca500002ca6, + 0x2ca700002ca8, + 0x2ca900002caa, + 0x2cab00002cac, + 0x2cad00002cae, + 0x2caf00002cb0, + 0x2cb100002cb2, + 0x2cb300002cb4, + 0x2cb500002cb6, + 0x2cb700002cb8, + 0x2cb900002cba, + 0x2cbb00002cbc, + 0x2cbd00002cbe, + 0x2cbf00002cc0, + 0x2cc100002cc2, + 0x2cc300002cc4, + 0x2cc500002cc6, + 0x2cc700002cc8, + 0x2cc900002cca, + 0x2ccb00002ccc, + 0x2ccd00002cce, + 0x2ccf00002cd0, + 0x2cd100002cd2, + 0x2cd300002cd4, + 0x2cd500002cd6, + 0x2cd700002cd8, + 0x2cd900002cda, + 0x2cdb00002cdc, + 0x2cdd00002cde, + 0x2cdf00002ce0, + 0x2ce100002ce2, + 0x2ce300002ce5, + 0x2cec00002ced, + 0x2cee00002cf2, + 0x2cf300002cf4, + 0x2d0000002d26, + 0x2d2700002d28, + 0x2d2d00002d2e, + 0x2d3000002d68, + 0x2d7f00002d97, + 0x2da000002da7, + 0x2da800002daf, + 0x2db000002db7, + 0x2db800002dbf, + 0x2dc000002dc7, + 0x2dc800002dcf, + 0x2dd000002dd7, + 0x2dd800002ddf, + 0x2de000002e00, + 0x2e2f00002e30, + 0x300500003008, + 0x302a0000302e, + 0x303c0000303d, + 0x304100003097, + 0x30990000309b, + 0x309d0000309f, + 0x30a1000030fb, + 0x30fc000030ff, + 0x310500003130, + 0x31a0000031bb, + 0x31f000003200, + 0x340000004db6, + 0x4e0000009ff0, + 0xa0000000a48d, + 0xa4d00000a4fe, + 0xa5000000a60d, + 0xa6100000a62c, + 0xa6410000a642, + 0xa6430000a644, + 0xa6450000a646, + 0xa6470000a648, + 0xa6490000a64a, + 0xa64b0000a64c, + 0xa64d0000a64e, + 0xa64f0000a650, + 0xa6510000a652, + 0xa6530000a654, + 0xa6550000a656, + 0xa6570000a658, + 0xa6590000a65a, + 0xa65b0000a65c, + 0xa65d0000a65e, + 0xa65f0000a660, + 0xa6610000a662, + 0xa6630000a664, + 0xa6650000a666, + 0xa6670000a668, + 0xa6690000a66a, + 0xa66b0000a66c, + 0xa66d0000a670, + 0xa6740000a67e, + 0xa67f0000a680, + 0xa6810000a682, + 0xa6830000a684, + 0xa6850000a686, + 0xa6870000a688, + 0xa6890000a68a, + 0xa68b0000a68c, + 0xa68d0000a68e, + 0xa68f0000a690, + 0xa6910000a692, + 0xa6930000a694, + 0xa6950000a696, + 0xa6970000a698, + 0xa6990000a69a, + 0xa69b0000a69c, + 0xa69e0000a6e6, + 0xa6f00000a6f2, + 0xa7170000a720, + 0xa7230000a724, + 0xa7250000a726, + 0xa7270000a728, + 0xa7290000a72a, + 0xa72b0000a72c, + 0xa72d0000a72e, + 0xa72f0000a732, + 0xa7330000a734, + 0xa7350000a736, + 0xa7370000a738, + 0xa7390000a73a, + 0xa73b0000a73c, + 0xa73d0000a73e, + 0xa73f0000a740, + 0xa7410000a742, + 0xa7430000a744, + 0xa7450000a746, + 0xa7470000a748, + 0xa7490000a74a, + 0xa74b0000a74c, + 0xa74d0000a74e, + 0xa74f0000a750, + 0xa7510000a752, + 0xa7530000a754, + 0xa7550000a756, + 0xa7570000a758, + 0xa7590000a75a, + 0xa75b0000a75c, + 0xa75d0000a75e, + 0xa75f0000a760, + 0xa7610000a762, + 0xa7630000a764, + 0xa7650000a766, + 0xa7670000a768, + 0xa7690000a76a, + 0xa76b0000a76c, + 0xa76d0000a76e, + 0xa76f0000a770, + 0xa7710000a779, + 0xa77a0000a77b, + 0xa77c0000a77d, + 0xa77f0000a780, + 0xa7810000a782, + 0xa7830000a784, + 0xa7850000a786, + 0xa7870000a789, + 0xa78c0000a78d, + 0xa78e0000a790, + 0xa7910000a792, + 0xa7930000a796, + 0xa7970000a798, + 0xa7990000a79a, + 0xa79b0000a79c, + 0xa79d0000a79e, + 0xa79f0000a7a0, + 0xa7a10000a7a2, + 0xa7a30000a7a4, + 0xa7a50000a7a6, + 0xa7a70000a7a8, + 0xa7a90000a7aa, + 0xa7af0000a7b0, + 0xa7b50000a7b6, + 0xa7b70000a7b8, + 0xa7b90000a7ba, + 0xa7f70000a7f8, + 0xa7fa0000a828, + 0xa8400000a874, + 0xa8800000a8c6, + 0xa8d00000a8da, + 0xa8e00000a8f8, + 0xa8fb0000a8fc, + 0xa8fd0000a92e, + 0xa9300000a954, + 0xa9800000a9c1, + 0xa9cf0000a9da, + 0xa9e00000a9ff, + 0xaa000000aa37, + 0xaa400000aa4e, + 0xaa500000aa5a, + 0xaa600000aa77, + 0xaa7a0000aac3, + 0xaadb0000aade, + 0xaae00000aaf0, + 0xaaf20000aaf7, + 0xab010000ab07, + 0xab090000ab0f, + 0xab110000ab17, + 0xab200000ab27, + 0xab280000ab2f, + 0xab300000ab5b, + 0xab600000ab66, + 0xabc00000abeb, + 0xabec0000abee, + 0xabf00000abfa, + 0xac000000d7a4, + 0xfa0e0000fa10, + 0xfa110000fa12, + 0xfa130000fa15, + 0xfa1f0000fa20, + 0xfa210000fa22, + 0xfa230000fa25, + 0xfa270000fa2a, + 0xfb1e0000fb1f, + 0xfe200000fe30, + 0xfe730000fe74, + 0x100000001000c, + 0x1000d00010027, + 0x100280001003b, + 0x1003c0001003e, + 0x1003f0001004e, + 0x100500001005e, + 0x10080000100fb, + 0x101fd000101fe, + 0x102800001029d, + 0x102a0000102d1, + 0x102e0000102e1, + 0x1030000010320, + 0x1032d00010341, + 0x103420001034a, + 0x103500001037b, + 0x103800001039e, + 0x103a0000103c4, + 0x103c8000103d0, + 0x104280001049e, + 0x104a0000104aa, + 0x104d8000104fc, + 0x1050000010528, + 0x1053000010564, + 0x1060000010737, + 0x1074000010756, + 0x1076000010768, + 0x1080000010806, + 0x1080800010809, + 0x1080a00010836, + 0x1083700010839, + 0x1083c0001083d, + 0x1083f00010856, + 0x1086000010877, + 0x108800001089f, + 0x108e0000108f3, + 0x108f4000108f6, + 0x1090000010916, + 0x109200001093a, + 0x10980000109b8, + 0x109be000109c0, + 0x10a0000010a04, + 0x10a0500010a07, + 0x10a0c00010a14, + 0x10a1500010a18, + 0x10a1900010a36, + 0x10a3800010a3b, + 0x10a3f00010a40, + 0x10a6000010a7d, + 0x10a8000010a9d, + 0x10ac000010ac8, + 0x10ac900010ae7, + 0x10b0000010b36, + 0x10b4000010b56, + 0x10b6000010b73, + 0x10b8000010b92, + 0x10c0000010c49, + 0x10cc000010cf3, + 0x10d0000010d28, + 0x10d3000010d3a, + 0x10f0000010f1d, + 0x10f2700010f28, + 0x10f3000010f51, + 0x1100000011047, + 0x1106600011070, + 0x1107f000110bb, + 0x110d0000110e9, + 0x110f0000110fa, + 0x1110000011135, + 0x1113600011140, + 0x1114400011147, + 0x1115000011174, + 0x1117600011177, + 0x11180000111c5, + 0x111c9000111cd, + 0x111d0000111db, + 0x111dc000111dd, + 0x1120000011212, + 0x1121300011238, + 0x1123e0001123f, + 0x1128000011287, + 0x1128800011289, + 0x1128a0001128e, + 0x1128f0001129e, + 0x1129f000112a9, + 0x112b0000112eb, + 0x112f0000112fa, + 0x1130000011304, + 0x113050001130d, + 0x1130f00011311, + 0x1131300011329, + 0x1132a00011331, + 0x1133200011334, + 0x113350001133a, + 0x1133b00011345, + 0x1134700011349, + 0x1134b0001134e, + 0x1135000011351, + 0x1135700011358, + 0x1135d00011364, + 0x113660001136d, + 0x1137000011375, + 0x114000001144b, + 0x114500001145a, + 0x1145e0001145f, + 0x11480000114c6, + 0x114c7000114c8, + 0x114d0000114da, + 0x11580000115b6, + 0x115b8000115c1, + 0x115d8000115de, + 0x1160000011641, + 0x1164400011645, + 0x116500001165a, + 0x11680000116b8, + 0x116c0000116ca, + 0x117000001171b, + 0x1171d0001172c, + 0x117300001173a, + 0x118000001183b, + 0x118c0000118ea, + 0x118ff00011900, + 0x11a0000011a3f, + 0x11a4700011a48, + 0x11a5000011a84, + 0x11a8600011a9a, + 0x11a9d00011a9e, + 0x11ac000011af9, + 0x11c0000011c09, + 0x11c0a00011c37, + 0x11c3800011c41, + 0x11c5000011c5a, + 0x11c7200011c90, + 0x11c9200011ca8, + 0x11ca900011cb7, + 0x11d0000011d07, + 0x11d0800011d0a, + 0x11d0b00011d37, + 0x11d3a00011d3b, + 0x11d3c00011d3e, + 0x11d3f00011d48, + 0x11d5000011d5a, + 0x11d6000011d66, + 0x11d6700011d69, + 0x11d6a00011d8f, + 0x11d9000011d92, + 0x11d9300011d99, + 0x11da000011daa, + 0x11ee000011ef7, + 0x120000001239a, + 0x1248000012544, + 0x130000001342f, + 0x1440000014647, + 0x1680000016a39, + 0x16a4000016a5f, + 0x16a6000016a6a, + 0x16ad000016aee, + 0x16af000016af5, + 0x16b0000016b37, + 0x16b4000016b44, + 0x16b5000016b5a, + 0x16b6300016b78, + 0x16b7d00016b90, + 0x16e6000016e80, + 0x16f0000016f45, + 0x16f5000016f7f, + 0x16f8f00016fa0, + 0x16fe000016fe2, + 0x17000000187f2, + 0x1880000018af3, + 0x1b0000001b11f, + 0x1b1700001b2fc, + 0x1bc000001bc6b, + 0x1bc700001bc7d, + 0x1bc800001bc89, + 0x1bc900001bc9a, + 0x1bc9d0001bc9f, + 0x1da000001da37, + 0x1da3b0001da6d, + 0x1da750001da76, + 0x1da840001da85, + 0x1da9b0001daa0, + 0x1daa10001dab0, + 0x1e0000001e007, + 0x1e0080001e019, + 0x1e01b0001e022, + 0x1e0230001e025, + 0x1e0260001e02b, + 0x1e8000001e8c5, + 0x1e8d00001e8d7, + 0x1e9220001e94b, + 0x1e9500001e95a, + 0x200000002a6d7, + 0x2a7000002b735, + 0x2b7400002b81e, + 0x2b8200002cea2, + 0x2ceb00002ebe1, + ), + 'CONTEXTJ': ( + 0x200c0000200e, + ), + 'CONTEXTO': ( + 0xb7000000b8, + 0x37500000376, + 0x5f3000005f5, + 0x6600000066a, + 0x6f0000006fa, + 0x30fb000030fc, + ), +} diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/intranges.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/intranges.py new file mode 100644 index 0000000..fa8a735 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/intranges.py @@ -0,0 +1,53 @@ +""" +Given a list of integers, made up of (hopefully) a small number of long runs +of consecutive integers, compute a representation of the form +((start1, end1), (start2, end2) ...). Then answer the question "was x present +in the original list?" in time O(log(# runs)). +""" + +import bisect + +def intranges_from_list(list_): + """Represent a list of integers as a sequence of ranges: + ((start_0, end_0), (start_1, end_1), ...), such that the original + integers are exactly those x such that start_i <= x < end_i for some i. + + Ranges are encoded as single integers (start << 32 | end), not as tuples. + """ + + sorted_list = sorted(list_) + ranges = [] + last_write = -1 + for i in range(len(sorted_list)): + if i+1 < len(sorted_list): + if sorted_list[i] == sorted_list[i+1]-1: + continue + current_range = sorted_list[last_write+1:i+1] + ranges.append(_encode_range(current_range[0], current_range[-1] + 1)) + last_write = i + + return tuple(ranges) + +def _encode_range(start, end): + return (start << 32) | end + +def _decode_range(r): + return (r >> 32), (r & ((1 << 32) - 1)) + + +def intranges_contain(int_, ranges): + """Determine if `int_` falls into one of the ranges in `ranges`.""" + tuple_ = _encode_range(int_, 0) + pos = bisect.bisect_left(ranges, tuple_) + # we could be immediately ahead of a tuple (start, end) + # with start < int_ <= end + if pos > 0: + left, right = _decode_range(ranges[pos-1]) + if left <= int_ < right: + return True + # or we could be immediately behind a tuple (int_, end) + if pos < len(ranges): + left, _ = _decode_range(ranges[pos]) + if left == int_: + return True + return False diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/package_data.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/package_data.py new file mode 100644 index 0000000..257e898 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/package_data.py @@ -0,0 +1,2 @@ +__version__ = '2.8' + diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/uts46data.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/uts46data.py new file mode 100644 index 0000000..a68ed4c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/idna/uts46data.py @@ -0,0 +1,8205 @@ +# This file is automatically generated by tools/idna-data +# vim: set fileencoding=utf-8 : + +"""IDNA Mapping Table from UTS46.""" + + +__version__ = "11.0.0" +def _seg_0(): + return [ + (0x0, '3'), + (0x1, '3'), + (0x2, '3'), + (0x3, '3'), + (0x4, '3'), + (0x5, '3'), + (0x6, '3'), + (0x7, '3'), + (0x8, '3'), + (0x9, '3'), + (0xA, '3'), + (0xB, '3'), + (0xC, '3'), + (0xD, '3'), + (0xE, '3'), + (0xF, '3'), + (0x10, '3'), + (0x11, '3'), + (0x12, '3'), + (0x13, '3'), + (0x14, '3'), + (0x15, '3'), + (0x16, '3'), + (0x17, '3'), + (0x18, '3'), + (0x19, '3'), + (0x1A, '3'), + (0x1B, '3'), + (0x1C, '3'), + (0x1D, '3'), + (0x1E, '3'), + (0x1F, '3'), + (0x20, '3'), + (0x21, '3'), + (0x22, '3'), + (0x23, '3'), + (0x24, '3'), + (0x25, '3'), + (0x26, '3'), + (0x27, '3'), + (0x28, '3'), + (0x29, '3'), + (0x2A, '3'), + (0x2B, '3'), + (0x2C, '3'), + (0x2D, 'V'), + (0x2E, 'V'), + (0x2F, '3'), + (0x30, 'V'), + (0x31, 'V'), + (0x32, 'V'), + (0x33, 'V'), + (0x34, 'V'), + (0x35, 'V'), + (0x36, 'V'), + (0x37, 'V'), + (0x38, 'V'), + (0x39, 'V'), + (0x3A, '3'), + (0x3B, '3'), + (0x3C, '3'), + (0x3D, '3'), + (0x3E, '3'), + (0x3F, '3'), + (0x40, '3'), + (0x41, 'M', u'a'), + (0x42, 'M', u'b'), + (0x43, 'M', u'c'), + (0x44, 'M', u'd'), + (0x45, 'M', u'e'), + (0x46, 'M', u'f'), + (0x47, 'M', u'g'), + (0x48, 'M', u'h'), + (0x49, 'M', u'i'), + (0x4A, 'M', u'j'), + (0x4B, 'M', u'k'), + (0x4C, 'M', u'l'), + (0x4D, 'M', u'm'), + (0x4E, 'M', u'n'), + (0x4F, 'M', u'o'), + (0x50, 'M', u'p'), + (0x51, 'M', u'q'), + (0x52, 'M', u'r'), + (0x53, 'M', u's'), + (0x54, 'M', u't'), + (0x55, 'M', u'u'), + (0x56, 'M', u'v'), + (0x57, 'M', u'w'), + (0x58, 'M', u'x'), + (0x59, 'M', u'y'), + (0x5A, 'M', u'z'), + (0x5B, '3'), + (0x5C, '3'), + (0x5D, '3'), + (0x5E, '3'), + (0x5F, '3'), + (0x60, '3'), + (0x61, 'V'), + (0x62, 'V'), + (0x63, 'V'), + ] + +def _seg_1(): + return [ + (0x64, 'V'), + (0x65, 'V'), + (0x66, 'V'), + (0x67, 'V'), + (0x68, 'V'), + (0x69, 'V'), + (0x6A, 'V'), + (0x6B, 'V'), + (0x6C, 'V'), + (0x6D, 'V'), + (0x6E, 'V'), + (0x6F, 'V'), + (0x70, 'V'), + (0x71, 'V'), + (0x72, 'V'), + (0x73, 'V'), + (0x74, 'V'), + (0x75, 'V'), + (0x76, 'V'), + (0x77, 'V'), + (0x78, 'V'), + (0x79, 'V'), + (0x7A, 'V'), + (0x7B, '3'), + (0x7C, '3'), + (0x7D, '3'), + (0x7E, '3'), + (0x7F, '3'), + (0x80, 'X'), + (0x81, 'X'), + (0x82, 'X'), + (0x83, 'X'), + (0x84, 'X'), + (0x85, 'X'), + (0x86, 'X'), + (0x87, 'X'), + (0x88, 'X'), + (0x89, 'X'), + (0x8A, 'X'), + (0x8B, 'X'), + (0x8C, 'X'), + (0x8D, 'X'), + (0x8E, 'X'), + (0x8F, 'X'), + (0x90, 'X'), + (0x91, 'X'), + (0x92, 'X'), + (0x93, 'X'), + (0x94, 'X'), + (0x95, 'X'), + (0x96, 'X'), + (0x97, 'X'), + (0x98, 'X'), + (0x99, 'X'), + (0x9A, 'X'), + (0x9B, 'X'), + (0x9C, 'X'), + (0x9D, 'X'), + (0x9E, 'X'), + (0x9F, 'X'), + (0xA0, '3', u' '), + (0xA1, 'V'), + (0xA2, 'V'), + (0xA3, 'V'), + (0xA4, 'V'), + (0xA5, 'V'), + (0xA6, 'V'), + (0xA7, 'V'), + (0xA8, '3', u' ̈'), + (0xA9, 'V'), + (0xAA, 'M', u'a'), + (0xAB, 'V'), + (0xAC, 'V'), + (0xAD, 'I'), + (0xAE, 'V'), + (0xAF, '3', u' ̄'), + (0xB0, 'V'), + (0xB1, 'V'), + (0xB2, 'M', u'2'), + (0xB3, 'M', u'3'), + (0xB4, '3', u' ́'), + (0xB5, 'M', u'μ'), + (0xB6, 'V'), + (0xB7, 'V'), + (0xB8, '3', u' ̧'), + (0xB9, 'M', u'1'), + (0xBA, 'M', u'o'), + (0xBB, 'V'), + (0xBC, 'M', u'1⁄4'), + (0xBD, 'M', u'1⁄2'), + (0xBE, 'M', u'3⁄4'), + (0xBF, 'V'), + (0xC0, 'M', u'à'), + (0xC1, 'M', u'á'), + (0xC2, 'M', u'â'), + (0xC3, 'M', u'ã'), + (0xC4, 'M', u'ä'), + (0xC5, 'M', u'å'), + (0xC6, 'M', u'æ'), + (0xC7, 'M', u'ç'), + ] + +def _seg_2(): + return [ + (0xC8, 'M', u'è'), + (0xC9, 'M', u'é'), + (0xCA, 'M', u'ê'), + (0xCB, 'M', u'ë'), + (0xCC, 'M', u'ì'), + (0xCD, 'M', u'í'), + (0xCE, 'M', u'î'), + (0xCF, 'M', u'ï'), + (0xD0, 'M', u'ð'), + (0xD1, 'M', u'ñ'), + (0xD2, 'M', u'ò'), + (0xD3, 'M', u'ó'), + (0xD4, 'M', u'ô'), + (0xD5, 'M', u'õ'), + (0xD6, 'M', u'ö'), + (0xD7, 'V'), + (0xD8, 'M', u'ø'), + (0xD9, 'M', u'ù'), + (0xDA, 'M', u'ú'), + (0xDB, 'M', u'û'), + (0xDC, 'M', u'ü'), + (0xDD, 'M', u'ý'), + (0xDE, 'M', u'þ'), + (0xDF, 'D', u'ss'), + (0xE0, 'V'), + (0xE1, 'V'), + (0xE2, 'V'), + (0xE3, 'V'), + (0xE4, 'V'), + (0xE5, 'V'), + (0xE6, 'V'), + (0xE7, 'V'), + (0xE8, 'V'), + (0xE9, 'V'), + (0xEA, 'V'), + (0xEB, 'V'), + (0xEC, 'V'), + (0xED, 'V'), + (0xEE, 'V'), + (0xEF, 'V'), + (0xF0, 'V'), + (0xF1, 'V'), + (0xF2, 'V'), + (0xF3, 'V'), + (0xF4, 'V'), + (0xF5, 'V'), + (0xF6, 'V'), + (0xF7, 'V'), + (0xF8, 'V'), + (0xF9, 'V'), + (0xFA, 'V'), + (0xFB, 'V'), + (0xFC, 'V'), + (0xFD, 'V'), + (0xFE, 'V'), + (0xFF, 'V'), + (0x100, 'M', u'ā'), + (0x101, 'V'), + (0x102, 'M', u'ă'), + (0x103, 'V'), + (0x104, 'M', u'ą'), + (0x105, 'V'), + (0x106, 'M', u'ć'), + (0x107, 'V'), + (0x108, 'M', u'ĉ'), + (0x109, 'V'), + (0x10A, 'M', u'ċ'), + (0x10B, 'V'), + (0x10C, 'M', u'č'), + (0x10D, 'V'), + (0x10E, 'M', u'ď'), + (0x10F, 'V'), + (0x110, 'M', u'đ'), + (0x111, 'V'), + (0x112, 'M', u'ē'), + (0x113, 'V'), + (0x114, 'M', u'ĕ'), + (0x115, 'V'), + (0x116, 'M', u'ė'), + (0x117, 'V'), + (0x118, 'M', u'ę'), + (0x119, 'V'), + (0x11A, 'M', u'ě'), + (0x11B, 'V'), + (0x11C, 'M', u'ĝ'), + (0x11D, 'V'), + (0x11E, 'M', u'ğ'), + (0x11F, 'V'), + (0x120, 'M', u'ġ'), + (0x121, 'V'), + (0x122, 'M', u'ģ'), + (0x123, 'V'), + (0x124, 'M', u'ĥ'), + (0x125, 'V'), + (0x126, 'M', u'ħ'), + (0x127, 'V'), + (0x128, 'M', u'ĩ'), + (0x129, 'V'), + (0x12A, 'M', u'ī'), + (0x12B, 'V'), + ] + +def _seg_3(): + return [ + (0x12C, 'M', u'ĭ'), + (0x12D, 'V'), + (0x12E, 'M', u'į'), + (0x12F, 'V'), + (0x130, 'M', u'i̇'), + (0x131, 'V'), + (0x132, 'M', u'ij'), + (0x134, 'M', u'ĵ'), + (0x135, 'V'), + (0x136, 'M', u'ķ'), + (0x137, 'V'), + (0x139, 'M', u'ĺ'), + (0x13A, 'V'), + (0x13B, 'M', u'ļ'), + (0x13C, 'V'), + (0x13D, 'M', u'ľ'), + (0x13E, 'V'), + (0x13F, 'M', u'l·'), + (0x141, 'M', u'ł'), + (0x142, 'V'), + (0x143, 'M', u'ń'), + (0x144, 'V'), + (0x145, 'M', u'ņ'), + (0x146, 'V'), + (0x147, 'M', u'ň'), + (0x148, 'V'), + (0x149, 'M', u'ʼn'), + (0x14A, 'M', u'ŋ'), + (0x14B, 'V'), + (0x14C, 'M', u'ō'), + (0x14D, 'V'), + (0x14E, 'M', u'ŏ'), + (0x14F, 'V'), + (0x150, 'M', u'ő'), + (0x151, 'V'), + (0x152, 'M', u'œ'), + (0x153, 'V'), + (0x154, 'M', u'ŕ'), + (0x155, 'V'), + (0x156, 'M', u'ŗ'), + (0x157, 'V'), + (0x158, 'M', u'ř'), + (0x159, 'V'), + (0x15A, 'M', u'ś'), + (0x15B, 'V'), + (0x15C, 'M', u'ŝ'), + (0x15D, 'V'), + (0x15E, 'M', u'ş'), + (0x15F, 'V'), + (0x160, 'M', u'š'), + (0x161, 'V'), + (0x162, 'M', u'ţ'), + (0x163, 'V'), + (0x164, 'M', u'ť'), + (0x165, 'V'), + (0x166, 'M', u'ŧ'), + (0x167, 'V'), + (0x168, 'M', u'ũ'), + (0x169, 'V'), + (0x16A, 'M', u'ū'), + (0x16B, 'V'), + (0x16C, 'M', u'ŭ'), + (0x16D, 'V'), + (0x16E, 'M', u'ů'), + (0x16F, 'V'), + (0x170, 'M', u'ű'), + (0x171, 'V'), + (0x172, 'M', u'ų'), + (0x173, 'V'), + (0x174, 'M', u'ŵ'), + (0x175, 'V'), + (0x176, 'M', u'ŷ'), + (0x177, 'V'), + (0x178, 'M', u'ÿ'), + (0x179, 'M', u'ź'), + (0x17A, 'V'), + (0x17B, 'M', u'ż'), + (0x17C, 'V'), + (0x17D, 'M', u'ž'), + (0x17E, 'V'), + (0x17F, 'M', u's'), + (0x180, 'V'), + (0x181, 'M', u'ɓ'), + (0x182, 'M', u'ƃ'), + (0x183, 'V'), + (0x184, 'M', u'ƅ'), + (0x185, 'V'), + (0x186, 'M', u'ɔ'), + (0x187, 'M', u'ƈ'), + (0x188, 'V'), + (0x189, 'M', u'ɖ'), + (0x18A, 'M', u'ɗ'), + (0x18B, 'M', u'ƌ'), + (0x18C, 'V'), + (0x18E, 'M', u'ǝ'), + (0x18F, 'M', u'ə'), + (0x190, 'M', u'ɛ'), + (0x191, 'M', u'ƒ'), + (0x192, 'V'), + (0x193, 'M', u'ɠ'), + ] + +def _seg_4(): + return [ + (0x194, 'M', u'ɣ'), + (0x195, 'V'), + (0x196, 'M', u'ɩ'), + (0x197, 'M', u'ɨ'), + (0x198, 'M', u'ƙ'), + (0x199, 'V'), + (0x19C, 'M', u'ɯ'), + (0x19D, 'M', u'ɲ'), + (0x19E, 'V'), + (0x19F, 'M', u'ɵ'), + (0x1A0, 'M', u'ơ'), + (0x1A1, 'V'), + (0x1A2, 'M', u'ƣ'), + (0x1A3, 'V'), + (0x1A4, 'M', u'ƥ'), + (0x1A5, 'V'), + (0x1A6, 'M', u'ʀ'), + (0x1A7, 'M', u'ƨ'), + (0x1A8, 'V'), + (0x1A9, 'M', u'ʃ'), + (0x1AA, 'V'), + (0x1AC, 'M', u'ƭ'), + (0x1AD, 'V'), + (0x1AE, 'M', u'ʈ'), + (0x1AF, 'M', u'ư'), + (0x1B0, 'V'), + (0x1B1, 'M', u'ʊ'), + (0x1B2, 'M', u'ʋ'), + (0x1B3, 'M', u'ƴ'), + (0x1B4, 'V'), + (0x1B5, 'M', u'ƶ'), + (0x1B6, 'V'), + (0x1B7, 'M', u'ʒ'), + (0x1B8, 'M', u'ƹ'), + (0x1B9, 'V'), + (0x1BC, 'M', u'ƽ'), + (0x1BD, 'V'), + (0x1C4, 'M', u'dž'), + (0x1C7, 'M', u'lj'), + (0x1CA, 'M', u'nj'), + (0x1CD, 'M', u'ǎ'), + (0x1CE, 'V'), + (0x1CF, 'M', u'ǐ'), + (0x1D0, 'V'), + (0x1D1, 'M', u'ǒ'), + (0x1D2, 'V'), + (0x1D3, 'M', u'ǔ'), + (0x1D4, 'V'), + (0x1D5, 'M', u'ǖ'), + (0x1D6, 'V'), + (0x1D7, 'M', u'ǘ'), + (0x1D8, 'V'), + (0x1D9, 'M', u'ǚ'), + (0x1DA, 'V'), + (0x1DB, 'M', u'ǜ'), + (0x1DC, 'V'), + (0x1DE, 'M', u'ǟ'), + (0x1DF, 'V'), + (0x1E0, 'M', u'ǡ'), + (0x1E1, 'V'), + (0x1E2, 'M', u'ǣ'), + (0x1E3, 'V'), + (0x1E4, 'M', u'ǥ'), + (0x1E5, 'V'), + (0x1E6, 'M', u'ǧ'), + (0x1E7, 'V'), + (0x1E8, 'M', u'ǩ'), + (0x1E9, 'V'), + (0x1EA, 'M', u'ǫ'), + (0x1EB, 'V'), + (0x1EC, 'M', u'ǭ'), + (0x1ED, 'V'), + (0x1EE, 'M', u'ǯ'), + (0x1EF, 'V'), + (0x1F1, 'M', u'dz'), + (0x1F4, 'M', u'ǵ'), + (0x1F5, 'V'), + (0x1F6, 'M', u'ƕ'), + (0x1F7, 'M', u'ƿ'), + (0x1F8, 'M', u'ǹ'), + (0x1F9, 'V'), + (0x1FA, 'M', u'ǻ'), + (0x1FB, 'V'), + (0x1FC, 'M', u'ǽ'), + (0x1FD, 'V'), + (0x1FE, 'M', u'ǿ'), + (0x1FF, 'V'), + (0x200, 'M', u'ȁ'), + (0x201, 'V'), + (0x202, 'M', u'ȃ'), + (0x203, 'V'), + (0x204, 'M', u'ȅ'), + (0x205, 'V'), + (0x206, 'M', u'ȇ'), + (0x207, 'V'), + (0x208, 'M', u'ȉ'), + (0x209, 'V'), + (0x20A, 'M', u'ȋ'), + (0x20B, 'V'), + (0x20C, 'M', u'ȍ'), + ] + +def _seg_5(): + return [ + (0x20D, 'V'), + (0x20E, 'M', u'ȏ'), + (0x20F, 'V'), + (0x210, 'M', u'ȑ'), + (0x211, 'V'), + (0x212, 'M', u'ȓ'), + (0x213, 'V'), + (0x214, 'M', u'ȕ'), + (0x215, 'V'), + (0x216, 'M', u'ȗ'), + (0x217, 'V'), + (0x218, 'M', u'ș'), + (0x219, 'V'), + (0x21A, 'M', u'ț'), + (0x21B, 'V'), + (0x21C, 'M', u'ȝ'), + (0x21D, 'V'), + (0x21E, 'M', u'ȟ'), + (0x21F, 'V'), + (0x220, 'M', u'ƞ'), + (0x221, 'V'), + (0x222, 'M', u'ȣ'), + (0x223, 'V'), + (0x224, 'M', u'ȥ'), + (0x225, 'V'), + (0x226, 'M', u'ȧ'), + (0x227, 'V'), + (0x228, 'M', u'ȩ'), + (0x229, 'V'), + (0x22A, 'M', u'ȫ'), + (0x22B, 'V'), + (0x22C, 'M', u'ȭ'), + (0x22D, 'V'), + (0x22E, 'M', u'ȯ'), + (0x22F, 'V'), + (0x230, 'M', u'ȱ'), + (0x231, 'V'), + (0x232, 'M', u'ȳ'), + (0x233, 'V'), + (0x23A, 'M', u'ⱥ'), + (0x23B, 'M', u'ȼ'), + (0x23C, 'V'), + (0x23D, 'M', u'ƚ'), + (0x23E, 'M', u'ⱦ'), + (0x23F, 'V'), + (0x241, 'M', u'ɂ'), + (0x242, 'V'), + (0x243, 'M', u'ƀ'), + (0x244, 'M', u'ʉ'), + (0x245, 'M', u'ʌ'), + (0x246, 'M', u'ɇ'), + (0x247, 'V'), + (0x248, 'M', u'ɉ'), + (0x249, 'V'), + (0x24A, 'M', u'ɋ'), + (0x24B, 'V'), + (0x24C, 'M', u'ɍ'), + (0x24D, 'V'), + (0x24E, 'M', u'ɏ'), + (0x24F, 'V'), + (0x2B0, 'M', u'h'), + (0x2B1, 'M', u'ɦ'), + (0x2B2, 'M', u'j'), + (0x2B3, 'M', u'r'), + (0x2B4, 'M', u'ɹ'), + (0x2B5, 'M', u'ɻ'), + (0x2B6, 'M', u'ʁ'), + (0x2B7, 'M', u'w'), + (0x2B8, 'M', u'y'), + (0x2B9, 'V'), + (0x2D8, '3', u' ̆'), + (0x2D9, '3', u' ̇'), + (0x2DA, '3', u' ̊'), + (0x2DB, '3', u' ̨'), + (0x2DC, '3', u' ̃'), + (0x2DD, '3', u' ̋'), + (0x2DE, 'V'), + (0x2E0, 'M', u'ɣ'), + (0x2E1, 'M', u'l'), + (0x2E2, 'M', u's'), + (0x2E3, 'M', u'x'), + (0x2E4, 'M', u'ʕ'), + (0x2E5, 'V'), + (0x340, 'M', u'̀'), + (0x341, 'M', u'́'), + (0x342, 'V'), + (0x343, 'M', u'̓'), + (0x344, 'M', u'̈́'), + (0x345, 'M', u'ι'), + (0x346, 'V'), + (0x34F, 'I'), + (0x350, 'V'), + (0x370, 'M', u'ͱ'), + (0x371, 'V'), + (0x372, 'M', u'ͳ'), + (0x373, 'V'), + (0x374, 'M', u'ʹ'), + (0x375, 'V'), + (0x376, 'M', u'ͷ'), + (0x377, 'V'), + ] + +def _seg_6(): + return [ + (0x378, 'X'), + (0x37A, '3', u' ι'), + (0x37B, 'V'), + (0x37E, '3', u';'), + (0x37F, 'M', u'ϳ'), + (0x380, 'X'), + (0x384, '3', u' ́'), + (0x385, '3', u' ̈́'), + (0x386, 'M', u'ά'), + (0x387, 'M', u'·'), + (0x388, 'M', u'έ'), + (0x389, 'M', u'ή'), + (0x38A, 'M', u'ί'), + (0x38B, 'X'), + (0x38C, 'M', u'ό'), + (0x38D, 'X'), + (0x38E, 'M', u'ύ'), + (0x38F, 'M', u'ώ'), + (0x390, 'V'), + (0x391, 'M', u'α'), + (0x392, 'M', u'β'), + (0x393, 'M', u'γ'), + (0x394, 'M', u'δ'), + (0x395, 'M', u'ε'), + (0x396, 'M', u'ζ'), + (0x397, 'M', u'η'), + (0x398, 'M', u'θ'), + (0x399, 'M', u'ι'), + (0x39A, 'M', u'κ'), + (0x39B, 'M', u'λ'), + (0x39C, 'M', u'μ'), + (0x39D, 'M', u'ν'), + (0x39E, 'M', u'ξ'), + (0x39F, 'M', u'ο'), + (0x3A0, 'M', u'π'), + (0x3A1, 'M', u'ρ'), + (0x3A2, 'X'), + (0x3A3, 'M', u'σ'), + (0x3A4, 'M', u'τ'), + (0x3A5, 'M', u'υ'), + (0x3A6, 'M', u'φ'), + (0x3A7, 'M', u'χ'), + (0x3A8, 'M', u'ψ'), + (0x3A9, 'M', u'ω'), + (0x3AA, 'M', u'ϊ'), + (0x3AB, 'M', u'ϋ'), + (0x3AC, 'V'), + (0x3C2, 'D', u'σ'), + (0x3C3, 'V'), + (0x3CF, 'M', u'ϗ'), + (0x3D0, 'M', u'β'), + (0x3D1, 'M', u'θ'), + (0x3D2, 'M', u'υ'), + (0x3D3, 'M', u'ύ'), + (0x3D4, 'M', u'ϋ'), + (0x3D5, 'M', u'φ'), + (0x3D6, 'M', u'π'), + (0x3D7, 'V'), + (0x3D8, 'M', u'ϙ'), + (0x3D9, 'V'), + (0x3DA, 'M', u'ϛ'), + (0x3DB, 'V'), + (0x3DC, 'M', u'ϝ'), + (0x3DD, 'V'), + (0x3DE, 'M', u'ϟ'), + (0x3DF, 'V'), + (0x3E0, 'M', u'ϡ'), + (0x3E1, 'V'), + (0x3E2, 'M', u'ϣ'), + (0x3E3, 'V'), + (0x3E4, 'M', u'ϥ'), + (0x3E5, 'V'), + (0x3E6, 'M', u'ϧ'), + (0x3E7, 'V'), + (0x3E8, 'M', u'ϩ'), + (0x3E9, 'V'), + (0x3EA, 'M', u'ϫ'), + (0x3EB, 'V'), + (0x3EC, 'M', u'ϭ'), + (0x3ED, 'V'), + (0x3EE, 'M', u'ϯ'), + (0x3EF, 'V'), + (0x3F0, 'M', u'κ'), + (0x3F1, 'M', u'ρ'), + (0x3F2, 'M', u'σ'), + (0x3F3, 'V'), + (0x3F4, 'M', u'θ'), + (0x3F5, 'M', u'ε'), + (0x3F6, 'V'), + (0x3F7, 'M', u'ϸ'), + (0x3F8, 'V'), + (0x3F9, 'M', u'σ'), + (0x3FA, 'M', u'ϻ'), + (0x3FB, 'V'), + (0x3FD, 'M', u'ͻ'), + (0x3FE, 'M', u'ͼ'), + (0x3FF, 'M', u'ͽ'), + (0x400, 'M', u'ѐ'), + (0x401, 'M', u'ё'), + (0x402, 'M', u'ђ'), + ] + +def _seg_7(): + return [ + (0x403, 'M', u'ѓ'), + (0x404, 'M', u'є'), + (0x405, 'M', u'ѕ'), + (0x406, 'M', u'і'), + (0x407, 'M', u'ї'), + (0x408, 'M', u'ј'), + (0x409, 'M', u'љ'), + (0x40A, 'M', u'њ'), + (0x40B, 'M', u'ћ'), + (0x40C, 'M', u'ќ'), + (0x40D, 'M', u'ѝ'), + (0x40E, 'M', u'ў'), + (0x40F, 'M', u'џ'), + (0x410, 'M', u'а'), + (0x411, 'M', u'б'), + (0x412, 'M', u'в'), + (0x413, 'M', u'г'), + (0x414, 'M', u'д'), + (0x415, 'M', u'е'), + (0x416, 'M', u'ж'), + (0x417, 'M', u'з'), + (0x418, 'M', u'и'), + (0x419, 'M', u'й'), + (0x41A, 'M', u'к'), + (0x41B, 'M', u'л'), + (0x41C, 'M', u'м'), + (0x41D, 'M', u'н'), + (0x41E, 'M', u'о'), + (0x41F, 'M', u'п'), + (0x420, 'M', u'р'), + (0x421, 'M', u'с'), + (0x422, 'M', u'т'), + (0x423, 'M', u'у'), + (0x424, 'M', u'ф'), + (0x425, 'M', u'х'), + (0x426, 'M', u'ц'), + (0x427, 'M', u'ч'), + (0x428, 'M', u'ш'), + (0x429, 'M', u'щ'), + (0x42A, 'M', u'ъ'), + (0x42B, 'M', u'ы'), + (0x42C, 'M', u'ь'), + (0x42D, 'M', u'э'), + (0x42E, 'M', u'ю'), + (0x42F, 'M', u'я'), + (0x430, 'V'), + (0x460, 'M', u'ѡ'), + (0x461, 'V'), + (0x462, 'M', u'ѣ'), + (0x463, 'V'), + (0x464, 'M', u'ѥ'), + (0x465, 'V'), + (0x466, 'M', u'ѧ'), + (0x467, 'V'), + (0x468, 'M', u'ѩ'), + (0x469, 'V'), + (0x46A, 'M', u'ѫ'), + (0x46B, 'V'), + (0x46C, 'M', u'ѭ'), + (0x46D, 'V'), + (0x46E, 'M', u'ѯ'), + (0x46F, 'V'), + (0x470, 'M', u'ѱ'), + (0x471, 'V'), + (0x472, 'M', u'ѳ'), + (0x473, 'V'), + (0x474, 'M', u'ѵ'), + (0x475, 'V'), + (0x476, 'M', u'ѷ'), + (0x477, 'V'), + (0x478, 'M', u'ѹ'), + (0x479, 'V'), + (0x47A, 'M', u'ѻ'), + (0x47B, 'V'), + (0x47C, 'M', u'ѽ'), + (0x47D, 'V'), + (0x47E, 'M', u'ѿ'), + (0x47F, 'V'), + (0x480, 'M', u'ҁ'), + (0x481, 'V'), + (0x48A, 'M', u'ҋ'), + (0x48B, 'V'), + (0x48C, 'M', u'ҍ'), + (0x48D, 'V'), + (0x48E, 'M', u'ҏ'), + (0x48F, 'V'), + (0x490, 'M', u'ґ'), + (0x491, 'V'), + (0x492, 'M', u'ғ'), + (0x493, 'V'), + (0x494, 'M', u'ҕ'), + (0x495, 'V'), + (0x496, 'M', u'җ'), + (0x497, 'V'), + (0x498, 'M', u'ҙ'), + (0x499, 'V'), + (0x49A, 'M', u'қ'), + (0x49B, 'V'), + (0x49C, 'M', u'ҝ'), + (0x49D, 'V'), + ] + +def _seg_8(): + return [ + (0x49E, 'M', u'ҟ'), + (0x49F, 'V'), + (0x4A0, 'M', u'ҡ'), + (0x4A1, 'V'), + (0x4A2, 'M', u'ң'), + (0x4A3, 'V'), + (0x4A4, 'M', u'ҥ'), + (0x4A5, 'V'), + (0x4A6, 'M', u'ҧ'), + (0x4A7, 'V'), + (0x4A8, 'M', u'ҩ'), + (0x4A9, 'V'), + (0x4AA, 'M', u'ҫ'), + (0x4AB, 'V'), + (0x4AC, 'M', u'ҭ'), + (0x4AD, 'V'), + (0x4AE, 'M', u'ү'), + (0x4AF, 'V'), + (0x4B0, 'M', u'ұ'), + (0x4B1, 'V'), + (0x4B2, 'M', u'ҳ'), + (0x4B3, 'V'), + (0x4B4, 'M', u'ҵ'), + (0x4B5, 'V'), + (0x4B6, 'M', u'ҷ'), + (0x4B7, 'V'), + (0x4B8, 'M', u'ҹ'), + (0x4B9, 'V'), + (0x4BA, 'M', u'һ'), + (0x4BB, 'V'), + (0x4BC, 'M', u'ҽ'), + (0x4BD, 'V'), + (0x4BE, 'M', u'ҿ'), + (0x4BF, 'V'), + (0x4C0, 'X'), + (0x4C1, 'M', u'ӂ'), + (0x4C2, 'V'), + (0x4C3, 'M', u'ӄ'), + (0x4C4, 'V'), + (0x4C5, 'M', u'ӆ'), + (0x4C6, 'V'), + (0x4C7, 'M', u'ӈ'), + (0x4C8, 'V'), + (0x4C9, 'M', u'ӊ'), + (0x4CA, 'V'), + (0x4CB, 'M', u'ӌ'), + (0x4CC, 'V'), + (0x4CD, 'M', u'ӎ'), + (0x4CE, 'V'), + (0x4D0, 'M', u'ӑ'), + (0x4D1, 'V'), + (0x4D2, 'M', u'ӓ'), + (0x4D3, 'V'), + (0x4D4, 'M', u'ӕ'), + (0x4D5, 'V'), + (0x4D6, 'M', u'ӗ'), + (0x4D7, 'V'), + (0x4D8, 'M', u'ә'), + (0x4D9, 'V'), + (0x4DA, 'M', u'ӛ'), + (0x4DB, 'V'), + (0x4DC, 'M', u'ӝ'), + (0x4DD, 'V'), + (0x4DE, 'M', u'ӟ'), + (0x4DF, 'V'), + (0x4E0, 'M', u'ӡ'), + (0x4E1, 'V'), + (0x4E2, 'M', u'ӣ'), + (0x4E3, 'V'), + (0x4E4, 'M', u'ӥ'), + (0x4E5, 'V'), + (0x4E6, 'M', u'ӧ'), + (0x4E7, 'V'), + (0x4E8, 'M', u'ө'), + (0x4E9, 'V'), + (0x4EA, 'M', u'ӫ'), + (0x4EB, 'V'), + (0x4EC, 'M', u'ӭ'), + (0x4ED, 'V'), + (0x4EE, 'M', u'ӯ'), + (0x4EF, 'V'), + (0x4F0, 'M', u'ӱ'), + (0x4F1, 'V'), + (0x4F2, 'M', u'ӳ'), + (0x4F3, 'V'), + (0x4F4, 'M', u'ӵ'), + (0x4F5, 'V'), + (0x4F6, 'M', u'ӷ'), + (0x4F7, 'V'), + (0x4F8, 'M', u'ӹ'), + (0x4F9, 'V'), + (0x4FA, 'M', u'ӻ'), + (0x4FB, 'V'), + (0x4FC, 'M', u'ӽ'), + (0x4FD, 'V'), + (0x4FE, 'M', u'ӿ'), + (0x4FF, 'V'), + (0x500, 'M', u'ԁ'), + (0x501, 'V'), + (0x502, 'M', u'ԃ'), + ] + +def _seg_9(): + return [ + (0x503, 'V'), + (0x504, 'M', u'ԅ'), + (0x505, 'V'), + (0x506, 'M', u'ԇ'), + (0x507, 'V'), + (0x508, 'M', u'ԉ'), + (0x509, 'V'), + (0x50A, 'M', u'ԋ'), + (0x50B, 'V'), + (0x50C, 'M', u'ԍ'), + (0x50D, 'V'), + (0x50E, 'M', u'ԏ'), + (0x50F, 'V'), + (0x510, 'M', u'ԑ'), + (0x511, 'V'), + (0x512, 'M', u'ԓ'), + (0x513, 'V'), + (0x514, 'M', u'ԕ'), + (0x515, 'V'), + (0x516, 'M', u'ԗ'), + (0x517, 'V'), + (0x518, 'M', u'ԙ'), + (0x519, 'V'), + (0x51A, 'M', u'ԛ'), + (0x51B, 'V'), + (0x51C, 'M', u'ԝ'), + (0x51D, 'V'), + (0x51E, 'M', u'ԟ'), + (0x51F, 'V'), + (0x520, 'M', u'ԡ'), + (0x521, 'V'), + (0x522, 'M', u'ԣ'), + (0x523, 'V'), + (0x524, 'M', u'ԥ'), + (0x525, 'V'), + (0x526, 'M', u'ԧ'), + (0x527, 'V'), + (0x528, 'M', u'ԩ'), + (0x529, 'V'), + (0x52A, 'M', u'ԫ'), + (0x52B, 'V'), + (0x52C, 'M', u'ԭ'), + (0x52D, 'V'), + (0x52E, 'M', u'ԯ'), + (0x52F, 'V'), + (0x530, 'X'), + (0x531, 'M', u'ա'), + (0x532, 'M', u'բ'), + (0x533, 'M', u'գ'), + (0x534, 'M', u'դ'), + (0x535, 'M', u'ե'), + (0x536, 'M', u'զ'), + (0x537, 'M', u'է'), + (0x538, 'M', u'ը'), + (0x539, 'M', u'թ'), + (0x53A, 'M', u'ժ'), + (0x53B, 'M', u'ի'), + (0x53C, 'M', u'լ'), + (0x53D, 'M', u'խ'), + (0x53E, 'M', u'ծ'), + (0x53F, 'M', u'կ'), + (0x540, 'M', u'հ'), + (0x541, 'M', u'ձ'), + (0x542, 'M', u'ղ'), + (0x543, 'M', u'ճ'), + (0x544, 'M', u'մ'), + (0x545, 'M', u'յ'), + (0x546, 'M', u'ն'), + (0x547, 'M', u'շ'), + (0x548, 'M', u'ո'), + (0x549, 'M', u'չ'), + (0x54A, 'M', u'պ'), + (0x54B, 'M', u'ջ'), + (0x54C, 'M', u'ռ'), + (0x54D, 'M', u'ս'), + (0x54E, 'M', u'վ'), + (0x54F, 'M', u'տ'), + (0x550, 'M', u'ր'), + (0x551, 'M', u'ց'), + (0x552, 'M', u'ւ'), + (0x553, 'M', u'փ'), + (0x554, 'M', u'ք'), + (0x555, 'M', u'օ'), + (0x556, 'M', u'ֆ'), + (0x557, 'X'), + (0x559, 'V'), + (0x587, 'M', u'եւ'), + (0x588, 'V'), + (0x58B, 'X'), + (0x58D, 'V'), + (0x590, 'X'), + (0x591, 'V'), + (0x5C8, 'X'), + (0x5D0, 'V'), + (0x5EB, 'X'), + (0x5EF, 'V'), + (0x5F5, 'X'), + (0x606, 'V'), + (0x61C, 'X'), + (0x61E, 'V'), + ] + +def _seg_10(): + return [ + (0x675, 'M', u'اٴ'), + (0x676, 'M', u'وٴ'), + (0x677, 'M', u'ۇٴ'), + (0x678, 'M', u'يٴ'), + (0x679, 'V'), + (0x6DD, 'X'), + (0x6DE, 'V'), + (0x70E, 'X'), + (0x710, 'V'), + (0x74B, 'X'), + (0x74D, 'V'), + (0x7B2, 'X'), + (0x7C0, 'V'), + (0x7FB, 'X'), + (0x7FD, 'V'), + (0x82E, 'X'), + (0x830, 'V'), + (0x83F, 'X'), + (0x840, 'V'), + (0x85C, 'X'), + (0x85E, 'V'), + (0x85F, 'X'), + (0x860, 'V'), + (0x86B, 'X'), + (0x8A0, 'V'), + (0x8B5, 'X'), + (0x8B6, 'V'), + (0x8BE, 'X'), + (0x8D3, 'V'), + (0x8E2, 'X'), + (0x8E3, 'V'), + (0x958, 'M', u'क़'), + (0x959, 'M', u'ख़'), + (0x95A, 'M', u'ग़'), + (0x95B, 'M', u'ज़'), + (0x95C, 'M', u'ड़'), + (0x95D, 'M', u'ढ़'), + (0x95E, 'M', u'फ़'), + (0x95F, 'M', u'य़'), + (0x960, 'V'), + (0x984, 'X'), + (0x985, 'V'), + (0x98D, 'X'), + (0x98F, 'V'), + (0x991, 'X'), + (0x993, 'V'), + (0x9A9, 'X'), + (0x9AA, 'V'), + (0x9B1, 'X'), + (0x9B2, 'V'), + (0x9B3, 'X'), + (0x9B6, 'V'), + (0x9BA, 'X'), + (0x9BC, 'V'), + (0x9C5, 'X'), + (0x9C7, 'V'), + (0x9C9, 'X'), + (0x9CB, 'V'), + (0x9CF, 'X'), + (0x9D7, 'V'), + (0x9D8, 'X'), + (0x9DC, 'M', u'ড়'), + (0x9DD, 'M', u'ঢ়'), + (0x9DE, 'X'), + (0x9DF, 'M', u'য়'), + (0x9E0, 'V'), + (0x9E4, 'X'), + (0x9E6, 'V'), + (0x9FF, 'X'), + (0xA01, 'V'), + (0xA04, 'X'), + (0xA05, 'V'), + (0xA0B, 'X'), + (0xA0F, 'V'), + (0xA11, 'X'), + (0xA13, 'V'), + (0xA29, 'X'), + (0xA2A, 'V'), + (0xA31, 'X'), + (0xA32, 'V'), + (0xA33, 'M', u'ਲ਼'), + (0xA34, 'X'), + (0xA35, 'V'), + (0xA36, 'M', u'ਸ਼'), + (0xA37, 'X'), + (0xA38, 'V'), + (0xA3A, 'X'), + (0xA3C, 'V'), + (0xA3D, 'X'), + (0xA3E, 'V'), + (0xA43, 'X'), + (0xA47, 'V'), + (0xA49, 'X'), + (0xA4B, 'V'), + (0xA4E, 'X'), + (0xA51, 'V'), + (0xA52, 'X'), + (0xA59, 'M', u'ਖ਼'), + (0xA5A, 'M', u'ਗ਼'), + (0xA5B, 'M', u'ਜ਼'), + ] + +def _seg_11(): + return [ + (0xA5C, 'V'), + (0xA5D, 'X'), + (0xA5E, 'M', u'ਫ਼'), + (0xA5F, 'X'), + (0xA66, 'V'), + (0xA77, 'X'), + (0xA81, 'V'), + (0xA84, 'X'), + (0xA85, 'V'), + (0xA8E, 'X'), + (0xA8F, 'V'), + (0xA92, 'X'), + (0xA93, 'V'), + (0xAA9, 'X'), + (0xAAA, 'V'), + (0xAB1, 'X'), + (0xAB2, 'V'), + (0xAB4, 'X'), + (0xAB5, 'V'), + (0xABA, 'X'), + (0xABC, 'V'), + (0xAC6, 'X'), + (0xAC7, 'V'), + (0xACA, 'X'), + (0xACB, 'V'), + (0xACE, 'X'), + (0xAD0, 'V'), + (0xAD1, 'X'), + (0xAE0, 'V'), + (0xAE4, 'X'), + (0xAE6, 'V'), + (0xAF2, 'X'), + (0xAF9, 'V'), + (0xB00, 'X'), + (0xB01, 'V'), + (0xB04, 'X'), + (0xB05, 'V'), + (0xB0D, 'X'), + (0xB0F, 'V'), + (0xB11, 'X'), + (0xB13, 'V'), + (0xB29, 'X'), + (0xB2A, 'V'), + (0xB31, 'X'), + (0xB32, 'V'), + (0xB34, 'X'), + (0xB35, 'V'), + (0xB3A, 'X'), + (0xB3C, 'V'), + (0xB45, 'X'), + (0xB47, 'V'), + (0xB49, 'X'), + (0xB4B, 'V'), + (0xB4E, 'X'), + (0xB56, 'V'), + (0xB58, 'X'), + (0xB5C, 'M', u'ଡ଼'), + (0xB5D, 'M', u'ଢ଼'), + (0xB5E, 'X'), + (0xB5F, 'V'), + (0xB64, 'X'), + (0xB66, 'V'), + (0xB78, 'X'), + (0xB82, 'V'), + (0xB84, 'X'), + (0xB85, 'V'), + (0xB8B, 'X'), + (0xB8E, 'V'), + (0xB91, 'X'), + (0xB92, 'V'), + (0xB96, 'X'), + (0xB99, 'V'), + (0xB9B, 'X'), + (0xB9C, 'V'), + (0xB9D, 'X'), + (0xB9E, 'V'), + (0xBA0, 'X'), + (0xBA3, 'V'), + (0xBA5, 'X'), + (0xBA8, 'V'), + (0xBAB, 'X'), + (0xBAE, 'V'), + (0xBBA, 'X'), + (0xBBE, 'V'), + (0xBC3, 'X'), + (0xBC6, 'V'), + (0xBC9, 'X'), + (0xBCA, 'V'), + (0xBCE, 'X'), + (0xBD0, 'V'), + (0xBD1, 'X'), + (0xBD7, 'V'), + (0xBD8, 'X'), + (0xBE6, 'V'), + (0xBFB, 'X'), + (0xC00, 'V'), + (0xC0D, 'X'), + (0xC0E, 'V'), + (0xC11, 'X'), + (0xC12, 'V'), + ] + +def _seg_12(): + return [ + (0xC29, 'X'), + (0xC2A, 'V'), + (0xC3A, 'X'), + (0xC3D, 'V'), + (0xC45, 'X'), + (0xC46, 'V'), + (0xC49, 'X'), + (0xC4A, 'V'), + (0xC4E, 'X'), + (0xC55, 'V'), + (0xC57, 'X'), + (0xC58, 'V'), + (0xC5B, 'X'), + (0xC60, 'V'), + (0xC64, 'X'), + (0xC66, 'V'), + (0xC70, 'X'), + (0xC78, 'V'), + (0xC8D, 'X'), + (0xC8E, 'V'), + (0xC91, 'X'), + (0xC92, 'V'), + (0xCA9, 'X'), + (0xCAA, 'V'), + (0xCB4, 'X'), + (0xCB5, 'V'), + (0xCBA, 'X'), + (0xCBC, 'V'), + (0xCC5, 'X'), + (0xCC6, 'V'), + (0xCC9, 'X'), + (0xCCA, 'V'), + (0xCCE, 'X'), + (0xCD5, 'V'), + (0xCD7, 'X'), + (0xCDE, 'V'), + (0xCDF, 'X'), + (0xCE0, 'V'), + (0xCE4, 'X'), + (0xCE6, 'V'), + (0xCF0, 'X'), + (0xCF1, 'V'), + (0xCF3, 'X'), + (0xD00, 'V'), + (0xD04, 'X'), + (0xD05, 'V'), + (0xD0D, 'X'), + (0xD0E, 'V'), + (0xD11, 'X'), + (0xD12, 'V'), + (0xD45, 'X'), + (0xD46, 'V'), + (0xD49, 'X'), + (0xD4A, 'V'), + (0xD50, 'X'), + (0xD54, 'V'), + (0xD64, 'X'), + (0xD66, 'V'), + (0xD80, 'X'), + (0xD82, 'V'), + (0xD84, 'X'), + (0xD85, 'V'), + (0xD97, 'X'), + (0xD9A, 'V'), + (0xDB2, 'X'), + (0xDB3, 'V'), + (0xDBC, 'X'), + (0xDBD, 'V'), + (0xDBE, 'X'), + (0xDC0, 'V'), + (0xDC7, 'X'), + (0xDCA, 'V'), + (0xDCB, 'X'), + (0xDCF, 'V'), + (0xDD5, 'X'), + (0xDD6, 'V'), + (0xDD7, 'X'), + (0xDD8, 'V'), + (0xDE0, 'X'), + (0xDE6, 'V'), + (0xDF0, 'X'), + (0xDF2, 'V'), + (0xDF5, 'X'), + (0xE01, 'V'), + (0xE33, 'M', u'ํา'), + (0xE34, 'V'), + (0xE3B, 'X'), + (0xE3F, 'V'), + (0xE5C, 'X'), + (0xE81, 'V'), + (0xE83, 'X'), + (0xE84, 'V'), + (0xE85, 'X'), + (0xE87, 'V'), + (0xE89, 'X'), + (0xE8A, 'V'), + (0xE8B, 'X'), + (0xE8D, 'V'), + (0xE8E, 'X'), + (0xE94, 'V'), + ] + +def _seg_13(): + return [ + (0xE98, 'X'), + (0xE99, 'V'), + (0xEA0, 'X'), + (0xEA1, 'V'), + (0xEA4, 'X'), + (0xEA5, 'V'), + (0xEA6, 'X'), + (0xEA7, 'V'), + (0xEA8, 'X'), + (0xEAA, 'V'), + (0xEAC, 'X'), + (0xEAD, 'V'), + (0xEB3, 'M', u'ໍາ'), + (0xEB4, 'V'), + (0xEBA, 'X'), + (0xEBB, 'V'), + (0xEBE, 'X'), + (0xEC0, 'V'), + (0xEC5, 'X'), + (0xEC6, 'V'), + (0xEC7, 'X'), + (0xEC8, 'V'), + (0xECE, 'X'), + (0xED0, 'V'), + (0xEDA, 'X'), + (0xEDC, 'M', u'ຫນ'), + (0xEDD, 'M', u'ຫມ'), + (0xEDE, 'V'), + (0xEE0, 'X'), + (0xF00, 'V'), + (0xF0C, 'M', u'་'), + (0xF0D, 'V'), + (0xF43, 'M', u'གྷ'), + (0xF44, 'V'), + (0xF48, 'X'), + (0xF49, 'V'), + (0xF4D, 'M', u'ཌྷ'), + (0xF4E, 'V'), + (0xF52, 'M', u'དྷ'), + (0xF53, 'V'), + (0xF57, 'M', u'བྷ'), + (0xF58, 'V'), + (0xF5C, 'M', u'ཛྷ'), + (0xF5D, 'V'), + (0xF69, 'M', u'ཀྵ'), + (0xF6A, 'V'), + (0xF6D, 'X'), + (0xF71, 'V'), + (0xF73, 'M', u'ཱི'), + (0xF74, 'V'), + (0xF75, 'M', u'ཱུ'), + (0xF76, 'M', u'ྲྀ'), + (0xF77, 'M', u'ྲཱྀ'), + (0xF78, 'M', u'ླྀ'), + (0xF79, 'M', u'ླཱྀ'), + (0xF7A, 'V'), + (0xF81, 'M', u'ཱྀ'), + (0xF82, 'V'), + (0xF93, 'M', u'ྒྷ'), + (0xF94, 'V'), + (0xF98, 'X'), + (0xF99, 'V'), + (0xF9D, 'M', u'ྜྷ'), + (0xF9E, 'V'), + (0xFA2, 'M', u'ྡྷ'), + (0xFA3, 'V'), + (0xFA7, 'M', u'ྦྷ'), + (0xFA8, 'V'), + (0xFAC, 'M', u'ྫྷ'), + (0xFAD, 'V'), + (0xFB9, 'M', u'ྐྵ'), + (0xFBA, 'V'), + (0xFBD, 'X'), + (0xFBE, 'V'), + (0xFCD, 'X'), + (0xFCE, 'V'), + (0xFDB, 'X'), + (0x1000, 'V'), + (0x10A0, 'X'), + (0x10C7, 'M', u'ⴧ'), + (0x10C8, 'X'), + (0x10CD, 'M', u'ⴭ'), + (0x10CE, 'X'), + (0x10D0, 'V'), + (0x10FC, 'M', u'ნ'), + (0x10FD, 'V'), + (0x115F, 'X'), + (0x1161, 'V'), + (0x1249, 'X'), + (0x124A, 'V'), + (0x124E, 'X'), + (0x1250, 'V'), + (0x1257, 'X'), + (0x1258, 'V'), + (0x1259, 'X'), + (0x125A, 'V'), + (0x125E, 'X'), + (0x1260, 'V'), + (0x1289, 'X'), + (0x128A, 'V'), + ] + +def _seg_14(): + return [ + (0x128E, 'X'), + (0x1290, 'V'), + (0x12B1, 'X'), + (0x12B2, 'V'), + (0x12B6, 'X'), + (0x12B8, 'V'), + (0x12BF, 'X'), + (0x12C0, 'V'), + (0x12C1, 'X'), + (0x12C2, 'V'), + (0x12C6, 'X'), + (0x12C8, 'V'), + (0x12D7, 'X'), + (0x12D8, 'V'), + (0x1311, 'X'), + (0x1312, 'V'), + (0x1316, 'X'), + (0x1318, 'V'), + (0x135B, 'X'), + (0x135D, 'V'), + (0x137D, 'X'), + (0x1380, 'V'), + (0x139A, 'X'), + (0x13A0, 'V'), + (0x13F6, 'X'), + (0x13F8, 'M', u'Ᏸ'), + (0x13F9, 'M', u'Ᏹ'), + (0x13FA, 'M', u'Ᏺ'), + (0x13FB, 'M', u'Ᏻ'), + (0x13FC, 'M', u'Ᏼ'), + (0x13FD, 'M', u'Ᏽ'), + (0x13FE, 'X'), + (0x1400, 'V'), + (0x1680, 'X'), + (0x1681, 'V'), + (0x169D, 'X'), + (0x16A0, 'V'), + (0x16F9, 'X'), + (0x1700, 'V'), + (0x170D, 'X'), + (0x170E, 'V'), + (0x1715, 'X'), + (0x1720, 'V'), + (0x1737, 'X'), + (0x1740, 'V'), + (0x1754, 'X'), + (0x1760, 'V'), + (0x176D, 'X'), + (0x176E, 'V'), + (0x1771, 'X'), + (0x1772, 'V'), + (0x1774, 'X'), + (0x1780, 'V'), + (0x17B4, 'X'), + (0x17B6, 'V'), + (0x17DE, 'X'), + (0x17E0, 'V'), + (0x17EA, 'X'), + (0x17F0, 'V'), + (0x17FA, 'X'), + (0x1800, 'V'), + (0x1806, 'X'), + (0x1807, 'V'), + (0x180B, 'I'), + (0x180E, 'X'), + (0x1810, 'V'), + (0x181A, 'X'), + (0x1820, 'V'), + (0x1879, 'X'), + (0x1880, 'V'), + (0x18AB, 'X'), + (0x18B0, 'V'), + (0x18F6, 'X'), + (0x1900, 'V'), + (0x191F, 'X'), + (0x1920, 'V'), + (0x192C, 'X'), + (0x1930, 'V'), + (0x193C, 'X'), + (0x1940, 'V'), + (0x1941, 'X'), + (0x1944, 'V'), + (0x196E, 'X'), + (0x1970, 'V'), + (0x1975, 'X'), + (0x1980, 'V'), + (0x19AC, 'X'), + (0x19B0, 'V'), + (0x19CA, 'X'), + (0x19D0, 'V'), + (0x19DB, 'X'), + (0x19DE, 'V'), + (0x1A1C, 'X'), + (0x1A1E, 'V'), + (0x1A5F, 'X'), + (0x1A60, 'V'), + (0x1A7D, 'X'), + (0x1A7F, 'V'), + (0x1A8A, 'X'), + (0x1A90, 'V'), + ] + +def _seg_15(): + return [ + (0x1A9A, 'X'), + (0x1AA0, 'V'), + (0x1AAE, 'X'), + (0x1AB0, 'V'), + (0x1ABF, 'X'), + (0x1B00, 'V'), + (0x1B4C, 'X'), + (0x1B50, 'V'), + (0x1B7D, 'X'), + (0x1B80, 'V'), + (0x1BF4, 'X'), + (0x1BFC, 'V'), + (0x1C38, 'X'), + (0x1C3B, 'V'), + (0x1C4A, 'X'), + (0x1C4D, 'V'), + (0x1C80, 'M', u'в'), + (0x1C81, 'M', u'д'), + (0x1C82, 'M', u'о'), + (0x1C83, 'M', u'с'), + (0x1C84, 'M', u'т'), + (0x1C86, 'M', u'ъ'), + (0x1C87, 'M', u'ѣ'), + (0x1C88, 'M', u'ꙋ'), + (0x1C89, 'X'), + (0x1CC0, 'V'), + (0x1CC8, 'X'), + (0x1CD0, 'V'), + (0x1CFA, 'X'), + (0x1D00, 'V'), + (0x1D2C, 'M', u'a'), + (0x1D2D, 'M', u'æ'), + (0x1D2E, 'M', u'b'), + (0x1D2F, 'V'), + (0x1D30, 'M', u'd'), + (0x1D31, 'M', u'e'), + (0x1D32, 'M', u'ǝ'), + (0x1D33, 'M', u'g'), + (0x1D34, 'M', u'h'), + (0x1D35, 'M', u'i'), + (0x1D36, 'M', u'j'), + (0x1D37, 'M', u'k'), + (0x1D38, 'M', u'l'), + (0x1D39, 'M', u'm'), + (0x1D3A, 'M', u'n'), + (0x1D3B, 'V'), + (0x1D3C, 'M', u'o'), + (0x1D3D, 'M', u'ȣ'), + (0x1D3E, 'M', u'p'), + (0x1D3F, 'M', u'r'), + (0x1D40, 'M', u't'), + (0x1D41, 'M', u'u'), + (0x1D42, 'M', u'w'), + (0x1D43, 'M', u'a'), + (0x1D44, 'M', u'ɐ'), + (0x1D45, 'M', u'ɑ'), + (0x1D46, 'M', u'ᴂ'), + (0x1D47, 'M', u'b'), + (0x1D48, 'M', u'd'), + (0x1D49, 'M', u'e'), + (0x1D4A, 'M', u'ə'), + (0x1D4B, 'M', u'ɛ'), + (0x1D4C, 'M', u'ɜ'), + (0x1D4D, 'M', u'g'), + (0x1D4E, 'V'), + (0x1D4F, 'M', u'k'), + (0x1D50, 'M', u'm'), + (0x1D51, 'M', u'ŋ'), + (0x1D52, 'M', u'o'), + (0x1D53, 'M', u'ɔ'), + (0x1D54, 'M', u'ᴖ'), + (0x1D55, 'M', u'ᴗ'), + (0x1D56, 'M', u'p'), + (0x1D57, 'M', u't'), + (0x1D58, 'M', u'u'), + (0x1D59, 'M', u'ᴝ'), + (0x1D5A, 'M', u'ɯ'), + (0x1D5B, 'M', u'v'), + (0x1D5C, 'M', u'ᴥ'), + (0x1D5D, 'M', u'β'), + (0x1D5E, 'M', u'γ'), + (0x1D5F, 'M', u'δ'), + (0x1D60, 'M', u'φ'), + (0x1D61, 'M', u'χ'), + (0x1D62, 'M', u'i'), + (0x1D63, 'M', u'r'), + (0x1D64, 'M', u'u'), + (0x1D65, 'M', u'v'), + (0x1D66, 'M', u'β'), + (0x1D67, 'M', u'γ'), + (0x1D68, 'M', u'ρ'), + (0x1D69, 'M', u'φ'), + (0x1D6A, 'M', u'χ'), + (0x1D6B, 'V'), + (0x1D78, 'M', u'н'), + (0x1D79, 'V'), + (0x1D9B, 'M', u'ɒ'), + (0x1D9C, 'M', u'c'), + (0x1D9D, 'M', u'ɕ'), + (0x1D9E, 'M', u'ð'), + ] + +def _seg_16(): + return [ + (0x1D9F, 'M', u'ɜ'), + (0x1DA0, 'M', u'f'), + (0x1DA1, 'M', u'ɟ'), + (0x1DA2, 'M', u'ɡ'), + (0x1DA3, 'M', u'ɥ'), + (0x1DA4, 'M', u'ɨ'), + (0x1DA5, 'M', u'ɩ'), + (0x1DA6, 'M', u'ɪ'), + (0x1DA7, 'M', u'ᵻ'), + (0x1DA8, 'M', u'ʝ'), + (0x1DA9, 'M', u'ɭ'), + (0x1DAA, 'M', u'ᶅ'), + (0x1DAB, 'M', u'ʟ'), + (0x1DAC, 'M', u'ɱ'), + (0x1DAD, 'M', u'ɰ'), + (0x1DAE, 'M', u'ɲ'), + (0x1DAF, 'M', u'ɳ'), + (0x1DB0, 'M', u'ɴ'), + (0x1DB1, 'M', u'ɵ'), + (0x1DB2, 'M', u'ɸ'), + (0x1DB3, 'M', u'ʂ'), + (0x1DB4, 'M', u'ʃ'), + (0x1DB5, 'M', u'ƫ'), + (0x1DB6, 'M', u'ʉ'), + (0x1DB7, 'M', u'ʊ'), + (0x1DB8, 'M', u'ᴜ'), + (0x1DB9, 'M', u'ʋ'), + (0x1DBA, 'M', u'ʌ'), + (0x1DBB, 'M', u'z'), + (0x1DBC, 'M', u'ʐ'), + (0x1DBD, 'M', u'ʑ'), + (0x1DBE, 'M', u'ʒ'), + (0x1DBF, 'M', u'θ'), + (0x1DC0, 'V'), + (0x1DFA, 'X'), + (0x1DFB, 'V'), + (0x1E00, 'M', u'ḁ'), + (0x1E01, 'V'), + (0x1E02, 'M', u'ḃ'), + (0x1E03, 'V'), + (0x1E04, 'M', u'ḅ'), + (0x1E05, 'V'), + (0x1E06, 'M', u'ḇ'), + (0x1E07, 'V'), + (0x1E08, 'M', u'ḉ'), + (0x1E09, 'V'), + (0x1E0A, 'M', u'ḋ'), + (0x1E0B, 'V'), + (0x1E0C, 'M', u'ḍ'), + (0x1E0D, 'V'), + (0x1E0E, 'M', u'ḏ'), + (0x1E0F, 'V'), + (0x1E10, 'M', u'ḑ'), + (0x1E11, 'V'), + (0x1E12, 'M', u'ḓ'), + (0x1E13, 'V'), + (0x1E14, 'M', u'ḕ'), + (0x1E15, 'V'), + (0x1E16, 'M', u'ḗ'), + (0x1E17, 'V'), + (0x1E18, 'M', u'ḙ'), + (0x1E19, 'V'), + (0x1E1A, 'M', u'ḛ'), + (0x1E1B, 'V'), + (0x1E1C, 'M', u'ḝ'), + (0x1E1D, 'V'), + (0x1E1E, 'M', u'ḟ'), + (0x1E1F, 'V'), + (0x1E20, 'M', u'ḡ'), + (0x1E21, 'V'), + (0x1E22, 'M', u'ḣ'), + (0x1E23, 'V'), + (0x1E24, 'M', u'ḥ'), + (0x1E25, 'V'), + (0x1E26, 'M', u'ḧ'), + (0x1E27, 'V'), + (0x1E28, 'M', u'ḩ'), + (0x1E29, 'V'), + (0x1E2A, 'M', u'ḫ'), + (0x1E2B, 'V'), + (0x1E2C, 'M', u'ḭ'), + (0x1E2D, 'V'), + (0x1E2E, 'M', u'ḯ'), + (0x1E2F, 'V'), + (0x1E30, 'M', u'ḱ'), + (0x1E31, 'V'), + (0x1E32, 'M', u'ḳ'), + (0x1E33, 'V'), + (0x1E34, 'M', u'ḵ'), + (0x1E35, 'V'), + (0x1E36, 'M', u'ḷ'), + (0x1E37, 'V'), + (0x1E38, 'M', u'ḹ'), + (0x1E39, 'V'), + (0x1E3A, 'M', u'ḻ'), + (0x1E3B, 'V'), + (0x1E3C, 'M', u'ḽ'), + (0x1E3D, 'V'), + (0x1E3E, 'M', u'ḿ'), + (0x1E3F, 'V'), + ] + +def _seg_17(): + return [ + (0x1E40, 'M', u'ṁ'), + (0x1E41, 'V'), + (0x1E42, 'M', u'ṃ'), + (0x1E43, 'V'), + (0x1E44, 'M', u'ṅ'), + (0x1E45, 'V'), + (0x1E46, 'M', u'ṇ'), + (0x1E47, 'V'), + (0x1E48, 'M', u'ṉ'), + (0x1E49, 'V'), + (0x1E4A, 'M', u'ṋ'), + (0x1E4B, 'V'), + (0x1E4C, 'M', u'ṍ'), + (0x1E4D, 'V'), + (0x1E4E, 'M', u'ṏ'), + (0x1E4F, 'V'), + (0x1E50, 'M', u'ṑ'), + (0x1E51, 'V'), + (0x1E52, 'M', u'ṓ'), + (0x1E53, 'V'), + (0x1E54, 'M', u'ṕ'), + (0x1E55, 'V'), + (0x1E56, 'M', u'ṗ'), + (0x1E57, 'V'), + (0x1E58, 'M', u'ṙ'), + (0x1E59, 'V'), + (0x1E5A, 'M', u'ṛ'), + (0x1E5B, 'V'), + (0x1E5C, 'M', u'ṝ'), + (0x1E5D, 'V'), + (0x1E5E, 'M', u'ṟ'), + (0x1E5F, 'V'), + (0x1E60, 'M', u'ṡ'), + (0x1E61, 'V'), + (0x1E62, 'M', u'ṣ'), + (0x1E63, 'V'), + (0x1E64, 'M', u'ṥ'), + (0x1E65, 'V'), + (0x1E66, 'M', u'ṧ'), + (0x1E67, 'V'), + (0x1E68, 'M', u'ṩ'), + (0x1E69, 'V'), + (0x1E6A, 'M', u'ṫ'), + (0x1E6B, 'V'), + (0x1E6C, 'M', u'ṭ'), + (0x1E6D, 'V'), + (0x1E6E, 'M', u'ṯ'), + (0x1E6F, 'V'), + (0x1E70, 'M', u'ṱ'), + (0x1E71, 'V'), + (0x1E72, 'M', u'ṳ'), + (0x1E73, 'V'), + (0x1E74, 'M', u'ṵ'), + (0x1E75, 'V'), + (0x1E76, 'M', u'ṷ'), + (0x1E77, 'V'), + (0x1E78, 'M', u'ṹ'), + (0x1E79, 'V'), + (0x1E7A, 'M', u'ṻ'), + (0x1E7B, 'V'), + (0x1E7C, 'M', u'ṽ'), + (0x1E7D, 'V'), + (0x1E7E, 'M', u'ṿ'), + (0x1E7F, 'V'), + (0x1E80, 'M', u'ẁ'), + (0x1E81, 'V'), + (0x1E82, 'M', u'ẃ'), + (0x1E83, 'V'), + (0x1E84, 'M', u'ẅ'), + (0x1E85, 'V'), + (0x1E86, 'M', u'ẇ'), + (0x1E87, 'V'), + (0x1E88, 'M', u'ẉ'), + (0x1E89, 'V'), + (0x1E8A, 'M', u'ẋ'), + (0x1E8B, 'V'), + (0x1E8C, 'M', u'ẍ'), + (0x1E8D, 'V'), + (0x1E8E, 'M', u'ẏ'), + (0x1E8F, 'V'), + (0x1E90, 'M', u'ẑ'), + (0x1E91, 'V'), + (0x1E92, 'M', u'ẓ'), + (0x1E93, 'V'), + (0x1E94, 'M', u'ẕ'), + (0x1E95, 'V'), + (0x1E9A, 'M', u'aʾ'), + (0x1E9B, 'M', u'ṡ'), + (0x1E9C, 'V'), + (0x1E9E, 'M', u'ss'), + (0x1E9F, 'V'), + (0x1EA0, 'M', u'ạ'), + (0x1EA1, 'V'), + (0x1EA2, 'M', u'ả'), + (0x1EA3, 'V'), + (0x1EA4, 'M', u'ấ'), + (0x1EA5, 'V'), + (0x1EA6, 'M', u'ầ'), + (0x1EA7, 'V'), + (0x1EA8, 'M', u'ẩ'), + ] + +def _seg_18(): + return [ + (0x1EA9, 'V'), + (0x1EAA, 'M', u'ẫ'), + (0x1EAB, 'V'), + (0x1EAC, 'M', u'ậ'), + (0x1EAD, 'V'), + (0x1EAE, 'M', u'ắ'), + (0x1EAF, 'V'), + (0x1EB0, 'M', u'ằ'), + (0x1EB1, 'V'), + (0x1EB2, 'M', u'ẳ'), + (0x1EB3, 'V'), + (0x1EB4, 'M', u'ẵ'), + (0x1EB5, 'V'), + (0x1EB6, 'M', u'ặ'), + (0x1EB7, 'V'), + (0x1EB8, 'M', u'ẹ'), + (0x1EB9, 'V'), + (0x1EBA, 'M', u'ẻ'), + (0x1EBB, 'V'), + (0x1EBC, 'M', u'ẽ'), + (0x1EBD, 'V'), + (0x1EBE, 'M', u'ế'), + (0x1EBF, 'V'), + (0x1EC0, 'M', u'ề'), + (0x1EC1, 'V'), + (0x1EC2, 'M', u'ể'), + (0x1EC3, 'V'), + (0x1EC4, 'M', u'ễ'), + (0x1EC5, 'V'), + (0x1EC6, 'M', u'ệ'), + (0x1EC7, 'V'), + (0x1EC8, 'M', u'ỉ'), + (0x1EC9, 'V'), + (0x1ECA, 'M', u'ị'), + (0x1ECB, 'V'), + (0x1ECC, 'M', u'ọ'), + (0x1ECD, 'V'), + (0x1ECE, 'M', u'ỏ'), + (0x1ECF, 'V'), + (0x1ED0, 'M', u'ố'), + (0x1ED1, 'V'), + (0x1ED2, 'M', u'ồ'), + (0x1ED3, 'V'), + (0x1ED4, 'M', u'ổ'), + (0x1ED5, 'V'), + (0x1ED6, 'M', u'ỗ'), + (0x1ED7, 'V'), + (0x1ED8, 'M', u'ộ'), + (0x1ED9, 'V'), + (0x1EDA, 'M', u'ớ'), + (0x1EDB, 'V'), + (0x1EDC, 'M', u'ờ'), + (0x1EDD, 'V'), + (0x1EDE, 'M', u'ở'), + (0x1EDF, 'V'), + (0x1EE0, 'M', u'ỡ'), + (0x1EE1, 'V'), + (0x1EE2, 'M', u'ợ'), + (0x1EE3, 'V'), + (0x1EE4, 'M', u'ụ'), + (0x1EE5, 'V'), + (0x1EE6, 'M', u'ủ'), + (0x1EE7, 'V'), + (0x1EE8, 'M', u'ứ'), + (0x1EE9, 'V'), + (0x1EEA, 'M', u'ừ'), + (0x1EEB, 'V'), + (0x1EEC, 'M', u'ử'), + (0x1EED, 'V'), + (0x1EEE, 'M', u'ữ'), + (0x1EEF, 'V'), + (0x1EF0, 'M', u'ự'), + (0x1EF1, 'V'), + (0x1EF2, 'M', u'ỳ'), + (0x1EF3, 'V'), + (0x1EF4, 'M', u'ỵ'), + (0x1EF5, 'V'), + (0x1EF6, 'M', u'ỷ'), + (0x1EF7, 'V'), + (0x1EF8, 'M', u'ỹ'), + (0x1EF9, 'V'), + (0x1EFA, 'M', u'ỻ'), + (0x1EFB, 'V'), + (0x1EFC, 'M', u'ỽ'), + (0x1EFD, 'V'), + (0x1EFE, 'M', u'ỿ'), + (0x1EFF, 'V'), + (0x1F08, 'M', u'ἀ'), + (0x1F09, 'M', u'ἁ'), + (0x1F0A, 'M', u'ἂ'), + (0x1F0B, 'M', u'ἃ'), + (0x1F0C, 'M', u'ἄ'), + (0x1F0D, 'M', u'ἅ'), + (0x1F0E, 'M', u'ἆ'), + (0x1F0F, 'M', u'ἇ'), + (0x1F10, 'V'), + (0x1F16, 'X'), + (0x1F18, 'M', u'ἐ'), + (0x1F19, 'M', u'ἑ'), + (0x1F1A, 'M', u'ἒ'), + ] + +def _seg_19(): + return [ + (0x1F1B, 'M', u'ἓ'), + (0x1F1C, 'M', u'ἔ'), + (0x1F1D, 'M', u'ἕ'), + (0x1F1E, 'X'), + (0x1F20, 'V'), + (0x1F28, 'M', u'ἠ'), + (0x1F29, 'M', u'ἡ'), + (0x1F2A, 'M', u'ἢ'), + (0x1F2B, 'M', u'ἣ'), + (0x1F2C, 'M', u'ἤ'), + (0x1F2D, 'M', u'ἥ'), + (0x1F2E, 'M', u'ἦ'), + (0x1F2F, 'M', u'ἧ'), + (0x1F30, 'V'), + (0x1F38, 'M', u'ἰ'), + (0x1F39, 'M', u'ἱ'), + (0x1F3A, 'M', u'ἲ'), + (0x1F3B, 'M', u'ἳ'), + (0x1F3C, 'M', u'ἴ'), + (0x1F3D, 'M', u'ἵ'), + (0x1F3E, 'M', u'ἶ'), + (0x1F3F, 'M', u'ἷ'), + (0x1F40, 'V'), + (0x1F46, 'X'), + (0x1F48, 'M', u'ὀ'), + (0x1F49, 'M', u'ὁ'), + (0x1F4A, 'M', u'ὂ'), + (0x1F4B, 'M', u'ὃ'), + (0x1F4C, 'M', u'ὄ'), + (0x1F4D, 'M', u'ὅ'), + (0x1F4E, 'X'), + (0x1F50, 'V'), + (0x1F58, 'X'), + (0x1F59, 'M', u'ὑ'), + (0x1F5A, 'X'), + (0x1F5B, 'M', u'ὓ'), + (0x1F5C, 'X'), + (0x1F5D, 'M', u'ὕ'), + (0x1F5E, 'X'), + (0x1F5F, 'M', u'ὗ'), + (0x1F60, 'V'), + (0x1F68, 'M', u'ὠ'), + (0x1F69, 'M', u'ὡ'), + (0x1F6A, 'M', u'ὢ'), + (0x1F6B, 'M', u'ὣ'), + (0x1F6C, 'M', u'ὤ'), + (0x1F6D, 'M', u'ὥ'), + (0x1F6E, 'M', u'ὦ'), + (0x1F6F, 'M', u'ὧ'), + (0x1F70, 'V'), + (0x1F71, 'M', u'ά'), + (0x1F72, 'V'), + (0x1F73, 'M', u'έ'), + (0x1F74, 'V'), + (0x1F75, 'M', u'ή'), + (0x1F76, 'V'), + (0x1F77, 'M', u'ί'), + (0x1F78, 'V'), + (0x1F79, 'M', u'ό'), + (0x1F7A, 'V'), + (0x1F7B, 'M', u'ύ'), + (0x1F7C, 'V'), + (0x1F7D, 'M', u'ώ'), + (0x1F7E, 'X'), + (0x1F80, 'M', u'ἀι'), + (0x1F81, 'M', u'ἁι'), + (0x1F82, 'M', u'ἂι'), + (0x1F83, 'M', u'ἃι'), + (0x1F84, 'M', u'ἄι'), + (0x1F85, 'M', u'ἅι'), + (0x1F86, 'M', u'ἆι'), + (0x1F87, 'M', u'ἇι'), + (0x1F88, 'M', u'ἀι'), + (0x1F89, 'M', u'ἁι'), + (0x1F8A, 'M', u'ἂι'), + (0x1F8B, 'M', u'ἃι'), + (0x1F8C, 'M', u'ἄι'), + (0x1F8D, 'M', u'ἅι'), + (0x1F8E, 'M', u'ἆι'), + (0x1F8F, 'M', u'ἇι'), + (0x1F90, 'M', u'ἠι'), + (0x1F91, 'M', u'ἡι'), + (0x1F92, 'M', u'ἢι'), + (0x1F93, 'M', u'ἣι'), + (0x1F94, 'M', u'ἤι'), + (0x1F95, 'M', u'ἥι'), + (0x1F96, 'M', u'ἦι'), + (0x1F97, 'M', u'ἧι'), + (0x1F98, 'M', u'ἠι'), + (0x1F99, 'M', u'ἡι'), + (0x1F9A, 'M', u'ἢι'), + (0x1F9B, 'M', u'ἣι'), + (0x1F9C, 'M', u'ἤι'), + (0x1F9D, 'M', u'ἥι'), + (0x1F9E, 'M', u'ἦι'), + (0x1F9F, 'M', u'ἧι'), + (0x1FA0, 'M', u'ὠι'), + (0x1FA1, 'M', u'ὡι'), + (0x1FA2, 'M', u'ὢι'), + (0x1FA3, 'M', u'ὣι'), + ] + +def _seg_20(): + return [ + (0x1FA4, 'M', u'ὤι'), + (0x1FA5, 'M', u'ὥι'), + (0x1FA6, 'M', u'ὦι'), + (0x1FA7, 'M', u'ὧι'), + (0x1FA8, 'M', u'ὠι'), + (0x1FA9, 'M', u'ὡι'), + (0x1FAA, 'M', u'ὢι'), + (0x1FAB, 'M', u'ὣι'), + (0x1FAC, 'M', u'ὤι'), + (0x1FAD, 'M', u'ὥι'), + (0x1FAE, 'M', u'ὦι'), + (0x1FAF, 'M', u'ὧι'), + (0x1FB0, 'V'), + (0x1FB2, 'M', u'ὰι'), + (0x1FB3, 'M', u'αι'), + (0x1FB4, 'M', u'άι'), + (0x1FB5, 'X'), + (0x1FB6, 'V'), + (0x1FB7, 'M', u'ᾶι'), + (0x1FB8, 'M', u'ᾰ'), + (0x1FB9, 'M', u'ᾱ'), + (0x1FBA, 'M', u'ὰ'), + (0x1FBB, 'M', u'ά'), + (0x1FBC, 'M', u'αι'), + (0x1FBD, '3', u' ̓'), + (0x1FBE, 'M', u'ι'), + (0x1FBF, '3', u' ̓'), + (0x1FC0, '3', u' ͂'), + (0x1FC1, '3', u' ̈͂'), + (0x1FC2, 'M', u'ὴι'), + (0x1FC3, 'M', u'ηι'), + (0x1FC4, 'M', u'ήι'), + (0x1FC5, 'X'), + (0x1FC6, 'V'), + (0x1FC7, 'M', u'ῆι'), + (0x1FC8, 'M', u'ὲ'), + (0x1FC9, 'M', u'έ'), + (0x1FCA, 'M', u'ὴ'), + (0x1FCB, 'M', u'ή'), + (0x1FCC, 'M', u'ηι'), + (0x1FCD, '3', u' ̓̀'), + (0x1FCE, '3', u' ̓́'), + (0x1FCF, '3', u' ̓͂'), + (0x1FD0, 'V'), + (0x1FD3, 'M', u'ΐ'), + (0x1FD4, 'X'), + (0x1FD6, 'V'), + (0x1FD8, 'M', u'ῐ'), + (0x1FD9, 'M', u'ῑ'), + (0x1FDA, 'M', u'ὶ'), + (0x1FDB, 'M', u'ί'), + (0x1FDC, 'X'), + (0x1FDD, '3', u' ̔̀'), + (0x1FDE, '3', u' ̔́'), + (0x1FDF, '3', u' ̔͂'), + (0x1FE0, 'V'), + (0x1FE3, 'M', u'ΰ'), + (0x1FE4, 'V'), + (0x1FE8, 'M', u'ῠ'), + (0x1FE9, 'M', u'ῡ'), + (0x1FEA, 'M', u'ὺ'), + (0x1FEB, 'M', u'ύ'), + (0x1FEC, 'M', u'ῥ'), + (0x1FED, '3', u' ̈̀'), + (0x1FEE, '3', u' ̈́'), + (0x1FEF, '3', u'`'), + (0x1FF0, 'X'), + (0x1FF2, 'M', u'ὼι'), + (0x1FF3, 'M', u'ωι'), + (0x1FF4, 'M', u'ώι'), + (0x1FF5, 'X'), + (0x1FF6, 'V'), + (0x1FF7, 'M', u'ῶι'), + (0x1FF8, 'M', u'ὸ'), + (0x1FF9, 'M', u'ό'), + (0x1FFA, 'M', u'ὼ'), + (0x1FFB, 'M', u'ώ'), + (0x1FFC, 'M', u'ωι'), + (0x1FFD, '3', u' ́'), + (0x1FFE, '3', u' ̔'), + (0x1FFF, 'X'), + (0x2000, '3', u' '), + (0x200B, 'I'), + (0x200C, 'D', u''), + (0x200E, 'X'), + (0x2010, 'V'), + (0x2011, 'M', u'‐'), + (0x2012, 'V'), + (0x2017, '3', u' ̳'), + (0x2018, 'V'), + (0x2024, 'X'), + (0x2027, 'V'), + (0x2028, 'X'), + (0x202F, '3', u' '), + (0x2030, 'V'), + (0x2033, 'M', u'′′'), + (0x2034, 'M', u'′′′'), + (0x2035, 'V'), + (0x2036, 'M', u'‵‵'), + (0x2037, 'M', u'‵‵‵'), + ] + +def _seg_21(): + return [ + (0x2038, 'V'), + (0x203C, '3', u'!!'), + (0x203D, 'V'), + (0x203E, '3', u' ̅'), + (0x203F, 'V'), + (0x2047, '3', u'??'), + (0x2048, '3', u'?!'), + (0x2049, '3', u'!?'), + (0x204A, 'V'), + (0x2057, 'M', u'′′′′'), + (0x2058, 'V'), + (0x205F, '3', u' '), + (0x2060, 'I'), + (0x2061, 'X'), + (0x2064, 'I'), + (0x2065, 'X'), + (0x2070, 'M', u'0'), + (0x2071, 'M', u'i'), + (0x2072, 'X'), + (0x2074, 'M', u'4'), + (0x2075, 'M', u'5'), + (0x2076, 'M', u'6'), + (0x2077, 'M', u'7'), + (0x2078, 'M', u'8'), + (0x2079, 'M', u'9'), + (0x207A, '3', u'+'), + (0x207B, 'M', u'−'), + (0x207C, '3', u'='), + (0x207D, '3', u'('), + (0x207E, '3', u')'), + (0x207F, 'M', u'n'), + (0x2080, 'M', u'0'), + (0x2081, 'M', u'1'), + (0x2082, 'M', u'2'), + (0x2083, 'M', u'3'), + (0x2084, 'M', u'4'), + (0x2085, 'M', u'5'), + (0x2086, 'M', u'6'), + (0x2087, 'M', u'7'), + (0x2088, 'M', u'8'), + (0x2089, 'M', u'9'), + (0x208A, '3', u'+'), + (0x208B, 'M', u'−'), + (0x208C, '3', u'='), + (0x208D, '3', u'('), + (0x208E, '3', u')'), + (0x208F, 'X'), + (0x2090, 'M', u'a'), + (0x2091, 'M', u'e'), + (0x2092, 'M', u'o'), + (0x2093, 'M', u'x'), + (0x2094, 'M', u'ə'), + (0x2095, 'M', u'h'), + (0x2096, 'M', u'k'), + (0x2097, 'M', u'l'), + (0x2098, 'M', u'm'), + (0x2099, 'M', u'n'), + (0x209A, 'M', u'p'), + (0x209B, 'M', u's'), + (0x209C, 'M', u't'), + (0x209D, 'X'), + (0x20A0, 'V'), + (0x20A8, 'M', u'rs'), + (0x20A9, 'V'), + (0x20C0, 'X'), + (0x20D0, 'V'), + (0x20F1, 'X'), + (0x2100, '3', u'a/c'), + (0x2101, '3', u'a/s'), + (0x2102, 'M', u'c'), + (0x2103, 'M', u'°c'), + (0x2104, 'V'), + (0x2105, '3', u'c/o'), + (0x2106, '3', u'c/u'), + (0x2107, 'M', u'ɛ'), + (0x2108, 'V'), + (0x2109, 'M', u'°f'), + (0x210A, 'M', u'g'), + (0x210B, 'M', u'h'), + (0x210F, 'M', u'ħ'), + (0x2110, 'M', u'i'), + (0x2112, 'M', u'l'), + (0x2114, 'V'), + (0x2115, 'M', u'n'), + (0x2116, 'M', u'no'), + (0x2117, 'V'), + (0x2119, 'M', u'p'), + (0x211A, 'M', u'q'), + (0x211B, 'M', u'r'), + (0x211E, 'V'), + (0x2120, 'M', u'sm'), + (0x2121, 'M', u'tel'), + (0x2122, 'M', u'tm'), + (0x2123, 'V'), + (0x2124, 'M', u'z'), + (0x2125, 'V'), + (0x2126, 'M', u'ω'), + (0x2127, 'V'), + (0x2128, 'M', u'z'), + (0x2129, 'V'), + ] + +def _seg_22(): + return [ + (0x212A, 'M', u'k'), + (0x212B, 'M', u'å'), + (0x212C, 'M', u'b'), + (0x212D, 'M', u'c'), + (0x212E, 'V'), + (0x212F, 'M', u'e'), + (0x2131, 'M', u'f'), + (0x2132, 'X'), + (0x2133, 'M', u'm'), + (0x2134, 'M', u'o'), + (0x2135, 'M', u'א'), + (0x2136, 'M', u'ב'), + (0x2137, 'M', u'ג'), + (0x2138, 'M', u'ד'), + (0x2139, 'M', u'i'), + (0x213A, 'V'), + (0x213B, 'M', u'fax'), + (0x213C, 'M', u'π'), + (0x213D, 'M', u'γ'), + (0x213F, 'M', u'π'), + (0x2140, 'M', u'∑'), + (0x2141, 'V'), + (0x2145, 'M', u'd'), + (0x2147, 'M', u'e'), + (0x2148, 'M', u'i'), + (0x2149, 'M', u'j'), + (0x214A, 'V'), + (0x2150, 'M', u'1⁄7'), + (0x2151, 'M', u'1⁄9'), + (0x2152, 'M', u'1⁄10'), + (0x2153, 'M', u'1⁄3'), + (0x2154, 'M', u'2⁄3'), + (0x2155, 'M', u'1⁄5'), + (0x2156, 'M', u'2⁄5'), + (0x2157, 'M', u'3⁄5'), + (0x2158, 'M', u'4⁄5'), + (0x2159, 'M', u'1⁄6'), + (0x215A, 'M', u'5⁄6'), + (0x215B, 'M', u'1⁄8'), + (0x215C, 'M', u'3⁄8'), + (0x215D, 'M', u'5⁄8'), + (0x215E, 'M', u'7⁄8'), + (0x215F, 'M', u'1⁄'), + (0x2160, 'M', u'i'), + (0x2161, 'M', u'ii'), + (0x2162, 'M', u'iii'), + (0x2163, 'M', u'iv'), + (0x2164, 'M', u'v'), + (0x2165, 'M', u'vi'), + (0x2166, 'M', u'vii'), + (0x2167, 'M', u'viii'), + (0x2168, 'M', u'ix'), + (0x2169, 'M', u'x'), + (0x216A, 'M', u'xi'), + (0x216B, 'M', u'xii'), + (0x216C, 'M', u'l'), + (0x216D, 'M', u'c'), + (0x216E, 'M', u'd'), + (0x216F, 'M', u'm'), + (0x2170, 'M', u'i'), + (0x2171, 'M', u'ii'), + (0x2172, 'M', u'iii'), + (0x2173, 'M', u'iv'), + (0x2174, 'M', u'v'), + (0x2175, 'M', u'vi'), + (0x2176, 'M', u'vii'), + (0x2177, 'M', u'viii'), + (0x2178, 'M', u'ix'), + (0x2179, 'M', u'x'), + (0x217A, 'M', u'xi'), + (0x217B, 'M', u'xii'), + (0x217C, 'M', u'l'), + (0x217D, 'M', u'c'), + (0x217E, 'M', u'd'), + (0x217F, 'M', u'm'), + (0x2180, 'V'), + (0x2183, 'X'), + (0x2184, 'V'), + (0x2189, 'M', u'0⁄3'), + (0x218A, 'V'), + (0x218C, 'X'), + (0x2190, 'V'), + (0x222C, 'M', u'∫∫'), + (0x222D, 'M', u'∫∫∫'), + (0x222E, 'V'), + (0x222F, 'M', u'∮∮'), + (0x2230, 'M', u'∮∮∮'), + (0x2231, 'V'), + (0x2260, '3'), + (0x2261, 'V'), + (0x226E, '3'), + (0x2270, 'V'), + (0x2329, 'M', u'〈'), + (0x232A, 'M', u'〉'), + (0x232B, 'V'), + (0x2427, 'X'), + (0x2440, 'V'), + (0x244B, 'X'), + (0x2460, 'M', u'1'), + (0x2461, 'M', u'2'), + ] + +def _seg_23(): + return [ + (0x2462, 'M', u'3'), + (0x2463, 'M', u'4'), + (0x2464, 'M', u'5'), + (0x2465, 'M', u'6'), + (0x2466, 'M', u'7'), + (0x2467, 'M', u'8'), + (0x2468, 'M', u'9'), + (0x2469, 'M', u'10'), + (0x246A, 'M', u'11'), + (0x246B, 'M', u'12'), + (0x246C, 'M', u'13'), + (0x246D, 'M', u'14'), + (0x246E, 'M', u'15'), + (0x246F, 'M', u'16'), + (0x2470, 'M', u'17'), + (0x2471, 'M', u'18'), + (0x2472, 'M', u'19'), + (0x2473, 'M', u'20'), + (0x2474, '3', u'(1)'), + (0x2475, '3', u'(2)'), + (0x2476, '3', u'(3)'), + (0x2477, '3', u'(4)'), + (0x2478, '3', u'(5)'), + (0x2479, '3', u'(6)'), + (0x247A, '3', u'(7)'), + (0x247B, '3', u'(8)'), + (0x247C, '3', u'(9)'), + (0x247D, '3', u'(10)'), + (0x247E, '3', u'(11)'), + (0x247F, '3', u'(12)'), + (0x2480, '3', u'(13)'), + (0x2481, '3', u'(14)'), + (0x2482, '3', u'(15)'), + (0x2483, '3', u'(16)'), + (0x2484, '3', u'(17)'), + (0x2485, '3', u'(18)'), + (0x2486, '3', u'(19)'), + (0x2487, '3', u'(20)'), + (0x2488, 'X'), + (0x249C, '3', u'(a)'), + (0x249D, '3', u'(b)'), + (0x249E, '3', u'(c)'), + (0x249F, '3', u'(d)'), + (0x24A0, '3', u'(e)'), + (0x24A1, '3', u'(f)'), + (0x24A2, '3', u'(g)'), + (0x24A3, '3', u'(h)'), + (0x24A4, '3', u'(i)'), + (0x24A5, '3', u'(j)'), + (0x24A6, '3', u'(k)'), + (0x24A7, '3', u'(l)'), + (0x24A8, '3', u'(m)'), + (0x24A9, '3', u'(n)'), + (0x24AA, '3', u'(o)'), + (0x24AB, '3', u'(p)'), + (0x24AC, '3', u'(q)'), + (0x24AD, '3', u'(r)'), + (0x24AE, '3', u'(s)'), + (0x24AF, '3', u'(t)'), + (0x24B0, '3', u'(u)'), + (0x24B1, '3', u'(v)'), + (0x24B2, '3', u'(w)'), + (0x24B3, '3', u'(x)'), + (0x24B4, '3', u'(y)'), + (0x24B5, '3', u'(z)'), + (0x24B6, 'M', u'a'), + (0x24B7, 'M', u'b'), + (0x24B8, 'M', u'c'), + (0x24B9, 'M', u'd'), + (0x24BA, 'M', u'e'), + (0x24BB, 'M', u'f'), + (0x24BC, 'M', u'g'), + (0x24BD, 'M', u'h'), + (0x24BE, 'M', u'i'), + (0x24BF, 'M', u'j'), + (0x24C0, 'M', u'k'), + (0x24C1, 'M', u'l'), + (0x24C2, 'M', u'm'), + (0x24C3, 'M', u'n'), + (0x24C4, 'M', u'o'), + (0x24C5, 'M', u'p'), + (0x24C6, 'M', u'q'), + (0x24C7, 'M', u'r'), + (0x24C8, 'M', u's'), + (0x24C9, 'M', u't'), + (0x24CA, 'M', u'u'), + (0x24CB, 'M', u'v'), + (0x24CC, 'M', u'w'), + (0x24CD, 'M', u'x'), + (0x24CE, 'M', u'y'), + (0x24CF, 'M', u'z'), + (0x24D0, 'M', u'a'), + (0x24D1, 'M', u'b'), + (0x24D2, 'M', u'c'), + (0x24D3, 'M', u'd'), + (0x24D4, 'M', u'e'), + (0x24D5, 'M', u'f'), + (0x24D6, 'M', u'g'), + (0x24D7, 'M', u'h'), + (0x24D8, 'M', u'i'), + ] + +def _seg_24(): + return [ + (0x24D9, 'M', u'j'), + (0x24DA, 'M', u'k'), + (0x24DB, 'M', u'l'), + (0x24DC, 'M', u'm'), + (0x24DD, 'M', u'n'), + (0x24DE, 'M', u'o'), + (0x24DF, 'M', u'p'), + (0x24E0, 'M', u'q'), + (0x24E1, 'M', u'r'), + (0x24E2, 'M', u's'), + (0x24E3, 'M', u't'), + (0x24E4, 'M', u'u'), + (0x24E5, 'M', u'v'), + (0x24E6, 'M', u'w'), + (0x24E7, 'M', u'x'), + (0x24E8, 'M', u'y'), + (0x24E9, 'M', u'z'), + (0x24EA, 'M', u'0'), + (0x24EB, 'V'), + (0x2A0C, 'M', u'∫∫∫∫'), + (0x2A0D, 'V'), + (0x2A74, '3', u'::='), + (0x2A75, '3', u'=='), + (0x2A76, '3', u'==='), + (0x2A77, 'V'), + (0x2ADC, 'M', u'⫝̸'), + (0x2ADD, 'V'), + (0x2B74, 'X'), + (0x2B76, 'V'), + (0x2B96, 'X'), + (0x2B98, 'V'), + (0x2BC9, 'X'), + (0x2BCA, 'V'), + (0x2BFF, 'X'), + (0x2C00, 'M', u'ⰰ'), + (0x2C01, 'M', u'ⰱ'), + (0x2C02, 'M', u'ⰲ'), + (0x2C03, 'M', u'ⰳ'), + (0x2C04, 'M', u'ⰴ'), + (0x2C05, 'M', u'ⰵ'), + (0x2C06, 'M', u'ⰶ'), + (0x2C07, 'M', u'ⰷ'), + (0x2C08, 'M', u'ⰸ'), + (0x2C09, 'M', u'ⰹ'), + (0x2C0A, 'M', u'ⰺ'), + (0x2C0B, 'M', u'ⰻ'), + (0x2C0C, 'M', u'ⰼ'), + (0x2C0D, 'M', u'ⰽ'), + (0x2C0E, 'M', u'ⰾ'), + (0x2C0F, 'M', u'ⰿ'), + (0x2C10, 'M', u'ⱀ'), + (0x2C11, 'M', u'ⱁ'), + (0x2C12, 'M', u'ⱂ'), + (0x2C13, 'M', u'ⱃ'), + (0x2C14, 'M', u'ⱄ'), + (0x2C15, 'M', u'ⱅ'), + (0x2C16, 'M', u'ⱆ'), + (0x2C17, 'M', u'ⱇ'), + (0x2C18, 'M', u'ⱈ'), + (0x2C19, 'M', u'ⱉ'), + (0x2C1A, 'M', u'ⱊ'), + (0x2C1B, 'M', u'ⱋ'), + (0x2C1C, 'M', u'ⱌ'), + (0x2C1D, 'M', u'ⱍ'), + (0x2C1E, 'M', u'ⱎ'), + (0x2C1F, 'M', u'ⱏ'), + (0x2C20, 'M', u'ⱐ'), + (0x2C21, 'M', u'ⱑ'), + (0x2C22, 'M', u'ⱒ'), + (0x2C23, 'M', u'ⱓ'), + (0x2C24, 'M', u'ⱔ'), + (0x2C25, 'M', u'ⱕ'), + (0x2C26, 'M', u'ⱖ'), + (0x2C27, 'M', u'ⱗ'), + (0x2C28, 'M', u'ⱘ'), + (0x2C29, 'M', u'ⱙ'), + (0x2C2A, 'M', u'ⱚ'), + (0x2C2B, 'M', u'ⱛ'), + (0x2C2C, 'M', u'ⱜ'), + (0x2C2D, 'M', u'ⱝ'), + (0x2C2E, 'M', u'ⱞ'), + (0x2C2F, 'X'), + (0x2C30, 'V'), + (0x2C5F, 'X'), + (0x2C60, 'M', u'ⱡ'), + (0x2C61, 'V'), + (0x2C62, 'M', u'ɫ'), + (0x2C63, 'M', u'ᵽ'), + (0x2C64, 'M', u'ɽ'), + (0x2C65, 'V'), + (0x2C67, 'M', u'ⱨ'), + (0x2C68, 'V'), + (0x2C69, 'M', u'ⱪ'), + (0x2C6A, 'V'), + (0x2C6B, 'M', u'ⱬ'), + (0x2C6C, 'V'), + (0x2C6D, 'M', u'ɑ'), + (0x2C6E, 'M', u'ɱ'), + (0x2C6F, 'M', u'ɐ'), + (0x2C70, 'M', u'ɒ'), + ] + +def _seg_25(): + return [ + (0x2C71, 'V'), + (0x2C72, 'M', u'ⱳ'), + (0x2C73, 'V'), + (0x2C75, 'M', u'ⱶ'), + (0x2C76, 'V'), + (0x2C7C, 'M', u'j'), + (0x2C7D, 'M', u'v'), + (0x2C7E, 'M', u'ȿ'), + (0x2C7F, 'M', u'ɀ'), + (0x2C80, 'M', u'ⲁ'), + (0x2C81, 'V'), + (0x2C82, 'M', u'ⲃ'), + (0x2C83, 'V'), + (0x2C84, 'M', u'ⲅ'), + (0x2C85, 'V'), + (0x2C86, 'M', u'ⲇ'), + (0x2C87, 'V'), + (0x2C88, 'M', u'ⲉ'), + (0x2C89, 'V'), + (0x2C8A, 'M', u'ⲋ'), + (0x2C8B, 'V'), + (0x2C8C, 'M', u'ⲍ'), + (0x2C8D, 'V'), + (0x2C8E, 'M', u'ⲏ'), + (0x2C8F, 'V'), + (0x2C90, 'M', u'ⲑ'), + (0x2C91, 'V'), + (0x2C92, 'M', u'ⲓ'), + (0x2C93, 'V'), + (0x2C94, 'M', u'ⲕ'), + (0x2C95, 'V'), + (0x2C96, 'M', u'ⲗ'), + (0x2C97, 'V'), + (0x2C98, 'M', u'ⲙ'), + (0x2C99, 'V'), + (0x2C9A, 'M', u'ⲛ'), + (0x2C9B, 'V'), + (0x2C9C, 'M', u'ⲝ'), + (0x2C9D, 'V'), + (0x2C9E, 'M', u'ⲟ'), + (0x2C9F, 'V'), + (0x2CA0, 'M', u'ⲡ'), + (0x2CA1, 'V'), + (0x2CA2, 'M', u'ⲣ'), + (0x2CA3, 'V'), + (0x2CA4, 'M', u'ⲥ'), + (0x2CA5, 'V'), + (0x2CA6, 'M', u'ⲧ'), + (0x2CA7, 'V'), + (0x2CA8, 'M', u'ⲩ'), + (0x2CA9, 'V'), + (0x2CAA, 'M', u'ⲫ'), + (0x2CAB, 'V'), + (0x2CAC, 'M', u'ⲭ'), + (0x2CAD, 'V'), + (0x2CAE, 'M', u'ⲯ'), + (0x2CAF, 'V'), + (0x2CB0, 'M', u'ⲱ'), + (0x2CB1, 'V'), + (0x2CB2, 'M', u'ⲳ'), + (0x2CB3, 'V'), + (0x2CB4, 'M', u'ⲵ'), + (0x2CB5, 'V'), + (0x2CB6, 'M', u'ⲷ'), + (0x2CB7, 'V'), + (0x2CB8, 'M', u'ⲹ'), + (0x2CB9, 'V'), + (0x2CBA, 'M', u'ⲻ'), + (0x2CBB, 'V'), + (0x2CBC, 'M', u'ⲽ'), + (0x2CBD, 'V'), + (0x2CBE, 'M', u'ⲿ'), + (0x2CBF, 'V'), + (0x2CC0, 'M', u'ⳁ'), + (0x2CC1, 'V'), + (0x2CC2, 'M', u'ⳃ'), + (0x2CC3, 'V'), + (0x2CC4, 'M', u'ⳅ'), + (0x2CC5, 'V'), + (0x2CC6, 'M', u'ⳇ'), + (0x2CC7, 'V'), + (0x2CC8, 'M', u'ⳉ'), + (0x2CC9, 'V'), + (0x2CCA, 'M', u'ⳋ'), + (0x2CCB, 'V'), + (0x2CCC, 'M', u'ⳍ'), + (0x2CCD, 'V'), + (0x2CCE, 'M', u'ⳏ'), + (0x2CCF, 'V'), + (0x2CD0, 'M', u'ⳑ'), + (0x2CD1, 'V'), + (0x2CD2, 'M', u'ⳓ'), + (0x2CD3, 'V'), + (0x2CD4, 'M', u'ⳕ'), + (0x2CD5, 'V'), + (0x2CD6, 'M', u'ⳗ'), + (0x2CD7, 'V'), + (0x2CD8, 'M', u'ⳙ'), + (0x2CD9, 'V'), + (0x2CDA, 'M', u'ⳛ'), + ] + +def _seg_26(): + return [ + (0x2CDB, 'V'), + (0x2CDC, 'M', u'ⳝ'), + (0x2CDD, 'V'), + (0x2CDE, 'M', u'ⳟ'), + (0x2CDF, 'V'), + (0x2CE0, 'M', u'ⳡ'), + (0x2CE1, 'V'), + (0x2CE2, 'M', u'ⳣ'), + (0x2CE3, 'V'), + (0x2CEB, 'M', u'ⳬ'), + (0x2CEC, 'V'), + (0x2CED, 'M', u'ⳮ'), + (0x2CEE, 'V'), + (0x2CF2, 'M', u'ⳳ'), + (0x2CF3, 'V'), + (0x2CF4, 'X'), + (0x2CF9, 'V'), + (0x2D26, 'X'), + (0x2D27, 'V'), + (0x2D28, 'X'), + (0x2D2D, 'V'), + (0x2D2E, 'X'), + (0x2D30, 'V'), + (0x2D68, 'X'), + (0x2D6F, 'M', u'ⵡ'), + (0x2D70, 'V'), + (0x2D71, 'X'), + (0x2D7F, 'V'), + (0x2D97, 'X'), + (0x2DA0, 'V'), + (0x2DA7, 'X'), + (0x2DA8, 'V'), + (0x2DAF, 'X'), + (0x2DB0, 'V'), + (0x2DB7, 'X'), + (0x2DB8, 'V'), + (0x2DBF, 'X'), + (0x2DC0, 'V'), + (0x2DC7, 'X'), + (0x2DC8, 'V'), + (0x2DCF, 'X'), + (0x2DD0, 'V'), + (0x2DD7, 'X'), + (0x2DD8, 'V'), + (0x2DDF, 'X'), + (0x2DE0, 'V'), + (0x2E4F, 'X'), + (0x2E80, 'V'), + (0x2E9A, 'X'), + (0x2E9B, 'V'), + (0x2E9F, 'M', u'母'), + (0x2EA0, 'V'), + (0x2EF3, 'M', u'龟'), + (0x2EF4, 'X'), + (0x2F00, 'M', u'一'), + (0x2F01, 'M', u'丨'), + (0x2F02, 'M', u'丶'), + (0x2F03, 'M', u'丿'), + (0x2F04, 'M', u'乙'), + (0x2F05, 'M', u'亅'), + (0x2F06, 'M', u'二'), + (0x2F07, 'M', u'亠'), + (0x2F08, 'M', u'人'), + (0x2F09, 'M', u'儿'), + (0x2F0A, 'M', u'入'), + (0x2F0B, 'M', u'八'), + (0x2F0C, 'M', u'冂'), + (0x2F0D, 'M', u'冖'), + (0x2F0E, 'M', u'冫'), + (0x2F0F, 'M', u'几'), + (0x2F10, 'M', u'凵'), + (0x2F11, 'M', u'刀'), + (0x2F12, 'M', u'力'), + (0x2F13, 'M', u'勹'), + (0x2F14, 'M', u'匕'), + (0x2F15, 'M', u'匚'), + (0x2F16, 'M', u'匸'), + (0x2F17, 'M', u'十'), + (0x2F18, 'M', u'卜'), + (0x2F19, 'M', u'卩'), + (0x2F1A, 'M', u'厂'), + (0x2F1B, 'M', u'厶'), + (0x2F1C, 'M', u'又'), + (0x2F1D, 'M', u'口'), + (0x2F1E, 'M', u'囗'), + (0x2F1F, 'M', u'土'), + (0x2F20, 'M', u'士'), + (0x2F21, 'M', u'夂'), + (0x2F22, 'M', u'夊'), + (0x2F23, 'M', u'夕'), + (0x2F24, 'M', u'大'), + (0x2F25, 'M', u'女'), + (0x2F26, 'M', u'子'), + (0x2F27, 'M', u'宀'), + (0x2F28, 'M', u'寸'), + (0x2F29, 'M', u'小'), + (0x2F2A, 'M', u'尢'), + (0x2F2B, 'M', u'尸'), + (0x2F2C, 'M', u'屮'), + (0x2F2D, 'M', u'山'), + ] + +def _seg_27(): + return [ + (0x2F2E, 'M', u'巛'), + (0x2F2F, 'M', u'工'), + (0x2F30, 'M', u'己'), + (0x2F31, 'M', u'巾'), + (0x2F32, 'M', u'干'), + (0x2F33, 'M', u'幺'), + (0x2F34, 'M', u'广'), + (0x2F35, 'M', u'廴'), + (0x2F36, 'M', u'廾'), + (0x2F37, 'M', u'弋'), + (0x2F38, 'M', u'弓'), + (0x2F39, 'M', u'彐'), + (0x2F3A, 'M', u'彡'), + (0x2F3B, 'M', u'彳'), + (0x2F3C, 'M', u'心'), + (0x2F3D, 'M', u'戈'), + (0x2F3E, 'M', u'戶'), + (0x2F3F, 'M', u'手'), + (0x2F40, 'M', u'支'), + (0x2F41, 'M', u'攴'), + (0x2F42, 'M', u'文'), + (0x2F43, 'M', u'斗'), + (0x2F44, 'M', u'斤'), + (0x2F45, 'M', u'方'), + (0x2F46, 'M', u'无'), + (0x2F47, 'M', u'日'), + (0x2F48, 'M', u'曰'), + (0x2F49, 'M', u'月'), + (0x2F4A, 'M', u'木'), + (0x2F4B, 'M', u'欠'), + (0x2F4C, 'M', u'止'), + (0x2F4D, 'M', u'歹'), + (0x2F4E, 'M', u'殳'), + (0x2F4F, 'M', u'毋'), + (0x2F50, 'M', u'比'), + (0x2F51, 'M', u'毛'), + (0x2F52, 'M', u'氏'), + (0x2F53, 'M', u'气'), + (0x2F54, 'M', u'水'), + (0x2F55, 'M', u'火'), + (0x2F56, 'M', u'爪'), + (0x2F57, 'M', u'父'), + (0x2F58, 'M', u'爻'), + (0x2F59, 'M', u'爿'), + (0x2F5A, 'M', u'片'), + (0x2F5B, 'M', u'牙'), + (0x2F5C, 'M', u'牛'), + (0x2F5D, 'M', u'犬'), + (0x2F5E, 'M', u'玄'), + (0x2F5F, 'M', u'玉'), + (0x2F60, 'M', u'瓜'), + (0x2F61, 'M', u'瓦'), + (0x2F62, 'M', u'甘'), + (0x2F63, 'M', u'生'), + (0x2F64, 'M', u'用'), + (0x2F65, 'M', u'田'), + (0x2F66, 'M', u'疋'), + (0x2F67, 'M', u'疒'), + (0x2F68, 'M', u'癶'), + (0x2F69, 'M', u'白'), + (0x2F6A, 'M', u'皮'), + (0x2F6B, 'M', u'皿'), + (0x2F6C, 'M', u'目'), + (0x2F6D, 'M', u'矛'), + (0x2F6E, 'M', u'矢'), + (0x2F6F, 'M', u'石'), + (0x2F70, 'M', u'示'), + (0x2F71, 'M', u'禸'), + (0x2F72, 'M', u'禾'), + (0x2F73, 'M', u'穴'), + (0x2F74, 'M', u'立'), + (0x2F75, 'M', u'竹'), + (0x2F76, 'M', u'米'), + (0x2F77, 'M', u'糸'), + (0x2F78, 'M', u'缶'), + (0x2F79, 'M', u'网'), + (0x2F7A, 'M', u'羊'), + (0x2F7B, 'M', u'羽'), + (0x2F7C, 'M', u'老'), + (0x2F7D, 'M', u'而'), + (0x2F7E, 'M', u'耒'), + (0x2F7F, 'M', u'耳'), + (0x2F80, 'M', u'聿'), + (0x2F81, 'M', u'肉'), + (0x2F82, 'M', u'臣'), + (0x2F83, 'M', u'自'), + (0x2F84, 'M', u'至'), + (0x2F85, 'M', u'臼'), + (0x2F86, 'M', u'舌'), + (0x2F87, 'M', u'舛'), + (0x2F88, 'M', u'舟'), + (0x2F89, 'M', u'艮'), + (0x2F8A, 'M', u'色'), + (0x2F8B, 'M', u'艸'), + (0x2F8C, 'M', u'虍'), + (0x2F8D, 'M', u'虫'), + (0x2F8E, 'M', u'血'), + (0x2F8F, 'M', u'行'), + (0x2F90, 'M', u'衣'), + (0x2F91, 'M', u'襾'), + ] + +def _seg_28(): + return [ + (0x2F92, 'M', u'見'), + (0x2F93, 'M', u'角'), + (0x2F94, 'M', u'言'), + (0x2F95, 'M', u'谷'), + (0x2F96, 'M', u'豆'), + (0x2F97, 'M', u'豕'), + (0x2F98, 'M', u'豸'), + (0x2F99, 'M', u'貝'), + (0x2F9A, 'M', u'赤'), + (0x2F9B, 'M', u'走'), + (0x2F9C, 'M', u'足'), + (0x2F9D, 'M', u'身'), + (0x2F9E, 'M', u'車'), + (0x2F9F, 'M', u'辛'), + (0x2FA0, 'M', u'辰'), + (0x2FA1, 'M', u'辵'), + (0x2FA2, 'M', u'邑'), + (0x2FA3, 'M', u'酉'), + (0x2FA4, 'M', u'釆'), + (0x2FA5, 'M', u'里'), + (0x2FA6, 'M', u'金'), + (0x2FA7, 'M', u'長'), + (0x2FA8, 'M', u'門'), + (0x2FA9, 'M', u'阜'), + (0x2FAA, 'M', u'隶'), + (0x2FAB, 'M', u'隹'), + (0x2FAC, 'M', u'雨'), + (0x2FAD, 'M', u'靑'), + (0x2FAE, 'M', u'非'), + (0x2FAF, 'M', u'面'), + (0x2FB0, 'M', u'革'), + (0x2FB1, 'M', u'韋'), + (0x2FB2, 'M', u'韭'), + (0x2FB3, 'M', u'音'), + (0x2FB4, 'M', u'頁'), + (0x2FB5, 'M', u'風'), + (0x2FB6, 'M', u'飛'), + (0x2FB7, 'M', u'食'), + (0x2FB8, 'M', u'首'), + (0x2FB9, 'M', u'香'), + (0x2FBA, 'M', u'馬'), + (0x2FBB, 'M', u'骨'), + (0x2FBC, 'M', u'高'), + (0x2FBD, 'M', u'髟'), + (0x2FBE, 'M', u'鬥'), + (0x2FBF, 'M', u'鬯'), + (0x2FC0, 'M', u'鬲'), + (0x2FC1, 'M', u'鬼'), + (0x2FC2, 'M', u'魚'), + (0x2FC3, 'M', u'鳥'), + (0x2FC4, 'M', u'鹵'), + (0x2FC5, 'M', u'鹿'), + (0x2FC6, 'M', u'麥'), + (0x2FC7, 'M', u'麻'), + (0x2FC8, 'M', u'黃'), + (0x2FC9, 'M', u'黍'), + (0x2FCA, 'M', u'黑'), + (0x2FCB, 'M', u'黹'), + (0x2FCC, 'M', u'黽'), + (0x2FCD, 'M', u'鼎'), + (0x2FCE, 'M', u'鼓'), + (0x2FCF, 'M', u'鼠'), + (0x2FD0, 'M', u'鼻'), + (0x2FD1, 'M', u'齊'), + (0x2FD2, 'M', u'齒'), + (0x2FD3, 'M', u'龍'), + (0x2FD4, 'M', u'龜'), + (0x2FD5, 'M', u'龠'), + (0x2FD6, 'X'), + (0x3000, '3', u' '), + (0x3001, 'V'), + (0x3002, 'M', u'.'), + (0x3003, 'V'), + (0x3036, 'M', u'〒'), + (0x3037, 'V'), + (0x3038, 'M', u'十'), + (0x3039, 'M', u'卄'), + (0x303A, 'M', u'卅'), + (0x303B, 'V'), + (0x3040, 'X'), + (0x3041, 'V'), + (0x3097, 'X'), + (0x3099, 'V'), + (0x309B, '3', u' ゙'), + (0x309C, '3', u' ゚'), + (0x309D, 'V'), + (0x309F, 'M', u'より'), + (0x30A0, 'V'), + (0x30FF, 'M', u'コト'), + (0x3100, 'X'), + (0x3105, 'V'), + (0x3130, 'X'), + (0x3131, 'M', u'ᄀ'), + (0x3132, 'M', u'ᄁ'), + (0x3133, 'M', u'ᆪ'), + (0x3134, 'M', u'ᄂ'), + (0x3135, 'M', u'ᆬ'), + (0x3136, 'M', u'ᆭ'), + (0x3137, 'M', u'ᄃ'), + (0x3138, 'M', u'ᄄ'), + ] + +def _seg_29(): + return [ + (0x3139, 'M', u'ᄅ'), + (0x313A, 'M', u'ᆰ'), + (0x313B, 'M', u'ᆱ'), + (0x313C, 'M', u'ᆲ'), + (0x313D, 'M', u'ᆳ'), + (0x313E, 'M', u'ᆴ'), + (0x313F, 'M', u'ᆵ'), + (0x3140, 'M', u'ᄚ'), + (0x3141, 'M', u'ᄆ'), + (0x3142, 'M', u'ᄇ'), + (0x3143, 'M', u'ᄈ'), + (0x3144, 'M', u'ᄡ'), + (0x3145, 'M', u'ᄉ'), + (0x3146, 'M', u'ᄊ'), + (0x3147, 'M', u'ᄋ'), + (0x3148, 'M', u'ᄌ'), + (0x3149, 'M', u'ᄍ'), + (0x314A, 'M', u'ᄎ'), + (0x314B, 'M', u'ᄏ'), + (0x314C, 'M', u'ᄐ'), + (0x314D, 'M', u'ᄑ'), + (0x314E, 'M', u'ᄒ'), + (0x314F, 'M', u'ᅡ'), + (0x3150, 'M', u'ᅢ'), + (0x3151, 'M', u'ᅣ'), + (0x3152, 'M', u'ᅤ'), + (0x3153, 'M', u'ᅥ'), + (0x3154, 'M', u'ᅦ'), + (0x3155, 'M', u'ᅧ'), + (0x3156, 'M', u'ᅨ'), + (0x3157, 'M', u'ᅩ'), + (0x3158, 'M', u'ᅪ'), + (0x3159, 'M', u'ᅫ'), + (0x315A, 'M', u'ᅬ'), + (0x315B, 'M', u'ᅭ'), + (0x315C, 'M', u'ᅮ'), + (0x315D, 'M', u'ᅯ'), + (0x315E, 'M', u'ᅰ'), + (0x315F, 'M', u'ᅱ'), + (0x3160, 'M', u'ᅲ'), + (0x3161, 'M', u'ᅳ'), + (0x3162, 'M', u'ᅴ'), + (0x3163, 'M', u'ᅵ'), + (0x3164, 'X'), + (0x3165, 'M', u'ᄔ'), + (0x3166, 'M', u'ᄕ'), + (0x3167, 'M', u'ᇇ'), + (0x3168, 'M', u'ᇈ'), + (0x3169, 'M', u'ᇌ'), + (0x316A, 'M', u'ᇎ'), + (0x316B, 'M', u'ᇓ'), + (0x316C, 'M', u'ᇗ'), + (0x316D, 'M', u'ᇙ'), + (0x316E, 'M', u'ᄜ'), + (0x316F, 'M', u'ᇝ'), + (0x3170, 'M', u'ᇟ'), + (0x3171, 'M', u'ᄝ'), + (0x3172, 'M', u'ᄞ'), + (0x3173, 'M', u'ᄠ'), + (0x3174, 'M', u'ᄢ'), + (0x3175, 'M', u'ᄣ'), + (0x3176, 'M', u'ᄧ'), + (0x3177, 'M', u'ᄩ'), + (0x3178, 'M', u'ᄫ'), + (0x3179, 'M', u'ᄬ'), + (0x317A, 'M', u'ᄭ'), + (0x317B, 'M', u'ᄮ'), + (0x317C, 'M', u'ᄯ'), + (0x317D, 'M', u'ᄲ'), + (0x317E, 'M', u'ᄶ'), + (0x317F, 'M', u'ᅀ'), + (0x3180, 'M', u'ᅇ'), + (0x3181, 'M', u'ᅌ'), + (0x3182, 'M', u'ᇱ'), + (0x3183, 'M', u'ᇲ'), + (0x3184, 'M', u'ᅗ'), + (0x3185, 'M', u'ᅘ'), + (0x3186, 'M', u'ᅙ'), + (0x3187, 'M', u'ᆄ'), + (0x3188, 'M', u'ᆅ'), + (0x3189, 'M', u'ᆈ'), + (0x318A, 'M', u'ᆑ'), + (0x318B, 'M', u'ᆒ'), + (0x318C, 'M', u'ᆔ'), + (0x318D, 'M', u'ᆞ'), + (0x318E, 'M', u'ᆡ'), + (0x318F, 'X'), + (0x3190, 'V'), + (0x3192, 'M', u'一'), + (0x3193, 'M', u'二'), + (0x3194, 'M', u'三'), + (0x3195, 'M', u'四'), + (0x3196, 'M', u'上'), + (0x3197, 'M', u'中'), + (0x3198, 'M', u'下'), + (0x3199, 'M', u'甲'), + (0x319A, 'M', u'乙'), + (0x319B, 'M', u'丙'), + (0x319C, 'M', u'丁'), + (0x319D, 'M', u'天'), + ] + +def _seg_30(): + return [ + (0x319E, 'M', u'地'), + (0x319F, 'M', u'人'), + (0x31A0, 'V'), + (0x31BB, 'X'), + (0x31C0, 'V'), + (0x31E4, 'X'), + (0x31F0, 'V'), + (0x3200, '3', u'(ᄀ)'), + (0x3201, '3', u'(ᄂ)'), + (0x3202, '3', u'(ᄃ)'), + (0x3203, '3', u'(ᄅ)'), + (0x3204, '3', u'(ᄆ)'), + (0x3205, '3', u'(ᄇ)'), + (0x3206, '3', u'(ᄉ)'), + (0x3207, '3', u'(ᄋ)'), + (0x3208, '3', u'(ᄌ)'), + (0x3209, '3', u'(ᄎ)'), + (0x320A, '3', u'(ᄏ)'), + (0x320B, '3', u'(ᄐ)'), + (0x320C, '3', u'(ᄑ)'), + (0x320D, '3', u'(ᄒ)'), + (0x320E, '3', u'(가)'), + (0x320F, '3', u'(나)'), + (0x3210, '3', u'(다)'), + (0x3211, '3', u'(라)'), + (0x3212, '3', u'(마)'), + (0x3213, '3', u'(바)'), + (0x3214, '3', u'(사)'), + (0x3215, '3', u'(아)'), + (0x3216, '3', u'(자)'), + (0x3217, '3', u'(차)'), + (0x3218, '3', u'(카)'), + (0x3219, '3', u'(타)'), + (0x321A, '3', u'(파)'), + (0x321B, '3', u'(하)'), + (0x321C, '3', u'(주)'), + (0x321D, '3', u'(오전)'), + (0x321E, '3', u'(오후)'), + (0x321F, 'X'), + (0x3220, '3', u'(一)'), + (0x3221, '3', u'(二)'), + (0x3222, '3', u'(三)'), + (0x3223, '3', u'(四)'), + (0x3224, '3', u'(五)'), + (0x3225, '3', u'(六)'), + (0x3226, '3', u'(七)'), + (0x3227, '3', u'(八)'), + (0x3228, '3', u'(九)'), + (0x3229, '3', u'(十)'), + (0x322A, '3', u'(月)'), + (0x322B, '3', u'(火)'), + (0x322C, '3', u'(水)'), + (0x322D, '3', u'(木)'), + (0x322E, '3', u'(金)'), + (0x322F, '3', u'(土)'), + (0x3230, '3', u'(日)'), + (0x3231, '3', u'(株)'), + (0x3232, '3', u'(有)'), + (0x3233, '3', u'(社)'), + (0x3234, '3', u'(名)'), + (0x3235, '3', u'(特)'), + (0x3236, '3', u'(財)'), + (0x3237, '3', u'(祝)'), + (0x3238, '3', u'(労)'), + (0x3239, '3', u'(代)'), + (0x323A, '3', u'(呼)'), + (0x323B, '3', u'(学)'), + (0x323C, '3', u'(監)'), + (0x323D, '3', u'(企)'), + (0x323E, '3', u'(資)'), + (0x323F, '3', u'(協)'), + (0x3240, '3', u'(祭)'), + (0x3241, '3', u'(休)'), + (0x3242, '3', u'(自)'), + (0x3243, '3', u'(至)'), + (0x3244, 'M', u'問'), + (0x3245, 'M', u'幼'), + (0x3246, 'M', u'文'), + (0x3247, 'M', u'箏'), + (0x3248, 'V'), + (0x3250, 'M', u'pte'), + (0x3251, 'M', u'21'), + (0x3252, 'M', u'22'), + (0x3253, 'M', u'23'), + (0x3254, 'M', u'24'), + (0x3255, 'M', u'25'), + (0x3256, 'M', u'26'), + (0x3257, 'M', u'27'), + (0x3258, 'M', u'28'), + (0x3259, 'M', u'29'), + (0x325A, 'M', u'30'), + (0x325B, 'M', u'31'), + (0x325C, 'M', u'32'), + (0x325D, 'M', u'33'), + (0x325E, 'M', u'34'), + (0x325F, 'M', u'35'), + (0x3260, 'M', u'ᄀ'), + (0x3261, 'M', u'ᄂ'), + (0x3262, 'M', u'ᄃ'), + (0x3263, 'M', u'ᄅ'), + ] + +def _seg_31(): + return [ + (0x3264, 'M', u'ᄆ'), + (0x3265, 'M', u'ᄇ'), + (0x3266, 'M', u'ᄉ'), + (0x3267, 'M', u'ᄋ'), + (0x3268, 'M', u'ᄌ'), + (0x3269, 'M', u'ᄎ'), + (0x326A, 'M', u'ᄏ'), + (0x326B, 'M', u'ᄐ'), + (0x326C, 'M', u'ᄑ'), + (0x326D, 'M', u'ᄒ'), + (0x326E, 'M', u'가'), + (0x326F, 'M', u'나'), + (0x3270, 'M', u'다'), + (0x3271, 'M', u'라'), + (0x3272, 'M', u'마'), + (0x3273, 'M', u'바'), + (0x3274, 'M', u'사'), + (0x3275, 'M', u'아'), + (0x3276, 'M', u'자'), + (0x3277, 'M', u'차'), + (0x3278, 'M', u'카'), + (0x3279, 'M', u'타'), + (0x327A, 'M', u'파'), + (0x327B, 'M', u'하'), + (0x327C, 'M', u'참고'), + (0x327D, 'M', u'주의'), + (0x327E, 'M', u'우'), + (0x327F, 'V'), + (0x3280, 'M', u'一'), + (0x3281, 'M', u'二'), + (0x3282, 'M', u'三'), + (0x3283, 'M', u'四'), + (0x3284, 'M', u'五'), + (0x3285, 'M', u'六'), + (0x3286, 'M', u'七'), + (0x3287, 'M', u'八'), + (0x3288, 'M', u'九'), + (0x3289, 'M', u'十'), + (0x328A, 'M', u'月'), + (0x328B, 'M', u'火'), + (0x328C, 'M', u'水'), + (0x328D, 'M', u'木'), + (0x328E, 'M', u'金'), + (0x328F, 'M', u'土'), + (0x3290, 'M', u'日'), + (0x3291, 'M', u'株'), + (0x3292, 'M', u'有'), + (0x3293, 'M', u'社'), + (0x3294, 'M', u'名'), + (0x3295, 'M', u'特'), + (0x3296, 'M', u'財'), + (0x3297, 'M', u'祝'), + (0x3298, 'M', u'労'), + (0x3299, 'M', u'秘'), + (0x329A, 'M', u'男'), + (0x329B, 'M', u'女'), + (0x329C, 'M', u'適'), + (0x329D, 'M', u'優'), + (0x329E, 'M', u'印'), + (0x329F, 'M', u'注'), + (0x32A0, 'M', u'項'), + (0x32A1, 'M', u'休'), + (0x32A2, 'M', u'写'), + (0x32A3, 'M', u'正'), + (0x32A4, 'M', u'上'), + (0x32A5, 'M', u'中'), + (0x32A6, 'M', u'下'), + (0x32A7, 'M', u'左'), + (0x32A8, 'M', u'右'), + (0x32A9, 'M', u'医'), + (0x32AA, 'M', u'宗'), + (0x32AB, 'M', u'学'), + (0x32AC, 'M', u'監'), + (0x32AD, 'M', u'企'), + (0x32AE, 'M', u'資'), + (0x32AF, 'M', u'協'), + (0x32B0, 'M', u'夜'), + (0x32B1, 'M', u'36'), + (0x32B2, 'M', u'37'), + (0x32B3, 'M', u'38'), + (0x32B4, 'M', u'39'), + (0x32B5, 'M', u'40'), + (0x32B6, 'M', u'41'), + (0x32B7, 'M', u'42'), + (0x32B8, 'M', u'43'), + (0x32B9, 'M', u'44'), + (0x32BA, 'M', u'45'), + (0x32BB, 'M', u'46'), + (0x32BC, 'M', u'47'), + (0x32BD, 'M', u'48'), + (0x32BE, 'M', u'49'), + (0x32BF, 'M', u'50'), + (0x32C0, 'M', u'1月'), + (0x32C1, 'M', u'2月'), + (0x32C2, 'M', u'3月'), + (0x32C3, 'M', u'4月'), + (0x32C4, 'M', u'5月'), + (0x32C5, 'M', u'6月'), + (0x32C6, 'M', u'7月'), + (0x32C7, 'M', u'8月'), + ] + +def _seg_32(): + return [ + (0x32C8, 'M', u'9月'), + (0x32C9, 'M', u'10月'), + (0x32CA, 'M', u'11月'), + (0x32CB, 'M', u'12月'), + (0x32CC, 'M', u'hg'), + (0x32CD, 'M', u'erg'), + (0x32CE, 'M', u'ev'), + (0x32CF, 'M', u'ltd'), + (0x32D0, 'M', u'ア'), + (0x32D1, 'M', u'イ'), + (0x32D2, 'M', u'ウ'), + (0x32D3, 'M', u'エ'), + (0x32D4, 'M', u'オ'), + (0x32D5, 'M', u'カ'), + (0x32D6, 'M', u'キ'), + (0x32D7, 'M', u'ク'), + (0x32D8, 'M', u'ケ'), + (0x32D9, 'M', u'コ'), + (0x32DA, 'M', u'サ'), + (0x32DB, 'M', u'シ'), + (0x32DC, 'M', u'ス'), + (0x32DD, 'M', u'セ'), + (0x32DE, 'M', u'ソ'), + (0x32DF, 'M', u'タ'), + (0x32E0, 'M', u'チ'), + (0x32E1, 'M', u'ツ'), + (0x32E2, 'M', u'テ'), + (0x32E3, 'M', u'ト'), + (0x32E4, 'M', u'ナ'), + (0x32E5, 'M', u'ニ'), + (0x32E6, 'M', u'ヌ'), + (0x32E7, 'M', u'ネ'), + (0x32E8, 'M', u'ノ'), + (0x32E9, 'M', u'ハ'), + (0x32EA, 'M', u'ヒ'), + (0x32EB, 'M', u'フ'), + (0x32EC, 'M', u'ヘ'), + (0x32ED, 'M', u'ホ'), + (0x32EE, 'M', u'マ'), + (0x32EF, 'M', u'ミ'), + (0x32F0, 'M', u'ム'), + (0x32F1, 'M', u'メ'), + (0x32F2, 'M', u'モ'), + (0x32F3, 'M', u'ヤ'), + (0x32F4, 'M', u'ユ'), + (0x32F5, 'M', u'ヨ'), + (0x32F6, 'M', u'ラ'), + (0x32F7, 'M', u'リ'), + (0x32F8, 'M', u'ル'), + (0x32F9, 'M', u'レ'), + (0x32FA, 'M', u'ロ'), + (0x32FB, 'M', u'ワ'), + (0x32FC, 'M', u'ヰ'), + (0x32FD, 'M', u'ヱ'), + (0x32FE, 'M', u'ヲ'), + (0x32FF, 'X'), + (0x3300, 'M', u'アパート'), + (0x3301, 'M', u'アルファ'), + (0x3302, 'M', u'アンペア'), + (0x3303, 'M', u'アール'), + (0x3304, 'M', u'イニング'), + (0x3305, 'M', u'インチ'), + (0x3306, 'M', u'ウォン'), + (0x3307, 'M', u'エスクード'), + (0x3308, 'M', u'エーカー'), + (0x3309, 'M', u'オンス'), + (0x330A, 'M', u'オーム'), + (0x330B, 'M', u'カイリ'), + (0x330C, 'M', u'カラット'), + (0x330D, 'M', u'カロリー'), + (0x330E, 'M', u'ガロン'), + (0x330F, 'M', u'ガンマ'), + (0x3310, 'M', u'ギガ'), + (0x3311, 'M', u'ギニー'), + (0x3312, 'M', u'キュリー'), + (0x3313, 'M', u'ギルダー'), + (0x3314, 'M', u'キロ'), + (0x3315, 'M', u'キログラム'), + (0x3316, 'M', u'キロメートル'), + (0x3317, 'M', u'キロワット'), + (0x3318, 'M', u'グラム'), + (0x3319, 'M', u'グラムトン'), + (0x331A, 'M', u'クルゼイロ'), + (0x331B, 'M', u'クローネ'), + (0x331C, 'M', u'ケース'), + (0x331D, 'M', u'コルナ'), + (0x331E, 'M', u'コーポ'), + (0x331F, 'M', u'サイクル'), + (0x3320, 'M', u'サンチーム'), + (0x3321, 'M', u'シリング'), + (0x3322, 'M', u'センチ'), + (0x3323, 'M', u'セント'), + (0x3324, 'M', u'ダース'), + (0x3325, 'M', u'デシ'), + (0x3326, 'M', u'ドル'), + (0x3327, 'M', u'トン'), + (0x3328, 'M', u'ナノ'), + (0x3329, 'M', u'ノット'), + (0x332A, 'M', u'ハイツ'), + (0x332B, 'M', u'パーセント'), + ] + +def _seg_33(): + return [ + (0x332C, 'M', u'パーツ'), + (0x332D, 'M', u'バーレル'), + (0x332E, 'M', u'ピアストル'), + (0x332F, 'M', u'ピクル'), + (0x3330, 'M', u'ピコ'), + (0x3331, 'M', u'ビル'), + (0x3332, 'M', u'ファラッド'), + (0x3333, 'M', u'フィート'), + (0x3334, 'M', u'ブッシェル'), + (0x3335, 'M', u'フラン'), + (0x3336, 'M', u'ヘクタール'), + (0x3337, 'M', u'ペソ'), + (0x3338, 'M', u'ペニヒ'), + (0x3339, 'M', u'ヘルツ'), + (0x333A, 'M', u'ペンス'), + (0x333B, 'M', u'ページ'), + (0x333C, 'M', u'ベータ'), + (0x333D, 'M', u'ポイント'), + (0x333E, 'M', u'ボルト'), + (0x333F, 'M', u'ホン'), + (0x3340, 'M', u'ポンド'), + (0x3341, 'M', u'ホール'), + (0x3342, 'M', u'ホーン'), + (0x3343, 'M', u'マイクロ'), + (0x3344, 'M', u'マイル'), + (0x3345, 'M', u'マッハ'), + (0x3346, 'M', u'マルク'), + (0x3347, 'M', u'マンション'), + (0x3348, 'M', u'ミクロン'), + (0x3349, 'M', u'ミリ'), + (0x334A, 'M', u'ミリバール'), + (0x334B, 'M', u'メガ'), + (0x334C, 'M', u'メガトン'), + (0x334D, 'M', u'メートル'), + (0x334E, 'M', u'ヤード'), + (0x334F, 'M', u'ヤール'), + (0x3350, 'M', u'ユアン'), + (0x3351, 'M', u'リットル'), + (0x3352, 'M', u'リラ'), + (0x3353, 'M', u'ルピー'), + (0x3354, 'M', u'ルーブル'), + (0x3355, 'M', u'レム'), + (0x3356, 'M', u'レントゲン'), + (0x3357, 'M', u'ワット'), + (0x3358, 'M', u'0点'), + (0x3359, 'M', u'1点'), + (0x335A, 'M', u'2点'), + (0x335B, 'M', u'3点'), + (0x335C, 'M', u'4点'), + (0x335D, 'M', u'5点'), + (0x335E, 'M', u'6点'), + (0x335F, 'M', u'7点'), + (0x3360, 'M', u'8点'), + (0x3361, 'M', u'9点'), + (0x3362, 'M', u'10点'), + (0x3363, 'M', u'11点'), + (0x3364, 'M', u'12点'), + (0x3365, 'M', u'13点'), + (0x3366, 'M', u'14点'), + (0x3367, 'M', u'15点'), + (0x3368, 'M', u'16点'), + (0x3369, 'M', u'17点'), + (0x336A, 'M', u'18点'), + (0x336B, 'M', u'19点'), + (0x336C, 'M', u'20点'), + (0x336D, 'M', u'21点'), + (0x336E, 'M', u'22点'), + (0x336F, 'M', u'23点'), + (0x3370, 'M', u'24点'), + (0x3371, 'M', u'hpa'), + (0x3372, 'M', u'da'), + (0x3373, 'M', u'au'), + (0x3374, 'M', u'bar'), + (0x3375, 'M', u'ov'), + (0x3376, 'M', u'pc'), + (0x3377, 'M', u'dm'), + (0x3378, 'M', u'dm2'), + (0x3379, 'M', u'dm3'), + (0x337A, 'M', u'iu'), + (0x337B, 'M', u'平成'), + (0x337C, 'M', u'昭和'), + (0x337D, 'M', u'大正'), + (0x337E, 'M', u'明治'), + (0x337F, 'M', u'株式会社'), + (0x3380, 'M', u'pa'), + (0x3381, 'M', u'na'), + (0x3382, 'M', u'μa'), + (0x3383, 'M', u'ma'), + (0x3384, 'M', u'ka'), + (0x3385, 'M', u'kb'), + (0x3386, 'M', u'mb'), + (0x3387, 'M', u'gb'), + (0x3388, 'M', u'cal'), + (0x3389, 'M', u'kcal'), + (0x338A, 'M', u'pf'), + (0x338B, 'M', u'nf'), + (0x338C, 'M', u'μf'), + (0x338D, 'M', u'μg'), + (0x338E, 'M', u'mg'), + (0x338F, 'M', u'kg'), + ] + +def _seg_34(): + return [ + (0x3390, 'M', u'hz'), + (0x3391, 'M', u'khz'), + (0x3392, 'M', u'mhz'), + (0x3393, 'M', u'ghz'), + (0x3394, 'M', u'thz'), + (0x3395, 'M', u'μl'), + (0x3396, 'M', u'ml'), + (0x3397, 'M', u'dl'), + (0x3398, 'M', u'kl'), + (0x3399, 'M', u'fm'), + (0x339A, 'M', u'nm'), + (0x339B, 'M', u'μm'), + (0x339C, 'M', u'mm'), + (0x339D, 'M', u'cm'), + (0x339E, 'M', u'km'), + (0x339F, 'M', u'mm2'), + (0x33A0, 'M', u'cm2'), + (0x33A1, 'M', u'm2'), + (0x33A2, 'M', u'km2'), + (0x33A3, 'M', u'mm3'), + (0x33A4, 'M', u'cm3'), + (0x33A5, 'M', u'm3'), + (0x33A6, 'M', u'km3'), + (0x33A7, 'M', u'm∕s'), + (0x33A8, 'M', u'm∕s2'), + (0x33A9, 'M', u'pa'), + (0x33AA, 'M', u'kpa'), + (0x33AB, 'M', u'mpa'), + (0x33AC, 'M', u'gpa'), + (0x33AD, 'M', u'rad'), + (0x33AE, 'M', u'rad∕s'), + (0x33AF, 'M', u'rad∕s2'), + (0x33B0, 'M', u'ps'), + (0x33B1, 'M', u'ns'), + (0x33B2, 'M', u'μs'), + (0x33B3, 'M', u'ms'), + (0x33B4, 'M', u'pv'), + (0x33B5, 'M', u'nv'), + (0x33B6, 'M', u'μv'), + (0x33B7, 'M', u'mv'), + (0x33B8, 'M', u'kv'), + (0x33B9, 'M', u'mv'), + (0x33BA, 'M', u'pw'), + (0x33BB, 'M', u'nw'), + (0x33BC, 'M', u'μw'), + (0x33BD, 'M', u'mw'), + (0x33BE, 'M', u'kw'), + (0x33BF, 'M', u'mw'), + (0x33C0, 'M', u'kω'), + (0x33C1, 'M', u'mω'), + (0x33C2, 'X'), + (0x33C3, 'M', u'bq'), + (0x33C4, 'M', u'cc'), + (0x33C5, 'M', u'cd'), + (0x33C6, 'M', u'c∕kg'), + (0x33C7, 'X'), + (0x33C8, 'M', u'db'), + (0x33C9, 'M', u'gy'), + (0x33CA, 'M', u'ha'), + (0x33CB, 'M', u'hp'), + (0x33CC, 'M', u'in'), + (0x33CD, 'M', u'kk'), + (0x33CE, 'M', u'km'), + (0x33CF, 'M', u'kt'), + (0x33D0, 'M', u'lm'), + (0x33D1, 'M', u'ln'), + (0x33D2, 'M', u'log'), + (0x33D3, 'M', u'lx'), + (0x33D4, 'M', u'mb'), + (0x33D5, 'M', u'mil'), + (0x33D6, 'M', u'mol'), + (0x33D7, 'M', u'ph'), + (0x33D8, 'X'), + (0x33D9, 'M', u'ppm'), + (0x33DA, 'M', u'pr'), + (0x33DB, 'M', u'sr'), + (0x33DC, 'M', u'sv'), + (0x33DD, 'M', u'wb'), + (0x33DE, 'M', u'v∕m'), + (0x33DF, 'M', u'a∕m'), + (0x33E0, 'M', u'1日'), + (0x33E1, 'M', u'2日'), + (0x33E2, 'M', u'3日'), + (0x33E3, 'M', u'4日'), + (0x33E4, 'M', u'5日'), + (0x33E5, 'M', u'6日'), + (0x33E6, 'M', u'7日'), + (0x33E7, 'M', u'8日'), + (0x33E8, 'M', u'9日'), + (0x33E9, 'M', u'10日'), + (0x33EA, 'M', u'11日'), + (0x33EB, 'M', u'12日'), + (0x33EC, 'M', u'13日'), + (0x33ED, 'M', u'14日'), + (0x33EE, 'M', u'15日'), + (0x33EF, 'M', u'16日'), + (0x33F0, 'M', u'17日'), + (0x33F1, 'M', u'18日'), + (0x33F2, 'M', u'19日'), + (0x33F3, 'M', u'20日'), + ] + +def _seg_35(): + return [ + (0x33F4, 'M', u'21日'), + (0x33F5, 'M', u'22日'), + (0x33F6, 'M', u'23日'), + (0x33F7, 'M', u'24日'), + (0x33F8, 'M', u'25日'), + (0x33F9, 'M', u'26日'), + (0x33FA, 'M', u'27日'), + (0x33FB, 'M', u'28日'), + (0x33FC, 'M', u'29日'), + (0x33FD, 'M', u'30日'), + (0x33FE, 'M', u'31日'), + (0x33FF, 'M', u'gal'), + (0x3400, 'V'), + (0x4DB6, 'X'), + (0x4DC0, 'V'), + (0x9FF0, 'X'), + (0xA000, 'V'), + (0xA48D, 'X'), + (0xA490, 'V'), + (0xA4C7, 'X'), + (0xA4D0, 'V'), + (0xA62C, 'X'), + (0xA640, 'M', u'ꙁ'), + (0xA641, 'V'), + (0xA642, 'M', u'ꙃ'), + (0xA643, 'V'), + (0xA644, 'M', u'ꙅ'), + (0xA645, 'V'), + (0xA646, 'M', u'ꙇ'), + (0xA647, 'V'), + (0xA648, 'M', u'ꙉ'), + (0xA649, 'V'), + (0xA64A, 'M', u'ꙋ'), + (0xA64B, 'V'), + (0xA64C, 'M', u'ꙍ'), + (0xA64D, 'V'), + (0xA64E, 'M', u'ꙏ'), + (0xA64F, 'V'), + (0xA650, 'M', u'ꙑ'), + (0xA651, 'V'), + (0xA652, 'M', u'ꙓ'), + (0xA653, 'V'), + (0xA654, 'M', u'ꙕ'), + (0xA655, 'V'), + (0xA656, 'M', u'ꙗ'), + (0xA657, 'V'), + (0xA658, 'M', u'ꙙ'), + (0xA659, 'V'), + (0xA65A, 'M', u'ꙛ'), + (0xA65B, 'V'), + (0xA65C, 'M', u'ꙝ'), + (0xA65D, 'V'), + (0xA65E, 'M', u'ꙟ'), + (0xA65F, 'V'), + (0xA660, 'M', u'ꙡ'), + (0xA661, 'V'), + (0xA662, 'M', u'ꙣ'), + (0xA663, 'V'), + (0xA664, 'M', u'ꙥ'), + (0xA665, 'V'), + (0xA666, 'M', u'ꙧ'), + (0xA667, 'V'), + (0xA668, 'M', u'ꙩ'), + (0xA669, 'V'), + (0xA66A, 'M', u'ꙫ'), + (0xA66B, 'V'), + (0xA66C, 'M', u'ꙭ'), + (0xA66D, 'V'), + (0xA680, 'M', u'ꚁ'), + (0xA681, 'V'), + (0xA682, 'M', u'ꚃ'), + (0xA683, 'V'), + (0xA684, 'M', u'ꚅ'), + (0xA685, 'V'), + (0xA686, 'M', u'ꚇ'), + (0xA687, 'V'), + (0xA688, 'M', u'ꚉ'), + (0xA689, 'V'), + (0xA68A, 'M', u'ꚋ'), + (0xA68B, 'V'), + (0xA68C, 'M', u'ꚍ'), + (0xA68D, 'V'), + (0xA68E, 'M', u'ꚏ'), + (0xA68F, 'V'), + (0xA690, 'M', u'ꚑ'), + (0xA691, 'V'), + (0xA692, 'M', u'ꚓ'), + (0xA693, 'V'), + (0xA694, 'M', u'ꚕ'), + (0xA695, 'V'), + (0xA696, 'M', u'ꚗ'), + (0xA697, 'V'), + (0xA698, 'M', u'ꚙ'), + (0xA699, 'V'), + (0xA69A, 'M', u'ꚛ'), + (0xA69B, 'V'), + (0xA69C, 'M', u'ъ'), + (0xA69D, 'M', u'ь'), + (0xA69E, 'V'), + (0xA6F8, 'X'), + ] + +def _seg_36(): + return [ + (0xA700, 'V'), + (0xA722, 'M', u'ꜣ'), + (0xA723, 'V'), + (0xA724, 'M', u'ꜥ'), + (0xA725, 'V'), + (0xA726, 'M', u'ꜧ'), + (0xA727, 'V'), + (0xA728, 'M', u'ꜩ'), + (0xA729, 'V'), + (0xA72A, 'M', u'ꜫ'), + (0xA72B, 'V'), + (0xA72C, 'M', u'ꜭ'), + (0xA72D, 'V'), + (0xA72E, 'M', u'ꜯ'), + (0xA72F, 'V'), + (0xA732, 'M', u'ꜳ'), + (0xA733, 'V'), + (0xA734, 'M', u'ꜵ'), + (0xA735, 'V'), + (0xA736, 'M', u'ꜷ'), + (0xA737, 'V'), + (0xA738, 'M', u'ꜹ'), + (0xA739, 'V'), + (0xA73A, 'M', u'ꜻ'), + (0xA73B, 'V'), + (0xA73C, 'M', u'ꜽ'), + (0xA73D, 'V'), + (0xA73E, 'M', u'ꜿ'), + (0xA73F, 'V'), + (0xA740, 'M', u'ꝁ'), + (0xA741, 'V'), + (0xA742, 'M', u'ꝃ'), + (0xA743, 'V'), + (0xA744, 'M', u'ꝅ'), + (0xA745, 'V'), + (0xA746, 'M', u'ꝇ'), + (0xA747, 'V'), + (0xA748, 'M', u'ꝉ'), + (0xA749, 'V'), + (0xA74A, 'M', u'ꝋ'), + (0xA74B, 'V'), + (0xA74C, 'M', u'ꝍ'), + (0xA74D, 'V'), + (0xA74E, 'M', u'ꝏ'), + (0xA74F, 'V'), + (0xA750, 'M', u'ꝑ'), + (0xA751, 'V'), + (0xA752, 'M', u'ꝓ'), + (0xA753, 'V'), + (0xA754, 'M', u'ꝕ'), + (0xA755, 'V'), + (0xA756, 'M', u'ꝗ'), + (0xA757, 'V'), + (0xA758, 'M', u'ꝙ'), + (0xA759, 'V'), + (0xA75A, 'M', u'ꝛ'), + (0xA75B, 'V'), + (0xA75C, 'M', u'ꝝ'), + (0xA75D, 'V'), + (0xA75E, 'M', u'ꝟ'), + (0xA75F, 'V'), + (0xA760, 'M', u'ꝡ'), + (0xA761, 'V'), + (0xA762, 'M', u'ꝣ'), + (0xA763, 'V'), + (0xA764, 'M', u'ꝥ'), + (0xA765, 'V'), + (0xA766, 'M', u'ꝧ'), + (0xA767, 'V'), + (0xA768, 'M', u'ꝩ'), + (0xA769, 'V'), + (0xA76A, 'M', u'ꝫ'), + (0xA76B, 'V'), + (0xA76C, 'M', u'ꝭ'), + (0xA76D, 'V'), + (0xA76E, 'M', u'ꝯ'), + (0xA76F, 'V'), + (0xA770, 'M', u'ꝯ'), + (0xA771, 'V'), + (0xA779, 'M', u'ꝺ'), + (0xA77A, 'V'), + (0xA77B, 'M', u'ꝼ'), + (0xA77C, 'V'), + (0xA77D, 'M', u'ᵹ'), + (0xA77E, 'M', u'ꝿ'), + (0xA77F, 'V'), + (0xA780, 'M', u'ꞁ'), + (0xA781, 'V'), + (0xA782, 'M', u'ꞃ'), + (0xA783, 'V'), + (0xA784, 'M', u'ꞅ'), + (0xA785, 'V'), + (0xA786, 'M', u'ꞇ'), + (0xA787, 'V'), + (0xA78B, 'M', u'ꞌ'), + (0xA78C, 'V'), + (0xA78D, 'M', u'ɥ'), + (0xA78E, 'V'), + (0xA790, 'M', u'ꞑ'), + (0xA791, 'V'), + ] + +def _seg_37(): + return [ + (0xA792, 'M', u'ꞓ'), + (0xA793, 'V'), + (0xA796, 'M', u'ꞗ'), + (0xA797, 'V'), + (0xA798, 'M', u'ꞙ'), + (0xA799, 'V'), + (0xA79A, 'M', u'ꞛ'), + (0xA79B, 'V'), + (0xA79C, 'M', u'ꞝ'), + (0xA79D, 'V'), + (0xA79E, 'M', u'ꞟ'), + (0xA79F, 'V'), + (0xA7A0, 'M', u'ꞡ'), + (0xA7A1, 'V'), + (0xA7A2, 'M', u'ꞣ'), + (0xA7A3, 'V'), + (0xA7A4, 'M', u'ꞥ'), + (0xA7A5, 'V'), + (0xA7A6, 'M', u'ꞧ'), + (0xA7A7, 'V'), + (0xA7A8, 'M', u'ꞩ'), + (0xA7A9, 'V'), + (0xA7AA, 'M', u'ɦ'), + (0xA7AB, 'M', u'ɜ'), + (0xA7AC, 'M', u'ɡ'), + (0xA7AD, 'M', u'ɬ'), + (0xA7AE, 'M', u'ɪ'), + (0xA7AF, 'V'), + (0xA7B0, 'M', u'ʞ'), + (0xA7B1, 'M', u'ʇ'), + (0xA7B2, 'M', u'ʝ'), + (0xA7B3, 'M', u'ꭓ'), + (0xA7B4, 'M', u'ꞵ'), + (0xA7B5, 'V'), + (0xA7B6, 'M', u'ꞷ'), + (0xA7B7, 'V'), + (0xA7B8, 'X'), + (0xA7B9, 'V'), + (0xA7BA, 'X'), + (0xA7F7, 'V'), + (0xA7F8, 'M', u'ħ'), + (0xA7F9, 'M', u'œ'), + (0xA7FA, 'V'), + (0xA82C, 'X'), + (0xA830, 'V'), + (0xA83A, 'X'), + (0xA840, 'V'), + (0xA878, 'X'), + (0xA880, 'V'), + (0xA8C6, 'X'), + (0xA8CE, 'V'), + (0xA8DA, 'X'), + (0xA8E0, 'V'), + (0xA954, 'X'), + (0xA95F, 'V'), + (0xA97D, 'X'), + (0xA980, 'V'), + (0xA9CE, 'X'), + (0xA9CF, 'V'), + (0xA9DA, 'X'), + (0xA9DE, 'V'), + (0xA9FF, 'X'), + (0xAA00, 'V'), + (0xAA37, 'X'), + (0xAA40, 'V'), + (0xAA4E, 'X'), + (0xAA50, 'V'), + (0xAA5A, 'X'), + (0xAA5C, 'V'), + (0xAAC3, 'X'), + (0xAADB, 'V'), + (0xAAF7, 'X'), + (0xAB01, 'V'), + (0xAB07, 'X'), + (0xAB09, 'V'), + (0xAB0F, 'X'), + (0xAB11, 'V'), + (0xAB17, 'X'), + (0xAB20, 'V'), + (0xAB27, 'X'), + (0xAB28, 'V'), + (0xAB2F, 'X'), + (0xAB30, 'V'), + (0xAB5C, 'M', u'ꜧ'), + (0xAB5D, 'M', u'ꬷ'), + (0xAB5E, 'M', u'ɫ'), + (0xAB5F, 'M', u'ꭒ'), + (0xAB60, 'V'), + (0xAB66, 'X'), + (0xAB70, 'M', u'Ꭰ'), + (0xAB71, 'M', u'Ꭱ'), + (0xAB72, 'M', u'Ꭲ'), + (0xAB73, 'M', u'Ꭳ'), + (0xAB74, 'M', u'Ꭴ'), + (0xAB75, 'M', u'Ꭵ'), + (0xAB76, 'M', u'Ꭶ'), + (0xAB77, 'M', u'Ꭷ'), + (0xAB78, 'M', u'Ꭸ'), + (0xAB79, 'M', u'Ꭹ'), + (0xAB7A, 'M', u'Ꭺ'), + ] + +def _seg_38(): + return [ + (0xAB7B, 'M', u'Ꭻ'), + (0xAB7C, 'M', u'Ꭼ'), + (0xAB7D, 'M', u'Ꭽ'), + (0xAB7E, 'M', u'Ꭾ'), + (0xAB7F, 'M', u'Ꭿ'), + (0xAB80, 'M', u'Ꮀ'), + (0xAB81, 'M', u'Ꮁ'), + (0xAB82, 'M', u'Ꮂ'), + (0xAB83, 'M', u'Ꮃ'), + (0xAB84, 'M', u'Ꮄ'), + (0xAB85, 'M', u'Ꮅ'), + (0xAB86, 'M', u'Ꮆ'), + (0xAB87, 'M', u'Ꮇ'), + (0xAB88, 'M', u'Ꮈ'), + (0xAB89, 'M', u'Ꮉ'), + (0xAB8A, 'M', u'Ꮊ'), + (0xAB8B, 'M', u'Ꮋ'), + (0xAB8C, 'M', u'Ꮌ'), + (0xAB8D, 'M', u'Ꮍ'), + (0xAB8E, 'M', u'Ꮎ'), + (0xAB8F, 'M', u'Ꮏ'), + (0xAB90, 'M', u'Ꮐ'), + (0xAB91, 'M', u'Ꮑ'), + (0xAB92, 'M', u'Ꮒ'), + (0xAB93, 'M', u'Ꮓ'), + (0xAB94, 'M', u'Ꮔ'), + (0xAB95, 'M', u'Ꮕ'), + (0xAB96, 'M', u'Ꮖ'), + (0xAB97, 'M', u'Ꮗ'), + (0xAB98, 'M', u'Ꮘ'), + (0xAB99, 'M', u'Ꮙ'), + (0xAB9A, 'M', u'Ꮚ'), + (0xAB9B, 'M', u'Ꮛ'), + (0xAB9C, 'M', u'Ꮜ'), + (0xAB9D, 'M', u'Ꮝ'), + (0xAB9E, 'M', u'Ꮞ'), + (0xAB9F, 'M', u'Ꮟ'), + (0xABA0, 'M', u'Ꮠ'), + (0xABA1, 'M', u'Ꮡ'), + (0xABA2, 'M', u'Ꮢ'), + (0xABA3, 'M', u'Ꮣ'), + (0xABA4, 'M', u'Ꮤ'), + (0xABA5, 'M', u'Ꮥ'), + (0xABA6, 'M', u'Ꮦ'), + (0xABA7, 'M', u'Ꮧ'), + (0xABA8, 'M', u'Ꮨ'), + (0xABA9, 'M', u'Ꮩ'), + (0xABAA, 'M', u'Ꮪ'), + (0xABAB, 'M', u'Ꮫ'), + (0xABAC, 'M', u'Ꮬ'), + (0xABAD, 'M', u'Ꮭ'), + (0xABAE, 'M', u'Ꮮ'), + (0xABAF, 'M', u'Ꮯ'), + (0xABB0, 'M', u'Ꮰ'), + (0xABB1, 'M', u'Ꮱ'), + (0xABB2, 'M', u'Ꮲ'), + (0xABB3, 'M', u'Ꮳ'), + (0xABB4, 'M', u'Ꮴ'), + (0xABB5, 'M', u'Ꮵ'), + (0xABB6, 'M', u'Ꮶ'), + (0xABB7, 'M', u'Ꮷ'), + (0xABB8, 'M', u'Ꮸ'), + (0xABB9, 'M', u'Ꮹ'), + (0xABBA, 'M', u'Ꮺ'), + (0xABBB, 'M', u'Ꮻ'), + (0xABBC, 'M', u'Ꮼ'), + (0xABBD, 'M', u'Ꮽ'), + (0xABBE, 'M', u'Ꮾ'), + (0xABBF, 'M', u'Ꮿ'), + (0xABC0, 'V'), + (0xABEE, 'X'), + (0xABF0, 'V'), + (0xABFA, 'X'), + (0xAC00, 'V'), + (0xD7A4, 'X'), + (0xD7B0, 'V'), + (0xD7C7, 'X'), + (0xD7CB, 'V'), + (0xD7FC, 'X'), + (0xF900, 'M', u'豈'), + (0xF901, 'M', u'更'), + (0xF902, 'M', u'車'), + (0xF903, 'M', u'賈'), + (0xF904, 'M', u'滑'), + (0xF905, 'M', u'串'), + (0xF906, 'M', u'句'), + (0xF907, 'M', u'龜'), + (0xF909, 'M', u'契'), + (0xF90A, 'M', u'金'), + (0xF90B, 'M', u'喇'), + (0xF90C, 'M', u'奈'), + (0xF90D, 'M', u'懶'), + (0xF90E, 'M', u'癩'), + (0xF90F, 'M', u'羅'), + (0xF910, 'M', u'蘿'), + (0xF911, 'M', u'螺'), + (0xF912, 'M', u'裸'), + (0xF913, 'M', u'邏'), + (0xF914, 'M', u'樂'), + (0xF915, 'M', u'洛'), + ] + +def _seg_39(): + return [ + (0xF916, 'M', u'烙'), + (0xF917, 'M', u'珞'), + (0xF918, 'M', u'落'), + (0xF919, 'M', u'酪'), + (0xF91A, 'M', u'駱'), + (0xF91B, 'M', u'亂'), + (0xF91C, 'M', u'卵'), + (0xF91D, 'M', u'欄'), + (0xF91E, 'M', u'爛'), + (0xF91F, 'M', u'蘭'), + (0xF920, 'M', u'鸞'), + (0xF921, 'M', u'嵐'), + (0xF922, 'M', u'濫'), + (0xF923, 'M', u'藍'), + (0xF924, 'M', u'襤'), + (0xF925, 'M', u'拉'), + (0xF926, 'M', u'臘'), + (0xF927, 'M', u'蠟'), + (0xF928, 'M', u'廊'), + (0xF929, 'M', u'朗'), + (0xF92A, 'M', u'浪'), + (0xF92B, 'M', u'狼'), + (0xF92C, 'M', u'郎'), + (0xF92D, 'M', u'來'), + (0xF92E, 'M', u'冷'), + (0xF92F, 'M', u'勞'), + (0xF930, 'M', u'擄'), + (0xF931, 'M', u'櫓'), + (0xF932, 'M', u'爐'), + (0xF933, 'M', u'盧'), + (0xF934, 'M', u'老'), + (0xF935, 'M', u'蘆'), + (0xF936, 'M', u'虜'), + (0xF937, 'M', u'路'), + (0xF938, 'M', u'露'), + (0xF939, 'M', u'魯'), + (0xF93A, 'M', u'鷺'), + (0xF93B, 'M', u'碌'), + (0xF93C, 'M', u'祿'), + (0xF93D, 'M', u'綠'), + (0xF93E, 'M', u'菉'), + (0xF93F, 'M', u'錄'), + (0xF940, 'M', u'鹿'), + (0xF941, 'M', u'論'), + (0xF942, 'M', u'壟'), + (0xF943, 'M', u'弄'), + (0xF944, 'M', u'籠'), + (0xF945, 'M', u'聾'), + (0xF946, 'M', u'牢'), + (0xF947, 'M', u'磊'), + (0xF948, 'M', u'賂'), + (0xF949, 'M', u'雷'), + (0xF94A, 'M', u'壘'), + (0xF94B, 'M', u'屢'), + (0xF94C, 'M', u'樓'), + (0xF94D, 'M', u'淚'), + (0xF94E, 'M', u'漏'), + (0xF94F, 'M', u'累'), + (0xF950, 'M', u'縷'), + (0xF951, 'M', u'陋'), + (0xF952, 'M', u'勒'), + (0xF953, 'M', u'肋'), + (0xF954, 'M', u'凜'), + (0xF955, 'M', u'凌'), + (0xF956, 'M', u'稜'), + (0xF957, 'M', u'綾'), + (0xF958, 'M', u'菱'), + (0xF959, 'M', u'陵'), + (0xF95A, 'M', u'讀'), + (0xF95B, 'M', u'拏'), + (0xF95C, 'M', u'樂'), + (0xF95D, 'M', u'諾'), + (0xF95E, 'M', u'丹'), + (0xF95F, 'M', u'寧'), + (0xF960, 'M', u'怒'), + (0xF961, 'M', u'率'), + (0xF962, 'M', u'異'), + (0xF963, 'M', u'北'), + (0xF964, 'M', u'磻'), + (0xF965, 'M', u'便'), + (0xF966, 'M', u'復'), + (0xF967, 'M', u'不'), + (0xF968, 'M', u'泌'), + (0xF969, 'M', u'數'), + (0xF96A, 'M', u'索'), + (0xF96B, 'M', u'參'), + (0xF96C, 'M', u'塞'), + (0xF96D, 'M', u'省'), + (0xF96E, 'M', u'葉'), + (0xF96F, 'M', u'說'), + (0xF970, 'M', u'殺'), + (0xF971, 'M', u'辰'), + (0xF972, 'M', u'沈'), + (0xF973, 'M', u'拾'), + (0xF974, 'M', u'若'), + (0xF975, 'M', u'掠'), + (0xF976, 'M', u'略'), + (0xF977, 'M', u'亮'), + (0xF978, 'M', u'兩'), + (0xF979, 'M', u'凉'), + ] + +def _seg_40(): + return [ + (0xF97A, 'M', u'梁'), + (0xF97B, 'M', u'糧'), + (0xF97C, 'M', u'良'), + (0xF97D, 'M', u'諒'), + (0xF97E, 'M', u'量'), + (0xF97F, 'M', u'勵'), + (0xF980, 'M', u'呂'), + (0xF981, 'M', u'女'), + (0xF982, 'M', u'廬'), + (0xF983, 'M', u'旅'), + (0xF984, 'M', u'濾'), + (0xF985, 'M', u'礪'), + (0xF986, 'M', u'閭'), + (0xF987, 'M', u'驪'), + (0xF988, 'M', u'麗'), + (0xF989, 'M', u'黎'), + (0xF98A, 'M', u'力'), + (0xF98B, 'M', u'曆'), + (0xF98C, 'M', u'歷'), + (0xF98D, 'M', u'轢'), + (0xF98E, 'M', u'年'), + (0xF98F, 'M', u'憐'), + (0xF990, 'M', u'戀'), + (0xF991, 'M', u'撚'), + (0xF992, 'M', u'漣'), + (0xF993, 'M', u'煉'), + (0xF994, 'M', u'璉'), + (0xF995, 'M', u'秊'), + (0xF996, 'M', u'練'), + (0xF997, 'M', u'聯'), + (0xF998, 'M', u'輦'), + (0xF999, 'M', u'蓮'), + (0xF99A, 'M', u'連'), + (0xF99B, 'M', u'鍊'), + (0xF99C, 'M', u'列'), + (0xF99D, 'M', u'劣'), + (0xF99E, 'M', u'咽'), + (0xF99F, 'M', u'烈'), + (0xF9A0, 'M', u'裂'), + (0xF9A1, 'M', u'說'), + (0xF9A2, 'M', u'廉'), + (0xF9A3, 'M', u'念'), + (0xF9A4, 'M', u'捻'), + (0xF9A5, 'M', u'殮'), + (0xF9A6, 'M', u'簾'), + (0xF9A7, 'M', u'獵'), + (0xF9A8, 'M', u'令'), + (0xF9A9, 'M', u'囹'), + (0xF9AA, 'M', u'寧'), + (0xF9AB, 'M', u'嶺'), + (0xF9AC, 'M', u'怜'), + (0xF9AD, 'M', u'玲'), + (0xF9AE, 'M', u'瑩'), + (0xF9AF, 'M', u'羚'), + (0xF9B0, 'M', u'聆'), + (0xF9B1, 'M', u'鈴'), + (0xF9B2, 'M', u'零'), + (0xF9B3, 'M', u'靈'), + (0xF9B4, 'M', u'領'), + (0xF9B5, 'M', u'例'), + (0xF9B6, 'M', u'禮'), + (0xF9B7, 'M', u'醴'), + (0xF9B8, 'M', u'隸'), + (0xF9B9, 'M', u'惡'), + (0xF9BA, 'M', u'了'), + (0xF9BB, 'M', u'僚'), + (0xF9BC, 'M', u'寮'), + (0xF9BD, 'M', u'尿'), + (0xF9BE, 'M', u'料'), + (0xF9BF, 'M', u'樂'), + (0xF9C0, 'M', u'燎'), + (0xF9C1, 'M', u'療'), + (0xF9C2, 'M', u'蓼'), + (0xF9C3, 'M', u'遼'), + (0xF9C4, 'M', u'龍'), + (0xF9C5, 'M', u'暈'), + (0xF9C6, 'M', u'阮'), + (0xF9C7, 'M', u'劉'), + (0xF9C8, 'M', u'杻'), + (0xF9C9, 'M', u'柳'), + (0xF9CA, 'M', u'流'), + (0xF9CB, 'M', u'溜'), + (0xF9CC, 'M', u'琉'), + (0xF9CD, 'M', u'留'), + (0xF9CE, 'M', u'硫'), + (0xF9CF, 'M', u'紐'), + (0xF9D0, 'M', u'類'), + (0xF9D1, 'M', u'六'), + (0xF9D2, 'M', u'戮'), + (0xF9D3, 'M', u'陸'), + (0xF9D4, 'M', u'倫'), + (0xF9D5, 'M', u'崙'), + (0xF9D6, 'M', u'淪'), + (0xF9D7, 'M', u'輪'), + (0xF9D8, 'M', u'律'), + (0xF9D9, 'M', u'慄'), + (0xF9DA, 'M', u'栗'), + (0xF9DB, 'M', u'率'), + (0xF9DC, 'M', u'隆'), + (0xF9DD, 'M', u'利'), + ] + +def _seg_41(): + return [ + (0xF9DE, 'M', u'吏'), + (0xF9DF, 'M', u'履'), + (0xF9E0, 'M', u'易'), + (0xF9E1, 'M', u'李'), + (0xF9E2, 'M', u'梨'), + (0xF9E3, 'M', u'泥'), + (0xF9E4, 'M', u'理'), + (0xF9E5, 'M', u'痢'), + (0xF9E6, 'M', u'罹'), + (0xF9E7, 'M', u'裏'), + (0xF9E8, 'M', u'裡'), + (0xF9E9, 'M', u'里'), + (0xF9EA, 'M', u'離'), + (0xF9EB, 'M', u'匿'), + (0xF9EC, 'M', u'溺'), + (0xF9ED, 'M', u'吝'), + (0xF9EE, 'M', u'燐'), + (0xF9EF, 'M', u'璘'), + (0xF9F0, 'M', u'藺'), + (0xF9F1, 'M', u'隣'), + (0xF9F2, 'M', u'鱗'), + (0xF9F3, 'M', u'麟'), + (0xF9F4, 'M', u'林'), + (0xF9F5, 'M', u'淋'), + (0xF9F6, 'M', u'臨'), + (0xF9F7, 'M', u'立'), + (0xF9F8, 'M', u'笠'), + (0xF9F9, 'M', u'粒'), + (0xF9FA, 'M', u'狀'), + (0xF9FB, 'M', u'炙'), + (0xF9FC, 'M', u'識'), + (0xF9FD, 'M', u'什'), + (0xF9FE, 'M', u'茶'), + (0xF9FF, 'M', u'刺'), + (0xFA00, 'M', u'切'), + (0xFA01, 'M', u'度'), + (0xFA02, 'M', u'拓'), + (0xFA03, 'M', u'糖'), + (0xFA04, 'M', u'宅'), + (0xFA05, 'M', u'洞'), + (0xFA06, 'M', u'暴'), + (0xFA07, 'M', u'輻'), + (0xFA08, 'M', u'行'), + (0xFA09, 'M', u'降'), + (0xFA0A, 'M', u'見'), + (0xFA0B, 'M', u'廓'), + (0xFA0C, 'M', u'兀'), + (0xFA0D, 'M', u'嗀'), + (0xFA0E, 'V'), + (0xFA10, 'M', u'塚'), + (0xFA11, 'V'), + (0xFA12, 'M', u'晴'), + (0xFA13, 'V'), + (0xFA15, 'M', u'凞'), + (0xFA16, 'M', u'猪'), + (0xFA17, 'M', u'益'), + (0xFA18, 'M', u'礼'), + (0xFA19, 'M', u'神'), + (0xFA1A, 'M', u'祥'), + (0xFA1B, 'M', u'福'), + (0xFA1C, 'M', u'靖'), + (0xFA1D, 'M', u'精'), + (0xFA1E, 'M', u'羽'), + (0xFA1F, 'V'), + (0xFA20, 'M', u'蘒'), + (0xFA21, 'V'), + (0xFA22, 'M', u'諸'), + (0xFA23, 'V'), + (0xFA25, 'M', u'逸'), + (0xFA26, 'M', u'都'), + (0xFA27, 'V'), + (0xFA2A, 'M', u'飯'), + (0xFA2B, 'M', u'飼'), + (0xFA2C, 'M', u'館'), + (0xFA2D, 'M', u'鶴'), + (0xFA2E, 'M', u'郞'), + (0xFA2F, 'M', u'隷'), + (0xFA30, 'M', u'侮'), + (0xFA31, 'M', u'僧'), + (0xFA32, 'M', u'免'), + (0xFA33, 'M', u'勉'), + (0xFA34, 'M', u'勤'), + (0xFA35, 'M', u'卑'), + (0xFA36, 'M', u'喝'), + (0xFA37, 'M', u'嘆'), + (0xFA38, 'M', u'器'), + (0xFA39, 'M', u'塀'), + (0xFA3A, 'M', u'墨'), + (0xFA3B, 'M', u'層'), + (0xFA3C, 'M', u'屮'), + (0xFA3D, 'M', u'悔'), + (0xFA3E, 'M', u'慨'), + (0xFA3F, 'M', u'憎'), + (0xFA40, 'M', u'懲'), + (0xFA41, 'M', u'敏'), + (0xFA42, 'M', u'既'), + (0xFA43, 'M', u'暑'), + (0xFA44, 'M', u'梅'), + (0xFA45, 'M', u'海'), + (0xFA46, 'M', u'渚'), + ] + +def _seg_42(): + return [ + (0xFA47, 'M', u'漢'), + (0xFA48, 'M', u'煮'), + (0xFA49, 'M', u'爫'), + (0xFA4A, 'M', u'琢'), + (0xFA4B, 'M', u'碑'), + (0xFA4C, 'M', u'社'), + (0xFA4D, 'M', u'祉'), + (0xFA4E, 'M', u'祈'), + (0xFA4F, 'M', u'祐'), + (0xFA50, 'M', u'祖'), + (0xFA51, 'M', u'祝'), + (0xFA52, 'M', u'禍'), + (0xFA53, 'M', u'禎'), + (0xFA54, 'M', u'穀'), + (0xFA55, 'M', u'突'), + (0xFA56, 'M', u'節'), + (0xFA57, 'M', u'練'), + (0xFA58, 'M', u'縉'), + (0xFA59, 'M', u'繁'), + (0xFA5A, 'M', u'署'), + (0xFA5B, 'M', u'者'), + (0xFA5C, 'M', u'臭'), + (0xFA5D, 'M', u'艹'), + (0xFA5F, 'M', u'著'), + (0xFA60, 'M', u'褐'), + (0xFA61, 'M', u'視'), + (0xFA62, 'M', u'謁'), + (0xFA63, 'M', u'謹'), + (0xFA64, 'M', u'賓'), + (0xFA65, 'M', u'贈'), + (0xFA66, 'M', u'辶'), + (0xFA67, 'M', u'逸'), + (0xFA68, 'M', u'難'), + (0xFA69, 'M', u'響'), + (0xFA6A, 'M', u'頻'), + (0xFA6B, 'M', u'恵'), + (0xFA6C, 'M', u'𤋮'), + (0xFA6D, 'M', u'舘'), + (0xFA6E, 'X'), + (0xFA70, 'M', u'並'), + (0xFA71, 'M', u'况'), + (0xFA72, 'M', u'全'), + (0xFA73, 'M', u'侀'), + (0xFA74, 'M', u'充'), + (0xFA75, 'M', u'冀'), + (0xFA76, 'M', u'勇'), + (0xFA77, 'M', u'勺'), + (0xFA78, 'M', u'喝'), + (0xFA79, 'M', u'啕'), + (0xFA7A, 'M', u'喙'), + (0xFA7B, 'M', u'嗢'), + (0xFA7C, 'M', u'塚'), + (0xFA7D, 'M', u'墳'), + (0xFA7E, 'M', u'奄'), + (0xFA7F, 'M', u'奔'), + (0xFA80, 'M', u'婢'), + (0xFA81, 'M', u'嬨'), + (0xFA82, 'M', u'廒'), + (0xFA83, 'M', u'廙'), + (0xFA84, 'M', u'彩'), + (0xFA85, 'M', u'徭'), + (0xFA86, 'M', u'惘'), + (0xFA87, 'M', u'慎'), + (0xFA88, 'M', u'愈'), + (0xFA89, 'M', u'憎'), + (0xFA8A, 'M', u'慠'), + (0xFA8B, 'M', u'懲'), + (0xFA8C, 'M', u'戴'), + (0xFA8D, 'M', u'揄'), + (0xFA8E, 'M', u'搜'), + (0xFA8F, 'M', u'摒'), + (0xFA90, 'M', u'敖'), + (0xFA91, 'M', u'晴'), + (0xFA92, 'M', u'朗'), + (0xFA93, 'M', u'望'), + (0xFA94, 'M', u'杖'), + (0xFA95, 'M', u'歹'), + (0xFA96, 'M', u'殺'), + (0xFA97, 'M', u'流'), + (0xFA98, 'M', u'滛'), + (0xFA99, 'M', u'滋'), + (0xFA9A, 'M', u'漢'), + (0xFA9B, 'M', u'瀞'), + (0xFA9C, 'M', u'煮'), + (0xFA9D, 'M', u'瞧'), + (0xFA9E, 'M', u'爵'), + (0xFA9F, 'M', u'犯'), + (0xFAA0, 'M', u'猪'), + (0xFAA1, 'M', u'瑱'), + (0xFAA2, 'M', u'甆'), + (0xFAA3, 'M', u'画'), + (0xFAA4, 'M', u'瘝'), + (0xFAA5, 'M', u'瘟'), + (0xFAA6, 'M', u'益'), + (0xFAA7, 'M', u'盛'), + (0xFAA8, 'M', u'直'), + (0xFAA9, 'M', u'睊'), + (0xFAAA, 'M', u'着'), + (0xFAAB, 'M', u'磌'), + (0xFAAC, 'M', u'窱'), + ] + +def _seg_43(): + return [ + (0xFAAD, 'M', u'節'), + (0xFAAE, 'M', u'类'), + (0xFAAF, 'M', u'絛'), + (0xFAB0, 'M', u'練'), + (0xFAB1, 'M', u'缾'), + (0xFAB2, 'M', u'者'), + (0xFAB3, 'M', u'荒'), + (0xFAB4, 'M', u'華'), + (0xFAB5, 'M', u'蝹'), + (0xFAB6, 'M', u'襁'), + (0xFAB7, 'M', u'覆'), + (0xFAB8, 'M', u'視'), + (0xFAB9, 'M', u'調'), + (0xFABA, 'M', u'諸'), + (0xFABB, 'M', u'請'), + (0xFABC, 'M', u'謁'), + (0xFABD, 'M', u'諾'), + (0xFABE, 'M', u'諭'), + (0xFABF, 'M', u'謹'), + (0xFAC0, 'M', u'變'), + (0xFAC1, 'M', u'贈'), + (0xFAC2, 'M', u'輸'), + (0xFAC3, 'M', u'遲'), + (0xFAC4, 'M', u'醙'), + (0xFAC5, 'M', u'鉶'), + (0xFAC6, 'M', u'陼'), + (0xFAC7, 'M', u'難'), + (0xFAC8, 'M', u'靖'), + (0xFAC9, 'M', u'韛'), + (0xFACA, 'M', u'響'), + (0xFACB, 'M', u'頋'), + (0xFACC, 'M', u'頻'), + (0xFACD, 'M', u'鬒'), + (0xFACE, 'M', u'龜'), + (0xFACF, 'M', u'𢡊'), + (0xFAD0, 'M', u'𢡄'), + (0xFAD1, 'M', u'𣏕'), + (0xFAD2, 'M', u'㮝'), + (0xFAD3, 'M', u'䀘'), + (0xFAD4, 'M', u'䀹'), + (0xFAD5, 'M', u'𥉉'), + (0xFAD6, 'M', u'𥳐'), + (0xFAD7, 'M', u'𧻓'), + (0xFAD8, 'M', u'齃'), + (0xFAD9, 'M', u'龎'), + (0xFADA, 'X'), + (0xFB00, 'M', u'ff'), + (0xFB01, 'M', u'fi'), + (0xFB02, 'M', u'fl'), + (0xFB03, 'M', u'ffi'), + (0xFB04, 'M', u'ffl'), + (0xFB05, 'M', u'st'), + (0xFB07, 'X'), + (0xFB13, 'M', u'մն'), + (0xFB14, 'M', u'մե'), + (0xFB15, 'M', u'մի'), + (0xFB16, 'M', u'վն'), + (0xFB17, 'M', u'մխ'), + (0xFB18, 'X'), + (0xFB1D, 'M', u'יִ'), + (0xFB1E, 'V'), + (0xFB1F, 'M', u'ײַ'), + (0xFB20, 'M', u'ע'), + (0xFB21, 'M', u'א'), + (0xFB22, 'M', u'ד'), + (0xFB23, 'M', u'ה'), + (0xFB24, 'M', u'כ'), + (0xFB25, 'M', u'ל'), + (0xFB26, 'M', u'ם'), + (0xFB27, 'M', u'ר'), + (0xFB28, 'M', u'ת'), + (0xFB29, '3', u'+'), + (0xFB2A, 'M', u'שׁ'), + (0xFB2B, 'M', u'שׂ'), + (0xFB2C, 'M', u'שּׁ'), + (0xFB2D, 'M', u'שּׂ'), + (0xFB2E, 'M', u'אַ'), + (0xFB2F, 'M', u'אָ'), + (0xFB30, 'M', u'אּ'), + (0xFB31, 'M', u'בּ'), + (0xFB32, 'M', u'גּ'), + (0xFB33, 'M', u'דּ'), + (0xFB34, 'M', u'הּ'), + (0xFB35, 'M', u'וּ'), + (0xFB36, 'M', u'זּ'), + (0xFB37, 'X'), + (0xFB38, 'M', u'טּ'), + (0xFB39, 'M', u'יּ'), + (0xFB3A, 'M', u'ךּ'), + (0xFB3B, 'M', u'כּ'), + (0xFB3C, 'M', u'לּ'), + (0xFB3D, 'X'), + (0xFB3E, 'M', u'מּ'), + (0xFB3F, 'X'), + (0xFB40, 'M', u'נּ'), + (0xFB41, 'M', u'סּ'), + (0xFB42, 'X'), + (0xFB43, 'M', u'ףּ'), + (0xFB44, 'M', u'פּ'), + (0xFB45, 'X'), + ] + +def _seg_44(): + return [ + (0xFB46, 'M', u'צּ'), + (0xFB47, 'M', u'קּ'), + (0xFB48, 'M', u'רּ'), + (0xFB49, 'M', u'שּ'), + (0xFB4A, 'M', u'תּ'), + (0xFB4B, 'M', u'וֹ'), + (0xFB4C, 'M', u'בֿ'), + (0xFB4D, 'M', u'כֿ'), + (0xFB4E, 'M', u'פֿ'), + (0xFB4F, 'M', u'אל'), + (0xFB50, 'M', u'ٱ'), + (0xFB52, 'M', u'ٻ'), + (0xFB56, 'M', u'پ'), + (0xFB5A, 'M', u'ڀ'), + (0xFB5E, 'M', u'ٺ'), + (0xFB62, 'M', u'ٿ'), + (0xFB66, 'M', u'ٹ'), + (0xFB6A, 'M', u'ڤ'), + (0xFB6E, 'M', u'ڦ'), + (0xFB72, 'M', u'ڄ'), + (0xFB76, 'M', u'ڃ'), + (0xFB7A, 'M', u'چ'), + (0xFB7E, 'M', u'ڇ'), + (0xFB82, 'M', u'ڍ'), + (0xFB84, 'M', u'ڌ'), + (0xFB86, 'M', u'ڎ'), + (0xFB88, 'M', u'ڈ'), + (0xFB8A, 'M', u'ژ'), + (0xFB8C, 'M', u'ڑ'), + (0xFB8E, 'M', u'ک'), + (0xFB92, 'M', u'گ'), + (0xFB96, 'M', u'ڳ'), + (0xFB9A, 'M', u'ڱ'), + (0xFB9E, 'M', u'ں'), + (0xFBA0, 'M', u'ڻ'), + (0xFBA4, 'M', u'ۀ'), + (0xFBA6, 'M', u'ہ'), + (0xFBAA, 'M', u'ھ'), + (0xFBAE, 'M', u'ے'), + (0xFBB0, 'M', u'ۓ'), + (0xFBB2, 'V'), + (0xFBC2, 'X'), + (0xFBD3, 'M', u'ڭ'), + (0xFBD7, 'M', u'ۇ'), + (0xFBD9, 'M', u'ۆ'), + (0xFBDB, 'M', u'ۈ'), + (0xFBDD, 'M', u'ۇٴ'), + (0xFBDE, 'M', u'ۋ'), + (0xFBE0, 'M', u'ۅ'), + (0xFBE2, 'M', u'ۉ'), + (0xFBE4, 'M', u'ې'), + (0xFBE8, 'M', u'ى'), + (0xFBEA, 'M', u'ئا'), + (0xFBEC, 'M', u'ئە'), + (0xFBEE, 'M', u'ئو'), + (0xFBF0, 'M', u'ئۇ'), + (0xFBF2, 'M', u'ئۆ'), + (0xFBF4, 'M', u'ئۈ'), + (0xFBF6, 'M', u'ئې'), + (0xFBF9, 'M', u'ئى'), + (0xFBFC, 'M', u'ی'), + (0xFC00, 'M', u'ئج'), + (0xFC01, 'M', u'ئح'), + (0xFC02, 'M', u'ئم'), + (0xFC03, 'M', u'ئى'), + (0xFC04, 'M', u'ئي'), + (0xFC05, 'M', u'بج'), + (0xFC06, 'M', u'بح'), + (0xFC07, 'M', u'بخ'), + (0xFC08, 'M', u'بم'), + (0xFC09, 'M', u'بى'), + (0xFC0A, 'M', u'بي'), + (0xFC0B, 'M', u'تج'), + (0xFC0C, 'M', u'تح'), + (0xFC0D, 'M', u'تخ'), + (0xFC0E, 'M', u'تم'), + (0xFC0F, 'M', u'تى'), + (0xFC10, 'M', u'تي'), + (0xFC11, 'M', u'ثج'), + (0xFC12, 'M', u'ثم'), + (0xFC13, 'M', u'ثى'), + (0xFC14, 'M', u'ثي'), + (0xFC15, 'M', u'جح'), + (0xFC16, 'M', u'جم'), + (0xFC17, 'M', u'حج'), + (0xFC18, 'M', u'حم'), + (0xFC19, 'M', u'خج'), + (0xFC1A, 'M', u'خح'), + (0xFC1B, 'M', u'خم'), + (0xFC1C, 'M', u'سج'), + (0xFC1D, 'M', u'سح'), + (0xFC1E, 'M', u'سخ'), + (0xFC1F, 'M', u'سم'), + (0xFC20, 'M', u'صح'), + (0xFC21, 'M', u'صم'), + (0xFC22, 'M', u'ضج'), + (0xFC23, 'M', u'ضح'), + (0xFC24, 'M', u'ضخ'), + (0xFC25, 'M', u'ضم'), + (0xFC26, 'M', u'طح'), + ] + +def _seg_45(): + return [ + (0xFC27, 'M', u'طم'), + (0xFC28, 'M', u'ظم'), + (0xFC29, 'M', u'عج'), + (0xFC2A, 'M', u'عم'), + (0xFC2B, 'M', u'غج'), + (0xFC2C, 'M', u'غم'), + (0xFC2D, 'M', u'فج'), + (0xFC2E, 'M', u'فح'), + (0xFC2F, 'M', u'فخ'), + (0xFC30, 'M', u'فم'), + (0xFC31, 'M', u'فى'), + (0xFC32, 'M', u'في'), + (0xFC33, 'M', u'قح'), + (0xFC34, 'M', u'قم'), + (0xFC35, 'M', u'قى'), + (0xFC36, 'M', u'قي'), + (0xFC37, 'M', u'كا'), + (0xFC38, 'M', u'كج'), + (0xFC39, 'M', u'كح'), + (0xFC3A, 'M', u'كخ'), + (0xFC3B, 'M', u'كل'), + (0xFC3C, 'M', u'كم'), + (0xFC3D, 'M', u'كى'), + (0xFC3E, 'M', u'كي'), + (0xFC3F, 'M', u'لج'), + (0xFC40, 'M', u'لح'), + (0xFC41, 'M', u'لخ'), + (0xFC42, 'M', u'لم'), + (0xFC43, 'M', u'لى'), + (0xFC44, 'M', u'لي'), + (0xFC45, 'M', u'مج'), + (0xFC46, 'M', u'مح'), + (0xFC47, 'M', u'مخ'), + (0xFC48, 'M', u'مم'), + (0xFC49, 'M', u'مى'), + (0xFC4A, 'M', u'مي'), + (0xFC4B, 'M', u'نج'), + (0xFC4C, 'M', u'نح'), + (0xFC4D, 'M', u'نخ'), + (0xFC4E, 'M', u'نم'), + (0xFC4F, 'M', u'نى'), + (0xFC50, 'M', u'ني'), + (0xFC51, 'M', u'هج'), + (0xFC52, 'M', u'هم'), + (0xFC53, 'M', u'هى'), + (0xFC54, 'M', u'هي'), + (0xFC55, 'M', u'يج'), + (0xFC56, 'M', u'يح'), + (0xFC57, 'M', u'يخ'), + (0xFC58, 'M', u'يم'), + (0xFC59, 'M', u'يى'), + (0xFC5A, 'M', u'يي'), + (0xFC5B, 'M', u'ذٰ'), + (0xFC5C, 'M', u'رٰ'), + (0xFC5D, 'M', u'ىٰ'), + (0xFC5E, '3', u' ٌّ'), + (0xFC5F, '3', u' ٍّ'), + (0xFC60, '3', u' َّ'), + (0xFC61, '3', u' ُّ'), + (0xFC62, '3', u' ِّ'), + (0xFC63, '3', u' ّٰ'), + (0xFC64, 'M', u'ئر'), + (0xFC65, 'M', u'ئز'), + (0xFC66, 'M', u'ئم'), + (0xFC67, 'M', u'ئن'), + (0xFC68, 'M', u'ئى'), + (0xFC69, 'M', u'ئي'), + (0xFC6A, 'M', u'بر'), + (0xFC6B, 'M', u'بز'), + (0xFC6C, 'M', u'بم'), + (0xFC6D, 'M', u'بن'), + (0xFC6E, 'M', u'بى'), + (0xFC6F, 'M', u'بي'), + (0xFC70, 'M', u'تر'), + (0xFC71, 'M', u'تز'), + (0xFC72, 'M', u'تم'), + (0xFC73, 'M', u'تن'), + (0xFC74, 'M', u'تى'), + (0xFC75, 'M', u'تي'), + (0xFC76, 'M', u'ثر'), + (0xFC77, 'M', u'ثز'), + (0xFC78, 'M', u'ثم'), + (0xFC79, 'M', u'ثن'), + (0xFC7A, 'M', u'ثى'), + (0xFC7B, 'M', u'ثي'), + (0xFC7C, 'M', u'فى'), + (0xFC7D, 'M', u'في'), + (0xFC7E, 'M', u'قى'), + (0xFC7F, 'M', u'قي'), + (0xFC80, 'M', u'كا'), + (0xFC81, 'M', u'كل'), + (0xFC82, 'M', u'كم'), + (0xFC83, 'M', u'كى'), + (0xFC84, 'M', u'كي'), + (0xFC85, 'M', u'لم'), + (0xFC86, 'M', u'لى'), + (0xFC87, 'M', u'لي'), + (0xFC88, 'M', u'ما'), + (0xFC89, 'M', u'مم'), + (0xFC8A, 'M', u'نر'), + ] + +def _seg_46(): + return [ + (0xFC8B, 'M', u'نز'), + (0xFC8C, 'M', u'نم'), + (0xFC8D, 'M', u'نن'), + (0xFC8E, 'M', u'نى'), + (0xFC8F, 'M', u'ني'), + (0xFC90, 'M', u'ىٰ'), + (0xFC91, 'M', u'ير'), + (0xFC92, 'M', u'يز'), + (0xFC93, 'M', u'يم'), + (0xFC94, 'M', u'ين'), + (0xFC95, 'M', u'يى'), + (0xFC96, 'M', u'يي'), + (0xFC97, 'M', u'ئج'), + (0xFC98, 'M', u'ئح'), + (0xFC99, 'M', u'ئخ'), + (0xFC9A, 'M', u'ئم'), + (0xFC9B, 'M', u'ئه'), + (0xFC9C, 'M', u'بج'), + (0xFC9D, 'M', u'بح'), + (0xFC9E, 'M', u'بخ'), + (0xFC9F, 'M', u'بم'), + (0xFCA0, 'M', u'به'), + (0xFCA1, 'M', u'تج'), + (0xFCA2, 'M', u'تح'), + (0xFCA3, 'M', u'تخ'), + (0xFCA4, 'M', u'تم'), + (0xFCA5, 'M', u'ته'), + (0xFCA6, 'M', u'ثم'), + (0xFCA7, 'M', u'جح'), + (0xFCA8, 'M', u'جم'), + (0xFCA9, 'M', u'حج'), + (0xFCAA, 'M', u'حم'), + (0xFCAB, 'M', u'خج'), + (0xFCAC, 'M', u'خم'), + (0xFCAD, 'M', u'سج'), + (0xFCAE, 'M', u'سح'), + (0xFCAF, 'M', u'سخ'), + (0xFCB0, 'M', u'سم'), + (0xFCB1, 'M', u'صح'), + (0xFCB2, 'M', u'صخ'), + (0xFCB3, 'M', u'صم'), + (0xFCB4, 'M', u'ضج'), + (0xFCB5, 'M', u'ضح'), + (0xFCB6, 'M', u'ضخ'), + (0xFCB7, 'M', u'ضم'), + (0xFCB8, 'M', u'طح'), + (0xFCB9, 'M', u'ظم'), + (0xFCBA, 'M', u'عج'), + (0xFCBB, 'M', u'عم'), + (0xFCBC, 'M', u'غج'), + (0xFCBD, 'M', u'غم'), + (0xFCBE, 'M', u'فج'), + (0xFCBF, 'M', u'فح'), + (0xFCC0, 'M', u'فخ'), + (0xFCC1, 'M', u'فم'), + (0xFCC2, 'M', u'قح'), + (0xFCC3, 'M', u'قم'), + (0xFCC4, 'M', u'كج'), + (0xFCC5, 'M', u'كح'), + (0xFCC6, 'M', u'كخ'), + (0xFCC7, 'M', u'كل'), + (0xFCC8, 'M', u'كم'), + (0xFCC9, 'M', u'لج'), + (0xFCCA, 'M', u'لح'), + (0xFCCB, 'M', u'لخ'), + (0xFCCC, 'M', u'لم'), + (0xFCCD, 'M', u'له'), + (0xFCCE, 'M', u'مج'), + (0xFCCF, 'M', u'مح'), + (0xFCD0, 'M', u'مخ'), + (0xFCD1, 'M', u'مم'), + (0xFCD2, 'M', u'نج'), + (0xFCD3, 'M', u'نح'), + (0xFCD4, 'M', u'نخ'), + (0xFCD5, 'M', u'نم'), + (0xFCD6, 'M', u'نه'), + (0xFCD7, 'M', u'هج'), + (0xFCD8, 'M', u'هم'), + (0xFCD9, 'M', u'هٰ'), + (0xFCDA, 'M', u'يج'), + (0xFCDB, 'M', u'يح'), + (0xFCDC, 'M', u'يخ'), + (0xFCDD, 'M', u'يم'), + (0xFCDE, 'M', u'يه'), + (0xFCDF, 'M', u'ئم'), + (0xFCE0, 'M', u'ئه'), + (0xFCE1, 'M', u'بم'), + (0xFCE2, 'M', u'به'), + (0xFCE3, 'M', u'تم'), + (0xFCE4, 'M', u'ته'), + (0xFCE5, 'M', u'ثم'), + (0xFCE6, 'M', u'ثه'), + (0xFCE7, 'M', u'سم'), + (0xFCE8, 'M', u'سه'), + (0xFCE9, 'M', u'شم'), + (0xFCEA, 'M', u'شه'), + (0xFCEB, 'M', u'كل'), + (0xFCEC, 'M', u'كم'), + (0xFCED, 'M', u'لم'), + (0xFCEE, 'M', u'نم'), + ] + +def _seg_47(): + return [ + (0xFCEF, 'M', u'نه'), + (0xFCF0, 'M', u'يم'), + (0xFCF1, 'M', u'يه'), + (0xFCF2, 'M', u'ـَّ'), + (0xFCF3, 'M', u'ـُّ'), + (0xFCF4, 'M', u'ـِّ'), + (0xFCF5, 'M', u'طى'), + (0xFCF6, 'M', u'طي'), + (0xFCF7, 'M', u'عى'), + (0xFCF8, 'M', u'عي'), + (0xFCF9, 'M', u'غى'), + (0xFCFA, 'M', u'غي'), + (0xFCFB, 'M', u'سى'), + (0xFCFC, 'M', u'سي'), + (0xFCFD, 'M', u'شى'), + (0xFCFE, 'M', u'شي'), + (0xFCFF, 'M', u'حى'), + (0xFD00, 'M', u'حي'), + (0xFD01, 'M', u'جى'), + (0xFD02, 'M', u'جي'), + (0xFD03, 'M', u'خى'), + (0xFD04, 'M', u'خي'), + (0xFD05, 'M', u'صى'), + (0xFD06, 'M', u'صي'), + (0xFD07, 'M', u'ضى'), + (0xFD08, 'M', u'ضي'), + (0xFD09, 'M', u'شج'), + (0xFD0A, 'M', u'شح'), + (0xFD0B, 'M', u'شخ'), + (0xFD0C, 'M', u'شم'), + (0xFD0D, 'M', u'شر'), + (0xFD0E, 'M', u'سر'), + (0xFD0F, 'M', u'صر'), + (0xFD10, 'M', u'ضر'), + (0xFD11, 'M', u'طى'), + (0xFD12, 'M', u'طي'), + (0xFD13, 'M', u'عى'), + (0xFD14, 'M', u'عي'), + (0xFD15, 'M', u'غى'), + (0xFD16, 'M', u'غي'), + (0xFD17, 'M', u'سى'), + (0xFD18, 'M', u'سي'), + (0xFD19, 'M', u'شى'), + (0xFD1A, 'M', u'شي'), + (0xFD1B, 'M', u'حى'), + (0xFD1C, 'M', u'حي'), + (0xFD1D, 'M', u'جى'), + (0xFD1E, 'M', u'جي'), + (0xFD1F, 'M', u'خى'), + (0xFD20, 'M', u'خي'), + (0xFD21, 'M', u'صى'), + (0xFD22, 'M', u'صي'), + (0xFD23, 'M', u'ضى'), + (0xFD24, 'M', u'ضي'), + (0xFD25, 'M', u'شج'), + (0xFD26, 'M', u'شح'), + (0xFD27, 'M', u'شخ'), + (0xFD28, 'M', u'شم'), + (0xFD29, 'M', u'شر'), + (0xFD2A, 'M', u'سر'), + (0xFD2B, 'M', u'صر'), + (0xFD2C, 'M', u'ضر'), + (0xFD2D, 'M', u'شج'), + (0xFD2E, 'M', u'شح'), + (0xFD2F, 'M', u'شخ'), + (0xFD30, 'M', u'شم'), + (0xFD31, 'M', u'سه'), + (0xFD32, 'M', u'شه'), + (0xFD33, 'M', u'طم'), + (0xFD34, 'M', u'سج'), + (0xFD35, 'M', u'سح'), + (0xFD36, 'M', u'سخ'), + (0xFD37, 'M', u'شج'), + (0xFD38, 'M', u'شح'), + (0xFD39, 'M', u'شخ'), + (0xFD3A, 'M', u'طم'), + (0xFD3B, 'M', u'ظم'), + (0xFD3C, 'M', u'اً'), + (0xFD3E, 'V'), + (0xFD40, 'X'), + (0xFD50, 'M', u'تجم'), + (0xFD51, 'M', u'تحج'), + (0xFD53, 'M', u'تحم'), + (0xFD54, 'M', u'تخم'), + (0xFD55, 'M', u'تمج'), + (0xFD56, 'M', u'تمح'), + (0xFD57, 'M', u'تمخ'), + (0xFD58, 'M', u'جمح'), + (0xFD5A, 'M', u'حمي'), + (0xFD5B, 'M', u'حمى'), + (0xFD5C, 'M', u'سحج'), + (0xFD5D, 'M', u'سجح'), + (0xFD5E, 'M', u'سجى'), + (0xFD5F, 'M', u'سمح'), + (0xFD61, 'M', u'سمج'), + (0xFD62, 'M', u'سمم'), + (0xFD64, 'M', u'صحح'), + (0xFD66, 'M', u'صمم'), + (0xFD67, 'M', u'شحم'), + (0xFD69, 'M', u'شجي'), + ] + +def _seg_48(): + return [ + (0xFD6A, 'M', u'شمخ'), + (0xFD6C, 'M', u'شمم'), + (0xFD6E, 'M', u'ضحى'), + (0xFD6F, 'M', u'ضخم'), + (0xFD71, 'M', u'طمح'), + (0xFD73, 'M', u'طمم'), + (0xFD74, 'M', u'طمي'), + (0xFD75, 'M', u'عجم'), + (0xFD76, 'M', u'عمم'), + (0xFD78, 'M', u'عمى'), + (0xFD79, 'M', u'غمم'), + (0xFD7A, 'M', u'غمي'), + (0xFD7B, 'M', u'غمى'), + (0xFD7C, 'M', u'فخم'), + (0xFD7E, 'M', u'قمح'), + (0xFD7F, 'M', u'قمم'), + (0xFD80, 'M', u'لحم'), + (0xFD81, 'M', u'لحي'), + (0xFD82, 'M', u'لحى'), + (0xFD83, 'M', u'لجج'), + (0xFD85, 'M', u'لخم'), + (0xFD87, 'M', u'لمح'), + (0xFD89, 'M', u'محج'), + (0xFD8A, 'M', u'محم'), + (0xFD8B, 'M', u'محي'), + (0xFD8C, 'M', u'مجح'), + (0xFD8D, 'M', u'مجم'), + (0xFD8E, 'M', u'مخج'), + (0xFD8F, 'M', u'مخم'), + (0xFD90, 'X'), + (0xFD92, 'M', u'مجخ'), + (0xFD93, 'M', u'همج'), + (0xFD94, 'M', u'همم'), + (0xFD95, 'M', u'نحم'), + (0xFD96, 'M', u'نحى'), + (0xFD97, 'M', u'نجم'), + (0xFD99, 'M', u'نجى'), + (0xFD9A, 'M', u'نمي'), + (0xFD9B, 'M', u'نمى'), + (0xFD9C, 'M', u'يمم'), + (0xFD9E, 'M', u'بخي'), + (0xFD9F, 'M', u'تجي'), + (0xFDA0, 'M', u'تجى'), + (0xFDA1, 'M', u'تخي'), + (0xFDA2, 'M', u'تخى'), + (0xFDA3, 'M', u'تمي'), + (0xFDA4, 'M', u'تمى'), + (0xFDA5, 'M', u'جمي'), + (0xFDA6, 'M', u'جحى'), + (0xFDA7, 'M', u'جمى'), + (0xFDA8, 'M', u'سخى'), + (0xFDA9, 'M', u'صحي'), + (0xFDAA, 'M', u'شحي'), + (0xFDAB, 'M', u'ضحي'), + (0xFDAC, 'M', u'لجي'), + (0xFDAD, 'M', u'لمي'), + (0xFDAE, 'M', u'يحي'), + (0xFDAF, 'M', u'يجي'), + (0xFDB0, 'M', u'يمي'), + (0xFDB1, 'M', u'ممي'), + (0xFDB2, 'M', u'قمي'), + (0xFDB3, 'M', u'نحي'), + (0xFDB4, 'M', u'قمح'), + (0xFDB5, 'M', u'لحم'), + (0xFDB6, 'M', u'عمي'), + (0xFDB7, 'M', u'كمي'), + (0xFDB8, 'M', u'نجح'), + (0xFDB9, 'M', u'مخي'), + (0xFDBA, 'M', u'لجم'), + (0xFDBB, 'M', u'كمم'), + (0xFDBC, 'M', u'لجم'), + (0xFDBD, 'M', u'نجح'), + (0xFDBE, 'M', u'جحي'), + (0xFDBF, 'M', u'حجي'), + (0xFDC0, 'M', u'مجي'), + (0xFDC1, 'M', u'فمي'), + (0xFDC2, 'M', u'بحي'), + (0xFDC3, 'M', u'كمم'), + (0xFDC4, 'M', u'عجم'), + (0xFDC5, 'M', u'صمم'), + (0xFDC6, 'M', u'سخي'), + (0xFDC7, 'M', u'نجي'), + (0xFDC8, 'X'), + (0xFDF0, 'M', u'صلے'), + (0xFDF1, 'M', u'قلے'), + (0xFDF2, 'M', u'الله'), + (0xFDF3, 'M', u'اكبر'), + (0xFDF4, 'M', u'محمد'), + (0xFDF5, 'M', u'صلعم'), + (0xFDF6, 'M', u'رسول'), + (0xFDF7, 'M', u'عليه'), + (0xFDF8, 'M', u'وسلم'), + (0xFDF9, 'M', u'صلى'), + (0xFDFA, '3', u'صلى الله عليه وسلم'), + (0xFDFB, '3', u'جل جلاله'), + (0xFDFC, 'M', u'ریال'), + (0xFDFD, 'V'), + (0xFDFE, 'X'), + (0xFE00, 'I'), + (0xFE10, '3', u','), + ] + +def _seg_49(): + return [ + (0xFE11, 'M', u'、'), + (0xFE12, 'X'), + (0xFE13, '3', u':'), + (0xFE14, '3', u';'), + (0xFE15, '3', u'!'), + (0xFE16, '3', u'?'), + (0xFE17, 'M', u'〖'), + (0xFE18, 'M', u'〗'), + (0xFE19, 'X'), + (0xFE20, 'V'), + (0xFE30, 'X'), + (0xFE31, 'M', u'—'), + (0xFE32, 'M', u'–'), + (0xFE33, '3', u'_'), + (0xFE35, '3', u'('), + (0xFE36, '3', u')'), + (0xFE37, '3', u'{'), + (0xFE38, '3', u'}'), + (0xFE39, 'M', u'〔'), + (0xFE3A, 'M', u'〕'), + (0xFE3B, 'M', u'【'), + (0xFE3C, 'M', u'】'), + (0xFE3D, 'M', u'《'), + (0xFE3E, 'M', u'》'), + (0xFE3F, 'M', u'〈'), + (0xFE40, 'M', u'〉'), + (0xFE41, 'M', u'「'), + (0xFE42, 'M', u'」'), + (0xFE43, 'M', u'『'), + (0xFE44, 'M', u'』'), + (0xFE45, 'V'), + (0xFE47, '3', u'['), + (0xFE48, '3', u']'), + (0xFE49, '3', u' ̅'), + (0xFE4D, '3', u'_'), + (0xFE50, '3', u','), + (0xFE51, 'M', u'、'), + (0xFE52, 'X'), + (0xFE54, '3', u';'), + (0xFE55, '3', u':'), + (0xFE56, '3', u'?'), + (0xFE57, '3', u'!'), + (0xFE58, 'M', u'—'), + (0xFE59, '3', u'('), + (0xFE5A, '3', u')'), + (0xFE5B, '3', u'{'), + (0xFE5C, '3', u'}'), + (0xFE5D, 'M', u'〔'), + (0xFE5E, 'M', u'〕'), + (0xFE5F, '3', u'#'), + (0xFE60, '3', u'&'), + (0xFE61, '3', u'*'), + (0xFE62, '3', u'+'), + (0xFE63, 'M', u'-'), + (0xFE64, '3', u'<'), + (0xFE65, '3', u'>'), + (0xFE66, '3', u'='), + (0xFE67, 'X'), + (0xFE68, '3', u'\\'), + (0xFE69, '3', u'$'), + (0xFE6A, '3', u'%'), + (0xFE6B, '3', u'@'), + (0xFE6C, 'X'), + (0xFE70, '3', u' ً'), + (0xFE71, 'M', u'ـً'), + (0xFE72, '3', u' ٌ'), + (0xFE73, 'V'), + (0xFE74, '3', u' ٍ'), + (0xFE75, 'X'), + (0xFE76, '3', u' َ'), + (0xFE77, 'M', u'ـَ'), + (0xFE78, '3', u' ُ'), + (0xFE79, 'M', u'ـُ'), + (0xFE7A, '3', u' ِ'), + (0xFE7B, 'M', u'ـِ'), + (0xFE7C, '3', u' ّ'), + (0xFE7D, 'M', u'ـّ'), + (0xFE7E, '3', u' ْ'), + (0xFE7F, 'M', u'ـْ'), + (0xFE80, 'M', u'ء'), + (0xFE81, 'M', u'آ'), + (0xFE83, 'M', u'أ'), + (0xFE85, 'M', u'ؤ'), + (0xFE87, 'M', u'إ'), + (0xFE89, 'M', u'ئ'), + (0xFE8D, 'M', u'ا'), + (0xFE8F, 'M', u'ب'), + (0xFE93, 'M', u'ة'), + (0xFE95, 'M', u'ت'), + (0xFE99, 'M', u'ث'), + (0xFE9D, 'M', u'ج'), + (0xFEA1, 'M', u'ح'), + (0xFEA5, 'M', u'خ'), + (0xFEA9, 'M', u'د'), + (0xFEAB, 'M', u'ذ'), + (0xFEAD, 'M', u'ر'), + (0xFEAF, 'M', u'ز'), + (0xFEB1, 'M', u'س'), + (0xFEB5, 'M', u'ش'), + (0xFEB9, 'M', u'ص'), + ] + +def _seg_50(): + return [ + (0xFEBD, 'M', u'ض'), + (0xFEC1, 'M', u'ط'), + (0xFEC5, 'M', u'ظ'), + (0xFEC9, 'M', u'ع'), + (0xFECD, 'M', u'غ'), + (0xFED1, 'M', u'ف'), + (0xFED5, 'M', u'ق'), + (0xFED9, 'M', u'ك'), + (0xFEDD, 'M', u'ل'), + (0xFEE1, 'M', u'م'), + (0xFEE5, 'M', u'ن'), + (0xFEE9, 'M', u'ه'), + (0xFEED, 'M', u'و'), + (0xFEEF, 'M', u'ى'), + (0xFEF1, 'M', u'ي'), + (0xFEF5, 'M', u'لآ'), + (0xFEF7, 'M', u'لأ'), + (0xFEF9, 'M', u'لإ'), + (0xFEFB, 'M', u'لا'), + (0xFEFD, 'X'), + (0xFEFF, 'I'), + (0xFF00, 'X'), + (0xFF01, '3', u'!'), + (0xFF02, '3', u'"'), + (0xFF03, '3', u'#'), + (0xFF04, '3', u'$'), + (0xFF05, '3', u'%'), + (0xFF06, '3', u'&'), + (0xFF07, '3', u'\''), + (0xFF08, '3', u'('), + (0xFF09, '3', u')'), + (0xFF0A, '3', u'*'), + (0xFF0B, '3', u'+'), + (0xFF0C, '3', u','), + (0xFF0D, 'M', u'-'), + (0xFF0E, 'M', u'.'), + (0xFF0F, '3', u'/'), + (0xFF10, 'M', u'0'), + (0xFF11, 'M', u'1'), + (0xFF12, 'M', u'2'), + (0xFF13, 'M', u'3'), + (0xFF14, 'M', u'4'), + (0xFF15, 'M', u'5'), + (0xFF16, 'M', u'6'), + (0xFF17, 'M', u'7'), + (0xFF18, 'M', u'8'), + (0xFF19, 'M', u'9'), + (0xFF1A, '3', u':'), + (0xFF1B, '3', u';'), + (0xFF1C, '3', u'<'), + (0xFF1D, '3', u'='), + (0xFF1E, '3', u'>'), + (0xFF1F, '3', u'?'), + (0xFF20, '3', u'@'), + (0xFF21, 'M', u'a'), + (0xFF22, 'M', u'b'), + (0xFF23, 'M', u'c'), + (0xFF24, 'M', u'd'), + (0xFF25, 'M', u'e'), + (0xFF26, 'M', u'f'), + (0xFF27, 'M', u'g'), + (0xFF28, 'M', u'h'), + (0xFF29, 'M', u'i'), + (0xFF2A, 'M', u'j'), + (0xFF2B, 'M', u'k'), + (0xFF2C, 'M', u'l'), + (0xFF2D, 'M', u'm'), + (0xFF2E, 'M', u'n'), + (0xFF2F, 'M', u'o'), + (0xFF30, 'M', u'p'), + (0xFF31, 'M', u'q'), + (0xFF32, 'M', u'r'), + (0xFF33, 'M', u's'), + (0xFF34, 'M', u't'), + (0xFF35, 'M', u'u'), + (0xFF36, 'M', u'v'), + (0xFF37, 'M', u'w'), + (0xFF38, 'M', u'x'), + (0xFF39, 'M', u'y'), + (0xFF3A, 'M', u'z'), + (0xFF3B, '3', u'['), + (0xFF3C, '3', u'\\'), + (0xFF3D, '3', u']'), + (0xFF3E, '3', u'^'), + (0xFF3F, '3', u'_'), + (0xFF40, '3', u'`'), + (0xFF41, 'M', u'a'), + (0xFF42, 'M', u'b'), + (0xFF43, 'M', u'c'), + (0xFF44, 'M', u'd'), + (0xFF45, 'M', u'e'), + (0xFF46, 'M', u'f'), + (0xFF47, 'M', u'g'), + (0xFF48, 'M', u'h'), + (0xFF49, 'M', u'i'), + (0xFF4A, 'M', u'j'), + (0xFF4B, 'M', u'k'), + (0xFF4C, 'M', u'l'), + (0xFF4D, 'M', u'm'), + (0xFF4E, 'M', u'n'), + ] + +def _seg_51(): + return [ + (0xFF4F, 'M', u'o'), + (0xFF50, 'M', u'p'), + (0xFF51, 'M', u'q'), + (0xFF52, 'M', u'r'), + (0xFF53, 'M', u's'), + (0xFF54, 'M', u't'), + (0xFF55, 'M', u'u'), + (0xFF56, 'M', u'v'), + (0xFF57, 'M', u'w'), + (0xFF58, 'M', u'x'), + (0xFF59, 'M', u'y'), + (0xFF5A, 'M', u'z'), + (0xFF5B, '3', u'{'), + (0xFF5C, '3', u'|'), + (0xFF5D, '3', u'}'), + (0xFF5E, '3', u'~'), + (0xFF5F, 'M', u'⦅'), + (0xFF60, 'M', u'⦆'), + (0xFF61, 'M', u'.'), + (0xFF62, 'M', u'「'), + (0xFF63, 'M', u'」'), + (0xFF64, 'M', u'、'), + (0xFF65, 'M', u'・'), + (0xFF66, 'M', u'ヲ'), + (0xFF67, 'M', u'ァ'), + (0xFF68, 'M', u'ィ'), + (0xFF69, 'M', u'ゥ'), + (0xFF6A, 'M', u'ェ'), + (0xFF6B, 'M', u'ォ'), + (0xFF6C, 'M', u'ャ'), + (0xFF6D, 'M', u'ュ'), + (0xFF6E, 'M', u'ョ'), + (0xFF6F, 'M', u'ッ'), + (0xFF70, 'M', u'ー'), + (0xFF71, 'M', u'ア'), + (0xFF72, 'M', u'イ'), + (0xFF73, 'M', u'ウ'), + (0xFF74, 'M', u'エ'), + (0xFF75, 'M', u'オ'), + (0xFF76, 'M', u'カ'), + (0xFF77, 'M', u'キ'), + (0xFF78, 'M', u'ク'), + (0xFF79, 'M', u'ケ'), + (0xFF7A, 'M', u'コ'), + (0xFF7B, 'M', u'サ'), + (0xFF7C, 'M', u'シ'), + (0xFF7D, 'M', u'ス'), + (0xFF7E, 'M', u'セ'), + (0xFF7F, 'M', u'ソ'), + (0xFF80, 'M', u'タ'), + (0xFF81, 'M', u'チ'), + (0xFF82, 'M', u'ツ'), + (0xFF83, 'M', u'テ'), + (0xFF84, 'M', u'ト'), + (0xFF85, 'M', u'ナ'), + (0xFF86, 'M', u'ニ'), + (0xFF87, 'M', u'ヌ'), + (0xFF88, 'M', u'ネ'), + (0xFF89, 'M', u'ノ'), + (0xFF8A, 'M', u'ハ'), + (0xFF8B, 'M', u'ヒ'), + (0xFF8C, 'M', u'フ'), + (0xFF8D, 'M', u'ヘ'), + (0xFF8E, 'M', u'ホ'), + (0xFF8F, 'M', u'マ'), + (0xFF90, 'M', u'ミ'), + (0xFF91, 'M', u'ム'), + (0xFF92, 'M', u'メ'), + (0xFF93, 'M', u'モ'), + (0xFF94, 'M', u'ヤ'), + (0xFF95, 'M', u'ユ'), + (0xFF96, 'M', u'ヨ'), + (0xFF97, 'M', u'ラ'), + (0xFF98, 'M', u'リ'), + (0xFF99, 'M', u'ル'), + (0xFF9A, 'M', u'レ'), + (0xFF9B, 'M', u'ロ'), + (0xFF9C, 'M', u'ワ'), + (0xFF9D, 'M', u'ン'), + (0xFF9E, 'M', u'゙'), + (0xFF9F, 'M', u'゚'), + (0xFFA0, 'X'), + (0xFFA1, 'M', u'ᄀ'), + (0xFFA2, 'M', u'ᄁ'), + (0xFFA3, 'M', u'ᆪ'), + (0xFFA4, 'M', u'ᄂ'), + (0xFFA5, 'M', u'ᆬ'), + (0xFFA6, 'M', u'ᆭ'), + (0xFFA7, 'M', u'ᄃ'), + (0xFFA8, 'M', u'ᄄ'), + (0xFFA9, 'M', u'ᄅ'), + (0xFFAA, 'M', u'ᆰ'), + (0xFFAB, 'M', u'ᆱ'), + (0xFFAC, 'M', u'ᆲ'), + (0xFFAD, 'M', u'ᆳ'), + (0xFFAE, 'M', u'ᆴ'), + (0xFFAF, 'M', u'ᆵ'), + (0xFFB0, 'M', u'ᄚ'), + (0xFFB1, 'M', u'ᄆ'), + (0xFFB2, 'M', u'ᄇ'), + ] + +def _seg_52(): + return [ + (0xFFB3, 'M', u'ᄈ'), + (0xFFB4, 'M', u'ᄡ'), + (0xFFB5, 'M', u'ᄉ'), + (0xFFB6, 'M', u'ᄊ'), + (0xFFB7, 'M', u'ᄋ'), + (0xFFB8, 'M', u'ᄌ'), + (0xFFB9, 'M', u'ᄍ'), + (0xFFBA, 'M', u'ᄎ'), + (0xFFBB, 'M', u'ᄏ'), + (0xFFBC, 'M', u'ᄐ'), + (0xFFBD, 'M', u'ᄑ'), + (0xFFBE, 'M', u'ᄒ'), + (0xFFBF, 'X'), + (0xFFC2, 'M', u'ᅡ'), + (0xFFC3, 'M', u'ᅢ'), + (0xFFC4, 'M', u'ᅣ'), + (0xFFC5, 'M', u'ᅤ'), + (0xFFC6, 'M', u'ᅥ'), + (0xFFC7, 'M', u'ᅦ'), + (0xFFC8, 'X'), + (0xFFCA, 'M', u'ᅧ'), + (0xFFCB, 'M', u'ᅨ'), + (0xFFCC, 'M', u'ᅩ'), + (0xFFCD, 'M', u'ᅪ'), + (0xFFCE, 'M', u'ᅫ'), + (0xFFCF, 'M', u'ᅬ'), + (0xFFD0, 'X'), + (0xFFD2, 'M', u'ᅭ'), + (0xFFD3, 'M', u'ᅮ'), + (0xFFD4, 'M', u'ᅯ'), + (0xFFD5, 'M', u'ᅰ'), + (0xFFD6, 'M', u'ᅱ'), + (0xFFD7, 'M', u'ᅲ'), + (0xFFD8, 'X'), + (0xFFDA, 'M', u'ᅳ'), + (0xFFDB, 'M', u'ᅴ'), + (0xFFDC, 'M', u'ᅵ'), + (0xFFDD, 'X'), + (0xFFE0, 'M', u'¢'), + (0xFFE1, 'M', u'£'), + (0xFFE2, 'M', u'¬'), + (0xFFE3, '3', u' ̄'), + (0xFFE4, 'M', u'¦'), + (0xFFE5, 'M', u'¥'), + (0xFFE6, 'M', u'₩'), + (0xFFE7, 'X'), + (0xFFE8, 'M', u'│'), + (0xFFE9, 'M', u'←'), + (0xFFEA, 'M', u'↑'), + (0xFFEB, 'M', u'→'), + (0xFFEC, 'M', u'↓'), + (0xFFED, 'M', u'■'), + (0xFFEE, 'M', u'○'), + (0xFFEF, 'X'), + (0x10000, 'V'), + (0x1000C, 'X'), + (0x1000D, 'V'), + (0x10027, 'X'), + (0x10028, 'V'), + (0x1003B, 'X'), + (0x1003C, 'V'), + (0x1003E, 'X'), + (0x1003F, 'V'), + (0x1004E, 'X'), + (0x10050, 'V'), + (0x1005E, 'X'), + (0x10080, 'V'), + (0x100FB, 'X'), + (0x10100, 'V'), + (0x10103, 'X'), + (0x10107, 'V'), + (0x10134, 'X'), + (0x10137, 'V'), + (0x1018F, 'X'), + (0x10190, 'V'), + (0x1019C, 'X'), + (0x101A0, 'V'), + (0x101A1, 'X'), + (0x101D0, 'V'), + (0x101FE, 'X'), + (0x10280, 'V'), + (0x1029D, 'X'), + (0x102A0, 'V'), + (0x102D1, 'X'), + (0x102E0, 'V'), + (0x102FC, 'X'), + (0x10300, 'V'), + (0x10324, 'X'), + (0x1032D, 'V'), + (0x1034B, 'X'), + (0x10350, 'V'), + (0x1037B, 'X'), + (0x10380, 'V'), + (0x1039E, 'X'), + (0x1039F, 'V'), + (0x103C4, 'X'), + (0x103C8, 'V'), + (0x103D6, 'X'), + (0x10400, 'M', u'𐐨'), + (0x10401, 'M', u'𐐩'), + ] + +def _seg_53(): + return [ + (0x10402, 'M', u'𐐪'), + (0x10403, 'M', u'𐐫'), + (0x10404, 'M', u'𐐬'), + (0x10405, 'M', u'𐐭'), + (0x10406, 'M', u'𐐮'), + (0x10407, 'M', u'𐐯'), + (0x10408, 'M', u'𐐰'), + (0x10409, 'M', u'𐐱'), + (0x1040A, 'M', u'𐐲'), + (0x1040B, 'M', u'𐐳'), + (0x1040C, 'M', u'𐐴'), + (0x1040D, 'M', u'𐐵'), + (0x1040E, 'M', u'𐐶'), + (0x1040F, 'M', u'𐐷'), + (0x10410, 'M', u'𐐸'), + (0x10411, 'M', u'𐐹'), + (0x10412, 'M', u'𐐺'), + (0x10413, 'M', u'𐐻'), + (0x10414, 'M', u'𐐼'), + (0x10415, 'M', u'𐐽'), + (0x10416, 'M', u'𐐾'), + (0x10417, 'M', u'𐐿'), + (0x10418, 'M', u'𐑀'), + (0x10419, 'M', u'𐑁'), + (0x1041A, 'M', u'𐑂'), + (0x1041B, 'M', u'𐑃'), + (0x1041C, 'M', u'𐑄'), + (0x1041D, 'M', u'𐑅'), + (0x1041E, 'M', u'𐑆'), + (0x1041F, 'M', u'𐑇'), + (0x10420, 'M', u'𐑈'), + (0x10421, 'M', u'𐑉'), + (0x10422, 'M', u'𐑊'), + (0x10423, 'M', u'𐑋'), + (0x10424, 'M', u'𐑌'), + (0x10425, 'M', u'𐑍'), + (0x10426, 'M', u'𐑎'), + (0x10427, 'M', u'𐑏'), + (0x10428, 'V'), + (0x1049E, 'X'), + (0x104A0, 'V'), + (0x104AA, 'X'), + (0x104B0, 'M', u'𐓘'), + (0x104B1, 'M', u'𐓙'), + (0x104B2, 'M', u'𐓚'), + (0x104B3, 'M', u'𐓛'), + (0x104B4, 'M', u'𐓜'), + (0x104B5, 'M', u'𐓝'), + (0x104B6, 'M', u'𐓞'), + (0x104B7, 'M', u'𐓟'), + (0x104B8, 'M', u'𐓠'), + (0x104B9, 'M', u'𐓡'), + (0x104BA, 'M', u'𐓢'), + (0x104BB, 'M', u'𐓣'), + (0x104BC, 'M', u'𐓤'), + (0x104BD, 'M', u'𐓥'), + (0x104BE, 'M', u'𐓦'), + (0x104BF, 'M', u'𐓧'), + (0x104C0, 'M', u'𐓨'), + (0x104C1, 'M', u'𐓩'), + (0x104C2, 'M', u'𐓪'), + (0x104C3, 'M', u'𐓫'), + (0x104C4, 'M', u'𐓬'), + (0x104C5, 'M', u'𐓭'), + (0x104C6, 'M', u'𐓮'), + (0x104C7, 'M', u'𐓯'), + (0x104C8, 'M', u'𐓰'), + (0x104C9, 'M', u'𐓱'), + (0x104CA, 'M', u'𐓲'), + (0x104CB, 'M', u'𐓳'), + (0x104CC, 'M', u'𐓴'), + (0x104CD, 'M', u'𐓵'), + (0x104CE, 'M', u'𐓶'), + (0x104CF, 'M', u'𐓷'), + (0x104D0, 'M', u'𐓸'), + (0x104D1, 'M', u'𐓹'), + (0x104D2, 'M', u'𐓺'), + (0x104D3, 'M', u'𐓻'), + (0x104D4, 'X'), + (0x104D8, 'V'), + (0x104FC, 'X'), + (0x10500, 'V'), + (0x10528, 'X'), + (0x10530, 'V'), + (0x10564, 'X'), + (0x1056F, 'V'), + (0x10570, 'X'), + (0x10600, 'V'), + (0x10737, 'X'), + (0x10740, 'V'), + (0x10756, 'X'), + (0x10760, 'V'), + (0x10768, 'X'), + (0x10800, 'V'), + (0x10806, 'X'), + (0x10808, 'V'), + (0x10809, 'X'), + (0x1080A, 'V'), + (0x10836, 'X'), + (0x10837, 'V'), + ] + +def _seg_54(): + return [ + (0x10839, 'X'), + (0x1083C, 'V'), + (0x1083D, 'X'), + (0x1083F, 'V'), + (0x10856, 'X'), + (0x10857, 'V'), + (0x1089F, 'X'), + (0x108A7, 'V'), + (0x108B0, 'X'), + (0x108E0, 'V'), + (0x108F3, 'X'), + (0x108F4, 'V'), + (0x108F6, 'X'), + (0x108FB, 'V'), + (0x1091C, 'X'), + (0x1091F, 'V'), + (0x1093A, 'X'), + (0x1093F, 'V'), + (0x10940, 'X'), + (0x10980, 'V'), + (0x109B8, 'X'), + (0x109BC, 'V'), + (0x109D0, 'X'), + (0x109D2, 'V'), + (0x10A04, 'X'), + (0x10A05, 'V'), + (0x10A07, 'X'), + (0x10A0C, 'V'), + (0x10A14, 'X'), + (0x10A15, 'V'), + (0x10A18, 'X'), + (0x10A19, 'V'), + (0x10A36, 'X'), + (0x10A38, 'V'), + (0x10A3B, 'X'), + (0x10A3F, 'V'), + (0x10A49, 'X'), + (0x10A50, 'V'), + (0x10A59, 'X'), + (0x10A60, 'V'), + (0x10AA0, 'X'), + (0x10AC0, 'V'), + (0x10AE7, 'X'), + (0x10AEB, 'V'), + (0x10AF7, 'X'), + (0x10B00, 'V'), + (0x10B36, 'X'), + (0x10B39, 'V'), + (0x10B56, 'X'), + (0x10B58, 'V'), + (0x10B73, 'X'), + (0x10B78, 'V'), + (0x10B92, 'X'), + (0x10B99, 'V'), + (0x10B9D, 'X'), + (0x10BA9, 'V'), + (0x10BB0, 'X'), + (0x10C00, 'V'), + (0x10C49, 'X'), + (0x10C80, 'M', u'𐳀'), + (0x10C81, 'M', u'𐳁'), + (0x10C82, 'M', u'𐳂'), + (0x10C83, 'M', u'𐳃'), + (0x10C84, 'M', u'𐳄'), + (0x10C85, 'M', u'𐳅'), + (0x10C86, 'M', u'𐳆'), + (0x10C87, 'M', u'𐳇'), + (0x10C88, 'M', u'𐳈'), + (0x10C89, 'M', u'𐳉'), + (0x10C8A, 'M', u'𐳊'), + (0x10C8B, 'M', u'𐳋'), + (0x10C8C, 'M', u'𐳌'), + (0x10C8D, 'M', u'𐳍'), + (0x10C8E, 'M', u'𐳎'), + (0x10C8F, 'M', u'𐳏'), + (0x10C90, 'M', u'𐳐'), + (0x10C91, 'M', u'𐳑'), + (0x10C92, 'M', u'𐳒'), + (0x10C93, 'M', u'𐳓'), + (0x10C94, 'M', u'𐳔'), + (0x10C95, 'M', u'𐳕'), + (0x10C96, 'M', u'𐳖'), + (0x10C97, 'M', u'𐳗'), + (0x10C98, 'M', u'𐳘'), + (0x10C99, 'M', u'𐳙'), + (0x10C9A, 'M', u'𐳚'), + (0x10C9B, 'M', u'𐳛'), + (0x10C9C, 'M', u'𐳜'), + (0x10C9D, 'M', u'𐳝'), + (0x10C9E, 'M', u'𐳞'), + (0x10C9F, 'M', u'𐳟'), + (0x10CA0, 'M', u'𐳠'), + (0x10CA1, 'M', u'𐳡'), + (0x10CA2, 'M', u'𐳢'), + (0x10CA3, 'M', u'𐳣'), + (0x10CA4, 'M', u'𐳤'), + (0x10CA5, 'M', u'𐳥'), + (0x10CA6, 'M', u'𐳦'), + (0x10CA7, 'M', u'𐳧'), + (0x10CA8, 'M', u'𐳨'), + ] + +def _seg_55(): + return [ + (0x10CA9, 'M', u'𐳩'), + (0x10CAA, 'M', u'𐳪'), + (0x10CAB, 'M', u'𐳫'), + (0x10CAC, 'M', u'𐳬'), + (0x10CAD, 'M', u'𐳭'), + (0x10CAE, 'M', u'𐳮'), + (0x10CAF, 'M', u'𐳯'), + (0x10CB0, 'M', u'𐳰'), + (0x10CB1, 'M', u'𐳱'), + (0x10CB2, 'M', u'𐳲'), + (0x10CB3, 'X'), + (0x10CC0, 'V'), + (0x10CF3, 'X'), + (0x10CFA, 'V'), + (0x10D28, 'X'), + (0x10D30, 'V'), + (0x10D3A, 'X'), + (0x10E60, 'V'), + (0x10E7F, 'X'), + (0x10F00, 'V'), + (0x10F28, 'X'), + (0x10F30, 'V'), + (0x10F5A, 'X'), + (0x11000, 'V'), + (0x1104E, 'X'), + (0x11052, 'V'), + (0x11070, 'X'), + (0x1107F, 'V'), + (0x110BD, 'X'), + (0x110BE, 'V'), + (0x110C2, 'X'), + (0x110D0, 'V'), + (0x110E9, 'X'), + (0x110F0, 'V'), + (0x110FA, 'X'), + (0x11100, 'V'), + (0x11135, 'X'), + (0x11136, 'V'), + (0x11147, 'X'), + (0x11150, 'V'), + (0x11177, 'X'), + (0x11180, 'V'), + (0x111CE, 'X'), + (0x111D0, 'V'), + (0x111E0, 'X'), + (0x111E1, 'V'), + (0x111F5, 'X'), + (0x11200, 'V'), + (0x11212, 'X'), + (0x11213, 'V'), + (0x1123F, 'X'), + (0x11280, 'V'), + (0x11287, 'X'), + (0x11288, 'V'), + (0x11289, 'X'), + (0x1128A, 'V'), + (0x1128E, 'X'), + (0x1128F, 'V'), + (0x1129E, 'X'), + (0x1129F, 'V'), + (0x112AA, 'X'), + (0x112B0, 'V'), + (0x112EB, 'X'), + (0x112F0, 'V'), + (0x112FA, 'X'), + (0x11300, 'V'), + (0x11304, 'X'), + (0x11305, 'V'), + (0x1130D, 'X'), + (0x1130F, 'V'), + (0x11311, 'X'), + (0x11313, 'V'), + (0x11329, 'X'), + (0x1132A, 'V'), + (0x11331, 'X'), + (0x11332, 'V'), + (0x11334, 'X'), + (0x11335, 'V'), + (0x1133A, 'X'), + (0x1133B, 'V'), + (0x11345, 'X'), + (0x11347, 'V'), + (0x11349, 'X'), + (0x1134B, 'V'), + (0x1134E, 'X'), + (0x11350, 'V'), + (0x11351, 'X'), + (0x11357, 'V'), + (0x11358, 'X'), + (0x1135D, 'V'), + (0x11364, 'X'), + (0x11366, 'V'), + (0x1136D, 'X'), + (0x11370, 'V'), + (0x11375, 'X'), + (0x11400, 'V'), + (0x1145A, 'X'), + (0x1145B, 'V'), + (0x1145C, 'X'), + (0x1145D, 'V'), + ] + +def _seg_56(): + return [ + (0x1145F, 'X'), + (0x11480, 'V'), + (0x114C8, 'X'), + (0x114D0, 'V'), + (0x114DA, 'X'), + (0x11580, 'V'), + (0x115B6, 'X'), + (0x115B8, 'V'), + (0x115DE, 'X'), + (0x11600, 'V'), + (0x11645, 'X'), + (0x11650, 'V'), + (0x1165A, 'X'), + (0x11660, 'V'), + (0x1166D, 'X'), + (0x11680, 'V'), + (0x116B8, 'X'), + (0x116C0, 'V'), + (0x116CA, 'X'), + (0x11700, 'V'), + (0x1171B, 'X'), + (0x1171D, 'V'), + (0x1172C, 'X'), + (0x11730, 'V'), + (0x11740, 'X'), + (0x11800, 'V'), + (0x1183C, 'X'), + (0x118A0, 'M', u'𑣀'), + (0x118A1, 'M', u'𑣁'), + (0x118A2, 'M', u'𑣂'), + (0x118A3, 'M', u'𑣃'), + (0x118A4, 'M', u'𑣄'), + (0x118A5, 'M', u'𑣅'), + (0x118A6, 'M', u'𑣆'), + (0x118A7, 'M', u'𑣇'), + (0x118A8, 'M', u'𑣈'), + (0x118A9, 'M', u'𑣉'), + (0x118AA, 'M', u'𑣊'), + (0x118AB, 'M', u'𑣋'), + (0x118AC, 'M', u'𑣌'), + (0x118AD, 'M', u'𑣍'), + (0x118AE, 'M', u'𑣎'), + (0x118AF, 'M', u'𑣏'), + (0x118B0, 'M', u'𑣐'), + (0x118B1, 'M', u'𑣑'), + (0x118B2, 'M', u'𑣒'), + (0x118B3, 'M', u'𑣓'), + (0x118B4, 'M', u'𑣔'), + (0x118B5, 'M', u'𑣕'), + (0x118B6, 'M', u'𑣖'), + (0x118B7, 'M', u'𑣗'), + (0x118B8, 'M', u'𑣘'), + (0x118B9, 'M', u'𑣙'), + (0x118BA, 'M', u'𑣚'), + (0x118BB, 'M', u'𑣛'), + (0x118BC, 'M', u'𑣜'), + (0x118BD, 'M', u'𑣝'), + (0x118BE, 'M', u'𑣞'), + (0x118BF, 'M', u'𑣟'), + (0x118C0, 'V'), + (0x118F3, 'X'), + (0x118FF, 'V'), + (0x11900, 'X'), + (0x11A00, 'V'), + (0x11A48, 'X'), + (0x11A50, 'V'), + (0x11A84, 'X'), + (0x11A86, 'V'), + (0x11AA3, 'X'), + (0x11AC0, 'V'), + (0x11AF9, 'X'), + (0x11C00, 'V'), + (0x11C09, 'X'), + (0x11C0A, 'V'), + (0x11C37, 'X'), + (0x11C38, 'V'), + (0x11C46, 'X'), + (0x11C50, 'V'), + (0x11C6D, 'X'), + (0x11C70, 'V'), + (0x11C90, 'X'), + (0x11C92, 'V'), + (0x11CA8, 'X'), + (0x11CA9, 'V'), + (0x11CB7, 'X'), + (0x11D00, 'V'), + (0x11D07, 'X'), + (0x11D08, 'V'), + (0x11D0A, 'X'), + (0x11D0B, 'V'), + (0x11D37, 'X'), + (0x11D3A, 'V'), + (0x11D3B, 'X'), + (0x11D3C, 'V'), + (0x11D3E, 'X'), + (0x11D3F, 'V'), + (0x11D48, 'X'), + (0x11D50, 'V'), + (0x11D5A, 'X'), + (0x11D60, 'V'), + ] + +def _seg_57(): + return [ + (0x11D66, 'X'), + (0x11D67, 'V'), + (0x11D69, 'X'), + (0x11D6A, 'V'), + (0x11D8F, 'X'), + (0x11D90, 'V'), + (0x11D92, 'X'), + (0x11D93, 'V'), + (0x11D99, 'X'), + (0x11DA0, 'V'), + (0x11DAA, 'X'), + (0x11EE0, 'V'), + (0x11EF9, 'X'), + (0x12000, 'V'), + (0x1239A, 'X'), + (0x12400, 'V'), + (0x1246F, 'X'), + (0x12470, 'V'), + (0x12475, 'X'), + (0x12480, 'V'), + (0x12544, 'X'), + (0x13000, 'V'), + (0x1342F, 'X'), + (0x14400, 'V'), + (0x14647, 'X'), + (0x16800, 'V'), + (0x16A39, 'X'), + (0x16A40, 'V'), + (0x16A5F, 'X'), + (0x16A60, 'V'), + (0x16A6A, 'X'), + (0x16A6E, 'V'), + (0x16A70, 'X'), + (0x16AD0, 'V'), + (0x16AEE, 'X'), + (0x16AF0, 'V'), + (0x16AF6, 'X'), + (0x16B00, 'V'), + (0x16B46, 'X'), + (0x16B50, 'V'), + (0x16B5A, 'X'), + (0x16B5B, 'V'), + (0x16B62, 'X'), + (0x16B63, 'V'), + (0x16B78, 'X'), + (0x16B7D, 'V'), + (0x16B90, 'X'), + (0x16E60, 'V'), + (0x16E9B, 'X'), + (0x16F00, 'V'), + (0x16F45, 'X'), + (0x16F50, 'V'), + (0x16F7F, 'X'), + (0x16F8F, 'V'), + (0x16FA0, 'X'), + (0x16FE0, 'V'), + (0x16FE2, 'X'), + (0x17000, 'V'), + (0x187F2, 'X'), + (0x18800, 'V'), + (0x18AF3, 'X'), + (0x1B000, 'V'), + (0x1B11F, 'X'), + (0x1B170, 'V'), + (0x1B2FC, 'X'), + (0x1BC00, 'V'), + (0x1BC6B, 'X'), + (0x1BC70, 'V'), + (0x1BC7D, 'X'), + (0x1BC80, 'V'), + (0x1BC89, 'X'), + (0x1BC90, 'V'), + (0x1BC9A, 'X'), + (0x1BC9C, 'V'), + (0x1BCA0, 'I'), + (0x1BCA4, 'X'), + (0x1D000, 'V'), + (0x1D0F6, 'X'), + (0x1D100, 'V'), + (0x1D127, 'X'), + (0x1D129, 'V'), + (0x1D15E, 'M', u'𝅗𝅥'), + (0x1D15F, 'M', u'𝅘𝅥'), + (0x1D160, 'M', u'𝅘𝅥𝅮'), + (0x1D161, 'M', u'𝅘𝅥𝅯'), + (0x1D162, 'M', u'𝅘𝅥𝅰'), + (0x1D163, 'M', u'𝅘𝅥𝅱'), + (0x1D164, 'M', u'𝅘𝅥𝅲'), + (0x1D165, 'V'), + (0x1D173, 'X'), + (0x1D17B, 'V'), + (0x1D1BB, 'M', u'𝆹𝅥'), + (0x1D1BC, 'M', u'𝆺𝅥'), + (0x1D1BD, 'M', u'𝆹𝅥𝅮'), + (0x1D1BE, 'M', u'𝆺𝅥𝅮'), + (0x1D1BF, 'M', u'𝆹𝅥𝅯'), + (0x1D1C0, 'M', u'𝆺𝅥𝅯'), + (0x1D1C1, 'V'), + (0x1D1E9, 'X'), + (0x1D200, 'V'), + ] + +def _seg_58(): + return [ + (0x1D246, 'X'), + (0x1D2E0, 'V'), + (0x1D2F4, 'X'), + (0x1D300, 'V'), + (0x1D357, 'X'), + (0x1D360, 'V'), + (0x1D379, 'X'), + (0x1D400, 'M', u'a'), + (0x1D401, 'M', u'b'), + (0x1D402, 'M', u'c'), + (0x1D403, 'M', u'd'), + (0x1D404, 'M', u'e'), + (0x1D405, 'M', u'f'), + (0x1D406, 'M', u'g'), + (0x1D407, 'M', u'h'), + (0x1D408, 'M', u'i'), + (0x1D409, 'M', u'j'), + (0x1D40A, 'M', u'k'), + (0x1D40B, 'M', u'l'), + (0x1D40C, 'M', u'm'), + (0x1D40D, 'M', u'n'), + (0x1D40E, 'M', u'o'), + (0x1D40F, 'M', u'p'), + (0x1D410, 'M', u'q'), + (0x1D411, 'M', u'r'), + (0x1D412, 'M', u's'), + (0x1D413, 'M', u't'), + (0x1D414, 'M', u'u'), + (0x1D415, 'M', u'v'), + (0x1D416, 'M', u'w'), + (0x1D417, 'M', u'x'), + (0x1D418, 'M', u'y'), + (0x1D419, 'M', u'z'), + (0x1D41A, 'M', u'a'), + (0x1D41B, 'M', u'b'), + (0x1D41C, 'M', u'c'), + (0x1D41D, 'M', u'd'), + (0x1D41E, 'M', u'e'), + (0x1D41F, 'M', u'f'), + (0x1D420, 'M', u'g'), + (0x1D421, 'M', u'h'), + (0x1D422, 'M', u'i'), + (0x1D423, 'M', u'j'), + (0x1D424, 'M', u'k'), + (0x1D425, 'M', u'l'), + (0x1D426, 'M', u'm'), + (0x1D427, 'M', u'n'), + (0x1D428, 'M', u'o'), + (0x1D429, 'M', u'p'), + (0x1D42A, 'M', u'q'), + (0x1D42B, 'M', u'r'), + (0x1D42C, 'M', u's'), + (0x1D42D, 'M', u't'), + (0x1D42E, 'M', u'u'), + (0x1D42F, 'M', u'v'), + (0x1D430, 'M', u'w'), + (0x1D431, 'M', u'x'), + (0x1D432, 'M', u'y'), + (0x1D433, 'M', u'z'), + (0x1D434, 'M', u'a'), + (0x1D435, 'M', u'b'), + (0x1D436, 'M', u'c'), + (0x1D437, 'M', u'd'), + (0x1D438, 'M', u'e'), + (0x1D439, 'M', u'f'), + (0x1D43A, 'M', u'g'), + (0x1D43B, 'M', u'h'), + (0x1D43C, 'M', u'i'), + (0x1D43D, 'M', u'j'), + (0x1D43E, 'M', u'k'), + (0x1D43F, 'M', u'l'), + (0x1D440, 'M', u'm'), + (0x1D441, 'M', u'n'), + (0x1D442, 'M', u'o'), + (0x1D443, 'M', u'p'), + (0x1D444, 'M', u'q'), + (0x1D445, 'M', u'r'), + (0x1D446, 'M', u's'), + (0x1D447, 'M', u't'), + (0x1D448, 'M', u'u'), + (0x1D449, 'M', u'v'), + (0x1D44A, 'M', u'w'), + (0x1D44B, 'M', u'x'), + (0x1D44C, 'M', u'y'), + (0x1D44D, 'M', u'z'), + (0x1D44E, 'M', u'a'), + (0x1D44F, 'M', u'b'), + (0x1D450, 'M', u'c'), + (0x1D451, 'M', u'd'), + (0x1D452, 'M', u'e'), + (0x1D453, 'M', u'f'), + (0x1D454, 'M', u'g'), + (0x1D455, 'X'), + (0x1D456, 'M', u'i'), + (0x1D457, 'M', u'j'), + (0x1D458, 'M', u'k'), + (0x1D459, 'M', u'l'), + (0x1D45A, 'M', u'm'), + (0x1D45B, 'M', u'n'), + (0x1D45C, 'M', u'o'), + ] + +def _seg_59(): + return [ + (0x1D45D, 'M', u'p'), + (0x1D45E, 'M', u'q'), + (0x1D45F, 'M', u'r'), + (0x1D460, 'M', u's'), + (0x1D461, 'M', u't'), + (0x1D462, 'M', u'u'), + (0x1D463, 'M', u'v'), + (0x1D464, 'M', u'w'), + (0x1D465, 'M', u'x'), + (0x1D466, 'M', u'y'), + (0x1D467, 'M', u'z'), + (0x1D468, 'M', u'a'), + (0x1D469, 'M', u'b'), + (0x1D46A, 'M', u'c'), + (0x1D46B, 'M', u'd'), + (0x1D46C, 'M', u'e'), + (0x1D46D, 'M', u'f'), + (0x1D46E, 'M', u'g'), + (0x1D46F, 'M', u'h'), + (0x1D470, 'M', u'i'), + (0x1D471, 'M', u'j'), + (0x1D472, 'M', u'k'), + (0x1D473, 'M', u'l'), + (0x1D474, 'M', u'm'), + (0x1D475, 'M', u'n'), + (0x1D476, 'M', u'o'), + (0x1D477, 'M', u'p'), + (0x1D478, 'M', u'q'), + (0x1D479, 'M', u'r'), + (0x1D47A, 'M', u's'), + (0x1D47B, 'M', u't'), + (0x1D47C, 'M', u'u'), + (0x1D47D, 'M', u'v'), + (0x1D47E, 'M', u'w'), + (0x1D47F, 'M', u'x'), + (0x1D480, 'M', u'y'), + (0x1D481, 'M', u'z'), + (0x1D482, 'M', u'a'), + (0x1D483, 'M', u'b'), + (0x1D484, 'M', u'c'), + (0x1D485, 'M', u'd'), + (0x1D486, 'M', u'e'), + (0x1D487, 'M', u'f'), + (0x1D488, 'M', u'g'), + (0x1D489, 'M', u'h'), + (0x1D48A, 'M', u'i'), + (0x1D48B, 'M', u'j'), + (0x1D48C, 'M', u'k'), + (0x1D48D, 'M', u'l'), + (0x1D48E, 'M', u'm'), + (0x1D48F, 'M', u'n'), + (0x1D490, 'M', u'o'), + (0x1D491, 'M', u'p'), + (0x1D492, 'M', u'q'), + (0x1D493, 'M', u'r'), + (0x1D494, 'M', u's'), + (0x1D495, 'M', u't'), + (0x1D496, 'M', u'u'), + (0x1D497, 'M', u'v'), + (0x1D498, 'M', u'w'), + (0x1D499, 'M', u'x'), + (0x1D49A, 'M', u'y'), + (0x1D49B, 'M', u'z'), + (0x1D49C, 'M', u'a'), + (0x1D49D, 'X'), + (0x1D49E, 'M', u'c'), + (0x1D49F, 'M', u'd'), + (0x1D4A0, 'X'), + (0x1D4A2, 'M', u'g'), + (0x1D4A3, 'X'), + (0x1D4A5, 'M', u'j'), + (0x1D4A6, 'M', u'k'), + (0x1D4A7, 'X'), + (0x1D4A9, 'M', u'n'), + (0x1D4AA, 'M', u'o'), + (0x1D4AB, 'M', u'p'), + (0x1D4AC, 'M', u'q'), + (0x1D4AD, 'X'), + (0x1D4AE, 'M', u's'), + (0x1D4AF, 'M', u't'), + (0x1D4B0, 'M', u'u'), + (0x1D4B1, 'M', u'v'), + (0x1D4B2, 'M', u'w'), + (0x1D4B3, 'M', u'x'), + (0x1D4B4, 'M', u'y'), + (0x1D4B5, 'M', u'z'), + (0x1D4B6, 'M', u'a'), + (0x1D4B7, 'M', u'b'), + (0x1D4B8, 'M', u'c'), + (0x1D4B9, 'M', u'd'), + (0x1D4BA, 'X'), + (0x1D4BB, 'M', u'f'), + (0x1D4BC, 'X'), + (0x1D4BD, 'M', u'h'), + (0x1D4BE, 'M', u'i'), + (0x1D4BF, 'M', u'j'), + (0x1D4C0, 'M', u'k'), + (0x1D4C1, 'M', u'l'), + (0x1D4C2, 'M', u'm'), + (0x1D4C3, 'M', u'n'), + ] + +def _seg_60(): + return [ + (0x1D4C4, 'X'), + (0x1D4C5, 'M', u'p'), + (0x1D4C6, 'M', u'q'), + (0x1D4C7, 'M', u'r'), + (0x1D4C8, 'M', u's'), + (0x1D4C9, 'M', u't'), + (0x1D4CA, 'M', u'u'), + (0x1D4CB, 'M', u'v'), + (0x1D4CC, 'M', u'w'), + (0x1D4CD, 'M', u'x'), + (0x1D4CE, 'M', u'y'), + (0x1D4CF, 'M', u'z'), + (0x1D4D0, 'M', u'a'), + (0x1D4D1, 'M', u'b'), + (0x1D4D2, 'M', u'c'), + (0x1D4D3, 'M', u'd'), + (0x1D4D4, 'M', u'e'), + (0x1D4D5, 'M', u'f'), + (0x1D4D6, 'M', u'g'), + (0x1D4D7, 'M', u'h'), + (0x1D4D8, 'M', u'i'), + (0x1D4D9, 'M', u'j'), + (0x1D4DA, 'M', u'k'), + (0x1D4DB, 'M', u'l'), + (0x1D4DC, 'M', u'm'), + (0x1D4DD, 'M', u'n'), + (0x1D4DE, 'M', u'o'), + (0x1D4DF, 'M', u'p'), + (0x1D4E0, 'M', u'q'), + (0x1D4E1, 'M', u'r'), + (0x1D4E2, 'M', u's'), + (0x1D4E3, 'M', u't'), + (0x1D4E4, 'M', u'u'), + (0x1D4E5, 'M', u'v'), + (0x1D4E6, 'M', u'w'), + (0x1D4E7, 'M', u'x'), + (0x1D4E8, 'M', u'y'), + (0x1D4E9, 'M', u'z'), + (0x1D4EA, 'M', u'a'), + (0x1D4EB, 'M', u'b'), + (0x1D4EC, 'M', u'c'), + (0x1D4ED, 'M', u'd'), + (0x1D4EE, 'M', u'e'), + (0x1D4EF, 'M', u'f'), + (0x1D4F0, 'M', u'g'), + (0x1D4F1, 'M', u'h'), + (0x1D4F2, 'M', u'i'), + (0x1D4F3, 'M', u'j'), + (0x1D4F4, 'M', u'k'), + (0x1D4F5, 'M', u'l'), + (0x1D4F6, 'M', u'm'), + (0x1D4F7, 'M', u'n'), + (0x1D4F8, 'M', u'o'), + (0x1D4F9, 'M', u'p'), + (0x1D4FA, 'M', u'q'), + (0x1D4FB, 'M', u'r'), + (0x1D4FC, 'M', u's'), + (0x1D4FD, 'M', u't'), + (0x1D4FE, 'M', u'u'), + (0x1D4FF, 'M', u'v'), + (0x1D500, 'M', u'w'), + (0x1D501, 'M', u'x'), + (0x1D502, 'M', u'y'), + (0x1D503, 'M', u'z'), + (0x1D504, 'M', u'a'), + (0x1D505, 'M', u'b'), + (0x1D506, 'X'), + (0x1D507, 'M', u'd'), + (0x1D508, 'M', u'e'), + (0x1D509, 'M', u'f'), + (0x1D50A, 'M', u'g'), + (0x1D50B, 'X'), + (0x1D50D, 'M', u'j'), + (0x1D50E, 'M', u'k'), + (0x1D50F, 'M', u'l'), + (0x1D510, 'M', u'm'), + (0x1D511, 'M', u'n'), + (0x1D512, 'M', u'o'), + (0x1D513, 'M', u'p'), + (0x1D514, 'M', u'q'), + (0x1D515, 'X'), + (0x1D516, 'M', u's'), + (0x1D517, 'M', u't'), + (0x1D518, 'M', u'u'), + (0x1D519, 'M', u'v'), + (0x1D51A, 'M', u'w'), + (0x1D51B, 'M', u'x'), + (0x1D51C, 'M', u'y'), + (0x1D51D, 'X'), + (0x1D51E, 'M', u'a'), + (0x1D51F, 'M', u'b'), + (0x1D520, 'M', u'c'), + (0x1D521, 'M', u'd'), + (0x1D522, 'M', u'e'), + (0x1D523, 'M', u'f'), + (0x1D524, 'M', u'g'), + (0x1D525, 'M', u'h'), + (0x1D526, 'M', u'i'), + (0x1D527, 'M', u'j'), + (0x1D528, 'M', u'k'), + ] + +def _seg_61(): + return [ + (0x1D529, 'M', u'l'), + (0x1D52A, 'M', u'm'), + (0x1D52B, 'M', u'n'), + (0x1D52C, 'M', u'o'), + (0x1D52D, 'M', u'p'), + (0x1D52E, 'M', u'q'), + (0x1D52F, 'M', u'r'), + (0x1D530, 'M', u's'), + (0x1D531, 'M', u't'), + (0x1D532, 'M', u'u'), + (0x1D533, 'M', u'v'), + (0x1D534, 'M', u'w'), + (0x1D535, 'M', u'x'), + (0x1D536, 'M', u'y'), + (0x1D537, 'M', u'z'), + (0x1D538, 'M', u'a'), + (0x1D539, 'M', u'b'), + (0x1D53A, 'X'), + (0x1D53B, 'M', u'd'), + (0x1D53C, 'M', u'e'), + (0x1D53D, 'M', u'f'), + (0x1D53E, 'M', u'g'), + (0x1D53F, 'X'), + (0x1D540, 'M', u'i'), + (0x1D541, 'M', u'j'), + (0x1D542, 'M', u'k'), + (0x1D543, 'M', u'l'), + (0x1D544, 'M', u'm'), + (0x1D545, 'X'), + (0x1D546, 'M', u'o'), + (0x1D547, 'X'), + (0x1D54A, 'M', u's'), + (0x1D54B, 'M', u't'), + (0x1D54C, 'M', u'u'), + (0x1D54D, 'M', u'v'), + (0x1D54E, 'M', u'w'), + (0x1D54F, 'M', u'x'), + (0x1D550, 'M', u'y'), + (0x1D551, 'X'), + (0x1D552, 'M', u'a'), + (0x1D553, 'M', u'b'), + (0x1D554, 'M', u'c'), + (0x1D555, 'M', u'd'), + (0x1D556, 'M', u'e'), + (0x1D557, 'M', u'f'), + (0x1D558, 'M', u'g'), + (0x1D559, 'M', u'h'), + (0x1D55A, 'M', u'i'), + (0x1D55B, 'M', u'j'), + (0x1D55C, 'M', u'k'), + (0x1D55D, 'M', u'l'), + (0x1D55E, 'M', u'm'), + (0x1D55F, 'M', u'n'), + (0x1D560, 'M', u'o'), + (0x1D561, 'M', u'p'), + (0x1D562, 'M', u'q'), + (0x1D563, 'M', u'r'), + (0x1D564, 'M', u's'), + (0x1D565, 'M', u't'), + (0x1D566, 'M', u'u'), + (0x1D567, 'M', u'v'), + (0x1D568, 'M', u'w'), + (0x1D569, 'M', u'x'), + (0x1D56A, 'M', u'y'), + (0x1D56B, 'M', u'z'), + (0x1D56C, 'M', u'a'), + (0x1D56D, 'M', u'b'), + (0x1D56E, 'M', u'c'), + (0x1D56F, 'M', u'd'), + (0x1D570, 'M', u'e'), + (0x1D571, 'M', u'f'), + (0x1D572, 'M', u'g'), + (0x1D573, 'M', u'h'), + (0x1D574, 'M', u'i'), + (0x1D575, 'M', u'j'), + (0x1D576, 'M', u'k'), + (0x1D577, 'M', u'l'), + (0x1D578, 'M', u'm'), + (0x1D579, 'M', u'n'), + (0x1D57A, 'M', u'o'), + (0x1D57B, 'M', u'p'), + (0x1D57C, 'M', u'q'), + (0x1D57D, 'M', u'r'), + (0x1D57E, 'M', u's'), + (0x1D57F, 'M', u't'), + (0x1D580, 'M', u'u'), + (0x1D581, 'M', u'v'), + (0x1D582, 'M', u'w'), + (0x1D583, 'M', u'x'), + (0x1D584, 'M', u'y'), + (0x1D585, 'M', u'z'), + (0x1D586, 'M', u'a'), + (0x1D587, 'M', u'b'), + (0x1D588, 'M', u'c'), + (0x1D589, 'M', u'd'), + (0x1D58A, 'M', u'e'), + (0x1D58B, 'M', u'f'), + (0x1D58C, 'M', u'g'), + (0x1D58D, 'M', u'h'), + (0x1D58E, 'M', u'i'), + ] + +def _seg_62(): + return [ + (0x1D58F, 'M', u'j'), + (0x1D590, 'M', u'k'), + (0x1D591, 'M', u'l'), + (0x1D592, 'M', u'm'), + (0x1D593, 'M', u'n'), + (0x1D594, 'M', u'o'), + (0x1D595, 'M', u'p'), + (0x1D596, 'M', u'q'), + (0x1D597, 'M', u'r'), + (0x1D598, 'M', u's'), + (0x1D599, 'M', u't'), + (0x1D59A, 'M', u'u'), + (0x1D59B, 'M', u'v'), + (0x1D59C, 'M', u'w'), + (0x1D59D, 'M', u'x'), + (0x1D59E, 'M', u'y'), + (0x1D59F, 'M', u'z'), + (0x1D5A0, 'M', u'a'), + (0x1D5A1, 'M', u'b'), + (0x1D5A2, 'M', u'c'), + (0x1D5A3, 'M', u'd'), + (0x1D5A4, 'M', u'e'), + (0x1D5A5, 'M', u'f'), + (0x1D5A6, 'M', u'g'), + (0x1D5A7, 'M', u'h'), + (0x1D5A8, 'M', u'i'), + (0x1D5A9, 'M', u'j'), + (0x1D5AA, 'M', u'k'), + (0x1D5AB, 'M', u'l'), + (0x1D5AC, 'M', u'm'), + (0x1D5AD, 'M', u'n'), + (0x1D5AE, 'M', u'o'), + (0x1D5AF, 'M', u'p'), + (0x1D5B0, 'M', u'q'), + (0x1D5B1, 'M', u'r'), + (0x1D5B2, 'M', u's'), + (0x1D5B3, 'M', u't'), + (0x1D5B4, 'M', u'u'), + (0x1D5B5, 'M', u'v'), + (0x1D5B6, 'M', u'w'), + (0x1D5B7, 'M', u'x'), + (0x1D5B8, 'M', u'y'), + (0x1D5B9, 'M', u'z'), + (0x1D5BA, 'M', u'a'), + (0x1D5BB, 'M', u'b'), + (0x1D5BC, 'M', u'c'), + (0x1D5BD, 'M', u'd'), + (0x1D5BE, 'M', u'e'), + (0x1D5BF, 'M', u'f'), + (0x1D5C0, 'M', u'g'), + (0x1D5C1, 'M', u'h'), + (0x1D5C2, 'M', u'i'), + (0x1D5C3, 'M', u'j'), + (0x1D5C4, 'M', u'k'), + (0x1D5C5, 'M', u'l'), + (0x1D5C6, 'M', u'm'), + (0x1D5C7, 'M', u'n'), + (0x1D5C8, 'M', u'o'), + (0x1D5C9, 'M', u'p'), + (0x1D5CA, 'M', u'q'), + (0x1D5CB, 'M', u'r'), + (0x1D5CC, 'M', u's'), + (0x1D5CD, 'M', u't'), + (0x1D5CE, 'M', u'u'), + (0x1D5CF, 'M', u'v'), + (0x1D5D0, 'M', u'w'), + (0x1D5D1, 'M', u'x'), + (0x1D5D2, 'M', u'y'), + (0x1D5D3, 'M', u'z'), + (0x1D5D4, 'M', u'a'), + (0x1D5D5, 'M', u'b'), + (0x1D5D6, 'M', u'c'), + (0x1D5D7, 'M', u'd'), + (0x1D5D8, 'M', u'e'), + (0x1D5D9, 'M', u'f'), + (0x1D5DA, 'M', u'g'), + (0x1D5DB, 'M', u'h'), + (0x1D5DC, 'M', u'i'), + (0x1D5DD, 'M', u'j'), + (0x1D5DE, 'M', u'k'), + (0x1D5DF, 'M', u'l'), + (0x1D5E0, 'M', u'm'), + (0x1D5E1, 'M', u'n'), + (0x1D5E2, 'M', u'o'), + (0x1D5E3, 'M', u'p'), + (0x1D5E4, 'M', u'q'), + (0x1D5E5, 'M', u'r'), + (0x1D5E6, 'M', u's'), + (0x1D5E7, 'M', u't'), + (0x1D5E8, 'M', u'u'), + (0x1D5E9, 'M', u'v'), + (0x1D5EA, 'M', u'w'), + (0x1D5EB, 'M', u'x'), + (0x1D5EC, 'M', u'y'), + (0x1D5ED, 'M', u'z'), + (0x1D5EE, 'M', u'a'), + (0x1D5EF, 'M', u'b'), + (0x1D5F0, 'M', u'c'), + (0x1D5F1, 'M', u'd'), + (0x1D5F2, 'M', u'e'), + ] + +def _seg_63(): + return [ + (0x1D5F3, 'M', u'f'), + (0x1D5F4, 'M', u'g'), + (0x1D5F5, 'M', u'h'), + (0x1D5F6, 'M', u'i'), + (0x1D5F7, 'M', u'j'), + (0x1D5F8, 'M', u'k'), + (0x1D5F9, 'M', u'l'), + (0x1D5FA, 'M', u'm'), + (0x1D5FB, 'M', u'n'), + (0x1D5FC, 'M', u'o'), + (0x1D5FD, 'M', u'p'), + (0x1D5FE, 'M', u'q'), + (0x1D5FF, 'M', u'r'), + (0x1D600, 'M', u's'), + (0x1D601, 'M', u't'), + (0x1D602, 'M', u'u'), + (0x1D603, 'M', u'v'), + (0x1D604, 'M', u'w'), + (0x1D605, 'M', u'x'), + (0x1D606, 'M', u'y'), + (0x1D607, 'M', u'z'), + (0x1D608, 'M', u'a'), + (0x1D609, 'M', u'b'), + (0x1D60A, 'M', u'c'), + (0x1D60B, 'M', u'd'), + (0x1D60C, 'M', u'e'), + (0x1D60D, 'M', u'f'), + (0x1D60E, 'M', u'g'), + (0x1D60F, 'M', u'h'), + (0x1D610, 'M', u'i'), + (0x1D611, 'M', u'j'), + (0x1D612, 'M', u'k'), + (0x1D613, 'M', u'l'), + (0x1D614, 'M', u'm'), + (0x1D615, 'M', u'n'), + (0x1D616, 'M', u'o'), + (0x1D617, 'M', u'p'), + (0x1D618, 'M', u'q'), + (0x1D619, 'M', u'r'), + (0x1D61A, 'M', u's'), + (0x1D61B, 'M', u't'), + (0x1D61C, 'M', u'u'), + (0x1D61D, 'M', u'v'), + (0x1D61E, 'M', u'w'), + (0x1D61F, 'M', u'x'), + (0x1D620, 'M', u'y'), + (0x1D621, 'M', u'z'), + (0x1D622, 'M', u'a'), + (0x1D623, 'M', u'b'), + (0x1D624, 'M', u'c'), + (0x1D625, 'M', u'd'), + (0x1D626, 'M', u'e'), + (0x1D627, 'M', u'f'), + (0x1D628, 'M', u'g'), + (0x1D629, 'M', u'h'), + (0x1D62A, 'M', u'i'), + (0x1D62B, 'M', u'j'), + (0x1D62C, 'M', u'k'), + (0x1D62D, 'M', u'l'), + (0x1D62E, 'M', u'm'), + (0x1D62F, 'M', u'n'), + (0x1D630, 'M', u'o'), + (0x1D631, 'M', u'p'), + (0x1D632, 'M', u'q'), + (0x1D633, 'M', u'r'), + (0x1D634, 'M', u's'), + (0x1D635, 'M', u't'), + (0x1D636, 'M', u'u'), + (0x1D637, 'M', u'v'), + (0x1D638, 'M', u'w'), + (0x1D639, 'M', u'x'), + (0x1D63A, 'M', u'y'), + (0x1D63B, 'M', u'z'), + (0x1D63C, 'M', u'a'), + (0x1D63D, 'M', u'b'), + (0x1D63E, 'M', u'c'), + (0x1D63F, 'M', u'd'), + (0x1D640, 'M', u'e'), + (0x1D641, 'M', u'f'), + (0x1D642, 'M', u'g'), + (0x1D643, 'M', u'h'), + (0x1D644, 'M', u'i'), + (0x1D645, 'M', u'j'), + (0x1D646, 'M', u'k'), + (0x1D647, 'M', u'l'), + (0x1D648, 'M', u'm'), + (0x1D649, 'M', u'n'), + (0x1D64A, 'M', u'o'), + (0x1D64B, 'M', u'p'), + (0x1D64C, 'M', u'q'), + (0x1D64D, 'M', u'r'), + (0x1D64E, 'M', u's'), + (0x1D64F, 'M', u't'), + (0x1D650, 'M', u'u'), + (0x1D651, 'M', u'v'), + (0x1D652, 'M', u'w'), + (0x1D653, 'M', u'x'), + (0x1D654, 'M', u'y'), + (0x1D655, 'M', u'z'), + (0x1D656, 'M', u'a'), + ] + +def _seg_64(): + return [ + (0x1D657, 'M', u'b'), + (0x1D658, 'M', u'c'), + (0x1D659, 'M', u'd'), + (0x1D65A, 'M', u'e'), + (0x1D65B, 'M', u'f'), + (0x1D65C, 'M', u'g'), + (0x1D65D, 'M', u'h'), + (0x1D65E, 'M', u'i'), + (0x1D65F, 'M', u'j'), + (0x1D660, 'M', u'k'), + (0x1D661, 'M', u'l'), + (0x1D662, 'M', u'm'), + (0x1D663, 'M', u'n'), + (0x1D664, 'M', u'o'), + (0x1D665, 'M', u'p'), + (0x1D666, 'M', u'q'), + (0x1D667, 'M', u'r'), + (0x1D668, 'M', u's'), + (0x1D669, 'M', u't'), + (0x1D66A, 'M', u'u'), + (0x1D66B, 'M', u'v'), + (0x1D66C, 'M', u'w'), + (0x1D66D, 'M', u'x'), + (0x1D66E, 'M', u'y'), + (0x1D66F, 'M', u'z'), + (0x1D670, 'M', u'a'), + (0x1D671, 'M', u'b'), + (0x1D672, 'M', u'c'), + (0x1D673, 'M', u'd'), + (0x1D674, 'M', u'e'), + (0x1D675, 'M', u'f'), + (0x1D676, 'M', u'g'), + (0x1D677, 'M', u'h'), + (0x1D678, 'M', u'i'), + (0x1D679, 'M', u'j'), + (0x1D67A, 'M', u'k'), + (0x1D67B, 'M', u'l'), + (0x1D67C, 'M', u'm'), + (0x1D67D, 'M', u'n'), + (0x1D67E, 'M', u'o'), + (0x1D67F, 'M', u'p'), + (0x1D680, 'M', u'q'), + (0x1D681, 'M', u'r'), + (0x1D682, 'M', u's'), + (0x1D683, 'M', u't'), + (0x1D684, 'M', u'u'), + (0x1D685, 'M', u'v'), + (0x1D686, 'M', u'w'), + (0x1D687, 'M', u'x'), + (0x1D688, 'M', u'y'), + (0x1D689, 'M', u'z'), + (0x1D68A, 'M', u'a'), + (0x1D68B, 'M', u'b'), + (0x1D68C, 'M', u'c'), + (0x1D68D, 'M', u'd'), + (0x1D68E, 'M', u'e'), + (0x1D68F, 'M', u'f'), + (0x1D690, 'M', u'g'), + (0x1D691, 'M', u'h'), + (0x1D692, 'M', u'i'), + (0x1D693, 'M', u'j'), + (0x1D694, 'M', u'k'), + (0x1D695, 'M', u'l'), + (0x1D696, 'M', u'm'), + (0x1D697, 'M', u'n'), + (0x1D698, 'M', u'o'), + (0x1D699, 'M', u'p'), + (0x1D69A, 'M', u'q'), + (0x1D69B, 'M', u'r'), + (0x1D69C, 'M', u's'), + (0x1D69D, 'M', u't'), + (0x1D69E, 'M', u'u'), + (0x1D69F, 'M', u'v'), + (0x1D6A0, 'M', u'w'), + (0x1D6A1, 'M', u'x'), + (0x1D6A2, 'M', u'y'), + (0x1D6A3, 'M', u'z'), + (0x1D6A4, 'M', u'ı'), + (0x1D6A5, 'M', u'ȷ'), + (0x1D6A6, 'X'), + (0x1D6A8, 'M', u'α'), + (0x1D6A9, 'M', u'β'), + (0x1D6AA, 'M', u'γ'), + (0x1D6AB, 'M', u'δ'), + (0x1D6AC, 'M', u'ε'), + (0x1D6AD, 'M', u'ζ'), + (0x1D6AE, 'M', u'η'), + (0x1D6AF, 'M', u'θ'), + (0x1D6B0, 'M', u'ι'), + (0x1D6B1, 'M', u'κ'), + (0x1D6B2, 'M', u'λ'), + (0x1D6B3, 'M', u'μ'), + (0x1D6B4, 'M', u'ν'), + (0x1D6B5, 'M', u'ξ'), + (0x1D6B6, 'M', u'ο'), + (0x1D6B7, 'M', u'π'), + (0x1D6B8, 'M', u'ρ'), + (0x1D6B9, 'M', u'θ'), + (0x1D6BA, 'M', u'σ'), + (0x1D6BB, 'M', u'τ'), + ] + +def _seg_65(): + return [ + (0x1D6BC, 'M', u'υ'), + (0x1D6BD, 'M', u'φ'), + (0x1D6BE, 'M', u'χ'), + (0x1D6BF, 'M', u'ψ'), + (0x1D6C0, 'M', u'ω'), + (0x1D6C1, 'M', u'∇'), + (0x1D6C2, 'M', u'α'), + (0x1D6C3, 'M', u'β'), + (0x1D6C4, 'M', u'γ'), + (0x1D6C5, 'M', u'δ'), + (0x1D6C6, 'M', u'ε'), + (0x1D6C7, 'M', u'ζ'), + (0x1D6C8, 'M', u'η'), + (0x1D6C9, 'M', u'θ'), + (0x1D6CA, 'M', u'ι'), + (0x1D6CB, 'M', u'κ'), + (0x1D6CC, 'M', u'λ'), + (0x1D6CD, 'M', u'μ'), + (0x1D6CE, 'M', u'ν'), + (0x1D6CF, 'M', u'ξ'), + (0x1D6D0, 'M', u'ο'), + (0x1D6D1, 'M', u'π'), + (0x1D6D2, 'M', u'ρ'), + (0x1D6D3, 'M', u'σ'), + (0x1D6D5, 'M', u'τ'), + (0x1D6D6, 'M', u'υ'), + (0x1D6D7, 'M', u'φ'), + (0x1D6D8, 'M', u'χ'), + (0x1D6D9, 'M', u'ψ'), + (0x1D6DA, 'M', u'ω'), + (0x1D6DB, 'M', u'∂'), + (0x1D6DC, 'M', u'ε'), + (0x1D6DD, 'M', u'θ'), + (0x1D6DE, 'M', u'κ'), + (0x1D6DF, 'M', u'φ'), + (0x1D6E0, 'M', u'ρ'), + (0x1D6E1, 'M', u'π'), + (0x1D6E2, 'M', u'α'), + (0x1D6E3, 'M', u'β'), + (0x1D6E4, 'M', u'γ'), + (0x1D6E5, 'M', u'δ'), + (0x1D6E6, 'M', u'ε'), + (0x1D6E7, 'M', u'ζ'), + (0x1D6E8, 'M', u'η'), + (0x1D6E9, 'M', u'θ'), + (0x1D6EA, 'M', u'ι'), + (0x1D6EB, 'M', u'κ'), + (0x1D6EC, 'M', u'λ'), + (0x1D6ED, 'M', u'μ'), + (0x1D6EE, 'M', u'ν'), + (0x1D6EF, 'M', u'ξ'), + (0x1D6F0, 'M', u'ο'), + (0x1D6F1, 'M', u'π'), + (0x1D6F2, 'M', u'ρ'), + (0x1D6F3, 'M', u'θ'), + (0x1D6F4, 'M', u'σ'), + (0x1D6F5, 'M', u'τ'), + (0x1D6F6, 'M', u'υ'), + (0x1D6F7, 'M', u'φ'), + (0x1D6F8, 'M', u'χ'), + (0x1D6F9, 'M', u'ψ'), + (0x1D6FA, 'M', u'ω'), + (0x1D6FB, 'M', u'∇'), + (0x1D6FC, 'M', u'α'), + (0x1D6FD, 'M', u'β'), + (0x1D6FE, 'M', u'γ'), + (0x1D6FF, 'M', u'δ'), + (0x1D700, 'M', u'ε'), + (0x1D701, 'M', u'ζ'), + (0x1D702, 'M', u'η'), + (0x1D703, 'M', u'θ'), + (0x1D704, 'M', u'ι'), + (0x1D705, 'M', u'κ'), + (0x1D706, 'M', u'λ'), + (0x1D707, 'M', u'μ'), + (0x1D708, 'M', u'ν'), + (0x1D709, 'M', u'ξ'), + (0x1D70A, 'M', u'ο'), + (0x1D70B, 'M', u'π'), + (0x1D70C, 'M', u'ρ'), + (0x1D70D, 'M', u'σ'), + (0x1D70F, 'M', u'τ'), + (0x1D710, 'M', u'υ'), + (0x1D711, 'M', u'φ'), + (0x1D712, 'M', u'χ'), + (0x1D713, 'M', u'ψ'), + (0x1D714, 'M', u'ω'), + (0x1D715, 'M', u'∂'), + (0x1D716, 'M', u'ε'), + (0x1D717, 'M', u'θ'), + (0x1D718, 'M', u'κ'), + (0x1D719, 'M', u'φ'), + (0x1D71A, 'M', u'ρ'), + (0x1D71B, 'M', u'π'), + (0x1D71C, 'M', u'α'), + (0x1D71D, 'M', u'β'), + (0x1D71E, 'M', u'γ'), + (0x1D71F, 'M', u'δ'), + (0x1D720, 'M', u'ε'), + (0x1D721, 'M', u'ζ'), + ] + +def _seg_66(): + return [ + (0x1D722, 'M', u'η'), + (0x1D723, 'M', u'θ'), + (0x1D724, 'M', u'ι'), + (0x1D725, 'M', u'κ'), + (0x1D726, 'M', u'λ'), + (0x1D727, 'M', u'μ'), + (0x1D728, 'M', u'ν'), + (0x1D729, 'M', u'ξ'), + (0x1D72A, 'M', u'ο'), + (0x1D72B, 'M', u'π'), + (0x1D72C, 'M', u'ρ'), + (0x1D72D, 'M', u'θ'), + (0x1D72E, 'M', u'σ'), + (0x1D72F, 'M', u'τ'), + (0x1D730, 'M', u'υ'), + (0x1D731, 'M', u'φ'), + (0x1D732, 'M', u'χ'), + (0x1D733, 'M', u'ψ'), + (0x1D734, 'M', u'ω'), + (0x1D735, 'M', u'∇'), + (0x1D736, 'M', u'α'), + (0x1D737, 'M', u'β'), + (0x1D738, 'M', u'γ'), + (0x1D739, 'M', u'δ'), + (0x1D73A, 'M', u'ε'), + (0x1D73B, 'M', u'ζ'), + (0x1D73C, 'M', u'η'), + (0x1D73D, 'M', u'θ'), + (0x1D73E, 'M', u'ι'), + (0x1D73F, 'M', u'κ'), + (0x1D740, 'M', u'λ'), + (0x1D741, 'M', u'μ'), + (0x1D742, 'M', u'ν'), + (0x1D743, 'M', u'ξ'), + (0x1D744, 'M', u'ο'), + (0x1D745, 'M', u'π'), + (0x1D746, 'M', u'ρ'), + (0x1D747, 'M', u'σ'), + (0x1D749, 'M', u'τ'), + (0x1D74A, 'M', u'υ'), + (0x1D74B, 'M', u'φ'), + (0x1D74C, 'M', u'χ'), + (0x1D74D, 'M', u'ψ'), + (0x1D74E, 'M', u'ω'), + (0x1D74F, 'M', u'∂'), + (0x1D750, 'M', u'ε'), + (0x1D751, 'M', u'θ'), + (0x1D752, 'M', u'κ'), + (0x1D753, 'M', u'φ'), + (0x1D754, 'M', u'ρ'), + (0x1D755, 'M', u'π'), + (0x1D756, 'M', u'α'), + (0x1D757, 'M', u'β'), + (0x1D758, 'M', u'γ'), + (0x1D759, 'M', u'δ'), + (0x1D75A, 'M', u'ε'), + (0x1D75B, 'M', u'ζ'), + (0x1D75C, 'M', u'η'), + (0x1D75D, 'M', u'θ'), + (0x1D75E, 'M', u'ι'), + (0x1D75F, 'M', u'κ'), + (0x1D760, 'M', u'λ'), + (0x1D761, 'M', u'μ'), + (0x1D762, 'M', u'ν'), + (0x1D763, 'M', u'ξ'), + (0x1D764, 'M', u'ο'), + (0x1D765, 'M', u'π'), + (0x1D766, 'M', u'ρ'), + (0x1D767, 'M', u'θ'), + (0x1D768, 'M', u'σ'), + (0x1D769, 'M', u'τ'), + (0x1D76A, 'M', u'υ'), + (0x1D76B, 'M', u'φ'), + (0x1D76C, 'M', u'χ'), + (0x1D76D, 'M', u'ψ'), + (0x1D76E, 'M', u'ω'), + (0x1D76F, 'M', u'∇'), + (0x1D770, 'M', u'α'), + (0x1D771, 'M', u'β'), + (0x1D772, 'M', u'γ'), + (0x1D773, 'M', u'δ'), + (0x1D774, 'M', u'ε'), + (0x1D775, 'M', u'ζ'), + (0x1D776, 'M', u'η'), + (0x1D777, 'M', u'θ'), + (0x1D778, 'M', u'ι'), + (0x1D779, 'M', u'κ'), + (0x1D77A, 'M', u'λ'), + (0x1D77B, 'M', u'μ'), + (0x1D77C, 'M', u'ν'), + (0x1D77D, 'M', u'ξ'), + (0x1D77E, 'M', u'ο'), + (0x1D77F, 'M', u'π'), + (0x1D780, 'M', u'ρ'), + (0x1D781, 'M', u'σ'), + (0x1D783, 'M', u'τ'), + (0x1D784, 'M', u'υ'), + (0x1D785, 'M', u'φ'), + (0x1D786, 'M', u'χ'), + (0x1D787, 'M', u'ψ'), + ] + +def _seg_67(): + return [ + (0x1D788, 'M', u'ω'), + (0x1D789, 'M', u'∂'), + (0x1D78A, 'M', u'ε'), + (0x1D78B, 'M', u'θ'), + (0x1D78C, 'M', u'κ'), + (0x1D78D, 'M', u'φ'), + (0x1D78E, 'M', u'ρ'), + (0x1D78F, 'M', u'π'), + (0x1D790, 'M', u'α'), + (0x1D791, 'M', u'β'), + (0x1D792, 'M', u'γ'), + (0x1D793, 'M', u'δ'), + (0x1D794, 'M', u'ε'), + (0x1D795, 'M', u'ζ'), + (0x1D796, 'M', u'η'), + (0x1D797, 'M', u'θ'), + (0x1D798, 'M', u'ι'), + (0x1D799, 'M', u'κ'), + (0x1D79A, 'M', u'λ'), + (0x1D79B, 'M', u'μ'), + (0x1D79C, 'M', u'ν'), + (0x1D79D, 'M', u'ξ'), + (0x1D79E, 'M', u'ο'), + (0x1D79F, 'M', u'π'), + (0x1D7A0, 'M', u'ρ'), + (0x1D7A1, 'M', u'θ'), + (0x1D7A2, 'M', u'σ'), + (0x1D7A3, 'M', u'τ'), + (0x1D7A4, 'M', u'υ'), + (0x1D7A5, 'M', u'φ'), + (0x1D7A6, 'M', u'χ'), + (0x1D7A7, 'M', u'ψ'), + (0x1D7A8, 'M', u'ω'), + (0x1D7A9, 'M', u'∇'), + (0x1D7AA, 'M', u'α'), + (0x1D7AB, 'M', u'β'), + (0x1D7AC, 'M', u'γ'), + (0x1D7AD, 'M', u'δ'), + (0x1D7AE, 'M', u'ε'), + (0x1D7AF, 'M', u'ζ'), + (0x1D7B0, 'M', u'η'), + (0x1D7B1, 'M', u'θ'), + (0x1D7B2, 'M', u'ι'), + (0x1D7B3, 'M', u'κ'), + (0x1D7B4, 'M', u'λ'), + (0x1D7B5, 'M', u'μ'), + (0x1D7B6, 'M', u'ν'), + (0x1D7B7, 'M', u'ξ'), + (0x1D7B8, 'M', u'ο'), + (0x1D7B9, 'M', u'π'), + (0x1D7BA, 'M', u'ρ'), + (0x1D7BB, 'M', u'σ'), + (0x1D7BD, 'M', u'τ'), + (0x1D7BE, 'M', u'υ'), + (0x1D7BF, 'M', u'φ'), + (0x1D7C0, 'M', u'χ'), + (0x1D7C1, 'M', u'ψ'), + (0x1D7C2, 'M', u'ω'), + (0x1D7C3, 'M', u'∂'), + (0x1D7C4, 'M', u'ε'), + (0x1D7C5, 'M', u'θ'), + (0x1D7C6, 'M', u'κ'), + (0x1D7C7, 'M', u'φ'), + (0x1D7C8, 'M', u'ρ'), + (0x1D7C9, 'M', u'π'), + (0x1D7CA, 'M', u'ϝ'), + (0x1D7CC, 'X'), + (0x1D7CE, 'M', u'0'), + (0x1D7CF, 'M', u'1'), + (0x1D7D0, 'M', u'2'), + (0x1D7D1, 'M', u'3'), + (0x1D7D2, 'M', u'4'), + (0x1D7D3, 'M', u'5'), + (0x1D7D4, 'M', u'6'), + (0x1D7D5, 'M', u'7'), + (0x1D7D6, 'M', u'8'), + (0x1D7D7, 'M', u'9'), + (0x1D7D8, 'M', u'0'), + (0x1D7D9, 'M', u'1'), + (0x1D7DA, 'M', u'2'), + (0x1D7DB, 'M', u'3'), + (0x1D7DC, 'M', u'4'), + (0x1D7DD, 'M', u'5'), + (0x1D7DE, 'M', u'6'), + (0x1D7DF, 'M', u'7'), + (0x1D7E0, 'M', u'8'), + (0x1D7E1, 'M', u'9'), + (0x1D7E2, 'M', u'0'), + (0x1D7E3, 'M', u'1'), + (0x1D7E4, 'M', u'2'), + (0x1D7E5, 'M', u'3'), + (0x1D7E6, 'M', u'4'), + (0x1D7E7, 'M', u'5'), + (0x1D7E8, 'M', u'6'), + (0x1D7E9, 'M', u'7'), + (0x1D7EA, 'M', u'8'), + (0x1D7EB, 'M', u'9'), + (0x1D7EC, 'M', u'0'), + (0x1D7ED, 'M', u'1'), + (0x1D7EE, 'M', u'2'), + ] + +def _seg_68(): + return [ + (0x1D7EF, 'M', u'3'), + (0x1D7F0, 'M', u'4'), + (0x1D7F1, 'M', u'5'), + (0x1D7F2, 'M', u'6'), + (0x1D7F3, 'M', u'7'), + (0x1D7F4, 'M', u'8'), + (0x1D7F5, 'M', u'9'), + (0x1D7F6, 'M', u'0'), + (0x1D7F7, 'M', u'1'), + (0x1D7F8, 'M', u'2'), + (0x1D7F9, 'M', u'3'), + (0x1D7FA, 'M', u'4'), + (0x1D7FB, 'M', u'5'), + (0x1D7FC, 'M', u'6'), + (0x1D7FD, 'M', u'7'), + (0x1D7FE, 'M', u'8'), + (0x1D7FF, 'M', u'9'), + (0x1D800, 'V'), + (0x1DA8C, 'X'), + (0x1DA9B, 'V'), + (0x1DAA0, 'X'), + (0x1DAA1, 'V'), + (0x1DAB0, 'X'), + (0x1E000, 'V'), + (0x1E007, 'X'), + (0x1E008, 'V'), + (0x1E019, 'X'), + (0x1E01B, 'V'), + (0x1E022, 'X'), + (0x1E023, 'V'), + (0x1E025, 'X'), + (0x1E026, 'V'), + (0x1E02B, 'X'), + (0x1E800, 'V'), + (0x1E8C5, 'X'), + (0x1E8C7, 'V'), + (0x1E8D7, 'X'), + (0x1E900, 'M', u'𞤢'), + (0x1E901, 'M', u'𞤣'), + (0x1E902, 'M', u'𞤤'), + (0x1E903, 'M', u'𞤥'), + (0x1E904, 'M', u'𞤦'), + (0x1E905, 'M', u'𞤧'), + (0x1E906, 'M', u'𞤨'), + (0x1E907, 'M', u'𞤩'), + (0x1E908, 'M', u'𞤪'), + (0x1E909, 'M', u'𞤫'), + (0x1E90A, 'M', u'𞤬'), + (0x1E90B, 'M', u'𞤭'), + (0x1E90C, 'M', u'𞤮'), + (0x1E90D, 'M', u'𞤯'), + (0x1E90E, 'M', u'𞤰'), + (0x1E90F, 'M', u'𞤱'), + (0x1E910, 'M', u'𞤲'), + (0x1E911, 'M', u'𞤳'), + (0x1E912, 'M', u'𞤴'), + (0x1E913, 'M', u'𞤵'), + (0x1E914, 'M', u'𞤶'), + (0x1E915, 'M', u'𞤷'), + (0x1E916, 'M', u'𞤸'), + (0x1E917, 'M', u'𞤹'), + (0x1E918, 'M', u'𞤺'), + (0x1E919, 'M', u'𞤻'), + (0x1E91A, 'M', u'𞤼'), + (0x1E91B, 'M', u'𞤽'), + (0x1E91C, 'M', u'𞤾'), + (0x1E91D, 'M', u'𞤿'), + (0x1E91E, 'M', u'𞥀'), + (0x1E91F, 'M', u'𞥁'), + (0x1E920, 'M', u'𞥂'), + (0x1E921, 'M', u'𞥃'), + (0x1E922, 'V'), + (0x1E94B, 'X'), + (0x1E950, 'V'), + (0x1E95A, 'X'), + (0x1E95E, 'V'), + (0x1E960, 'X'), + (0x1EC71, 'V'), + (0x1ECB5, 'X'), + (0x1EE00, 'M', u'ا'), + (0x1EE01, 'M', u'ب'), + (0x1EE02, 'M', u'ج'), + (0x1EE03, 'M', u'د'), + (0x1EE04, 'X'), + (0x1EE05, 'M', u'و'), + (0x1EE06, 'M', u'ز'), + (0x1EE07, 'M', u'ح'), + (0x1EE08, 'M', u'ط'), + (0x1EE09, 'M', u'ي'), + (0x1EE0A, 'M', u'ك'), + (0x1EE0B, 'M', u'ل'), + (0x1EE0C, 'M', u'م'), + (0x1EE0D, 'M', u'ن'), + (0x1EE0E, 'M', u'س'), + (0x1EE0F, 'M', u'ع'), + (0x1EE10, 'M', u'ف'), + (0x1EE11, 'M', u'ص'), + (0x1EE12, 'M', u'ق'), + (0x1EE13, 'M', u'ر'), + (0x1EE14, 'M', u'ش'), + ] + +def _seg_69(): + return [ + (0x1EE15, 'M', u'ت'), + (0x1EE16, 'M', u'ث'), + (0x1EE17, 'M', u'خ'), + (0x1EE18, 'M', u'ذ'), + (0x1EE19, 'M', u'ض'), + (0x1EE1A, 'M', u'ظ'), + (0x1EE1B, 'M', u'غ'), + (0x1EE1C, 'M', u'ٮ'), + (0x1EE1D, 'M', u'ں'), + (0x1EE1E, 'M', u'ڡ'), + (0x1EE1F, 'M', u'ٯ'), + (0x1EE20, 'X'), + (0x1EE21, 'M', u'ب'), + (0x1EE22, 'M', u'ج'), + (0x1EE23, 'X'), + (0x1EE24, 'M', u'ه'), + (0x1EE25, 'X'), + (0x1EE27, 'M', u'ح'), + (0x1EE28, 'X'), + (0x1EE29, 'M', u'ي'), + (0x1EE2A, 'M', u'ك'), + (0x1EE2B, 'M', u'ل'), + (0x1EE2C, 'M', u'م'), + (0x1EE2D, 'M', u'ن'), + (0x1EE2E, 'M', u'س'), + (0x1EE2F, 'M', u'ع'), + (0x1EE30, 'M', u'ف'), + (0x1EE31, 'M', u'ص'), + (0x1EE32, 'M', u'ق'), + (0x1EE33, 'X'), + (0x1EE34, 'M', u'ش'), + (0x1EE35, 'M', u'ت'), + (0x1EE36, 'M', u'ث'), + (0x1EE37, 'M', u'خ'), + (0x1EE38, 'X'), + (0x1EE39, 'M', u'ض'), + (0x1EE3A, 'X'), + (0x1EE3B, 'M', u'غ'), + (0x1EE3C, 'X'), + (0x1EE42, 'M', u'ج'), + (0x1EE43, 'X'), + (0x1EE47, 'M', u'ح'), + (0x1EE48, 'X'), + (0x1EE49, 'M', u'ي'), + (0x1EE4A, 'X'), + (0x1EE4B, 'M', u'ل'), + (0x1EE4C, 'X'), + (0x1EE4D, 'M', u'ن'), + (0x1EE4E, 'M', u'س'), + (0x1EE4F, 'M', u'ع'), + (0x1EE50, 'X'), + (0x1EE51, 'M', u'ص'), + (0x1EE52, 'M', u'ق'), + (0x1EE53, 'X'), + (0x1EE54, 'M', u'ش'), + (0x1EE55, 'X'), + (0x1EE57, 'M', u'خ'), + (0x1EE58, 'X'), + (0x1EE59, 'M', u'ض'), + (0x1EE5A, 'X'), + (0x1EE5B, 'M', u'غ'), + (0x1EE5C, 'X'), + (0x1EE5D, 'M', u'ں'), + (0x1EE5E, 'X'), + (0x1EE5F, 'M', u'ٯ'), + (0x1EE60, 'X'), + (0x1EE61, 'M', u'ب'), + (0x1EE62, 'M', u'ج'), + (0x1EE63, 'X'), + (0x1EE64, 'M', u'ه'), + (0x1EE65, 'X'), + (0x1EE67, 'M', u'ح'), + (0x1EE68, 'M', u'ط'), + (0x1EE69, 'M', u'ي'), + (0x1EE6A, 'M', u'ك'), + (0x1EE6B, 'X'), + (0x1EE6C, 'M', u'م'), + (0x1EE6D, 'M', u'ن'), + (0x1EE6E, 'M', u'س'), + (0x1EE6F, 'M', u'ع'), + (0x1EE70, 'M', u'ف'), + (0x1EE71, 'M', u'ص'), + (0x1EE72, 'M', u'ق'), + (0x1EE73, 'X'), + (0x1EE74, 'M', u'ش'), + (0x1EE75, 'M', u'ت'), + (0x1EE76, 'M', u'ث'), + (0x1EE77, 'M', u'خ'), + (0x1EE78, 'X'), + (0x1EE79, 'M', u'ض'), + (0x1EE7A, 'M', u'ظ'), + (0x1EE7B, 'M', u'غ'), + (0x1EE7C, 'M', u'ٮ'), + (0x1EE7D, 'X'), + (0x1EE7E, 'M', u'ڡ'), + (0x1EE7F, 'X'), + (0x1EE80, 'M', u'ا'), + (0x1EE81, 'M', u'ب'), + (0x1EE82, 'M', u'ج'), + (0x1EE83, 'M', u'د'), + ] + +def _seg_70(): + return [ + (0x1EE84, 'M', u'ه'), + (0x1EE85, 'M', u'و'), + (0x1EE86, 'M', u'ز'), + (0x1EE87, 'M', u'ح'), + (0x1EE88, 'M', u'ط'), + (0x1EE89, 'M', u'ي'), + (0x1EE8A, 'X'), + (0x1EE8B, 'M', u'ل'), + (0x1EE8C, 'M', u'م'), + (0x1EE8D, 'M', u'ن'), + (0x1EE8E, 'M', u'س'), + (0x1EE8F, 'M', u'ع'), + (0x1EE90, 'M', u'ف'), + (0x1EE91, 'M', u'ص'), + (0x1EE92, 'M', u'ق'), + (0x1EE93, 'M', u'ر'), + (0x1EE94, 'M', u'ش'), + (0x1EE95, 'M', u'ت'), + (0x1EE96, 'M', u'ث'), + (0x1EE97, 'M', u'خ'), + (0x1EE98, 'M', u'ذ'), + (0x1EE99, 'M', u'ض'), + (0x1EE9A, 'M', u'ظ'), + (0x1EE9B, 'M', u'غ'), + (0x1EE9C, 'X'), + (0x1EEA1, 'M', u'ب'), + (0x1EEA2, 'M', u'ج'), + (0x1EEA3, 'M', u'د'), + (0x1EEA4, 'X'), + (0x1EEA5, 'M', u'و'), + (0x1EEA6, 'M', u'ز'), + (0x1EEA7, 'M', u'ح'), + (0x1EEA8, 'M', u'ط'), + (0x1EEA9, 'M', u'ي'), + (0x1EEAA, 'X'), + (0x1EEAB, 'M', u'ل'), + (0x1EEAC, 'M', u'م'), + (0x1EEAD, 'M', u'ن'), + (0x1EEAE, 'M', u'س'), + (0x1EEAF, 'M', u'ع'), + (0x1EEB0, 'M', u'ف'), + (0x1EEB1, 'M', u'ص'), + (0x1EEB2, 'M', u'ق'), + (0x1EEB3, 'M', u'ر'), + (0x1EEB4, 'M', u'ش'), + (0x1EEB5, 'M', u'ت'), + (0x1EEB6, 'M', u'ث'), + (0x1EEB7, 'M', u'خ'), + (0x1EEB8, 'M', u'ذ'), + (0x1EEB9, 'M', u'ض'), + (0x1EEBA, 'M', u'ظ'), + (0x1EEBB, 'M', u'غ'), + (0x1EEBC, 'X'), + (0x1EEF0, 'V'), + (0x1EEF2, 'X'), + (0x1F000, 'V'), + (0x1F02C, 'X'), + (0x1F030, 'V'), + (0x1F094, 'X'), + (0x1F0A0, 'V'), + (0x1F0AF, 'X'), + (0x1F0B1, 'V'), + (0x1F0C0, 'X'), + (0x1F0C1, 'V'), + (0x1F0D0, 'X'), + (0x1F0D1, 'V'), + (0x1F0F6, 'X'), + (0x1F101, '3', u'0,'), + (0x1F102, '3', u'1,'), + (0x1F103, '3', u'2,'), + (0x1F104, '3', u'3,'), + (0x1F105, '3', u'4,'), + (0x1F106, '3', u'5,'), + (0x1F107, '3', u'6,'), + (0x1F108, '3', u'7,'), + (0x1F109, '3', u'8,'), + (0x1F10A, '3', u'9,'), + (0x1F10B, 'V'), + (0x1F10D, 'X'), + (0x1F110, '3', u'(a)'), + (0x1F111, '3', u'(b)'), + (0x1F112, '3', u'(c)'), + (0x1F113, '3', u'(d)'), + (0x1F114, '3', u'(e)'), + (0x1F115, '3', u'(f)'), + (0x1F116, '3', u'(g)'), + (0x1F117, '3', u'(h)'), + (0x1F118, '3', u'(i)'), + (0x1F119, '3', u'(j)'), + (0x1F11A, '3', u'(k)'), + (0x1F11B, '3', u'(l)'), + (0x1F11C, '3', u'(m)'), + (0x1F11D, '3', u'(n)'), + (0x1F11E, '3', u'(o)'), + (0x1F11F, '3', u'(p)'), + (0x1F120, '3', u'(q)'), + (0x1F121, '3', u'(r)'), + (0x1F122, '3', u'(s)'), + (0x1F123, '3', u'(t)'), + (0x1F124, '3', u'(u)'), + ] + +def _seg_71(): + return [ + (0x1F125, '3', u'(v)'), + (0x1F126, '3', u'(w)'), + (0x1F127, '3', u'(x)'), + (0x1F128, '3', u'(y)'), + (0x1F129, '3', u'(z)'), + (0x1F12A, 'M', u'〔s〕'), + (0x1F12B, 'M', u'c'), + (0x1F12C, 'M', u'r'), + (0x1F12D, 'M', u'cd'), + (0x1F12E, 'M', u'wz'), + (0x1F12F, 'V'), + (0x1F130, 'M', u'a'), + (0x1F131, 'M', u'b'), + (0x1F132, 'M', u'c'), + (0x1F133, 'M', u'd'), + (0x1F134, 'M', u'e'), + (0x1F135, 'M', u'f'), + (0x1F136, 'M', u'g'), + (0x1F137, 'M', u'h'), + (0x1F138, 'M', u'i'), + (0x1F139, 'M', u'j'), + (0x1F13A, 'M', u'k'), + (0x1F13B, 'M', u'l'), + (0x1F13C, 'M', u'm'), + (0x1F13D, 'M', u'n'), + (0x1F13E, 'M', u'o'), + (0x1F13F, 'M', u'p'), + (0x1F140, 'M', u'q'), + (0x1F141, 'M', u'r'), + (0x1F142, 'M', u's'), + (0x1F143, 'M', u't'), + (0x1F144, 'M', u'u'), + (0x1F145, 'M', u'v'), + (0x1F146, 'M', u'w'), + (0x1F147, 'M', u'x'), + (0x1F148, 'M', u'y'), + (0x1F149, 'M', u'z'), + (0x1F14A, 'M', u'hv'), + (0x1F14B, 'M', u'mv'), + (0x1F14C, 'M', u'sd'), + (0x1F14D, 'M', u'ss'), + (0x1F14E, 'M', u'ppv'), + (0x1F14F, 'M', u'wc'), + (0x1F150, 'V'), + (0x1F16A, 'M', u'mc'), + (0x1F16B, 'M', u'md'), + (0x1F16C, 'X'), + (0x1F170, 'V'), + (0x1F190, 'M', u'dj'), + (0x1F191, 'V'), + (0x1F1AD, 'X'), + (0x1F1E6, 'V'), + (0x1F200, 'M', u'ほか'), + (0x1F201, 'M', u'ココ'), + (0x1F202, 'M', u'サ'), + (0x1F203, 'X'), + (0x1F210, 'M', u'手'), + (0x1F211, 'M', u'字'), + (0x1F212, 'M', u'双'), + (0x1F213, 'M', u'デ'), + (0x1F214, 'M', u'二'), + (0x1F215, 'M', u'多'), + (0x1F216, 'M', u'解'), + (0x1F217, 'M', u'天'), + (0x1F218, 'M', u'交'), + (0x1F219, 'M', u'映'), + (0x1F21A, 'M', u'無'), + (0x1F21B, 'M', u'料'), + (0x1F21C, 'M', u'前'), + (0x1F21D, 'M', u'後'), + (0x1F21E, 'M', u'再'), + (0x1F21F, 'M', u'新'), + (0x1F220, 'M', u'初'), + (0x1F221, 'M', u'終'), + (0x1F222, 'M', u'生'), + (0x1F223, 'M', u'販'), + (0x1F224, 'M', u'声'), + (0x1F225, 'M', u'吹'), + (0x1F226, 'M', u'演'), + (0x1F227, 'M', u'投'), + (0x1F228, 'M', u'捕'), + (0x1F229, 'M', u'一'), + (0x1F22A, 'M', u'三'), + (0x1F22B, 'M', u'遊'), + (0x1F22C, 'M', u'左'), + (0x1F22D, 'M', u'中'), + (0x1F22E, 'M', u'右'), + (0x1F22F, 'M', u'指'), + (0x1F230, 'M', u'走'), + (0x1F231, 'M', u'打'), + (0x1F232, 'M', u'禁'), + (0x1F233, 'M', u'空'), + (0x1F234, 'M', u'合'), + (0x1F235, 'M', u'満'), + (0x1F236, 'M', u'有'), + (0x1F237, 'M', u'月'), + (0x1F238, 'M', u'申'), + (0x1F239, 'M', u'割'), + (0x1F23A, 'M', u'営'), + (0x1F23B, 'M', u'配'), + ] + +def _seg_72(): + return [ + (0x1F23C, 'X'), + (0x1F240, 'M', u'〔本〕'), + (0x1F241, 'M', u'〔三〕'), + (0x1F242, 'M', u'〔二〕'), + (0x1F243, 'M', u'〔安〕'), + (0x1F244, 'M', u'〔点〕'), + (0x1F245, 'M', u'〔打〕'), + (0x1F246, 'M', u'〔盗〕'), + (0x1F247, 'M', u'〔勝〕'), + (0x1F248, 'M', u'〔敗〕'), + (0x1F249, 'X'), + (0x1F250, 'M', u'得'), + (0x1F251, 'M', u'可'), + (0x1F252, 'X'), + (0x1F260, 'V'), + (0x1F266, 'X'), + (0x1F300, 'V'), + (0x1F6D5, 'X'), + (0x1F6E0, 'V'), + (0x1F6ED, 'X'), + (0x1F6F0, 'V'), + (0x1F6FA, 'X'), + (0x1F700, 'V'), + (0x1F774, 'X'), + (0x1F780, 'V'), + (0x1F7D9, 'X'), + (0x1F800, 'V'), + (0x1F80C, 'X'), + (0x1F810, 'V'), + (0x1F848, 'X'), + (0x1F850, 'V'), + (0x1F85A, 'X'), + (0x1F860, 'V'), + (0x1F888, 'X'), + (0x1F890, 'V'), + (0x1F8AE, 'X'), + (0x1F900, 'V'), + (0x1F90C, 'X'), + (0x1F910, 'V'), + (0x1F93F, 'X'), + (0x1F940, 'V'), + (0x1F971, 'X'), + (0x1F973, 'V'), + (0x1F977, 'X'), + (0x1F97A, 'V'), + (0x1F97B, 'X'), + (0x1F97C, 'V'), + (0x1F9A3, 'X'), + (0x1F9B0, 'V'), + (0x1F9BA, 'X'), + (0x1F9C0, 'V'), + (0x1F9C3, 'X'), + (0x1F9D0, 'V'), + (0x1FA00, 'X'), + (0x1FA60, 'V'), + (0x1FA6E, 'X'), + (0x20000, 'V'), + (0x2A6D7, 'X'), + (0x2A700, 'V'), + (0x2B735, 'X'), + (0x2B740, 'V'), + (0x2B81E, 'X'), + (0x2B820, 'V'), + (0x2CEA2, 'X'), + (0x2CEB0, 'V'), + (0x2EBE1, 'X'), + (0x2F800, 'M', u'丽'), + (0x2F801, 'M', u'丸'), + (0x2F802, 'M', u'乁'), + (0x2F803, 'M', u'𠄢'), + (0x2F804, 'M', u'你'), + (0x2F805, 'M', u'侮'), + (0x2F806, 'M', u'侻'), + (0x2F807, 'M', u'倂'), + (0x2F808, 'M', u'偺'), + (0x2F809, 'M', u'備'), + (0x2F80A, 'M', u'僧'), + (0x2F80B, 'M', u'像'), + (0x2F80C, 'M', u'㒞'), + (0x2F80D, 'M', u'𠘺'), + (0x2F80E, 'M', u'免'), + (0x2F80F, 'M', u'兔'), + (0x2F810, 'M', u'兤'), + (0x2F811, 'M', u'具'), + (0x2F812, 'M', u'𠔜'), + (0x2F813, 'M', u'㒹'), + (0x2F814, 'M', u'內'), + (0x2F815, 'M', u'再'), + (0x2F816, 'M', u'𠕋'), + (0x2F817, 'M', u'冗'), + (0x2F818, 'M', u'冤'), + (0x2F819, 'M', u'仌'), + (0x2F81A, 'M', u'冬'), + (0x2F81B, 'M', u'况'), + (0x2F81C, 'M', u'𩇟'), + (0x2F81D, 'M', u'凵'), + (0x2F81E, 'M', u'刃'), + (0x2F81F, 'M', u'㓟'), + (0x2F820, 'M', u'刻'), + (0x2F821, 'M', u'剆'), + ] + +def _seg_73(): + return [ + (0x2F822, 'M', u'割'), + (0x2F823, 'M', u'剷'), + (0x2F824, 'M', u'㔕'), + (0x2F825, 'M', u'勇'), + (0x2F826, 'M', u'勉'), + (0x2F827, 'M', u'勤'), + (0x2F828, 'M', u'勺'), + (0x2F829, 'M', u'包'), + (0x2F82A, 'M', u'匆'), + (0x2F82B, 'M', u'北'), + (0x2F82C, 'M', u'卉'), + (0x2F82D, 'M', u'卑'), + (0x2F82E, 'M', u'博'), + (0x2F82F, 'M', u'即'), + (0x2F830, 'M', u'卽'), + (0x2F831, 'M', u'卿'), + (0x2F834, 'M', u'𠨬'), + (0x2F835, 'M', u'灰'), + (0x2F836, 'M', u'及'), + (0x2F837, 'M', u'叟'), + (0x2F838, 'M', u'𠭣'), + (0x2F839, 'M', u'叫'), + (0x2F83A, 'M', u'叱'), + (0x2F83B, 'M', u'吆'), + (0x2F83C, 'M', u'咞'), + (0x2F83D, 'M', u'吸'), + (0x2F83E, 'M', u'呈'), + (0x2F83F, 'M', u'周'), + (0x2F840, 'M', u'咢'), + (0x2F841, 'M', u'哶'), + (0x2F842, 'M', u'唐'), + (0x2F843, 'M', u'啓'), + (0x2F844, 'M', u'啣'), + (0x2F845, 'M', u'善'), + (0x2F847, 'M', u'喙'), + (0x2F848, 'M', u'喫'), + (0x2F849, 'M', u'喳'), + (0x2F84A, 'M', u'嗂'), + (0x2F84B, 'M', u'圖'), + (0x2F84C, 'M', u'嘆'), + (0x2F84D, 'M', u'圗'), + (0x2F84E, 'M', u'噑'), + (0x2F84F, 'M', u'噴'), + (0x2F850, 'M', u'切'), + (0x2F851, 'M', u'壮'), + (0x2F852, 'M', u'城'), + (0x2F853, 'M', u'埴'), + (0x2F854, 'M', u'堍'), + (0x2F855, 'M', u'型'), + (0x2F856, 'M', u'堲'), + (0x2F857, 'M', u'報'), + (0x2F858, 'M', u'墬'), + (0x2F859, 'M', u'𡓤'), + (0x2F85A, 'M', u'売'), + (0x2F85B, 'M', u'壷'), + (0x2F85C, 'M', u'夆'), + (0x2F85D, 'M', u'多'), + (0x2F85E, 'M', u'夢'), + (0x2F85F, 'M', u'奢'), + (0x2F860, 'M', u'𡚨'), + (0x2F861, 'M', u'𡛪'), + (0x2F862, 'M', u'姬'), + (0x2F863, 'M', u'娛'), + (0x2F864, 'M', u'娧'), + (0x2F865, 'M', u'姘'), + (0x2F866, 'M', u'婦'), + (0x2F867, 'M', u'㛮'), + (0x2F868, 'X'), + (0x2F869, 'M', u'嬈'), + (0x2F86A, 'M', u'嬾'), + (0x2F86C, 'M', u'𡧈'), + (0x2F86D, 'M', u'寃'), + (0x2F86E, 'M', u'寘'), + (0x2F86F, 'M', u'寧'), + (0x2F870, 'M', u'寳'), + (0x2F871, 'M', u'𡬘'), + (0x2F872, 'M', u'寿'), + (0x2F873, 'M', u'将'), + (0x2F874, 'X'), + (0x2F875, 'M', u'尢'), + (0x2F876, 'M', u'㞁'), + (0x2F877, 'M', u'屠'), + (0x2F878, 'M', u'屮'), + (0x2F879, 'M', u'峀'), + (0x2F87A, 'M', u'岍'), + (0x2F87B, 'M', u'𡷤'), + (0x2F87C, 'M', u'嵃'), + (0x2F87D, 'M', u'𡷦'), + (0x2F87E, 'M', u'嵮'), + (0x2F87F, 'M', u'嵫'), + (0x2F880, 'M', u'嵼'), + (0x2F881, 'M', u'巡'), + (0x2F882, 'M', u'巢'), + (0x2F883, 'M', u'㠯'), + (0x2F884, 'M', u'巽'), + (0x2F885, 'M', u'帨'), + (0x2F886, 'M', u'帽'), + (0x2F887, 'M', u'幩'), + (0x2F888, 'M', u'㡢'), + (0x2F889, 'M', u'𢆃'), + ] + +def _seg_74(): + return [ + (0x2F88A, 'M', u'㡼'), + (0x2F88B, 'M', u'庰'), + (0x2F88C, 'M', u'庳'), + (0x2F88D, 'M', u'庶'), + (0x2F88E, 'M', u'廊'), + (0x2F88F, 'M', u'𪎒'), + (0x2F890, 'M', u'廾'), + (0x2F891, 'M', u'𢌱'), + (0x2F893, 'M', u'舁'), + (0x2F894, 'M', u'弢'), + (0x2F896, 'M', u'㣇'), + (0x2F897, 'M', u'𣊸'), + (0x2F898, 'M', u'𦇚'), + (0x2F899, 'M', u'形'), + (0x2F89A, 'M', u'彫'), + (0x2F89B, 'M', u'㣣'), + (0x2F89C, 'M', u'徚'), + (0x2F89D, 'M', u'忍'), + (0x2F89E, 'M', u'志'), + (0x2F89F, 'M', u'忹'), + (0x2F8A0, 'M', u'悁'), + (0x2F8A1, 'M', u'㤺'), + (0x2F8A2, 'M', u'㤜'), + (0x2F8A3, 'M', u'悔'), + (0x2F8A4, 'M', u'𢛔'), + (0x2F8A5, 'M', u'惇'), + (0x2F8A6, 'M', u'慈'), + (0x2F8A7, 'M', u'慌'), + (0x2F8A8, 'M', u'慎'), + (0x2F8A9, 'M', u'慌'), + (0x2F8AA, 'M', u'慺'), + (0x2F8AB, 'M', u'憎'), + (0x2F8AC, 'M', u'憲'), + (0x2F8AD, 'M', u'憤'), + (0x2F8AE, 'M', u'憯'), + (0x2F8AF, 'M', u'懞'), + (0x2F8B0, 'M', u'懲'), + (0x2F8B1, 'M', u'懶'), + (0x2F8B2, 'M', u'成'), + (0x2F8B3, 'M', u'戛'), + (0x2F8B4, 'M', u'扝'), + (0x2F8B5, 'M', u'抱'), + (0x2F8B6, 'M', u'拔'), + (0x2F8B7, 'M', u'捐'), + (0x2F8B8, 'M', u'𢬌'), + (0x2F8B9, 'M', u'挽'), + (0x2F8BA, 'M', u'拼'), + (0x2F8BB, 'M', u'捨'), + (0x2F8BC, 'M', u'掃'), + (0x2F8BD, 'M', u'揤'), + (0x2F8BE, 'M', u'𢯱'), + (0x2F8BF, 'M', u'搢'), + (0x2F8C0, 'M', u'揅'), + (0x2F8C1, 'M', u'掩'), + (0x2F8C2, 'M', u'㨮'), + (0x2F8C3, 'M', u'摩'), + (0x2F8C4, 'M', u'摾'), + (0x2F8C5, 'M', u'撝'), + (0x2F8C6, 'M', u'摷'), + (0x2F8C7, 'M', u'㩬'), + (0x2F8C8, 'M', u'敏'), + (0x2F8C9, 'M', u'敬'), + (0x2F8CA, 'M', u'𣀊'), + (0x2F8CB, 'M', u'旣'), + (0x2F8CC, 'M', u'書'), + (0x2F8CD, 'M', u'晉'), + (0x2F8CE, 'M', u'㬙'), + (0x2F8CF, 'M', u'暑'), + (0x2F8D0, 'M', u'㬈'), + (0x2F8D1, 'M', u'㫤'), + (0x2F8D2, 'M', u'冒'), + (0x2F8D3, 'M', u'冕'), + (0x2F8D4, 'M', u'最'), + (0x2F8D5, 'M', u'暜'), + (0x2F8D6, 'M', u'肭'), + (0x2F8D7, 'M', u'䏙'), + (0x2F8D8, 'M', u'朗'), + (0x2F8D9, 'M', u'望'), + (0x2F8DA, 'M', u'朡'), + (0x2F8DB, 'M', u'杞'), + (0x2F8DC, 'M', u'杓'), + (0x2F8DD, 'M', u'𣏃'), + (0x2F8DE, 'M', u'㭉'), + (0x2F8DF, 'M', u'柺'), + (0x2F8E0, 'M', u'枅'), + (0x2F8E1, 'M', u'桒'), + (0x2F8E2, 'M', u'梅'), + (0x2F8E3, 'M', u'𣑭'), + (0x2F8E4, 'M', u'梎'), + (0x2F8E5, 'M', u'栟'), + (0x2F8E6, 'M', u'椔'), + (0x2F8E7, 'M', u'㮝'), + (0x2F8E8, 'M', u'楂'), + (0x2F8E9, 'M', u'榣'), + (0x2F8EA, 'M', u'槪'), + (0x2F8EB, 'M', u'檨'), + (0x2F8EC, 'M', u'𣚣'), + (0x2F8ED, 'M', u'櫛'), + (0x2F8EE, 'M', u'㰘'), + (0x2F8EF, 'M', u'次'), + ] + +def _seg_75(): + return [ + (0x2F8F0, 'M', u'𣢧'), + (0x2F8F1, 'M', u'歔'), + (0x2F8F2, 'M', u'㱎'), + (0x2F8F3, 'M', u'歲'), + (0x2F8F4, 'M', u'殟'), + (0x2F8F5, 'M', u'殺'), + (0x2F8F6, 'M', u'殻'), + (0x2F8F7, 'M', u'𣪍'), + (0x2F8F8, 'M', u'𡴋'), + (0x2F8F9, 'M', u'𣫺'), + (0x2F8FA, 'M', u'汎'), + (0x2F8FB, 'M', u'𣲼'), + (0x2F8FC, 'M', u'沿'), + (0x2F8FD, 'M', u'泍'), + (0x2F8FE, 'M', u'汧'), + (0x2F8FF, 'M', u'洖'), + (0x2F900, 'M', u'派'), + (0x2F901, 'M', u'海'), + (0x2F902, 'M', u'流'), + (0x2F903, 'M', u'浩'), + (0x2F904, 'M', u'浸'), + (0x2F905, 'M', u'涅'), + (0x2F906, 'M', u'𣴞'), + (0x2F907, 'M', u'洴'), + (0x2F908, 'M', u'港'), + (0x2F909, 'M', u'湮'), + (0x2F90A, 'M', u'㴳'), + (0x2F90B, 'M', u'滋'), + (0x2F90C, 'M', u'滇'), + (0x2F90D, 'M', u'𣻑'), + (0x2F90E, 'M', u'淹'), + (0x2F90F, 'M', u'潮'), + (0x2F910, 'M', u'𣽞'), + (0x2F911, 'M', u'𣾎'), + (0x2F912, 'M', u'濆'), + (0x2F913, 'M', u'瀹'), + (0x2F914, 'M', u'瀞'), + (0x2F915, 'M', u'瀛'), + (0x2F916, 'M', u'㶖'), + (0x2F917, 'M', u'灊'), + (0x2F918, 'M', u'災'), + (0x2F919, 'M', u'灷'), + (0x2F91A, 'M', u'炭'), + (0x2F91B, 'M', u'𠔥'), + (0x2F91C, 'M', u'煅'), + (0x2F91D, 'M', u'𤉣'), + (0x2F91E, 'M', u'熜'), + (0x2F91F, 'X'), + (0x2F920, 'M', u'爨'), + (0x2F921, 'M', u'爵'), + (0x2F922, 'M', u'牐'), + (0x2F923, 'M', u'𤘈'), + (0x2F924, 'M', u'犀'), + (0x2F925, 'M', u'犕'), + (0x2F926, 'M', u'𤜵'), + (0x2F927, 'M', u'𤠔'), + (0x2F928, 'M', u'獺'), + (0x2F929, 'M', u'王'), + (0x2F92A, 'M', u'㺬'), + (0x2F92B, 'M', u'玥'), + (0x2F92C, 'M', u'㺸'), + (0x2F92E, 'M', u'瑇'), + (0x2F92F, 'M', u'瑜'), + (0x2F930, 'M', u'瑱'), + (0x2F931, 'M', u'璅'), + (0x2F932, 'M', u'瓊'), + (0x2F933, 'M', u'㼛'), + (0x2F934, 'M', u'甤'), + (0x2F935, 'M', u'𤰶'), + (0x2F936, 'M', u'甾'), + (0x2F937, 'M', u'𤲒'), + (0x2F938, 'M', u'異'), + (0x2F939, 'M', u'𢆟'), + (0x2F93A, 'M', u'瘐'), + (0x2F93B, 'M', u'𤾡'), + (0x2F93C, 'M', u'𤾸'), + (0x2F93D, 'M', u'𥁄'), + (0x2F93E, 'M', u'㿼'), + (0x2F93F, 'M', u'䀈'), + (0x2F940, 'M', u'直'), + (0x2F941, 'M', u'𥃳'), + (0x2F942, 'M', u'𥃲'), + (0x2F943, 'M', u'𥄙'), + (0x2F944, 'M', u'𥄳'), + (0x2F945, 'M', u'眞'), + (0x2F946, 'M', u'真'), + (0x2F948, 'M', u'睊'), + (0x2F949, 'M', u'䀹'), + (0x2F94A, 'M', u'瞋'), + (0x2F94B, 'M', u'䁆'), + (0x2F94C, 'M', u'䂖'), + (0x2F94D, 'M', u'𥐝'), + (0x2F94E, 'M', u'硎'), + (0x2F94F, 'M', u'碌'), + (0x2F950, 'M', u'磌'), + (0x2F951, 'M', u'䃣'), + (0x2F952, 'M', u'𥘦'), + (0x2F953, 'M', u'祖'), + (0x2F954, 'M', u'𥚚'), + (0x2F955, 'M', u'𥛅'), + ] + +def _seg_76(): + return [ + (0x2F956, 'M', u'福'), + (0x2F957, 'M', u'秫'), + (0x2F958, 'M', u'䄯'), + (0x2F959, 'M', u'穀'), + (0x2F95A, 'M', u'穊'), + (0x2F95B, 'M', u'穏'), + (0x2F95C, 'M', u'𥥼'), + (0x2F95D, 'M', u'𥪧'), + (0x2F95F, 'X'), + (0x2F960, 'M', u'䈂'), + (0x2F961, 'M', u'𥮫'), + (0x2F962, 'M', u'篆'), + (0x2F963, 'M', u'築'), + (0x2F964, 'M', u'䈧'), + (0x2F965, 'M', u'𥲀'), + (0x2F966, 'M', u'糒'), + (0x2F967, 'M', u'䊠'), + (0x2F968, 'M', u'糨'), + (0x2F969, 'M', u'糣'), + (0x2F96A, 'M', u'紀'), + (0x2F96B, 'M', u'𥾆'), + (0x2F96C, 'M', u'絣'), + (0x2F96D, 'M', u'䌁'), + (0x2F96E, 'M', u'緇'), + (0x2F96F, 'M', u'縂'), + (0x2F970, 'M', u'繅'), + (0x2F971, 'M', u'䌴'), + (0x2F972, 'M', u'𦈨'), + (0x2F973, 'M', u'𦉇'), + (0x2F974, 'M', u'䍙'), + (0x2F975, 'M', u'𦋙'), + (0x2F976, 'M', u'罺'), + (0x2F977, 'M', u'𦌾'), + (0x2F978, 'M', u'羕'), + (0x2F979, 'M', u'翺'), + (0x2F97A, 'M', u'者'), + (0x2F97B, 'M', u'𦓚'), + (0x2F97C, 'M', u'𦔣'), + (0x2F97D, 'M', u'聠'), + (0x2F97E, 'M', u'𦖨'), + (0x2F97F, 'M', u'聰'), + (0x2F980, 'M', u'𣍟'), + (0x2F981, 'M', u'䏕'), + (0x2F982, 'M', u'育'), + (0x2F983, 'M', u'脃'), + (0x2F984, 'M', u'䐋'), + (0x2F985, 'M', u'脾'), + (0x2F986, 'M', u'媵'), + (0x2F987, 'M', u'𦞧'), + (0x2F988, 'M', u'𦞵'), + (0x2F989, 'M', u'𣎓'), + (0x2F98A, 'M', u'𣎜'), + (0x2F98B, 'M', u'舁'), + (0x2F98C, 'M', u'舄'), + (0x2F98D, 'M', u'辞'), + (0x2F98E, 'M', u'䑫'), + (0x2F98F, 'M', u'芑'), + (0x2F990, 'M', u'芋'), + (0x2F991, 'M', u'芝'), + (0x2F992, 'M', u'劳'), + (0x2F993, 'M', u'花'), + (0x2F994, 'M', u'芳'), + (0x2F995, 'M', u'芽'), + (0x2F996, 'M', u'苦'), + (0x2F997, 'M', u'𦬼'), + (0x2F998, 'M', u'若'), + (0x2F999, 'M', u'茝'), + (0x2F99A, 'M', u'荣'), + (0x2F99B, 'M', u'莭'), + (0x2F99C, 'M', u'茣'), + (0x2F99D, 'M', u'莽'), + (0x2F99E, 'M', u'菧'), + (0x2F99F, 'M', u'著'), + (0x2F9A0, 'M', u'荓'), + (0x2F9A1, 'M', u'菊'), + (0x2F9A2, 'M', u'菌'), + (0x2F9A3, 'M', u'菜'), + (0x2F9A4, 'M', u'𦰶'), + (0x2F9A5, 'M', u'𦵫'), + (0x2F9A6, 'M', u'𦳕'), + (0x2F9A7, 'M', u'䔫'), + (0x2F9A8, 'M', u'蓱'), + (0x2F9A9, 'M', u'蓳'), + (0x2F9AA, 'M', u'蔖'), + (0x2F9AB, 'M', u'𧏊'), + (0x2F9AC, 'M', u'蕤'), + (0x2F9AD, 'M', u'𦼬'), + (0x2F9AE, 'M', u'䕝'), + (0x2F9AF, 'M', u'䕡'), + (0x2F9B0, 'M', u'𦾱'), + (0x2F9B1, 'M', u'𧃒'), + (0x2F9B2, 'M', u'䕫'), + (0x2F9B3, 'M', u'虐'), + (0x2F9B4, 'M', u'虜'), + (0x2F9B5, 'M', u'虧'), + (0x2F9B6, 'M', u'虩'), + (0x2F9B7, 'M', u'蚩'), + (0x2F9B8, 'M', u'蚈'), + (0x2F9B9, 'M', u'蜎'), + (0x2F9BA, 'M', u'蛢'), + ] + +def _seg_77(): + return [ + (0x2F9BB, 'M', u'蝹'), + (0x2F9BC, 'M', u'蜨'), + (0x2F9BD, 'M', u'蝫'), + (0x2F9BE, 'M', u'螆'), + (0x2F9BF, 'X'), + (0x2F9C0, 'M', u'蟡'), + (0x2F9C1, 'M', u'蠁'), + (0x2F9C2, 'M', u'䗹'), + (0x2F9C3, 'M', u'衠'), + (0x2F9C4, 'M', u'衣'), + (0x2F9C5, 'M', u'𧙧'), + (0x2F9C6, 'M', u'裗'), + (0x2F9C7, 'M', u'裞'), + (0x2F9C8, 'M', u'䘵'), + (0x2F9C9, 'M', u'裺'), + (0x2F9CA, 'M', u'㒻'), + (0x2F9CB, 'M', u'𧢮'), + (0x2F9CC, 'M', u'𧥦'), + (0x2F9CD, 'M', u'䚾'), + (0x2F9CE, 'M', u'䛇'), + (0x2F9CF, 'M', u'誠'), + (0x2F9D0, 'M', u'諭'), + (0x2F9D1, 'M', u'變'), + (0x2F9D2, 'M', u'豕'), + (0x2F9D3, 'M', u'𧲨'), + (0x2F9D4, 'M', u'貫'), + (0x2F9D5, 'M', u'賁'), + (0x2F9D6, 'M', u'贛'), + (0x2F9D7, 'M', u'起'), + (0x2F9D8, 'M', u'𧼯'), + (0x2F9D9, 'M', u'𠠄'), + (0x2F9DA, 'M', u'跋'), + (0x2F9DB, 'M', u'趼'), + (0x2F9DC, 'M', u'跰'), + (0x2F9DD, 'M', u'𠣞'), + (0x2F9DE, 'M', u'軔'), + (0x2F9DF, 'M', u'輸'), + (0x2F9E0, 'M', u'𨗒'), + (0x2F9E1, 'M', u'𨗭'), + (0x2F9E2, 'M', u'邔'), + (0x2F9E3, 'M', u'郱'), + (0x2F9E4, 'M', u'鄑'), + (0x2F9E5, 'M', u'𨜮'), + (0x2F9E6, 'M', u'鄛'), + (0x2F9E7, 'M', u'鈸'), + (0x2F9E8, 'M', u'鋗'), + (0x2F9E9, 'M', u'鋘'), + (0x2F9EA, 'M', u'鉼'), + (0x2F9EB, 'M', u'鏹'), + (0x2F9EC, 'M', u'鐕'), + (0x2F9ED, 'M', u'𨯺'), + (0x2F9EE, 'M', u'開'), + (0x2F9EF, 'M', u'䦕'), + (0x2F9F0, 'M', u'閷'), + (0x2F9F1, 'M', u'𨵷'), + (0x2F9F2, 'M', u'䧦'), + (0x2F9F3, 'M', u'雃'), + (0x2F9F4, 'M', u'嶲'), + (0x2F9F5, 'M', u'霣'), + (0x2F9F6, 'M', u'𩅅'), + (0x2F9F7, 'M', u'𩈚'), + (0x2F9F8, 'M', u'䩮'), + (0x2F9F9, 'M', u'䩶'), + (0x2F9FA, 'M', u'韠'), + (0x2F9FB, 'M', u'𩐊'), + (0x2F9FC, 'M', u'䪲'), + (0x2F9FD, 'M', u'𩒖'), + (0x2F9FE, 'M', u'頋'), + (0x2FA00, 'M', u'頩'), + (0x2FA01, 'M', u'𩖶'), + (0x2FA02, 'M', u'飢'), + (0x2FA03, 'M', u'䬳'), + (0x2FA04, 'M', u'餩'), + (0x2FA05, 'M', u'馧'), + (0x2FA06, 'M', u'駂'), + (0x2FA07, 'M', u'駾'), + (0x2FA08, 'M', u'䯎'), + (0x2FA09, 'M', u'𩬰'), + (0x2FA0A, 'M', u'鬒'), + (0x2FA0B, 'M', u'鱀'), + (0x2FA0C, 'M', u'鳽'), + (0x2FA0D, 'M', u'䳎'), + (0x2FA0E, 'M', u'䳭'), + (0x2FA0F, 'M', u'鵧'), + (0x2FA10, 'M', u'𪃎'), + (0x2FA11, 'M', u'䳸'), + (0x2FA12, 'M', u'𪄅'), + (0x2FA13, 'M', u'𪈎'), + (0x2FA14, 'M', u'𪊑'), + (0x2FA15, 'M', u'麻'), + (0x2FA16, 'M', u'䵖'), + (0x2FA17, 'M', u'黹'), + (0x2FA18, 'M', u'黾'), + (0x2FA19, 'M', u'鼅'), + (0x2FA1A, 'M', u'鼏'), + (0x2FA1B, 'M', u'鼖'), + (0x2FA1C, 'M', u'鼻'), + (0x2FA1D, 'M', u'𪘀'), + (0x2FA1E, 'X'), + (0xE0100, 'I'), + ] + +def _seg_78(): + return [ + (0xE01F0, 'X'), + ] + +uts46data = tuple( + _seg_0() + + _seg_1() + + _seg_2() + + _seg_3() + + _seg_4() + + _seg_5() + + _seg_6() + + _seg_7() + + _seg_8() + + _seg_9() + + _seg_10() + + _seg_11() + + _seg_12() + + _seg_13() + + _seg_14() + + _seg_15() + + _seg_16() + + _seg_17() + + _seg_18() + + _seg_19() + + _seg_20() + + _seg_21() + + _seg_22() + + _seg_23() + + _seg_24() + + _seg_25() + + _seg_26() + + _seg_27() + + _seg_28() + + _seg_29() + + _seg_30() + + _seg_31() + + _seg_32() + + _seg_33() + + _seg_34() + + _seg_35() + + _seg_36() + + _seg_37() + + _seg_38() + + _seg_39() + + _seg_40() + + _seg_41() + + _seg_42() + + _seg_43() + + _seg_44() + + _seg_45() + + _seg_46() + + _seg_47() + + _seg_48() + + _seg_49() + + _seg_50() + + _seg_51() + + _seg_52() + + _seg_53() + + _seg_54() + + _seg_55() + + _seg_56() + + _seg_57() + + _seg_58() + + _seg_59() + + _seg_60() + + _seg_61() + + _seg_62() + + _seg_63() + + _seg_64() + + _seg_65() + + _seg_66() + + _seg_67() + + _seg_68() + + _seg_69() + + _seg_70() + + _seg_71() + + _seg_72() + + _seg_73() + + _seg_74() + + _seg_75() + + _seg_76() + + _seg_77() + + _seg_78() +) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/ipaddress.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/ipaddress.py new file mode 100644 index 0000000..f2d0766 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/ipaddress.py @@ -0,0 +1,2419 @@ +# Copyright 2007 Google Inc. +# Licensed to PSF under a Contributor Agreement. + +"""A fast, lightweight IPv4/IPv6 manipulation library in Python. + +This library is used to create/poke/manipulate IPv4 and IPv6 addresses +and networks. + +""" + +from __future__ import unicode_literals + + +import itertools +import struct + +__version__ = '1.0.22' + +# Compatibility functions +_compat_int_types = (int,) +try: + _compat_int_types = (int, long) +except NameError: + pass +try: + _compat_str = unicode +except NameError: + _compat_str = str + assert bytes != str +if b'\0'[0] == 0: # Python 3 semantics + def _compat_bytes_to_byte_vals(byt): + return byt +else: + def _compat_bytes_to_byte_vals(byt): + return [struct.unpack(b'!B', b)[0] for b in byt] +try: + _compat_int_from_byte_vals = int.from_bytes +except AttributeError: + def _compat_int_from_byte_vals(bytvals, endianess): + assert endianess == 'big' + res = 0 + for bv in bytvals: + assert isinstance(bv, _compat_int_types) + res = (res << 8) + bv + return res + + +def _compat_to_bytes(intval, length, endianess): + assert isinstance(intval, _compat_int_types) + assert endianess == 'big' + if length == 4: + if intval < 0 or intval >= 2 ** 32: + raise struct.error("integer out of range for 'I' format code") + return struct.pack(b'!I', intval) + elif length == 16: + if intval < 0 or intval >= 2 ** 128: + raise struct.error("integer out of range for 'QQ' format code") + return struct.pack(b'!QQ', intval >> 64, intval & 0xffffffffffffffff) + else: + raise NotImplementedError() + + +if hasattr(int, 'bit_length'): + # Not int.bit_length , since that won't work in 2.7 where long exists + def _compat_bit_length(i): + return i.bit_length() +else: + def _compat_bit_length(i): + for res in itertools.count(): + if i >> res == 0: + return res + + +def _compat_range(start, end, step=1): + assert step > 0 + i = start + while i < end: + yield i + i += step + + +class _TotalOrderingMixin(object): + __slots__ = () + + # Helper that derives the other comparison operations from + # __lt__ and __eq__ + # We avoid functools.total_ordering because it doesn't handle + # NotImplemented correctly yet (http://bugs.python.org/issue10042) + def __eq__(self, other): + raise NotImplementedError + + def __ne__(self, other): + equal = self.__eq__(other) + if equal is NotImplemented: + return NotImplemented + return not equal + + def __lt__(self, other): + raise NotImplementedError + + def __le__(self, other): + less = self.__lt__(other) + if less is NotImplemented or not less: + return self.__eq__(other) + return less + + def __gt__(self, other): + less = self.__lt__(other) + if less is NotImplemented: + return NotImplemented + equal = self.__eq__(other) + if equal is NotImplemented: + return NotImplemented + return not (less or equal) + + def __ge__(self, other): + less = self.__lt__(other) + if less is NotImplemented: + return NotImplemented + return not less + + +IPV4LENGTH = 32 +IPV6LENGTH = 128 + + +class AddressValueError(ValueError): + """A Value Error related to the address.""" + + +class NetmaskValueError(ValueError): + """A Value Error related to the netmask.""" + + +def ip_address(address): + """Take an IP string/int and return an object of the correct type. + + Args: + address: A string or integer, the IP address. Either IPv4 or + IPv6 addresses may be supplied; integers less than 2**32 will + be considered to be IPv4 by default. + + Returns: + An IPv4Address or IPv6Address object. + + Raises: + ValueError: if the *address* passed isn't either a v4 or a v6 + address + + """ + try: + return IPv4Address(address) + except (AddressValueError, NetmaskValueError): + pass + + try: + return IPv6Address(address) + except (AddressValueError, NetmaskValueError): + pass + + if isinstance(address, bytes): + raise AddressValueError( + '%r does not appear to be an IPv4 or IPv6 address. ' + 'Did you pass in a bytes (str in Python 2) instead of' + ' a unicode object?' % address) + + raise ValueError('%r does not appear to be an IPv4 or IPv6 address' % + address) + + +def ip_network(address, strict=True): + """Take an IP string/int and return an object of the correct type. + + Args: + address: A string or integer, the IP network. Either IPv4 or + IPv6 networks may be supplied; integers less than 2**32 will + be considered to be IPv4 by default. + + Returns: + An IPv4Network or IPv6Network object. + + Raises: + ValueError: if the string passed isn't either a v4 or a v6 + address. Or if the network has host bits set. + + """ + try: + return IPv4Network(address, strict) + except (AddressValueError, NetmaskValueError): + pass + + try: + return IPv6Network(address, strict) + except (AddressValueError, NetmaskValueError): + pass + + if isinstance(address, bytes): + raise AddressValueError( + '%r does not appear to be an IPv4 or IPv6 network. ' + 'Did you pass in a bytes (str in Python 2) instead of' + ' a unicode object?' % address) + + raise ValueError('%r does not appear to be an IPv4 or IPv6 network' % + address) + + +def ip_interface(address): + """Take an IP string/int and return an object of the correct type. + + Args: + address: A string or integer, the IP address. Either IPv4 or + IPv6 addresses may be supplied; integers less than 2**32 will + be considered to be IPv4 by default. + + Returns: + An IPv4Interface or IPv6Interface object. + + Raises: + ValueError: if the string passed isn't either a v4 or a v6 + address. + + Notes: + The IPv?Interface classes describe an Address on a particular + Network, so they're basically a combination of both the Address + and Network classes. + + """ + try: + return IPv4Interface(address) + except (AddressValueError, NetmaskValueError): + pass + + try: + return IPv6Interface(address) + except (AddressValueError, NetmaskValueError): + pass + + raise ValueError('%r does not appear to be an IPv4 or IPv6 interface' % + address) + + +def v4_int_to_packed(address): + """Represent an address as 4 packed bytes in network (big-endian) order. + + Args: + address: An integer representation of an IPv4 IP address. + + Returns: + The integer address packed as 4 bytes in network (big-endian) order. + + Raises: + ValueError: If the integer is negative or too large to be an + IPv4 IP address. + + """ + try: + return _compat_to_bytes(address, 4, 'big') + except (struct.error, OverflowError): + raise ValueError("Address negative or too large for IPv4") + + +def v6_int_to_packed(address): + """Represent an address as 16 packed bytes in network (big-endian) order. + + Args: + address: An integer representation of an IPv6 IP address. + + Returns: + The integer address packed as 16 bytes in network (big-endian) order. + + """ + try: + return _compat_to_bytes(address, 16, 'big') + except (struct.error, OverflowError): + raise ValueError("Address negative or too large for IPv6") + + +def _split_optional_netmask(address): + """Helper to split the netmask and raise AddressValueError if needed""" + addr = _compat_str(address).split('/') + if len(addr) > 2: + raise AddressValueError("Only one '/' permitted in %r" % address) + return addr + + +def _find_address_range(addresses): + """Find a sequence of sorted deduplicated IPv#Address. + + Args: + addresses: a list of IPv#Address objects. + + Yields: + A tuple containing the first and last IP addresses in the sequence. + + """ + it = iter(addresses) + first = last = next(it) + for ip in it: + if ip._ip != last._ip + 1: + yield first, last + first = ip + last = ip + yield first, last + + +def _count_righthand_zero_bits(number, bits): + """Count the number of zero bits on the right hand side. + + Args: + number: an integer. + bits: maximum number of bits to count. + + Returns: + The number of zero bits on the right hand side of the number. + + """ + if number == 0: + return bits + return min(bits, _compat_bit_length(~number & (number - 1))) + + +def summarize_address_range(first, last): + """Summarize a network range given the first and last IP addresses. + + Example: + >>> list(summarize_address_range(IPv4Address('192.0.2.0'), + ... IPv4Address('192.0.2.130'))) + ... #doctest: +NORMALIZE_WHITESPACE + [IPv4Network('192.0.2.0/25'), IPv4Network('192.0.2.128/31'), + IPv4Network('192.0.2.130/32')] + + Args: + first: the first IPv4Address or IPv6Address in the range. + last: the last IPv4Address or IPv6Address in the range. + + Returns: + An iterator of the summarized IPv(4|6) network objects. + + Raise: + TypeError: + If the first and last objects are not IP addresses. + If the first and last objects are not the same version. + ValueError: + If the last object is not greater than the first. + If the version of the first address is not 4 or 6. + + """ + if (not (isinstance(first, _BaseAddress) and + isinstance(last, _BaseAddress))): + raise TypeError('first and last must be IP addresses, not networks') + if first.version != last.version: + raise TypeError("%s and %s are not of the same version" % ( + first, last)) + if first > last: + raise ValueError('last IP address must be greater than first') + + if first.version == 4: + ip = IPv4Network + elif first.version == 6: + ip = IPv6Network + else: + raise ValueError('unknown IP version') + + ip_bits = first._max_prefixlen + first_int = first._ip + last_int = last._ip + while first_int <= last_int: + nbits = min(_count_righthand_zero_bits(first_int, ip_bits), + _compat_bit_length(last_int - first_int + 1) - 1) + net = ip((first_int, ip_bits - nbits)) + yield net + first_int += 1 << nbits + if first_int - 1 == ip._ALL_ONES: + break + + +def _collapse_addresses_internal(addresses): + """Loops through the addresses, collapsing concurrent netblocks. + + Example: + + ip1 = IPv4Network('192.0.2.0/26') + ip2 = IPv4Network('192.0.2.64/26') + ip3 = IPv4Network('192.0.2.128/26') + ip4 = IPv4Network('192.0.2.192/26') + + _collapse_addresses_internal([ip1, ip2, ip3, ip4]) -> + [IPv4Network('192.0.2.0/24')] + + This shouldn't be called directly; it is called via + collapse_addresses([]). + + Args: + addresses: A list of IPv4Network's or IPv6Network's + + Returns: + A list of IPv4Network's or IPv6Network's depending on what we were + passed. + + """ + # First merge + to_merge = list(addresses) + subnets = {} + while to_merge: + net = to_merge.pop() + supernet = net.supernet() + existing = subnets.get(supernet) + if existing is None: + subnets[supernet] = net + elif existing != net: + # Merge consecutive subnets + del subnets[supernet] + to_merge.append(supernet) + # Then iterate over resulting networks, skipping subsumed subnets + last = None + for net in sorted(subnets.values()): + if last is not None: + # Since they are sorted, + # last.network_address <= net.network_address is a given. + if last.broadcast_address >= net.broadcast_address: + continue + yield net + last = net + + +def collapse_addresses(addresses): + """Collapse a list of IP objects. + + Example: + collapse_addresses([IPv4Network('192.0.2.0/25'), + IPv4Network('192.0.2.128/25')]) -> + [IPv4Network('192.0.2.0/24')] + + Args: + addresses: An iterator of IPv4Network or IPv6Network objects. + + Returns: + An iterator of the collapsed IPv(4|6)Network objects. + + Raises: + TypeError: If passed a list of mixed version objects. + + """ + addrs = [] + ips = [] + nets = [] + + # split IP addresses and networks + for ip in addresses: + if isinstance(ip, _BaseAddress): + if ips and ips[-1]._version != ip._version: + raise TypeError("%s and %s are not of the same version" % ( + ip, ips[-1])) + ips.append(ip) + elif ip._prefixlen == ip._max_prefixlen: + if ips and ips[-1]._version != ip._version: + raise TypeError("%s and %s are not of the same version" % ( + ip, ips[-1])) + try: + ips.append(ip.ip) + except AttributeError: + ips.append(ip.network_address) + else: + if nets and nets[-1]._version != ip._version: + raise TypeError("%s and %s are not of the same version" % ( + ip, nets[-1])) + nets.append(ip) + + # sort and dedup + ips = sorted(set(ips)) + + # find consecutive address ranges in the sorted sequence and summarize them + if ips: + for first, last in _find_address_range(ips): + addrs.extend(summarize_address_range(first, last)) + + return _collapse_addresses_internal(addrs + nets) + + +def get_mixed_type_key(obj): + """Return a key suitable for sorting between networks and addresses. + + Address and Network objects are not sortable by default; they're + fundamentally different so the expression + + IPv4Address('192.0.2.0') <= IPv4Network('192.0.2.0/24') + + doesn't make any sense. There are some times however, where you may wish + to have ipaddress sort these for you anyway. If you need to do this, you + can use this function as the key= argument to sorted(). + + Args: + obj: either a Network or Address object. + Returns: + appropriate key. + + """ + if isinstance(obj, _BaseNetwork): + return obj._get_networks_key() + elif isinstance(obj, _BaseAddress): + return obj._get_address_key() + return NotImplemented + + +class _IPAddressBase(_TotalOrderingMixin): + + """The mother class.""" + + __slots__ = () + + @property + def exploded(self): + """Return the longhand version of the IP address as a string.""" + return self._explode_shorthand_ip_string() + + @property + def compressed(self): + """Return the shorthand version of the IP address as a string.""" + return _compat_str(self) + + @property + def reverse_pointer(self): + """The name of the reverse DNS pointer for the IP address, e.g.: + >>> ipaddress.ip_address("127.0.0.1").reverse_pointer + '1.0.0.127.in-addr.arpa' + >>> ipaddress.ip_address("2001:db8::1").reverse_pointer + '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa' + + """ + return self._reverse_pointer() + + @property + def version(self): + msg = '%200s has no version specified' % (type(self),) + raise NotImplementedError(msg) + + def _check_int_address(self, address): + if address < 0: + msg = "%d (< 0) is not permitted as an IPv%d address" + raise AddressValueError(msg % (address, self._version)) + if address > self._ALL_ONES: + msg = "%d (>= 2**%d) is not permitted as an IPv%d address" + raise AddressValueError(msg % (address, self._max_prefixlen, + self._version)) + + def _check_packed_address(self, address, expected_len): + address_len = len(address) + if address_len != expected_len: + msg = ( + '%r (len %d != %d) is not permitted as an IPv%d address. ' + 'Did you pass in a bytes (str in Python 2) instead of' + ' a unicode object?') + raise AddressValueError(msg % (address, address_len, + expected_len, self._version)) + + @classmethod + def _ip_int_from_prefix(cls, prefixlen): + """Turn the prefix length into a bitwise netmask + + Args: + prefixlen: An integer, the prefix length. + + Returns: + An integer. + + """ + return cls._ALL_ONES ^ (cls._ALL_ONES >> prefixlen) + + @classmethod + def _prefix_from_ip_int(cls, ip_int): + """Return prefix length from the bitwise netmask. + + Args: + ip_int: An integer, the netmask in expanded bitwise format + + Returns: + An integer, the prefix length. + + Raises: + ValueError: If the input intermingles zeroes & ones + """ + trailing_zeroes = _count_righthand_zero_bits(ip_int, + cls._max_prefixlen) + prefixlen = cls._max_prefixlen - trailing_zeroes + leading_ones = ip_int >> trailing_zeroes + all_ones = (1 << prefixlen) - 1 + if leading_ones != all_ones: + byteslen = cls._max_prefixlen // 8 + details = _compat_to_bytes(ip_int, byteslen, 'big') + msg = 'Netmask pattern %r mixes zeroes & ones' + raise ValueError(msg % details) + return prefixlen + + @classmethod + def _report_invalid_netmask(cls, netmask_str): + msg = '%r is not a valid netmask' % netmask_str + raise NetmaskValueError(msg) + + @classmethod + def _prefix_from_prefix_string(cls, prefixlen_str): + """Return prefix length from a numeric string + + Args: + prefixlen_str: The string to be converted + + Returns: + An integer, the prefix length. + + Raises: + NetmaskValueError: If the input is not a valid netmask + """ + # int allows a leading +/- as well as surrounding whitespace, + # so we ensure that isn't the case + if not _BaseV4._DECIMAL_DIGITS.issuperset(prefixlen_str): + cls._report_invalid_netmask(prefixlen_str) + try: + prefixlen = int(prefixlen_str) + except ValueError: + cls._report_invalid_netmask(prefixlen_str) + if not (0 <= prefixlen <= cls._max_prefixlen): + cls._report_invalid_netmask(prefixlen_str) + return prefixlen + + @classmethod + def _prefix_from_ip_string(cls, ip_str): + """Turn a netmask/hostmask string into a prefix length + + Args: + ip_str: The netmask/hostmask to be converted + + Returns: + An integer, the prefix length. + + Raises: + NetmaskValueError: If the input is not a valid netmask/hostmask + """ + # Parse the netmask/hostmask like an IP address. + try: + ip_int = cls._ip_int_from_string(ip_str) + except AddressValueError: + cls._report_invalid_netmask(ip_str) + + # Try matching a netmask (this would be /1*0*/ as a bitwise regexp). + # Note that the two ambiguous cases (all-ones and all-zeroes) are + # treated as netmasks. + try: + return cls._prefix_from_ip_int(ip_int) + except ValueError: + pass + + # Invert the bits, and try matching a /0+1+/ hostmask instead. + ip_int ^= cls._ALL_ONES + try: + return cls._prefix_from_ip_int(ip_int) + except ValueError: + cls._report_invalid_netmask(ip_str) + + def __reduce__(self): + return self.__class__, (_compat_str(self),) + + +class _BaseAddress(_IPAddressBase): + + """A generic IP object. + + This IP class contains the version independent methods which are + used by single IP addresses. + """ + + __slots__ = () + + def __int__(self): + return self._ip + + def __eq__(self, other): + try: + return (self._ip == other._ip and + self._version == other._version) + except AttributeError: + return NotImplemented + + def __lt__(self, other): + if not isinstance(other, _IPAddressBase): + return NotImplemented + if not isinstance(other, _BaseAddress): + raise TypeError('%s and %s are not of the same type' % ( + self, other)) + if self._version != other._version: + raise TypeError('%s and %s are not of the same version' % ( + self, other)) + if self._ip != other._ip: + return self._ip < other._ip + return False + + # Shorthand for Integer addition and subtraction. This is not + # meant to ever support addition/subtraction of addresses. + def __add__(self, other): + if not isinstance(other, _compat_int_types): + return NotImplemented + return self.__class__(int(self) + other) + + def __sub__(self, other): + if not isinstance(other, _compat_int_types): + return NotImplemented + return self.__class__(int(self) - other) + + def __repr__(self): + return '%s(%r)' % (self.__class__.__name__, _compat_str(self)) + + def __str__(self): + return _compat_str(self._string_from_ip_int(self._ip)) + + def __hash__(self): + return hash(hex(int(self._ip))) + + def _get_address_key(self): + return (self._version, self) + + def __reduce__(self): + return self.__class__, (self._ip,) + + +class _BaseNetwork(_IPAddressBase): + + """A generic IP network object. + + This IP class contains the version independent methods which are + used by networks. + + """ + def __init__(self, address): + self._cache = {} + + def __repr__(self): + return '%s(%r)' % (self.__class__.__name__, _compat_str(self)) + + def __str__(self): + return '%s/%d' % (self.network_address, self.prefixlen) + + def hosts(self): + """Generate Iterator over usable hosts in a network. + + This is like __iter__ except it doesn't return the network + or broadcast addresses. + + """ + network = int(self.network_address) + broadcast = int(self.broadcast_address) + for x in _compat_range(network + 1, broadcast): + yield self._address_class(x) + + def __iter__(self): + network = int(self.network_address) + broadcast = int(self.broadcast_address) + for x in _compat_range(network, broadcast + 1): + yield self._address_class(x) + + def __getitem__(self, n): + network = int(self.network_address) + broadcast = int(self.broadcast_address) + if n >= 0: + if network + n > broadcast: + raise IndexError('address out of range') + return self._address_class(network + n) + else: + n += 1 + if broadcast + n < network: + raise IndexError('address out of range') + return self._address_class(broadcast + n) + + def __lt__(self, other): + if not isinstance(other, _IPAddressBase): + return NotImplemented + if not isinstance(other, _BaseNetwork): + raise TypeError('%s and %s are not of the same type' % ( + self, other)) + if self._version != other._version: + raise TypeError('%s and %s are not of the same version' % ( + self, other)) + if self.network_address != other.network_address: + return self.network_address < other.network_address + if self.netmask != other.netmask: + return self.netmask < other.netmask + return False + + def __eq__(self, other): + try: + return (self._version == other._version and + self.network_address == other.network_address and + int(self.netmask) == int(other.netmask)) + except AttributeError: + return NotImplemented + + def __hash__(self): + return hash(int(self.network_address) ^ int(self.netmask)) + + def __contains__(self, other): + # always false if one is v4 and the other is v6. + if self._version != other._version: + return False + # dealing with another network. + if isinstance(other, _BaseNetwork): + return False + # dealing with another address + else: + # address + return (int(self.network_address) <= int(other._ip) <= + int(self.broadcast_address)) + + def overlaps(self, other): + """Tell if self is partly contained in other.""" + return self.network_address in other or ( + self.broadcast_address in other or ( + other.network_address in self or ( + other.broadcast_address in self))) + + @property + def broadcast_address(self): + x = self._cache.get('broadcast_address') + if x is None: + x = self._address_class(int(self.network_address) | + int(self.hostmask)) + self._cache['broadcast_address'] = x + return x + + @property + def hostmask(self): + x = self._cache.get('hostmask') + if x is None: + x = self._address_class(int(self.netmask) ^ self._ALL_ONES) + self._cache['hostmask'] = x + return x + + @property + def with_prefixlen(self): + return '%s/%d' % (self.network_address, self._prefixlen) + + @property + def with_netmask(self): + return '%s/%s' % (self.network_address, self.netmask) + + @property + def with_hostmask(self): + return '%s/%s' % (self.network_address, self.hostmask) + + @property + def num_addresses(self): + """Number of hosts in the current subnet.""" + return int(self.broadcast_address) - int(self.network_address) + 1 + + @property + def _address_class(self): + # Returning bare address objects (rather than interfaces) allows for + # more consistent behaviour across the network address, broadcast + # address and individual host addresses. + msg = '%200s has no associated address class' % (type(self),) + raise NotImplementedError(msg) + + @property + def prefixlen(self): + return self._prefixlen + + def address_exclude(self, other): + """Remove an address from a larger block. + + For example: + + addr1 = ip_network('192.0.2.0/28') + addr2 = ip_network('192.0.2.1/32') + list(addr1.address_exclude(addr2)) = + [IPv4Network('192.0.2.0/32'), IPv4Network('192.0.2.2/31'), + IPv4Network('192.0.2.4/30'), IPv4Network('192.0.2.8/29')] + + or IPv6: + + addr1 = ip_network('2001:db8::1/32') + addr2 = ip_network('2001:db8::1/128') + list(addr1.address_exclude(addr2)) = + [ip_network('2001:db8::1/128'), + ip_network('2001:db8::2/127'), + ip_network('2001:db8::4/126'), + ip_network('2001:db8::8/125'), + ... + ip_network('2001:db8:8000::/33')] + + Args: + other: An IPv4Network or IPv6Network object of the same type. + + Returns: + An iterator of the IPv(4|6)Network objects which is self + minus other. + + Raises: + TypeError: If self and other are of differing address + versions, or if other is not a network object. + ValueError: If other is not completely contained by self. + + """ + if not self._version == other._version: + raise TypeError("%s and %s are not of the same version" % ( + self, other)) + + if not isinstance(other, _BaseNetwork): + raise TypeError("%s is not a network object" % other) + + if not other.subnet_of(self): + raise ValueError('%s not contained in %s' % (other, self)) + if other == self: + return + + # Make sure we're comparing the network of other. + other = other.__class__('%s/%s' % (other.network_address, + other.prefixlen)) + + s1, s2 = self.subnets() + while s1 != other and s2 != other: + if other.subnet_of(s1): + yield s2 + s1, s2 = s1.subnets() + elif other.subnet_of(s2): + yield s1 + s1, s2 = s2.subnets() + else: + # If we got here, there's a bug somewhere. + raise AssertionError('Error performing exclusion: ' + 's1: %s s2: %s other: %s' % + (s1, s2, other)) + if s1 == other: + yield s2 + elif s2 == other: + yield s1 + else: + # If we got here, there's a bug somewhere. + raise AssertionError('Error performing exclusion: ' + 's1: %s s2: %s other: %s' % + (s1, s2, other)) + + def compare_networks(self, other): + """Compare two IP objects. + + This is only concerned about the comparison of the integer + representation of the network addresses. This means that the + host bits aren't considered at all in this method. If you want + to compare host bits, you can easily enough do a + 'HostA._ip < HostB._ip' + + Args: + other: An IP object. + + Returns: + If the IP versions of self and other are the same, returns: + + -1 if self < other: + eg: IPv4Network('192.0.2.0/25') < IPv4Network('192.0.2.128/25') + IPv6Network('2001:db8::1000/124') < + IPv6Network('2001:db8::2000/124') + 0 if self == other + eg: IPv4Network('192.0.2.0/24') == IPv4Network('192.0.2.0/24') + IPv6Network('2001:db8::1000/124') == + IPv6Network('2001:db8::1000/124') + 1 if self > other + eg: IPv4Network('192.0.2.128/25') > IPv4Network('192.0.2.0/25') + IPv6Network('2001:db8::2000/124') > + IPv6Network('2001:db8::1000/124') + + Raises: + TypeError if the IP versions are different. + + """ + # does this need to raise a ValueError? + if self._version != other._version: + raise TypeError('%s and %s are not of the same type' % ( + self, other)) + # self._version == other._version below here: + if self.network_address < other.network_address: + return -1 + if self.network_address > other.network_address: + return 1 + # self.network_address == other.network_address below here: + if self.netmask < other.netmask: + return -1 + if self.netmask > other.netmask: + return 1 + return 0 + + def _get_networks_key(self): + """Network-only key function. + + Returns an object that identifies this address' network and + netmask. This function is a suitable "key" argument for sorted() + and list.sort(). + + """ + return (self._version, self.network_address, self.netmask) + + def subnets(self, prefixlen_diff=1, new_prefix=None): + """The subnets which join to make the current subnet. + + In the case that self contains only one IP + (self._prefixlen == 32 for IPv4 or self._prefixlen == 128 + for IPv6), yield an iterator with just ourself. + + Args: + prefixlen_diff: An integer, the amount the prefix length + should be increased by. This should not be set if + new_prefix is also set. + new_prefix: The desired new prefix length. This must be a + larger number (smaller prefix) than the existing prefix. + This should not be set if prefixlen_diff is also set. + + Returns: + An iterator of IPv(4|6) objects. + + Raises: + ValueError: The prefixlen_diff is too small or too large. + OR + prefixlen_diff and new_prefix are both set or new_prefix + is a smaller number than the current prefix (smaller + number means a larger network) + + """ + if self._prefixlen == self._max_prefixlen: + yield self + return + + if new_prefix is not None: + if new_prefix < self._prefixlen: + raise ValueError('new prefix must be longer') + if prefixlen_diff != 1: + raise ValueError('cannot set prefixlen_diff and new_prefix') + prefixlen_diff = new_prefix - self._prefixlen + + if prefixlen_diff < 0: + raise ValueError('prefix length diff must be > 0') + new_prefixlen = self._prefixlen + prefixlen_diff + + if new_prefixlen > self._max_prefixlen: + raise ValueError( + 'prefix length diff %d is invalid for netblock %s' % ( + new_prefixlen, self)) + + start = int(self.network_address) + end = int(self.broadcast_address) + 1 + step = (int(self.hostmask) + 1) >> prefixlen_diff + for new_addr in _compat_range(start, end, step): + current = self.__class__((new_addr, new_prefixlen)) + yield current + + def supernet(self, prefixlen_diff=1, new_prefix=None): + """The supernet containing the current network. + + Args: + prefixlen_diff: An integer, the amount the prefix length of + the network should be decreased by. For example, given a + /24 network and a prefixlen_diff of 3, a supernet with a + /21 netmask is returned. + + Returns: + An IPv4 network object. + + Raises: + ValueError: If self.prefixlen - prefixlen_diff < 0. I.e., you have + a negative prefix length. + OR + If prefixlen_diff and new_prefix are both set or new_prefix is a + larger number than the current prefix (larger number means a + smaller network) + + """ + if self._prefixlen == 0: + return self + + if new_prefix is not None: + if new_prefix > self._prefixlen: + raise ValueError('new prefix must be shorter') + if prefixlen_diff != 1: + raise ValueError('cannot set prefixlen_diff and new_prefix') + prefixlen_diff = self._prefixlen - new_prefix + + new_prefixlen = self.prefixlen - prefixlen_diff + if new_prefixlen < 0: + raise ValueError( + 'current prefixlen is %d, cannot have a prefixlen_diff of %d' % + (self.prefixlen, prefixlen_diff)) + return self.__class__(( + int(self.network_address) & (int(self.netmask) << prefixlen_diff), + new_prefixlen)) + + @property + def is_multicast(self): + """Test if the address is reserved for multicast use. + + Returns: + A boolean, True if the address is a multicast address. + See RFC 2373 2.7 for details. + + """ + return (self.network_address.is_multicast and + self.broadcast_address.is_multicast) + + @staticmethod + def _is_subnet_of(a, b): + try: + # Always false if one is v4 and the other is v6. + if a._version != b._version: + raise TypeError("%s and %s are not of the same version" (a, b)) + return (b.network_address <= a.network_address and + b.broadcast_address >= a.broadcast_address) + except AttributeError: + raise TypeError("Unable to test subnet containment " + "between %s and %s" % (a, b)) + + def subnet_of(self, other): + """Return True if this network is a subnet of other.""" + return self._is_subnet_of(self, other) + + def supernet_of(self, other): + """Return True if this network is a supernet of other.""" + return self._is_subnet_of(other, self) + + @property + def is_reserved(self): + """Test if the address is otherwise IETF reserved. + + Returns: + A boolean, True if the address is within one of the + reserved IPv6 Network ranges. + + """ + return (self.network_address.is_reserved and + self.broadcast_address.is_reserved) + + @property + def is_link_local(self): + """Test if the address is reserved for link-local. + + Returns: + A boolean, True if the address is reserved per RFC 4291. + + """ + return (self.network_address.is_link_local and + self.broadcast_address.is_link_local) + + @property + def is_private(self): + """Test if this address is allocated for private networks. + + Returns: + A boolean, True if the address is reserved per + iana-ipv4-special-registry or iana-ipv6-special-registry. + + """ + return (self.network_address.is_private and + self.broadcast_address.is_private) + + @property + def is_global(self): + """Test if this address is allocated for public networks. + + Returns: + A boolean, True if the address is not reserved per + iana-ipv4-special-registry or iana-ipv6-special-registry. + + """ + return not self.is_private + + @property + def is_unspecified(self): + """Test if the address is unspecified. + + Returns: + A boolean, True if this is the unspecified address as defined in + RFC 2373 2.5.2. + + """ + return (self.network_address.is_unspecified and + self.broadcast_address.is_unspecified) + + @property + def is_loopback(self): + """Test if the address is a loopback address. + + Returns: + A boolean, True if the address is a loopback address as defined in + RFC 2373 2.5.3. + + """ + return (self.network_address.is_loopback and + self.broadcast_address.is_loopback) + + +class _BaseV4(object): + + """Base IPv4 object. + + The following methods are used by IPv4 objects in both single IP + addresses and networks. + + """ + + __slots__ = () + _version = 4 + # Equivalent to 255.255.255.255 or 32 bits of 1's. + _ALL_ONES = (2 ** IPV4LENGTH) - 1 + _DECIMAL_DIGITS = frozenset('0123456789') + + # the valid octets for host and netmasks. only useful for IPv4. + _valid_mask_octets = frozenset([255, 254, 252, 248, 240, 224, 192, 128, 0]) + + _max_prefixlen = IPV4LENGTH + # There are only a handful of valid v4 netmasks, so we cache them all + # when constructed (see _make_netmask()). + _netmask_cache = {} + + def _explode_shorthand_ip_string(self): + return _compat_str(self) + + @classmethod + def _make_netmask(cls, arg): + """Make a (netmask, prefix_len) tuple from the given argument. + + Argument can be: + - an integer (the prefix length) + - a string representing the prefix length (e.g. "24") + - a string representing the prefix netmask (e.g. "255.255.255.0") + """ + if arg not in cls._netmask_cache: + if isinstance(arg, _compat_int_types): + prefixlen = arg + else: + try: + # Check for a netmask in prefix length form + prefixlen = cls._prefix_from_prefix_string(arg) + except NetmaskValueError: + # Check for a netmask or hostmask in dotted-quad form. + # This may raise NetmaskValueError. + prefixlen = cls._prefix_from_ip_string(arg) + netmask = IPv4Address(cls._ip_int_from_prefix(prefixlen)) + cls._netmask_cache[arg] = netmask, prefixlen + return cls._netmask_cache[arg] + + @classmethod + def _ip_int_from_string(cls, ip_str): + """Turn the given IP string into an integer for comparison. + + Args: + ip_str: A string, the IP ip_str. + + Returns: + The IP ip_str as an integer. + + Raises: + AddressValueError: if ip_str isn't a valid IPv4 Address. + + """ + if not ip_str: + raise AddressValueError('Address cannot be empty') + + octets = ip_str.split('.') + if len(octets) != 4: + raise AddressValueError("Expected 4 octets in %r" % ip_str) + + try: + return _compat_int_from_byte_vals( + map(cls._parse_octet, octets), 'big') + except ValueError as exc: + raise AddressValueError("%s in %r" % (exc, ip_str)) + + @classmethod + def _parse_octet(cls, octet_str): + """Convert a decimal octet into an integer. + + Args: + octet_str: A string, the number to parse. + + Returns: + The octet as an integer. + + Raises: + ValueError: if the octet isn't strictly a decimal from [0..255]. + + """ + if not octet_str: + raise ValueError("Empty octet not permitted") + # Whitelist the characters, since int() allows a lot of bizarre stuff. + if not cls._DECIMAL_DIGITS.issuperset(octet_str): + msg = "Only decimal digits permitted in %r" + raise ValueError(msg % octet_str) + # We do the length check second, since the invalid character error + # is likely to be more informative for the user + if len(octet_str) > 3: + msg = "At most 3 characters permitted in %r" + raise ValueError(msg % octet_str) + # Convert to integer (we know digits are legal) + octet_int = int(octet_str, 10) + # Any octets that look like they *might* be written in octal, + # and which don't look exactly the same in both octal and + # decimal are rejected as ambiguous + if octet_int > 7 and octet_str[0] == '0': + msg = "Ambiguous (octal/decimal) value in %r not permitted" + raise ValueError(msg % octet_str) + if octet_int > 255: + raise ValueError("Octet %d (> 255) not permitted" % octet_int) + return octet_int + + @classmethod + def _string_from_ip_int(cls, ip_int): + """Turns a 32-bit integer into dotted decimal notation. + + Args: + ip_int: An integer, the IP address. + + Returns: + The IP address as a string in dotted decimal notation. + + """ + return '.'.join(_compat_str(struct.unpack(b'!B', b)[0] + if isinstance(b, bytes) + else b) + for b in _compat_to_bytes(ip_int, 4, 'big')) + + def _is_hostmask(self, ip_str): + """Test if the IP string is a hostmask (rather than a netmask). + + Args: + ip_str: A string, the potential hostmask. + + Returns: + A boolean, True if the IP string is a hostmask. + + """ + bits = ip_str.split('.') + try: + parts = [x for x in map(int, bits) if x in self._valid_mask_octets] + except ValueError: + return False + if len(parts) != len(bits): + return False + if parts[0] < parts[-1]: + return True + return False + + def _reverse_pointer(self): + """Return the reverse DNS pointer name for the IPv4 address. + + This implements the method described in RFC1035 3.5. + + """ + reverse_octets = _compat_str(self).split('.')[::-1] + return '.'.join(reverse_octets) + '.in-addr.arpa' + + @property + def max_prefixlen(self): + return self._max_prefixlen + + @property + def version(self): + return self._version + + +class IPv4Address(_BaseV4, _BaseAddress): + + """Represent and manipulate single IPv4 Addresses.""" + + __slots__ = ('_ip', '__weakref__') + + def __init__(self, address): + + """ + Args: + address: A string or integer representing the IP + + Additionally, an integer can be passed, so + IPv4Address('192.0.2.1') == IPv4Address(3221225985). + or, more generally + IPv4Address(int(IPv4Address('192.0.2.1'))) == + IPv4Address('192.0.2.1') + + Raises: + AddressValueError: If ipaddress isn't a valid IPv4 address. + + """ + # Efficient constructor from integer. + if isinstance(address, _compat_int_types): + self._check_int_address(address) + self._ip = address + return + + # Constructing from a packed address + if isinstance(address, bytes): + self._check_packed_address(address, 4) + bvs = _compat_bytes_to_byte_vals(address) + self._ip = _compat_int_from_byte_vals(bvs, 'big') + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP string. + addr_str = _compat_str(address) + if '/' in addr_str: + raise AddressValueError("Unexpected '/' in %r" % address) + self._ip = self._ip_int_from_string(addr_str) + + @property + def packed(self): + """The binary representation of this address.""" + return v4_int_to_packed(self._ip) + + @property + def is_reserved(self): + """Test if the address is otherwise IETF reserved. + + Returns: + A boolean, True if the address is within the + reserved IPv4 Network range. + + """ + return self in self._constants._reserved_network + + @property + def is_private(self): + """Test if this address is allocated for private networks. + + Returns: + A boolean, True if the address is reserved per + iana-ipv4-special-registry. + + """ + return any(self in net for net in self._constants._private_networks) + + @property + def is_global(self): + return ( + self not in self._constants._public_network and + not self.is_private) + + @property + def is_multicast(self): + """Test if the address is reserved for multicast use. + + Returns: + A boolean, True if the address is multicast. + See RFC 3171 for details. + + """ + return self in self._constants._multicast_network + + @property + def is_unspecified(self): + """Test if the address is unspecified. + + Returns: + A boolean, True if this is the unspecified address as defined in + RFC 5735 3. + + """ + return self == self._constants._unspecified_address + + @property + def is_loopback(self): + """Test if the address is a loopback address. + + Returns: + A boolean, True if the address is a loopback per RFC 3330. + + """ + return self in self._constants._loopback_network + + @property + def is_link_local(self): + """Test if the address is reserved for link-local. + + Returns: + A boolean, True if the address is link-local per RFC 3927. + + """ + return self in self._constants._linklocal_network + + +class IPv4Interface(IPv4Address): + + def __init__(self, address): + if isinstance(address, (bytes, _compat_int_types)): + IPv4Address.__init__(self, address) + self.network = IPv4Network(self._ip) + self._prefixlen = self._max_prefixlen + return + + if isinstance(address, tuple): + IPv4Address.__init__(self, address[0]) + if len(address) > 1: + self._prefixlen = int(address[1]) + else: + self._prefixlen = self._max_prefixlen + + self.network = IPv4Network(address, strict=False) + self.netmask = self.network.netmask + self.hostmask = self.network.hostmask + return + + addr = _split_optional_netmask(address) + IPv4Address.__init__(self, addr[0]) + + self.network = IPv4Network(address, strict=False) + self._prefixlen = self.network._prefixlen + + self.netmask = self.network.netmask + self.hostmask = self.network.hostmask + + def __str__(self): + return '%s/%d' % (self._string_from_ip_int(self._ip), + self.network.prefixlen) + + def __eq__(self, other): + address_equal = IPv4Address.__eq__(self, other) + if not address_equal or address_equal is NotImplemented: + return address_equal + try: + return self.network == other.network + except AttributeError: + # An interface with an associated network is NOT the + # same as an unassociated address. That's why the hash + # takes the extra info into account. + return False + + def __lt__(self, other): + address_less = IPv4Address.__lt__(self, other) + if address_less is NotImplemented: + return NotImplemented + try: + return (self.network < other.network or + self.network == other.network and address_less) + except AttributeError: + # We *do* allow addresses and interfaces to be sorted. The + # unassociated address is considered less than all interfaces. + return False + + def __hash__(self): + return self._ip ^ self._prefixlen ^ int(self.network.network_address) + + __reduce__ = _IPAddressBase.__reduce__ + + @property + def ip(self): + return IPv4Address(self._ip) + + @property + def with_prefixlen(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self._prefixlen) + + @property + def with_netmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.netmask) + + @property + def with_hostmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.hostmask) + + +class IPv4Network(_BaseV4, _BaseNetwork): + + """This class represents and manipulates 32-bit IPv4 network + addresses.. + + Attributes: [examples for IPv4Network('192.0.2.0/27')] + .network_address: IPv4Address('192.0.2.0') + .hostmask: IPv4Address('0.0.0.31') + .broadcast_address: IPv4Address('192.0.2.32') + .netmask: IPv4Address('255.255.255.224') + .prefixlen: 27 + + """ + # Class to use when creating address objects + _address_class = IPv4Address + + def __init__(self, address, strict=True): + + """Instantiate a new IPv4 network object. + + Args: + address: A string or integer representing the IP [& network]. + '192.0.2.0/24' + '192.0.2.0/255.255.255.0' + '192.0.0.2/0.0.0.255' + are all functionally the same in IPv4. Similarly, + '192.0.2.1' + '192.0.2.1/255.255.255.255' + '192.0.2.1/32' + are also functionally equivalent. That is to say, failing to + provide a subnetmask will create an object with a mask of /32. + + If the mask (portion after the / in the argument) is given in + dotted quad form, it is treated as a netmask if it starts with a + non-zero field (e.g. /255.0.0.0 == /8) and as a hostmask if it + starts with a zero field (e.g. 0.255.255.255 == /8), with the + single exception of an all-zero mask which is treated as a + netmask == /0. If no mask is given, a default of /32 is used. + + Additionally, an integer can be passed, so + IPv4Network('192.0.2.1') == IPv4Network(3221225985) + or, more generally + IPv4Interface(int(IPv4Interface('192.0.2.1'))) == + IPv4Interface('192.0.2.1') + + Raises: + AddressValueError: If ipaddress isn't a valid IPv4 address. + NetmaskValueError: If the netmask isn't valid for + an IPv4 address. + ValueError: If strict is True and a network address is not + supplied. + + """ + _BaseNetwork.__init__(self, address) + + # Constructing from a packed address or integer + if isinstance(address, (_compat_int_types, bytes)): + self.network_address = IPv4Address(address) + self.netmask, self._prefixlen = self._make_netmask( + self._max_prefixlen) + # fixme: address/network test here. + return + + if isinstance(address, tuple): + if len(address) > 1: + arg = address[1] + else: + # We weren't given an address[1] + arg = self._max_prefixlen + self.network_address = IPv4Address(address[0]) + self.netmask, self._prefixlen = self._make_netmask(arg) + packed = int(self.network_address) + if packed & int(self.netmask) != packed: + if strict: + raise ValueError('%s has host bits set' % self) + else: + self.network_address = IPv4Address(packed & + int(self.netmask)) + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP prefix string. + addr = _split_optional_netmask(address) + self.network_address = IPv4Address(self._ip_int_from_string(addr[0])) + + if len(addr) == 2: + arg = addr[1] + else: + arg = self._max_prefixlen + self.netmask, self._prefixlen = self._make_netmask(arg) + + if strict: + if (IPv4Address(int(self.network_address) & int(self.netmask)) != + self.network_address): + raise ValueError('%s has host bits set' % self) + self.network_address = IPv4Address(int(self.network_address) & + int(self.netmask)) + + if self._prefixlen == (self._max_prefixlen - 1): + self.hosts = self.__iter__ + + @property + def is_global(self): + """Test if this address is allocated for public networks. + + Returns: + A boolean, True if the address is not reserved per + iana-ipv4-special-registry. + + """ + return (not (self.network_address in IPv4Network('100.64.0.0/10') and + self.broadcast_address in IPv4Network('100.64.0.0/10')) and + not self.is_private) + + +class _IPv4Constants(object): + + _linklocal_network = IPv4Network('169.254.0.0/16') + + _loopback_network = IPv4Network('127.0.0.0/8') + + _multicast_network = IPv4Network('224.0.0.0/4') + + _public_network = IPv4Network('100.64.0.0/10') + + _private_networks = [ + IPv4Network('0.0.0.0/8'), + IPv4Network('10.0.0.0/8'), + IPv4Network('127.0.0.0/8'), + IPv4Network('169.254.0.0/16'), + IPv4Network('172.16.0.0/12'), + IPv4Network('192.0.0.0/29'), + IPv4Network('192.0.0.170/31'), + IPv4Network('192.0.2.0/24'), + IPv4Network('192.168.0.0/16'), + IPv4Network('198.18.0.0/15'), + IPv4Network('198.51.100.0/24'), + IPv4Network('203.0.113.0/24'), + IPv4Network('240.0.0.0/4'), + IPv4Network('255.255.255.255/32'), + ] + + _reserved_network = IPv4Network('240.0.0.0/4') + + _unspecified_address = IPv4Address('0.0.0.0') + + +IPv4Address._constants = _IPv4Constants + + +class _BaseV6(object): + + """Base IPv6 object. + + The following methods are used by IPv6 objects in both single IP + addresses and networks. + + """ + + __slots__ = () + _version = 6 + _ALL_ONES = (2 ** IPV6LENGTH) - 1 + _HEXTET_COUNT = 8 + _HEX_DIGITS = frozenset('0123456789ABCDEFabcdef') + _max_prefixlen = IPV6LENGTH + + # There are only a bunch of valid v6 netmasks, so we cache them all + # when constructed (see _make_netmask()). + _netmask_cache = {} + + @classmethod + def _make_netmask(cls, arg): + """Make a (netmask, prefix_len) tuple from the given argument. + + Argument can be: + - an integer (the prefix length) + - a string representing the prefix length (e.g. "24") + - a string representing the prefix netmask (e.g. "255.255.255.0") + """ + if arg not in cls._netmask_cache: + if isinstance(arg, _compat_int_types): + prefixlen = arg + else: + prefixlen = cls._prefix_from_prefix_string(arg) + netmask = IPv6Address(cls._ip_int_from_prefix(prefixlen)) + cls._netmask_cache[arg] = netmask, prefixlen + return cls._netmask_cache[arg] + + @classmethod + def _ip_int_from_string(cls, ip_str): + """Turn an IPv6 ip_str into an integer. + + Args: + ip_str: A string, the IPv6 ip_str. + + Returns: + An int, the IPv6 address + + Raises: + AddressValueError: if ip_str isn't a valid IPv6 Address. + + """ + if not ip_str: + raise AddressValueError('Address cannot be empty') + + parts = ip_str.split(':') + + # An IPv6 address needs at least 2 colons (3 parts). + _min_parts = 3 + if len(parts) < _min_parts: + msg = "At least %d parts expected in %r" % (_min_parts, ip_str) + raise AddressValueError(msg) + + # If the address has an IPv4-style suffix, convert it to hexadecimal. + if '.' in parts[-1]: + try: + ipv4_int = IPv4Address(parts.pop())._ip + except AddressValueError as exc: + raise AddressValueError("%s in %r" % (exc, ip_str)) + parts.append('%x' % ((ipv4_int >> 16) & 0xFFFF)) + parts.append('%x' % (ipv4_int & 0xFFFF)) + + # An IPv6 address can't have more than 8 colons (9 parts). + # The extra colon comes from using the "::" notation for a single + # leading or trailing zero part. + _max_parts = cls._HEXTET_COUNT + 1 + if len(parts) > _max_parts: + msg = "At most %d colons permitted in %r" % ( + _max_parts - 1, ip_str) + raise AddressValueError(msg) + + # Disregarding the endpoints, find '::' with nothing in between. + # This indicates that a run of zeroes has been skipped. + skip_index = None + for i in _compat_range(1, len(parts) - 1): + if not parts[i]: + if skip_index is not None: + # Can't have more than one '::' + msg = "At most one '::' permitted in %r" % ip_str + raise AddressValueError(msg) + skip_index = i + + # parts_hi is the number of parts to copy from above/before the '::' + # parts_lo is the number of parts to copy from below/after the '::' + if skip_index is not None: + # If we found a '::', then check if it also covers the endpoints. + parts_hi = skip_index + parts_lo = len(parts) - skip_index - 1 + if not parts[0]: + parts_hi -= 1 + if parts_hi: + msg = "Leading ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # ^: requires ^:: + if not parts[-1]: + parts_lo -= 1 + if parts_lo: + msg = "Trailing ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # :$ requires ::$ + parts_skipped = cls._HEXTET_COUNT - (parts_hi + parts_lo) + if parts_skipped < 1: + msg = "Expected at most %d other parts with '::' in %r" + raise AddressValueError(msg % (cls._HEXTET_COUNT - 1, ip_str)) + else: + # Otherwise, allocate the entire address to parts_hi. The + # endpoints could still be empty, but _parse_hextet() will check + # for that. + if len(parts) != cls._HEXTET_COUNT: + msg = "Exactly %d parts expected without '::' in %r" + raise AddressValueError(msg % (cls._HEXTET_COUNT, ip_str)) + if not parts[0]: + msg = "Leading ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # ^: requires ^:: + if not parts[-1]: + msg = "Trailing ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # :$ requires ::$ + parts_hi = len(parts) + parts_lo = 0 + parts_skipped = 0 + + try: + # Now, parse the hextets into a 128-bit integer. + ip_int = 0 + for i in range(parts_hi): + ip_int <<= 16 + ip_int |= cls._parse_hextet(parts[i]) + ip_int <<= 16 * parts_skipped + for i in range(-parts_lo, 0): + ip_int <<= 16 + ip_int |= cls._parse_hextet(parts[i]) + return ip_int + except ValueError as exc: + raise AddressValueError("%s in %r" % (exc, ip_str)) + + @classmethod + def _parse_hextet(cls, hextet_str): + """Convert an IPv6 hextet string into an integer. + + Args: + hextet_str: A string, the number to parse. + + Returns: + The hextet as an integer. + + Raises: + ValueError: if the input isn't strictly a hex number from + [0..FFFF]. + + """ + # Whitelist the characters, since int() allows a lot of bizarre stuff. + if not cls._HEX_DIGITS.issuperset(hextet_str): + raise ValueError("Only hex digits permitted in %r" % hextet_str) + # We do the length check second, since the invalid character error + # is likely to be more informative for the user + if len(hextet_str) > 4: + msg = "At most 4 characters permitted in %r" + raise ValueError(msg % hextet_str) + # Length check means we can skip checking the integer value + return int(hextet_str, 16) + + @classmethod + def _compress_hextets(cls, hextets): + """Compresses a list of hextets. + + Compresses a list of strings, replacing the longest continuous + sequence of "0" in the list with "" and adding empty strings at + the beginning or at the end of the string such that subsequently + calling ":".join(hextets) will produce the compressed version of + the IPv6 address. + + Args: + hextets: A list of strings, the hextets to compress. + + Returns: + A list of strings. + + """ + best_doublecolon_start = -1 + best_doublecolon_len = 0 + doublecolon_start = -1 + doublecolon_len = 0 + for index, hextet in enumerate(hextets): + if hextet == '0': + doublecolon_len += 1 + if doublecolon_start == -1: + # Start of a sequence of zeros. + doublecolon_start = index + if doublecolon_len > best_doublecolon_len: + # This is the longest sequence of zeros so far. + best_doublecolon_len = doublecolon_len + best_doublecolon_start = doublecolon_start + else: + doublecolon_len = 0 + doublecolon_start = -1 + + if best_doublecolon_len > 1: + best_doublecolon_end = (best_doublecolon_start + + best_doublecolon_len) + # For zeros at the end of the address. + if best_doublecolon_end == len(hextets): + hextets += [''] + hextets[best_doublecolon_start:best_doublecolon_end] = [''] + # For zeros at the beginning of the address. + if best_doublecolon_start == 0: + hextets = [''] + hextets + + return hextets + + @classmethod + def _string_from_ip_int(cls, ip_int=None): + """Turns a 128-bit integer into hexadecimal notation. + + Args: + ip_int: An integer, the IP address. + + Returns: + A string, the hexadecimal representation of the address. + + Raises: + ValueError: The address is bigger than 128 bits of all ones. + + """ + if ip_int is None: + ip_int = int(cls._ip) + + if ip_int > cls._ALL_ONES: + raise ValueError('IPv6 address is too large') + + hex_str = '%032x' % ip_int + hextets = ['%x' % int(hex_str[x:x + 4], 16) for x in range(0, 32, 4)] + + hextets = cls._compress_hextets(hextets) + return ':'.join(hextets) + + def _explode_shorthand_ip_string(self): + """Expand a shortened IPv6 address. + + Args: + ip_str: A string, the IPv6 address. + + Returns: + A string, the expanded IPv6 address. + + """ + if isinstance(self, IPv6Network): + ip_str = _compat_str(self.network_address) + elif isinstance(self, IPv6Interface): + ip_str = _compat_str(self.ip) + else: + ip_str = _compat_str(self) + + ip_int = self._ip_int_from_string(ip_str) + hex_str = '%032x' % ip_int + parts = [hex_str[x:x + 4] for x in range(0, 32, 4)] + if isinstance(self, (_BaseNetwork, IPv6Interface)): + return '%s/%d' % (':'.join(parts), self._prefixlen) + return ':'.join(parts) + + def _reverse_pointer(self): + """Return the reverse DNS pointer name for the IPv6 address. + + This implements the method described in RFC3596 2.5. + + """ + reverse_chars = self.exploded[::-1].replace(':', '') + return '.'.join(reverse_chars) + '.ip6.arpa' + + @property + def max_prefixlen(self): + return self._max_prefixlen + + @property + def version(self): + return self._version + + +class IPv6Address(_BaseV6, _BaseAddress): + + """Represent and manipulate single IPv6 Addresses.""" + + __slots__ = ('_ip', '__weakref__') + + def __init__(self, address): + """Instantiate a new IPv6 address object. + + Args: + address: A string or integer representing the IP + + Additionally, an integer can be passed, so + IPv6Address('2001:db8::') == + IPv6Address(42540766411282592856903984951653826560) + or, more generally + IPv6Address(int(IPv6Address('2001:db8::'))) == + IPv6Address('2001:db8::') + + Raises: + AddressValueError: If address isn't a valid IPv6 address. + + """ + # Efficient constructor from integer. + if isinstance(address, _compat_int_types): + self._check_int_address(address) + self._ip = address + return + + # Constructing from a packed address + if isinstance(address, bytes): + self._check_packed_address(address, 16) + bvs = _compat_bytes_to_byte_vals(address) + self._ip = _compat_int_from_byte_vals(bvs, 'big') + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP string. + addr_str = _compat_str(address) + if '/' in addr_str: + raise AddressValueError("Unexpected '/' in %r" % address) + self._ip = self._ip_int_from_string(addr_str) + + @property + def packed(self): + """The binary representation of this address.""" + return v6_int_to_packed(self._ip) + + @property + def is_multicast(self): + """Test if the address is reserved for multicast use. + + Returns: + A boolean, True if the address is a multicast address. + See RFC 2373 2.7 for details. + + """ + return self in self._constants._multicast_network + + @property + def is_reserved(self): + """Test if the address is otherwise IETF reserved. + + Returns: + A boolean, True if the address is within one of the + reserved IPv6 Network ranges. + + """ + return any(self in x for x in self._constants._reserved_networks) + + @property + def is_link_local(self): + """Test if the address is reserved for link-local. + + Returns: + A boolean, True if the address is reserved per RFC 4291. + + """ + return self in self._constants._linklocal_network + + @property + def is_site_local(self): + """Test if the address is reserved for site-local. + + Note that the site-local address space has been deprecated by RFC 3879. + Use is_private to test if this address is in the space of unique local + addresses as defined by RFC 4193. + + Returns: + A boolean, True if the address is reserved per RFC 3513 2.5.6. + + """ + return self in self._constants._sitelocal_network + + @property + def is_private(self): + """Test if this address is allocated for private networks. + + Returns: + A boolean, True if the address is reserved per + iana-ipv6-special-registry. + + """ + return any(self in net for net in self._constants._private_networks) + + @property + def is_global(self): + """Test if this address is allocated for public networks. + + Returns: + A boolean, true if the address is not reserved per + iana-ipv6-special-registry. + + """ + return not self.is_private + + @property + def is_unspecified(self): + """Test if the address is unspecified. + + Returns: + A boolean, True if this is the unspecified address as defined in + RFC 2373 2.5.2. + + """ + return self._ip == 0 + + @property + def is_loopback(self): + """Test if the address is a loopback address. + + Returns: + A boolean, True if the address is a loopback address as defined in + RFC 2373 2.5.3. + + """ + return self._ip == 1 + + @property + def ipv4_mapped(self): + """Return the IPv4 mapped address. + + Returns: + If the IPv6 address is a v4 mapped address, return the + IPv4 mapped address. Return None otherwise. + + """ + if (self._ip >> 32) != 0xFFFF: + return None + return IPv4Address(self._ip & 0xFFFFFFFF) + + @property + def teredo(self): + """Tuple of embedded teredo IPs. + + Returns: + Tuple of the (server, client) IPs or None if the address + doesn't appear to be a teredo address (doesn't start with + 2001::/32) + + """ + if (self._ip >> 96) != 0x20010000: + return None + return (IPv4Address((self._ip >> 64) & 0xFFFFFFFF), + IPv4Address(~self._ip & 0xFFFFFFFF)) + + @property + def sixtofour(self): + """Return the IPv4 6to4 embedded address. + + Returns: + The IPv4 6to4-embedded address if present or None if the + address doesn't appear to contain a 6to4 embedded address. + + """ + if (self._ip >> 112) != 0x2002: + return None + return IPv4Address((self._ip >> 80) & 0xFFFFFFFF) + + +class IPv6Interface(IPv6Address): + + def __init__(self, address): + if isinstance(address, (bytes, _compat_int_types)): + IPv6Address.__init__(self, address) + self.network = IPv6Network(self._ip) + self._prefixlen = self._max_prefixlen + return + if isinstance(address, tuple): + IPv6Address.__init__(self, address[0]) + if len(address) > 1: + self._prefixlen = int(address[1]) + else: + self._prefixlen = self._max_prefixlen + self.network = IPv6Network(address, strict=False) + self.netmask = self.network.netmask + self.hostmask = self.network.hostmask + return + + addr = _split_optional_netmask(address) + IPv6Address.__init__(self, addr[0]) + self.network = IPv6Network(address, strict=False) + self.netmask = self.network.netmask + self._prefixlen = self.network._prefixlen + self.hostmask = self.network.hostmask + + def __str__(self): + return '%s/%d' % (self._string_from_ip_int(self._ip), + self.network.prefixlen) + + def __eq__(self, other): + address_equal = IPv6Address.__eq__(self, other) + if not address_equal or address_equal is NotImplemented: + return address_equal + try: + return self.network == other.network + except AttributeError: + # An interface with an associated network is NOT the + # same as an unassociated address. That's why the hash + # takes the extra info into account. + return False + + def __lt__(self, other): + address_less = IPv6Address.__lt__(self, other) + if address_less is NotImplemented: + return NotImplemented + try: + return (self.network < other.network or + self.network == other.network and address_less) + except AttributeError: + # We *do* allow addresses and interfaces to be sorted. The + # unassociated address is considered less than all interfaces. + return False + + def __hash__(self): + return self._ip ^ self._prefixlen ^ int(self.network.network_address) + + __reduce__ = _IPAddressBase.__reduce__ + + @property + def ip(self): + return IPv6Address(self._ip) + + @property + def with_prefixlen(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self._prefixlen) + + @property + def with_netmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.netmask) + + @property + def with_hostmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.hostmask) + + @property + def is_unspecified(self): + return self._ip == 0 and self.network.is_unspecified + + @property + def is_loopback(self): + return self._ip == 1 and self.network.is_loopback + + +class IPv6Network(_BaseV6, _BaseNetwork): + + """This class represents and manipulates 128-bit IPv6 networks. + + Attributes: [examples for IPv6('2001:db8::1000/124')] + .network_address: IPv6Address('2001:db8::1000') + .hostmask: IPv6Address('::f') + .broadcast_address: IPv6Address('2001:db8::100f') + .netmask: IPv6Address('ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0') + .prefixlen: 124 + + """ + + # Class to use when creating address objects + _address_class = IPv6Address + + def __init__(self, address, strict=True): + """Instantiate a new IPv6 Network object. + + Args: + address: A string or integer representing the IPv6 network or the + IP and prefix/netmask. + '2001:db8::/128' + '2001:db8:0000:0000:0000:0000:0000:0000/128' + '2001:db8::' + are all functionally the same in IPv6. That is to say, + failing to provide a subnetmask will create an object with + a mask of /128. + + Additionally, an integer can be passed, so + IPv6Network('2001:db8::') == + IPv6Network(42540766411282592856903984951653826560) + or, more generally + IPv6Network(int(IPv6Network('2001:db8::'))) == + IPv6Network('2001:db8::') + + strict: A boolean. If true, ensure that we have been passed + A true network address, eg, 2001:db8::1000/124 and not an + IP address on a network, eg, 2001:db8::1/124. + + Raises: + AddressValueError: If address isn't a valid IPv6 address. + NetmaskValueError: If the netmask isn't valid for + an IPv6 address. + ValueError: If strict was True and a network address was not + supplied. + + """ + _BaseNetwork.__init__(self, address) + + # Efficient constructor from integer or packed address + if isinstance(address, (bytes, _compat_int_types)): + self.network_address = IPv6Address(address) + self.netmask, self._prefixlen = self._make_netmask( + self._max_prefixlen) + return + + if isinstance(address, tuple): + if len(address) > 1: + arg = address[1] + else: + arg = self._max_prefixlen + self.netmask, self._prefixlen = self._make_netmask(arg) + self.network_address = IPv6Address(address[0]) + packed = int(self.network_address) + if packed & int(self.netmask) != packed: + if strict: + raise ValueError('%s has host bits set' % self) + else: + self.network_address = IPv6Address(packed & + int(self.netmask)) + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP prefix string. + addr = _split_optional_netmask(address) + + self.network_address = IPv6Address(self._ip_int_from_string(addr[0])) + + if len(addr) == 2: + arg = addr[1] + else: + arg = self._max_prefixlen + self.netmask, self._prefixlen = self._make_netmask(arg) + + if strict: + if (IPv6Address(int(self.network_address) & int(self.netmask)) != + self.network_address): + raise ValueError('%s has host bits set' % self) + self.network_address = IPv6Address(int(self.network_address) & + int(self.netmask)) + + if self._prefixlen == (self._max_prefixlen - 1): + self.hosts = self.__iter__ + + def hosts(self): + """Generate Iterator over usable hosts in a network. + + This is like __iter__ except it doesn't return the + Subnet-Router anycast address. + + """ + network = int(self.network_address) + broadcast = int(self.broadcast_address) + for x in _compat_range(network + 1, broadcast + 1): + yield self._address_class(x) + + @property + def is_site_local(self): + """Test if the address is reserved for site-local. + + Note that the site-local address space has been deprecated by RFC 3879. + Use is_private to test if this address is in the space of unique local + addresses as defined by RFC 4193. + + Returns: + A boolean, True if the address is reserved per RFC 3513 2.5.6. + + """ + return (self.network_address.is_site_local and + self.broadcast_address.is_site_local) + + +class _IPv6Constants(object): + + _linklocal_network = IPv6Network('fe80::/10') + + _multicast_network = IPv6Network('ff00::/8') + + _private_networks = [ + IPv6Network('::1/128'), + IPv6Network('::/128'), + IPv6Network('::ffff:0:0/96'), + IPv6Network('100::/64'), + IPv6Network('2001::/23'), + IPv6Network('2001:2::/48'), + IPv6Network('2001:db8::/32'), + IPv6Network('2001:10::/28'), + IPv6Network('fc00::/7'), + IPv6Network('fe80::/10'), + ] + + _reserved_networks = [ + IPv6Network('::/8'), IPv6Network('100::/8'), + IPv6Network('200::/7'), IPv6Network('400::/6'), + IPv6Network('800::/5'), IPv6Network('1000::/4'), + IPv6Network('4000::/3'), IPv6Network('6000::/3'), + IPv6Network('8000::/3'), IPv6Network('A000::/3'), + IPv6Network('C000::/3'), IPv6Network('E000::/4'), + IPv6Network('F000::/5'), IPv6Network('F800::/6'), + IPv6Network('FE00::/9'), + ] + + _sitelocal_network = IPv6Network('fec0::/10') + + +IPv6Address._constants = _IPv6Constants diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__init__.py new file mode 100644 index 0000000..a6f44a5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/__init__.py @@ -0,0 +1,347 @@ +# -*- coding: utf-8 -*- + +""" +lockfile.py - Platform-independent advisory file locks. + +Requires Python 2.5 unless you apply 2.4.diff +Locking is done on a per-thread basis instead of a per-process basis. + +Usage: + +>>> lock = LockFile('somefile') +>>> try: +... lock.acquire() +... except AlreadyLocked: +... print 'somefile', 'is locked already.' +... except LockFailed: +... print 'somefile', 'can\\'t be locked.' +... else: +... print 'got lock' +got lock +>>> print lock.is_locked() +True +>>> lock.release() + +>>> lock = LockFile('somefile') +>>> print lock.is_locked() +False +>>> with lock: +... print lock.is_locked() +True +>>> print lock.is_locked() +False + +>>> lock = LockFile('somefile') +>>> # It is okay to lock twice from the same thread... +>>> with lock: +... lock.acquire() +... +>>> # Though no counter is kept, so you can't unlock multiple times... +>>> print lock.is_locked() +False + +Exceptions: + + Error - base class for other exceptions + LockError - base class for all locking exceptions + AlreadyLocked - Another thread or process already holds the lock + LockFailed - Lock failed for some other reason + UnlockError - base class for all unlocking exceptions + AlreadyUnlocked - File was not locked. + NotMyLock - File was locked but not by the current thread/process +""" + +from __future__ import absolute_import + +import functools +import os +import socket +import threading +import warnings + +# Work with PEP8 and non-PEP8 versions of threading module. +if not hasattr(threading, "current_thread"): + threading.current_thread = threading.currentThread +if not hasattr(threading.Thread, "get_name"): + threading.Thread.get_name = threading.Thread.getName + +__all__ = ['Error', 'LockError', 'LockTimeout', 'AlreadyLocked', + 'LockFailed', 'UnlockError', 'NotLocked', 'NotMyLock', + 'LinkFileLock', 'MkdirFileLock', 'SQLiteFileLock', + 'LockBase', 'locked'] + + +class Error(Exception): + """ + Base class for other exceptions. + + >>> try: + ... raise Error + ... except Exception: + ... pass + """ + pass + + +class LockError(Error): + """ + Base class for error arising from attempts to acquire the lock. + + >>> try: + ... raise LockError + ... except Error: + ... pass + """ + pass + + +class LockTimeout(LockError): + """Raised when lock creation fails within a user-defined period of time. + + >>> try: + ... raise LockTimeout + ... except LockError: + ... pass + """ + pass + + +class AlreadyLocked(LockError): + """Some other thread/process is locking the file. + + >>> try: + ... raise AlreadyLocked + ... except LockError: + ... pass + """ + pass + + +class LockFailed(LockError): + """Lock file creation failed for some other reason. + + >>> try: + ... raise LockFailed + ... except LockError: + ... pass + """ + pass + + +class UnlockError(Error): + """ + Base class for errors arising from attempts to release the lock. + + >>> try: + ... raise UnlockError + ... except Error: + ... pass + """ + pass + + +class NotLocked(UnlockError): + """Raised when an attempt is made to unlock an unlocked file. + + >>> try: + ... raise NotLocked + ... except UnlockError: + ... pass + """ + pass + + +class NotMyLock(UnlockError): + """Raised when an attempt is made to unlock a file someone else locked. + + >>> try: + ... raise NotMyLock + ... except UnlockError: + ... pass + """ + pass + + +class _SharedBase(object): + def __init__(self, path): + self.path = path + + def acquire(self, timeout=None): + """ + Acquire the lock. + + * If timeout is omitted (or None), wait forever trying to lock the + file. + + * If timeout > 0, try to acquire the lock for that many seconds. If + the lock period expires and the file is still locked, raise + LockTimeout. + + * If timeout <= 0, raise AlreadyLocked immediately if the file is + already locked. + """ + raise NotImplemented("implement in subclass") + + def release(self): + """ + Release the lock. + + If the file is not locked, raise NotLocked. + """ + raise NotImplemented("implement in subclass") + + def __enter__(self): + """ + Context manager support. + """ + self.acquire() + return self + + def __exit__(self, *_exc): + """ + Context manager support. + """ + self.release() + + def __repr__(self): + return "<%s: %r>" % (self.__class__.__name__, self.path) + + +class LockBase(_SharedBase): + """Base class for platform-specific lock classes.""" + def __init__(self, path, threaded=True, timeout=None): + """ + >>> lock = LockBase('somefile') + >>> lock = LockBase('somefile', threaded=False) + """ + super(LockBase, self).__init__(path) + self.lock_file = os.path.abspath(path) + ".lock" + self.hostname = socket.gethostname() + self.pid = os.getpid() + if threaded: + t = threading.current_thread() + # Thread objects in Python 2.4 and earlier do not have ident + # attrs. Worm around that. + ident = getattr(t, "ident", hash(t)) + self.tname = "-%x" % (ident & 0xffffffff) + else: + self.tname = "" + dirname = os.path.dirname(self.lock_file) + + # unique name is mostly about the current process, but must + # also contain the path -- otherwise, two adjacent locked + # files conflict (one file gets locked, creating lock-file and + # unique file, the other one gets locked, creating lock-file + # and overwriting the already existing lock-file, then one + # gets unlocked, deleting both lock-file and unique file, + # finally the last lock errors out upon releasing. + self.unique_name = os.path.join(dirname, + "%s%s.%s%s" % (self.hostname, + self.tname, + self.pid, + hash(self.path))) + self.timeout = timeout + + def is_locked(self): + """ + Tell whether or not the file is locked. + """ + raise NotImplemented("implement in subclass") + + def i_am_locking(self): + """ + Return True if this object is locking the file. + """ + raise NotImplemented("implement in subclass") + + def break_lock(self): + """ + Remove a lock. Useful if a locking thread failed to unlock. + """ + raise NotImplemented("implement in subclass") + + def __repr__(self): + return "<%s: %r -- %r>" % (self.__class__.__name__, self.unique_name, + self.path) + + +def _fl_helper(cls, mod, *args, **kwds): + warnings.warn("Import from %s module instead of lockfile package" % mod, + DeprecationWarning, stacklevel=2) + # This is a bit funky, but it's only for awhile. The way the unit tests + # are constructed this function winds up as an unbound method, so it + # actually takes three args, not two. We want to toss out self. + if not isinstance(args[0], str): + # We are testing, avoid the first arg + args = args[1:] + if len(args) == 1 and not kwds: + kwds["threaded"] = True + return cls(*args, **kwds) + + +def LinkFileLock(*args, **kwds): + """Factory function provided for backwards compatibility. + + Do not use in new code. Instead, import LinkLockFile from the + lockfile.linklockfile module. + """ + from . import linklockfile + return _fl_helper(linklockfile.LinkLockFile, "lockfile.linklockfile", + *args, **kwds) + + +def MkdirFileLock(*args, **kwds): + """Factory function provided for backwards compatibility. + + Do not use in new code. Instead, import MkdirLockFile from the + lockfile.mkdirlockfile module. + """ + from . import mkdirlockfile + return _fl_helper(mkdirlockfile.MkdirLockFile, "lockfile.mkdirlockfile", + *args, **kwds) + + +def SQLiteFileLock(*args, **kwds): + """Factory function provided for backwards compatibility. + + Do not use in new code. Instead, import SQLiteLockFile from the + lockfile.mkdirlockfile module. + """ + from . import sqlitelockfile + return _fl_helper(sqlitelockfile.SQLiteLockFile, "lockfile.sqlitelockfile", + *args, **kwds) + + +def locked(path, timeout=None): + """Decorator which enables locks for decorated function. + + Arguments: + - path: path for lockfile. + - timeout (optional): Timeout for acquiring lock. + + Usage: + @locked('/var/run/myname', timeout=0) + def myname(...): + ... + """ + def decor(func): + @functools.wraps(func) + def wrapper(*args, **kwargs): + lock = FileLock(path, timeout=timeout) + lock.acquire() + try: + return func(*args, **kwargs) + finally: + lock.release() + return wrapper + return decor + + +if hasattr(os, "link"): + from . import linklockfile as _llf + LockFile = _llf.LinkLockFile +else: + from . import mkdirlockfile as _mlf + LockFile = _mlf.MkdirLockFile + +FileLock = LockFile diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/linklockfile.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/linklockfile.py new file mode 100644 index 0000000..2ca9be0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/linklockfile.py @@ -0,0 +1,73 @@ +from __future__ import absolute_import + +import time +import os + +from . import (LockBase, LockFailed, NotLocked, NotMyLock, LockTimeout, + AlreadyLocked) + + +class LinkLockFile(LockBase): + """Lock access to a file using atomic property of link(2). + + >>> lock = LinkLockFile('somefile') + >>> lock = LinkLockFile('somefile', threaded=False) + """ + + def acquire(self, timeout=None): + try: + open(self.unique_name, "wb").close() + except IOError: + raise LockFailed("failed to create %s" % self.unique_name) + + timeout = timeout if timeout is not None else self.timeout + end_time = time.time() + if timeout is not None and timeout > 0: + end_time += timeout + + while True: + # Try and create a hard link to it. + try: + os.link(self.unique_name, self.lock_file) + except OSError: + # Link creation failed. Maybe we've double-locked? + nlinks = os.stat(self.unique_name).st_nlink + if nlinks == 2: + # The original link plus the one I created == 2. We're + # good to go. + return + else: + # Otherwise the lock creation failed. + if timeout is not None and time.time() > end_time: + os.unlink(self.unique_name) + if timeout > 0: + raise LockTimeout("Timeout waiting to acquire" + " lock for %s" % + self.path) + else: + raise AlreadyLocked("%s is already locked" % + self.path) + time.sleep(timeout is not None and timeout / 10 or 0.1) + else: + # Link creation succeeded. We're good to go. + return + + def release(self): + if not self.is_locked(): + raise NotLocked("%s is not locked" % self.path) + elif not os.path.exists(self.unique_name): + raise NotMyLock("%s is locked, but not by me" % self.path) + os.unlink(self.unique_name) + os.unlink(self.lock_file) + + def is_locked(self): + return os.path.exists(self.lock_file) + + def i_am_locking(self): + return (self.is_locked() and + os.path.exists(self.unique_name) and + os.stat(self.unique_name).st_nlink == 2) + + def break_lock(self): + if os.path.exists(self.lock_file): + os.unlink(self.lock_file) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/mkdirlockfile.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/mkdirlockfile.py new file mode 100644 index 0000000..05a8c96 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/mkdirlockfile.py @@ -0,0 +1,84 @@ +from __future__ import absolute_import, division + +import time +import os +import sys +import errno + +from . import (LockBase, LockFailed, NotLocked, NotMyLock, LockTimeout, + AlreadyLocked) + + +class MkdirLockFile(LockBase): + """Lock file by creating a directory.""" + def __init__(self, path, threaded=True, timeout=None): + """ + >>> lock = MkdirLockFile('somefile') + >>> lock = MkdirLockFile('somefile', threaded=False) + """ + LockBase.__init__(self, path, threaded, timeout) + # Lock file itself is a directory. Place the unique file name into + # it. + self.unique_name = os.path.join(self.lock_file, + "%s.%s%s" % (self.hostname, + self.tname, + self.pid)) + + def acquire(self, timeout=None): + timeout = timeout if timeout is not None else self.timeout + end_time = time.time() + if timeout is not None and timeout > 0: + end_time += timeout + + if timeout is None: + wait = 0.1 + else: + wait = max(0, timeout / 10) + + while True: + try: + os.mkdir(self.lock_file) + except OSError: + err = sys.exc_info()[1] + if err.errno == errno.EEXIST: + # Already locked. + if os.path.exists(self.unique_name): + # Already locked by me. + return + if timeout is not None and time.time() > end_time: + if timeout > 0: + raise LockTimeout("Timeout waiting to acquire" + " lock for %s" % + self.path) + else: + # Someone else has the lock. + raise AlreadyLocked("%s is already locked" % + self.path) + time.sleep(wait) + else: + # Couldn't create the lock for some other reason + raise LockFailed("failed to create %s" % self.lock_file) + else: + open(self.unique_name, "wb").close() + return + + def release(self): + if not self.is_locked(): + raise NotLocked("%s is not locked" % self.path) + elif not os.path.exists(self.unique_name): + raise NotMyLock("%s is locked, but not by me" % self.path) + os.unlink(self.unique_name) + os.rmdir(self.lock_file) + + def is_locked(self): + return os.path.exists(self.lock_file) + + def i_am_locking(self): + return (self.is_locked() and + os.path.exists(self.unique_name)) + + def break_lock(self): + if os.path.exists(self.lock_file): + for name in os.listdir(self.lock_file): + os.unlink(os.path.join(self.lock_file, name)) + os.rmdir(self.lock_file) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/pidlockfile.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/pidlockfile.py new file mode 100644 index 0000000..069e85b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/pidlockfile.py @@ -0,0 +1,190 @@ +# -*- coding: utf-8 -*- + +# pidlockfile.py +# +# Copyright © 2008–2009 Ben Finney <ben+python@benfinney.id.au> +# +# This is free software: you may copy, modify, and/or distribute this work +# under the terms of the Python Software Foundation License, version 2 or +# later as published by the Python Software Foundation. +# No warranty expressed or implied. See the file LICENSE.PSF-2 for details. + +""" Lockfile behaviour implemented via Unix PID files. + """ + +from __future__ import absolute_import + +import errno +import os +import time + +from . import (LockBase, AlreadyLocked, LockFailed, NotLocked, NotMyLock, + LockTimeout) + + +class PIDLockFile(LockBase): + """ Lockfile implemented as a Unix PID file. + + The lock file is a normal file named by the attribute `path`. + A lock's PID file contains a single line of text, containing + the process ID (PID) of the process that acquired the lock. + + >>> lock = PIDLockFile('somefile') + >>> lock = PIDLockFile('somefile') + """ + + def __init__(self, path, threaded=False, timeout=None): + # pid lockfiles don't support threaded operation, so always force + # False as the threaded arg. + LockBase.__init__(self, path, False, timeout) + self.unique_name = self.path + + def read_pid(self): + """ Get the PID from the lock file. + """ + return read_pid_from_pidfile(self.path) + + def is_locked(self): + """ Test if the lock is currently held. + + The lock is held if the PID file for this lock exists. + + """ + return os.path.exists(self.path) + + def i_am_locking(self): + """ Test if the lock is held by the current process. + + Returns ``True`` if the current process ID matches the + number stored in the PID file. + """ + return self.is_locked() and os.getpid() == self.read_pid() + + def acquire(self, timeout=None): + """ Acquire the lock. + + Creates the PID file for this lock, or raises an error if + the lock could not be acquired. + """ + + timeout = timeout if timeout is not None else self.timeout + end_time = time.time() + if timeout is not None and timeout > 0: + end_time += timeout + + while True: + try: + write_pid_to_pidfile(self.path) + except OSError as exc: + if exc.errno == errno.EEXIST: + # The lock creation failed. Maybe sleep a bit. + if time.time() > end_time: + if timeout is not None and timeout > 0: + raise LockTimeout("Timeout waiting to acquire" + " lock for %s" % + self.path) + else: + raise AlreadyLocked("%s is already locked" % + self.path) + time.sleep(timeout is not None and timeout / 10 or 0.1) + else: + raise LockFailed("failed to create %s" % self.path) + else: + return + + def release(self): + """ Release the lock. + + Removes the PID file to release the lock, or raises an + error if the current process does not hold the lock. + + """ + if not self.is_locked(): + raise NotLocked("%s is not locked" % self.path) + if not self.i_am_locking(): + raise NotMyLock("%s is locked, but not by me" % self.path) + remove_existing_pidfile(self.path) + + def break_lock(self): + """ Break an existing lock. + + Removes the PID file if it already exists, otherwise does + nothing. + + """ + remove_existing_pidfile(self.path) + + +def read_pid_from_pidfile(pidfile_path): + """ Read the PID recorded in the named PID file. + + Read and return the numeric PID recorded as text in the named + PID file. If the PID file cannot be read, or if the content is + not a valid PID, return ``None``. + + """ + pid = None + try: + pidfile = open(pidfile_path, 'r') + except IOError: + pass + else: + # According to the FHS 2.3 section on PID files in /var/run: + # + # The file must consist of the process identifier in + # ASCII-encoded decimal, followed by a newline character. + # + # Programs that read PID files should be somewhat flexible + # in what they accept; i.e., they should ignore extra + # whitespace, leading zeroes, absence of the trailing + # newline, or additional lines in the PID file. + + line = pidfile.readline().strip() + try: + pid = int(line) + except ValueError: + pass + pidfile.close() + + return pid + + +def write_pid_to_pidfile(pidfile_path): + """ Write the PID in the named PID file. + + Get the numeric process ID (“PID”) of the current process + and write it to the named file as a line of text. + + """ + open_flags = (os.O_CREAT | os.O_EXCL | os.O_WRONLY) + open_mode = 0o644 + pidfile_fd = os.open(pidfile_path, open_flags, open_mode) + pidfile = os.fdopen(pidfile_fd, 'w') + + # According to the FHS 2.3 section on PID files in /var/run: + # + # The file must consist of the process identifier in + # ASCII-encoded decimal, followed by a newline character. For + # example, if crond was process number 25, /var/run/crond.pid + # would contain three characters: two, five, and newline. + + pid = os.getpid() + pidfile.write("%s\n" % pid) + pidfile.close() + + +def remove_existing_pidfile(pidfile_path): + """ Remove the named PID file if it exists. + + Removing a PID file that doesn't already exist puts us in the + desired state, so we ignore the condition if the file does not + exist. + + """ + try: + os.remove(pidfile_path) + except OSError as exc: + if exc.errno == errno.ENOENT: + pass + else: + raise diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/sqlitelockfile.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/sqlitelockfile.py new file mode 100644 index 0000000..f997e24 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/sqlitelockfile.py @@ -0,0 +1,156 @@ +from __future__ import absolute_import, division + +import time +import os + +try: + unicode +except NameError: + unicode = str + +from . import LockBase, NotLocked, NotMyLock, LockTimeout, AlreadyLocked + + +class SQLiteLockFile(LockBase): + "Demonstrate SQL-based locking." + + testdb = None + + def __init__(self, path, threaded=True, timeout=None): + """ + >>> lock = SQLiteLockFile('somefile') + >>> lock = SQLiteLockFile('somefile', threaded=False) + """ + LockBase.__init__(self, path, threaded, timeout) + self.lock_file = unicode(self.lock_file) + self.unique_name = unicode(self.unique_name) + + if SQLiteLockFile.testdb is None: + import tempfile + _fd, testdb = tempfile.mkstemp() + os.close(_fd) + os.unlink(testdb) + del _fd, tempfile + SQLiteLockFile.testdb = testdb + + import sqlite3 + self.connection = sqlite3.connect(SQLiteLockFile.testdb) + + c = self.connection.cursor() + try: + c.execute("create table locks" + "(" + " lock_file varchar(32)," + " unique_name varchar(32)" + ")") + except sqlite3.OperationalError: + pass + else: + self.connection.commit() + import atexit + atexit.register(os.unlink, SQLiteLockFile.testdb) + + def acquire(self, timeout=None): + timeout = timeout if timeout is not None else self.timeout + end_time = time.time() + if timeout is not None and timeout > 0: + end_time += timeout + + if timeout is None: + wait = 0.1 + elif timeout <= 0: + wait = 0 + else: + wait = timeout / 10 + + cursor = self.connection.cursor() + + while True: + if not self.is_locked(): + # Not locked. Try to lock it. + cursor.execute("insert into locks" + " (lock_file, unique_name)" + " values" + " (?, ?)", + (self.lock_file, self.unique_name)) + self.connection.commit() + + # Check to see if we are the only lock holder. + cursor.execute("select * from locks" + " where unique_name = ?", + (self.unique_name,)) + rows = cursor.fetchall() + if len(rows) > 1: + # Nope. Someone else got there. Remove our lock. + cursor.execute("delete from locks" + " where unique_name = ?", + (self.unique_name,)) + self.connection.commit() + else: + # Yup. We're done, so go home. + return + else: + # Check to see if we are the only lock holder. + cursor.execute("select * from locks" + " where unique_name = ?", + (self.unique_name,)) + rows = cursor.fetchall() + if len(rows) == 1: + # We're the locker, so go home. + return + + # Maybe we should wait a bit longer. + if timeout is not None and time.time() > end_time: + if timeout > 0: + # No more waiting. + raise LockTimeout("Timeout waiting to acquire" + " lock for %s" % + self.path) + else: + # Someone else has the lock and we are impatient.. + raise AlreadyLocked("%s is already locked" % self.path) + + # Well, okay. We'll give it a bit longer. + time.sleep(wait) + + def release(self): + if not self.is_locked(): + raise NotLocked("%s is not locked" % self.path) + if not self.i_am_locking(): + raise NotMyLock("%s is locked, but not by me (by %s)" % + (self.unique_name, self._who_is_locking())) + cursor = self.connection.cursor() + cursor.execute("delete from locks" + " where unique_name = ?", + (self.unique_name,)) + self.connection.commit() + + def _who_is_locking(self): + cursor = self.connection.cursor() + cursor.execute("select unique_name from locks" + " where lock_file = ?", + (self.lock_file,)) + return cursor.fetchone()[0] + + def is_locked(self): + cursor = self.connection.cursor() + cursor.execute("select * from locks" + " where lock_file = ?", + (self.lock_file,)) + rows = cursor.fetchall() + return not not rows + + def i_am_locking(self): + cursor = self.connection.cursor() + cursor.execute("select * from locks" + " where lock_file = ?" + " and unique_name = ?", + (self.lock_file, self.unique_name)) + return not not cursor.fetchall() + + def break_lock(self): + cursor = self.connection.cursor() + cursor.execute("delete from locks" + " where lock_file = ?", + (self.lock_file,)) + self.connection.commit() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/symlinklockfile.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/symlinklockfile.py new file mode 100644 index 0000000..23b41f5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/lockfile/symlinklockfile.py @@ -0,0 +1,70 @@ +from __future__ import absolute_import + +import os +import time + +from . import (LockBase, NotLocked, NotMyLock, LockTimeout, + AlreadyLocked) + + +class SymlinkLockFile(LockBase): + """Lock access to a file using symlink(2).""" + + def __init__(self, path, threaded=True, timeout=None): + # super(SymlinkLockFile).__init(...) + LockBase.__init__(self, path, threaded, timeout) + # split it back! + self.unique_name = os.path.split(self.unique_name)[1] + + def acquire(self, timeout=None): + # Hopefully unnecessary for symlink. + # try: + # open(self.unique_name, "wb").close() + # except IOError: + # raise LockFailed("failed to create %s" % self.unique_name) + timeout = timeout if timeout is not None else self.timeout + end_time = time.time() + if timeout is not None and timeout > 0: + end_time += timeout + + while True: + # Try and create a symbolic link to it. + try: + os.symlink(self.unique_name, self.lock_file) + except OSError: + # Link creation failed. Maybe we've double-locked? + if self.i_am_locking(): + # Linked to out unique name. Proceed. + return + else: + # Otherwise the lock creation failed. + if timeout is not None and time.time() > end_time: + if timeout > 0: + raise LockTimeout("Timeout waiting to acquire" + " lock for %s" % + self.path) + else: + raise AlreadyLocked("%s is already locked" % + self.path) + time.sleep(timeout / 10 if timeout is not None else 0.1) + else: + # Link creation succeeded. We're good to go. + return + + def release(self): + if not self.is_locked(): + raise NotLocked("%s is not locked" % self.path) + elif not self.i_am_locking(): + raise NotMyLock("%s is locked, but not by me" % self.path) + os.unlink(self.lock_file) + + def is_locked(self): + return os.path.islink(self.lock_file) + + def i_am_locking(self): + return (os.path.islink(self.lock_file) + and os.readlink(self.lock_file) == self.unique_name) + + def break_lock(self): + if os.path.islink(self.lock_file): # exists && link + os.unlink(self.lock_file) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__init__.py new file mode 100644 index 0000000..2afca5a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/__init__.py @@ -0,0 +1,66 @@ +# coding: utf-8 +from pip._vendor.msgpack._version import version +from pip._vendor.msgpack.exceptions import * + +from collections import namedtuple + + +class ExtType(namedtuple('ExtType', 'code data')): + """ExtType represents ext type in msgpack.""" + def __new__(cls, code, data): + if not isinstance(code, int): + raise TypeError("code must be int") + if not isinstance(data, bytes): + raise TypeError("data must be bytes") + if not 0 <= code <= 127: + raise ValueError("code must be 0~127") + return super(ExtType, cls).__new__(cls, code, data) + + +import os +if os.environ.get('MSGPACK_PUREPYTHON'): + from pip._vendor.msgpack.fallback import Packer, unpackb, Unpacker +else: + try: + from pip._vendor.msgpack._packer import Packer + from pip._vendor.msgpack._unpacker import unpackb, Unpacker + except ImportError: + from pip._vendor.msgpack.fallback import Packer, unpackb, Unpacker + + +def pack(o, stream, **kwargs): + """ + Pack object `o` and write it to `stream` + + See :class:`Packer` for options. + """ + packer = Packer(**kwargs) + stream.write(packer.pack(o)) + + +def packb(o, **kwargs): + """ + Pack object `o` and return packed bytes + + See :class:`Packer` for options. + """ + return Packer(**kwargs).pack(o) + + +def unpack(stream, **kwargs): + """ + Unpack an object from `stream`. + + Raises `ExtraData` when `stream` contains extra bytes. + See :class:`Unpacker` for options. + """ + data = stream.read() + return unpackb(data, **kwargs) + + +# alias for compatibility to simplejson/marshal/pickle. +load = unpack +loads = unpackb + +dump = pack +dumps = packb diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/_version.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/_version.py new file mode 100644 index 0000000..d28f0de --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/_version.py @@ -0,0 +1 @@ +version = (0, 5, 6) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/exceptions.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/exceptions.py new file mode 100644 index 0000000..9766881 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/exceptions.py @@ -0,0 +1,41 @@ +class UnpackException(Exception): + """Deprecated. Use Exception instead to catch all exception during unpacking.""" + + +class BufferFull(UnpackException): + pass + + +class OutOfData(UnpackException): + pass + + +class UnpackValueError(UnpackException, ValueError): + """Deprecated. Use ValueError instead.""" + + +class ExtraData(UnpackValueError): + def __init__(self, unpacked, extra): + self.unpacked = unpacked + self.extra = extra + + def __str__(self): + return "unpack(b) received extra data." + + +class PackException(Exception): + """Deprecated. Use Exception instead to catch all exception during packing.""" + + +class PackValueError(PackException, ValueError): + """PackValueError is raised when type of input data is supported but it's value is unsupported. + + Deprecated. Use ValueError instead. + """ + + +class PackOverflowError(PackValueError, OverflowError): + """PackOverflowError is raised when integer value is out of range of msgpack support [-2**31, 2**32). + + Deprecated. Use ValueError instead. + """ diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/fallback.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/fallback.py new file mode 100644 index 0000000..9418421 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/msgpack/fallback.py @@ -0,0 +1,977 @@ +"""Fallback pure Python implementation of msgpack""" + +import sys +import struct +import warnings + +if sys.version_info[0] == 3: + PY3 = True + int_types = int + Unicode = str + xrange = range + def dict_iteritems(d): + return d.items() +else: + PY3 = False + int_types = (int, long) + Unicode = unicode + def dict_iteritems(d): + return d.iteritems() + + +if hasattr(sys, 'pypy_version_info'): + # cStringIO is slow on PyPy, StringIO is faster. However: PyPy's own + # StringBuilder is fastest. + from __pypy__ import newlist_hint + try: + from __pypy__.builders import BytesBuilder as StringBuilder + except ImportError: + from __pypy__.builders import StringBuilder + USING_STRINGBUILDER = True + class StringIO(object): + def __init__(self, s=b''): + if s: + self.builder = StringBuilder(len(s)) + self.builder.append(s) + else: + self.builder = StringBuilder() + def write(self, s): + if isinstance(s, memoryview): + s = s.tobytes() + elif isinstance(s, bytearray): + s = bytes(s) + self.builder.append(s) + def getvalue(self): + return self.builder.build() +else: + USING_STRINGBUILDER = False + from io import BytesIO as StringIO + newlist_hint = lambda size: [] + + +from pip._vendor.msgpack.exceptions import ( + BufferFull, + OutOfData, + UnpackValueError, + PackValueError, + PackOverflowError, + ExtraData) + +from pip._vendor.msgpack import ExtType + + +EX_SKIP = 0 +EX_CONSTRUCT = 1 +EX_READ_ARRAY_HEADER = 2 +EX_READ_MAP_HEADER = 3 + +TYPE_IMMEDIATE = 0 +TYPE_ARRAY = 1 +TYPE_MAP = 2 +TYPE_RAW = 3 +TYPE_BIN = 4 +TYPE_EXT = 5 + +DEFAULT_RECURSE_LIMIT = 511 + + +def _check_type_strict(obj, t, type=type, tuple=tuple): + if type(t) is tuple: + return type(obj) in t + else: + return type(obj) is t + + +def _get_data_from_buffer(obj): + try: + view = memoryview(obj) + except TypeError: + # try to use legacy buffer protocol if 2.7, otherwise re-raise + if not PY3: + view = memoryview(buffer(obj)) + warnings.warn("using old buffer interface to unpack %s; " + "this leads to unpacking errors if slicing is used and " + "will be removed in a future version" % type(obj), + RuntimeWarning) + else: + raise + if view.itemsize != 1: + raise ValueError("cannot unpack from multi-byte object") + return view + + +def unpack(stream, **kwargs): + warnings.warn( + "Direct calling implementation's unpack() is deprecated, Use msgpack.unpack() or unpackb() instead.", + PendingDeprecationWarning) + data = stream.read() + return unpackb(data, **kwargs) + + +def unpackb(packed, **kwargs): + """ + Unpack an object from `packed`. + + Raises `ExtraData` when `packed` contains extra bytes. + See :class:`Unpacker` for options. + """ + unpacker = Unpacker(None, **kwargs) + unpacker.feed(packed) + try: + ret = unpacker._unpack() + except OutOfData: + raise UnpackValueError("Data is not enough.") + if unpacker._got_extradata(): + raise ExtraData(ret, unpacker._get_extradata()) + return ret + + +class Unpacker(object): + """Streaming unpacker. + + arguments: + + :param file_like: + File-like object having `.read(n)` method. + If specified, unpacker reads serialized data from it and :meth:`feed()` is not usable. + + :param int read_size: + Used as `file_like.read(read_size)`. (default: `min(16*1024, max_buffer_size)`) + + :param bool use_list: + If true, unpack msgpack array to Python list. + Otherwise, unpack to Python tuple. (default: True) + + :param bool raw: + If true, unpack msgpack raw to Python bytes (default). + Otherwise, unpack to Python str (or unicode on Python 2) by decoding + with UTF-8 encoding (recommended). + Currently, the default is true, but it will be changed to false in + near future. So you must specify it explicitly for keeping backward + compatibility. + + *encoding* option which is deprecated overrides this option. + + :param callable object_hook: + When specified, it should be callable. + Unpacker calls it with a dict argument after unpacking msgpack map. + (See also simplejson) + + :param callable object_pairs_hook: + When specified, it should be callable. + Unpacker calls it with a list of key-value pairs after unpacking msgpack map. + (See also simplejson) + + :param str encoding: + Encoding used for decoding msgpack raw. + If it is None (default), msgpack raw is deserialized to Python bytes. + + :param str unicode_errors: + (deprecated) Used for decoding msgpack raw with *encoding*. + (default: `'strict'`) + + :param int max_buffer_size: + Limits size of data waiting unpacked. 0 means system's INT_MAX (default). + Raises `BufferFull` exception when it is insufficient. + You should set this parameter when unpacking data from untrusted source. + + :param int max_str_len: + Limits max length of str. (default: 2**31-1) + + :param int max_bin_len: + Limits max length of bin. (default: 2**31-1) + + :param int max_array_len: + Limits max length of array. (default: 2**31-1) + + :param int max_map_len: + Limits max length of map. (default: 2**31-1) + + + example of streaming deserialize from file-like object:: + + unpacker = Unpacker(file_like, raw=False) + for o in unpacker: + process(o) + + example of streaming deserialize from socket:: + + unpacker = Unpacker(raw=False) + while True: + buf = sock.recv(1024**2) + if not buf: + break + unpacker.feed(buf) + for o in unpacker: + process(o) + """ + + def __init__(self, file_like=None, read_size=0, use_list=True, raw=True, + object_hook=None, object_pairs_hook=None, list_hook=None, + encoding=None, unicode_errors=None, max_buffer_size=0, + ext_hook=ExtType, + max_str_len=2147483647, # 2**32-1 + max_bin_len=2147483647, + max_array_len=2147483647, + max_map_len=2147483647, + max_ext_len=2147483647): + + if encoding is not None: + warnings.warn( + "encoding is deprecated, Use raw=False instead.", + PendingDeprecationWarning) + + if unicode_errors is None: + unicode_errors = 'strict' + + if file_like is None: + self._feeding = True + else: + if not callable(file_like.read): + raise TypeError("`file_like.read` must be callable") + self.file_like = file_like + self._feeding = False + + #: array of bytes fed. + self._buffer = bytearray() + # Some very old pythons don't support `struct.unpack_from()` with a + # `bytearray`. So we wrap it in a `buffer()` there. + if sys.version_info < (2, 7, 6): + self._buffer_view = buffer(self._buffer) + else: + self._buffer_view = self._buffer + #: Which position we currently reads + self._buff_i = 0 + + # When Unpacker is used as an iterable, between the calls to next(), + # the buffer is not "consumed" completely, for efficiency sake. + # Instead, it is done sloppily. To make sure we raise BufferFull at + # the correct moments, we have to keep track of how sloppy we were. + # Furthermore, when the buffer is incomplete (that is: in the case + # we raise an OutOfData) we need to rollback the buffer to the correct + # state, which _buf_checkpoint records. + self._buf_checkpoint = 0 + + self._max_buffer_size = max_buffer_size or 2**31-1 + if read_size > self._max_buffer_size: + raise ValueError("read_size must be smaller than max_buffer_size") + self._read_size = read_size or min(self._max_buffer_size, 16*1024) + self._raw = bool(raw) + self._encoding = encoding + self._unicode_errors = unicode_errors + self._use_list = use_list + self._list_hook = list_hook + self._object_hook = object_hook + self._object_pairs_hook = object_pairs_hook + self._ext_hook = ext_hook + self._max_str_len = max_str_len + self._max_bin_len = max_bin_len + self._max_array_len = max_array_len + self._max_map_len = max_map_len + self._max_ext_len = max_ext_len + self._stream_offset = 0 + + if list_hook is not None and not callable(list_hook): + raise TypeError('`list_hook` is not callable') + if object_hook is not None and not callable(object_hook): + raise TypeError('`object_hook` is not callable') + if object_pairs_hook is not None and not callable(object_pairs_hook): + raise TypeError('`object_pairs_hook` is not callable') + if object_hook is not None and object_pairs_hook is not None: + raise TypeError("object_pairs_hook and object_hook are mutually " + "exclusive") + if not callable(ext_hook): + raise TypeError("`ext_hook` is not callable") + + def feed(self, next_bytes): + assert self._feeding + view = _get_data_from_buffer(next_bytes) + if (len(self._buffer) - self._buff_i + len(view) > self._max_buffer_size): + raise BufferFull + + # Strip buffer before checkpoint before reading file. + if self._buf_checkpoint > 0: + del self._buffer[:self._buf_checkpoint] + self._buff_i -= self._buf_checkpoint + self._buf_checkpoint = 0 + + self._buffer += view + + def _consume(self): + """ Gets rid of the used parts of the buffer. """ + self._stream_offset += self._buff_i - self._buf_checkpoint + self._buf_checkpoint = self._buff_i + + def _got_extradata(self): + return self._buff_i < len(self._buffer) + + def _get_extradata(self): + return self._buffer[self._buff_i:] + + def read_bytes(self, n): + return self._read(n) + + def _read(self, n): + # (int) -> bytearray + self._reserve(n) + i = self._buff_i + self._buff_i = i+n + return self._buffer[i:i+n] + + def _reserve(self, n): + remain_bytes = len(self._buffer) - self._buff_i - n + + # Fast path: buffer has n bytes already + if remain_bytes >= 0: + return + + if self._feeding: + self._buff_i = self._buf_checkpoint + raise OutOfData + + # Strip buffer before checkpoint before reading file. + if self._buf_checkpoint > 0: + del self._buffer[:self._buf_checkpoint] + self._buff_i -= self._buf_checkpoint + self._buf_checkpoint = 0 + + # Read from file + remain_bytes = -remain_bytes + while remain_bytes > 0: + to_read_bytes = max(self._read_size, remain_bytes) + read_data = self.file_like.read(to_read_bytes) + if not read_data: + break + assert isinstance(read_data, bytes) + self._buffer += read_data + remain_bytes -= len(read_data) + + if len(self._buffer) < n + self._buff_i: + self._buff_i = 0 # rollback + raise OutOfData + + def _read_header(self, execute=EX_CONSTRUCT): + typ = TYPE_IMMEDIATE + n = 0 + obj = None + self._reserve(1) + b = self._buffer[self._buff_i] + self._buff_i += 1 + if b & 0b10000000 == 0: + obj = b + elif b & 0b11100000 == 0b11100000: + obj = -1 - (b ^ 0xff) + elif b & 0b11100000 == 0b10100000: + n = b & 0b00011111 + typ = TYPE_RAW + if n > self._max_str_len: + raise UnpackValueError("%s exceeds max_str_len(%s)", n, self._max_str_len) + obj = self._read(n) + elif b & 0b11110000 == 0b10010000: + n = b & 0b00001111 + typ = TYPE_ARRAY + if n > self._max_array_len: + raise UnpackValueError("%s exceeds max_array_len(%s)", n, self._max_array_len) + elif b & 0b11110000 == 0b10000000: + n = b & 0b00001111 + typ = TYPE_MAP + if n > self._max_map_len: + raise UnpackValueError("%s exceeds max_map_len(%s)", n, self._max_map_len) + elif b == 0xc0: + obj = None + elif b == 0xc2: + obj = False + elif b == 0xc3: + obj = True + elif b == 0xc4: + typ = TYPE_BIN + self._reserve(1) + n = self._buffer[self._buff_i] + self._buff_i += 1 + if n > self._max_bin_len: + raise UnpackValueError("%s exceeds max_bin_len(%s)" % (n, self._max_bin_len)) + obj = self._read(n) + elif b == 0xc5: + typ = TYPE_BIN + self._reserve(2) + n = struct.unpack_from(">H", self._buffer_view, self._buff_i)[0] + self._buff_i += 2 + if n > self._max_bin_len: + raise UnpackValueError("%s exceeds max_bin_len(%s)" % (n, self._max_bin_len)) + obj = self._read(n) + elif b == 0xc6: + typ = TYPE_BIN + self._reserve(4) + n = struct.unpack_from(">I", self._buffer_view, self._buff_i)[0] + self._buff_i += 4 + if n > self._max_bin_len: + raise UnpackValueError("%s exceeds max_bin_len(%s)" % (n, self._max_bin_len)) + obj = self._read(n) + elif b == 0xc7: # ext 8 + typ = TYPE_EXT + self._reserve(2) + L, n = struct.unpack_from('Bb', self._buffer_view, self._buff_i) + self._buff_i += 2 + if L > self._max_ext_len: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (L, self._max_ext_len)) + obj = self._read(L) + elif b == 0xc8: # ext 16 + typ = TYPE_EXT + self._reserve(3) + L, n = struct.unpack_from('>Hb', self._buffer_view, self._buff_i) + self._buff_i += 3 + if L > self._max_ext_len: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (L, self._max_ext_len)) + obj = self._read(L) + elif b == 0xc9: # ext 32 + typ = TYPE_EXT + self._reserve(5) + L, n = struct.unpack_from('>Ib', self._buffer_view, self._buff_i) + self._buff_i += 5 + if L > self._max_ext_len: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (L, self._max_ext_len)) + obj = self._read(L) + elif b == 0xca: + self._reserve(4) + obj = struct.unpack_from(">f", self._buffer_view, self._buff_i)[0] + self._buff_i += 4 + elif b == 0xcb: + self._reserve(8) + obj = struct.unpack_from(">d", self._buffer_view, self._buff_i)[0] + self._buff_i += 8 + elif b == 0xcc: + self._reserve(1) + obj = self._buffer[self._buff_i] + self._buff_i += 1 + elif b == 0xcd: + self._reserve(2) + obj = struct.unpack_from(">H", self._buffer_view, self._buff_i)[0] + self._buff_i += 2 + elif b == 0xce: + self._reserve(4) + obj = struct.unpack_from(">I", self._buffer_view, self._buff_i)[0] + self._buff_i += 4 + elif b == 0xcf: + self._reserve(8) + obj = struct.unpack_from(">Q", self._buffer_view, self._buff_i)[0] + self._buff_i += 8 + elif b == 0xd0: + self._reserve(1) + obj = struct.unpack_from("b", self._buffer_view, self._buff_i)[0] + self._buff_i += 1 + elif b == 0xd1: + self._reserve(2) + obj = struct.unpack_from(">h", self._buffer_view, self._buff_i)[0] + self._buff_i += 2 + elif b == 0xd2: + self._reserve(4) + obj = struct.unpack_from(">i", self._buffer_view, self._buff_i)[0] + self._buff_i += 4 + elif b == 0xd3: + self._reserve(8) + obj = struct.unpack_from(">q", self._buffer_view, self._buff_i)[0] + self._buff_i += 8 + elif b == 0xd4: # fixext 1 + typ = TYPE_EXT + if self._max_ext_len < 1: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (1, self._max_ext_len)) + self._reserve(2) + n, obj = struct.unpack_from("b1s", self._buffer_view, self._buff_i) + self._buff_i += 2 + elif b == 0xd5: # fixext 2 + typ = TYPE_EXT + if self._max_ext_len < 2: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (2, self._max_ext_len)) + self._reserve(3) + n, obj = struct.unpack_from("b2s", self._buffer_view, self._buff_i) + self._buff_i += 3 + elif b == 0xd6: # fixext 4 + typ = TYPE_EXT + if self._max_ext_len < 4: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (4, self._max_ext_len)) + self._reserve(5) + n, obj = struct.unpack_from("b4s", self._buffer_view, self._buff_i) + self._buff_i += 5 + elif b == 0xd7: # fixext 8 + typ = TYPE_EXT + if self._max_ext_len < 8: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (8, self._max_ext_len)) + self._reserve(9) + n, obj = struct.unpack_from("b8s", self._buffer_view, self._buff_i) + self._buff_i += 9 + elif b == 0xd8: # fixext 16 + typ = TYPE_EXT + if self._max_ext_len < 16: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (16, self._max_ext_len)) + self._reserve(17) + n, obj = struct.unpack_from("b16s", self._buffer_view, self._buff_i) + self._buff_i += 17 + elif b == 0xd9: + typ = TYPE_RAW + self._reserve(1) + n = self._buffer[self._buff_i] + self._buff_i += 1 + if n > self._max_str_len: + raise UnpackValueError("%s exceeds max_str_len(%s)", n, self._max_str_len) + obj = self._read(n) + elif b == 0xda: + typ = TYPE_RAW + self._reserve(2) + n, = struct.unpack_from(">H", self._buffer_view, self._buff_i) + self._buff_i += 2 + if n > self._max_str_len: + raise UnpackValueError("%s exceeds max_str_len(%s)", n, self._max_str_len) + obj = self._read(n) + elif b == 0xdb: + typ = TYPE_RAW + self._reserve(4) + n, = struct.unpack_from(">I", self._buffer_view, self._buff_i) + self._buff_i += 4 + if n > self._max_str_len: + raise UnpackValueError("%s exceeds max_str_len(%s)", n, self._max_str_len) + obj = self._read(n) + elif b == 0xdc: + typ = TYPE_ARRAY + self._reserve(2) + n, = struct.unpack_from(">H", self._buffer_view, self._buff_i) + self._buff_i += 2 + if n > self._max_array_len: + raise UnpackValueError("%s exceeds max_array_len(%s)", n, self._max_array_len) + elif b == 0xdd: + typ = TYPE_ARRAY + self._reserve(4) + n, = struct.unpack_from(">I", self._buffer_view, self._buff_i) + self._buff_i += 4 + if n > self._max_array_len: + raise UnpackValueError("%s exceeds max_array_len(%s)", n, self._max_array_len) + elif b == 0xde: + self._reserve(2) + n, = struct.unpack_from(">H", self._buffer_view, self._buff_i) + self._buff_i += 2 + if n > self._max_map_len: + raise UnpackValueError("%s exceeds max_map_len(%s)", n, self._max_map_len) + typ = TYPE_MAP + elif b == 0xdf: + self._reserve(4) + n, = struct.unpack_from(">I", self._buffer_view, self._buff_i) + self._buff_i += 4 + if n > self._max_map_len: + raise UnpackValueError("%s exceeds max_map_len(%s)", n, self._max_map_len) + typ = TYPE_MAP + else: + raise UnpackValueError("Unknown header: 0x%x" % b) + return typ, n, obj + + def _unpack(self, execute=EX_CONSTRUCT): + typ, n, obj = self._read_header(execute) + + if execute == EX_READ_ARRAY_HEADER: + if typ != TYPE_ARRAY: + raise UnpackValueError("Expected array") + return n + if execute == EX_READ_MAP_HEADER: + if typ != TYPE_MAP: + raise UnpackValueError("Expected map") + return n + # TODO should we eliminate the recursion? + if typ == TYPE_ARRAY: + if execute == EX_SKIP: + for i in xrange(n): + # TODO check whether we need to call `list_hook` + self._unpack(EX_SKIP) + return + ret = newlist_hint(n) + for i in xrange(n): + ret.append(self._unpack(EX_CONSTRUCT)) + if self._list_hook is not None: + ret = self._list_hook(ret) + # TODO is the interaction between `list_hook` and `use_list` ok? + return ret if self._use_list else tuple(ret) + if typ == TYPE_MAP: + if execute == EX_SKIP: + for i in xrange(n): + # TODO check whether we need to call hooks + self._unpack(EX_SKIP) + self._unpack(EX_SKIP) + return + if self._object_pairs_hook is not None: + ret = self._object_pairs_hook( + (self._unpack(EX_CONSTRUCT), + self._unpack(EX_CONSTRUCT)) + for _ in xrange(n)) + else: + ret = {} + for _ in xrange(n): + key = self._unpack(EX_CONSTRUCT) + ret[key] = self._unpack(EX_CONSTRUCT) + if self._object_hook is not None: + ret = self._object_hook(ret) + return ret + if execute == EX_SKIP: + return + if typ == TYPE_RAW: + if self._encoding is not None: + obj = obj.decode(self._encoding, self._unicode_errors) + elif self._raw: + obj = bytes(obj) + else: + obj = obj.decode('utf_8') + return obj + if typ == TYPE_EXT: + return self._ext_hook(n, bytes(obj)) + if typ == TYPE_BIN: + return bytes(obj) + assert typ == TYPE_IMMEDIATE + return obj + + def __iter__(self): + return self + + def __next__(self): + try: + ret = self._unpack(EX_CONSTRUCT) + self._consume() + return ret + except OutOfData: + self._consume() + raise StopIteration + + next = __next__ + + def skip(self, write_bytes=None): + self._unpack(EX_SKIP) + if write_bytes is not None: + warnings.warn("`write_bytes` option is deprecated. Use `.tell()` instead.", DeprecationWarning) + write_bytes(self._buffer[self._buf_checkpoint:self._buff_i]) + self._consume() + + def unpack(self, write_bytes=None): + ret = self._unpack(EX_CONSTRUCT) + if write_bytes is not None: + warnings.warn("`write_bytes` option is deprecated. Use `.tell()` instead.", DeprecationWarning) + write_bytes(self._buffer[self._buf_checkpoint:self._buff_i]) + self._consume() + return ret + + def read_array_header(self, write_bytes=None): + ret = self._unpack(EX_READ_ARRAY_HEADER) + if write_bytes is not None: + warnings.warn("`write_bytes` option is deprecated. Use `.tell()` instead.", DeprecationWarning) + write_bytes(self._buffer[self._buf_checkpoint:self._buff_i]) + self._consume() + return ret + + def read_map_header(self, write_bytes=None): + ret = self._unpack(EX_READ_MAP_HEADER) + if write_bytes is not None: + warnings.warn("`write_bytes` option is deprecated. Use `.tell()` instead.", DeprecationWarning) + write_bytes(self._buffer[self._buf_checkpoint:self._buff_i]) + self._consume() + return ret + + def tell(self): + return self._stream_offset + + +class Packer(object): + """ + MessagePack Packer + + usage: + + packer = Packer() + astream.write(packer.pack(a)) + astream.write(packer.pack(b)) + + Packer's constructor has some keyword arguments: + + :param callable default: + Convert user type to builtin type that Packer supports. + See also simplejson's document. + + :param bool use_single_float: + Use single precision float type for float. (default: False) + + :param bool autoreset: + Reset buffer after each pack and return its content as `bytes`. (default: True). + If set this to false, use `bytes()` to get content and `.reset()` to clear buffer. + + :param bool use_bin_type: + Use bin type introduced in msgpack spec 2.0 for bytes. + It also enables str8 type for unicode. + + :param bool strict_types: + If set to true, types will be checked to be exact. Derived classes + from serializeable types will not be serialized and will be + treated as unsupported type and forwarded to default. + Additionally tuples will not be serialized as lists. + This is useful when trying to implement accurate serialization + for python types. + + :param str encoding: + (deprecated) Convert unicode to bytes with this encoding. (default: 'utf-8') + + :param str unicode_errors: + Error handler for encoding unicode. (default: 'strict') + """ + def __init__(self, default=None, encoding=None, unicode_errors=None, + use_single_float=False, autoreset=True, use_bin_type=False, + strict_types=False): + if encoding is None: + encoding = 'utf_8' + else: + warnings.warn( + "encoding is deprecated, Use raw=False instead.", + PendingDeprecationWarning) + + if unicode_errors is None: + unicode_errors = 'strict' + + self._strict_types = strict_types + self._use_float = use_single_float + self._autoreset = autoreset + self._use_bin_type = use_bin_type + self._encoding = encoding + self._unicode_errors = unicode_errors + self._buffer = StringIO() + if default is not None: + if not callable(default): + raise TypeError("default must be callable") + self._default = default + + def _pack(self, obj, nest_limit=DEFAULT_RECURSE_LIMIT, + check=isinstance, check_type_strict=_check_type_strict): + default_used = False + if self._strict_types: + check = check_type_strict + list_types = list + else: + list_types = (list, tuple) + while True: + if nest_limit < 0: + raise PackValueError("recursion limit exceeded") + if obj is None: + return self._buffer.write(b"\xc0") + if check(obj, bool): + if obj: + return self._buffer.write(b"\xc3") + return self._buffer.write(b"\xc2") + if check(obj, int_types): + if 0 <= obj < 0x80: + return self._buffer.write(struct.pack("B", obj)) + if -0x20 <= obj < 0: + return self._buffer.write(struct.pack("b", obj)) + if 0x80 <= obj <= 0xff: + return self._buffer.write(struct.pack("BB", 0xcc, obj)) + if -0x80 <= obj < 0: + return self._buffer.write(struct.pack(">Bb", 0xd0, obj)) + if 0xff < obj <= 0xffff: + return self._buffer.write(struct.pack(">BH", 0xcd, obj)) + if -0x8000 <= obj < -0x80: + return self._buffer.write(struct.pack(">Bh", 0xd1, obj)) + if 0xffff < obj <= 0xffffffff: + return self._buffer.write(struct.pack(">BI", 0xce, obj)) + if -0x80000000 <= obj < -0x8000: + return self._buffer.write(struct.pack(">Bi", 0xd2, obj)) + if 0xffffffff < obj <= 0xffffffffffffffff: + return self._buffer.write(struct.pack(">BQ", 0xcf, obj)) + if -0x8000000000000000 <= obj < -0x80000000: + return self._buffer.write(struct.pack(">Bq", 0xd3, obj)) + if not default_used and self._default is not None: + obj = self._default(obj) + default_used = True + continue + raise PackOverflowError("Integer value out of range") + if check(obj, (bytes, bytearray)): + n = len(obj) + if n >= 2**32: + raise PackValueError("%s is too large" % type(obj).__name__) + self._pack_bin_header(n) + return self._buffer.write(obj) + if check(obj, Unicode): + if self._encoding is None: + raise TypeError( + "Can't encode unicode string: " + "no encoding is specified") + obj = obj.encode(self._encoding, self._unicode_errors) + n = len(obj) + if n >= 2**32: + raise PackValueError("String is too large") + self._pack_raw_header(n) + return self._buffer.write(obj) + if check(obj, memoryview): + n = len(obj) * obj.itemsize + if n >= 2**32: + raise PackValueError("Memoryview is too large") + self._pack_bin_header(n) + return self._buffer.write(obj) + if check(obj, float): + if self._use_float: + return self._buffer.write(struct.pack(">Bf", 0xca, obj)) + return self._buffer.write(struct.pack(">Bd", 0xcb, obj)) + if check(obj, ExtType): + code = obj.code + data = obj.data + assert isinstance(code, int) + assert isinstance(data, bytes) + L = len(data) + if L == 1: + self._buffer.write(b'\xd4') + elif L == 2: + self._buffer.write(b'\xd5') + elif L == 4: + self._buffer.write(b'\xd6') + elif L == 8: + self._buffer.write(b'\xd7') + elif L == 16: + self._buffer.write(b'\xd8') + elif L <= 0xff: + self._buffer.write(struct.pack(">BB", 0xc7, L)) + elif L <= 0xffff: + self._buffer.write(struct.pack(">BH", 0xc8, L)) + else: + self._buffer.write(struct.pack(">BI", 0xc9, L)) + self._buffer.write(struct.pack("b", code)) + self._buffer.write(data) + return + if check(obj, list_types): + n = len(obj) + self._pack_array_header(n) + for i in xrange(n): + self._pack(obj[i], nest_limit - 1) + return + if check(obj, dict): + return self._pack_map_pairs(len(obj), dict_iteritems(obj), + nest_limit - 1) + if not default_used and self._default is not None: + obj = self._default(obj) + default_used = 1 + continue + raise TypeError("Cannot serialize %r" % (obj, )) + + def pack(self, obj): + try: + self._pack(obj) + except: + self._buffer = StringIO() # force reset + raise + ret = self._buffer.getvalue() + if self._autoreset: + self._buffer = StringIO() + elif USING_STRINGBUILDER: + self._buffer = StringIO(ret) + return ret + + def pack_map_pairs(self, pairs): + self._pack_map_pairs(len(pairs), pairs) + ret = self._buffer.getvalue() + if self._autoreset: + self._buffer = StringIO() + elif USING_STRINGBUILDER: + self._buffer = StringIO(ret) + return ret + + def pack_array_header(self, n): + if n >= 2**32: + raise PackValueError + self._pack_array_header(n) + ret = self._buffer.getvalue() + if self._autoreset: + self._buffer = StringIO() + elif USING_STRINGBUILDER: + self._buffer = StringIO(ret) + return ret + + def pack_map_header(self, n): + if n >= 2**32: + raise PackValueError + self._pack_map_header(n) + ret = self._buffer.getvalue() + if self._autoreset: + self._buffer = StringIO() + elif USING_STRINGBUILDER: + self._buffer = StringIO(ret) + return ret + + def pack_ext_type(self, typecode, data): + if not isinstance(typecode, int): + raise TypeError("typecode must have int type.") + if not 0 <= typecode <= 127: + raise ValueError("typecode should be 0-127") + if not isinstance(data, bytes): + raise TypeError("data must have bytes type") + L = len(data) + if L > 0xffffffff: + raise PackValueError("Too large data") + if L == 1: + self._buffer.write(b'\xd4') + elif L == 2: + self._buffer.write(b'\xd5') + elif L == 4: + self._buffer.write(b'\xd6') + elif L == 8: + self._buffer.write(b'\xd7') + elif L == 16: + self._buffer.write(b'\xd8') + elif L <= 0xff: + self._buffer.write(b'\xc7' + struct.pack('B', L)) + elif L <= 0xffff: + self._buffer.write(b'\xc8' + struct.pack('>H', L)) + else: + self._buffer.write(b'\xc9' + struct.pack('>I', L)) + self._buffer.write(struct.pack('B', typecode)) + self._buffer.write(data) + + def _pack_array_header(self, n): + if n <= 0x0f: + return self._buffer.write(struct.pack('B', 0x90 + n)) + if n <= 0xffff: + return self._buffer.write(struct.pack(">BH", 0xdc, n)) + if n <= 0xffffffff: + return self._buffer.write(struct.pack(">BI", 0xdd, n)) + raise PackValueError("Array is too large") + + def _pack_map_header(self, n): + if n <= 0x0f: + return self._buffer.write(struct.pack('B', 0x80 + n)) + if n <= 0xffff: + return self._buffer.write(struct.pack(">BH", 0xde, n)) + if n <= 0xffffffff: + return self._buffer.write(struct.pack(">BI", 0xdf, n)) + raise PackValueError("Dict is too large") + + def _pack_map_pairs(self, n, pairs, nest_limit=DEFAULT_RECURSE_LIMIT): + self._pack_map_header(n) + for (k, v) in pairs: + self._pack(k, nest_limit - 1) + self._pack(v, nest_limit - 1) + + def _pack_raw_header(self, n): + if n <= 0x1f: + self._buffer.write(struct.pack('B', 0xa0 + n)) + elif self._use_bin_type and n <= 0xff: + self._buffer.write(struct.pack('>BB', 0xd9, n)) + elif n <= 0xffff: + self._buffer.write(struct.pack(">BH", 0xda, n)) + elif n <= 0xffffffff: + self._buffer.write(struct.pack(">BI", 0xdb, n)) + else: + raise PackValueError('Raw is too large') + + def _pack_bin_header(self, n): + if not self._use_bin_type: + return self._pack_raw_header(n) + elif n <= 0xff: + return self._buffer.write(struct.pack('>BB', 0xc4, n)) + elif n <= 0xffff: + return self._buffer.write(struct.pack(">BH", 0xc5, n)) + elif n <= 0xffffffff: + return self._buffer.write(struct.pack(">BI", 0xc6, n)) + else: + raise PackValueError('Bin is too large') + + def bytes(self): + return self._buffer.getvalue() + + def reset(self): + self._buffer = StringIO() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__about__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__about__.py new file mode 100644 index 0000000..7481c9e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__about__.py @@ -0,0 +1,27 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +__all__ = [ + "__title__", + "__summary__", + "__uri__", + "__version__", + "__author__", + "__email__", + "__license__", + "__copyright__", +] + +__title__ = "packaging" +__summary__ = "Core utilities for Python packages" +__uri__ = "https://github.com/pypa/packaging" + +__version__ = "19.0" + +__author__ = "Donald Stufft and individual contributors" +__email__ = "donald@stufft.io" + +__license__ = "BSD or Apache License, Version 2.0" +__copyright__ = "Copyright 2014-2019 %s" % __author__ diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__init__.py new file mode 100644 index 0000000..a0cf67d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/__init__.py @@ -0,0 +1,26 @@ +# 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_compat.py new file mode 100644 index 0000000..25da473 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_compat.py @@ -0,0 +1,31 @@ +# 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_structures.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_structures.py new file mode 100644 index 0000000..68dcca6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/_structures.py @@ -0,0 +1,68 @@ +# 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/markers.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/markers.py new file mode 100644 index 0000000..5482476 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/markers.py @@ -0,0 +1,296 @@ +# 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 pip._vendor.pyparsing import ParseException, ParseResults, stringStart, stringEnd +from pip._vendor.pyparsing import ZeroOrMore, Group, Forward, QuotedString +from pip._vendor.pyparsing import Literal as L # noqa + +from ._compat import string_types +from .specifiers import Specifier, InvalidSpecifier + + +__all__ = [ + "InvalidMarker", + "UndefinedComparison", + "UndefinedEnvironmentName", + "Marker", + "default_environment", +] + + +class InvalidMarker(ValueError): + """ + An invalid marker was found, users should refer to PEP 508. + """ + + +class UndefinedComparison(ValueError): + """ + An invalid operation was attempted on a value that doesn't support it. + """ + + +class UndefinedEnvironmentName(ValueError): + """ + A name was attempted to be used that does not exist inside of the + environment. + """ + + +class Node(object): + def __init__(self, value): + self.value = value + + def __str__(self): + return str(self.value) + + def __repr__(self): + return "<{0}({1!r})>".format(self.__class__.__name__, str(self)) + + def serialize(self): + raise NotImplementedError + + +class Variable(Node): + def serialize(self): + return str(self) + + +class Value(Node): + def serialize(self): + return '"{0}"'.format(self) + + +class Op(Node): + def serialize(self): + return str(self) + + +VARIABLE = ( + L("implementation_version") + | L("platform_python_implementation") + | L("implementation_name") + | L("python_full_version") + | L("platform_release") + | L("platform_version") + | L("platform_machine") + | L("platform_system") + | L("python_version") + | L("sys_platform") + | L("os_name") + | L("os.name") + | L("sys.platform") # PEP-345 + | L("platform.version") # PEP-345 + | L("platform.machine") # PEP-345 + | L("platform.python_implementation") # PEP-345 + | L("python_implementation") # PEP-345 + | L("extra") # undocumented setuptools legacy +) +ALIASES = { + "os.name": "os_name", + "sys.platform": "sys_platform", + "platform.version": "platform_version", + "platform.machine": "platform_machine", + "platform.python_implementation": "platform_python_implementation", + "python_implementation": "platform_python_implementation", +} +VARIABLE.setParseAction(lambda s, l, t: Variable(ALIASES.get(t[0], t[0]))) + +VERSION_CMP = ( + L("===") | L("==") | L(">=") | L("<=") | L("!=") | L("~=") | L(">") | L("<") +) + +MARKER_OP = VERSION_CMP | L("not in") | L("in") +MARKER_OP.setParseAction(lambda s, l, t: Op(t[0])) + +MARKER_VALUE = QuotedString("'") | QuotedString('"') +MARKER_VALUE.setParseAction(lambda s, l, t: Value(t[0])) + +BOOLOP = L("and") | L("or") + +MARKER_VAR = VARIABLE | MARKER_VALUE + +MARKER_ITEM = Group(MARKER_VAR + MARKER_OP + MARKER_VAR) +MARKER_ITEM.setParseAction(lambda s, l, t: tuple(t[0])) + +LPAREN = L("(").suppress() +RPAREN = L(")").suppress() + +MARKER_EXPR = Forward() +MARKER_ATOM = MARKER_ITEM | Group(LPAREN + MARKER_EXPR + RPAREN) +MARKER_EXPR << MARKER_ATOM + ZeroOrMore(BOOLOP + MARKER_EXPR) + +MARKER = stringStart + MARKER_EXPR + stringEnd + + +def _coerce_parse_result(results): + if isinstance(results, ParseResults): + return [_coerce_parse_result(i) for i in results] + else: + return results + + +def _format_marker(marker, first=True): + assert isinstance(marker, (list, tuple, string_types)) + + # Sometimes we have a structure like [[...]] which is a single item list + # where the single item is itself it's own list. In that case we want skip + # the rest of this function so that we don't get extraneous () on the + # outside. + if ( + isinstance(marker, list) + and len(marker) == 1 + and isinstance(marker[0], (list, tuple)) + ): + return _format_marker(marker[0]) + + if isinstance(marker, list): + inner = (_format_marker(m, first=False) for m in marker) + if first: + return " ".join(inner) + else: + return "(" + " ".join(inner) + ")" + elif isinstance(marker, tuple): + return " ".join([m.serialize() for m in marker]) + else: + return marker + + +_operators = { + "in": lambda lhs, rhs: lhs in rhs, + "not in": lambda lhs, rhs: lhs not in rhs, + "<": operator.lt, + "<=": operator.le, + "==": operator.eq, + "!=": operator.ne, + ">=": operator.ge, + ">": operator.gt, +} + + +def _eval_op(lhs, op, rhs): + try: + spec = Specifier("".join([op.serialize(), rhs])) + except InvalidSpecifier: + pass + else: + return spec.contains(lhs) + + oper = _operators.get(op.serialize()) + if oper is None: + raise UndefinedComparison( + "Undefined {0!r} on {1!r} and {2!r}.".format(op, lhs, rhs) + ) + + return oper(lhs, rhs) + + +_undefined = object() + + +def _get_env(environment, name): + value = environment.get(name, _undefined) + + if value is _undefined: + raise UndefinedEnvironmentName( + "{0!r} does not exist in evaluation environment.".format(name) + ) + + return value + + +def _evaluate_markers(markers, environment): + groups = [[]] + + for marker in markers: + assert isinstance(marker, (list, tuple, string_types)) + + if isinstance(marker, list): + groups[-1].append(_evaluate_markers(marker, environment)) + elif isinstance(marker, tuple): + lhs, op, rhs = marker + + if isinstance(lhs, Variable): + lhs_value = _get_env(environment, lhs.value) + rhs_value = rhs.value + else: + lhs_value = lhs.value + rhs_value = _get_env(environment, rhs.value) + + groups[-1].append(_eval_op(lhs_value, op, rhs_value)) + else: + assert marker in ["and", "or"] + if marker == "or": + groups.append([]) + + return any(all(item) for item in groups) + + +def format_full_version(info): + version = "{0.major}.{0.minor}.{0.micro}".format(info) + kind = info.releaselevel + if kind != "final": + version += kind[0] + str(info.serial) + return version + + +def default_environment(): + if hasattr(sys, "implementation"): + iver = format_full_version(sys.implementation.version) + implementation_name = sys.implementation.name + else: + iver = "0" + implementation_name = "" + + return { + "implementation_name": implementation_name, + "implementation_version": iver, + "os_name": os.name, + "platform_machine": platform.machine(), + "platform_release": platform.release(), + "platform_system": platform.system(), + "platform_version": platform.version(), + "python_full_version": platform.python_version(), + "platform_python_implementation": platform.python_implementation(), + "python_version": 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/requirements.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/requirements.py new file mode 100644 index 0000000..dbc5f11 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/requirements.py @@ -0,0 +1,138 @@ +# 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 pip._vendor.pyparsing import stringStart, stringEnd, originalTextFor, ParseException +from pip._vendor.pyparsing import ZeroOrMore, Word, Optional, Regex, Combine +from pip._vendor.pyparsing import Literal as L # noqa +from pip._vendor.six.moves.urllib import parse as urlparse + +from .markers import MARKER_EXPR, Marker +from .specifiers import LegacySpecifier, Specifier, SpecifierSet + + +class InvalidRequirement(ValueError): + """ + An invalid requirement was found, users should refer to PEP 508. + """ + + +ALPHANUM = Word(string.ascii_letters + string.digits) + +LBRACKET = L("[").suppress() +RBRACKET = L("]").suppress() +LPAREN = L("(").suppress() +RPAREN = L(")").suppress() +COMMA = L(",").suppress() +SEMICOLON = L(";").suppress() +AT = L("@").suppress() + +PUNCTUATION = Word("-_.") +IDENTIFIER_END = ALPHANUM | (ZeroOrMore(PUNCTUATION) + ALPHANUM) +IDENTIFIER = Combine(ALPHANUM + ZeroOrMore(IDENTIFIER_END)) + +NAME = IDENTIFIER("name") +EXTRA = IDENTIFIER + +URI = Regex(r"[^ ]+")("url") +URL = AT + URI + +EXTRAS_LIST = EXTRA + ZeroOrMore(COMMA + EXTRA) +EXTRAS = (LBRACKET + Optional(EXTRAS_LIST) + RBRACKET)("extras") + +VERSION_PEP440 = Regex(Specifier._regex_str, re.VERBOSE | re.IGNORECASE) +VERSION_LEGACY = Regex(LegacySpecifier._regex_str, re.VERBOSE | re.IGNORECASE) + +VERSION_ONE = VERSION_PEP440 ^ VERSION_LEGACY +VERSION_MANY = Combine( + VERSION_ONE + ZeroOrMore(COMMA + VERSION_ONE), joinString=",", adjacent=False +)("_raw_spec") +_VERSION_SPEC = Optional(((LPAREN + VERSION_MANY + RPAREN) | VERSION_MANY)) +_VERSION_SPEC.setParseAction(lambda s, l, t: t._raw_spec or "") + +VERSION_SPEC = originalTextFor(_VERSION_SPEC)("specifier") +VERSION_SPEC.setParseAction(lambda s, l, t: t[1]) + +MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker") +MARKER_EXPR.setParseAction( + lambda s, l, t: Marker(s[t._original_start : t._original_end]) +) +MARKER_SEPARATOR = SEMICOLON +MARKER = MARKER_SEPARATOR + MARKER_EXPR + +VERSION_AND_MARKER = VERSION_SPEC + Optional(MARKER) +URL_AND_MARKER = URL + Optional(MARKER) + +NAMED_REQUIREMENT = NAME + Optional(EXTRAS) + (URL_AND_MARKER | VERSION_AND_MARKER) + +REQUIREMENT = stringStart + NAMED_REQUIREMENT + stringEnd +# pyparsing isn't thread safe during initialization, so we do it eagerly, see +# issue #104 +REQUIREMENT.parseString("x[]") + + +class Requirement(object): + """Parse a requirement. + + Parse a given requirement string into its parts, such as name, specifier, + URL, and extras. Raises InvalidRequirement on a badly-formed requirement + string. + """ + + # TODO: Can we test whether something is contained within a requirement? + # If so how do we do that? Do we need to test against the _name_ of + # the thing as well as the version? What about the markers? + # TODO: Can we normalize the name and extra name? + + def __init__(self, requirement_string): + try: + req = REQUIREMENT.parseString(requirement_string) + except ParseException as e: + raise InvalidRequirement( + 'Parse error at "{0!r}": {1}'.format( + requirement_string[e.loc : e.loc + 8], e.msg + ) + ) + + self.name = req.name + if req.url: + parsed_url = urlparse.urlparse(req.url) + if parsed_url.scheme == "file": + if urlparse.urlunparse(parsed_url) != req.url: + raise InvalidRequirement("Invalid URL given") + elif not (parsed_url.scheme and parsed_url.netloc) or ( + not parsed_url.scheme and not parsed_url.netloc + ): + raise InvalidRequirement("Invalid URL: {0}".format(req.url)) + self.url = req.url + else: + self.url = None + self.extras = set(req.extras.asList() if req.extras else []) + self.specifier = SpecifierSet(req.specifier) + self.marker = req.marker if req.marker else None + + def __str__(self): + parts = [self.name] + + if self.extras: + parts.append("[{0}]".format(",".join(sorted(self.extras)))) + + if self.specifier: + parts.append(str(self.specifier)) + + if self.url: + parts.append("@ {0}".format(self.url)) + if self.marker: + parts.append(" ") + + if self.marker: + parts.append("; {0}".format(self.marker)) + + return "".join(parts) + + def __repr__(self): + return "<Requirement({0!r})>".format(str(self)) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/specifiers.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/specifiers.py new file mode 100644 index 0000000..743576a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/specifiers.py @@ -0,0 +1,749 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +import abc +import functools +import itertools +import re + +from ._compat import string_types, with_metaclass +from .version import Version, LegacyVersion, parse + + +class InvalidSpecifier(ValueError): + """ + An invalid specifier was found, users should refer to PEP 440. + """ + + +class BaseSpecifier(with_metaclass(abc.ABCMeta, object)): + @abc.abstractmethod + def __str__(self): + """ + Returns the str representation of this Specifier like object. This + should be representative of the Specifier itself. + """ + + @abc.abstractmethod + def __hash__(self): + """ + Returns a hash value for this Specifier like object. + """ + + @abc.abstractmethod + def __eq__(self, other): + """ + Returns a boolean representing whether or not the two Specifier like + objects are equal. + """ + + @abc.abstractmethod + def __ne__(self, other): + """ + Returns a boolean representing whether or not the two Specifier like + objects are not equal. + """ + + @abc.abstractproperty + def prereleases(self): + """ + Returns whether or not pre-releases as a whole are allowed by this + specifier. + """ + + @prereleases.setter + def prereleases(self, value): + """ + Sets whether or not pre-releases as a whole are allowed by this + specifier. + """ + + @abc.abstractmethod + def contains(self, item, prereleases=None): + """ + Determines if the given item is contained within this specifier. + """ + + @abc.abstractmethod + def filter(self, iterable, prereleases=None): + """ + Takes an iterable of items and filters them so that only items which + are contained within this specifier are allowed in it. + """ + + +class _IndividualSpecifier(BaseSpecifier): + + _operators = {} + + def __init__(self, spec="", prereleases=None): + match = self._regex.search(spec) + if not match: + raise InvalidSpecifier("Invalid specifier: '{0}'".format(spec)) + + self._spec = (match.group("operator").strip(), match.group("version").strip()) + + # Store whether or not this Specifier should accept prereleases + self._prereleases = prereleases + + def __repr__(self): + pre = ( + ", prereleases={0!r}".format(self.prereleases) + if self._prereleases is not None + else "" + ) + + return "<{0}({1!r}{2})>".format(self.__class__.__name__, str(self), pre) + + def __str__(self): + return "{0}{1}".format(*self._spec) + + def __hash__(self): + return hash(self._spec) + + def __eq__(self, other): + if isinstance(other, string_types): + try: + other = self.__class__(other) + except InvalidSpecifier: + return NotImplemented + elif not isinstance(other, self.__class__): + return NotImplemented + + return self._spec == other._spec + + def __ne__(self, other): + if isinstance(other, string_types): + try: + other = self.__class__(other) + except InvalidSpecifier: + return NotImplemented + elif not isinstance(other, self.__class__): + return NotImplemented + + return self._spec != other._spec + + def _get_operator(self, op): + return getattr(self, "_compare_{0}".format(self._operators[op])) + + def _coerce_version(self, version): + if not isinstance(version, (LegacyVersion, Version)): + version = parse(version) + return version + + @property + def operator(self): + return self._spec[0] + + @property + def version(self): + return self._spec[1] + + @property + def prereleases(self): + return self._prereleases + + @prereleases.setter + def prereleases(self, value): + self._prereleases = value + + def __contains__(self, item): + return self.contains(item) + + def contains(self, item, prereleases=None): + # Determine if prereleases are to be allowed or not. + if prereleases is None: + prereleases = self.prereleases + + # Normalize item to a Version or LegacyVersion, this allows us to have + # a shortcut for ``"2.0" in Specifier(">=2") + item = self._coerce_version(item) + + # Determine if we should be supporting prereleases in this specifier + # or not, if we do not support prereleases than we can short circuit + # logic if this version is a prereleases. + if item.is_prerelease and not prereleases: + return False + + # Actually do the comparison to determine if this item is contained + # within this Specifier or not. + return self._get_operator(self.operator)(item, self.version) + + def filter(self, iterable, prereleases=None): + yielded = False + found_prereleases = [] + + kw = {"prereleases": prereleases if prereleases is not None else True} + + # Attempt to iterate over all the values in the iterable and if any of + # them match, yield them. + for version in iterable: + parsed_version = self._coerce_version(version) + + if self.contains(parsed_version, **kw): + # If our version is a prerelease, and we were not set to allow + # prereleases, then we'll store it for later incase nothing + # else matches this specifier. + if parsed_version.is_prerelease and not ( + prereleases or self.prereleases + ): + found_prereleases.append(version) + # Either this is not a prerelease, or we should have been + # accepting prereleases from the beginning. + else: + yielded = True + yield version + + # Now that we've iterated over everything, determine if we've yielded + # any values, and if we have not and we have any prereleases stored up + # then we will go ahead and yield the prereleases. + if not yielded and found_prereleases: + for version in found_prereleases: + yield version + + +class LegacySpecifier(_IndividualSpecifier): + + _regex_str = r""" + (?P<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 technically greater than, to match. + if prospective.local is not None: + if Version(prospective.base_version) == Version(spec.base_version): + return False + + # If we've gotten to here, it means that prospective version is both + # greater than the spec version *and* it's not a pre-release of the + # same version in the spec. + return True + + def _compare_arbitrary(self, prospective, spec): + return str(prospective).lower() == str(spec).lower() + + @property + def prereleases(self): + # If there is an explicit prereleases set for this, then we'll just + # blindly use that. + if self._prereleases is not None: + return self._prereleases + + # Look at all of our specifiers and determine if they are inclusive + # operators, and if they are if they are including an explicit + # prerelease. + operator, version = self._spec + if operator in ["==", ">=", "<=", "~=", "==="]: + # The == specifier can include a trailing .*, if it does we + # want to remove before parsing. + if operator == "==" and version.endswith(".*"): + version = version[:-2] + + # Parse the version, and if it is a pre-release than this + # specifier allows pre-releases. + if parse(version).is_prerelease: + return True + + return False + + @prereleases.setter + def prereleases(self, value): + self._prereleases = value + + +_prefix_regex = re.compile(r"^([0-9]+)((?:a|b|c|rc)[0-9]+)$") + + +def _version_split(version): + result = [] + for item in version.split("."): + match = _prefix_regex.search(item) + if match: + result.extend(match.groups()) + else: + result.append(item) + return result + + +def _pad_version(left, right): + left_split, right_split = [], [] + + # Get the release segment of our versions + left_split.append(list(itertools.takewhile(lambda x: x.isdigit(), left))) + right_split.append(list(itertools.takewhile(lambda x: x.isdigit(), right))) + + # Get the rest of our versions + left_split.append(left[len(left_split[0]) :]) + right_split.append(right[len(right_split[0]) :]) + + # Insert our padding + left_split.insert(1, ["0"] * max(0, len(right_split[0]) - len(left_split[0]))) + right_split.insert(1, ["0"] * max(0, len(left_split[0]) - len(right_split[0]))) + + return (list(itertools.chain(*left_split)), list(itertools.chain(*right_split))) + + +class SpecifierSet(BaseSpecifier): + def __init__(self, specifiers="", prereleases=None): + # Split on , to break each indidivual specifier into it's own item, and + # strip each item to remove leading/trailing whitespace. + specifiers = [s.strip() for s in specifiers.split(",") if s.strip()] + + # Parsed each individual specifier, attempting first to make it a + # Specifier and falling back to a LegacySpecifier. + parsed = set() + for specifier in specifiers: + try: + parsed.add(Specifier(specifier)) + except InvalidSpecifier: + parsed.add(LegacySpecifier(specifier)) + + # Turn our parsed specifiers into a frozen set and save them for later. + self._specs = frozenset(parsed) + + # Store our prereleases value so we can use it later to determine if + # we accept prereleases or not. + self._prereleases = prereleases + + def __repr__(self): + pre = ( + ", prereleases={0!r}".format(self.prereleases) + if self._prereleases is not None + else "" + ) + + return "<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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/utils.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/utils.py new file mode 100644 index 0000000..8841878 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/utils.py @@ -0,0 +1,57 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +import re + +from .version import InvalidVersion, Version + + +_canonicalize_regex = re.compile(r"[-_.]+") + + +def canonicalize_name(name): + # This is taken from PEP 503. + return _canonicalize_regex.sub("-", name).lower() + + +def canonicalize_version(version): + """ + This is very similar to Version.__str__, but has one subtle differences + with the way it handles the release segment. + """ + + try: + version = Version(version) + except InvalidVersion: + # Legacy versions cannot be normalized + return version + + parts = [] + + # Epoch + if version.epoch != 0: + parts.append("{0}!".format(version.epoch)) + + # Release segment + # NB: This strips trailing '.0's to normalize + parts.append(re.sub(r"(\.0)+$", "", ".".join(str(x) for x in version.release))) + + # Pre-release + if version.pre is not None: + parts.append("".join(str(x) for x in version.pre)) + + # Post-release + if version.post is not None: + parts.append(".post{0}".format(version.post)) + + # Development release + if version.dev is not None: + parts.append(".dev{0}".format(version.dev)) + + # Local version segment + if version.local is not None: + parts.append("+{0}".format(version.local)) + + return "".join(parts) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/version.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/version.py new file mode 100644 index 0000000..95157a1 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/packaging/version.py @@ -0,0 +1,420 @@ +# 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 epoch(self): + return -1 + + @property + def release(self): + return None + + @property + def pre(self): + return None + + @property + def post(self): + return None + + @property + def dev(self): + return None + + @property + def local(self): + return None + + @property + def is_prerelease(self): + return False + + @property + def is_postrelease(self): + return False + + @property + def is_devrelease(self): + return False + + +_legacy_version_component_re = re.compile(r"(\d+ | [a-z]+ | \.| -)", re.VERBOSE) + +_legacy_version_replacement_map = { + "pre": "c", + "preview": "c", + "-": "final-", + "rc": "c", + "dev": "@", +} + + +def _parse_version_parts(s): + for part in _legacy_version_component_re.split(s): + part = _legacy_version_replacement_map.get(part, part) + + if not part or part == ".": + continue + + if part[:1] in "0123456789": + # pad for numeric comparison + yield part.zfill(8) + else: + yield "*" + part + + # ensure that alpha/beta/candidate are before final + yield "*final" + + +def _legacy_cmpkey(version): + # We hardcode an epoch of -1 here. A PEP 440 version can only have a epoch + # greater than or equal to 0. This will effectively put the LegacyVersion, + # which uses the defacto standard originally implemented by setuptools, + # as before all PEP 440 versions. + epoch = -1 + + # This scheme is taken from pkg_resources.parse_version setuptools prior to + # it's adoption of the packaging library. + parts = [] + for part in _parse_version_parts(version.lower()): + if part.startswith("*"): + # remove "-" before a prerelease tag + if part < "*final": + while parts and parts[-1] == "*final-": + parts.pop() + + # remove trailing zeros from each series of numeric parts + while parts and parts[-1] == "00000000": + parts.pop() + + parts.append(part) + parts = tuple(parts) + + return epoch, parts + + +# Deliberately not anchored to the start and end of the string, to make it +# easier for 3rd party code to reuse +VERSION_PATTERN = r""" + v? + (?: + (?:(?P<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.epoch != 0: + parts.append("{0}!".format(self.epoch)) + + # Release segment + parts.append(".".join(str(x) for x in self.release)) + + # Pre-release + if self.pre is not None: + parts.append("".join(str(x) for x in self.pre)) + + # Post-release + if self.post is not None: + parts.append(".post{0}".format(self.post)) + + # Development release + if self.dev is not None: + parts.append(".dev{0}".format(self.dev)) + + # Local version segment + if self.local is not None: + parts.append("+{0}".format(self.local)) + + return "".join(parts) + + @property + def epoch(self): + return self._version.epoch + + @property + def release(self): + return self._version.release + + @property + def pre(self): + return self._version.pre + + @property + def post(self): + return self._version.post[1] if self._version.post else None + + @property + def dev(self): + return self._version.dev[1] if self._version.dev else None + + @property + def local(self): + if self._version.local: + return ".".join(str(x) for x in self._version.local) + else: + return None + + @property + def public(self): + return str(self).split("+", 1)[0] + + @property + def base_version(self): + parts = [] + + # Epoch + if self.epoch != 0: + parts.append("{0}!".format(self.epoch)) + + # Release segment + parts.append(".".join(str(x) for x in self.release)) + + return "".join(parts) + + @property + def is_prerelease(self): + return self.dev is not None or self.pre is not None + + @property + def is_postrelease(self): + return self.post is not None + + @property + def is_devrelease(self): + return self.dev is not None + + +def _parse_letter_version(letter, number): + if letter: + # We consider there to be an implicit 0 in a pre-release if there is + # not a numeral associated with it. + if number is None: + number = 0 + + # We normalize any letters to their lower case form + letter = letter.lower() + + # We consider some words to be alternate spellings of other words and + # in those cases we want to normalize the spellings to our preferred + # spelling. + if letter == "alpha": + letter = "a" + elif letter == "beta": + letter = "b" + elif letter in ["c", "pre", "preview"]: + letter = "rc" + elif letter in ["rev", "r"]: + letter = "post" + + return letter, int(number) + if not letter and number: + # We assume if we are given a number, but we are not given a letter + # then this is using the implicit post release syntax (e.g. 1.0-1) + letter = "post" + + return letter, int(number) + + +_local_version_separators = re.compile(r"[\._-]") + + +def _parse_local_version(local): + """ + Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve"). + """ + if local is not None: + return tuple( + part.lower() if not part.isdigit() else int(part) + for part in _local_version_separators.split(local) + ) + + +def _cmpkey(epoch, release, pre, post, dev, local): + # When we compare a release version, we want to compare it with all of the + # trailing zeros removed. So we'll use a reverse the list, drop all the now + # leading zeros until we come to something non zero, then take the rest + # re-reverse it back into the correct order and make it a tuple and use + # that for our sorting key. + release = tuple( + reversed(list(itertools.dropwhile(lambda x: x == 0, reversed(release)))) + ) + + # We need to "trick" the sorting algorithm to put 1.0.dev0 before 1.0a0. + # We'll do this by abusing the pre segment, but we _only_ want to do this + # if there is not a pre or a post segment. If we have one of those then + # the normal sorting rules will handle this case correctly. + if pre is None and post is None and dev is not None: + pre = -Infinity + # Versions without a pre-release (except as noted above) should sort after + # those with one. + elif pre is None: + pre = Infinity + + # Versions without a post segment should sort before those with one. + if post is None: + post = -Infinity + + # Versions without a development segment should sort after those with one. + if dev is None: + dev = Infinity + + if local is None: + # Versions without a local segment should sort before those with one. + local = -Infinity + else: + # Versions with a local segment need that segment parsed to implement + # the sorting rules in PEP440. + # - Alpha numeric segments sort before numeric segments + # - Alpha numeric segments sort lexicographically + # - Numeric segments sort numerically + # - Shorter versions sort before longer versions when the prefixes + # match exactly + local = tuple((i, "") if isinstance(i, int) else (-Infinity, i) for i in local) + + return epoch, release, pre, post, dev, local diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__init__.py new file mode 100644 index 0000000..9c1a098 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/__init__.py @@ -0,0 +1,4 @@ +"""Wrappers to build Python packages using PEP 517 hooks +""" + +__version__ = '0.5.0' diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/_in_process.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/_in_process.py new file mode 100644 index 0000000..d6524b6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/_in_process.py @@ -0,0 +1,207 @@ +"""This is invoked in a subprocess to call the build backend hooks. + +It expects: +- Command line args: hook_name, control_dir +- Environment variable: PEP517_BUILD_BACKEND=entry.point:spec +- control_dir/input.json: + - {"kwargs": {...}} + +Results: +- control_dir/output.json + - {"return_val": ...} +""" +from glob import glob +from importlib import import_module +import os +from os.path import join as pjoin +import re +import shutil +import sys + +# This is run as a script, not a module, so it can't do a relative import +import compat + + +class BackendUnavailable(Exception): + """Raised if we cannot import the backend""" + + +def _build_backend(): + """Find and load the build backend""" + ep = os.environ['PEP517_BUILD_BACKEND'] + mod_path, _, obj_path = ep.partition(':') + try: + obj = import_module(mod_path) + except ImportError: + raise BackendUnavailable + if obj_path: + for path_part in obj_path.split('.'): + obj = getattr(obj, path_part) + return obj + + +def get_requires_for_build_wheel(config_settings): + """Invoke the optional get_requires_for_build_wheel hook + + Returns [] if the hook is not defined. + """ + backend = _build_backend() + try: + hook = backend.get_requires_for_build_wheel + except AttributeError: + return [] + else: + return hook(config_settings) + + +def prepare_metadata_for_build_wheel(metadata_directory, config_settings): + """Invoke optional prepare_metadata_for_build_wheel + + Implements a fallback by building a wheel if the hook isn't defined. + """ + backend = _build_backend() + try: + hook = backend.prepare_metadata_for_build_wheel + except AttributeError: + return _get_wheel_metadata_from_wheel(backend, metadata_directory, + config_settings) + else: + return hook(metadata_directory, config_settings) + + +WHEEL_BUILT_MARKER = 'PEP517_ALREADY_BUILT_WHEEL' + + +def _dist_info_files(whl_zip): + """Identify the .dist-info folder inside a wheel ZipFile.""" + res = [] + for path in whl_zip.namelist(): + m = re.match(r'[^/\\]+-[^/\\]+\.dist-info/', path) + if m: + res.append(path) + if res: + return res + raise Exception("No .dist-info folder found in wheel") + + +def _get_wheel_metadata_from_wheel( + backend, metadata_directory, config_settings): + """Build a wheel and extract the metadata from it. + + Fallback for when the build backend does not + define the 'get_wheel_metadata' hook. + """ + from zipfile import ZipFile + whl_basename = backend.build_wheel(metadata_directory, config_settings) + with open(os.path.join(metadata_directory, WHEEL_BUILT_MARKER), 'wb'): + pass # Touch marker file + + whl_file = os.path.join(metadata_directory, whl_basename) + with ZipFile(whl_file) as zipf: + dist_info = _dist_info_files(zipf) + zipf.extractall(path=metadata_directory, members=dist_info) + return dist_info[0].split('/')[0] + + +def _find_already_built_wheel(metadata_directory): + """Check for a wheel already built during the get_wheel_metadata hook. + """ + if not metadata_directory: + return None + metadata_parent = os.path.dirname(metadata_directory) + if not os.path.isfile(pjoin(metadata_parent, WHEEL_BUILT_MARKER)): + return None + + whl_files = glob(os.path.join(metadata_parent, '*.whl')) + if not whl_files: + print('Found wheel built marker, but no .whl files') + return None + if len(whl_files) > 1: + print('Found multiple .whl files; unspecified behaviour. ' + 'Will call build_wheel.') + return None + + # Exactly one .whl file + return whl_files[0] + + +def build_wheel(wheel_directory, config_settings, metadata_directory=None): + """Invoke the mandatory build_wheel hook. + + If a wheel was already built in the + prepare_metadata_for_build_wheel fallback, this + will copy it rather than rebuilding the wheel. + """ + prebuilt_whl = _find_already_built_wheel(metadata_directory) + if prebuilt_whl: + shutil.copy2(prebuilt_whl, wheel_directory) + return os.path.basename(prebuilt_whl) + + return _build_backend().build_wheel(wheel_directory, config_settings, + metadata_directory) + + +def get_requires_for_build_sdist(config_settings): + """Invoke the optional get_requires_for_build_wheel hook + + Returns [] if the hook is not defined. + """ + backend = _build_backend() + try: + hook = backend.get_requires_for_build_sdist + except AttributeError: + return [] + else: + return hook(config_settings) + + +class _DummyException(Exception): + """Nothing should ever raise this exception""" + + +class GotUnsupportedOperation(Exception): + """For internal use when backend raises UnsupportedOperation""" + + +def build_sdist(sdist_directory, config_settings): + """Invoke the mandatory build_sdist hook.""" + backend = _build_backend() + try: + return backend.build_sdist(sdist_directory, config_settings) + except getattr(backend, 'UnsupportedOperation', _DummyException): + raise GotUnsupportedOperation + + +HOOK_NAMES = { + 'get_requires_for_build_wheel', + 'prepare_metadata_for_build_wheel', + 'build_wheel', + 'get_requires_for_build_sdist', + 'build_sdist', +} + + +def main(): + if len(sys.argv) < 3: + sys.exit("Needs args: hook_name, control_dir") + hook_name = sys.argv[1] + control_dir = sys.argv[2] + if hook_name not in HOOK_NAMES: + sys.exit("Unknown hook: %s" % hook_name) + hook = globals()[hook_name] + + hook_input = compat.read_json(pjoin(control_dir, 'input.json')) + + json_out = {'unsupported': False, 'return_val': None} + try: + json_out['return_val'] = hook(**hook_input['kwargs']) + except BackendUnavailable: + json_out['no_backend'] = True + except GotUnsupportedOperation: + json_out['unsupported'] = True + + compat.write_json(json_out, pjoin(control_dir, 'output.json'), indent=2) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/build.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/build.py new file mode 100644 index 0000000..ac6c949 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/build.py @@ -0,0 +1,108 @@ +"""Build a project using PEP 517 hooks. +""" +import argparse +import logging +import os +import contextlib +from pip._vendor import pytoml +import shutil +import errno +import tempfile + +from .envbuild import BuildEnvironment +from .wrappers import Pep517HookCaller + +log = logging.getLogger(__name__) + + +@contextlib.contextmanager +def tempdir(): + td = tempfile.mkdtemp() + try: + yield td + finally: + shutil.rmtree(td) + + +def _do_build(hooks, env, dist, dest): + get_requires_name = 'get_requires_for_build_{dist}'.format(**locals()) + get_requires = getattr(hooks, get_requires_name) + reqs = get_requires({}) + log.info('Got build requires: %s', reqs) + + env.pip_install(reqs) + log.info('Installed dynamic build dependencies') + + with tempdir() as td: + log.info('Trying to build %s in %s', dist, td) + build_name = 'build_{dist}'.format(**locals()) + build = getattr(hooks, build_name) + filename = build(td, {}) + source = os.path.join(td, filename) + shutil.move(source, os.path.join(dest, os.path.basename(filename))) + + +def mkdir_p(*args, **kwargs): + """Like `mkdir`, but does not raise an exception if the + directory already exists. + """ + try: + return os.mkdir(*args, **kwargs) + except OSError as exc: + if exc.errno != errno.EEXIST: + raise + + +def build(source_dir, dist, dest=None): + pyproject = os.path.join(source_dir, 'pyproject.toml') + dest = os.path.join(source_dir, dest or 'dist') + mkdir_p(dest) + + with open(pyproject) as f: + pyproject_data = pytoml.load(f) + # Ensure the mandatory data can be loaded + buildsys = pyproject_data['build-system'] + requires = buildsys['requires'] + backend = buildsys['build-backend'] + + hooks = Pep517HookCaller(source_dir, backend) + + with BuildEnvironment() as env: + env.pip_install(requires) + _do_build(hooks, env, dist, dest) + + +parser = argparse.ArgumentParser() +parser.add_argument( + 'source_dir', + help="A directory containing pyproject.toml", +) +parser.add_argument( + '--binary', '-b', + action='store_true', + default=False, +) +parser.add_argument( + '--source', '-s', + action='store_true', + default=False, +) +parser.add_argument( + '--out-dir', '-o', + help="Destination in which to save the builds relative to source dir", +) + + +def main(args): + # determine which dists to build + dists = list(filter(None, ( + 'sdist' if args.source or not args.binary else None, + 'wheel' if args.binary or not args.source else None, + ))) + + for dist in dists: + build(args.source_dir, dist, args.out_dir) + + +if __name__ == '__main__': + main(parser.parse_args()) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/check.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/check.py new file mode 100644 index 0000000..f4cdc6b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/check.py @@ -0,0 +1,202 @@ +"""Check a project and backend by attempting to build using PEP 517 hooks. +""" +import argparse +import logging +import os +from os.path import isfile, join as pjoin +from pip._vendor.pytoml import TomlError, load as toml_load +import shutil +from subprocess import CalledProcessError +import sys +import tarfile +from tempfile import mkdtemp +import zipfile + +from .colorlog import enable_colourful_output +from .envbuild import BuildEnvironment +from .wrappers import Pep517HookCaller + +log = logging.getLogger(__name__) + + +def check_build_sdist(hooks, build_sys_requires): + with BuildEnvironment() as env: + try: + env.pip_install(build_sys_requires) + log.info('Installed static build dependencies') + except CalledProcessError: + log.error('Failed to install static build dependencies') + return False + + try: + reqs = hooks.get_requires_for_build_sdist({}) + log.info('Got build requires: %s', reqs) + except Exception: + log.error('Failure in get_requires_for_build_sdist', exc_info=True) + return False + + try: + env.pip_install(reqs) + log.info('Installed dynamic build dependencies') + except CalledProcessError: + log.error('Failed to install dynamic build dependencies') + return False + + td = mkdtemp() + log.info('Trying to build sdist in %s', td) + try: + try: + filename = hooks.build_sdist(td, {}) + log.info('build_sdist returned %r', filename) + except Exception: + log.info('Failure in build_sdist', exc_info=True) + return False + + if not filename.endswith('.tar.gz'): + log.error( + "Filename %s doesn't have .tar.gz extension", filename) + return False + + path = pjoin(td, filename) + if isfile(path): + log.info("Output file %s exists", path) + else: + log.error("Output file %s does not exist", path) + return False + + if tarfile.is_tarfile(path): + log.info("Output file is a tar file") + else: + log.error("Output file is not a tar file") + return False + + finally: + shutil.rmtree(td) + + return True + + +def check_build_wheel(hooks, build_sys_requires): + with BuildEnvironment() as env: + try: + env.pip_install(build_sys_requires) + log.info('Installed static build dependencies') + except CalledProcessError: + log.error('Failed to install static build dependencies') + return False + + try: + reqs = hooks.get_requires_for_build_wheel({}) + log.info('Got build requires: %s', reqs) + except Exception: + log.error('Failure in get_requires_for_build_sdist', exc_info=True) + return False + + try: + env.pip_install(reqs) + log.info('Installed dynamic build dependencies') + except CalledProcessError: + log.error('Failed to install dynamic build dependencies') + return False + + td = mkdtemp() + log.info('Trying to build wheel in %s', td) + try: + try: + filename = hooks.build_wheel(td, {}) + log.info('build_wheel returned %r', filename) + except Exception: + log.info('Failure in build_wheel', exc_info=True) + return False + + if not filename.endswith('.whl'): + log.error("Filename %s doesn't have .whl extension", filename) + return False + + path = pjoin(td, filename) + if isfile(path): + log.info("Output file %s exists", path) + else: + log.error("Output file %s does not exist", path) + return False + + if zipfile.is_zipfile(path): + log.info("Output file is a zip file") + else: + log.error("Output file is not a zip file") + return False + + finally: + shutil.rmtree(td) + + return True + + +def check(source_dir): + pyproject = pjoin(source_dir, 'pyproject.toml') + if isfile(pyproject): + log.info('Found pyproject.toml') + else: + log.error('Missing pyproject.toml') + return False + + try: + with open(pyproject) as f: + pyproject_data = toml_load(f) + # Ensure the mandatory data can be loaded + buildsys = pyproject_data['build-system'] + requires = buildsys['requires'] + backend = buildsys['build-backend'] + log.info('Loaded pyproject.toml') + except (TomlError, KeyError): + log.error("Invalid pyproject.toml", exc_info=True) + return False + + hooks = Pep517HookCaller(source_dir, backend) + + sdist_ok = check_build_sdist(hooks, requires) + wheel_ok = check_build_wheel(hooks, requires) + + if not sdist_ok: + log.warning('Sdist checks failed; scroll up to see') + if not wheel_ok: + log.warning('Wheel checks failed') + + return sdist_ok + + +def main(argv=None): + ap = argparse.ArgumentParser() + ap.add_argument( + 'source_dir', + help="A directory containing pyproject.toml") + args = ap.parse_args(argv) + + enable_colourful_output() + + ok = check(args.source_dir) + + if ok: + print(ansi('Checks passed', 'green')) + else: + print(ansi('Checks failed', 'red')) + sys.exit(1) + + +ansi_codes = { + 'reset': '\x1b[0m', + 'bold': '\x1b[1m', + 'red': '\x1b[31m', + 'green': '\x1b[32m', +} + + +def ansi(s, attr): + if os.name != 'nt' and sys.stdout.isatty(): + return ansi_codes[attr] + str(s) + ansi_codes['reset'] + else: + return str(s) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/colorlog.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/colorlog.py new file mode 100644 index 0000000..69c8a59 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/colorlog.py @@ -0,0 +1,115 @@ +"""Nicer log formatting with colours. + +Code copied from Tornado, Apache licensed. +""" +# Copyright 2012 Facebook +# +# 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 logging +import sys + +try: + import curses +except ImportError: + curses = None + + +def _stderr_supports_color(): + color = False + if curses and hasattr(sys.stderr, 'isatty') and sys.stderr.isatty(): + try: + curses.setupterm() + if curses.tigetnum("colors") > 0: + color = True + except Exception: + pass + return color + + +class LogFormatter(logging.Formatter): + """Log formatter with colour support + """ + DEFAULT_COLORS = { + logging.INFO: 2, # Green + logging.WARNING: 3, # Yellow + logging.ERROR: 1, # Red + logging.CRITICAL: 1, + } + + def __init__(self, color=True, datefmt=None): + r""" + :arg bool color: Enables color support. + :arg string fmt: Log message format. + It will be applied to the attributes dict of log records. The + text between ``%(color)s`` and ``%(end_color)s`` will be colored + depending on the level if color support is on. + :arg dict colors: color mappings from logging level to terminal color + code + :arg string datefmt: Datetime format. + Used for formatting ``(asctime)`` placeholder in ``prefix_fmt``. + .. versionchanged:: 3.2 + Added ``fmt`` and ``datefmt`` arguments. + """ + logging.Formatter.__init__(self, datefmt=datefmt) + self._colors = {} + if color and _stderr_supports_color(): + # The curses module has some str/bytes confusion in + # python3. Until version 3.2.3, most methods return + # bytes, but only accept strings. In addition, we want to + # output these strings with the logging module, which + # works with unicode strings. The explicit calls to + # unicode() below are harmless in python2 but will do the + # right conversion in python 3. + fg_color = (curses.tigetstr("setaf") or + curses.tigetstr("setf") or "") + if (3, 0) < sys.version_info < (3, 2, 3): + fg_color = str(fg_color, "ascii") + + for levelno, code in self.DEFAULT_COLORS.items(): + self._colors[levelno] = str( + curses.tparm(fg_color, code), "ascii") + self._normal = str(curses.tigetstr("sgr0"), "ascii") + + scr = curses.initscr() + self.termwidth = scr.getmaxyx()[1] + curses.endwin() + else: + self._normal = '' + # Default width is usually 80, but too wide is + # worse than too narrow + self.termwidth = 70 + + def formatMessage(self, record): + mlen = len(record.message) + right_text = '{initial}-{name}'.format(initial=record.levelname[0], + name=record.name) + if mlen + len(right_text) < self.termwidth: + space = ' ' * (self.termwidth - (mlen + len(right_text))) + else: + space = ' ' + + if record.levelno in self._colors: + start_color = self._colors[record.levelno] + end_color = self._normal + else: + start_color = end_color = '' + + return record.message + space + start_color + right_text + end_color + + +def enable_colourful_output(level=logging.INFO): + handler = logging.StreamHandler() + handler.setFormatter(LogFormatter()) + logging.root.addHandler(handler) + logging.root.setLevel(level) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/compat.py new file mode 100644 index 0000000..01c66fc --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/compat.py @@ -0,0 +1,23 @@ +"""Handle reading and writing JSON in UTF-8, on Python 3 and 2.""" +import json +import sys + +if sys.version_info[0] >= 3: + # Python 3 + def write_json(obj, path, **kwargs): + with open(path, 'w', encoding='utf-8') as f: + json.dump(obj, f, **kwargs) + + def read_json(path): + with open(path, 'r', encoding='utf-8') as f: + return json.load(f) + +else: + # Python 2 + def write_json(obj, path, **kwargs): + with open(path, 'wb') as f: + json.dump(obj, f, encoding='utf-8', **kwargs) + + def read_json(path): + with open(path, 'rb') as f: + return json.load(f) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/envbuild.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/envbuild.py new file mode 100644 index 0000000..f7ac5f4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/envbuild.py @@ -0,0 +1,158 @@ +"""Build wheels/sdists by installing build deps to a temporary environment. +""" + +import os +import logging +from pip._vendor import pytoml +import shutil +from subprocess import check_call +import sys +from sysconfig import get_paths +from tempfile import mkdtemp + +from .wrappers import Pep517HookCaller + +log = logging.getLogger(__name__) + + +def _load_pyproject(source_dir): + with open(os.path.join(source_dir, 'pyproject.toml')) as f: + pyproject_data = pytoml.load(f) + buildsys = pyproject_data['build-system'] + return buildsys['requires'], buildsys['build-backend'] + + +class BuildEnvironment(object): + """Context manager to install build deps in a simple temporary environment + + Based on code I wrote for pip, which is MIT licensed. + """ + # Copyright (c) 2008-2016 The pip developers (see AUTHORS.txt file) + # + # Permission is hereby granted, free of charge, to any person obtaining + # a copy of this software and associated documentation files (the + # "Software"), to deal in the Software without restriction, including + # without limitation the rights to use, copy, modify, merge, publish, + # distribute, sublicense, and/or sell copies of the Software, and to + # permit persons to whom the Software is furnished to do so, subject to + # the following conditions: + # + # The above copyright notice and this permission notice shall be + # included in all copies or substantial portions of the Software. + # + # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + path = None + + def __init__(self, cleanup=True): + self._cleanup = cleanup + + def __enter__(self): + self.path = mkdtemp(prefix='pep517-build-env-') + log.info('Temporary build environment: %s', self.path) + + self.save_path = os.environ.get('PATH', None) + self.save_pythonpath = os.environ.get('PYTHONPATH', None) + + install_scheme = 'nt' if (os.name == 'nt') else 'posix_prefix' + install_dirs = get_paths(install_scheme, vars={ + 'base': self.path, + 'platbase': self.path, + }) + + scripts = install_dirs['scripts'] + if self.save_path: + os.environ['PATH'] = scripts + os.pathsep + self.save_path + else: + os.environ['PATH'] = scripts + os.pathsep + os.defpath + + if install_dirs['purelib'] == install_dirs['platlib']: + lib_dirs = install_dirs['purelib'] + else: + lib_dirs = install_dirs['purelib'] + os.pathsep + \ + install_dirs['platlib'] + if self.save_pythonpath: + os.environ['PYTHONPATH'] = lib_dirs + os.pathsep + \ + self.save_pythonpath + else: + os.environ['PYTHONPATH'] = lib_dirs + + return self + + def pip_install(self, reqs): + """Install dependencies into this env by calling pip in a subprocess""" + if not reqs: + return + log.info('Calling pip to install %s', reqs) + check_call([ + sys.executable, '-m', 'pip', 'install', '--ignore-installed', + '--prefix', self.path] + list(reqs)) + + def __exit__(self, exc_type, exc_val, exc_tb): + needs_cleanup = ( + self._cleanup and + self.path is not None and + os.path.isdir(self.path) + ) + if needs_cleanup: + shutil.rmtree(self.path) + + if self.save_path is None: + os.environ.pop('PATH', None) + else: + os.environ['PATH'] = self.save_path + + if self.save_pythonpath is None: + os.environ.pop('PYTHONPATH', None) + else: + os.environ['PYTHONPATH'] = self.save_pythonpath + + +def build_wheel(source_dir, wheel_dir, config_settings=None): + """Build a wheel from a source directory using PEP 517 hooks. + + :param str source_dir: Source directory containing pyproject.toml + :param str wheel_dir: Target directory to create wheel in + :param dict config_settings: Options to pass to build backend + + This is a blocking function which will run pip in a subprocess to install + build requirements. + """ + if config_settings is None: + config_settings = {} + requires, backend = _load_pyproject(source_dir) + hooks = Pep517HookCaller(source_dir, backend) + + with BuildEnvironment() as env: + env.pip_install(requires) + reqs = hooks.get_requires_for_build_wheel(config_settings) + env.pip_install(reqs) + return hooks.build_wheel(wheel_dir, config_settings) + + +def build_sdist(source_dir, sdist_dir, config_settings=None): + """Build an sdist from a source directory using PEP 517 hooks. + + :param str source_dir: Source directory containing pyproject.toml + :param str sdist_dir: Target directory to place sdist in + :param dict config_settings: Options to pass to build backend + + This is a blocking function which will run pip in a subprocess to install + build requirements. + """ + if config_settings is None: + config_settings = {} + requires, backend = _load_pyproject(source_dir) + hooks = Pep517HookCaller(source_dir, backend) + + with BuildEnvironment() as env: + env.pip_install(requires) + reqs = hooks.get_requires_for_build_sdist(config_settings) + env.pip_install(reqs) + return hooks.build_sdist(sdist_dir, config_settings) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/wrappers.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/wrappers.py new file mode 100644 index 0000000..b14b899 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pep517/wrappers.py @@ -0,0 +1,163 @@ +from contextlib import contextmanager +import os +from os.path import dirname, abspath, join as pjoin +import shutil +from subprocess import check_call +import sys +from tempfile import mkdtemp + +from . import compat + +_in_proc_script = pjoin(dirname(abspath(__file__)), '_in_process.py') + + +@contextmanager +def tempdir(): + td = mkdtemp() + try: + yield td + finally: + shutil.rmtree(td) + + +class BackendUnavailable(Exception): + """Will be raised if the backend cannot be imported in the hook process.""" + + +class UnsupportedOperation(Exception): + """May be raised by build_sdist if the backend indicates that it can't.""" + + +def default_subprocess_runner(cmd, cwd=None, extra_environ=None): + """The default method of calling the wrapper subprocess.""" + env = os.environ.copy() + if extra_environ: + env.update(extra_environ) + + check_call(cmd, cwd=cwd, env=env) + + +class Pep517HookCaller(object): + """A wrapper around a source directory to be built with a PEP 517 backend. + + source_dir : The path to the source directory, containing pyproject.toml. + backend : The build backend spec, as per PEP 517, from pyproject.toml. + """ + def __init__(self, source_dir, build_backend): + self.source_dir = abspath(source_dir) + self.build_backend = build_backend + self._subprocess_runner = default_subprocess_runner + + # TODO: Is this over-engineered? Maybe frontends only need to + # set this when creating the wrapper, not on every call. + @contextmanager + def subprocess_runner(self, runner): + prev = self._subprocess_runner + self._subprocess_runner = runner + yield + self._subprocess_runner = prev + + def get_requires_for_build_wheel(self, config_settings=None): + """Identify packages required for building a wheel + + Returns a list of dependency specifications, e.g.: + ["wheel >= 0.25", "setuptools"] + + This does not include requirements specified in pyproject.toml. + It returns the result of calling the equivalently named hook in a + subprocess. + """ + return self._call_hook('get_requires_for_build_wheel', { + 'config_settings': config_settings + }) + + def prepare_metadata_for_build_wheel( + self, metadata_directory, config_settings=None): + """Prepare a *.dist-info folder with metadata for this project. + + Returns the name of the newly created folder. + + If the build backend defines a hook with this name, it will be called + in a subprocess. If not, the backend will be asked to build a wheel, + and the dist-info extracted from that. + """ + return self._call_hook('prepare_metadata_for_build_wheel', { + 'metadata_directory': abspath(metadata_directory), + 'config_settings': config_settings, + }) + + def build_wheel( + self, wheel_directory, config_settings=None, + metadata_directory=None): + """Build a wheel from this project. + + Returns the name of the newly created file. + + In general, this will call the 'build_wheel' hook in the backend. + However, if that was previously called by + 'prepare_metadata_for_build_wheel', and the same metadata_directory is + used, the previously built wheel will be copied to wheel_directory. + """ + if metadata_directory is not None: + metadata_directory = abspath(metadata_directory) + return self._call_hook('build_wheel', { + 'wheel_directory': abspath(wheel_directory), + 'config_settings': config_settings, + 'metadata_directory': metadata_directory, + }) + + def get_requires_for_build_sdist(self, config_settings=None): + """Identify packages required for building a wheel + + Returns a list of dependency specifications, e.g.: + ["setuptools >= 26"] + + This does not include requirements specified in pyproject.toml. + It returns the result of calling the equivalently named hook in a + subprocess. + """ + return self._call_hook('get_requires_for_build_sdist', { + 'config_settings': config_settings + }) + + def build_sdist(self, sdist_directory, config_settings=None): + """Build an sdist from this project. + + Returns the name of the newly created file. + + This calls the 'build_sdist' backend hook in a subprocess. + """ + return self._call_hook('build_sdist', { + 'sdist_directory': abspath(sdist_directory), + 'config_settings': config_settings, + }) + + def _call_hook(self, hook_name, kwargs): + # On Python 2, pytoml returns Unicode values (which is correct) but the + # environment passed to check_call needs to contain string values. We + # convert here by encoding using ASCII (the backend can only contain + # letters, digits and _, . and : characters, and will be used as a + # Python identifier, so non-ASCII content is wrong on Python 2 in + # any case). + if sys.version_info[0] == 2: + build_backend = self.build_backend.encode('ASCII') + else: + build_backend = self.build_backend + + with tempdir() as td: + compat.write_json({'kwargs': kwargs}, pjoin(td, 'input.json'), + indent=2) + + # Run the hook in a subprocess + self._subprocess_runner( + [sys.executable, _in_proc_script, hook_name, td], + cwd=self.source_dir, + extra_environ={'PEP517_BUILD_BACKEND': build_backend} + ) + + data = compat.read_json(pjoin(td, 'output.json')) + if data.get('unsupported'): + raise UnsupportedOperation + if data.get('no_backend'): + raise BackendUnavailable + return data['return_val'] diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py new file mode 100644 index 0000000..9c4fd8e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py @@ -0,0 +1,3171 @@ +# 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 errno +import tempfile +import textwrap +import itertools +import inspect +from pkgutil import get_importer + +try: + import _imp +except ImportError: + # Python 3.2 compatibility + import imp as _imp + +try: + FileExistsError +except NameError: + FileExistsError = OSError + +from pip._vendor import six +from pip._vendor.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 . import py31compat +from pip._vendor import appdirs +from pip._vendor import packaging +__import__('pip._vendor.packaging.version') +__import__('pip._vendor.packaging.specifiers') +__import__('pip._vendor.packaging.requirements') +__import__('pip._vendor.packaging.markers') + + +__metaclass__ = type + + +if (3, 0) < sys.version_info < (3, 4): + raise RuntimeError("Python 3.4 or later is required") + +if six.PY2: + # Those builtin exceptions are only defined in Python 3 + PermissionError = None + NotADirectoryError = None + +# declare some globals that will be defined later to +# satisfy the linters. +require = None +working_set = None +add_activation_listener = None +resources_stream = None +cleanup_resources = None +resource_dir = None +resource_stream = None +set_extraction_path = None +resource_isdir = None +resource_string = None +iter_entry_points = None +resource_listdir = None +resource_filename = None +resource_exists = None +_distribution_finders = None +_namespace_handlers = None +_namespace_packages = None + + +class PEP440Warning(RuntimeWarning): + """ + Used when there is an issue with a version or specifier not complying with + PEP 440. + """ + + +def parse_version(v): + try: + return packaging.version.Version(v) + except packaging.version.InvalidVersion: + return packaging.version.LegacyVersion(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', + + # Warnings + 'PkgResourcesDeprecationWarning', + + # 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. + """ + from sysconfig 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: + """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). + """ + return ( + entry + for dist in self + for entry in dist.get_entry_map(group).values() + if name is None or name == entry.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, extras=None): + """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. + + `extras` is a list of the extras to be used with these requirements. + This is important because extra requirements may look like `my_req; + extra = "my_extra"`, which would otherwise be interpreted as a purely + optional requirement. Instead, we want to be able to assert that these + requirements are truly required. + """ + + # 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, extras): + 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, + replace_conflicting=replace_conflicting + ) + 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, extras=None): + """ + 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, ()) + (extras or (None,)) + ) + return not req.marker or any(extra_evals) + + +class Environment: + """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.6'``); + 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. + """ + py_compat = ( + self.python is None + or dist.py_version is None + or dist.py_version == self.python + ) + return py_compat 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, replace_conflicting=False): + """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. + """ + try: + dist = working_set.find(req) + except VersionConflict: + if not replace_conflicting: + raise + dist = None + 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 Exception: + 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( + "Script {script!r} not found in metadata at {self.egg_info!r}" + .format(**locals()), + ) + 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_egg_path(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_names = 'SourceFileLoader', 'SourcelessFileLoader', + for name in loader_names: + loader_cls = getattr(importlib_machinery, name, type(None)) + register_loader_type(loader_cls, cls) + + +DefaultProvider._register() + + +class EmptyProvider(NullProvider): + """Provider that returns nothing for all requests""" + + module_path = None + + _isdir = _has = lambda self, path: False + + def _get(self, path): + return '' + + def _listdir(self, path): + return [] + + 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 zipfile.ZipFile(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 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 + fspath = fspath.rstrip(os.sep) + if fspath == self.loader.archive: + return '' + 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.7 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_egg_path(subitem): + subpath = os.path.join(path_item, subitem) + dists = find_eggs_in_zip(zipimport.zipimporter(subpath), subpath) + for dist in dists: + yield dist + elif subitem.lower().endswith('.dist-info'): + subpath = os.path.join(path_item, subitem) + submeta = EggMetadata(zipimport.zipimporter(subpath)) + submeta.egg_info = subpath + yield Distribution.from_location(path_item, subitem, submeta) + + +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 _is_unpacked_egg(path_item): + yield Distribution.from_filename( + path_item, metadata=PathMetadata( + path_item, os.path.join(path_item, 'EGG-INFO') + ) + ) + return + + entries = safe_listdir(path_item) + + # for performance, before sorting by version, + # screen entries for only those that will yield + # distributions + filtered = ( + entry + for entry in entries + if dist_factory(path_item, entry, only) + ) + + # scan for .egg and .egg-info in directory + path_item_entries = _by_version_descending(filtered) + for entry in path_item_entries: + fullpath = os.path.join(path_item, entry) + factory = dist_factory(path_item, entry, only) + for dist in factory(fullpath): + yield dist + + +def dist_factory(path_item, entry, only): + """ + Return a dist_factory for a path_item and entry + """ + lower = entry.lower() + is_meta = any(map(lower.endswith, ('.egg-info', '.dist-info'))) + return ( + distributions_from_metadata + if is_meta else + find_distributions + if not only and _is_egg_path(entry) else + resolve_egg_link + if not only and lower.endswith('.egg-link') else + NoDists() + ) + + +class NoDists: + """ + >>> bool(NoDists()) + False + + >>> list(NoDists()('anything')) + [] + """ + def __bool__(self): + return False + if six.PY2: + __nonzero__ = __bool__ + + def __call__(self, fullpath): + return iter(()) + + +def safe_listdir(path): + """ + Attempt to list contents of path, but suppress some exceptions. + """ + try: + return os.listdir(path) + except (PermissionError, NotADirectoryError): + pass + except OSError as e: + # Ignore the directory if does not exist, not a directory or + # permission denied + ignorable = ( + e.errno in (errno.ENOTDIR, errno.EACCES, errno.ENOENT) + # Python 2 on Windows needs to be handled this way :( + or getattr(e, "winerror", None) == 267 + ) + if not ignorable: + raise + return () + + +def distributions_from_metadata(path): + root = os.path.dirname(path) + if os.path.isdir(path): + if len(os.listdir(path)) == 0: + # empty metadata dir; skip + return + metadata = PathMetadata(root, path) + else: + metadata = FileMetadata(path) + entry = os.path.basename(path) + yield Distribution.from_location( + root, entry, metadata, precedence=DEVELOP_DIST, + ) + + +def non_empty_lines(path): + """ + Yield non-empty lines from file at path + """ + with open(path) as f: + for line in f: + line = line.strip() + if line: + yield line + + +def resolve_egg_link(path): + """ + Given a path to an .egg-link, resolve distributions + present in the referenced path. + """ + referenced_paths = non_empty_lines(path) + resolved_paths = ( + os.path.join(os.path.dirname(path), ref) + for ref in referenced_paths + ) + dist_groups = map(find_distributions, resolved_paths) + return next(dist_groups, ()) + + +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 + + # capture warnings due to #1111 + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + 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))) + + new_path = sorted(orig_path, key=position_in_sys_path) + new_path = [_normalize_cached(p) for p in new_path] + + if isinstance(module.__path__, list): + module.__path__[:] = new_path + else: + module.__path__ = new_path + + +def declare_namespace(packageName): + """Declare that package 'packageName' is a namespace package""" + + _imp.acquire_lock() + try: + if packageName in _namespace_packages: + return + + path = sys.path + parent, _, _ = packageName.rpartition('.') + + if parent: + 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 or None, []).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(os.path.normpath(_cygwin_patch(filename)))) + + +def _cygwin_patch(filename): # pragma: nocover + """ + Contrary to POSIX 2008, on Cygwin, getcwd (3) contains + symlink components. Using + os.path.abspath() works around this limitation. A fix in os.getcwd() + would probably better, in Cygwin even more so, except + that this seems to be by design... + """ + return os.path.abspath(filename) if sys.platform == 'cygwin' else filename + + +def _normalize_cached(filename, _cache={}): + try: + return _cache[filename] + except KeyError: + _cache[filename] = result = normalize_path(filename) + return result + + +def _is_egg_path(path): + """ + Determine if given path appears to be an egg. + """ + return path.lower().endswith('.egg') + + +def _is_unpacked_egg(path): + """ + Determine if given path appears to be an unpacked egg. + """ + return ( + _is_egg_path(path) and + os.path.isfile(os.path.join(path, 'EGG-INFO', 'PKG-INFO')) + ) + + +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 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 = tuple(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.", + PkgResourcesDeprecationWarning, + 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) + + # Get the requirements for this entry point with all its extras and + # then resolve them. We have to pass `extras` along when resolving so + # that the working set knows what extras we want. Otherwise, for + # dist-info distributions, the working set will assume that the + # requirements for that extra are purely optional and skip over them. + reqs = self.dist.requires(self.extras) + items = working_set.resolve(reqs, env, installer, extras=self.extras) + 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. + """ + def is_version_line(line): + return 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: + """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): + """ + A map of extra to its list of (direct) requirements + for this distribution, including the null extra. + """ + try: + return self.__dep_map + except AttributeError: + self.__dep_map = self._filter_extras(self._build_dep_map()) + return self.__dep_map + + @staticmethod + def _filter_extras(dm): + """ + Given a mapping of extras to dependencies, strip off + environment markers and filter out any dependencies + not matching the markers. + """ + for extra in list(filter(None, dm)): + new_extra = extra + reqs = dm.pop(extra) + new_extra, _, marker = extra.partition(':') + fails_marker = marker and ( + invalid_marker(marker) + or not evaluate_marker(marker) + ) + if fails_marker: + reqs = [] + new_extra = safe_extra(new_extra) or None + + dm.setdefault(new_extra, []).extend(reqs) + return dm + + def _build_dep_map(self): + dm = {} + for name in 'requires.txt', 'depends.txt': + for extra, reqs in split_sections(self._get_metadata(name)): + 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) + + def __dir__(self): + return list( + set(super(Distribution, self).__dir__()) + | set( + attr for attr in self._provider.__dir__() + if not attr.startswith('_') + ) + ) + + if not hasattr(object, '__dir__'): + # python 2.7 not supported + del __dir__ + + @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() + try: + line += next(lines) + except StopIteration: + return + 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 _always_object(classes): + """ + Ensure object appears in the mro even + for old-style classes. + """ + if object not in classes: + return classes + (object,) + return classes + + +def _find_adapter(registry, ob): + """Return an adapter factory for `ob` from `registry`""" + types = _always_object(inspect.getmro(getattr(ob, '__class__', type(ob)))) + for t in types: + if t in registry: + return registry[t] + + +def ensure_directory(path): + """Ensure that the parent directory of `path` exists""" + dirname = os.path.dirname(path) + py31compat.makedirs(dirname, exist_ok=True) + + +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) + try: + mkdir(dirname, 0o755) + except FileExistsError: + pass + + +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 + g.update( + (name, getattr(manager, name)) + for name in dir(manager) + if not name.startswith('_') + ) + + +@_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). + tuple( + dist.activate(replace=False) + for dist in working_set + ) + 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()) + +class PkgResourcesDeprecationWarning(Warning): + """ + Base class for warning about deprecations in ``pkg_resources`` + + This class is not derived from ``DeprecationWarning``, and as such is + visible by default. + """ diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/py31compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/py31compat.py new file mode 100644 index 0000000..a2d3007 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pkg_resources/py31compat.py @@ -0,0 +1,23 @@ +import os +import errno +import sys + +from pip._vendor import six + + +def _makedirs_31(path, exist_ok=False): + try: + os.makedirs(path) + except OSError as exc: + if not exist_ok or exc.errno != errno.EEXIST: + raise + + +# rely on compatibility behavior until mode considerations +# and exists_ok considerations are disentangled. +# See https://github.com/pypa/setuptools/pull/1083#issuecomment-315168663 +needs_makedirs = ( + six.PY2 or + (3, 4) <= sys.version_info < (3, 4, 1) +) +makedirs = _makedirs_31 if needs_makedirs else os.makedirs diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__init__.py new file mode 100644 index 0000000..a41f65d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/__init__.py @@ -0,0 +1,127 @@ +# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com> +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, 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 division + +from collections import deque +from datetime import timedelta +from math import ceil +from sys import stderr +from time import time + + +__version__ = '1.4' + + +class Infinite(object): + file = stderr + sma_window = 10 # Simple Moving Average window + + def __init__(self, *args, **kwargs): + self.index = 0 + self.start_ts = time() + self.avg = 0 + self._ts = self.start_ts + self._xput = deque(maxlen=self.sma_window) + for key, val in kwargs.items(): + setattr(self, key, val) + + def __getitem__(self, key): + if key.startswith('_'): + return None + return getattr(self, key, None) + + @property + def elapsed(self): + return int(time() - self.start_ts) + + @property + def elapsed_td(self): + return timedelta(seconds=self.elapsed) + + def update_avg(self, n, dt): + if n > 0: + self._xput.append(dt / n) + self.avg = sum(self._xput) / len(self._xput) + + def update(self): + pass + + def start(self): + pass + + def finish(self): + pass + + def next(self, n=1): + now = time() + dt = now - self._ts + self.update_avg(n, dt) + self._ts = now + self.index = self.index + n + self.update() + + def iter(self, it): + try: + for x in it: + yield x + self.next() + finally: + self.finish() + + +class Progress(Infinite): + def __init__(self, *args, **kwargs): + super(Progress, self).__init__(*args, **kwargs) + self.max = kwargs.get('max', 100) + + @property + def eta(self): + return int(ceil(self.avg * self.remaining)) + + @property + def eta_td(self): + return timedelta(seconds=self.eta) + + @property + def percent(self): + return self.progress * 100 + + @property + def progress(self): + return min(1, self.index / self.max) + + @property + def remaining(self): + return max(self.max - self.index, 0) + + def start(self): + self.update() + + def goto(self, index): + incr = index - self.index + self.next(incr) + + def iter(self, it): + try: + self.max = len(it) + except TypeError: + pass + + try: + for x in it: + yield x + self.next() + finally: + self.finish() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/bar.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/bar.py new file mode 100644 index 0000000..025e61c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/bar.py @@ -0,0 +1,94 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com> +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, 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 unicode_literals + +import sys + +from . import Progress +from .helpers import WritelnMixin + + +class Bar(WritelnMixin, Progress): + width = 32 + message = '' + suffix = '%(index)d/%(max)d' + bar_prefix = ' |' + bar_suffix = '| ' + empty_fill = ' ' + fill = '#' + hide_cursor = True + + def update(self): + filled_length = int(self.width * self.progress) + empty_length = self.width - filled_length + + message = self.message % self + bar = self.fill * filled_length + empty = self.empty_fill * empty_length + suffix = self.suffix % self + line = ''.join([message, self.bar_prefix, bar, empty, self.bar_suffix, + suffix]) + self.writeln(line) + + +class ChargingBar(Bar): + suffix = '%(percent)d%%' + bar_prefix = ' ' + bar_suffix = ' ' + empty_fill = '∙' + fill = '█' + + +class FillingSquaresBar(ChargingBar): + empty_fill = '▢' + fill = '▣' + + +class FillingCirclesBar(ChargingBar): + empty_fill = '◯' + fill = '◉' + + +class IncrementalBar(Bar): + if sys.platform.startswith('win'): + phases = (u' ', u'▌', u'█') + else: + phases = (' ', '▏', '▎', '▍', '▌', '▋', '▊', '▉', '█') + + def update(self): + nphases = len(self.phases) + filled_len = self.width * self.progress + nfull = int(filled_len) # Number of full chars + phase = int((filled_len - nfull) * nphases) # Phase of last char + nempty = self.width - nfull # Number of empty chars + + message = self.message % self + bar = self.phases[-1] * nfull + current = self.phases[phase] if phase > 0 else '' + empty = self.empty_fill * max(0, nempty - len(current)) + suffix = self.suffix % self + line = ''.join([message, self.bar_prefix, bar, current, empty, + self.bar_suffix, suffix]) + self.writeln(line) + + +class PixelBar(IncrementalBar): + phases = ('⡀', '⡄', '⡆', '⡇', '⣇', '⣧', '⣷', '⣿') + + +class ShadyBar(IncrementalBar): + phases = (' ', '░', '▒', '▓', '█') diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/counter.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/counter.py new file mode 100644 index 0000000..6b45a1e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/counter.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com> +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, 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 unicode_literals +from . import Infinite, Progress +from .helpers import WriteMixin + + +class Counter(WriteMixin, Infinite): + message = '' + hide_cursor = True + + def update(self): + self.write(str(self.index)) + + +class Countdown(WriteMixin, Progress): + hide_cursor = True + + def update(self): + self.write(str(self.remaining)) + + +class Stack(WriteMixin, Progress): + phases = (' ', '▁', '▂', '▃', '▄', '▅', '▆', '▇', '█') + hide_cursor = True + + def update(self): + nphases = len(self.phases) + i = min(nphases - 1, int(self.progress * nphases)) + self.write(self.phases[i]) + + +class Pie(Stack): + phases = ('○', '◔', '◑', '◕', '●') diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/helpers.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/helpers.py new file mode 100644 index 0000000..0cde44e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/helpers.py @@ -0,0 +1,91 @@ +# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com> +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, 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 print_function + + +HIDE_CURSOR = '\x1b[?25l' +SHOW_CURSOR = '\x1b[?25h' + + +class WriteMixin(object): + hide_cursor = False + + def __init__(self, message=None, **kwargs): + super(WriteMixin, self).__init__(**kwargs) + self._width = 0 + if message: + self.message = message + + if self.file and self.file.isatty(): + if self.hide_cursor: + print(HIDE_CURSOR, end='', file=self.file) + print(self.message, end='', file=self.file) + self.file.flush() + + def write(self, s): + if self.file and self.file.isatty(): + b = '\b' * self._width + c = s.ljust(self._width) + print(b + c, end='', file=self.file) + self._width = max(self._width, len(s)) + self.file.flush() + + def finish(self): + if self.file and self.file.isatty() and self.hide_cursor: + print(SHOW_CURSOR, end='', file=self.file) + + +class WritelnMixin(object): + hide_cursor = False + + def __init__(self, message=None, **kwargs): + super(WritelnMixin, self).__init__(**kwargs) + if message: + self.message = message + + if self.file and self.file.isatty() and self.hide_cursor: + print(HIDE_CURSOR, end='', file=self.file) + + def clearln(self): + if self.file and self.file.isatty(): + print('\r\x1b[K', end='', file=self.file) + + def writeln(self, line): + if self.file and self.file.isatty(): + self.clearln() + print(line, end='', file=self.file) + self.file.flush() + + def finish(self): + if self.file and self.file.isatty(): + print(file=self.file) + if self.hide_cursor: + print(SHOW_CURSOR, end='', file=self.file) + + +from signal import signal, SIGINT +from sys import exit + + +class SigIntMixin(object): + """Registers a signal handler that calls finish on SIGINT""" + + def __init__(self, *args, **kwargs): + super(SigIntMixin, self).__init__(*args, **kwargs) + signal(SIGINT, self._sigint_handler) + + def _sigint_handler(self, signum, frame): + self.finish() + exit(0) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/spinner.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/spinner.py new file mode 100644 index 0000000..464c7b2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/progress/spinner.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com> +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, 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 unicode_literals +from . import Infinite +from .helpers import WriteMixin + + +class Spinner(WriteMixin, Infinite): + message = '' + phases = ('-', '\\', '|', '/') + hide_cursor = True + + def update(self): + i = self.index % len(self.phases) + self.write(self.phases[i]) + + +class PieSpinner(Spinner): + phases = ['◷', '◶', '◵', '◴'] + + +class MoonSpinner(Spinner): + phases = ['◑', '◒', '◐', '◓'] + + +class LineSpinner(Spinner): + phases = ['⎺', '⎻', '⎼', '⎽', '⎼', '⎻'] + +class PixelSpinner(Spinner): + phases = ['⣾','⣷', '⣯', '⣟', '⡿', '⢿', '⣻', '⣽'] diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pyparsing.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pyparsing.py new file mode 100644 index 0000000..bea4d9c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pyparsing.py @@ -0,0 +1,6452 @@ +#-*- coding: utf-8 -*- +# module pyparsing.py +# +# Copyright (c) 2003-2019 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 +``"<salutation>, <addressee>!"``), built up using :class:`Word`, +:class:`Literal`, and :class:`And` elements +(the :class:`'+'<ParserElement.__add__>` operators create :class:`And` expressions, +and the strings are auto-converted to :class:`Literal` expressions):: + + from pip._vendor.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 :class:`ParseResults` object returned from +:class:`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 + + +Getting Started - +----------------- +Visit the classes :class:`ParserElement` and :class:`ParseResults` to +see the base classes that most other pyparsing +classes inherit from. Use the docstrings for examples of how to: + + - construct literal match expressions from :class:`Literal` and + :class:`CaselessLiteral` classes + - construct character word-group expressions using the :class:`Word` + class + - see how to create repetitive expressions using :class:`ZeroOrMore` + and :class:`OneOrMore` classes + - use :class:`'+'<And>`, :class:`'|'<MatchFirst>`, :class:`'^'<Or>`, + and :class:`'&'<Each>` operators to combine simple expressions into + more complex ones + - associate names with your parsed results using + :class:`ParserElement.setResultsName` + - find some helpful expression short-cuts like :class:`delimitedList` + and :class:`oneOf` + - find more useful common expressions in the :class:`pyparsing_common` + namespace class +""" + +__version__ = "2.3.1" +__versionTime__ = "09 Jan 2019 23:26 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: + # Python 3 + from itertools import filterfalse +except ImportError: + from itertools import ifilterfalse as filterfalse + +try: + from _thread import RLock +except ImportError: + from threading import RLock + +try: + # Python 3 + from collections.abc import Iterable + from collections.abc import MutableMapping +except ImportError: + # Python 2.7 + from collections import Iterable + from collections import MutableMapping + +try: + from collections import OrderedDict as _OrderedDict +except ImportError: + try: + from ordereddict import OrderedDict as _OrderedDict + except ImportError: + _OrderedDict = None + +try: + from types import SimpleNamespace +except ImportError: + class SimpleNamespace: pass + + +#~ 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', +'PrecededBy', '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', 'Char', +'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', 'pyparsing_unicode', 'unicode_set', +] + +system_version = tuple(sys.version_info)[:3] +PY_3 = system_version[0] == 3 +if PY_3: + _MAX_INT = sys.maxsize + basestring = str + unichr = chr + unicode = str + _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(r'&#\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 + +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 + + """ + + @staticmethod + def explain(exc, depth=16): + """ + Method to take an exception and translate the Python internal traceback into a list + of the pyparsing expressions that caused the exception to be raised. + + Parameters: + + - exc - exception raised during parsing (need not be a ParseException, in support + of Python exceptions that might be raised in a parse action) + - depth (default=16) - number of levels back in the stack trace to list expression + and function names; if None, the full stack trace names will be listed; if 0, only + the failing input line, marker, and exception string will be shown + + Returns a multi-line string listing the ParserElements and/or function names in the + exception's stack trace. + + Note: the diagnostic output will include string representations of the expressions + that failed to parse. These representations will be more helpful if you use `setName` to + give identifiable names to your expressions. Otherwise they will use the default string + forms, which may be cryptic to read. + + explain() is only supported under Python 3. + """ + import inspect + + if depth is None: + depth = sys.getrecursionlimit() + ret = [] + if isinstance(exc, ParseBaseException): + ret.append(exc.line) + ret.append(' ' * (exc.col - 1) + '^') + ret.append("{0}: {1}".format(type(exc).__name__, exc)) + + if depth > 0: + callers = inspect.getinnerframes(exc.__traceback__, context=depth) + seen = set() + for i, ff in enumerate(callers[-depth:]): + frm = ff.frame + + f_self = frm.f_locals.get('self', None) + if isinstance(f_self, ParserElement): + if frm.f_code.co_name not in ('parseImpl', '_parseNoCache'): + continue + if f_self in seen: + continue + seen.add(f_self) + + self_type = type(f_self) + ret.append("{0}.{1} - {2}".format(self_type.__module__, + self_type.__name__, + f_self)) + elif f_self is not None: + self_type = type(f_self) + ret.append("{0}.{1}".format(self_type.__module__, + self_type.__name__)) + else: + code = frm.f_code + if code.co_name in ('wrapper', '<module>'): + continue + + ret.append("{0}".format(code.co_name)) + + depth -= 1 + if not depth: + break + + return '\n'.join(ret) + + +class ParseFatalException(ParseBaseException): + """user-throwable exception thrown when inconsistent parse content + is found; stops all parsing immediately""" + pass + +class ParseSyntaxException(ParseFatalException): + """just like :class:`ParseFatalException`, but thrown internally + when an :class:`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 :class:`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 (``len(results)``) + - by list index (``results[0], results[1]``, etc.) + - by attribute (``results.<resultsName>`` - see :class:`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(ParseResults(toklist.__toklist), 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.""" + + values = _itervalues + """Returns an iterator of all named result values.""" + + items = _iteritems + """Returns an iterator of all named result key-value tuples.""" + + 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= ``last``). + Supports both ``list`` and ``dict`` semantics for ``pop()``. If + passed no argument or an integer argument, it will use ``list`` + semantics and pop tokens from the list of parsed tokens. If passed + a non-integer argument (most likely a string), it will use ``dict`` + semantics and pop the corresponding value from any defined results + names. A second default return value argument is supported, just as in + ``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 ``defaultValue`` or ``None`` if no + ``defaultValue`` is specified. + + Similar to ``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 ``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 :class:`ParseResults` object. + """ + ret = ParseResults( self.__toklist ) + ret.__tokdict = dict(self.__tokdict.items()) + 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): + r""" + 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 :class:`ParseResults`. Accepts an optional ``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 + `pprint <https://docs.python.org/3/library/pprint.html>`_ module. + Accepts additional positional or keyword args as defined for + `pprint.pprint <https://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())) + +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 + :class:`ParserElement.parseString` for more + information on parsing strings containing ``<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 :class:`ParserElement.parseString` + for more information on parsing strings containing ``<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[:2]] + def extract_tb(tb, limit=0): + frames = traceback.extract_tb(tb, limit=limit) + frame_summary = frames[-1] + return [frame_summary[:2]] + 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 = set(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 :class:`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 ``expr.copy()`` is just ``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 :class:`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, + ``expr("name")`` in place of ``expr.setResultsName("name")`` + - see :class:`__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 ``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 one or more actions to perform when successfully matching parse element definition. + Parse action fn is a callable method with 0-3 arguments, called as ``fn(s,loc,toks)`` , + ``fn(loc,toks)`` , ``fn(toks)`` , or just ``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 :class:`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= ``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 :class:`parseString for more + information on parsing strings containing ``<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 one or more parse actions to expression's list of parse actions. See :class:`setParseAction`. + + See examples in :class:`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 + :class:`setParseAction` for function call signatures. Unlike ``setParseAction``, + functions passed to ``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: + fn = _trim_arity(fn) + def pa(s,l,t): + if not bool(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 + ``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 :class:`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 preloc >= 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: + try: + tokens = fn( instring, tokensStart, retTokens ) + except IndexError as parse_action_exc: + exc = ParseException("exception raised in parse action") + exc.__cause__ = parse_action_exc + raise exc + + if tokens is not None and tokens is not retTokens: + 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: + try: + tokens = fn( instring, tokensStart, retTokens ) + except IndexError as parse_action_exc: + exc = ParseException("exception raised in parse action") + exc.__cause__ = parse_action_exc + raise exc + + if tokens is not None and tokens is not retTokens: + 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() + + def cache_len(self): + return len(cache) + + self.get = types.MethodType(get, self) + self.set = types.MethodType(set, self) + self.clear = types.MethodType(clear, self) + self.__len__ = types.MethodType(cache_len, 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 + while len(cache) > size: + try: + cache.popitem(False) + except KeyError: + pass + + def clear(self): + cache.clear() + + def cache_len(self): + return len(cache) + + self.get = types.MethodType(get, self) + self.set = types.MethodType(set, self) + self.clear = types.MethodType(clear, self) + self.__len__ = types.MethodType(cache_len, 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 + while len(key_fifo) > size: + cache.pop(key_fifo.popleft(), None) + key_fifo.append(key) + + def clear(self): + cache.clear() + key_fifo.clear() + + def cache_len(self): + return len(cache) + + self.get = types.MethodType(get, self) + self.set = types.MethodType(set, self) + self.clear = types.MethodType(clear, self) + self.__len__ = types.MethodType(cache_len, 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= ``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 :class:`ParserElement.enablePackrat`. + For best results, call ``enablePackrat()`` immediately after + importing pyparsing. + + Example:: + + from pip._vendor 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 ``parseAll`` to True (equivalent to ending + the grammar with ``StringEnd()``). + + Note: ``parseString`` implicitly calls ``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 ``loc`` argument to index into the + string being parsed, you can ensure you have a consistent view of the input + string by: + + - calling ``parseWithTabs`` on your grammar before calling ``parseString`` + (see :class:`parseWithTabs`) + - define your parse action using the full ``(s,loc,toks)`` signature, and + reference the input string using the parse action's ``s`` argument + - explictly expand the tabs in your input string before calling + ``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 + ``maxMatches`` argument, to clip scanning after 'n' matches are found. If + ``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 :class:`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 :class:`scanString`, to modify matching text with modified tokens that may + be returned from a parse action. To use ``transformString``, define a grammar and + attach a parse action to it that modifies the returned token list. + Invoking ``transformString()`` on a target string will then scan for matches, + and replace the matched text patterns according to the logic in the parse + action. ``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 :class:`scanString`, simplifying the access to the tokens found + to match the given parse expression. May be called with optional + ``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")) + + # the sum() builtin can be used to merge results into a single ParseResults object + print(sum(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity"))) + + prints:: + + [['More'], ['Iron'], ['Lead'], ['Gold'], ['I'], ['Electricity']] + ['More', 'Iron', 'Lead', 'Gold', 'I', 'Electricity'] + """ + 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 ``maxsplit`` argument, to limit the number of splits; + and the optional ``includeSeparators`` argument (default= ``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 :class:`And`. Adding strings to a ParserElement + converts them to :class:`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 :class:`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 :class:`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 self + And._ErrorStop() + other + + def __rsub__(self, other ): + """ + Implementation of - operator when left operand is not a :class:`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 ``expr * 3`` in place of + ``expr + expr + expr``. Expressions may also me multiplied by a 2-integer + tuple, similar to ``{min,max}`` multipliers in regular expressions. Tuples + may also include ``None`` as in: + - ``expr*(n,None)`` or ``expr*(n,)`` is equivalent + to ``expr*n + ZeroOrMore(expr)`` + (read as "at least n instances of ``expr``") + - ``expr*(None,n)`` is equivalent to ``expr*(0,n)`` + (read as "0 to n instances of ``expr``") + - ``expr*(None,None)`` is equivalent to ``ZeroOrMore(expr)`` + - ``expr*(1,None)`` is equivalent to ``OneOrMore(expr)`` + + Note that ``expr*(None,n)`` does not raise an exception if + more than n exprs exist in the input stream; that is, + ``expr*(None,n)`` does not enforce a maximum number of expr + occurrences. If this behavior is desired, then write + ``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 :class:`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 :class:`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 :class:`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 :class:`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 :class:`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 :class:`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 :class:`NotAny` + """ + return NotAny( self ) + + def __call__(self, name=None): + """ + Shortcut for :class:`setResultsName`, with ``listAllMatches=False``. + + If ``name`` is given with a trailing ``'*'`` character, then ``listAllMatches`` will be + passed as ``True``. + + If ``name` is omitted, same as calling :class:`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 :class:`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 + :class:`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 ``<TAB>``s to spaces before parsing the input string. + Must be called before ``parseString`` when the input grammar contains elements that + match ``<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 ``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 :class:`setDebugActions`. Prior to attempting + to match the ``wd`` expression, the debugging message ``"Match <exprname> at loc <n>(<line>,<col>)"`` + is shown. Then if the parse succeeds, a ``"Matched"`` message is shown, or an ``"Exception raised"`` + message is shown. Also note the use of :class:`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 :class:`Word` expression without calling ``setName`` is ``"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= ``True``) - flag to pass to :class:`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, postParse=None): + """ + 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= ``True``) - flag to pass to :class:`parseString` when running tests + - comment - (default= ``'#'``) - expression for indicating embedded comments in the test + string; pass None to disable comment filtering + - fullDump - (default= ``True``) - dump results as list followed by results names in nested outline; + if False, only dump nested list + - printResults - (default= ``True``) prints test output to stdout + - failureTests - (default= ``False``) indicates if these tests are expected to fail parsing + - postParse - (default= ``None``) optional callback for successful parse results; called as + `fn(test_string, parse_results)` and returns a string to be added to the test output + + Returns: a (success, results) tuple, where success indicates that all tests succeeded + (or failed if ``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: + # convert newline marks to actual newlines, and strip leading BOM if present + t = t.replace(r'\n','\n').lstrip('\ufeff') + result = self.parseString(t, parseAll=parseAll) + out.append(result.dump(full=fullDump)) + success = success and not failureTests + if postParse is not None: + try: + pp_value = postParse(t, result) + if pp_value is not None: + out.append(str(pp_value)) + except Exception as e: + out.append("{0} failed: {1}: {2}".format(postParse.__name__, type(e).__name__, e)) + 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 :class:`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 :class:`CaselessLiteral`. + + For keyword matching (force word break before and after the matched string), + use :class:`Keyword` or :class:`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 :class:`Literal`: + + - ``Literal("if")`` will match the leading ``'if'`` in + ``'ifAndOnlyIf'``. + - ``Keyword("if")`` will not; it will only match the leading + ``'if'`` in ``'if x=1'``, or ``'if(y==2)'`` + + Accepts two optional constructor arguments in addition to the + keyword string: + + - ``identChars`` is a string of characters that would be valid + identifier characters, defaulting to all alphanumerics + "_" and + "$" + - ``caseless`` allows case-insensitive matching, default is ``False``. + + Example:: + + Keyword("start").parseString("start") # -> ['start'] + Keyword("start").parseString("starting") # -> Exception + + For case-insensitive matching, use :class:`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 :class:`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 :class:`Keyword`. + + Example:: + + OneOrMore(CaselessKeyword("CMD")).parseString("cmd CMD Cmd10") # -> ['CMD', 'CMD'] + + (Contrast with example for :class:`CaselessLiteral`.) + """ + def __init__( self, matchString, identChars=None ): + super(CaselessKeyword,self).__init__( matchString, identChars, caseless=True ) + +class CloseMatch(Token): + """A variation on :class:`Literal` which matches "close" matches, + that is, strings with at most 'n' mismatching characters. + :class:`CloseMatch` takes parameters: + + - ``match_string`` - string to be matched + - ``maxMismatches`` - (``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: + + - ``mismatches`` - a list of the positions within the + match_string where mismatches were found + - ``original`` - the original match_string used to compare + against the input string + + If ``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 ``min`` is + 1 (a minimum value < 1 is not valid); the default values for + ``max`` and ``exact`` are 0, meaning no maximum or exact + length restriction. An optional ``excludeChars`` parameter can + list characters that might be found in the input ``bodyChars`` + string; useful to define a word of all printables except for one or + two characters, for instance. + + :class:`srange` is useful for defining custom character set strings + for defining ``Word`` expressions, using range notation from + regular expression character sets. + + A common mistake is to use :class:`Word` to match a specific literal + string, as in ``Word("Address")``. Remember that :class:`Word` + uses the string argument to define *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 :class:`Literal` or :class:`Keyword`. + + pyparsing includes helper strings for building Words: + + - :class:`alphas` + - :class:`nums` + - :class:`alphanums` + - :class:`hexnums` + - :class:`alphas8bit` (alphabetic characters in ASCII range 128-255 + - accented, tilded, umlauted, etc.) + - :class:`punc8bit` (non-alphabetic characters in ASCII range + 128-255 - currency, symbols, superscripts, diacriticals, etc.) + - :class:`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 Char(Word): + """A short-cut class for defining ``Word(characters, exact=1)``, + when defining a match of any single character in a string of + characters. + """ + def __init__(self, charset): + super(Char, self).__init__(charset, exact=1) + self.reString = "[%s]" % _escapeRegexRangeChars(self.initCharsOrig) + self.re = re.compile( self.reString ) + + +class Regex(Token): + r"""Token for matching strings that match a given regular + expression. Defined with string specifying the regular expression in + a form recognized by the stdlib Python `re module <https://docs.python.org/3/library/re.html>`_. + If the given regex contains named groups (defined using ``(?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: https://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?{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, asGroupList=False, asMatch=False): + """The parameters ``pattern`` and ``flags`` are passed + to the ``re.compile()`` function as-is. See the Python + `re module <https://docs.python.org/3/library/re.html>`_ 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 + self.asGroupList = asGroupList + self.asMatch = asMatch + + 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() + if self.asMatch: + ret = result + elif self.asGroupList: + ret = result.groups() + else: + ret = ParseResults(result.group()) + d = result.groupdict() + if d: + for k, v in d.items(): + ret[k] = v + 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 + + def sub(self, repl): + """ + Return Regex with an attached parse action to transform the parsed + result as if called using `re.sub(expr, repl, string) <https://docs.python.org/3/library/re.html#re.sub>`_. + + Example:: + + make_html = Regex(r"(\w+):(.*?):").sub(r"<\1>\2</\1>") + print(make_html.transformString("h1:main title:")) + # prints "<h1>main title</h1>" + """ + if self.asGroupList: + warnings.warn("cannot use sub() with Regex(asGroupList=True)", + SyntaxWarning, stacklevel=2) + raise SyntaxError() + + if self.asMatch and callable(repl): + warnings.warn("cannot use sub() with a callable with Regex(asMatch=True)", + SyntaxWarning, stacklevel=2) + raise SyntaxError() + + if self.asMatch: + def pa(tokens): + return tokens[0].expand(repl) + else: + def pa(tokens): + return self.re.sub(repl, tokens[0]) + return self.addParseAction(pa) + +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= ``None`` ) + - escQuote - special quote sequence to escape an embedded quote + string (such as SQL's ``""`` to escape an embedded ``"``) + (default= ``None`` ) + - multiline - boolean indicating whether quotes can span + multiple lines (default= ``False`` ) + - unquoteResults - boolean indicating whether the matched text + should be unquoted (default= ``True`` ) + - endQuoteChar - string of one or more characters defining the + end of the quote delimited string (default= ``None`` => same as + quoteChar) + - convertWhitespaceEscapes - convert escaped whitespace + (``'\t'``, ``'\n'``, etc.) to actual whitespace + (default= ``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, r"\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 *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 ``min`` is + 1 (a minimum value < 1 is not valid); the default values for + ``max`` and ``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 ``" \\t\\r\\n"``. Also takes optional ``min``, + ``max``, and ``exact`` arguments, as defined for the + :class:`Word` class. + """ + whiteStrs = { + ' ' : '<SP>', + '\t': '<TAB>', + '\n': '<LF>', + '\r': '<CR>', + '\f': '<FF>', + 'u\00A0': '<NBSP>', + 'u\1680': '<OGHAM_SPACE_MARK>', + 'u\180E': '<MONGOLIAN_VOWEL_SEPARATOR>', + 'u\2000': '<EN_QUAD>', + 'u\2001': '<EM_QUAD>', + 'u\2002': '<EN_SPACE>', + 'u\2003': '<EM_SPACE>', + 'u\2004': '<THREE-PER-EM_SPACE>', + 'u\2005': '<FOUR-PER-EM_SPACE>', + 'u\2006': '<SIX-PER-EM_SPACE>', + 'u\2007': '<FIGURE_SPACE>', + 'u\2008': '<PUNCTUATION_SPACE>', + 'u\2009': '<THIN_SPACE>', + 'u\200A': '<HAIR_SPACE>', + 'u\200B': '<ZERO_WIDTH_SPACE>', + 'u\202F': '<NNBSP>', + 'u\205F': '<MMSP>', + 'u\3000': '<IDEOGRAPHIC_SPACE>', + } + 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 + ``wordChars`` (default= ``printables``). To emulate the + ``\b`` behavior of regular expressions, use + ``WordStart(alphanums)``. ``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 ``wordChars`` + (default= ``printables``). To emulate the ``\b`` behavior of + regular expressions, use ``WordEnd(alphanums)``. ``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, 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 ``leaveWhitespace`` defined in base class, and also invokes ``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 :class:`ParseExpression` s to be found in the given order. + Expressions may be separated by whitespace. + May be constructed using the ``'+'`` operator. + May also be constructed using the ``'-'`` 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 streamline(self): + super(And, self).streamline() + self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) + return self + + 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 :class:`ParseExpression` is found. If + two expressions match, the expression that matches the longest + string will be used. May be constructed using the ``'^'`` + 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 streamline(self): + super(Or, self).streamline() + self.saveAsList = any(e.saveAsList for e in self.exprs) + return self + + 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 :class:`ParseExpression` is found. If + two expressions match, the first one listed is the one that will + match. May be constructed using the ``'|'`` 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) + # self.saveAsList = any(e.saveAsList for e in self.exprs) + else: + self.mayReturnEmpty = True + + def streamline(self): + super(MatchFirst, self).streamline() + self.saveAsList = any(e.saveAsList for e in self.exprs) + return self + + 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 :class:`ParseExpression` s to be found, but in + any order. Expressions may be separated by whitespace. + + May be constructed using the ``'&'`` 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 + self.saveAsList = True + + def streamline(self): + super(Each, self).streamline() + self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) + return self + + 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 :class:`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. + ``FollowedBy`` does *not* advance the parsing position within + the input string, it only verifies that the specified parse + expression matches at the current position. ``FollowedBy`` + always returns a null token list. If any results names are defined + in the lookahead expression, those *will* be returned for access by + name. + + 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 ): + _, ret = self.expr._parse(instring, loc, doActions=doActions) + del ret[:] + return loc, ret + + +class PrecededBy(ParseElementEnhance): + """Lookbehind matching of the given parse expression. + ``PrecededBy`` does not advance the parsing position within the + input string, it only verifies that the specified parse expression + matches prior to the current position. ``PrecededBy`` always + returns a null token list, but if a results name is defined on the + given expression, it is returned. + + Parameters: + + - expr - expression that must match prior to the current parse + location + - retreat - (default= ``None``) - (int) maximum number of characters + to lookbehind prior to the current parse location + + If the lookbehind expression is a string, Literal, Keyword, or + a Word or CharsNotIn with a specified exact or maximum length, then + the retreat parameter is not required. Otherwise, retreat must be + specified to give a maximum number of characters to look back from + the current parse position for a lookbehind match. + + Example:: + + # VB-style variable names with type prefixes + int_var = PrecededBy("#") + pyparsing_common.identifier + str_var = PrecededBy("$") + pyparsing_common.identifier + + """ + def __init__(self, expr, retreat=None): + super(PrecededBy, self).__init__(expr) + self.expr = self.expr().leaveWhitespace() + self.mayReturnEmpty = True + self.mayIndexError = False + self.exact = False + if isinstance(expr, str): + retreat = len(expr) + self.exact = True + elif isinstance(expr, (Literal, Keyword)): + retreat = expr.matchLen + self.exact = True + elif isinstance(expr, (Word, CharsNotIn)) and expr.maxLen != _MAX_INT: + retreat = expr.maxLen + self.exact = True + elif isinstance(expr, _PositionToken): + retreat = 0 + self.exact = True + self.retreat = retreat + self.errmsg = "not preceded by " + str(expr) + self.skipWhitespace = False + + def parseImpl(self, instring, loc=0, doActions=True): + if self.exact: + if loc < self.retreat: + raise ParseException(instring, loc, self.errmsg) + start = loc - self.retreat + _, ret = self.expr._parse(instring, start) + else: + # retreat specified a maximum lookbehind window, iterate + test_expr = self.expr + StringEnd() + instring_slice = instring[:loc] + last_expr = ParseException(instring, loc, self.errmsg) + for offset in range(1, min(loc, self.retreat+1)): + try: + _, ret = test_expr._parse(instring_slice, loc-offset) + except ParseBaseException as pbe: + last_expr = pbe + else: + break + else: + raise last_expr + # return empty list of tokens, but preserve any defined results names + del ret[:] + return loc, ret + + +class NotAny(ParseElementEnhance): + """Lookahead to disallow matching with the given parse expression. + ``NotAny`` does *not* advance the parsing position within the + input string, it only verifies that the specified parse expression + does *not* match at the current position. Also, ``NotAny`` does + *not* skip over leading whitespace. ``NotAny`` always returns + a null token list. May be constructed using the '~' operator. + + Example:: + + AND, OR, NOT = map(CaselessKeyword, "AND OR NOT".split()) + + # take care not to mistake keywords for identifiers + ident = ~(AND | OR | NOT) + Word(alphas) + boolean_term = Optional(NOT) + ident + + # very crude boolean expression - to support parenthesis groups and + # operation hierarchy, use infixNotation + boolean_expr = boolean_term + ZeroOrMore((AND | OR) + boolean_term) + + # integers that are followed by "." are actually floats + integer = Word(nums) + ~Char(".") + """ + 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= ``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= ``None``) - expression for a terminating sentinel + (only required if the sentinel would ordinarily match the repetition + expression) + + Example: similar to :class:`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= ``False``) if True, the target expression is also parsed + (the skipped text and target expression are returned as a 2-element list). + - ignore - (default= ``None``) used to define grammars (typically quoted strings and + comments) that might contain false matches to the target expression + - failOn - (default= ``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.saveAsList = 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 ``Forward`` + variable using the '<<' operator. + + Note: take care when assigning to ``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 ``Forward``:: + + fwdExpr << (a | b | c) + + Converting to use the '<<=' operator instead will avoid this problem. + + See :class:`ParseResults.pprint` for an example of a recursive + parser created using ``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 :class:`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 + ``'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 :class:`ZeroOrMore` and :class:`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 = expr.saveAsList + + 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 :class:`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 :class:`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 + ``">> entering method-name(line:<current_source_line>, <parse_location>, <matched_tokens>)"``. + When the parse action completes, the decorator will print + ``"<<"`` 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 ``combine=True`` in the constructor. If + ``combine`` is set to ``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 ``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 ``"1:1"``, but not ``"1:2"``. Because this + matches a previous literal, will also match the leading + ``"1:1"`` in ``"1:10"``. If this is not desired, use + :class:`matchPreviousExpr`. Do *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 ``"1:1"``, but not ``"1:2"``. Because this + matches by expressions, will *not* match the leading ``"1:1"`` + in ``"1:10"``; the expressions are evaluated first, and then + compared, so ``"1"`` is compared with ``"10"``. Do *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 :class:`MatchFirst` for best performance. + + Parameters: + + - strs - a string of space-delimited literals, or a collection of + string literals + - caseless - (default= ``False``) - treat all literals as + caseless + - useRegex - (default= ``True``) - as an optimization, will + generate a Regex object; otherwise, will generate + a :class:`MatchFirst` object (if ``caseless=True``, or if + creating a :class:`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, 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 :class:`Dict`, :class:`ZeroOrMore`, and + :class:`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 :class:`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(OneOrMore(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 ``asString`` argument is passed as + ``False``, then the return value is + a :class:`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 + :class:`originalTextFor` contains expressions with defined + results names, you must set ``asString`` to ``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 ``<TAB>`` characters, you + may want to call :class:`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 | CharsNotIn(r'\]', exact=1) +_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 ``\-`` + or ``\]``) + - an escaped hex character with a leading ``'\x'`` + (``\x21``, which is a ``'!'`` character) (``\0x##`` + is also supported for backwards compatibility) + - an escaped octal character with a leading ``'\0'`` + (``\041``, which is a ``'!'`` character) + - a range of any of the above, separated by a dash (``'a-z'``, + etc.) + - any combination of the above (``'aeiouy'``, + ``'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 + :class:`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 + ``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 :class:`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 :class:`pyparsing_common.upcaseTokens`""" + +downcaseTokens = tokenMap(lambda t: _ustr(t).lower()) +"""(Deprecated) Helper parse action to convert tokens to lower case. +Deprecated in favor of :class:`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="https://github.com/pyparsing/pyparsing/wiki">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 -> https://github.com/pyparsing/pyparsing/wiki + """ + 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 :class:`makeHTMLTags` + """ + return _makeTags( tagStr, True ) + +def withAttribute(*args,**attrDict): + """Helper to create a validating parse action to be used with start + tags created with :class:`makeXMLTags` or + :class:`makeHTMLTags`. Use ``withAttribute`` to qualify + a starting tag with a required attribute value, to avoid false + matches on common tags such as ``<TD>`` or ``<DIV>``. + + Call ``withAttribute`` with a series of attribute names and + values. Specify the list of filter attributes names and values as: + + - keyword arguments, as in ``(align="right")``, or + - as an explicit dict with ``**`` operator, when an attribute + name is also a Python reserved word, as in ``**{"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 ``class`` (with or without a namespace), use + :class:`withClass`. + + To verify that the attribute exists, but without specifying a value, + pass ``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 :class:`withAttribute` when + matching on a div class - made difficult because ``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 &lt;div&gt; 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 = SimpleNamespace() +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 + :class:`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 + ``opAssoc.RIGHT`` and ``opAssoc.LEFT``. + - parseAction is the parse action to be associated with + expressions matching this operator expression (the parse action + tuple member may be omitted); if the parse action is passed + a tuple or list of functions, this is equivalent to calling + ``setParseAction(*fn)`` + (:class:`ParserElement.setParseAction`) + - lpar - expression for matching left-parentheses + (default= ``Suppress('(')``) + - rpar - expression for matching right-parentheses + (default= ``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]]] + """ + # captive version of FollowedBy that does not do parse actions or capture results names + class _FB(FollowedBy): + def parseImpl(self, instring, loc, doActions=True): + self.expr.tryParse(instring, loc) + return loc, [] + + 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 = _FB(lastExpr + opExpr) + Group( lastExpr + OneOrMore( opExpr ) ) + elif arity == 2: + if opExpr is not None: + matchExpr = _FB(lastExpr + opExpr + lastExpr) + Group( lastExpr + OneOrMore( opExpr + lastExpr ) ) + else: + matchExpr = _FB(lastExpr+lastExpr) + Group( lastExpr + OneOrMore(lastExpr) ) + elif arity == 3: + matchExpr = _FB(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 = _FB(opExpr.expr + thisExpr) + Group( opExpr + thisExpr ) + elif arity == 2: + if opExpr is not None: + matchExpr = _FB(lastExpr + opExpr + thisExpr) + Group( lastExpr + OneOrMore( opExpr + thisExpr ) ) + else: + matchExpr = _FB(lastExpr + thisExpr) + Group( lastExpr + OneOrMore( thisExpr ) ) + elif arity == 3: + matchExpr = _FB(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: + if isinstance(pa, (tuple, list)): + matchExpr.setParseAction(*pa) + else: + matchExpr.setParseAction(pa) + thisExpr <<= ( matchExpr.setName(termName) | lastExpr ) + lastExpr = thisExpr + ret <<= lastExpr + return ret + +operatorPrecedence = infixNotation +"""(Deprecated) Former name of :class:`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= ``"("``); can also be a pyparsing expression + - closer - closing character for a nested list + (default= ``")"``); can also be a pyparsing expression + - content - expression for items within the nested lists + (default= ``None``) + - ignoreExpr - expression for ignoring opening and closing + delimiters (default= :class:`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 ``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 + :class:`Or` or :class:`MatchFirst`. The default is + :class:`quotedString`, but if no expressions are to be ignored, then + pass ``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= ``True``) + + A valid block must contain at least one ``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 ``/* ... */``" + +htmlComment = Regex(r"<!--[\s\S]*?-->").setName("HTML comment") +"Comment of the form ``<!-- ... -->``" + +restOfLine = Regex(r".*").leaveWhitespace().setName("rest of line") +dblSlashComment = Regex(r"//(?:\\\n|[^\n])*").setName("// comment") +"Comment of the form ``// ... (to end of line)``" + +cppStyleComment = Combine(Regex(r"/\*(?:[^*]|\*(?!/))*") + '*/'| dblSlashComment).setName("C++ style comment") +"Comment of either form :class:`cStyleComment` or :class:`dblSlashComment`" + +javaStyleComment = cppStyleComment +"Same as :class:`cppStyleComment`" + +pythonStyleComment = Regex(r"#.*").setName("Python style comment") +"Comment of the form ``# ... (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 :class:`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 (:class:`integers<integer>`, :class:`reals<real>`, + :class:`scientific notation<sci_real>`) + - common :class:`programming identifiers<identifier>` + - network addresses (:class:`MAC<mac_address>`, + :class:`IPv4<ipv4_address>`, :class:`IPv6<ipv6_address>`) + - ISO8601 :class:`dates<iso8601_date>` and + :class:`datetime<iso8601_datetime>` + - :class:`UUID<uuid>` + - :class:`comma-separated list<comma_separated_list>` + + Parse actions: + + - :class:`convertToInteger` + - :class:`convertToFloat` + - :class:`convertToDate` + - :class:`convertToDatetime` + - :class:`stripHTMLTags` + - :class:`upcaseTokens` + - :class:`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 (``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= ``"%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= ``"%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 (``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 (``yyyy-mm-ddThh:mm:ss.s(Z|+-00:00)``) - trailing seconds, milliseconds, and timezone optional; accepts separating ``'T'`` or ``' '``" + + uuid = Regex(r'[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}').setName("UUID") + "UUID (``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="https://github.com/pyparsing/pyparsing/wiki">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) + + Prints:: + + 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.""" + + +class _lazyclassproperty(object): + def __init__(self, fn): + self.fn = fn + self.__doc__ = fn.__doc__ + self.__name__ = fn.__name__ + + def __get__(self, obj, cls): + if cls is None: + cls = type(obj) + if not hasattr(cls, '_intern') or any(cls._intern is getattr(superclass, '_intern', []) for superclass in cls.__mro__[1:]): + cls._intern = {} + attrname = self.fn.__name__ + if attrname not in cls._intern: + cls._intern[attrname] = self.fn(cls) + return cls._intern[attrname] + + +class unicode_set(object): + """ + A set of Unicode characters, for language-specific strings for + ``alphas``, ``nums``, ``alphanums``, and ``printables``. + A unicode_set is defined by a list of ranges in the Unicode character + set, in a class attribute ``_ranges``, such as:: + + _ranges = [(0x0020, 0x007e), (0x00a0, 0x00ff),] + + A unicode set can also be defined using multiple inheritance of other unicode sets:: + + class CJK(Chinese, Japanese, Korean): + pass + """ + _ranges = [] + + @classmethod + def _get_chars_for_ranges(cls): + ret = [] + for cc in cls.__mro__: + if cc is unicode_set: + break + for rr in cc._ranges: + ret.extend(range(rr[0], rr[-1]+1)) + return [unichr(c) for c in sorted(set(ret))] + + @_lazyclassproperty + def printables(cls): + "all non-whitespace characters in this range" + return u''.join(filterfalse(unicode.isspace, cls._get_chars_for_ranges())) + + @_lazyclassproperty + def alphas(cls): + "all alphabetic characters in this range" + return u''.join(filter(unicode.isalpha, cls._get_chars_for_ranges())) + + @_lazyclassproperty + def nums(cls): + "all numeric digit characters in this range" + return u''.join(filter(unicode.isdigit, cls._get_chars_for_ranges())) + + @_lazyclassproperty + def alphanums(cls): + "all alphanumeric characters in this range" + return cls.alphas + cls.nums + + +class pyparsing_unicode(unicode_set): + """ + A namespace class for defining common language unicode_sets. + """ + _ranges = [(32, sys.maxunicode)] + + class Latin1(unicode_set): + "Unicode set for Latin-1 Unicode Character Range" + _ranges = [(0x0020, 0x007e), (0x00a0, 0x00ff),] + + class LatinA(unicode_set): + "Unicode set for Latin-A Unicode Character Range" + _ranges = [(0x0100, 0x017f),] + + class LatinB(unicode_set): + "Unicode set for Latin-B Unicode Character Range" + _ranges = [(0x0180, 0x024f),] + + class Greek(unicode_set): + "Unicode set for Greek Unicode Character Ranges" + _ranges = [ + (0x0370, 0x03ff), (0x1f00, 0x1f15), (0x1f18, 0x1f1d), (0x1f20, 0x1f45), (0x1f48, 0x1f4d), + (0x1f50, 0x1f57), (0x1f59,), (0x1f5b,), (0x1f5d,), (0x1f5f, 0x1f7d), (0x1f80, 0x1fb4), (0x1fb6, 0x1fc4), + (0x1fc6, 0x1fd3), (0x1fd6, 0x1fdb), (0x1fdd, 0x1fef), (0x1ff2, 0x1ff4), (0x1ff6, 0x1ffe), + ] + + class Cyrillic(unicode_set): + "Unicode set for Cyrillic Unicode Character Range" + _ranges = [(0x0400, 0x04ff)] + + class Chinese(unicode_set): + "Unicode set for Chinese Unicode Character Range" + _ranges = [(0x4e00, 0x9fff), (0x3000, 0x303f), ] + + class Japanese(unicode_set): + "Unicode set for Japanese Unicode Character Range, combining Kanji, Hiragana, and Katakana ranges" + _ranges = [ ] + + class Kanji(unicode_set): + "Unicode set for Kanji Unicode Character Range" + _ranges = [(0x4E00, 0x9Fbf), (0x3000, 0x303f), ] + + class Hiragana(unicode_set): + "Unicode set for Hiragana Unicode Character Range" + _ranges = [(0x3040, 0x309f), ] + + class Katakana(unicode_set): + "Unicode set for Katakana Unicode Character Range" + _ranges = [(0x30a0, 0x30ff), ] + + class Korean(unicode_set): + "Unicode set for Korean Unicode Character Range" + _ranges = [(0xac00, 0xd7af), (0x1100, 0x11ff), (0x3130, 0x318f), (0xa960, 0xa97f), (0xd7b0, 0xd7ff), (0x3000, 0x303f), ] + + class CJK(Chinese, Japanese, Korean): + "Unicode set for combined Chinese, Japanese, and Korean (CJK) Unicode Character Range" + pass + + class Thai(unicode_set): + "Unicode set for Thai Unicode Character Range" + _ranges = [(0x0e01, 0x0e3a), (0x0e3f, 0x0e5b), ] + + class Arabic(unicode_set): + "Unicode set for Arabic Unicode Character Range" + _ranges = [(0x0600, 0x061b), (0x061e, 0x06ff), (0x0700, 0x077f), ] + + class Hebrew(unicode_set): + "Unicode set for Hebrew Unicode Character Range" + _ranges = [(0x0590, 0x05ff), ] + + class Devanagari(unicode_set): + "Unicode set for Devanagari Unicode Character Range" + _ranges = [(0x0900, 0x097f), (0xa8e0, 0xa8ff)] + +pyparsing_unicode.Japanese._ranges = (pyparsing_unicode.Japanese.Kanji._ranges + + pyparsing_unicode.Japanese.Hiragana._ranges + + pyparsing_unicode.Japanese.Katakana._ranges) + +# define ranges in language character sets +if PY_3: + setattr(pyparsing_unicode, "العربية", pyparsing_unicode.Arabic) + setattr(pyparsing_unicode, "中文", pyparsing_unicode.Chinese) + setattr(pyparsing_unicode, "кириллица", pyparsing_unicode.Cyrillic) + setattr(pyparsing_unicode, "Ελληνικά", pyparsing_unicode.Greek) + setattr(pyparsing_unicode, "עִברִית", pyparsing_unicode.Hebrew) + setattr(pyparsing_unicode, "日本語", pyparsing_unicode.Japanese) + setattr(pyparsing_unicode.Japanese, "漢字", pyparsing_unicode.Japanese.Kanji) + setattr(pyparsing_unicode.Japanese, "カタカナ", pyparsing_unicode.Japanese.Katakana) + setattr(pyparsing_unicode.Japanese, "ひらがな", pyparsing_unicode.Japanese.Hiragana) + setattr(pyparsing_unicode, "한국어", pyparsing_unicode.Korean) + setattr(pyparsing_unicode, "ไทย", pyparsing_unicode.Thai) + setattr(pyparsing_unicode, "देवनागरी", pyparsing_unicode.Devanagari) + + +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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__init__.py new file mode 100644 index 0000000..8ed060f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/__init__.py @@ -0,0 +1,4 @@ +from .core import TomlError +from .parser import load, loads +from .test import translate_to_test +from .writer import dump, dumps \ No newline at end of file diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/core.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/core.py new file mode 100644 index 0000000..c182734 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/core.py @@ -0,0 +1,13 @@ +class TomlError(RuntimeError): + def __init__(self, message, line, col, filename): + RuntimeError.__init__(self, message, line, col, filename) + self.message = message + self.line = line + self.col = col + self.filename = filename + + def __str__(self): + return '{}({}, {}): {}'.format(self.filename, self.line, self.col, self.message) + + def __repr__(self): + return 'TomlError({!r}, {!r}, {!r}, {!r})'.format(self.message, self.line, self.col, self.filename) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/parser.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/parser.py new file mode 100644 index 0000000..3493aa6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/parser.py @@ -0,0 +1,341 @@ +import string, re, sys, datetime +from .core import TomlError +from .utils import rfc3339_re, parse_rfc3339_re + +if sys.version_info[0] == 2: + _chr = unichr +else: + _chr = chr + +def load(fin, translate=lambda t, x, v: v, object_pairs_hook=dict): + return loads(fin.read(), translate=translate, object_pairs_hook=object_pairs_hook, filename=getattr(fin, 'name', repr(fin))) + +def loads(s, filename='<string>', translate=lambda t, x, v: v, object_pairs_hook=dict): + if isinstance(s, bytes): + s = s.decode('utf-8') + + s = s.replace('\r\n', '\n') + + root = object_pairs_hook() + tables = object_pairs_hook() + scope = root + + src = _Source(s, filename=filename) + ast = _p_toml(src, object_pairs_hook=object_pairs_hook) + + def error(msg): + raise TomlError(msg, pos[0], pos[1], filename) + + def process_value(v, object_pairs_hook): + kind, text, value, pos = v + if kind == 'str' and value.startswith('\n'): + value = value[1:] + if kind == 'array': + if value and any(k != value[0][0] for k, t, v, p in value[1:]): + error('array-type-mismatch') + value = [process_value(item, object_pairs_hook=object_pairs_hook) for item in value] + elif kind == 'table': + value = object_pairs_hook([(k, process_value(value[k], object_pairs_hook=object_pairs_hook)) for k in value]) + return translate(kind, text, value) + + for kind, value, pos in ast: + if kind == 'kv': + k, v = value + if k in scope: + error('duplicate_keys. Key "{0}" was used more than once.'.format(k)) + scope[k] = process_value(v, object_pairs_hook=object_pairs_hook) + else: + is_table_array = (kind == 'table_array') + cur = tables + for name in value[:-1]: + if isinstance(cur.get(name), list): + d, cur = cur[name][-1] + else: + d, cur = cur.setdefault(name, (None, object_pairs_hook())) + + scope = object_pairs_hook() + name = value[-1] + if name not in cur: + if is_table_array: + cur[name] = [(scope, object_pairs_hook())] + else: + cur[name] = (scope, object_pairs_hook()) + elif isinstance(cur[name], list): + if not is_table_array: + error('table_type_mismatch') + cur[name].append((scope, object_pairs_hook())) + else: + if is_table_array: + error('table_type_mismatch') + old_scope, next_table = cur[name] + if old_scope is not None: + error('duplicate_tables') + cur[name] = (scope, next_table) + + def merge_tables(scope, tables): + if scope is None: + scope = object_pairs_hook() + for k in tables: + if k in scope: + error('key_table_conflict') + v = tables[k] + if isinstance(v, list): + scope[k] = [merge_tables(sc, tbl) for sc, tbl in v] + else: + scope[k] = merge_tables(v[0], v[1]) + return scope + + return merge_tables(root, tables) + +class _Source: + def __init__(self, s, filename=None): + self.s = s + self._pos = (1, 1) + self._last = None + self._filename = filename + self.backtrack_stack = [] + + def last(self): + return self._last + + def pos(self): + return self._pos + + def fail(self): + return self._expect(None) + + def consume_dot(self): + if self.s: + self._last = self.s[0] + self.s = self[1:] + self._advance(self._last) + return self._last + return None + + def expect_dot(self): + return self._expect(self.consume_dot()) + + def consume_eof(self): + if not self.s: + self._last = '' + return True + return False + + def expect_eof(self): + return self._expect(self.consume_eof()) + + def consume(self, s): + if self.s.startswith(s): + self.s = self.s[len(s):] + self._last = s + self._advance(s) + return True + return False + + def expect(self, s): + return self._expect(self.consume(s)) + + def consume_re(self, re): + m = re.match(self.s) + if m: + self.s = self.s[len(m.group(0)):] + self._last = m + self._advance(m.group(0)) + return m + return None + + def expect_re(self, re): + return self._expect(self.consume_re(re)) + + def __enter__(self): + self.backtrack_stack.append((self.s, self._pos)) + + def __exit__(self, type, value, traceback): + if type is None: + self.backtrack_stack.pop() + else: + self.s, self._pos = self.backtrack_stack.pop() + return type == TomlError + + def commit(self): + self.backtrack_stack[-1] = (self.s, self._pos) + + def _expect(self, r): + if not r: + raise TomlError('msg', self._pos[0], self._pos[1], self._filename) + return r + + def _advance(self, s): + suffix_pos = s.rfind('\n') + if suffix_pos == -1: + self._pos = (self._pos[0], self._pos[1] + len(s)) + else: + self._pos = (self._pos[0] + s.count('\n'), len(s) - suffix_pos) + +_ews_re = re.compile(r'(?:[ \t]|#[^\n]*\n|#[^\n]*\Z|\n)*') +def _p_ews(s): + s.expect_re(_ews_re) + +_ws_re = re.compile(r'[ \t]*') +def _p_ws(s): + s.expect_re(_ws_re) + +_escapes = { 'b': '\b', 'n': '\n', 'r': '\r', 't': '\t', '"': '"', + '\\': '\\', 'f': '\f' } + +_basicstr_re = re.compile(r'[^"\\\000-\037]*') +_short_uni_re = re.compile(r'u([0-9a-fA-F]{4})') +_long_uni_re = re.compile(r'U([0-9a-fA-F]{8})') +_escapes_re = re.compile(r'[btnfr\"\\]') +_newline_esc_re = re.compile('\n[ \t\n]*') +def _p_basicstr_content(s, content=_basicstr_re): + res = [] + while True: + res.append(s.expect_re(content).group(0)) + if not s.consume('\\'): + break + if s.consume_re(_newline_esc_re): + pass + elif s.consume_re(_short_uni_re) or s.consume_re(_long_uni_re): + v = int(s.last().group(1), 16) + if 0xd800 <= v < 0xe000: + s.fail() + res.append(_chr(v)) + else: + s.expect_re(_escapes_re) + res.append(_escapes[s.last().group(0)]) + return ''.join(res) + +_key_re = re.compile(r'[0-9a-zA-Z-_]+') +def _p_key(s): + with s: + s.expect('"') + r = _p_basicstr_content(s, _basicstr_re) + s.expect('"') + return r + if s.consume('\''): + if s.consume('\'\''): + r = s.expect_re(_litstr_ml_re).group(0) + s.expect('\'\'\'') + else: + r = s.expect_re(_litstr_re).group(0) + s.expect('\'') + return r + return s.expect_re(_key_re).group(0) + +_float_re = re.compile(r'[+-]?(?:0|[1-9](?:_?\d)*)(?:\.\d(?:_?\d)*)?(?:[eE][+-]?(?:\d(?:_?\d)*))?') + +_basicstr_ml_re = re.compile(r'(?:""?(?!")|[^"\\\000-\011\013-\037])*') +_litstr_re = re.compile(r"[^'\000\010\012-\037]*") +_litstr_ml_re = re.compile(r"(?:(?:|'|'')(?:[^'\000-\010\013-\037]))*") +def _p_value(s, object_pairs_hook): + pos = s.pos() + + if s.consume('true'): + return 'bool', s.last(), True, pos + if s.consume('false'): + return 'bool', s.last(), False, pos + + if s.consume('"'): + if s.consume('""'): + r = _p_basicstr_content(s, _basicstr_ml_re) + s.expect('"""') + else: + r = _p_basicstr_content(s, _basicstr_re) + s.expect('"') + return 'str', r, r, pos + + if s.consume('\''): + if s.consume('\'\''): + r = s.expect_re(_litstr_ml_re).group(0) + s.expect('\'\'\'') + else: + r = s.expect_re(_litstr_re).group(0) + s.expect('\'') + return 'str', r, r, pos + + if s.consume_re(rfc3339_re): + m = s.last() + return 'datetime', m.group(0), parse_rfc3339_re(m), pos + + if s.consume_re(_float_re): + m = s.last().group(0) + r = m.replace('_','') + if '.' in m or 'e' in m or 'E' in m: + return 'float', m, float(r), pos + else: + return 'int', m, int(r, 10), pos + + if s.consume('['): + items = [] + with s: + while True: + _p_ews(s) + items.append(_p_value(s, object_pairs_hook=object_pairs_hook)) + s.commit() + _p_ews(s) + s.expect(',') + s.commit() + _p_ews(s) + s.expect(']') + return 'array', None, items, pos + + if s.consume('{'): + _p_ws(s) + items = object_pairs_hook() + if not s.consume('}'): + k = _p_key(s) + _p_ws(s) + s.expect('=') + _p_ws(s) + items[k] = _p_value(s, object_pairs_hook=object_pairs_hook) + _p_ws(s) + while s.consume(','): + _p_ws(s) + k = _p_key(s) + _p_ws(s) + s.expect('=') + _p_ws(s) + items[k] = _p_value(s, object_pairs_hook=object_pairs_hook) + _p_ws(s) + s.expect('}') + return 'table', None, items, pos + + s.fail() + +def _p_stmt(s, object_pairs_hook): + pos = s.pos() + if s.consume( '['): + is_array = s.consume('[') + _p_ws(s) + keys = [_p_key(s)] + _p_ws(s) + while s.consume('.'): + _p_ws(s) + keys.append(_p_key(s)) + _p_ws(s) + s.expect(']') + if is_array: + s.expect(']') + return 'table_array' if is_array else 'table', keys, pos + + key = _p_key(s) + _p_ws(s) + s.expect('=') + _p_ws(s) + value = _p_value(s, object_pairs_hook=object_pairs_hook) + return 'kv', (key, value), pos + +_stmtsep_re = re.compile(r'(?:[ \t]*(?:#[^\n]*)?\n)+[ \t]*') +def _p_toml(s, object_pairs_hook): + stmts = [] + _p_ews(s) + with s: + stmts.append(_p_stmt(s, object_pairs_hook=object_pairs_hook)) + while True: + s.commit() + s.expect_re(_stmtsep_re) + stmts.append(_p_stmt(s, object_pairs_hook=object_pairs_hook)) + _p_ews(s) + s.expect_eof() + return stmts diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/test.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/test.py new file mode 100644 index 0000000..ec8abfc --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/test.py @@ -0,0 +1,30 @@ +import datetime +from .utils import format_rfc3339 + +try: + _string_types = (str, unicode) + _int_types = (int, long) +except NameError: + _string_types = str + _int_types = int + +def translate_to_test(v): + if isinstance(v, dict): + return { k: translate_to_test(v) for k, v in v.items() } + if isinstance(v, list): + a = [translate_to_test(x) for x in v] + if v and isinstance(v[0], dict): + return a + else: + return {'type': 'array', 'value': a} + if isinstance(v, datetime.datetime): + return {'type': 'datetime', 'value': format_rfc3339(v)} + if isinstance(v, bool): + return {'type': 'bool', 'value': 'true' if v else 'false'} + if isinstance(v, _int_types): + return {'type': 'integer', 'value': str(v)} + if isinstance(v, float): + return {'type': 'float', 'value': '{:.17}'.format(v)} + if isinstance(v, _string_types): + return {'type': 'string', 'value': v} + raise RuntimeError('unexpected value: {!r}'.format(v)) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/utils.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/utils.py new file mode 100644 index 0000000..636a680 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/utils.py @@ -0,0 +1,67 @@ +import datetime +import re + +rfc3339_re = re.compile(r'(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(\.\d+)?(?:Z|([+-]\d{2}):(\d{2}))') + +def parse_rfc3339(v): + m = rfc3339_re.match(v) + if not m or m.group(0) != v: + return None + return parse_rfc3339_re(m) + +def parse_rfc3339_re(m): + r = map(int, m.groups()[:6]) + if m.group(7): + micro = float(m.group(7)) + else: + micro = 0 + + if m.group(8): + g = int(m.group(8), 10) * 60 + int(m.group(9), 10) + tz = _TimeZone(datetime.timedelta(0, g * 60)) + else: + tz = _TimeZone(datetime.timedelta(0, 0)) + + y, m, d, H, M, S = r + return datetime.datetime(y, m, d, H, M, S, int(micro * 1000000), tz) + + +def format_rfc3339(v): + offs = v.utcoffset() + offs = int(offs.total_seconds()) // 60 if offs is not None else 0 + + if offs == 0: + suffix = 'Z' + else: + if offs > 0: + suffix = '+' + else: + suffix = '-' + offs = -offs + suffix = '{0}{1:02}:{2:02}'.format(suffix, offs // 60, offs % 60) + + if v.microsecond: + return v.strftime('%Y-%m-%dT%H:%M:%S.%f') + suffix + else: + return v.strftime('%Y-%m-%dT%H:%M:%S') + suffix + +class _TimeZone(datetime.tzinfo): + def __init__(self, offset): + self._offset = offset + + def utcoffset(self, dt): + return self._offset + + def dst(self, dt): + return None + + def tzname(self, dt): + m = self._offset.total_seconds() // 60 + if m < 0: + res = '-' + m = -m + else: + res = '+' + h = m // 60 + m = m - h * 60 + return '{}{:.02}{:.02}'.format(res, h, m) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/writer.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/writer.py new file mode 100644 index 0000000..73b5089 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/pytoml/writer.py @@ -0,0 +1,106 @@ +from __future__ import unicode_literals +import io, datetime, math, string, sys + +from .utils import format_rfc3339 + +if sys.version_info[0] == 3: + long = int + unicode = str + + +def dumps(obj, sort_keys=False): + fout = io.StringIO() + dump(obj, fout, sort_keys=sort_keys) + return fout.getvalue() + + +_escapes = {'\n': 'n', '\r': 'r', '\\': '\\', '\t': 't', '\b': 'b', '\f': 'f', '"': '"'} + + +def _escape_string(s): + res = [] + start = 0 + + def flush(): + if start != i: + res.append(s[start:i]) + return i + 1 + + i = 0 + while i < len(s): + c = s[i] + if c in '"\\\n\r\t\b\f': + start = flush() + res.append('\\' + _escapes[c]) + elif ord(c) < 0x20: + start = flush() + res.append('\\u%04x' % ord(c)) + i += 1 + + flush() + return '"' + ''.join(res) + '"' + + +_key_chars = string.digits + string.ascii_letters + '-_' +def _escape_id(s): + if any(c not in _key_chars for c in s): + return _escape_string(s) + return s + + +def _format_value(v): + if isinstance(v, bool): + return 'true' if v else 'false' + if isinstance(v, int) or isinstance(v, long): + return unicode(v) + if isinstance(v, float): + if math.isnan(v) or math.isinf(v): + raise ValueError("{0} is not a valid TOML value".format(v)) + else: + return repr(v) + elif isinstance(v, unicode) or isinstance(v, bytes): + return _escape_string(v) + elif isinstance(v, datetime.datetime): + return format_rfc3339(v) + elif isinstance(v, list): + return '[{0}]'.format(', '.join(_format_value(obj) for obj in v)) + elif isinstance(v, dict): + return '{{{0}}}'.format(', '.join('{} = {}'.format(_escape_id(k), _format_value(obj)) for k, obj in v.items())) + else: + raise RuntimeError(v) + + +def dump(obj, fout, sort_keys=False): + tables = [((), obj, False)] + + while tables: + name, table, is_array = tables.pop() + if name: + section_name = '.'.join(_escape_id(c) for c in name) + if is_array: + fout.write('[[{0}]]\n'.format(section_name)) + else: + fout.write('[{0}]\n'.format(section_name)) + + table_keys = sorted(table.keys()) if sort_keys else table.keys() + new_tables = [] + has_kv = False + for k in table_keys: + v = table[k] + if isinstance(v, dict): + new_tables.append((name + (k,), v, False)) + elif isinstance(v, list) and v and all(isinstance(o, dict) for o in v): + new_tables.extend((name + (k,), d, True) for d in v) + elif v is None: + # based on mojombo's comment: https://github.com/toml-lang/toml/issues/146#issuecomment-25019344 + fout.write( + '#{} = null # To use: uncomment and replace null with value\n'.format(_escape_id(k))) + has_kv = True + else: + fout.write('{0} = {1}\n'.format(_escape_id(k), _format_value(v))) + has_kv = True + + tables.extend(reversed(new_tables)) + + if (name or has_kv) and tables: + fout.write('\n') diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__init__.py new file mode 100644 index 0000000..80c4ce1 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__init__.py @@ -0,0 +1,133 @@ +# -*- coding: utf-8 -*- + +# __ +# /__) _ _ _ _ _/ _ +# / ( (- (/ (/ (- _) / _) +# / + +""" +Requests HTTP Library +~~~~~~~~~~~~~~~~~~~~~ + +Requests is an HTTP library, written in Python, for human beings. Basic GET +usage: + + >>> import requests + >>> r = requests.get('https://www.python.org') + >>> r.status_code + 200 + >>> 'Python is a programming language' in r.content + True + +... or POST: + + >>> payload = dict(key1='value1', key2='value2') + >>> r = requests.post('https://httpbin.org/post', data=payload) + >>> print(r.text) + { + ... + "form": { + "key2": "value2", + "key1": "value1" + }, + ... + } + +The other HTTP methods are supported - see `requests.api`. Full documentation +is at <http://python-requests.org>. + +:copyright: (c) 2017 by Kenneth Reitz. +:license: Apache 2.0, see LICENSE for more details. +""" + +from pip._vendor import urllib3 +from pip._vendor import chardet +import warnings +from .exceptions import RequestsDependencyWarning + + +def check_compatibility(urllib3_version, chardet_version): + urllib3_version = urllib3_version.split('.') + assert urllib3_version != ['dev'] # Verify urllib3 isn't installed from git. + + # Sometimes, urllib3 only reports its version as 16.1. + if len(urllib3_version) == 2: + urllib3_version.append('0') + + # Check urllib3 for compatibility. + major, minor, patch = urllib3_version # noqa: F811 + major, minor, patch = int(major), int(minor), int(patch) + # urllib3 >= 1.21.1, <= 1.24 + assert major == 1 + assert minor >= 21 + assert minor <= 24 + + # Check chardet for compatibility. + major, minor, patch = chardet_version.split('.')[:3] + major, minor, patch = int(major), int(minor), int(patch) + # chardet >= 3.0.2, < 3.1.0 + assert major == 3 + assert minor < 1 + assert patch >= 2 + + +def _check_cryptography(cryptography_version): + # cryptography < 1.3.4 + try: + cryptography_version = list(map(int, cryptography_version.split('.'))) + except ValueError: + return + + if cryptography_version < [1, 3, 4]: + warning = 'Old version of cryptography ({}) may cause slowdown.'.format(cryptography_version) + warnings.warn(warning, RequestsDependencyWarning) + +# Check imported dependencies for compatibility. +try: + check_compatibility(urllib3.__version__, chardet.__version__) +except (AssertionError, ValueError): + warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported " + "version!".format(urllib3.__version__, chardet.__version__), + RequestsDependencyWarning) + +# Attempt to enable urllib3's SNI support, if possible +from pip._internal.utils.compat import WINDOWS +if not WINDOWS: + try: + from pip._vendor.urllib3.contrib import pyopenssl + pyopenssl.inject_into_urllib3() + + # Check cryptography version + from cryptography import __version__ as cryptography_version + _check_cryptography(cryptography_version) + except ImportError: + pass + +# urllib3's DependencyWarnings should be silenced. +from pip._vendor.urllib3.exceptions import DependencyWarning +warnings.simplefilter('ignore', DependencyWarning) + +from .__version__ import __title__, __description__, __url__, __version__ +from .__version__ import __build__, __author__, __author_email__, __license__ +from .__version__ import __copyright__, __cake__ + +from . import utils +from . import packages +from .models import Request, Response, PreparedRequest +from .api import request, get, head, post, patch, put, delete, options +from .sessions import session, Session +from .status_codes import codes +from .exceptions import ( + RequestException, Timeout, URLRequired, + TooManyRedirects, HTTPError, ConnectionError, + FileModeWarning, ConnectTimeout, ReadTimeout +) + +# Set default logging handler to avoid "No handler found" warnings. +import logging +from logging import NullHandler + +logging.getLogger(__name__).addHandler(NullHandler()) + +# FileModeWarnings go off per the default. +warnings.simplefilter('default', FileModeWarning, append=True) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__version__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__version__.py new file mode 100644 index 0000000..f5b5d03 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/__version__.py @@ -0,0 +1,14 @@ +# .-. .-. .-. . . .-. .-. .-. .-. +# |( |- |.| | | |- `-. | `-. +# ' ' `-' `-`.`-' `-' `-' ' `-' + +__title__ = 'requests' +__description__ = 'Python HTTP for Humans.' +__url__ = 'http://python-requests.org' +__version__ = '2.21.0' +__build__ = 0x022100 +__author__ = 'Kenneth Reitz' +__author_email__ = 'me@kennethreitz.org' +__license__ = 'Apache 2.0' +__copyright__ = 'Copyright 2018 Kenneth Reitz' +__cake__ = u'\u2728 \U0001f370 \u2728' diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/_internal_utils.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/_internal_utils.py new file mode 100644 index 0000000..759d9a5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/_internal_utils.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- + +""" +requests._internal_utils +~~~~~~~~~~~~~~ + +Provides utility functions that are consumed internally by Requests +which depend on extremely few external helpers (such as compat) +""" + +from .compat import is_py2, builtin_str, str + + +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 + + +def unicode_is_ascii(u_string): + """Determine if unicode string only contains ASCII characters. + + :param str u_string: unicode string to check. Must be unicode + and not Python 2 `str`. + :rtype: bool + """ + assert isinstance(u_string, str) + try: + u_string.encode('ascii') + return True + except UnicodeEncodeError: + return False diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/adapters.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/adapters.py new file mode 100644 index 0000000..c30e7c9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/adapters.py @@ -0,0 +1,533 @@ +# -*- coding: utf-8 -*- + +""" +requests.adapters +~~~~~~~~~~~~~~~~~ + +This module contains the transport adapters that Requests uses to define +and maintain connections. +""" + +import os.path +import socket + +from pip._vendor.urllib3.poolmanager import PoolManager, proxy_from_url +from pip._vendor.urllib3.response import HTTPResponse +from pip._vendor.urllib3.util import parse_url +from pip._vendor.urllib3.util import Timeout as TimeoutSauce +from pip._vendor.urllib3.util.retry import Retry +from pip._vendor.urllib3.exceptions import ClosedPoolError +from pip._vendor.urllib3.exceptions import ConnectTimeoutError +from pip._vendor.urllib3.exceptions import HTTPError as _HTTPError +from pip._vendor.urllib3.exceptions import MaxRetryError +from pip._vendor.urllib3.exceptions import NewConnectionError +from pip._vendor.urllib3.exceptions import ProxyError as _ProxyError +from pip._vendor.urllib3.exceptions import ProtocolError +from pip._vendor.urllib3.exceptions import ReadTimeoutError +from pip._vendor.urllib3.exceptions import SSLError as _SSLError +from pip._vendor.urllib3.exceptions import ResponseError +from pip._vendor.urllib3.exceptions import LocationValueError + +from .models import Response +from .compat import urlparse, basestring +from .utils import (DEFAULT_CA_BUNDLE_PATH, extract_zipped_paths, + get_encoding_from_headers, prepend_scheme_if_needed, + get_auth_from_url, urldefragauth, select_proxy) +from .structures import CaseInsensitiveDict +from .cookies import extract_cookies_to_jar +from .exceptions import (ConnectionError, ConnectTimeout, ReadTimeout, SSLError, + ProxyError, RetryError, InvalidSchema, InvalidProxyURL, + InvalidURL) +from .auth import _basic_auth_str + +try: + from pip._vendor.urllib3.contrib.socks import SOCKSProxyManager +except ImportError: + def SOCKSProxyManager(*args, **kwargs): + raise InvalidSchema("Missing dependencies for SOCKS support.") + +DEFAULT_POOLBLOCK = False +DEFAULT_POOLSIZE = 10 +DEFAULT_RETRIES = 0 +DEFAULT_POOL_TIMEOUT = None + + +class BaseAdapter(object): + """The Base Transport Adapter""" + + def __init__(self): + super(BaseAdapter, self).__init__() + + def send(self, request, stream=False, timeout=None, verify=True, + cert=None, proxies=None): + """Sends PreparedRequest object. Returns Response object. + + :param request: The :class:`PreparedRequest <PreparedRequest>` being sent. + :param stream: (optional) Whether to stream the request content. + :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) <timeouts>` tuple. + :type timeout: float or tuple + :param verify: (optional) Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use + :param cert: (optional) Any user-provided SSL certificate to be trusted. + :param proxies: (optional) The proxies dictionary to apply to the request. + """ + raise NotImplementedError + + def close(self): + """Cleans up adapter specific items.""" + raise NotImplementedError + + +class HTTPAdapter(BaseAdapter): + """The built-in HTTP Adapter for urllib3. + + Provides a general-case interface for Requests sessions to contact HTTP and + HTTPS urls by implementing the Transport Adapter interface. This class will + usually be created by the :class:`Session <Session>` class under the + covers. + + :param pool_connections: The number of urllib3 connection pools to cache. + :param pool_maxsize: The maximum number of connections to save in the pool. + :param max_retries: The maximum number of retries each connection + should attempt. Note, this applies only to failed DNS lookups, socket + connections and connection timeouts, never to requests where data has + made it to the server. By default, Requests does not retry failed + connections. If you need granular control over the conditions under + which we retry a request, import urllib3's ``Retry`` class and pass + that instead. + :param pool_block: Whether the connection pool should block for connections. + + Usage:: + + >>> import requests + >>> s = requests.Session() + >>> a = requests.adapters.HTTPAdapter(max_retries=3) + >>> s.mount('http://', a) + """ + __attrs__ = ['max_retries', 'config', '_pool_connections', '_pool_maxsize', + '_pool_block'] + + def __init__(self, pool_connections=DEFAULT_POOLSIZE, + pool_maxsize=DEFAULT_POOLSIZE, max_retries=DEFAULT_RETRIES, + pool_block=DEFAULT_POOLBLOCK): + if max_retries == DEFAULT_RETRIES: + self.max_retries = Retry(0, read=False) + else: + self.max_retries = Retry.from_int(max_retries) + self.config = {} + self.proxy_manager = {} + + super(HTTPAdapter, self).__init__() + + self._pool_connections = pool_connections + self._pool_maxsize = pool_maxsize + self._pool_block = pool_block + + self.init_poolmanager(pool_connections, pool_maxsize, block=pool_block) + + def __getstate__(self): + return {attr: getattr(self, attr, None) for attr in self.__attrs__} + + def __setstate__(self, state): + # Can't handle by adding 'proxy_manager' to self.__attrs__ because + # self.poolmanager uses a lambda function, which isn't pickleable. + self.proxy_manager = {} + self.config = {} + + for attr, value in state.items(): + setattr(self, attr, value) + + self.init_poolmanager(self._pool_connections, self._pool_maxsize, + block=self._pool_block) + + def init_poolmanager(self, connections, maxsize, block=DEFAULT_POOLBLOCK, **pool_kwargs): + """Initializes a urllib3 PoolManager. + + This method should not be called from user code, and is only + exposed for use when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param connections: The number of urllib3 connection pools to cache. + :param maxsize: The maximum number of connections to save in the pool. + :param block: Block when no free connections are available. + :param pool_kwargs: Extra keyword arguments used to initialize the Pool Manager. + """ + # save these values for pickling + self._pool_connections = connections + self._pool_maxsize = maxsize + self._pool_block = block + + self.poolmanager = PoolManager(num_pools=connections, maxsize=maxsize, + block=block, strict=True, **pool_kwargs) + + def proxy_manager_for(self, proxy, **proxy_kwargs): + """Return urllib3 ProxyManager for the given proxy. + + This method should not be called from user code, and is only + exposed for use when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param proxy: The proxy to return a urllib3 ProxyManager for. + :param proxy_kwargs: Extra keyword arguments used to configure the Proxy Manager. + :returns: ProxyManager + :rtype: urllib3.ProxyManager + """ + if proxy in self.proxy_manager: + manager = self.proxy_manager[proxy] + elif proxy.lower().startswith('socks'): + username, password = get_auth_from_url(proxy) + manager = self.proxy_manager[proxy] = SOCKSProxyManager( + proxy, + username=username, + password=password, + num_pools=self._pool_connections, + maxsize=self._pool_maxsize, + block=self._pool_block, + **proxy_kwargs + ) + else: + proxy_headers = self.proxy_headers(proxy) + manager = self.proxy_manager[proxy] = proxy_from_url( + proxy, + proxy_headers=proxy_headers, + num_pools=self._pool_connections, + maxsize=self._pool_maxsize, + block=self._pool_block, + **proxy_kwargs) + + return manager + + def cert_verify(self, conn, url, verify, cert): + """Verify a SSL certificate. This method should not be called from user + code, and is only exposed for use when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param conn: The urllib3 connection object associated with the cert. + :param url: The requested URL. + :param verify: Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use + :param cert: The SSL certificate to verify. + """ + if url.lower().startswith('https') and verify: + + cert_loc = None + + # Allow self-specified cert location. + if verify is not True: + cert_loc = verify + + if not cert_loc: + cert_loc = extract_zipped_paths(DEFAULT_CA_BUNDLE_PATH) + + if not cert_loc or not os.path.exists(cert_loc): + raise IOError("Could not find a suitable TLS CA certificate bundle, " + "invalid path: {}".format(cert_loc)) + + conn.cert_reqs = 'CERT_REQUIRED' + + if not os.path.isdir(cert_loc): + conn.ca_certs = cert_loc + else: + conn.ca_cert_dir = cert_loc + else: + conn.cert_reqs = 'CERT_NONE' + conn.ca_certs = None + conn.ca_cert_dir = None + + if cert: + if not isinstance(cert, basestring): + conn.cert_file = cert[0] + conn.key_file = cert[1] + else: + conn.cert_file = cert + conn.key_file = None + if conn.cert_file and not os.path.exists(conn.cert_file): + raise IOError("Could not find the TLS certificate file, " + "invalid path: {}".format(conn.cert_file)) + if conn.key_file and not os.path.exists(conn.key_file): + raise IOError("Could not find the TLS key file, " + "invalid path: {}".format(conn.key_file)) + + def build_response(self, req, resp): + """Builds a :class:`Response <requests.Response>` object from a urllib3 + response. This should not be called from user code, and is only exposed + for use when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>` + + :param req: The :class:`PreparedRequest <PreparedRequest>` used to generate the response. + :param resp: The urllib3 response object. + :rtype: requests.Response + """ + response = Response() + + # Fallback to None if there's no status_code, for whatever reason. + response.status_code = getattr(resp, 'status', None) + + # Make headers case-insensitive. + response.headers = CaseInsensitiveDict(getattr(resp, 'headers', {})) + + # Set encoding. + response.encoding = get_encoding_from_headers(response.headers) + response.raw = resp + response.reason = response.raw.reason + + if isinstance(req.url, bytes): + response.url = req.url.decode('utf-8') + else: + response.url = req.url + + # Add new cookies from the server. + extract_cookies_to_jar(response.cookies, req, resp) + + # Give the Response some context. + response.request = req + response.connection = self + + return response + + def get_connection(self, url, proxies=None): + """Returns a urllib3 connection for the given URL. This should not be + called from user code, and is only exposed for use when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param url: The URL to connect to. + :param proxies: (optional) A Requests-style dictionary of proxies used on this request. + :rtype: urllib3.ConnectionPool + """ + proxy = select_proxy(url, proxies) + + if proxy: + proxy = prepend_scheme_if_needed(proxy, 'http') + proxy_url = parse_url(proxy) + if not proxy_url.host: + raise InvalidProxyURL("Please check proxy URL. It is malformed" + " and could be missing the host.") + proxy_manager = self.proxy_manager_for(proxy) + conn = proxy_manager.connection_from_url(url) + else: + # Only scheme should be lower case + parsed = urlparse(url) + url = parsed.geturl() + conn = self.poolmanager.connection_from_url(url) + + return conn + + def close(self): + """Disposes of any internal state. + + Currently, this closes the PoolManager and any active ProxyManager, + which closes any pooled connections. + """ + self.poolmanager.clear() + for proxy in self.proxy_manager.values(): + proxy.clear() + + def request_url(self, request, proxies): + """Obtain the url to use when making the final request. + + If the message is being sent through a HTTP proxy, the full URL has to + be used. Otherwise, we should only use the path portion of the URL. + + This should not be called from user code, and is only exposed for use + when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param request: The :class:`PreparedRequest <PreparedRequest>` being sent. + :param proxies: A dictionary of schemes or schemes and hosts to proxy URLs. + :rtype: str + """ + proxy = select_proxy(request.url, proxies) + scheme = urlparse(request.url).scheme + + is_proxied_http_request = (proxy and scheme != 'https') + using_socks_proxy = False + if proxy: + proxy_scheme = urlparse(proxy).scheme.lower() + using_socks_proxy = proxy_scheme.startswith('socks') + + url = request.path_url + if is_proxied_http_request and not using_socks_proxy: + url = urldefragauth(request.url) + + return url + + def add_headers(self, request, **kwargs): + """Add any headers needed by the connection. As of v2.0 this does + nothing by default, but is left for overriding by users that subclass + the :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + This should not be called from user code, and is only exposed for use + when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param request: The :class:`PreparedRequest <PreparedRequest>` to add headers to. + :param kwargs: The keyword arguments from the call to send(). + """ + pass + + def proxy_headers(self, proxy): + """Returns a dictionary of the headers to add to any request sent + through a proxy. This works with urllib3 magic to ensure that they are + correctly sent to the proxy, rather than in a tunnelled request if + CONNECT is being used. + + This should not be called from user code, and is only exposed for use + when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param proxy: The url of the proxy being used for this request. + :rtype: dict + """ + headers = {} + username, password = get_auth_from_url(proxy) + + if username: + headers['Proxy-Authorization'] = _basic_auth_str(username, + password) + + return headers + + def send(self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None): + """Sends PreparedRequest object. Returns Response object. + + :param request: The :class:`PreparedRequest <PreparedRequest>` being sent. + :param stream: (optional) Whether to stream the request content. + :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) <timeouts>` tuple. + :type timeout: float or tuple or urllib3 Timeout object + :param verify: (optional) Either a boolean, in which case it controls whether + we verify the server's TLS certificate, or a string, in which case it + must be a path to a CA bundle to use + :param cert: (optional) Any user-provided SSL certificate to be trusted. + :param proxies: (optional) The proxies dictionary to apply to the request. + :rtype: requests.Response + """ + + try: + conn = self.get_connection(request.url, proxies) + except LocationValueError as e: + raise InvalidURL(e, request=request) + + self.cert_verify(conn, request.url, verify, cert) + url = self.request_url(request, proxies) + self.add_headers(request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies) + + chunked = not (request.body is None or 'Content-Length' in request.headers) + + if isinstance(timeout, tuple): + try: + connect, read = timeout + timeout = TimeoutSauce(connect=connect, read=read) + except ValueError as e: + # this may raise a string formatting error. + err = ("Invalid timeout {}. Pass a (connect, read) " + "timeout tuple, or a single float to set " + "both timeouts to the same value".format(timeout)) + raise ValueError(err) + elif isinstance(timeout, TimeoutSauce): + pass + else: + timeout = TimeoutSauce(connect=timeout, read=timeout) + + try: + if not chunked: + resp = conn.urlopen( + method=request.method, + url=url, + body=request.body, + headers=request.headers, + redirect=False, + assert_same_host=False, + preload_content=False, + decode_content=False, + retries=self.max_retries, + timeout=timeout + ) + + # Send the request. + else: + if hasattr(conn, 'proxy_pool'): + conn = conn.proxy_pool + + low_conn = conn._get_conn(timeout=DEFAULT_POOL_TIMEOUT) + + try: + low_conn.putrequest(request.method, + url, + skip_accept_encoding=True) + + for header, value in request.headers.items(): + low_conn.putheader(header, value) + + low_conn.endheaders() + + for i in request.body: + low_conn.send(hex(len(i))[2:].encode('utf-8')) + low_conn.send(b'\r\n') + low_conn.send(i) + low_conn.send(b'\r\n') + low_conn.send(b'0\r\n\r\n') + + # Receive the response from the server + try: + # For Python 2.7, use buffering of HTTP responses + r = low_conn.getresponse(buffering=True) + except TypeError: + # For compatibility with Python 3.3+ + r = low_conn.getresponse() + + resp = HTTPResponse.from_httplib( + r, + pool=conn, + connection=low_conn, + preload_content=False, + decode_content=False + ) + except: + # If we hit any problems here, clean up the connection. + # Then, reraise so that we can handle the actual exception. + low_conn.close() + raise + + except (ProtocolError, socket.error) as err: + raise ConnectionError(err, request=request) + + except MaxRetryError as e: + if isinstance(e.reason, ConnectTimeoutError): + # TODO: Remove this in 3.0.0: see #2811 + if not isinstance(e.reason, NewConnectionError): + raise ConnectTimeout(e, request=request) + + if isinstance(e.reason, ResponseError): + raise RetryError(e, request=request) + + if isinstance(e.reason, _ProxyError): + raise ProxyError(e, request=request) + + if isinstance(e.reason, _SSLError): + # This branch is for urllib3 v1.22 and later. + raise SSLError(e, request=request) + + raise ConnectionError(e, request=request) + + except ClosedPoolError as e: + raise ConnectionError(e, request=request) + + except _ProxyError as e: + raise ProxyError(e) + + except (_SSLError, _HTTPError) as e: + if isinstance(e, _SSLError): + # This branch is for urllib3 versions earlier than v1.22 + raise SSLError(e, request=request) + elif isinstance(e, ReadTimeoutError): + raise ReadTimeout(e, request=request) + else: + raise + + return self.build_response(request, resp) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/api.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/api.py new file mode 100644 index 0000000..abada96 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/api.py @@ -0,0 +1,158 @@ +# -*- coding: utf-8 -*- + +""" +requests.api +~~~~~~~~~~~~ + +This module implements the Requests API. + +:copyright: (c) 2012 by Kenneth Reitz. +:license: Apache2, see LICENSE for more details. +""" + +from . import sessions + + +def request(method, url, **kwargs): + """Constructs and sends a :class:`Request <Request>`. + + :param method: method for the new :class:`Request` object. + :param url: URL for the new :class:`Request` object. + :param params: (optional) Dictionary, list of tuples or bytes to send + in the body of the :class:`Request`. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) A JSON serializable Python object 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 ``'name': file-like-objects`` (or ``{'name': file-tuple}``) for multipart encoding upload. + ``file-tuple`` can be a 2-tuple ``('filename', fileobj)``, 3-tuple ``('filename', fileobj, 'content_type')`` + or a 4-tuple ``('filename', fileobj, 'content_type', custom_headers)``, where ``'content-type'`` is a string + defining the content type of the given file and ``custom_headers`` a dict-like object containing additional headers + to add for the file. + :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth. + :param timeout: (optional) How many seconds to wait for the server to send data + before giving up, as a float, or a :ref:`(connect timeout, read + timeout) <timeouts>` tuple. + :type timeout: float or tuple + :param allow_redirects: (optional) Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection. Defaults to ``True``. + :type allow_redirects: bool + :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy. + :param verify: (optional) Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use. Defaults to ``True``. + :param stream: (optional) if ``False``, the response content will be immediately downloaded. + :param cert: (optional) if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair. + :return: :class:`Response <Response>` object + :rtype: requests.Response + + Usage:: + + >>> import requests + >>> req = requests.request('GET', 'https://httpbin.org/get') + <Response [200]> + """ + + # By using the 'with' statement we are sure the session is closed, thus we + # avoid leaving sockets open which can trigger a ResourceWarning in some + # cases, and look like a memory leak in others. + with sessions.Session() as session: + return session.request(method=method, url=url, **kwargs) + + +def get(url, params=None, **kwargs): + r"""Sends a GET request. + + :param url: URL for the new :class:`Request` object. + :param params: (optional) Dictionary, list of tuples or bytes to send + in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', True) + return request('get', url, params=params, **kwargs) + + +def options(url, **kwargs): + r"""Sends an OPTIONS request. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', True) + return request('options', url, **kwargs) + + +def head(url, **kwargs): + r"""Sends a HEAD request. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', False) + return request('head', url, **kwargs) + + +def post(url, data=None, json=None, **kwargs): + r"""Sends a POST request. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json data to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + return request('post', url, data=data, json=json, **kwargs) + + +def put(url, data=None, **kwargs): + r"""Sends a PUT request. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json data to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + return request('put', url, data=data, **kwargs) + + +def patch(url, data=None, **kwargs): + r"""Sends a PATCH request. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json data to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + return request('patch', url, data=data, **kwargs) + + +def delete(url, **kwargs): + r"""Sends a DELETE request. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + return request('delete', url, **kwargs) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/auth.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/auth.py new file mode 100644 index 0000000..bdde51c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/auth.py @@ -0,0 +1,305 @@ +# -*- coding: utf-8 -*- + +""" +requests.auth +~~~~~~~~~~~~~ + +This module contains the authentication handlers for Requests. +""" + +import os +import re +import time +import hashlib +import threading +import warnings + +from base64 import b64encode + +from .compat import urlparse, str, basestring +from .cookies import extract_cookies_to_jar +from ._internal_utils import to_native_string +from .utils import parse_dict_header + +CONTENT_TYPE_FORM_URLENCODED = 'application/x-www-form-urlencoded' +CONTENT_TYPE_MULTI_PART = 'multipart/form-data' + + +def _basic_auth_str(username, password): + """Returns a Basic Auth string.""" + + # "I want us to put a big-ol' comment on top of it that + # says that this behaviour is dumb but we need to preserve + # it because people are relying on it." + # - Lukasa + # + # These are here solely to maintain backwards compatibility + # for things like ints. This will be removed in 3.0.0. + if not isinstance(username, basestring): + warnings.warn( + "Non-string usernames will no longer be supported in Requests " + "3.0.0. Please convert the object you've passed in ({!r}) to " + "a string or bytes object in the near future to avoid " + "problems.".format(username), + category=DeprecationWarning, + ) + username = str(username) + + if not isinstance(password, basestring): + warnings.warn( + "Non-string passwords will no longer be supported in Requests " + "3.0.0. Please convert the object you've passed in ({!r}) to " + "a string or bytes object in the near future to avoid " + "problems.".format(password), + category=DeprecationWarning, + ) + password = str(password) + # -- End Removal -- + + if isinstance(username, str): + username = username.encode('latin1') + + if isinstance(password, str): + password = password.encode('latin1') + + authstr = 'Basic ' + to_native_string( + b64encode(b':'.join((username, password))).strip() + ) + + return authstr + + +class AuthBase(object): + """Base class that all auth implementations derive from""" + + def __call__(self, r): + raise NotImplementedError('Auth hooks must be callable.') + + +class HTTPBasicAuth(AuthBase): + """Attaches HTTP Basic Authentication to the given Request object.""" + + def __init__(self, username, password): + self.username = username + self.password = password + + def __eq__(self, other): + return all([ + self.username == getattr(other, 'username', None), + self.password == getattr(other, 'password', None) + ]) + + def __ne__(self, other): + return not self == other + + def __call__(self, r): + r.headers['Authorization'] = _basic_auth_str(self.username, self.password) + return r + + +class HTTPProxyAuth(HTTPBasicAuth): + """Attaches HTTP Proxy Authentication to a given Request object.""" + + def __call__(self, r): + r.headers['Proxy-Authorization'] = _basic_auth_str(self.username, self.password) + return r + + +class HTTPDigestAuth(AuthBase): + """Attaches HTTP Digest Authentication to the given Request object.""" + + def __init__(self, username, password): + self.username = username + self.password = password + # Keep state in per-thread local storage + self._thread_local = threading.local() + + def init_per_thread_state(self): + # Ensure state is initialized just once per-thread + if not hasattr(self._thread_local, 'init'): + self._thread_local.init = True + self._thread_local.last_nonce = '' + self._thread_local.nonce_count = 0 + self._thread_local.chal = {} + self._thread_local.pos = None + self._thread_local.num_401_calls = None + + def build_digest_header(self, method, url): + """ + :rtype: str + """ + + realm = self._thread_local.chal['realm'] + nonce = self._thread_local.chal['nonce'] + qop = self._thread_local.chal.get('qop') + algorithm = self._thread_local.chal.get('algorithm') + opaque = self._thread_local.chal.get('opaque') + hash_utf8 = None + + if algorithm is None: + _algorithm = 'MD5' + else: + _algorithm = algorithm.upper() + # lambdas assume digest modules are imported at the top level + if _algorithm == 'MD5' or _algorithm == 'MD5-SESS': + def md5_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.md5(x).hexdigest() + hash_utf8 = md5_utf8 + elif _algorithm == 'SHA': + def sha_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.sha1(x).hexdigest() + hash_utf8 = sha_utf8 + elif _algorithm == 'SHA-256': + def sha256_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.sha256(x).hexdigest() + hash_utf8 = sha256_utf8 + elif _algorithm == 'SHA-512': + def sha512_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.sha512(x).hexdigest() + hash_utf8 = sha512_utf8 + + KD = lambda s, d: hash_utf8("%s:%s" % (s, d)) + + if hash_utf8 is None: + return None + + # XXX not implemented yet + entdig = None + p_parsed = urlparse(url) + #: path is request-uri defined in RFC 2616 which should not be empty + path = p_parsed.path or "/" + if p_parsed.query: + path += '?' + p_parsed.query + + A1 = '%s:%s:%s' % (self.username, realm, self.password) + A2 = '%s:%s' % (method, path) + + HA1 = hash_utf8(A1) + HA2 = hash_utf8(A2) + + if nonce == self._thread_local.last_nonce: + self._thread_local.nonce_count += 1 + else: + self._thread_local.nonce_count = 1 + ncvalue = '%08x' % self._thread_local.nonce_count + s = str(self._thread_local.nonce_count).encode('utf-8') + s += nonce.encode('utf-8') + s += time.ctime().encode('utf-8') + s += os.urandom(8) + + cnonce = (hashlib.sha1(s).hexdigest()[:16]) + if _algorithm == 'MD5-SESS': + HA1 = hash_utf8('%s:%s:%s' % (HA1, nonce, cnonce)) + + if not qop: + respdig = KD(HA1, "%s:%s" % (nonce, HA2)) + elif qop == 'auth' or 'auth' in qop.split(','): + noncebit = "%s:%s:%s:%s:%s" % ( + nonce, ncvalue, cnonce, 'auth', HA2 + ) + respdig = KD(HA1, noncebit) + else: + # XXX handle auth-int. + return None + + self._thread_local.last_nonce = nonce + + # XXX should the partial digests be encoded too? + base = 'username="%s", realm="%s", nonce="%s", uri="%s", ' \ + 'response="%s"' % (self.username, realm, nonce, path, respdig) + if opaque: + base += ', opaque="%s"' % opaque + if algorithm: + base += ', algorithm="%s"' % algorithm + if entdig: + base += ', digest="%s"' % entdig + if qop: + base += ', qop="auth", nc=%s, cnonce="%s"' % (ncvalue, cnonce) + + return 'Digest %s' % (base) + + def handle_redirect(self, r, **kwargs): + """Reset num_401_calls counter on redirects.""" + if r.is_redirect: + self._thread_local.num_401_calls = 1 + + def handle_401(self, r, **kwargs): + """ + Takes the given response and tries digest-auth, if needed. + + :rtype: requests.Response + """ + + # If response is not 4xx, do not auth + # See https://github.com/requests/requests/issues/3772 + if not 400 <= r.status_code < 500: + self._thread_local.num_401_calls = 1 + return r + + if self._thread_local.pos is not None: + # Rewind the file position indicator of the body to where + # it was to resend the request. + r.request.body.seek(self._thread_local.pos) + s_auth = r.headers.get('www-authenticate', '') + + if 'digest' in s_auth.lower() and self._thread_local.num_401_calls < 2: + + self._thread_local.num_401_calls += 1 + pat = re.compile(r'digest ', flags=re.IGNORECASE) + self._thread_local.chal = parse_dict_header(pat.sub('', s_auth, count=1)) + + # Consume content and release the original connection + # to allow our new request to reuse the same one. + r.content + r.close() + prep = r.request.copy() + extract_cookies_to_jar(prep._cookies, r.request, r.raw) + prep.prepare_cookies(prep._cookies) + + prep.headers['Authorization'] = self.build_digest_header( + prep.method, prep.url) + _r = r.connection.send(prep, **kwargs) + _r.history.append(r) + _r.request = prep + + return _r + + self._thread_local.num_401_calls = 1 + return r + + def __call__(self, r): + # Initialize per-thread state, if needed + self.init_per_thread_state() + # If we have a saved nonce, skip the 401 + if self._thread_local.last_nonce: + r.headers['Authorization'] = self.build_digest_header(r.method, r.url) + try: + self._thread_local.pos = r.body.tell() + except AttributeError: + # In the case of HTTPDigestAuth being reused and the body of + # the previous request was a file-like object, pos has the + # file position of the previous body. Ensure it's set to + # None. + self._thread_local.pos = None + r.register_hook('response', self.handle_401) + r.register_hook('response', self.handle_redirect) + self._thread_local.num_401_calls = 1 + + return r + + def __eq__(self, other): + return all([ + self.username == getattr(other, 'username', None), + self.password == getattr(other, 'password', None) + ]) + + def __ne__(self, other): + return not self == other diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/certs.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/certs.py new file mode 100644 index 0000000..06a594e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/certs.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +requests.certs +~~~~~~~~~~~~~~ + +This module returns the preferred default CA certificate bundle. There is +only one — the one from the certifi package. + +If you are packaging Requests, e.g., for a Linux distribution or a managed +environment, you can change the definition of where() to return a separately +packaged CA bundle. +""" +from pip._vendor.certifi import where + +if __name__ == '__main__': + print(where()) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/compat.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/compat.py new file mode 100644 index 0000000..6a86893 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/compat.py @@ -0,0 +1,74 @@ +# -*- coding: utf-8 -*- + +""" +requests.compat +~~~~~~~~~~~~~~~ + +This module handles import compatibility issues between Python 2 and +Python 3. +""" + +from pip._vendor import chardet + +import sys + +# ------- +# Pythons +# ------- + +# Syntax sugar. +_ver = sys.version_info + +#: Python 2.x? +is_py2 = (_ver[0] == 2) + +#: Python 3.x? +is_py3 = (_ver[0] == 3) + +# Note: We've patched out simplejson support in pip because it prevents +# upgrading simplejson on Windows. +# try: +# import simplejson as json +# except (ImportError, SyntaxError): +# # simplejson does not support Python 3.2, it throws a SyntaxError +# # because of u'...' Unicode literals. +import json + +# --------- +# Specifics +# --------- + +if is_py2: + from urllib import ( + quote, unquote, quote_plus, unquote_plus, urlencode, getproxies, + proxy_bypass, proxy_bypass_environment, getproxies_environment) + from urlparse import urlparse, urlunparse, urljoin, urlsplit, urldefrag + from urllib2 import parse_http_list + import cookielib + from Cookie import Morsel + from StringIO import StringIO + from collections import Callable, Mapping, MutableMapping, OrderedDict + + + builtin_str = str + bytes = str + str = unicode + basestring = basestring + numeric_types = (int, long, float) + integer_types = (int, long) + +elif is_py3: + from urllib.parse import urlparse, urlunparse, urljoin, urlsplit, urlencode, quote, unquote, quote_plus, unquote_plus, urldefrag + from urllib.request import parse_http_list, getproxies, proxy_bypass, proxy_bypass_environment, getproxies_environment + from http import cookiejar as cookielib + from http.cookies import Morsel + from io import StringIO + from collections import OrderedDict + from collections.abc import Callable, Mapping, MutableMapping + + builtin_str = str + str = str + bytes = bytes + basestring = (str, bytes) + numeric_types = (int, float) + integer_types = (int,) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/cookies.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/cookies.py new file mode 100644 index 0000000..56fccd9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/cookies.py @@ -0,0 +1,549 @@ +# -*- coding: utf-8 -*- + +""" +requests.cookies +~~~~~~~~~~~~~~~~ + +Compatibility code to be able to use `cookielib.CookieJar` with requests. + +requests.utils imports from here, so be careful with imports. +""" + +import copy +import time +import calendar + +from ._internal_utils import to_native_string +from .compat import cookielib, urlparse, urlunparse, Morsel, MutableMapping + +try: + import threading +except ImportError: + import dummy_threading as threading + + +class MockRequest(object): + """Wraps a `requests.Request` to mimic a `urllib2.Request`. + + The code in `cookielib.CookieJar` expects this interface in order to correctly + manage cookie policies, i.e., determine whether a cookie can be set, given the + domains of the request and the cookie. + + The original request object is read-only. The client is responsible for collecting + the new headers via `get_new_headers()` and interpreting them appropriately. You + probably want `get_cookie_header`, defined below. + """ + + def __init__(self, request): + self._r = request + self._new_headers = {} + self.type = urlparse(self._r.url).scheme + + def get_type(self): + return self.type + + def get_host(self): + return urlparse(self._r.url).netloc + + def get_origin_req_host(self): + return self.get_host() + + def get_full_url(self): + # Only return the response's URL if the user hadn't set the Host + # header + if not self._r.headers.get('Host'): + return self._r.url + # If they did set it, retrieve it and reconstruct the expected domain + host = to_native_string(self._r.headers['Host'], encoding='utf-8') + parsed = urlparse(self._r.url) + # Reconstruct the URL as we expect it + return urlunparse([ + parsed.scheme, host, parsed.path, parsed.params, parsed.query, + parsed.fragment + ]) + + def is_unverifiable(self): + return True + + def has_header(self, name): + return name in self._r.headers or name in self._new_headers + + def get_header(self, name, default=None): + return self._r.headers.get(name, self._new_headers.get(name, default)) + + def add_header(self, key, val): + """cookielib has no legitimate use for this method; add it back if you find one.""" + raise NotImplementedError("Cookie headers should be added with add_unredirected_header()") + + def add_unredirected_header(self, name, value): + self._new_headers[name] = value + + def get_new_headers(self): + return self._new_headers + + @property + def unverifiable(self): + return self.is_unverifiable() + + @property + def origin_req_host(self): + return self.get_origin_req_host() + + @property + def host(self): + return self.get_host() + + +class MockResponse(object): + """Wraps a `httplib.HTTPMessage` to mimic a `urllib.addinfourl`. + + ...what? Basically, expose the parsed HTTP headers from the server response + the way `cookielib` expects to see them. + """ + + def __init__(self, headers): + """Make a MockResponse for `cookielib` to read. + + :param headers: a httplib.HTTPMessage or analogous carrying the headers + """ + self._headers = headers + + def info(self): + return self._headers + + def getheaders(self, name): + self._headers.getheaders(name) + + +def extract_cookies_to_jar(jar, request, response): + """Extract the cookies from the response into a CookieJar. + + :param jar: cookielib.CookieJar (not necessarily a RequestsCookieJar) + :param request: our own requests.Request object + :param response: urllib3.HTTPResponse object + """ + if not (hasattr(response, '_original_response') and + response._original_response): + return + # the _original_response field is the wrapped httplib.HTTPResponse object, + req = MockRequest(request) + # pull out the HTTPMessage with the headers and put it in the mock: + res = MockResponse(response._original_response.msg) + jar.extract_cookies(res, req) + + +def get_cookie_header(jar, request): + """ + Produce an appropriate Cookie header string to be sent with `request`, or None. + + :rtype: str + """ + r = MockRequest(request) + jar.add_cookie_header(r) + return r.get_new_headers().get('Cookie') + + +def remove_cookie_by_name(cookiejar, name, domain=None, path=None): + """Unsets a cookie by name, by default over all domains and paths. + + Wraps CookieJar.clear(), is O(n). + """ + clearables = [] + for cookie in cookiejar: + if cookie.name != name: + continue + if domain is not None and domain != cookie.domain: + continue + if path is not None and path != cookie.path: + continue + clearables.append((cookie.domain, cookie.path, cookie.name)) + + for domain, path, name in clearables: + cookiejar.clear(domain, path, name) + + +class CookieConflictError(RuntimeError): + """There are two cookies that meet the criteria specified in the cookie jar. + Use .get and .set and include domain and path args in order to be more specific. + """ + + +class RequestsCookieJar(cookielib.CookieJar, MutableMapping): + """Compatibility class; is a cookielib.CookieJar, but exposes a dict + interface. + + This is the CookieJar we create by default for requests and sessions that + don't specify one, since some clients may expect response.cookies and + session.cookies to support dict operations. + + Requests does not use the dict interface internally; it's just for + compatibility with external client code. All requests code should work + out of the box with externally provided instances of ``CookieJar``, e.g. + ``LWPCookieJar`` and ``FileCookieJar``. + + Unlike a regular CookieJar, this class is pickleable. + + .. warning:: dictionary operations that are normally O(1) may be O(n). + """ + + def get(self, name, default=None, domain=None, path=None): + """Dict-like get() that also supports optional domain and path args in + order to resolve naming collisions from using one cookie jar over + multiple domains. + + .. warning:: operation is O(n), not O(1). + """ + try: + return self._find_no_duplicates(name, domain, path) + except KeyError: + return default + + def set(self, name, value, **kwargs): + """Dict-like set() that also supports optional domain and path args in + order to resolve naming collisions from using one cookie jar over + multiple domains. + """ + # support client code that unsets cookies by assignment of a None value: + if value is None: + remove_cookie_by_name(self, name, domain=kwargs.get('domain'), path=kwargs.get('path')) + return + + if isinstance(value, Morsel): + c = morsel_to_cookie(value) + else: + c = create_cookie(name, value, **kwargs) + self.set_cookie(c) + return c + + def iterkeys(self): + """Dict-like iterkeys() that returns an iterator of names of cookies + from the jar. + + .. seealso:: itervalues() and iteritems(). + """ + for cookie in iter(self): + yield cookie.name + + def keys(self): + """Dict-like keys() that returns a list of names of cookies from the + jar. + + .. seealso:: values() and items(). + """ + return list(self.iterkeys()) + + def itervalues(self): + """Dict-like itervalues() that returns an iterator of values of cookies + from the jar. + + .. seealso:: iterkeys() and iteritems(). + """ + for cookie in iter(self): + yield cookie.value + + def values(self): + """Dict-like values() that returns a list of values of cookies from the + jar. + + .. seealso:: keys() and items(). + """ + return list(self.itervalues()) + + def iteritems(self): + """Dict-like iteritems() that returns an iterator of name-value tuples + from the jar. + + .. seealso:: iterkeys() and itervalues(). + """ + for cookie in iter(self): + yield cookie.name, cookie.value + + def items(self): + """Dict-like items() that returns a list of name-value tuples from the + jar. Allows client-code to call ``dict(RequestsCookieJar)`` and get a + vanilla python dict of key value pairs. + + .. seealso:: keys() and values(). + """ + return list(self.iteritems()) + + def list_domains(self): + """Utility method to list all the domains in the jar.""" + domains = [] + for cookie in iter(self): + if cookie.domain not in domains: + domains.append(cookie.domain) + return domains + + def list_paths(self): + """Utility method to list all the paths in the jar.""" + paths = [] + for cookie in iter(self): + if cookie.path not in paths: + paths.append(cookie.path) + return paths + + def multiple_domains(self): + """Returns True if there are multiple domains in the jar. + Returns False otherwise. + + :rtype: bool + """ + domains = [] + for cookie in iter(self): + if cookie.domain is not None and cookie.domain in domains: + return True + domains.append(cookie.domain) + return False # there is only one domain in jar + + def get_dict(self, domain=None, path=None): + """Takes as an argument an optional domain and path and returns a plain + old Python dict of name-value pairs of cookies that meet the + requirements. + + :rtype: dict + """ + dictionary = {} + for cookie in iter(self): + if ( + (domain is None or cookie.domain == domain) and + (path is None or cookie.path == path) + ): + dictionary[cookie.name] = cookie.value + return dictionary + + def __contains__(self, name): + try: + return super(RequestsCookieJar, self).__contains__(name) + except CookieConflictError: + return True + + def __getitem__(self, name): + """Dict-like __getitem__() for compatibility with client code. Throws + exception if there are more than one cookie with name. In that case, + use the more explicit get() method instead. + + .. warning:: operation is O(n), not O(1). + """ + return self._find_no_duplicates(name) + + def __setitem__(self, name, value): + """Dict-like __setitem__ for compatibility with client code. Throws + exception if there is already a cookie of that name in the jar. In that + case, use the more explicit set() method instead. + """ + self.set(name, value) + + def __delitem__(self, name): + """Deletes a cookie given a name. Wraps ``cookielib.CookieJar``'s + ``remove_cookie_by_name()``. + """ + remove_cookie_by_name(self, name) + + def set_cookie(self, cookie, *args, **kwargs): + if hasattr(cookie.value, 'startswith') and cookie.value.startswith('"') and cookie.value.endswith('"'): + cookie.value = cookie.value.replace('\\"', '') + return super(RequestsCookieJar, self).set_cookie(cookie, *args, **kwargs) + + def update(self, other): + """Updates this jar with cookies from another CookieJar or dict-like""" + if isinstance(other, cookielib.CookieJar): + for cookie in other: + self.set_cookie(copy.copy(cookie)) + else: + super(RequestsCookieJar, self).update(other) + + def _find(self, name, domain=None, path=None): + """Requests uses this method internally to get cookie values. + + If there are conflicting cookies, _find arbitrarily chooses one. + See _find_no_duplicates if you want an exception thrown if there are + conflicting cookies. + + :param name: a string containing name of cookie + :param domain: (optional) string containing domain of cookie + :param path: (optional) string containing path of cookie + :return: cookie.value + """ + for cookie in iter(self): + if cookie.name == name: + if domain is None or cookie.domain == domain: + if path is None or cookie.path == path: + return cookie.value + + raise KeyError('name=%r, domain=%r, path=%r' % (name, domain, path)) + + def _find_no_duplicates(self, name, domain=None, path=None): + """Both ``__get_item__`` and ``get`` call this function: it's never + used elsewhere in Requests. + + :param name: a string containing name of cookie + :param domain: (optional) string containing domain of cookie + :param path: (optional) string containing path of cookie + :raises KeyError: if cookie is not found + :raises CookieConflictError: if there are multiple cookies + that match name and optionally domain and path + :return: cookie.value + """ + toReturn = None + for cookie in iter(self): + if cookie.name == name: + if domain is None or cookie.domain == domain: + if path is None or cookie.path == path: + if toReturn is not None: # if there are multiple cookies that meet passed in criteria + raise CookieConflictError('There are multiple cookies with name, %r' % (name)) + toReturn = cookie.value # we will eventually return this as long as no cookie conflict + + if toReturn: + return toReturn + raise KeyError('name=%r, domain=%r, path=%r' % (name, domain, path)) + + def __getstate__(self): + """Unlike a normal CookieJar, this class is pickleable.""" + state = self.__dict__.copy() + # remove the unpickleable RLock object + state.pop('_cookies_lock') + return state + + def __setstate__(self, state): + """Unlike a normal CookieJar, this class is pickleable.""" + self.__dict__.update(state) + if '_cookies_lock' not in self.__dict__: + self._cookies_lock = threading.RLock() + + def copy(self): + """Return a copy of this RequestsCookieJar.""" + new_cj = RequestsCookieJar() + new_cj.set_policy(self.get_policy()) + new_cj.update(self) + return new_cj + + def get_policy(self): + """Return the CookiePolicy instance used.""" + return self._policy + + +def _copy_cookie_jar(jar): + if jar is None: + return None + + if hasattr(jar, 'copy'): + # We're dealing with an instance of RequestsCookieJar + return jar.copy() + # We're dealing with a generic CookieJar instance + new_jar = copy.copy(jar) + new_jar.clear() + for cookie in jar: + new_jar.set_cookie(copy.copy(cookie)) + return new_jar + + +def create_cookie(name, value, **kwargs): + """Make a cookie from underspecified parameters. + + By default, the pair of `name` and `value` will be set for the domain '' + and sent on every request (this is sometimes called a "supercookie"). + """ + result = { + 'version': 0, + 'name': name, + 'value': value, + 'port': None, + 'domain': '', + 'path': '/', + 'secure': False, + 'expires': None, + 'discard': True, + 'comment': None, + 'comment_url': None, + 'rest': {'HttpOnly': None}, + 'rfc2109': False, + } + + badargs = set(kwargs) - set(result) + if badargs: + err = 'create_cookie() got unexpected keyword arguments: %s' + raise TypeError(err % list(badargs)) + + result.update(kwargs) + result['port_specified'] = bool(result['port']) + result['domain_specified'] = bool(result['domain']) + result['domain_initial_dot'] = result['domain'].startswith('.') + result['path_specified'] = bool(result['path']) + + return cookielib.Cookie(**result) + + +def morsel_to_cookie(morsel): + """Convert a Morsel object into a Cookie containing the one k/v pair.""" + + expires = None + if morsel['max-age']: + try: + expires = int(time.time() + int(morsel['max-age'])) + except ValueError: + raise TypeError('max-age: %s must be integer' % morsel['max-age']) + elif morsel['expires']: + time_template = '%a, %d-%b-%Y %H:%M:%S GMT' + expires = calendar.timegm( + time.strptime(morsel['expires'], time_template) + ) + return create_cookie( + comment=morsel['comment'], + comment_url=bool(morsel['comment']), + discard=False, + domain=morsel['domain'], + expires=expires, + name=morsel.key, + path=morsel['path'], + port=None, + rest={'HttpOnly': morsel['httponly']}, + rfc2109=False, + secure=bool(morsel['secure']), + value=morsel.value, + version=morsel['version'] or 0, + ) + + +def cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True): + """Returns a CookieJar from a key/value dictionary. + + :param cookie_dict: Dict of key/values to insert into CookieJar. + :param cookiejar: (optional) A cookiejar to add the cookies to. + :param overwrite: (optional) If False, will not replace cookies + already in the jar with new ones. + :rtype: CookieJar + """ + if cookiejar is None: + cookiejar = RequestsCookieJar() + + if cookie_dict is not None: + names_from_jar = [cookie.name for cookie in cookiejar] + for name in cookie_dict: + if overwrite or (name not in names_from_jar): + cookiejar.set_cookie(create_cookie(name, cookie_dict[name])) + + return cookiejar + + +def merge_cookies(cookiejar, cookies): + """Add cookies to cookiejar and returns a merged CookieJar. + + :param cookiejar: CookieJar object to add the cookies to. + :param cookies: Dictionary or CookieJar object to be added. + :rtype: CookieJar + """ + if not isinstance(cookiejar, cookielib.CookieJar): + raise ValueError('You can only merge into CookieJar') + + if isinstance(cookies, dict): + cookiejar = cookiejar_from_dict( + cookies, cookiejar=cookiejar, overwrite=False) + elif isinstance(cookies, cookielib.CookieJar): + try: + cookiejar.update(cookies) + except AttributeError: + for cookie_in_jar in cookies: + cookiejar.set_cookie(cookie_in_jar) + + return cookiejar diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/exceptions.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/exceptions.py new file mode 100644 index 0000000..a91e1fd --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/exceptions.py @@ -0,0 +1,126 @@ +# -*- coding: utf-8 -*- + +""" +requests.exceptions +~~~~~~~~~~~~~~~~~~~ + +This module contains the set of Requests' exceptions. +""" +from pip._vendor.urllib3.exceptions import HTTPError as BaseHTTPError + + +class RequestException(IOError): + """There was an ambiguous exception that occurred while handling your + request. + """ + + def __init__(self, *args, **kwargs): + """Initialize RequestException with `request` and `response` objects.""" + response = kwargs.pop('response', None) + self.response = response + self.request = kwargs.pop('request', None) + if (response is not None and not self.request and + hasattr(response, 'request')): + self.request = self.response.request + super(RequestException, self).__init__(*args, **kwargs) + + +class HTTPError(RequestException): + """An HTTP error occurred.""" + + +class ConnectionError(RequestException): + """A Connection error occurred.""" + + +class ProxyError(ConnectionError): + """A proxy error occurred.""" + + +class SSLError(ConnectionError): + """An SSL error occurred.""" + + +class Timeout(RequestException): + """The request timed out. + + Catching this error will catch both + :exc:`~requests.exceptions.ConnectTimeout` and + :exc:`~requests.exceptions.ReadTimeout` errors. + """ + + +class ConnectTimeout(ConnectionError, Timeout): + """The request timed out while trying to connect to the remote server. + + Requests that produced this error are safe to retry. + """ + + +class ReadTimeout(Timeout): + """The server did not send any data in the allotted amount of time.""" + + +class URLRequired(RequestException): + """A valid URL is required to make a request.""" + + +class TooManyRedirects(RequestException): + """Too many redirects.""" + + +class MissingSchema(RequestException, ValueError): + """The URL schema (e.g. http or https) is missing.""" + + +class InvalidSchema(RequestException, ValueError): + """See defaults.py for valid schemas.""" + + +class InvalidURL(RequestException, ValueError): + """The URL provided was somehow invalid.""" + + +class InvalidHeader(RequestException, ValueError): + """The header value provided was somehow invalid.""" + + +class InvalidProxyURL(InvalidURL): + """The proxy URL provided is invalid.""" + + +class ChunkedEncodingError(RequestException): + """The server declared chunked encoding but sent an invalid chunk.""" + + +class ContentDecodingError(RequestException, BaseHTTPError): + """Failed to decode response content""" + + +class StreamConsumedError(RequestException, TypeError): + """The content for this response was already consumed""" + + +class RetryError(RequestException): + """Custom retries logic failed""" + + +class UnrewindableBodyError(RequestException): + """Requests encountered an error when trying to rewind a body""" + +# Warnings + + +class RequestsWarning(Warning): + """Base warning for Requests.""" + pass + + +class FileModeWarning(RequestsWarning, DeprecationWarning): + """A file was opened in text mode, but Requests determined its binary length.""" + pass + + +class RequestsDependencyWarning(RequestsWarning): + """An imported dependency doesn't match the expected version range.""" + pass diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/help.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/help.py new file mode 100644 index 0000000..3c3072b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/help.py @@ -0,0 +1,119 @@ +"""Module containing bug report helper(s).""" +from __future__ import print_function + +import json +import platform +import sys +import ssl + +from pip._vendor import idna +from pip._vendor import urllib3 +from pip._vendor import chardet + +from . import __version__ as requests_version + +try: + from pip._vendor.urllib3.contrib import pyopenssl +except ImportError: + pyopenssl = None + OpenSSL = None + cryptography = None +else: + import OpenSSL + import cryptography + + +def _implementation(): + """Return a dict with the Python implementation and version. + + Provide both the name and the version of the Python implementation + currently running. For example, on CPython 2.7.5 it will return + {'name': 'CPython', 'version': '2.7.5'}. + + This function works best on CPython and PyPy: in particular, it probably + doesn't work for Jython or IronPython. Future investigation should be done + to work out the correct shape of the code for those platforms. + """ + implementation = platform.python_implementation() + + if implementation == 'CPython': + implementation_version = platform.python_version() + elif implementation == 'PyPy': + implementation_version = '%s.%s.%s' % (sys.pypy_version_info.major, + sys.pypy_version_info.minor, + sys.pypy_version_info.micro) + if sys.pypy_version_info.releaselevel != 'final': + implementation_version = ''.join([ + implementation_version, sys.pypy_version_info.releaselevel + ]) + elif implementation == 'Jython': + implementation_version = platform.python_version() # Complete Guess + elif implementation == 'IronPython': + implementation_version = platform.python_version() # Complete Guess + else: + implementation_version = 'Unknown' + + return {'name': implementation, 'version': implementation_version} + + +def info(): + """Generate information for a bug report.""" + try: + platform_info = { + 'system': platform.system(), + 'release': platform.release(), + } + except IOError: + platform_info = { + 'system': 'Unknown', + 'release': 'Unknown', + } + + implementation_info = _implementation() + urllib3_info = {'version': urllib3.__version__} + chardet_info = {'version': chardet.__version__} + + pyopenssl_info = { + 'version': None, + 'openssl_version': '', + } + if OpenSSL: + pyopenssl_info = { + 'version': OpenSSL.__version__, + 'openssl_version': '%x' % OpenSSL.SSL.OPENSSL_VERSION_NUMBER, + } + cryptography_info = { + 'version': getattr(cryptography, '__version__', ''), + } + idna_info = { + 'version': getattr(idna, '__version__', ''), + } + + system_ssl = ssl.OPENSSL_VERSION_NUMBER + system_ssl_info = { + 'version': '%x' % system_ssl if system_ssl is not None else '' + } + + return { + 'platform': platform_info, + 'implementation': implementation_info, + 'system_ssl': system_ssl_info, + 'using_pyopenssl': pyopenssl is not None, + 'pyOpenSSL': pyopenssl_info, + 'urllib3': urllib3_info, + 'chardet': chardet_info, + 'cryptography': cryptography_info, + 'idna': idna_info, + 'requests': { + 'version': requests_version, + }, + } + + +def main(): + """Pretty-print the bug information as JSON.""" + print(json.dumps(info(), sort_keys=True, indent=2)) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/hooks.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/hooks.py new file mode 100644 index 0000000..7a51f21 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/hooks.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- + +""" +requests.hooks +~~~~~~~~~~~~~~ + +This module provides the capabilities for the Requests hooks system. + +Available hooks: + +``response``: + The response generated from a Request. +""" +HOOKS = ['response'] + + +def default_hooks(): + return {event: [] for event in HOOKS} + +# TODO: response is the only one + + +def dispatch_hook(key, hooks, hook_data, **kwargs): + """Dispatches a hook dictionary on a given piece of data.""" + hooks = hooks or {} + hooks = hooks.get(key) + if hooks: + if hasattr(hooks, '__call__'): + hooks = [hooks] + for hook in hooks: + _hook_data = hook(hook_data, **kwargs) + if _hook_data is not None: + hook_data = _hook_data + return hook_data diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/models.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/models.py new file mode 100644 index 0000000..0839957 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/models.py @@ -0,0 +1,953 @@ +# -*- coding: utf-8 -*- + +""" +requests.models +~~~~~~~~~~~~~~~ + +This module contains the primary objects that power Requests. +""" + +import datetime +import sys + +# Import encoding now, to avoid implicit import later. +# Implicit import within threads may cause LookupError when standard library is in a ZIP, +# such as in Embedded Python. See https://github.com/requests/requests/issues/3578. +import encodings.idna + +from pip._vendor.urllib3.fields import RequestField +from pip._vendor.urllib3.filepost import encode_multipart_formdata +from pip._vendor.urllib3.util import parse_url +from pip._vendor.urllib3.exceptions import ( + DecodeError, ReadTimeoutError, ProtocolError, LocationParseError) + +from io import UnsupportedOperation +from .hooks import default_hooks +from .structures import CaseInsensitiveDict + +from .auth import HTTPBasicAuth +from .cookies import cookiejar_from_dict, get_cookie_header, _copy_cookie_jar +from .exceptions import ( + HTTPError, MissingSchema, InvalidURL, ChunkedEncodingError, + ContentDecodingError, ConnectionError, StreamConsumedError) +from ._internal_utils import to_native_string, unicode_is_ascii +from .utils import ( + guess_filename, get_auth_from_url, requote_uri, + stream_decode_response_unicode, to_key_val_list, parse_header_links, + iter_slices, guess_json_utf, super_len, check_header_validity) +from .compat import ( + Callable, Mapping, + cookielib, urlunparse, urlsplit, urlencode, str, bytes, + is_py2, chardet, builtin_str, basestring) +from .compat import json as complexjson +from .status_codes import codes + +#: The set of HTTP status codes that indicate an automatically +#: processable redirect. +REDIRECT_STATI = ( + codes.moved, # 301 + codes.found, # 302 + codes.other, # 303 + codes.temporary_redirect, # 307 + codes.permanent_redirect, # 308 +) + +DEFAULT_REDIRECT_LIMIT = 30 +CONTENT_CHUNK_SIZE = 10 * 1024 +ITER_CHUNK_SIZE = 512 + + +class RequestEncodingMixin(object): + @property + def path_url(self): + """Build the path URL to use.""" + + url = [] + + p = urlsplit(self.url) + + path = p.path + if not path: + path = '/' + + url.append(path) + + query = p.query + if query: + url.append('?') + url.append(query) + + return ''.join(url) + + @staticmethod + def _encode_params(data): + """Encode parameters in a piece of data. + + Will successfully encode parameters when passed as a dict or a list of + 2-tuples. Order is retained if data is a list of 2-tuples but arbitrary + if parameters are supplied as a dict. + """ + + if isinstance(data, (str, bytes)): + return data + elif hasattr(data, 'read'): + return data + elif hasattr(data, '__iter__'): + result = [] + for k, vs in to_key_val_list(data): + if isinstance(vs, basestring) or not hasattr(vs, '__iter__'): + vs = [vs] + for v in vs: + if v is not None: + result.append( + (k.encode('utf-8') if isinstance(k, str) else k, + v.encode('utf-8') if isinstance(v, str) else v)) + return urlencode(result, doseq=True) + else: + return data + + @staticmethod + def _encode_files(files, data): + """Build the body for a multipart/form-data request. + + Will successfully encode files when passed as a dict or a list of + tuples. Order is retained if data is a list of tuples but arbitrary + if parameters are supplied as a dict. + The tuples may be 2-tuples (filename, fileobj), 3-tuples (filename, fileobj, contentype) + or 4-tuples (filename, fileobj, contentype, custom_headers). + """ + if (not files): + raise ValueError("Files must be provided.") + elif isinstance(data, basestring): + raise ValueError("Data must not be a string.") + + new_fields = [] + fields = to_key_val_list(data or {}) + files = to_key_val_list(files or {}) + + for field, val in fields: + if isinstance(val, basestring) or not hasattr(val, '__iter__'): + val = [val] + for v in val: + if v is not None: + # Don't call str() on bytestrings: in Py3 it all goes wrong. + if not isinstance(v, bytes): + v = str(v) + + new_fields.append( + (field.decode('utf-8') if isinstance(field, bytes) else field, + v.encode('utf-8') if isinstance(v, str) else v)) + + for (k, v) in files: + # support for explicit filename + ft = None + fh = None + if isinstance(v, (tuple, list)): + if len(v) == 2: + fn, fp = v + elif len(v) == 3: + fn, fp, ft = v + else: + fn, fp, ft, fh = v + else: + fn = guess_filename(v) or k + fp = v + + if isinstance(fp, (str, bytes, bytearray)): + fdata = fp + elif hasattr(fp, 'read'): + fdata = fp.read() + elif fp is None: + continue + else: + fdata = fp + + rf = RequestField(name=k, data=fdata, filename=fn, headers=fh) + rf.make_multipart(content_type=ft) + new_fields.append(rf) + + body, content_type = encode_multipart_formdata(new_fields) + + return body, content_type + + +class RequestHooksMixin(object): + def register_hook(self, event, hook): + """Properly register a hook.""" + + if event not in self.hooks: + raise ValueError('Unsupported event specified, with event name "%s"' % (event)) + + if isinstance(hook, Callable): + self.hooks[event].append(hook) + elif hasattr(hook, '__iter__'): + self.hooks[event].extend(h for h in hook if isinstance(h, Callable)) + + def deregister_hook(self, event, hook): + """Deregister a previously registered hook. + Returns True if the hook existed, False if not. + """ + + try: + self.hooks[event].remove(hook) + return True + except ValueError: + return False + + +class Request(RequestHooksMixin): + """A user-created :class:`Request <Request>` object. + + Used to prepare a :class:`PreparedRequest <PreparedRequest>`, which is sent to the server. + + :param method: HTTP method to use. + :param url: URL to send. + :param headers: dictionary of headers to send. + :param files: dictionary of {filename: fileobject} files to multipart upload. + :param data: the body to attach to the request. If a dictionary or + list of tuples ``[(key, value)]`` is provided, form-encoding will + take place. + :param json: json for the body to attach to the request (if files or data is not specified). + :param params: URL parameters to append to the URL. If a dictionary or + list of tuples ``[(key, value)]`` is provided, form-encoding will + take place. + :param auth: Auth handler or (user, pass) tuple. + :param cookies: dictionary or CookieJar of cookies to attach to this request. + :param hooks: dictionary of callback hooks, for internal usage. + + Usage:: + + >>> import requests + >>> req = requests.Request('GET', 'https://httpbin.org/get') + >>> req.prepare() + <PreparedRequest [GET]> + """ + + def __init__(self, + method=None, url=None, headers=None, files=None, data=None, + params=None, auth=None, cookies=None, hooks=None, json=None): + + # Default empty dicts for dict params. + data = [] if data is None else data + files = [] if files is None else files + headers = {} if headers is None else headers + params = {} if params is None else params + hooks = {} if hooks is None else hooks + + self.hooks = default_hooks() + for (k, v) in list(hooks.items()): + self.register_hook(event=k, hook=v) + + self.method = method + self.url = url + self.headers = headers + self.files = files + self.data = data + self.json = json + self.params = params + self.auth = auth + self.cookies = cookies + + def __repr__(self): + return '<Request [%s]>' % (self.method) + + def prepare(self): + """Constructs a :class:`PreparedRequest <PreparedRequest>` for transmission and returns it.""" + p = PreparedRequest() + p.prepare( + method=self.method, + url=self.url, + headers=self.headers, + files=self.files, + data=self.data, + json=self.json, + params=self.params, + auth=self.auth, + cookies=self.cookies, + hooks=self.hooks, + ) + return p + + +class PreparedRequest(RequestEncodingMixin, RequestHooksMixin): + """The fully mutable :class:`PreparedRequest <PreparedRequest>` object, + containing the exact bytes that will be sent to the server. + + Generated from either a :class:`Request <Request>` object or manually. + + Usage:: + + >>> import requests + >>> req = requests.Request('GET', 'https://httpbin.org/get') + >>> r = req.prepare() + <PreparedRequest [GET]> + + >>> s = requests.Session() + >>> s.send(r) + <Response [200]> + """ + + def __init__(self): + #: HTTP verb to send to the server. + self.method = None + #: HTTP URL to send the request to. + self.url = None + #: dictionary of HTTP headers. + self.headers = None + # The `CookieJar` used to create the Cookie header will be stored here + # after prepare_cookies is called + self._cookies = None + #: request body to send to the server. + self.body = None + #: dictionary of callback hooks, for internal usage. + self.hooks = default_hooks() + #: integer denoting starting position of a readable file-like body. + self._body_position = None + + def prepare(self, + method=None, url=None, headers=None, files=None, data=None, + params=None, auth=None, cookies=None, hooks=None, json=None): + """Prepares the entire request with the given parameters.""" + + self.prepare_method(method) + self.prepare_url(url, params) + self.prepare_headers(headers) + self.prepare_cookies(cookies) + self.prepare_body(data, files, json) + self.prepare_auth(auth, url) + + # Note that prepare_auth must be last to enable authentication schemes + # such as OAuth to work on a fully prepared request. + + # This MUST go after prepare_auth. Authenticators could add a hook + self.prepare_hooks(hooks) + + def __repr__(self): + return '<PreparedRequest [%s]>' % (self.method) + + def copy(self): + p = PreparedRequest() + p.method = self.method + p.url = self.url + p.headers = self.headers.copy() if self.headers is not None else None + p._cookies = _copy_cookie_jar(self._cookies) + p.body = self.body + p.hooks = self.hooks + p._body_position = self._body_position + return p + + def prepare_method(self, method): + """Prepares the given HTTP method.""" + self.method = method + if self.method is not None: + self.method = to_native_string(self.method.upper()) + + @staticmethod + def _get_idna_encoded_host(host): + from pip._vendor import idna + + try: + host = idna.encode(host, uts46=True).decode('utf-8') + except idna.IDNAError: + raise UnicodeError + return host + + def prepare_url(self, url, params): + """Prepares the given HTTP URL.""" + #: Accept objects that have string representations. + #: We're unable to blindly call unicode/str functions + #: as this will include the bytestring indicator (b'') + #: on python 3.x. + #: https://github.com/requests/requests/pull/2238 + if isinstance(url, bytes): + url = url.decode('utf8') + else: + url = unicode(url) if is_py2 else str(url) + + # Remove leading whitespaces from url + url = url.lstrip() + + # Don't do any URL preparation for non-HTTP schemes like `mailto`, + # `data` etc to work around exceptions from `url_parse`, which + # handles RFC 3986 only. + if ':' in url and not url.lower().startswith('http'): + self.url = url + return + + # Support for unicode domain names and paths. + try: + scheme, auth, host, port, path, query, fragment = parse_url(url) + except LocationParseError as e: + raise InvalidURL(*e.args) + + if not scheme: + error = ("Invalid URL {0!r}: No schema supplied. Perhaps you meant http://{0}?") + error = error.format(to_native_string(url, 'utf8')) + + raise MissingSchema(error) + + if not host: + raise InvalidURL("Invalid URL %r: No host supplied" % url) + + # In general, we want to try IDNA encoding the hostname if the string contains + # non-ASCII characters. This allows users to automatically get the correct IDNA + # behaviour. For strings containing only ASCII characters, we need to also verify + # it doesn't start with a wildcard (*), before allowing the unencoded hostname. + if not unicode_is_ascii(host): + try: + host = self._get_idna_encoded_host(host) + except UnicodeError: + raise InvalidURL('URL has an invalid label.') + elif host.startswith(u'*'): + raise InvalidURL('URL has an invalid label.') + + # Carefully reconstruct the network location + netloc = auth or '' + if netloc: + netloc += '@' + netloc += host + if port: + netloc += ':' + str(port) + + # Bare domains aren't valid URLs. + if not path: + path = '/' + + if is_py2: + if isinstance(scheme, str): + scheme = scheme.encode('utf-8') + if isinstance(netloc, str): + netloc = netloc.encode('utf-8') + if isinstance(path, str): + path = path.encode('utf-8') + if isinstance(query, str): + query = query.encode('utf-8') + if isinstance(fragment, str): + fragment = fragment.encode('utf-8') + + if isinstance(params, (str, bytes)): + params = to_native_string(params) + + enc_params = self._encode_params(params) + if enc_params: + if query: + query = '%s&%s' % (query, enc_params) + else: + query = enc_params + + url = requote_uri(urlunparse([scheme, netloc, path, None, query, fragment])) + self.url = url + + def prepare_headers(self, headers): + """Prepares the given HTTP headers.""" + + self.headers = CaseInsensitiveDict() + if headers: + for header in headers.items(): + # Raise exception on invalid header value. + check_header_validity(header) + name, value = header + self.headers[to_native_string(name)] = value + + def prepare_body(self, data, files, json=None): + """Prepares the given HTTP body data.""" + + # Check if file, fo, generator, iterator. + # If not, run through normal process. + + # Nottin' on you. + body = None + content_type = None + + if not data and json is not None: + # urllib3 requires a bytes-like body. Python 2's json.dumps + # provides this natively, but Python 3 gives a Unicode string. + content_type = 'application/json' + body = complexjson.dumps(json) + if not isinstance(body, bytes): + body = body.encode('utf-8') + + is_stream = all([ + hasattr(data, '__iter__'), + not isinstance(data, (basestring, list, tuple, Mapping)) + ]) + + try: + length = super_len(data) + except (TypeError, AttributeError, UnsupportedOperation): + length = None + + if is_stream: + body = data + + if getattr(body, 'tell', None) is not None: + # Record the current file position before reading. + # This will allow us to rewind a file in the event + # of a redirect. + try: + self._body_position = body.tell() + except (IOError, OSError): + # This differentiates from None, allowing us to catch + # a failed `tell()` later when trying to rewind the body + self._body_position = object() + + if files: + raise NotImplementedError('Streamed bodies and files are mutually exclusive.') + + if length: + self.headers['Content-Length'] = builtin_str(length) + else: + self.headers['Transfer-Encoding'] = 'chunked' + else: + # Multi-part file uploads. + if files: + (body, content_type) = self._encode_files(files, data) + else: + if data: + body = self._encode_params(data) + if isinstance(data, basestring) or hasattr(data, 'read'): + content_type = None + else: + content_type = 'application/x-www-form-urlencoded' + + self.prepare_content_length(body) + + # Add content-type if it wasn't explicitly provided. + if content_type and ('content-type' not in self.headers): + self.headers['Content-Type'] = content_type + + self.body = body + + def prepare_content_length(self, body): + """Prepare Content-Length header based on request method and body""" + if body is not None: + length = super_len(body) + if length: + # If length exists, set it. Otherwise, we fallback + # to Transfer-Encoding: chunked. + self.headers['Content-Length'] = builtin_str(length) + elif self.method not in ('GET', 'HEAD') and self.headers.get('Content-Length') is None: + # Set Content-Length to 0 for methods that can have a body + # but don't provide one. (i.e. not GET or HEAD) + self.headers['Content-Length'] = '0' + + def prepare_auth(self, auth, url=''): + """Prepares the given HTTP auth data.""" + + # If no Auth is explicitly provided, extract it from the URL first. + if auth is None: + url_auth = get_auth_from_url(self.url) + auth = url_auth if any(url_auth) else None + + if auth: + if isinstance(auth, tuple) and len(auth) == 2: + # special-case basic HTTP auth + auth = HTTPBasicAuth(*auth) + + # Allow auth to make its changes. + r = auth(self) + + # Update self to reflect the auth changes. + self.__dict__.update(r.__dict__) + + # Recompute Content-Length + self.prepare_content_length(self.body) + + def prepare_cookies(self, cookies): + """Prepares the given HTTP cookie data. + + This function eventually generates a ``Cookie`` header from the + given cookies using cookielib. Due to cookielib's design, the header + will not be regenerated if it already exists, meaning this function + can only be called once for the life of the + :class:`PreparedRequest <PreparedRequest>` object. Any subsequent calls + to ``prepare_cookies`` will have no actual effect, unless the "Cookie" + header is removed beforehand. + """ + if isinstance(cookies, cookielib.CookieJar): + self._cookies = cookies + else: + self._cookies = cookiejar_from_dict(cookies) + + cookie_header = get_cookie_header(self._cookies, self) + if cookie_header is not None: + self.headers['Cookie'] = cookie_header + + def prepare_hooks(self, hooks): + """Prepares the given hooks.""" + # hooks can be passed as None to the prepare method and to this + # method. To prevent iterating over None, simply use an empty list + # if hooks is False-y + hooks = hooks or [] + for event in hooks: + self.register_hook(event, hooks[event]) + + +class Response(object): + """The :class:`Response <Response>` object, which contains a + server's response to an HTTP request. + """ + + __attrs__ = [ + '_content', 'status_code', 'headers', 'url', 'history', + 'encoding', 'reason', 'cookies', 'elapsed', 'request' + ] + + def __init__(self): + self._content = False + self._content_consumed = False + self._next = None + + #: Integer Code of responded HTTP Status, e.g. 404 or 200. + self.status_code = None + + #: Case-insensitive Dictionary of Response Headers. + #: For example, ``headers['content-encoding']`` will return the + #: value of a ``'Content-Encoding'`` response header. + self.headers = CaseInsensitiveDict() + + #: File-like object representation of response (for advanced usage). + #: Use of ``raw`` requires that ``stream=True`` be set on the request. + # This requirement does not apply for use internally to Requests. + self.raw = None + + #: Final URL location of Response. + self.url = None + + #: Encoding to decode with when accessing r.text. + self.encoding = None + + #: A list of :class:`Response <Response>` objects from + #: the history of the Request. Any redirect responses will end + #: up here. The list is sorted from the oldest to the most recent request. + self.history = [] + + #: Textual reason of responded HTTP Status, e.g. "Not Found" or "OK". + self.reason = None + + #: A CookieJar of Cookies the server sent back. + self.cookies = cookiejar_from_dict({}) + + #: The amount of time elapsed between sending the request + #: and the arrival of the response (as a timedelta). + #: This property specifically measures the time taken between sending + #: the first byte of the request and finishing parsing the headers. It + #: is therefore unaffected by consuming the response content or the + #: value of the ``stream`` keyword argument. + self.elapsed = datetime.timedelta(0) + + #: The :class:`PreparedRequest <PreparedRequest>` object to which this + #: is a response. + self.request = None + + def __enter__(self): + return self + + def __exit__(self, *args): + self.close() + + def __getstate__(self): + # Consume everything; accessing the content attribute makes + # sure the content has been fully read. + if not self._content_consumed: + self.content + + return {attr: getattr(self, attr, None) for attr in self.__attrs__} + + def __setstate__(self, state): + for name, value in state.items(): + setattr(self, name, value) + + # pickled objects do not have .raw + setattr(self, '_content_consumed', True) + setattr(self, 'raw', None) + + def __repr__(self): + return '<Response [%s]>' % (self.status_code) + + def __bool__(self): + """Returns True if :attr:`status_code` is less than 400. + + This attribute checks if the status code of the response is between + 400 and 600 to see if there was a client error or a server error. If + the status code, is between 200 and 400, this will return True. This + is **not** a check to see if the response code is ``200 OK``. + """ + return self.ok + + def __nonzero__(self): + """Returns True if :attr:`status_code` is less than 400. + + This attribute checks if the status code of the response is between + 400 and 600 to see if there was a client error or a server error. If + the status code, is between 200 and 400, this will return True. This + is **not** a check to see if the response code is ``200 OK``. + """ + return self.ok + + def __iter__(self): + """Allows you to use a response as an iterator.""" + return self.iter_content(128) + + @property + def ok(self): + """Returns True if :attr:`status_code` is less than 400, False if not. + + This attribute checks if the status code of the response is between + 400 and 600 to see if there was a client error or a server error. If + the status code is between 200 and 400, this will return True. This + is **not** a check to see if the response code is ``200 OK``. + """ + try: + self.raise_for_status() + except HTTPError: + return False + return True + + @property + def is_redirect(self): + """True if this Response is a well-formed HTTP redirect that could have + been processed automatically (by :meth:`Session.resolve_redirects`). + """ + return ('location' in self.headers and self.status_code in REDIRECT_STATI) + + @property + def is_permanent_redirect(self): + """True if this Response one of the permanent versions of redirect.""" + return ('location' in self.headers and self.status_code in (codes.moved_permanently, codes.permanent_redirect)) + + @property + def next(self): + """Returns a PreparedRequest for the next request in a redirect chain, if there is one.""" + return self._next + + @property + def apparent_encoding(self): + """The apparent encoding, provided by the chardet library.""" + return chardet.detect(self.content)['encoding'] + + def iter_content(self, chunk_size=1, decode_unicode=False): + """Iterates over the response data. When stream=True is set on the + request, this avoids reading the content at once into memory for + large responses. The chunk size is the number of bytes it should + read into memory. This is not necessarily the length of each item + returned as decoding can take place. + + chunk_size must be of type int or None. A value of None will + function differently depending on the value of `stream`. + stream=True will read data as it arrives in whatever size the + chunks are received. If stream=False, data is returned as + a single chunk. + + If decode_unicode is True, content will be decoded using the best + available encoding based on the response. + """ + + def generate(): + # Special case for urllib3. + if hasattr(self.raw, 'stream'): + try: + for chunk in self.raw.stream(chunk_size, decode_content=True): + yield chunk + except ProtocolError as e: + raise ChunkedEncodingError(e) + except DecodeError as e: + raise ContentDecodingError(e) + except ReadTimeoutError as e: + raise ConnectionError(e) + else: + # Standard file-like object. + while True: + chunk = self.raw.read(chunk_size) + if not chunk: + break + yield chunk + + self._content_consumed = True + + if self._content_consumed and isinstance(self._content, bool): + raise StreamConsumedError() + elif chunk_size is not None and not isinstance(chunk_size, int): + raise TypeError("chunk_size must be an int, it is instead a %s." % type(chunk_size)) + # simulate reading small chunks of the content + reused_chunks = iter_slices(self._content, chunk_size) + + stream_chunks = generate() + + chunks = reused_chunks if self._content_consumed else stream_chunks + + if decode_unicode: + chunks = stream_decode_response_unicode(chunks, self) + + return chunks + + def iter_lines(self, chunk_size=ITER_CHUNK_SIZE, decode_unicode=False, delimiter=None): + """Iterates over the response data, one line at a time. When + stream=True is set on the request, this avoids reading the + content at once into memory for large responses. + + .. note:: This method is not reentrant safe. + """ + + pending = None + + for chunk in self.iter_content(chunk_size=chunk_size, decode_unicode=decode_unicode): + + if pending is not None: + chunk = pending + chunk + + if delimiter: + lines = chunk.split(delimiter) + else: + lines = chunk.splitlines() + + if lines and lines[-1] and chunk and lines[-1][-1] == chunk[-1]: + pending = lines.pop() + else: + pending = None + + for line in lines: + yield line + + if pending is not None: + yield pending + + @property + def content(self): + """Content of the response, in bytes.""" + + if self._content is False: + # Read the contents. + if self._content_consumed: + raise RuntimeError( + 'The content for this response was already consumed') + + if self.status_code == 0 or self.raw is None: + self._content = None + else: + self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b'' + + self._content_consumed = True + # don't need to release the connection; that's been handled by urllib3 + # since we exhausted the data. + return self._content + + @property + def text(self): + """Content of the response, in unicode. + + If Response.encoding is None, encoding will be guessed using + ``chardet``. + + The encoding of the response content is determined based solely on HTTP + headers, following RFC 2616 to the letter. If you can take advantage of + non-HTTP knowledge to make a better guess at the encoding, you should + set ``r.encoding`` appropriately before accessing this property. + """ + + # Try charset from content-type + content = None + encoding = self.encoding + + if not self.content: + return str('') + + # Fallback to auto-detected encoding. + if self.encoding is None: + encoding = self.apparent_encoding + + # Decode unicode from given encoding. + try: + content = str(self.content, encoding, errors='replace') + except (LookupError, TypeError): + # A LookupError is raised if the encoding was not found which could + # indicate a misspelling or similar mistake. + # + # A TypeError can be raised if encoding is None + # + # So we try blindly encoding. + content = str(self.content, errors='replace') + + return content + + def json(self, **kwargs): + r"""Returns the json-encoded content of a response, if any. + + :param \*\*kwargs: Optional arguments that ``json.loads`` takes. + :raises ValueError: If the response body does not contain valid json. + """ + + if not self.encoding and self.content and len(self.content) > 3: + # No encoding set. JSON RFC 4627 section 3 states we should expect + # UTF-8, -16 or -32. Detect which one to use; If the detection or + # decoding fails, fall back to `self.text` (using chardet to make + # a best guess). + encoding = guess_json_utf(self.content) + if encoding is not None: + try: + return complexjson.loads( + self.content.decode(encoding), **kwargs + ) + except UnicodeDecodeError: + # Wrong UTF codec detected; usually because it's not UTF-8 + # but some other 8-bit codec. This is an RFC violation, + # and the server didn't bother to tell us what codec *was* + # used. + pass + return complexjson.loads(self.text, **kwargs) + + @property + def links(self): + """Returns the parsed header links of the response, if any.""" + + header = self.headers.get('link') + + # l = MultiDict() + l = {} + + if header: + links = parse_header_links(header) + + for link in links: + key = link.get('rel') or link.get('url') + l[key] = link + + return l + + def raise_for_status(self): + """Raises stored :class:`HTTPError`, if one occurred.""" + + http_error_msg = '' + if isinstance(self.reason, bytes): + # We attempt to decode utf-8 first because some servers + # choose to localize their reason strings. If the string + # isn't utf-8, we fall back to iso-8859-1 for all other + # encodings. (See PR #3538) + try: + reason = self.reason.decode('utf-8') + except UnicodeDecodeError: + reason = self.reason.decode('iso-8859-1') + else: + reason = self.reason + + if 400 <= self.status_code < 500: + http_error_msg = u'%s Client Error: %s for url: %s' % (self.status_code, reason, self.url) + + elif 500 <= self.status_code < 600: + http_error_msg = u'%s Server Error: %s for url: %s' % (self.status_code, reason, self.url) + + if http_error_msg: + raise HTTPError(http_error_msg, response=self) + + def close(self): + """Releases the connection back to the pool. Once this method has been + called the underlying ``raw`` object must not be accessed again. + + *Note: Should not normally need to be called explicitly.* + """ + if not self._content_consumed: + self.raw.close() + + release_conn = getattr(self.raw, 'release_conn', None) + if release_conn is not None: + release_conn() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/packages.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/packages.py new file mode 100644 index 0000000..9582fa7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/packages.py @@ -0,0 +1,16 @@ +import sys + +# This code exists for backwards compatibility reasons. +# I don't like it either. Just look the other way. :) + +for package in ('urllib3', 'idna', 'chardet'): + vendored_package = "pip._vendor." + package + locals()[package] = __import__(vendored_package) + # This traversal is apparently necessary such that the identities are + # preserved (requests.packages.urllib3.* is urllib3.*) + for mod in list(sys.modules): + if mod == vendored_package or mod.startswith(vendored_package + '.'): + unprefixed_mod = mod[len("pip._vendor."):] + sys.modules['pip._vendor.requests.packages.' + unprefixed_mod] = sys.modules[mod] + +# Kinda cool, though, right? diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/sessions.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/sessions.py new file mode 100644 index 0000000..d73d700 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/sessions.py @@ -0,0 +1,770 @@ +# -*- coding: utf-8 -*- + +""" +requests.session +~~~~~~~~~~~~~~~~ + +This module provides a Session object to manage and persist settings across +requests (cookies, auth, proxies). +""" +import os +import sys +import time +from datetime import timedelta + +from .auth import _basic_auth_str +from .compat import cookielib, is_py3, OrderedDict, urljoin, urlparse, Mapping +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 ._internal_utils import to_native_string +from .utils import to_key_val_list, default_headers, DEFAULT_PORTS +from .exceptions import ( + TooManyRedirects, InvalidSchema, ChunkedEncodingError, ContentDecodingError) + +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, rewind_body +) + +from .status_codes import codes + +# formerly defined here, reexposed here for backward compatibility +from .models import REDIRECT_STATI + +# Preferred clock, based on which one is more accurate on a given system. +if sys.platform == 'win32': + try: # Python 3.4+ + preferred_clock = time.perf_counter + except AttributeError: # Earlier than Python 3. + preferred_clock = time.clock +else: + preferred_clock = time.time + + +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 get_redirect_target(self, resp): + """Receives a Response. Returns a redirect URI or ``None``""" + # Due to the nature of how requests processes redirects this method will + # be called at least once upon the original response and at least twice + # on each subsequent redirect response (if any). + # If a custom mixin is used to handle this logic, it may be advantageous + # to cache the redirect location onto the response object as a private + # attribute. + if resp.is_redirect: + location = resp.headers['location'] + # Currently the underlying http module on py3 decode headers + # in latin1, but empirical evidence suggests that latin1 is very + # rarely used with non-ASCII characters in HTTP headers. + # It is more likely to get UTF8 header rather than latin1. + # This causes incorrect handling of UTF8 encoded location headers. + # To solve this, we re-encode the location in latin1. + if is_py3: + location = location.encode('latin1') + return to_native_string(location, 'utf8') + return None + + def should_strip_auth(self, old_url, new_url): + """Decide whether Authorization header should be removed when redirecting""" + old_parsed = urlparse(old_url) + new_parsed = urlparse(new_url) + if old_parsed.hostname != new_parsed.hostname: + return True + # Special case: allow http -> https redirect when using the standard + # ports. This isn't specified by RFC 7235, but is kept to avoid + # breaking backwards compatibility with older versions of requests + # that allowed any redirects on the same host. + if (old_parsed.scheme == 'http' and old_parsed.port in (80, None) + and new_parsed.scheme == 'https' and new_parsed.port in (443, None)): + return False + + # Handle default port usage corresponding to scheme. + changed_port = old_parsed.port != new_parsed.port + changed_scheme = old_parsed.scheme != new_parsed.scheme + default_port = (DEFAULT_PORTS.get(old_parsed.scheme, None), None) + if (not changed_scheme and old_parsed.port in default_port + and new_parsed.port in default_port): + return False + + # Standard case: root URI must match + return changed_port or changed_scheme + + def resolve_redirects(self, resp, req, stream=False, timeout=None, + verify=True, cert=None, proxies=None, yield_requests=False, **adapter_kwargs): + """Receives a Response. Returns a generator of Responses or Requests.""" + + hist = [] # keep track of history + + url = self.get_redirect_target(resp) + previous_fragment = urlparse(req.url).fragment + while url: + prepared_request = req.copy() + + # Update history and keep track of redirects. + # resp.history must ignore the original request in this loop + hist.append(resp) + resp.history = hist[1:] + + try: + resp.content # Consume socket so it can be released + except (ChunkedEncodingError, ContentDecodingError, RuntimeError): + resp.raw.read(decode_content=False) + + if len(resp.history) >= self.max_redirects: + raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp) + + # Release the connection back into the pool. + resp.close() + + # Handle redirection without scheme (see: RFC 1808 Section 4) + if url.startswith('//'): + parsed_rurl = urlparse(resp.url) + url = '%s:%s' % (to_native_string(parsed_rurl.scheme), url) + + # Normalize url case and attach previous fragment if needed (RFC 7231 7.1.2) + parsed = urlparse(url) + if parsed.fragment == '' and previous_fragment: + parsed = parsed._replace(fragment=previous_fragment) + elif parsed.fragment: + previous_fragment = parsed.fragment + 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) + + self.rebuild_method(prepared_request, resp) + + # https://github.com/requests/requests/issues/1084 + if resp.status_code not in (codes.temporary_redirect, codes.permanent_redirect): + # https://github.com/requests/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) + merge_cookies(prepared_request._cookies, 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) + + # A failed tell() sets `_body_position` to `object()`. This non-None + # value ensures `rewindable` will be True, allowing us to raise an + # UnrewindableBodyError, instead of hanging the connection. + rewindable = ( + prepared_request._body_position is not None and + ('Content-Length' in headers or 'Transfer-Encoding' in headers) + ) + + # Attempt to rewind consumed file-like object. + if rewindable: + rewind_body(prepared_request) + + # Override the original request. + req = prepared_request + + if yield_requests: + yield req + else: + + 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) + + # extract redirect url, if any, for the next loop + url = self.get_redirect_target(resp) + 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 and self.should_strip_auth(response.request.url, url): + # If we get redirected to a new host, we should strip out any + # authentication headers. + 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 + """ + proxies = proxies if proxies is not None else {} + headers = prepared_request.headers + url = prepared_request.url + scheme = urlparse(url).scheme + new_proxies = proxies.copy() + no_proxy = proxies.get('no_proxy') + + bypass_proxy = should_bypass_proxies(url, no_proxy=no_proxy) + if self.trust_env and not bypass_proxy: + environ_proxies = get_environ_proxies(url, no_proxy=no_proxy) + + proxy = environ_proxies.get(scheme, environ_proxies.get('all')) + + 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 + + # https://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('https://httpbin.org/get') + <Response [200]> + + Or as a context manager:: + + >>> with requests.Session() as s: + >>> s.get('https://httpbin.org/get') + <Response [200]> + """ + + __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 <Request>` sent from this + #: :class:`Session <Session>`. + self.headers = default_headers() + + #: Default Authentication tuple or object to attach to + #: :class:`Request <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 <Request>`. + self.proxies = {} + + #: Event-handling hooks. + self.hooks = default_hooks() + + #: Dictionary of querystring data to attach to each + #: :class:`Request <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 client certificate default, if String, path to ssl client + #: cert file (.pem). If Tuple, ('cert', 'key') pair. + 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 <requests.cookies.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()) + + def __enter__(self): + return self + + def __exit__(self, *args): + self.close() + + def prepare_request(self, request): + """Constructs a :class:`PreparedRequest <PreparedRequest>` for + transmission and returns it. The :class:`PreparedRequest` has settings + merged from the :class:`Request <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 <Request>`, prepares it and sends it. + Returns :class:`Response <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, list of tuples, 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) <timeouts>` 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) Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use. 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): + r"""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): + r"""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): + r"""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): + r"""Sends a POST request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, 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): + r"""Sends a PUT request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, 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): + r"""Sends a PATCH request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, 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): + r"""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 + + # Get the appropriate adapter to use + adapter = self.get_adapter(url=request.url) + + # Start time (approximately) of the request + start = preferred_clock() + + # Send the request + r = adapter.send(request, **kwargs) + + # Total elapsed time of the request (approximately) + elapsed = preferred_clock() - start + r.elapsed = timedelta(seconds=elapsed) + + # 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 redirects aren't being followed, store the response on the Request for Response.next(). + if not allow_redirects: + try: + r._next = next(self.resolve_redirects(r, request, yield_requests=True, **kwargs)) + except StopIteration: + pass + + 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. + no_proxy = proxies.get('no_proxy') if proxies is not None else None + env_proxies = get_environ_proxies(url, no_proxy=no_proxy) + 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.lower()): + 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 prefix 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 = {attr: getattr(self, attr, None) for attr in self.__attrs__} + return state + + def __setstate__(self, state): + for attr, value in state.items(): + setattr(self, attr, value) + + +def session(): + """ + Returns a :class:`Session` for context-management. + + .. deprecated:: 1.0.0 + + This method has been deprecated since version 1.0.0 and is only kept for + backwards compatibility. New code should use :class:`~requests.sessions.Session` + to create a session. This may be removed at a future date. + + :rtype: Session + """ + return Session() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/status_codes.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/status_codes.py new file mode 100644 index 0000000..813e8c4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/status_codes.py @@ -0,0 +1,120 @@ +# -*- coding: utf-8 -*- + +r""" +The ``codes`` object defines a mapping from common names for HTTP statuses +to their numerical codes, accessible either as attributes or as dictionary +items. + +>>> requests.codes['temporary_redirect'] +307 +>>> requests.codes.teapot +418 +>>> requests.codes['\o/'] +200 + +Some codes have multiple names, and both upper- and lower-case versions of +the names are allowed. For example, ``codes.ok``, ``codes.OK``, and +``codes.okay`` all correspond to the HTTP status code 200. +""" + +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') + +def _init(): + for code, titles in _codes.items(): + for title in titles: + setattr(codes, title, code) + if not title.startswith(('\\', '/')): + setattr(codes, title.upper(), code) + + def doc(code): + names = ', '.join('``%s``' % n for n in _codes[code]) + return '* %d: %s' % (code, names) + + global __doc__ + __doc__ = (__doc__ + '\n' + + '\n'.join(doc(code) for code in sorted(_codes)) + if __doc__ is not None else None) + +_init() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/structures.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/structures.py new file mode 100644 index 0000000..da930e2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/structures.py @@ -0,0 +1,103 @@ +# -*- coding: utf-8 -*- + +""" +requests.structures +~~~~~~~~~~~~~~~~~~~ + +Data structures that power Requests. +""" + +from .compat import OrderedDict, Mapping, MutableMapping + + +class CaseInsensitiveDict(MutableMapping): + """A case-insensitive ``dict``-like object. + + Implements all methods and operations of + ``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, 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 '<lookup \'%s\'>' % (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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/utils.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/utils.py new file mode 100644 index 0000000..8170a8d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/requests/utils.py @@ -0,0 +1,977 @@ +# -*- coding: utf-8 -*- + +""" +requests.utils +~~~~~~~~~~~~~~ + +This module provides utility functions that are used within Requests +that are also useful for external consumption. +""" + +import codecs +import contextlib +import io +import os +import re +import socket +import struct +import sys +import tempfile +import warnings +import zipfile + +from .__version__ import __version__ +from . import certs +# to_native_string is unused here, but imported here for backwards compatibility +from ._internal_utils import to_native_string +from .compat import parse_http_list as _parse_list_header +from .compat import ( + quote, urlparse, bytes, str, OrderedDict, unquote, getproxies, + proxy_bypass, urlunparse, basestring, integer_types, is_py3, + proxy_bypass_environment, getproxies_environment, Mapping) +from .cookies import cookiejar_from_dict +from .structures import CaseInsensitiveDict +from .exceptions import ( + InvalidURL, InvalidHeader, FileModeWarning, UnrewindableBodyError) + +NETRC_FILES = ('.netrc', '_netrc') + +DEFAULT_CA_BUNDLE_PATH = certs.where() + +DEFAULT_PORTS = {'http': 80, 'https': 443} + + +if sys.platform == 'win32': + # provide a proxy_bypass version on Windows without DNS lookups + + def proxy_bypass_registry(host): + try: + if is_py3: + import winreg + else: + import _winreg as winreg + except ImportError: + return False + + try: + internetSettings = winreg.OpenKey(winreg.HKEY_CURRENT_USER, + r'Software\Microsoft\Windows\CurrentVersion\Internet Settings') + # ProxyEnable could be REG_SZ or REG_DWORD, normalizing it + proxyEnable = int(winreg.QueryValueEx(internetSettings, + 'ProxyEnable')[0]) + # ProxyOverride is almost always a string + proxyOverride = winreg.QueryValueEx(internetSettings, + 'ProxyOverride')[0] + except OSError: + return False + if not proxyEnable or not proxyOverride: + return False + + # make a check value list from the registry entry: replace the + # '<local>' string by the localhost entry and the corresponding + # canonical entry. + proxyOverride = proxyOverride.split(';') + # now check if we match one of the registry values. + for test in proxyOverride: + if test == '<local>': + if '.' not in host: + return True + test = test.replace(".", r"\.") # mask dots + test = test.replace("*", r".*") # change glob sequence + test = test.replace("?", r".") # change glob char + if re.match(test, host, re.I): + return True + return False + + def proxy_bypass(host): # noqa + """Return True, if the host should be bypassed. + + Checks proxy settings gathered from the environment, if specified, + or the registry. + """ + if getproxies_environment(): + return proxy_bypass_environment(host) + else: + return proxy_bypass_registry(host) + + +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 = None + current_position = 0 + + if hasattr(o, '__len__'): + total_length = len(o) + + elif hasattr(o, 'len'): + total_length = o.len + + 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. + if total_length is not None: + current_position = total_length + else: + if hasattr(o, 'seek') and total_length is None: + # StringIO and BytesIO have seek but no useable fileno + try: + # seek to end of file + o.seek(0, 2) + total_length = o.tell() + + # seek back to current position to support + # partially read file-like objects + o.seek(current_position or 0) + except (OSError, IOError): + total_length = 0 + + if total_length is None: + total_length = 0 + + 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('~/{}'.format(f)) + except KeyError: + # os.path.expanduser can fail when $HOME is undefined and + # getpwuid fails. See https://bugs.python.org/issue20164 & + # https://github.com/requests/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 extract_zipped_paths(path): + """Replace nonexistent paths that look like they refer to a member of a zip + archive with the location of an extracted copy of the target, or else + just return the provided path unchanged. + """ + if os.path.exists(path): + # this is already a valid path, no need to do anything further + return path + + # find the first valid part of the provided path and treat that as a zip archive + # assume the rest of the path is the name of a member in the archive + archive, member = os.path.split(path) + while archive and not os.path.exists(archive): + archive, prefix = os.path.split(archive) + member = '/'.join([prefix, member]) + + if not zipfile.is_zipfile(archive): + return path + + zip_file = zipfile.ZipFile(archive) + if member not in zip_file.namelist(): + return path + + # we have a valid zip archive and a valid member of that archive + tmp = tempfile.gettempdir() + extracted_path = os.path.join(tmp, *member.split('/')) + if not os.path.exists(extracted_path): + extracted_path = zip_file.extract(member, path=tmp) + + return extracted_path + + +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: cannot encode objects that are not 2-tuples + >>> 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, 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 + """ + + return cookiejar_from_dict(cookie_dict, 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'<meta.*?charset=["\']*(.+?)["\'>]', flags=re.I) + pragma_re = re.compile(r'<meta.*?content=["\']*;?charset=(.+?)["\'>]', flags=re.I) + xml_re = re.compile(r'^<\?xml.*?encoding=["\']*(.+?)["\'>]') + + return (charset_re.findall(content) + + pragma_re.findall(content) + + xml_re.findall(content)) + + +def _parse_content_type_header(header): + """Returns content type and parameters from given header + + :param header: string + :return: tuple containing content type and dictionary of + parameters + """ + + tokens = header.split(';') + content_type, params = tokens[0].strip(), tokens[1:] + params_dict = {} + items_to_strip = "\"' " + + for param in params: + param = param.strip() + if param: + key, value = param, True + index_of_equals = param.find("=") + if index_of_equals != -1: + key = param[:index_of_equals].strip(items_to_strip) + value = param[index_of_equals + 1:].strip(items_to_strip) + params_dict[key.lower()] = value + return content_type, params_dict + + +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 = _parse_content_type_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 an 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 + + +@contextlib.contextmanager +def set_environ(env_name, value): + """Set the environment variable 'env_name' to 'value' + + Save previous value, yield, and then restore the previous value stored in + the environment variable 'env_name'. + + If 'value' is None, do nothing""" + value_changed = value is not None + if value_changed: + old_value = os.environ.get(env_name) + os.environ[env_name] = value + try: + yield + finally: + if value_changed: + if old_value is None: + del os.environ[env_name] + else: + os.environ[env_name] = old_value + + +def should_bypass_proxies(url, no_proxy): + """ + Returns whether we should bypass proxies or not. + + :rtype: bool + """ + # Prioritize lowercase environment variables over uppercase + # to keep a consistent behaviour with other http projects (curl, wget). + 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_arg = no_proxy + if no_proxy is None: + no_proxy = get_proxy('no_proxy') + parsed = urlparse(url) + + if parsed.hostname is None: + # URLs don't always have hostnames, e.g. file:/// urls. + return True + + if no_proxy: + # We need to check whether we match here. We need to see if we match + # the end of the hostname, both with and without the port. + no_proxy = ( + host for host in no_proxy.replace(' ', '').split(',') if host + ) + + if is_ipv4_address(parsed.hostname): + for proxy_ip in no_proxy: + if is_valid_cidr(proxy_ip): + if address_in_network(parsed.hostname, proxy_ip): + return True + elif parsed.hostname == 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: + host_with_port = parsed.hostname + if parsed.port: + host_with_port += ':{}'.format(parsed.port) + + for host in no_proxy: + if parsed.hostname.endswith(host) or host_with_port.endswith(host): + # The URL does match something in no_proxy, so we don't want + # to apply the proxies on this URL. + return True + + with set_environ('no_proxy', no_proxy_arg): + # parsed.hostname can be `None` in cases such as a file URI. + try: + bypass = proxy_bypass(parsed.hostname) + except (TypeError, socket.gaierror): + bypass = False + + if bypass: + return True + + return False + + +def get_environ_proxies(url, no_proxy=None): + """ + Return a dict of environment proxies. + + :rtype: dict + """ + if should_bypass_proxies(url, no_proxy=no_proxy): + 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(urlparts.scheme, proxies.get('all')) + + proxy_keys = [ + urlparts.scheme + '://' + urlparts.hostname, + urlparts.scheme, + 'all://' + urlparts.hostname, + 'all', + ] + 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 list of parsed link headers proxies. + + i.e. Link: <http:/.../front.jpeg>; rel=front; type="image/jpeg",<http://.../back.jpeg>; rel=back;type="image/jpeg" + + :rtype: list + """ + + links = [] + + replace_chars = ' \'"' + + value = value.strip(replace_chars) + if not value: + return links + + 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.BOM_UTF32_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 + + +# 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("Value for header {%s: %s} must be of type str or " + "bytes, not %s" % (name, 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, '')) + + +def rewind_body(prepared_request): + """Move file pointer back to its recorded starting position + so it can be read again on redirect. + """ + body_seek = getattr(prepared_request.body, 'seek', None) + if body_seek is not None and isinstance(prepared_request._body_position, integer_types): + try: + body_seek(prepared_request._body_position) + except (IOError, OSError): + raise UnrewindableBodyError("An error occurred when rewinding request " + "body for redirect.") + else: + raise UnrewindableBodyError("Unable to rewind request body for redirect.") diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/retrying.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/retrying.py new file mode 100644 index 0000000..6d1e627 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/retrying.py @@ -0,0 +1,267 @@ +## 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/six.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/six.py new file mode 100644 index 0000000..89b2188 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/six.py @@ -0,0 +1,952 @@ +# Copyright (c) 2010-2018 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. + +"""Utilities for writing code that runs on Python 2 and 3""" + +from __future__ import absolute_import + +import functools +import itertools +import operator +import sys +import types + +__author__ = "Benjamin Peterson <benjamin@python.org>" +__version__ = "1.12.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("getoutput", "commands", "subprocess"), + 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_base", "email.MIMEBase", "email.mime.base"), + MovedModule("email_mime_image", "email.MIMEImage", "email.mime.image"), + 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("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("unquote_to_bytes", "urllib", "urllib.parse", "unquote", "unquote_to_bytes"), + MovedAttribute("urlencode", "urllib", "urllib.parse"), + MovedAttribute("splitquery", "urllib", "urllib.parse"), + MovedAttribute("splittag", "urllib", "urllib.parse"), + MovedAttribute("splituser", "urllib", "urllib.parse"), + MovedAttribute("splitvalue", "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"), + MovedAttribute("parse_http_list", "urllib2", "urllib.request"), + MovedAttribute("parse_keqv_list", "urllib2", "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): + try: + if value is None: + value = tp() + if value.__traceback__ is not tb: + raise value.with_traceback(tb) + raise value + finally: + value = None + tb = None + +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): + try: + raise tp, value, tb + finally: + tb = None +""") + + +if sys.version_info[:2] == (3, 2): + exec_("""def raise_from(value, from_value): + try: + if from_value is None: + raise value + raise value from from_value + finally: + value = None +""") +elif sys.version_info[:2] > (3, 2): + exec_("""def raise_from(value, from_value): + try: + raise value from from_value + finally: + value = None +""") +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(type): + + def __new__(cls, name, this_bases, d): + return meta(name, bases, d) + + @classmethod + def __prepare__(cls, name, this_bases): + return meta.__prepare__(name, bases) + 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) + if hasattr(cls, '__qualname__'): + orig_vars['__qualname__'] = cls.__qualname__ + return metaclass(cls.__name__, cls.__bases__, orig_vars) + return wrapper + + +def ensure_binary(s, encoding='utf-8', errors='strict'): + """Coerce **s** to six.binary_type. + + For Python 2: + - `unicode` -> encoded to `str` + - `str` -> `str` + + For Python 3: + - `str` -> encoded to `bytes` + - `bytes` -> `bytes` + """ + if isinstance(s, text_type): + return s.encode(encoding, errors) + elif isinstance(s, binary_type): + return s + else: + raise TypeError("not expecting type '%s'" % type(s)) + + +def ensure_str(s, encoding='utf-8', errors='strict'): + """Coerce *s* to `str`. + + For Python 2: + - `unicode` -> encoded to `str` + - `str` -> `str` + + For Python 3: + - `str` -> `str` + - `bytes` -> decoded to `str` + """ + if not isinstance(s, (text_type, binary_type)): + raise TypeError("not expecting type '%s'" % type(s)) + if PY2 and isinstance(s, text_type): + s = s.encode(encoding, errors) + elif PY3 and isinstance(s, binary_type): + s = s.decode(encoding, errors) + return s + + +def ensure_text(s, encoding='utf-8', errors='strict'): + """Coerce *s* to six.text_type. + + For Python 2: + - `unicode` -> `unicode` + - `str` -> `unicode` + + For Python 3: + - `str` -> `str` + - `bytes` -> decoded to `str` + """ + if isinstance(s, binary_type): + return s.decode(encoding, errors) + elif isinstance(s, text_type): + return s + else: + raise TypeError("not expecting type '%s'" % type(s)) + + + +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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__init__.py new file mode 100644 index 0000000..148a9c3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/__init__.py @@ -0,0 +1,92 @@ +""" +urllib3 - Thread-safe connection pooling and re-using. +""" + +from __future__ import absolute_import +import warnings + +from .connectionpool import ( + HTTPConnectionPool, + HTTPSConnectionPool, + connection_from_url +) + +from . import exceptions +from .filepost import encode_multipart_formdata +from .poolmanager import PoolManager, ProxyManager, proxy_from_url +from .response import HTTPResponse +from .util.request import make_headers +from .util.url import get_host +from .util.timeout import Timeout +from .util.retry import Retry + + +# Set default logging handler to avoid "No handler found" warnings. +import logging +from logging import NullHandler + +__author__ = 'Andrey Petrov (andrey.petrov@shazow.net)' +__license__ = 'MIT' +__version__ = '1.24.1' + +__all__ = ( + 'HTTPConnectionPool', + 'HTTPSConnectionPool', + 'PoolManager', + 'ProxyManager', + 'HTTPResponse', + 'Retry', + 'Timeout', + 'add_stderr_logger', + 'connection_from_url', + 'disable_warnings', + 'encode_multipart_formdata', + 'get_host', + 'make_headers', + 'proxy_from_url', +) + +logging.getLogger(__name__).addHandler(NullHandler()) + + +def add_stderr_logger(level=logging.DEBUG): + """ + Helper for quickly adding a StreamHandler to the logger. Useful for + debugging. + + Returns the handler after adding it. + """ + # This method needs to be in this __init__.py to get the __name__ correct + # even if urllib3 is vendored within another package. + logger = logging.getLogger(__name__) + handler = logging.StreamHandler() + handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s %(message)s')) + logger.addHandler(handler) + logger.setLevel(level) + logger.debug('Added a stderr logging handler to logger: %s', __name__) + return handler + + +# ... Clean up. +del NullHandler + + +# All warning filters *must* be appended unless you're really certain that they +# shouldn't be: otherwise, it's very hard for users to use most Python +# mechanisms to silence them. +# SecurityWarning's always go off by default. +warnings.simplefilter('always', exceptions.SecurityWarning, append=True) +# SubjectAltNameWarning's should go off once per host +warnings.simplefilter('default', exceptions.SubjectAltNameWarning, append=True) +# InsecurePlatformWarning's don't vary between requests, so we keep it default. +warnings.simplefilter('default', exceptions.InsecurePlatformWarning, + append=True) +# SNIMissingWarnings should go off only once. +warnings.simplefilter('default', exceptions.SNIMissingWarning, append=True) + + +def disable_warnings(category=exceptions.HTTPWarning): + """ + Helper for quickly disabling all urllib3 warnings. + """ + warnings.simplefilter('ignore', category) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/_collections.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/_collections.py new file mode 100644 index 0000000..34f2381 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/_collections.py @@ -0,0 +1,329 @@ +from __future__ import absolute_import +try: + from collections.abc import Mapping, MutableMapping +except ImportError: + from collections import Mapping, MutableMapping +try: + from threading import RLock +except ImportError: # Platform-specific: No threads available + class RLock: + def __enter__(self): + pass + + def __exit__(self, exc_type, exc_value, traceback): + pass + + +from collections import OrderedDict +from .exceptions import InvalidHeader +from .packages.six import iterkeys, itervalues, PY3 + + +__all__ = ['RecentlyUsedContainer', 'HTTPHeaderDict'] + + +_Null = object() + + +class RecentlyUsedContainer(MutableMapping): + """ + Provides a thread-safe dict-like container which maintains up to + ``maxsize`` keys while throwing away the least-recently-used keys beyond + ``maxsize``. + + :param maxsize: + Maximum number of recent elements to retain. + + :param dispose_func: + Every time an item is evicted from the container, + ``dispose_func(value)`` is called. Callback which will get called + """ + + ContainerCls = OrderedDict + + def __init__(self, maxsize=10, dispose_func=None): + self._maxsize = maxsize + self.dispose_func = dispose_func + + self._container = self.ContainerCls() + self.lock = RLock() + + def __getitem__(self, key): + # Re-insert the item, moving it to the end of the eviction line. + with self.lock: + item = self._container.pop(key) + self._container[key] = item + return item + + def __setitem__(self, key, value): + evicted_value = _Null + with self.lock: + # Possibly evict the existing value of 'key' + evicted_value = self._container.get(key, _Null) + self._container[key] = value + + # If we didn't evict an existing value, we might have to evict the + # least recently used item from the beginning of the container. + if len(self._container) > self._maxsize: + _key, evicted_value = self._container.popitem(last=False) + + if self.dispose_func and evicted_value is not _Null: + self.dispose_func(evicted_value) + + def __delitem__(self, key): + with self.lock: + value = self._container.pop(key) + + if self.dispose_func: + self.dispose_func(value) + + def __len__(self): + with self.lock: + return len(self._container) + + def __iter__(self): + raise NotImplementedError('Iteration over this class is unlikely to be threadsafe.') + + def clear(self): + with self.lock: + # Copy pointers to all values, then wipe the mapping + values = list(itervalues(self._container)) + self._container.clear() + + if self.dispose_func: + for value in values: + self.dispose_func(value) + + def keys(self): + with self.lock: + return list(iterkeys(self._container)) + + +class HTTPHeaderDict(MutableMapping): + """ + :param headers: + An iterable of field-value pairs. Must not contain multiple field names + when compared case-insensitively. + + :param kwargs: + Additional field-value pairs to pass in to ``dict.update``. + + A ``dict`` like container for storing HTTP Headers. + + Field names are stored and compared case-insensitively in compliance with + RFC 7230. Iteration provides the first case-sensitive key seen for each + case-insensitive pair. + + Using ``__setitem__`` syntax overwrites fields that compare equal + case-insensitively in order to maintain ``dict``'s api. For fields that + compare equal, instead create a new ``HTTPHeaderDict`` and use ``.add`` + in a loop. + + If multiple fields that are equal case-insensitively are passed to the + constructor or ``.update``, the behavior is undefined and some will be + lost. + + >>> headers = HTTPHeaderDict() + >>> headers.add('Set-Cookie', 'foo=bar') + >>> headers.add('set-cookie', 'baz=quxx') + >>> headers['content-length'] = '7' + >>> headers['SET-cookie'] + 'foo=bar, baz=quxx' + >>> headers['Content-Length'] + '7' + """ + + def __init__(self, headers=None, **kwargs): + super(HTTPHeaderDict, self).__init__() + self._container = OrderedDict() + if headers is not None: + if isinstance(headers, HTTPHeaderDict): + self._copy_from(headers) + else: + self.extend(headers) + if kwargs: + self.extend(kwargs) + + def __setitem__(self, key, val): + self._container[key.lower()] = [key, val] + return self._container[key.lower()] + + def __getitem__(self, key): + val = self._container[key.lower()] + return ', '.join(val[1:]) + + def __delitem__(self, key): + del self._container[key.lower()] + + def __contains__(self, key): + return key.lower() in self._container + + def __eq__(self, other): + if not isinstance(other, Mapping) and not hasattr(other, 'keys'): + return False + if not isinstance(other, type(self)): + other = type(self)(other) + return (dict((k.lower(), v) for k, v in self.itermerged()) == + dict((k.lower(), v) for k, v in other.itermerged())) + + def __ne__(self, other): + return not self.__eq__(other) + + if not PY3: # Python 2 + iterkeys = MutableMapping.iterkeys + itervalues = MutableMapping.itervalues + + __marker = object() + + def __len__(self): + return len(self._container) + + def __iter__(self): + # Only provide the originally cased names + for vals in self._container.values(): + yield vals[0] + + def pop(self, key, default=__marker): + '''D.pop(k[,d]) -> v, remove specified key and return the corresponding value. + If key is not found, d is returned if given, otherwise KeyError is raised. + ''' + # Using the MutableMapping function directly fails due to the private marker. + # Using ordinary dict.pop would expose the internal structures. + # So let's reinvent the wheel. + try: + value = self[key] + except KeyError: + if default is self.__marker: + raise + return default + else: + del self[key] + return value + + def discard(self, key): + try: + del self[key] + except KeyError: + pass + + def add(self, key, val): + """Adds a (name, value) pair, doesn't overwrite the value if it already + exists. + + >>> headers = HTTPHeaderDict(foo='bar') + >>> headers.add('Foo', 'baz') + >>> headers['foo'] + 'bar, baz' + """ + key_lower = key.lower() + new_vals = [key, val] + # Keep the common case aka no item present as fast as possible + vals = self._container.setdefault(key_lower, new_vals) + if new_vals is not vals: + vals.append(val) + + def extend(self, *args, **kwargs): + """Generic import function for any type of header-like object. + Adapted version of MutableMapping.update in order to insert items + with self.add instead of self.__setitem__ + """ + if len(args) > 1: + raise TypeError("extend() takes at most 1 positional " + "arguments ({0} given)".format(len(args))) + other = args[0] if len(args) >= 1 else () + + if isinstance(other, HTTPHeaderDict): + for key, val in other.iteritems(): + self.add(key, val) + elif isinstance(other, Mapping): + for key in other: + self.add(key, other[key]) + elif hasattr(other, "keys"): + for key in other.keys(): + self.add(key, other[key]) + else: + for key, value in other: + self.add(key, value) + + for key, value in kwargs.items(): + self.add(key, value) + + def getlist(self, key, default=__marker): + """Returns a list of all the values for the named field. Returns an + empty list if the key doesn't exist.""" + try: + vals = self._container[key.lower()] + except KeyError: + if default is self.__marker: + return [] + return default + else: + return vals[1:] + + # Backwards compatibility for httplib + getheaders = getlist + getallmatchingheaders = getlist + iget = getlist + + # Backwards compatibility for http.cookiejar + get_all = getlist + + def __repr__(self): + return "%s(%s)" % (type(self).__name__, dict(self.itermerged())) + + def _copy_from(self, other): + for key in other: + val = other.getlist(key) + if isinstance(val, list): + # Don't need to convert tuples + val = list(val) + self._container[key.lower()] = [key] + val + + def copy(self): + clone = type(self)() + clone._copy_from(self) + return clone + + def iteritems(self): + """Iterate over all header lines, including duplicate ones.""" + for key in self: + vals = self._container[key.lower()] + for val in vals[1:]: + yield vals[0], val + + def itermerged(self): + """Iterate over all headers, merging duplicate ones together.""" + for key in self: + val = self._container[key.lower()] + yield val[0], ', '.join(val[1:]) + + def items(self): + return list(self.iteritems()) + + @classmethod + def from_httplib(cls, message): # Python 2 + """Read headers from a Python 2 httplib message object.""" + # python2.7 does not expose a proper API for exporting multiheaders + # efficiently. This function re-reads raw lines from the message + # object and extracts the multiheaders properly. + obs_fold_continued_leaders = (' ', '\t') + headers = [] + + for line in message.headers: + if line.startswith(obs_fold_continued_leaders): + if not headers: + # We received a header line that starts with OWS as described + # in RFC-7230 S3.2.4. This indicates a multiline header, but + # there exists no previous header to which we can attach it. + raise InvalidHeader( + 'Header continuation with no previous header: %s' % line + ) + else: + key, value = headers[-1] + headers[-1] = (key, value + ' ' + line.strip()) + continue + + key, value = line.split(':', 1) + headers.append((key, value.strip())) + + return cls(headers) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connection.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connection.py new file mode 100644 index 0000000..02b3665 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connection.py @@ -0,0 +1,391 @@ +from __future__ import absolute_import +import datetime +import logging +import os +import socket +from socket import error as SocketError, timeout as SocketTimeout +import warnings +from .packages import six +from .packages.six.moves.http_client import HTTPConnection as _HTTPConnection +from .packages.six.moves.http_client import HTTPException # noqa: F401 + +try: # Compiled with SSL? + import ssl + BaseSSLError = ssl.SSLError +except (ImportError, AttributeError): # Platform-specific: No SSL. + ssl = None + + class BaseSSLError(BaseException): + pass + + +try: # Python 3: + # Not a no-op, we're adding this to the namespace so it can be imported. + ConnectionError = ConnectionError +except NameError: # Python 2: + class ConnectionError(Exception): + pass + + +from .exceptions import ( + NewConnectionError, + ConnectTimeoutError, + SubjectAltNameWarning, + SystemTimeWarning, +) +from .packages.ssl_match_hostname import match_hostname, CertificateError + +from .util.ssl_ import ( + resolve_cert_reqs, + resolve_ssl_version, + assert_fingerprint, + create_urllib3_context, + ssl_wrap_socket +) + + +from .util import connection + +from ._collections import HTTPHeaderDict + +log = logging.getLogger(__name__) + +port_by_scheme = { + 'http': 80, + 'https': 443, +} + +# When updating RECENT_DATE, move it to within two years of the current date, +# and not less than 6 months ago. +# Example: if Today is 2018-01-01, then RECENT_DATE should be any date on or +# after 2016-01-01 (today - 2 years) AND before 2017-07-01 (today - 6 months) +RECENT_DATE = datetime.date(2017, 6, 30) + + +class DummyConnection(object): + """Used to detect a failed ConnectionCls import.""" + pass + + +class HTTPConnection(_HTTPConnection, object): + """ + Based on httplib.HTTPConnection but provides an extra constructor + backwards-compatibility layer between older and newer Pythons. + + Additional keyword parameters are used to configure attributes of the connection. + Accepted parameters include: + + - ``strict``: See the documentation on :class:`urllib3.connectionpool.HTTPConnectionPool` + - ``source_address``: Set the source address for the current connection. + - ``socket_options``: Set specific options on the underlying socket. If not specified, then + defaults are loaded from ``HTTPConnection.default_socket_options`` which includes disabling + Nagle's algorithm (sets TCP_NODELAY to 1) unless the connection is behind a proxy. + + For example, if you wish to enable TCP Keep Alive in addition to the defaults, + you might pass:: + + HTTPConnection.default_socket_options + [ + (socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1), + ] + + Or you may want to disable the defaults by passing an empty list (e.g., ``[]``). + """ + + default_port = port_by_scheme['http'] + + #: Disable Nagle's algorithm by default. + #: ``[(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)]`` + default_socket_options = [(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)] + + #: Whether this connection verifies the host's certificate. + is_verified = False + + def __init__(self, *args, **kw): + if six.PY3: # Python 3 + kw.pop('strict', None) + + # Pre-set source_address. + self.source_address = kw.get('source_address') + + #: The socket options provided by the user. If no options are + #: provided, we use the default options. + self.socket_options = kw.pop('socket_options', self.default_socket_options) + + _HTTPConnection.__init__(self, *args, **kw) + + @property + def host(self): + """ + Getter method to remove any trailing dots that indicate the hostname is an FQDN. + + In general, SSL certificates don't include the trailing dot indicating a + fully-qualified domain name, and thus, they don't validate properly when + checked against a domain name that includes the dot. In addition, some + servers may not expect to receive the trailing dot when provided. + + However, the hostname with trailing dot is critical to DNS resolution; doing a + lookup with the trailing dot will properly only resolve the appropriate FQDN, + whereas a lookup without a trailing dot will search the system's search domain + list. Thus, it's important to keep the original host around for use only in + those cases where it's appropriate (i.e., when doing DNS lookup to establish the + actual TCP connection across which we're going to send HTTP requests). + """ + return self._dns_host.rstrip('.') + + @host.setter + def host(self, value): + """ + Setter for the `host` property. + + We assume that only urllib3 uses the _dns_host attribute; httplib itself + only uses `host`, and it seems reasonable that other libraries follow suit. + """ + self._dns_host = value + + def _new_conn(self): + """ Establish a socket connection and set nodelay settings on it. + + :return: New socket connection. + """ + extra_kw = {} + if self.source_address: + extra_kw['source_address'] = self.source_address + + if self.socket_options: + extra_kw['socket_options'] = self.socket_options + + try: + conn = connection.create_connection( + (self._dns_host, self.port), self.timeout, **extra_kw) + + except SocketTimeout as e: + raise ConnectTimeoutError( + self, "Connection to %s timed out. (connect timeout=%s)" % + (self.host, self.timeout)) + + except SocketError as e: + raise NewConnectionError( + self, "Failed to establish a new connection: %s" % e) + + return conn + + def _prepare_conn(self, conn): + self.sock = conn + if self._tunnel_host: + # TODO: Fix tunnel so it doesn't depend on self.sock state. + self._tunnel() + # Mark this connection as not reusable + self.auto_open = 0 + + def connect(self): + conn = self._new_conn() + self._prepare_conn(conn) + + def request_chunked(self, method, url, body=None, headers=None): + """ + Alternative to the common request method, which sends the + body with chunked encoding and not as one block + """ + headers = HTTPHeaderDict(headers if headers is not None else {}) + skip_accept_encoding = 'accept-encoding' in headers + skip_host = 'host' in headers + self.putrequest( + method, + url, + skip_accept_encoding=skip_accept_encoding, + skip_host=skip_host + ) + for header, value in headers.items(): + self.putheader(header, value) + if 'transfer-encoding' not in headers: + self.putheader('Transfer-Encoding', 'chunked') + self.endheaders() + + if body is not None: + stringish_types = six.string_types + (bytes,) + if isinstance(body, stringish_types): + body = (body,) + for chunk in body: + if not chunk: + continue + if not isinstance(chunk, bytes): + chunk = chunk.encode('utf8') + len_str = hex(len(chunk))[2:] + self.send(len_str.encode('utf-8')) + self.send(b'\r\n') + self.send(chunk) + self.send(b'\r\n') + + # After the if clause, to always have a closed body + self.send(b'0\r\n\r\n') + + +class HTTPSConnection(HTTPConnection): + default_port = port_by_scheme['https'] + + ssl_version = None + + def __init__(self, host, port=None, key_file=None, cert_file=None, + strict=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, + ssl_context=None, server_hostname=None, **kw): + + HTTPConnection.__init__(self, host, port, strict=strict, + timeout=timeout, **kw) + + self.key_file = key_file + self.cert_file = cert_file + self.ssl_context = ssl_context + self.server_hostname = server_hostname + + # Required property for Google AppEngine 1.9.0 which otherwise causes + # HTTPS requests to go out as HTTP. (See Issue #356) + self._protocol = 'https' + + def connect(self): + conn = self._new_conn() + self._prepare_conn(conn) + + if self.ssl_context is None: + self.ssl_context = create_urllib3_context( + ssl_version=resolve_ssl_version(None), + cert_reqs=resolve_cert_reqs(None), + ) + + self.sock = ssl_wrap_socket( + sock=conn, + keyfile=self.key_file, + certfile=self.cert_file, + ssl_context=self.ssl_context, + server_hostname=self.server_hostname + ) + + +class VerifiedHTTPSConnection(HTTPSConnection): + """ + Based on httplib.HTTPSConnection but wraps the socket with + SSL certification. + """ + cert_reqs = None + ca_certs = None + ca_cert_dir = None + ssl_version = None + assert_fingerprint = None + + def set_cert(self, key_file=None, cert_file=None, + cert_reqs=None, ca_certs=None, + assert_hostname=None, assert_fingerprint=None, + ca_cert_dir=None): + """ + This method should only be called once, before the connection is used. + """ + # If cert_reqs is not provided, we can try to guess. If the user gave + # us a cert database, we assume they want to use it: otherwise, if + # they gave us an SSL Context object we should use whatever is set for + # it. + if cert_reqs is None: + if ca_certs or ca_cert_dir: + cert_reqs = 'CERT_REQUIRED' + elif self.ssl_context is not None: + cert_reqs = self.ssl_context.verify_mode + + self.key_file = key_file + self.cert_file = cert_file + self.cert_reqs = cert_reqs + self.assert_hostname = assert_hostname + self.assert_fingerprint = assert_fingerprint + self.ca_certs = ca_certs and os.path.expanduser(ca_certs) + self.ca_cert_dir = ca_cert_dir and os.path.expanduser(ca_cert_dir) + + def connect(self): + # Add certificate verification + conn = self._new_conn() + hostname = self.host + + if self._tunnel_host: + self.sock = conn + # Calls self._set_hostport(), so self.host is + # self._tunnel_host below. + self._tunnel() + # Mark this connection as not reusable + self.auto_open = 0 + + # Override the host with the one we're requesting data from. + hostname = self._tunnel_host + + server_hostname = hostname + if self.server_hostname is not None: + server_hostname = self.server_hostname + + is_time_off = datetime.date.today() < RECENT_DATE + if is_time_off: + warnings.warn(( + 'System time is way off (before {0}). This will probably ' + 'lead to SSL verification errors').format(RECENT_DATE), + SystemTimeWarning + ) + + # Wrap socket using verification with the root certs in + # trusted_root_certs + if self.ssl_context is None: + self.ssl_context = create_urllib3_context( + ssl_version=resolve_ssl_version(self.ssl_version), + cert_reqs=resolve_cert_reqs(self.cert_reqs), + ) + + context = self.ssl_context + context.verify_mode = resolve_cert_reqs(self.cert_reqs) + self.sock = ssl_wrap_socket( + sock=conn, + keyfile=self.key_file, + certfile=self.cert_file, + ca_certs=self.ca_certs, + ca_cert_dir=self.ca_cert_dir, + server_hostname=server_hostname, + ssl_context=context) + + if self.assert_fingerprint: + assert_fingerprint(self.sock.getpeercert(binary_form=True), + self.assert_fingerprint) + elif context.verify_mode != ssl.CERT_NONE \ + and not getattr(context, 'check_hostname', False) \ + and self.assert_hostname is not False: + # While urllib3 attempts to always turn off hostname matching from + # the TLS library, this cannot always be done. So we check whether + # the TLS Library still thinks it's matching hostnames. + cert = self.sock.getpeercert() + if not cert.get('subjectAltName', ()): + warnings.warn(( + 'Certificate for {0} has no `subjectAltName`, falling back to check for a ' + '`commonName` for now. This feature is being removed by major browsers and ' + 'deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 ' + 'for details.)'.format(hostname)), + SubjectAltNameWarning + ) + _match_hostname(cert, self.assert_hostname or server_hostname) + + self.is_verified = ( + context.verify_mode == ssl.CERT_REQUIRED or + self.assert_fingerprint is not None + ) + + +def _match_hostname(cert, asserted_hostname): + try: + match_hostname(cert, asserted_hostname) + except CertificateError as e: + log.error( + 'Certificate did not match expected hostname: %s. ' + 'Certificate: %s', asserted_hostname, cert + ) + # Add cert to exception and reraise so client code can inspect + # the cert when catching the exception, if they want to + e._peer_cert = cert + raise + + +if ssl: + # Make a copy for testing. + UnverifiedHTTPSConnection = HTTPSConnection + HTTPSConnection = VerifiedHTTPSConnection +else: + HTTPSConnection = DummyConnection diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connectionpool.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connectionpool.py new file mode 100644 index 0000000..f7a8f19 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/connectionpool.py @@ -0,0 +1,896 @@ +from __future__ import absolute_import +import errno +import logging +import sys +import warnings + +from socket import error as SocketError, timeout as SocketTimeout +import socket + + +from .exceptions import ( + ClosedPoolError, + ProtocolError, + EmptyPoolError, + HeaderParsingError, + HostChangedError, + LocationValueError, + MaxRetryError, + ProxyError, + ReadTimeoutError, + SSLError, + TimeoutError, + InsecureRequestWarning, + NewConnectionError, +) +from .packages.ssl_match_hostname import CertificateError +from .packages import six +from .packages.six.moves import queue +from .connection import ( + port_by_scheme, + DummyConnection, + HTTPConnection, HTTPSConnection, VerifiedHTTPSConnection, + HTTPException, BaseSSLError, +) +from .request import RequestMethods +from .response import HTTPResponse + +from .util.connection import is_connection_dropped +from .util.request import set_file_position +from .util.response import assert_header_parsing +from .util.retry import Retry +from .util.timeout import Timeout +from .util.url import get_host, Url, NORMALIZABLE_SCHEMES +from .util.queue import LifoQueue + + +xrange = six.moves.xrange + +log = logging.getLogger(__name__) + +_Default = object() + + +# Pool objects +class ConnectionPool(object): + """ + Base class for all connection pools, such as + :class:`.HTTPConnectionPool` and :class:`.HTTPSConnectionPool`. + """ + + scheme = None + QueueCls = LifoQueue + + def __init__(self, host, port=None): + if not host: + raise LocationValueError("No host specified.") + + self.host = _ipv6_host(host, self.scheme) + self._proxy_host = host.lower() + self.port = port + + def __str__(self): + return '%s(host=%r, port=%r)' % (type(self).__name__, + self.host, self.port) + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.close() + # Return False to re-raise any potential exceptions + return False + + def close(self): + """ + Close all pooled connections and disable the pool. + """ + pass + + +# This is taken from http://hg.python.org/cpython/file/7aaba721ebc0/Lib/socket.py#l252 +_blocking_errnos = {errno.EAGAIN, errno.EWOULDBLOCK} + + +class HTTPConnectionPool(ConnectionPool, RequestMethods): + """ + Thread-safe connection pool for one host. + + :param host: + Host used for this HTTP Connection (e.g. "localhost"), passed into + :class:`httplib.HTTPConnection`. + + :param port: + Port used for this HTTP Connection (None is equivalent to 80), passed + into :class:`httplib.HTTPConnection`. + + :param strict: + Causes BadStatusLine to be raised if the status line can't be parsed + as a valid HTTP/1.0 or 1.1 status line, passed into + :class:`httplib.HTTPConnection`. + + .. note:: + Only works in Python 2. This parameter is ignored in Python 3. + + :param timeout: + Socket timeout in seconds for each individual connection. This can + be a float or integer, which sets the timeout for the HTTP request, + or an instance of :class:`urllib3.util.Timeout` which gives you more + fine-grained control over request timeouts. After the constructor has + been parsed, this is always a `urllib3.util.Timeout` object. + + :param maxsize: + Number of connections to save that can be reused. More than 1 is useful + in multithreaded situations. If ``block`` is set to False, more + connections will be created but they will not be saved once they've + been used. + + :param block: + If set to True, no more than ``maxsize`` connections will be used at + a time. When no free connections are available, the call will block + until a connection has been released. This is a useful side effect for + particular multithreaded situations where one does not want to use more + than maxsize connections per host to prevent flooding. + + :param headers: + Headers to include with all requests, unless other headers are given + explicitly. + + :param retries: + Retry configuration to use by default with requests in this pool. + + :param _proxy: + Parsed proxy URL, should not be used directly, instead, see + :class:`urllib3.connectionpool.ProxyManager`" + + :param _proxy_headers: + A dictionary with proxy headers, should not be used directly, + instead, see :class:`urllib3.connectionpool.ProxyManager`" + + :param \\**conn_kw: + Additional parameters are used to create fresh :class:`urllib3.connection.HTTPConnection`, + :class:`urllib3.connection.HTTPSConnection` instances. + """ + + scheme = 'http' + ConnectionCls = HTTPConnection + ResponseCls = HTTPResponse + + def __init__(self, host, port=None, strict=False, + timeout=Timeout.DEFAULT_TIMEOUT, maxsize=1, block=False, + headers=None, retries=None, + _proxy=None, _proxy_headers=None, + **conn_kw): + ConnectionPool.__init__(self, host, port) + RequestMethods.__init__(self, headers) + + self.strict = strict + + if not isinstance(timeout, Timeout): + timeout = Timeout.from_float(timeout) + + if retries is None: + retries = Retry.DEFAULT + + self.timeout = timeout + self.retries = retries + + self.pool = self.QueueCls(maxsize) + self.block = block + + self.proxy = _proxy + self.proxy_headers = _proxy_headers or {} + + # Fill the queue up so that doing get() on it will block properly + for _ in xrange(maxsize): + self.pool.put(None) + + # These are mostly for testing and debugging purposes. + self.num_connections = 0 + self.num_requests = 0 + self.conn_kw = conn_kw + + if self.proxy: + # Enable Nagle's algorithm for proxies, to avoid packet fragmentation. + # We cannot know if the user has added default socket options, so we cannot replace the + # list. + self.conn_kw.setdefault('socket_options', []) + + def _new_conn(self): + """ + Return a fresh :class:`HTTPConnection`. + """ + self.num_connections += 1 + log.debug("Starting new HTTP connection (%d): %s:%s", + self.num_connections, self.host, self.port or "80") + + conn = self.ConnectionCls(host=self.host, port=self.port, + timeout=self.timeout.connect_timeout, + strict=self.strict, **self.conn_kw) + return conn + + def _get_conn(self, timeout=None): + """ + Get a connection. Will return a pooled connection if one is available. + + If no connections are available and :prop:`.block` is ``False``, then a + fresh connection is returned. + + :param timeout: + Seconds to wait before giving up and raising + :class:`urllib3.exceptions.EmptyPoolError` if the pool is empty and + :prop:`.block` is ``True``. + """ + conn = None + try: + conn = self.pool.get(block=self.block, timeout=timeout) + + except AttributeError: # self.pool is None + raise ClosedPoolError(self, "Pool is closed.") + + except queue.Empty: + if self.block: + raise EmptyPoolError(self, + "Pool reached maximum size and no more " + "connections are allowed.") + pass # Oh well, we'll create a new connection then + + # If this is a persistent connection, check if it got disconnected + if conn and is_connection_dropped(conn): + log.debug("Resetting dropped connection: %s", self.host) + conn.close() + if getattr(conn, 'auto_open', 1) == 0: + # This is a proxied connection that has been mutated by + # httplib._tunnel() and cannot be reused (since it would + # attempt to bypass the proxy) + conn = None + + return conn or self._new_conn() + + def _put_conn(self, conn): + """ + Put a connection back into the pool. + + :param conn: + Connection object for the current host and port as returned by + :meth:`._new_conn` or :meth:`._get_conn`. + + If the pool is already full, the connection is closed and discarded + because we exceeded maxsize. If connections are discarded frequently, + then maxsize should be increased. + + If the pool is closed, then the connection will be closed and discarded. + """ + try: + self.pool.put(conn, block=False) + return # Everything is dandy, done. + except AttributeError: + # self.pool is None. + pass + except queue.Full: + # This should never happen if self.block == True + log.warning( + "Connection pool is full, discarding connection: %s", + self.host) + + # Connection never got put back into the pool, close it. + if conn: + conn.close() + + def _validate_conn(self, conn): + """ + Called right before a request is made, after the socket is created. + """ + pass + + def _prepare_proxy(self, conn): + # Nothing to do for HTTP connections. + pass + + def _get_timeout(self, timeout): + """ Helper that always returns a :class:`urllib3.util.Timeout` """ + if timeout is _Default: + return self.timeout.clone() + + if isinstance(timeout, Timeout): + return timeout.clone() + else: + # User passed us an int/float. This is for backwards compatibility, + # can be removed later + return Timeout.from_float(timeout) + + def _raise_timeout(self, err, url, timeout_value): + """Is the error actually a timeout? Will raise a ReadTimeout or pass""" + + if isinstance(err, SocketTimeout): + raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) + + # See the above comment about EAGAIN in Python 3. In Python 2 we have + # to specifically catch it and throw the timeout error + if hasattr(err, 'errno') and err.errno in _blocking_errnos: + raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) + + # Catch possible read timeouts thrown as SSL errors. If not the + # case, rethrow the original. We need to do this because of: + # http://bugs.python.org/issue10272 + if 'timed out' in str(err) or 'did not complete (read)' in str(err): # Python < 2.7.4 + raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) + + def _make_request(self, conn, method, url, timeout=_Default, chunked=False, + **httplib_request_kw): + """ + Perform a request on a given urllib connection object taken from our + pool. + + :param conn: + a connection from one of our connection pools + + :param timeout: + Socket timeout in seconds for the request. This can be a + float or integer, which will set the same timeout value for + the socket connect and the socket read, or an instance of + :class:`urllib3.util.Timeout`, which gives you more fine-grained + control over your timeouts. + """ + self.num_requests += 1 + + timeout_obj = self._get_timeout(timeout) + timeout_obj.start_connect() + conn.timeout = timeout_obj.connect_timeout + + # Trigger any extra validation we need to do. + try: + self._validate_conn(conn) + except (SocketTimeout, BaseSSLError) as e: + # Py2 raises this as a BaseSSLError, Py3 raises it as socket timeout. + self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) + raise + + # conn.request() calls httplib.*.request, not the method in + # urllib3.request. It also calls makefile (recv) on the socket. + if chunked: + conn.request_chunked(method, url, **httplib_request_kw) + else: + conn.request(method, url, **httplib_request_kw) + + # Reset the timeout for the recv() on the socket + read_timeout = timeout_obj.read_timeout + + # App Engine doesn't have a sock attr + if getattr(conn, 'sock', None): + # In Python 3 socket.py will catch EAGAIN and return None when you + # try and read into the file pointer created by http.client, which + # instead raises a BadStatusLine exception. Instead of catching + # the exception and assuming all BadStatusLine exceptions are read + # timeouts, check for a zero timeout before making the request. + if read_timeout == 0: + raise ReadTimeoutError( + self, url, "Read timed out. (read timeout=%s)" % read_timeout) + if read_timeout is Timeout.DEFAULT_TIMEOUT: + conn.sock.settimeout(socket.getdefaulttimeout()) + else: # None or a value + conn.sock.settimeout(read_timeout) + + # Receive the response from the server + try: + try: # Python 2.7, use buffering of HTTP responses + httplib_response = conn.getresponse(buffering=True) + except TypeError: # Python 3 + try: + httplib_response = conn.getresponse() + except Exception as e: + # Remove the TypeError from the exception chain in Python 3; + # otherwise it looks like a programming error was the cause. + six.raise_from(e, None) + except (SocketTimeout, BaseSSLError, SocketError) as e: + self._raise_timeout(err=e, url=url, timeout_value=read_timeout) + raise + + # AppEngine doesn't have a version attr. + http_version = getattr(conn, '_http_vsn_str', 'HTTP/?') + log.debug("%s://%s:%s \"%s %s %s\" %s %s", self.scheme, self.host, self.port, + method, url, http_version, httplib_response.status, + httplib_response.length) + + try: + assert_header_parsing(httplib_response.msg) + except (HeaderParsingError, TypeError) as hpe: # Platform-specific: Python 3 + log.warning( + 'Failed to parse headers (url=%s): %s', + self._absolute_url(url), hpe, exc_info=True) + + return httplib_response + + def _absolute_url(self, path): + return Url(scheme=self.scheme, host=self.host, port=self.port, path=path).url + + def close(self): + """ + Close all pooled connections and disable the pool. + """ + if self.pool is None: + return + # Disable access to the pool + old_pool, self.pool = self.pool, None + + try: + while True: + conn = old_pool.get(block=False) + if conn: + conn.close() + + except queue.Empty: + pass # Done. + + def is_same_host(self, url): + """ + Check if the given ``url`` is a member of the same host as this + connection pool. + """ + if url.startswith('/'): + return True + + # TODO: Add optional support for socket.gethostbyname checking. + scheme, host, port = get_host(url) + + host = _ipv6_host(host, self.scheme) + + # Use explicit default port for comparison when none is given + if self.port and not port: + port = port_by_scheme.get(scheme) + elif not self.port and port == port_by_scheme.get(scheme): + port = None + + return (scheme, host, port) == (self.scheme, self.host, self.port) + + def urlopen(self, method, url, body=None, headers=None, retries=None, + redirect=True, assert_same_host=True, timeout=_Default, + pool_timeout=None, release_conn=None, chunked=False, + body_pos=None, **response_kw): + """ + Get a connection from the pool and perform an HTTP request. This is the + lowest level call for making a request, so you'll need to specify all + the raw details. + + .. note:: + + More commonly, it's appropriate to use a convenience method provided + by :class:`.RequestMethods`, such as :meth:`request`. + + .. note:: + + `release_conn` will only behave as expected if + `preload_content=False` because we want to make + `preload_content=False` the default behaviour someday soon without + breaking backwards compatibility. + + :param method: + HTTP request method (such as GET, POST, PUT, etc.) + + :param body: + Data to send in the request body (useful for creating + POST requests, see HTTPConnectionPool.post_url for + more convenience). + + :param headers: + Dictionary of custom headers to send, such as User-Agent, + If-None-Match, etc. If None, pool headers are used. If provided, + these headers completely replace any pool-specific headers. + + :param retries: + Configure the number of retries to allow before raising a + :class:`~urllib3.exceptions.MaxRetryError` exception. + + Pass ``None`` to retry until you receive a response. Pass a + :class:`~urllib3.util.retry.Retry` object for fine-grained control + over different types of retries. + Pass an integer number to retry connection errors that many times, + but no other types of errors. Pass zero to never retry. + + If ``False``, then retries are disabled and any exception is raised + immediately. Also, instead of raising a MaxRetryError on redirects, + the redirect response will be returned. + + :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. + + :param redirect: + If True, automatically handle redirects (status codes 301, 302, + 303, 307, 308). Each redirect counts as a retry. Disabling retries + will disable redirect, too. + + :param assert_same_host: + If ``True``, will make sure that the host of the pool requests is + consistent else will raise HostChangedError. When False, you can + use the pool on an HTTP proxy and request foreign hosts. + + :param timeout: + If specified, overrides the default timeout for this one + request. It may be a float (in seconds) or an instance of + :class:`urllib3.util.Timeout`. + + :param pool_timeout: + If set and the pool is set to block=True, then this method will + block for ``pool_timeout`` seconds and raise EmptyPoolError if no + connection is available within the time period. + + :param release_conn: + If False, then the urlopen call will not release the connection + back into the pool once a response is received (but will release if + you read the entire contents of the response such as when + `preload_content=True`). This is useful if you're not preloading + the response's content immediately. You will need to call + ``r.release_conn()`` on the response ``r`` to return the connection + back into the pool. If None, it takes the value of + ``response_kw.get('preload_content', True)``. + + :param chunked: + If True, urllib3 will send the body using chunked transfer + encoding. Otherwise, urllib3 will send the body using the standard + content-length form. Defaults to False. + + :param int body_pos: + Position to seek to in file-like body in the event of a retry or + redirect. Typically this won't need to be set because urllib3 will + auto-populate the value when needed. + + :param \\**response_kw: + Additional parameters are passed to + :meth:`urllib3.response.HTTPResponse.from_httplib` + """ + if headers is None: + headers = self.headers + + if not isinstance(retries, Retry): + retries = Retry.from_int(retries, redirect=redirect, default=self.retries) + + if release_conn is None: + release_conn = response_kw.get('preload_content', True) + + # Check host + if assert_same_host and not self.is_same_host(url): + raise HostChangedError(self, url, retries) + + conn = None + + # Track whether `conn` needs to be released before + # returning/raising/recursing. Update this variable if necessary, and + # leave `release_conn` constant throughout the function. That way, if + # the function recurses, the original value of `release_conn` will be + # passed down into the recursive call, and its value will be respected. + # + # See issue #651 [1] for details. + # + # [1] <https://github.com/shazow/urllib3/issues/651> + release_this_conn = release_conn + + # Merge the proxy headers. Only do this in HTTP. We have to copy the + # headers dict so we can safely change it without those changes being + # reflected in anyone else's copy. + if self.scheme == 'http': + headers = headers.copy() + headers.update(self.proxy_headers) + + # Must keep the exception bound to a separate variable or else Python 3 + # complains about UnboundLocalError. + err = None + + # Keep track of whether we cleanly exited the except block. This + # ensures we do proper cleanup in finally. + clean_exit = False + + # Rewind body position, if needed. Record current position + # for future rewinds in the event of a redirect/retry. + body_pos = set_file_position(body, body_pos) + + try: + # Request a connection from the queue. + timeout_obj = self._get_timeout(timeout) + conn = self._get_conn(timeout=pool_timeout) + + conn.timeout = timeout_obj.connect_timeout + + is_new_proxy_conn = self.proxy is not None and not getattr(conn, 'sock', None) + if is_new_proxy_conn: + self._prepare_proxy(conn) + + # Make the request on the httplib connection object. + httplib_response = self._make_request(conn, method, url, + timeout=timeout_obj, + body=body, headers=headers, + chunked=chunked) + + # If we're going to release the connection in ``finally:``, then + # the response doesn't need to know about the connection. Otherwise + # it will also try to release it and we'll have a double-release + # mess. + response_conn = conn if not release_conn else None + + # Pass method to Response for length checking + response_kw['request_method'] = method + + # Import httplib's response into our own wrapper object + response = self.ResponseCls.from_httplib(httplib_response, + pool=self, + connection=response_conn, + retries=retries, + **response_kw) + + # Everything went great! + clean_exit = True + + except queue.Empty: + # Timed out by queue. + raise EmptyPoolError(self, "No pool connections are available.") + + except (TimeoutError, HTTPException, SocketError, ProtocolError, + BaseSSLError, SSLError, CertificateError) as e: + # Discard the connection for these exceptions. It will be + # replaced during the next _get_conn() call. + clean_exit = False + if isinstance(e, (BaseSSLError, CertificateError)): + e = SSLError(e) + elif isinstance(e, (SocketError, NewConnectionError)) and self.proxy: + e = ProxyError('Cannot connect to proxy.', e) + elif isinstance(e, (SocketError, HTTPException)): + e = ProtocolError('Connection aborted.', e) + + retries = retries.increment(method, url, error=e, _pool=self, + _stacktrace=sys.exc_info()[2]) + retries.sleep() + + # Keep track of the error for the retry warning. + err = e + + finally: + if not clean_exit: + # We hit some kind of exception, handled or otherwise. We need + # to throw the connection away unless explicitly told not to. + # Close the connection, set the variable to None, and make sure + # we put the None back in the pool to avoid leaking it. + conn = conn and conn.close() + release_this_conn = True + + if release_this_conn: + # Put the connection back to be reused. If the connection is + # expired then it will be None, which will get replaced with a + # fresh connection during _get_conn. + self._put_conn(conn) + + if not conn: + # Try again + log.warning("Retrying (%r) after connection " + "broken by '%r': %s", retries, err, url) + return self.urlopen(method, url, body, headers, retries, + redirect, assert_same_host, + timeout=timeout, pool_timeout=pool_timeout, + release_conn=release_conn, body_pos=body_pos, + **response_kw) + + def drain_and_release_conn(response): + try: + # discard any remaining response body, the connection will be + # released back to the pool once the entire response is read + response.read() + except (TimeoutError, HTTPException, SocketError, ProtocolError, + BaseSSLError, SSLError) as e: + pass + + # Handle redirect? + redirect_location = redirect and response.get_redirect_location() + if redirect_location: + if response.status == 303: + method = 'GET' + + try: + retries = retries.increment(method, url, response=response, _pool=self) + except MaxRetryError: + if retries.raise_on_redirect: + # Drain and release the connection for this response, since + # we're not returning it to be released manually. + drain_and_release_conn(response) + raise + return response + + # drain and return the connection to the pool before recursing + drain_and_release_conn(response) + + retries.sleep_for_retry(response) + log.debug("Redirecting %s -> %s", url, redirect_location) + return self.urlopen( + method, redirect_location, body, headers, + retries=retries, redirect=redirect, + assert_same_host=assert_same_host, + timeout=timeout, pool_timeout=pool_timeout, + release_conn=release_conn, body_pos=body_pos, + **response_kw) + + # Check if we should retry the HTTP response. + has_retry_after = bool(response.getheader('Retry-After')) + if retries.is_retry(method, response.status, has_retry_after): + try: + retries = retries.increment(method, url, response=response, _pool=self) + except MaxRetryError: + if retries.raise_on_status: + # Drain and release the connection for this response, since + # we're not returning it to be released manually. + drain_and_release_conn(response) + raise + return response + + # drain and return the connection to the pool before recursing + drain_and_release_conn(response) + + retries.sleep(response) + log.debug("Retry: %s", url) + return self.urlopen( + method, url, body, headers, + retries=retries, redirect=redirect, + assert_same_host=assert_same_host, + timeout=timeout, pool_timeout=pool_timeout, + release_conn=release_conn, + body_pos=body_pos, **response_kw) + + return response + + +class HTTPSConnectionPool(HTTPConnectionPool): + """ + Same as :class:`.HTTPConnectionPool`, but HTTPS. + + When Python is compiled with the :mod:`ssl` module, then + :class:`.VerifiedHTTPSConnection` is used, which *can* verify certificates, + instead of :class:`.HTTPSConnection`. + + :class:`.VerifiedHTTPSConnection` uses one of ``assert_fingerprint``, + ``assert_hostname`` and ``host`` in this order to verify connections. + If ``assert_hostname`` is False, no verification is done. + + The ``key_file``, ``cert_file``, ``cert_reqs``, ``ca_certs``, + ``ca_cert_dir``, and ``ssl_version`` are only used if :mod:`ssl` is + available and are fed into :meth:`urllib3.util.ssl_wrap_socket` to upgrade + the connection socket into an SSL socket. + """ + + scheme = 'https' + ConnectionCls = HTTPSConnection + + def __init__(self, host, port=None, + strict=False, timeout=Timeout.DEFAULT_TIMEOUT, maxsize=1, + block=False, headers=None, retries=None, + _proxy=None, _proxy_headers=None, + key_file=None, cert_file=None, cert_reqs=None, + ca_certs=None, ssl_version=None, + assert_hostname=None, assert_fingerprint=None, + ca_cert_dir=None, **conn_kw): + + HTTPConnectionPool.__init__(self, host, port, strict, timeout, maxsize, + block, headers, retries, _proxy, _proxy_headers, + **conn_kw) + + if ca_certs and cert_reqs is None: + cert_reqs = 'CERT_REQUIRED' + + self.key_file = key_file + self.cert_file = cert_file + self.cert_reqs = cert_reqs + self.ca_certs = ca_certs + self.ca_cert_dir = ca_cert_dir + self.ssl_version = ssl_version + self.assert_hostname = assert_hostname + self.assert_fingerprint = assert_fingerprint + + def _prepare_conn(self, conn): + """ + Prepare the ``connection`` for :meth:`urllib3.util.ssl_wrap_socket` + and establish the tunnel if proxy is used. + """ + + if isinstance(conn, VerifiedHTTPSConnection): + conn.set_cert(key_file=self.key_file, + cert_file=self.cert_file, + cert_reqs=self.cert_reqs, + ca_certs=self.ca_certs, + ca_cert_dir=self.ca_cert_dir, + assert_hostname=self.assert_hostname, + assert_fingerprint=self.assert_fingerprint) + conn.ssl_version = self.ssl_version + return conn + + def _prepare_proxy(self, conn): + """ + Establish tunnel connection early, because otherwise httplib + would improperly set Host: header to proxy's IP:port. + """ + conn.set_tunnel(self._proxy_host, self.port, self.proxy_headers) + conn.connect() + + def _new_conn(self): + """ + Return a fresh :class:`httplib.HTTPSConnection`. + """ + self.num_connections += 1 + log.debug("Starting new HTTPS connection (%d): %s:%s", + self.num_connections, self.host, self.port or "443") + + if not self.ConnectionCls or self.ConnectionCls is DummyConnection: + raise SSLError("Can't connect to HTTPS URL because the SSL " + "module is not available.") + + actual_host = self.host + actual_port = self.port + if self.proxy is not None: + actual_host = self.proxy.host + actual_port = self.proxy.port + + conn = self.ConnectionCls(host=actual_host, port=actual_port, + timeout=self.timeout.connect_timeout, + strict=self.strict, **self.conn_kw) + + return self._prepare_conn(conn) + + def _validate_conn(self, conn): + """ + Called right before a request is made, after the socket is created. + """ + super(HTTPSConnectionPool, self)._validate_conn(conn) + + # Force connect early to allow us to validate the connection. + if not getattr(conn, 'sock', None): # AppEngine might not have `.sock` + conn.connect() + + if not conn.is_verified: + warnings.warn(( + 'Unverified HTTPS request is being made. ' + 'Adding certificate verification is strongly advised. See: ' + 'https://urllib3.readthedocs.io/en/latest/advanced-usage.html' + '#ssl-warnings'), + InsecureRequestWarning) + + +def connection_from_url(url, **kw): + """ + Given a url, return an :class:`.ConnectionPool` instance of its host. + + This is a shortcut for not having to parse out the scheme, host, and port + of the url before creating an :class:`.ConnectionPool` instance. + + :param url: + Absolute URL string that must include the scheme. Port is optional. + + :param \\**kw: + Passes additional parameters to the constructor of the appropriate + :class:`.ConnectionPool`. Useful for specifying things like + timeout, maxsize, headers, etc. + + Example:: + + >>> conn = connection_from_url('http://google.com/') + >>> r = conn.request('GET', '/') + """ + scheme, host, port = get_host(url) + port = port or port_by_scheme.get(scheme, 80) + if scheme == 'https': + return HTTPSConnectionPool(host, port=port, **kw) + else: + return HTTPConnectionPool(host, port=port, **kw) + + +def _ipv6_host(host, scheme): + """ + Process IPv6 address literals + """ + + # httplib doesn't like it when we include brackets in IPv6 addresses + # Specifically, if we include brackets but also pass the port then + # httplib crazily doubles up the square brackets on the Host header. + # Instead, we need to make sure we never pass ``None`` as the port. + # However, for backward compatibility reasons we can't actually + # *assert* that. See http://bugs.python.org/issue28539 + # + # Also if an IPv6 address literal has a zone identifier, the + # percent sign might be URIencoded, convert it back into ASCII + if host.startswith('[') and host.endswith(']'): + host = host.replace('%25', '%').strip('[]') + if scheme in NORMALIZABLE_SCHEMES: + host = host.lower() + return host diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_appengine_environ.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_appengine_environ.py new file mode 100644 index 0000000..f3e0094 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_appengine_environ.py @@ -0,0 +1,30 @@ +""" +This module provides means to detect the App Engine environment. +""" + +import os + + +def is_appengine(): + return (is_local_appengine() or + is_prod_appengine() or + is_prod_appengine_mvms()) + + +def is_appengine_sandbox(): + return is_appengine() and not is_prod_appengine_mvms() + + +def is_local_appengine(): + return ('APPENGINE_RUNTIME' in os.environ and + 'Development/' in os.environ['SERVER_SOFTWARE']) + + +def is_prod_appengine(): + return ('APPENGINE_RUNTIME' in os.environ and + 'Google App Engine/' in os.environ['SERVER_SOFTWARE'] and + not is_prod_appengine_mvms()) + + +def is_prod_appengine_mvms(): + return os.environ.get('GAE_VM', False) == 'true' diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/bindings.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/bindings.py new file mode 100644 index 0000000..bcf41c0 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/bindings.py @@ -0,0 +1,593 @@ +""" +This module uses ctypes to bind a whole bunch of functions and constants from +SecureTransport. The goal here is to provide the low-level API to +SecureTransport. These are essentially the C-level functions and constants, and +they're pretty gross to work with. + +This code is a bastardised version of the code found in Will Bond's oscrypto +library. An enormous debt is owed to him for blazing this trail for us. For +that reason, this code should be considered to be covered both by urllib3's +license and by oscrypto's: + + Copyright (c) 2015-2016 Will Bond <will@wbond.net> + + 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 platform +from ctypes.util import find_library +from ctypes import ( + c_void_p, c_int32, c_char_p, c_size_t, c_byte, c_uint32, c_ulong, c_long, + c_bool +) +from ctypes import CDLL, POINTER, CFUNCTYPE + + +security_path = find_library('Security') +if not security_path: + raise ImportError('The library Security could not be found') + + +core_foundation_path = find_library('CoreFoundation') +if not core_foundation_path: + raise ImportError('The library CoreFoundation could not be found') + + +version = platform.mac_ver()[0] +version_info = tuple(map(int, version.split('.'))) +if version_info < (10, 8): + raise OSError( + 'Only OS X 10.8 and newer are supported, not %s.%s' % ( + version_info[0], version_info[1] + ) + ) + +Security = CDLL(security_path, use_errno=True) +CoreFoundation = CDLL(core_foundation_path, use_errno=True) + +Boolean = c_bool +CFIndex = c_long +CFStringEncoding = c_uint32 +CFData = c_void_p +CFString = c_void_p +CFArray = c_void_p +CFMutableArray = c_void_p +CFDictionary = c_void_p +CFError = c_void_p +CFType = c_void_p +CFTypeID = c_ulong + +CFTypeRef = POINTER(CFType) +CFAllocatorRef = c_void_p + +OSStatus = c_int32 + +CFDataRef = POINTER(CFData) +CFStringRef = POINTER(CFString) +CFArrayRef = POINTER(CFArray) +CFMutableArrayRef = POINTER(CFMutableArray) +CFDictionaryRef = POINTER(CFDictionary) +CFArrayCallBacks = c_void_p +CFDictionaryKeyCallBacks = c_void_p +CFDictionaryValueCallBacks = c_void_p + +SecCertificateRef = POINTER(c_void_p) +SecExternalFormat = c_uint32 +SecExternalItemType = c_uint32 +SecIdentityRef = POINTER(c_void_p) +SecItemImportExportFlags = c_uint32 +SecItemImportExportKeyParameters = c_void_p +SecKeychainRef = POINTER(c_void_p) +SSLProtocol = c_uint32 +SSLCipherSuite = c_uint32 +SSLContextRef = POINTER(c_void_p) +SecTrustRef = POINTER(c_void_p) +SSLConnectionRef = c_uint32 +SecTrustResultType = c_uint32 +SecTrustOptionFlags = c_uint32 +SSLProtocolSide = c_uint32 +SSLConnectionType = c_uint32 +SSLSessionOption = c_uint32 + + +try: + Security.SecItemImport.argtypes = [ + CFDataRef, + CFStringRef, + POINTER(SecExternalFormat), + POINTER(SecExternalItemType), + SecItemImportExportFlags, + POINTER(SecItemImportExportKeyParameters), + SecKeychainRef, + POINTER(CFArrayRef), + ] + Security.SecItemImport.restype = OSStatus + + Security.SecCertificateGetTypeID.argtypes = [] + Security.SecCertificateGetTypeID.restype = CFTypeID + + Security.SecIdentityGetTypeID.argtypes = [] + Security.SecIdentityGetTypeID.restype = CFTypeID + + Security.SecKeyGetTypeID.argtypes = [] + Security.SecKeyGetTypeID.restype = CFTypeID + + Security.SecCertificateCreateWithData.argtypes = [ + CFAllocatorRef, + CFDataRef + ] + Security.SecCertificateCreateWithData.restype = SecCertificateRef + + Security.SecCertificateCopyData.argtypes = [ + SecCertificateRef + ] + Security.SecCertificateCopyData.restype = CFDataRef + + Security.SecCopyErrorMessageString.argtypes = [ + OSStatus, + c_void_p + ] + Security.SecCopyErrorMessageString.restype = CFStringRef + + Security.SecIdentityCreateWithCertificate.argtypes = [ + CFTypeRef, + SecCertificateRef, + POINTER(SecIdentityRef) + ] + Security.SecIdentityCreateWithCertificate.restype = OSStatus + + Security.SecKeychainCreate.argtypes = [ + c_char_p, + c_uint32, + c_void_p, + Boolean, + c_void_p, + POINTER(SecKeychainRef) + ] + Security.SecKeychainCreate.restype = OSStatus + + Security.SecKeychainDelete.argtypes = [ + SecKeychainRef + ] + Security.SecKeychainDelete.restype = OSStatus + + Security.SecPKCS12Import.argtypes = [ + CFDataRef, + CFDictionaryRef, + POINTER(CFArrayRef) + ] + Security.SecPKCS12Import.restype = OSStatus + + SSLReadFunc = CFUNCTYPE(OSStatus, SSLConnectionRef, c_void_p, POINTER(c_size_t)) + SSLWriteFunc = CFUNCTYPE(OSStatus, SSLConnectionRef, POINTER(c_byte), POINTER(c_size_t)) + + Security.SSLSetIOFuncs.argtypes = [ + SSLContextRef, + SSLReadFunc, + SSLWriteFunc + ] + Security.SSLSetIOFuncs.restype = OSStatus + + Security.SSLSetPeerID.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t + ] + Security.SSLSetPeerID.restype = OSStatus + + Security.SSLSetCertificate.argtypes = [ + SSLContextRef, + CFArrayRef + ] + Security.SSLSetCertificate.restype = OSStatus + + Security.SSLSetCertificateAuthorities.argtypes = [ + SSLContextRef, + CFTypeRef, + Boolean + ] + Security.SSLSetCertificateAuthorities.restype = OSStatus + + Security.SSLSetConnection.argtypes = [ + SSLContextRef, + SSLConnectionRef + ] + Security.SSLSetConnection.restype = OSStatus + + Security.SSLSetPeerDomainName.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t + ] + Security.SSLSetPeerDomainName.restype = OSStatus + + Security.SSLHandshake.argtypes = [ + SSLContextRef + ] + Security.SSLHandshake.restype = OSStatus + + Security.SSLRead.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t, + POINTER(c_size_t) + ] + Security.SSLRead.restype = OSStatus + + Security.SSLWrite.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t, + POINTER(c_size_t) + ] + Security.SSLWrite.restype = OSStatus + + Security.SSLClose.argtypes = [ + SSLContextRef + ] + Security.SSLClose.restype = OSStatus + + Security.SSLGetNumberSupportedCiphers.argtypes = [ + SSLContextRef, + POINTER(c_size_t) + ] + Security.SSLGetNumberSupportedCiphers.restype = OSStatus + + Security.SSLGetSupportedCiphers.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite), + POINTER(c_size_t) + ] + Security.SSLGetSupportedCiphers.restype = OSStatus + + Security.SSLSetEnabledCiphers.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite), + c_size_t + ] + Security.SSLSetEnabledCiphers.restype = OSStatus + + Security.SSLGetNumberEnabledCiphers.argtype = [ + SSLContextRef, + POINTER(c_size_t) + ] + Security.SSLGetNumberEnabledCiphers.restype = OSStatus + + Security.SSLGetEnabledCiphers.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite), + POINTER(c_size_t) + ] + Security.SSLGetEnabledCiphers.restype = OSStatus + + Security.SSLGetNegotiatedCipher.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite) + ] + Security.SSLGetNegotiatedCipher.restype = OSStatus + + Security.SSLGetNegotiatedProtocolVersion.argtypes = [ + SSLContextRef, + POINTER(SSLProtocol) + ] + Security.SSLGetNegotiatedProtocolVersion.restype = OSStatus + + Security.SSLCopyPeerTrust.argtypes = [ + SSLContextRef, + POINTER(SecTrustRef) + ] + Security.SSLCopyPeerTrust.restype = OSStatus + + Security.SecTrustSetAnchorCertificates.argtypes = [ + SecTrustRef, + CFArrayRef + ] + Security.SecTrustSetAnchorCertificates.restype = OSStatus + + Security.SecTrustSetAnchorCertificatesOnly.argstypes = [ + SecTrustRef, + Boolean + ] + Security.SecTrustSetAnchorCertificatesOnly.restype = OSStatus + + Security.SecTrustEvaluate.argtypes = [ + SecTrustRef, + POINTER(SecTrustResultType) + ] + Security.SecTrustEvaluate.restype = OSStatus + + Security.SecTrustGetCertificateCount.argtypes = [ + SecTrustRef + ] + Security.SecTrustGetCertificateCount.restype = CFIndex + + Security.SecTrustGetCertificateAtIndex.argtypes = [ + SecTrustRef, + CFIndex + ] + Security.SecTrustGetCertificateAtIndex.restype = SecCertificateRef + + Security.SSLCreateContext.argtypes = [ + CFAllocatorRef, + SSLProtocolSide, + SSLConnectionType + ] + Security.SSLCreateContext.restype = SSLContextRef + + Security.SSLSetSessionOption.argtypes = [ + SSLContextRef, + SSLSessionOption, + Boolean + ] + Security.SSLSetSessionOption.restype = OSStatus + + Security.SSLSetProtocolVersionMin.argtypes = [ + SSLContextRef, + SSLProtocol + ] + Security.SSLSetProtocolVersionMin.restype = OSStatus + + Security.SSLSetProtocolVersionMax.argtypes = [ + SSLContextRef, + SSLProtocol + ] + Security.SSLSetProtocolVersionMax.restype = OSStatus + + Security.SecCopyErrorMessageString.argtypes = [ + OSStatus, + c_void_p + ] + Security.SecCopyErrorMessageString.restype = CFStringRef + + Security.SSLReadFunc = SSLReadFunc + Security.SSLWriteFunc = SSLWriteFunc + Security.SSLContextRef = SSLContextRef + Security.SSLProtocol = SSLProtocol + Security.SSLCipherSuite = SSLCipherSuite + Security.SecIdentityRef = SecIdentityRef + Security.SecKeychainRef = SecKeychainRef + Security.SecTrustRef = SecTrustRef + Security.SecTrustResultType = SecTrustResultType + Security.SecExternalFormat = SecExternalFormat + Security.OSStatus = OSStatus + + Security.kSecImportExportPassphrase = CFStringRef.in_dll( + Security, 'kSecImportExportPassphrase' + ) + Security.kSecImportItemIdentity = CFStringRef.in_dll( + Security, 'kSecImportItemIdentity' + ) + + # CoreFoundation time! + CoreFoundation.CFRetain.argtypes = [ + CFTypeRef + ] + CoreFoundation.CFRetain.restype = CFTypeRef + + CoreFoundation.CFRelease.argtypes = [ + CFTypeRef + ] + CoreFoundation.CFRelease.restype = None + + CoreFoundation.CFGetTypeID.argtypes = [ + CFTypeRef + ] + CoreFoundation.CFGetTypeID.restype = CFTypeID + + CoreFoundation.CFStringCreateWithCString.argtypes = [ + CFAllocatorRef, + c_char_p, + CFStringEncoding + ] + CoreFoundation.CFStringCreateWithCString.restype = CFStringRef + + CoreFoundation.CFStringGetCStringPtr.argtypes = [ + CFStringRef, + CFStringEncoding + ] + CoreFoundation.CFStringGetCStringPtr.restype = c_char_p + + CoreFoundation.CFStringGetCString.argtypes = [ + CFStringRef, + c_char_p, + CFIndex, + CFStringEncoding + ] + CoreFoundation.CFStringGetCString.restype = c_bool + + CoreFoundation.CFDataCreate.argtypes = [ + CFAllocatorRef, + c_char_p, + CFIndex + ] + CoreFoundation.CFDataCreate.restype = CFDataRef + + CoreFoundation.CFDataGetLength.argtypes = [ + CFDataRef + ] + CoreFoundation.CFDataGetLength.restype = CFIndex + + CoreFoundation.CFDataGetBytePtr.argtypes = [ + CFDataRef + ] + CoreFoundation.CFDataGetBytePtr.restype = c_void_p + + CoreFoundation.CFDictionaryCreate.argtypes = [ + CFAllocatorRef, + POINTER(CFTypeRef), + POINTER(CFTypeRef), + CFIndex, + CFDictionaryKeyCallBacks, + CFDictionaryValueCallBacks + ] + CoreFoundation.CFDictionaryCreate.restype = CFDictionaryRef + + CoreFoundation.CFDictionaryGetValue.argtypes = [ + CFDictionaryRef, + CFTypeRef + ] + CoreFoundation.CFDictionaryGetValue.restype = CFTypeRef + + CoreFoundation.CFArrayCreate.argtypes = [ + CFAllocatorRef, + POINTER(CFTypeRef), + CFIndex, + CFArrayCallBacks, + ] + CoreFoundation.CFArrayCreate.restype = CFArrayRef + + CoreFoundation.CFArrayCreateMutable.argtypes = [ + CFAllocatorRef, + CFIndex, + CFArrayCallBacks + ] + CoreFoundation.CFArrayCreateMutable.restype = CFMutableArrayRef + + CoreFoundation.CFArrayAppendValue.argtypes = [ + CFMutableArrayRef, + c_void_p + ] + CoreFoundation.CFArrayAppendValue.restype = None + + CoreFoundation.CFArrayGetCount.argtypes = [ + CFArrayRef + ] + CoreFoundation.CFArrayGetCount.restype = CFIndex + + CoreFoundation.CFArrayGetValueAtIndex.argtypes = [ + CFArrayRef, + CFIndex + ] + CoreFoundation.CFArrayGetValueAtIndex.restype = c_void_p + + CoreFoundation.kCFAllocatorDefault = CFAllocatorRef.in_dll( + CoreFoundation, 'kCFAllocatorDefault' + ) + CoreFoundation.kCFTypeArrayCallBacks = c_void_p.in_dll(CoreFoundation, 'kCFTypeArrayCallBacks') + CoreFoundation.kCFTypeDictionaryKeyCallBacks = c_void_p.in_dll( + CoreFoundation, 'kCFTypeDictionaryKeyCallBacks' + ) + CoreFoundation.kCFTypeDictionaryValueCallBacks = c_void_p.in_dll( + CoreFoundation, 'kCFTypeDictionaryValueCallBacks' + ) + + CoreFoundation.CFTypeRef = CFTypeRef + CoreFoundation.CFArrayRef = CFArrayRef + CoreFoundation.CFStringRef = CFStringRef + CoreFoundation.CFDictionaryRef = CFDictionaryRef + +except (AttributeError): + raise ImportError('Error initializing ctypes') + + +class CFConst(object): + """ + A class object that acts as essentially a namespace for CoreFoundation + constants. + """ + kCFStringEncodingUTF8 = CFStringEncoding(0x08000100) + + +class SecurityConst(object): + """ + A class object that acts as essentially a namespace for Security constants. + """ + kSSLSessionOptionBreakOnServerAuth = 0 + + kSSLProtocol2 = 1 + kSSLProtocol3 = 2 + kTLSProtocol1 = 4 + kTLSProtocol11 = 7 + kTLSProtocol12 = 8 + + kSSLClientSide = 1 + kSSLStreamType = 0 + + kSecFormatPEMSequence = 10 + + kSecTrustResultInvalid = 0 + kSecTrustResultProceed = 1 + # This gap is present on purpose: this was kSecTrustResultConfirm, which + # is deprecated. + kSecTrustResultDeny = 3 + kSecTrustResultUnspecified = 4 + kSecTrustResultRecoverableTrustFailure = 5 + kSecTrustResultFatalTrustFailure = 6 + kSecTrustResultOtherError = 7 + + errSSLProtocol = -9800 + errSSLWouldBlock = -9803 + errSSLClosedGraceful = -9805 + errSSLClosedNoNotify = -9816 + errSSLClosedAbort = -9806 + + errSSLXCertChainInvalid = -9807 + errSSLCrypto = -9809 + errSSLInternal = -9810 + errSSLCertExpired = -9814 + errSSLCertNotYetValid = -9815 + errSSLUnknownRootCert = -9812 + errSSLNoRootCert = -9813 + errSSLHostNameMismatch = -9843 + errSSLPeerHandshakeFail = -9824 + errSSLPeerUserCancelled = -9839 + errSSLWeakPeerEphemeralDHKey = -9850 + errSSLServerAuthCompleted = -9841 + errSSLRecordOverflow = -9847 + + errSecVerifyFailed = -67808 + errSecNoTrustSettings = -25263 + errSecItemNotFound = -25300 + errSecInvalidTrustSettings = -25262 + + # Cipher suites. We only pick the ones our default cipher string allows. + TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 0xC02C + TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 0xC030 + TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 0xC02B + TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 0xC02F + TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = 0x00A3 + TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 0x009F + TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = 0x00A2 + TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 0x009E + TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 0xC024 + TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 0xC028 + TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 0xC00A + TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 0xC014 + TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 0x006B + TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 0x006A + TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 0x0039 + TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 0x0038 + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 0xC023 + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 0xC027 + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 0xC009 + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 0xC013 + TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 0x0067 + TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 0x0040 + TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 0x0033 + TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 0x0032 + TLS_RSA_WITH_AES_256_GCM_SHA384 = 0x009D + TLS_RSA_WITH_AES_128_GCM_SHA256 = 0x009C + TLS_RSA_WITH_AES_256_CBC_SHA256 = 0x003D + TLS_RSA_WITH_AES_128_CBC_SHA256 = 0x003C + TLS_RSA_WITH_AES_256_CBC_SHA = 0x0035 + TLS_RSA_WITH_AES_128_CBC_SHA = 0x002F + TLS_AES_128_GCM_SHA256 = 0x1301 + TLS_AES_256_GCM_SHA384 = 0x1302 + TLS_CHACHA20_POLY1305_SHA256 = 0x1303 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/low_level.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/low_level.py new file mode 100644 index 0000000..b13cd9e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/_securetransport/low_level.py @@ -0,0 +1,346 @@ +""" +Low-level helpers for the SecureTransport bindings. + +These are Python functions that are not directly related to the high-level APIs +but are necessary to get them to work. They include a whole bunch of low-level +CoreFoundation messing about and memory management. The concerns in this module +are almost entirely about trying to avoid memory leaks and providing +appropriate and useful assistance to the higher-level code. +""" +import base64 +import ctypes +import itertools +import re +import os +import ssl +import tempfile + +from .bindings import Security, CoreFoundation, CFConst + + +# This regular expression is used to grab PEM data out of a PEM bundle. +_PEM_CERTS_RE = re.compile( + b"-----BEGIN CERTIFICATE-----\n(.*?)\n-----END CERTIFICATE-----", re.DOTALL +) + + +def _cf_data_from_bytes(bytestring): + """ + Given a bytestring, create a CFData object from it. This CFData object must + be CFReleased by the caller. + """ + return CoreFoundation.CFDataCreate( + CoreFoundation.kCFAllocatorDefault, bytestring, len(bytestring) + ) + + +def _cf_dictionary_from_tuples(tuples): + """ + Given a list of Python tuples, create an associated CFDictionary. + """ + dictionary_size = len(tuples) + + # We need to get the dictionary keys and values out in the same order. + keys = (t[0] for t in tuples) + values = (t[1] for t in tuples) + cf_keys = (CoreFoundation.CFTypeRef * dictionary_size)(*keys) + cf_values = (CoreFoundation.CFTypeRef * dictionary_size)(*values) + + return CoreFoundation.CFDictionaryCreate( + CoreFoundation.kCFAllocatorDefault, + cf_keys, + cf_values, + dictionary_size, + CoreFoundation.kCFTypeDictionaryKeyCallBacks, + CoreFoundation.kCFTypeDictionaryValueCallBacks, + ) + + +def _cf_string_to_unicode(value): + """ + Creates a Unicode string from a CFString object. Used entirely for error + reporting. + + Yes, it annoys me quite a lot that this function is this complex. + """ + value_as_void_p = ctypes.cast(value, ctypes.POINTER(ctypes.c_void_p)) + + string = CoreFoundation.CFStringGetCStringPtr( + value_as_void_p, + CFConst.kCFStringEncodingUTF8 + ) + if string is None: + buffer = ctypes.create_string_buffer(1024) + result = CoreFoundation.CFStringGetCString( + value_as_void_p, + buffer, + 1024, + CFConst.kCFStringEncodingUTF8 + ) + if not result: + raise OSError('Error copying C string from CFStringRef') + string = buffer.value + if string is not None: + string = string.decode('utf-8') + return string + + +def _assert_no_error(error, exception_class=None): + """ + Checks the return code and throws an exception if there is an error to + report + """ + if error == 0: + return + + cf_error_string = Security.SecCopyErrorMessageString(error, None) + output = _cf_string_to_unicode(cf_error_string) + CoreFoundation.CFRelease(cf_error_string) + + if output is None or output == u'': + output = u'OSStatus %s' % error + + if exception_class is None: + exception_class = ssl.SSLError + + raise exception_class(output) + + +def _cert_array_from_pem(pem_bundle): + """ + Given a bundle of certs in PEM format, turns them into a CFArray of certs + that can be used to validate a cert chain. + """ + # Normalize the PEM bundle's line endings. + pem_bundle = pem_bundle.replace(b"\r\n", b"\n") + + der_certs = [ + base64.b64decode(match.group(1)) + for match in _PEM_CERTS_RE.finditer(pem_bundle) + ] + if not der_certs: + raise ssl.SSLError("No root certificates specified") + + cert_array = CoreFoundation.CFArrayCreateMutable( + CoreFoundation.kCFAllocatorDefault, + 0, + ctypes.byref(CoreFoundation.kCFTypeArrayCallBacks) + ) + if not cert_array: + raise ssl.SSLError("Unable to allocate memory!") + + try: + for der_bytes in der_certs: + certdata = _cf_data_from_bytes(der_bytes) + if not certdata: + raise ssl.SSLError("Unable to allocate memory!") + cert = Security.SecCertificateCreateWithData( + CoreFoundation.kCFAllocatorDefault, certdata + ) + CoreFoundation.CFRelease(certdata) + if not cert: + raise ssl.SSLError("Unable to build cert object!") + + CoreFoundation.CFArrayAppendValue(cert_array, cert) + CoreFoundation.CFRelease(cert) + except Exception: + # We need to free the array before the exception bubbles further. + # We only want to do that if an error occurs: otherwise, the caller + # should free. + CoreFoundation.CFRelease(cert_array) + + return cert_array + + +def _is_cert(item): + """ + Returns True if a given CFTypeRef is a certificate. + """ + expected = Security.SecCertificateGetTypeID() + return CoreFoundation.CFGetTypeID(item) == expected + + +def _is_identity(item): + """ + Returns True if a given CFTypeRef is an identity. + """ + expected = Security.SecIdentityGetTypeID() + return CoreFoundation.CFGetTypeID(item) == expected + + +def _temporary_keychain(): + """ + This function creates a temporary Mac keychain that we can use to work with + credentials. This keychain uses a one-time password and a temporary file to + store the data. We expect to have one keychain per socket. The returned + SecKeychainRef must be freed by the caller, including calling + SecKeychainDelete. + + Returns a tuple of the SecKeychainRef and the path to the temporary + directory that contains it. + """ + # Unfortunately, SecKeychainCreate requires a path to a keychain. This + # means we cannot use mkstemp to use a generic temporary file. Instead, + # we're going to create a temporary directory and a filename to use there. + # This filename will be 8 random bytes expanded into base64. We also need + # some random bytes to password-protect the keychain we're creating, so we + # ask for 40 random bytes. + random_bytes = os.urandom(40) + filename = base64.b16encode(random_bytes[:8]).decode('utf-8') + password = base64.b16encode(random_bytes[8:]) # Must be valid UTF-8 + tempdirectory = tempfile.mkdtemp() + + keychain_path = os.path.join(tempdirectory, filename).encode('utf-8') + + # We now want to create the keychain itself. + keychain = Security.SecKeychainRef() + status = Security.SecKeychainCreate( + keychain_path, + len(password), + password, + False, + None, + ctypes.byref(keychain) + ) + _assert_no_error(status) + + # Having created the keychain, we want to pass it off to the caller. + return keychain, tempdirectory + + +def _load_items_from_file(keychain, path): + """ + Given a single file, loads all the trust objects from it into arrays and + the keychain. + Returns a tuple of lists: the first list is a list of identities, the + second a list of certs. + """ + certificates = [] + identities = [] + result_array = None + + with open(path, 'rb') as f: + raw_filedata = f.read() + + try: + filedata = CoreFoundation.CFDataCreate( + CoreFoundation.kCFAllocatorDefault, + raw_filedata, + len(raw_filedata) + ) + result_array = CoreFoundation.CFArrayRef() + result = Security.SecItemImport( + filedata, # cert data + None, # Filename, leaving it out for now + None, # What the type of the file is, we don't care + None, # what's in the file, we don't care + 0, # import flags + None, # key params, can include passphrase in the future + keychain, # The keychain to insert into + ctypes.byref(result_array) # Results + ) + _assert_no_error(result) + + # A CFArray is not very useful to us as an intermediary + # representation, so we are going to extract the objects we want + # and then free the array. We don't need to keep hold of keys: the + # keychain already has them! + result_count = CoreFoundation.CFArrayGetCount(result_array) + for index in range(result_count): + item = CoreFoundation.CFArrayGetValueAtIndex( + result_array, index + ) + item = ctypes.cast(item, CoreFoundation.CFTypeRef) + + if _is_cert(item): + CoreFoundation.CFRetain(item) + certificates.append(item) + elif _is_identity(item): + CoreFoundation.CFRetain(item) + identities.append(item) + finally: + if result_array: + CoreFoundation.CFRelease(result_array) + + CoreFoundation.CFRelease(filedata) + + return (identities, certificates) + + +def _load_client_cert_chain(keychain, *paths): + """ + Load certificates and maybe keys from a number of files. Has the end goal + of returning a CFArray containing one SecIdentityRef, and then zero or more + SecCertificateRef objects, suitable for use as a client certificate trust + chain. + """ + # Ok, the strategy. + # + # This relies on knowing that macOS will not give you a SecIdentityRef + # unless you have imported a key into a keychain. This is a somewhat + # artificial limitation of macOS (for example, it doesn't necessarily + # affect iOS), but there is nothing inside Security.framework that lets you + # get a SecIdentityRef without having a key in a keychain. + # + # So the policy here is we take all the files and iterate them in order. + # Each one will use SecItemImport to have one or more objects loaded from + # it. We will also point at a keychain that macOS can use to work with the + # private key. + # + # Once we have all the objects, we'll check what we actually have. If we + # already have a SecIdentityRef in hand, fab: we'll use that. Otherwise, + # we'll take the first certificate (which we assume to be our leaf) and + # ask the keychain to give us a SecIdentityRef with that cert's associated + # key. + # + # We'll then return a CFArray containing the trust chain: one + # SecIdentityRef and then zero-or-more SecCertificateRef objects. The + # responsibility for freeing this CFArray will be with the caller. This + # CFArray must remain alive for the entire connection, so in practice it + # will be stored with a single SSLSocket, along with the reference to the + # keychain. + certificates = [] + identities = [] + + # Filter out bad paths. + paths = (path for path in paths if path) + + try: + for file_path in paths: + new_identities, new_certs = _load_items_from_file( + keychain, file_path + ) + identities.extend(new_identities) + certificates.extend(new_certs) + + # Ok, we have everything. The question is: do we have an identity? If + # not, we want to grab one from the first cert we have. + if not identities: + new_identity = Security.SecIdentityRef() + status = Security.SecIdentityCreateWithCertificate( + keychain, + certificates[0], + ctypes.byref(new_identity) + ) + _assert_no_error(status) + identities.append(new_identity) + + # We now want to release the original certificate, as we no longer + # need it. + CoreFoundation.CFRelease(certificates.pop(0)) + + # We now need to build a new CFArray that holds the trust chain. + trust_chain = CoreFoundation.CFArrayCreateMutable( + CoreFoundation.kCFAllocatorDefault, + 0, + ctypes.byref(CoreFoundation.kCFTypeArrayCallBacks), + ) + for item in itertools.chain(identities, certificates): + # ArrayAppendValue does a CFRetain on the item. That's fine, + # because the finally block will release our other refs to them. + CoreFoundation.CFArrayAppendValue(trust_chain, item) + + return trust_chain + finally: + for obj in itertools.chain(identities, certificates): + CoreFoundation.CFRelease(obj) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/appengine.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/appengine.py new file mode 100644 index 0000000..9b42952 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/appengine.py @@ -0,0 +1,289 @@ +""" +This module provides a pool manager that uses Google App Engine's +`URLFetch Service <https://cloud.google.com/appengine/docs/python/urlfetch>`_. + +Example usage:: + + from pip._vendor.urllib3 import PoolManager + from pip._vendor.urllib3.contrib.appengine import AppEngineManager, is_appengine_sandbox + + if is_appengine_sandbox(): + # AppEngineManager uses AppEngine's URLFetch API behind the scenes + http = AppEngineManager() + else: + # PoolManager uses a socket-level API behind the scenes + http = PoolManager() + + r = http.request('GET', 'https://google.com/') + +There are `limitations <https://cloud.google.com/appengine/docs/python/\ +urlfetch/#Python_Quotas_and_limits>`_ to the URLFetch service and it may not be +the best choice for your application. There are three options for using +urllib3 on Google App Engine: + +1. You can use :class:`AppEngineManager` with URLFetch. URLFetch is + cost-effective in many circumstances as long as your usage is within the + limitations. +2. You can use a normal :class:`~urllib3.PoolManager` by enabling sockets. + Sockets also have `limitations and restrictions + <https://cloud.google.com/appengine/docs/python/sockets/\ + #limitations-and-restrictions>`_ and have a lower free quota than URLFetch. + To use sockets, be sure to specify the following in your ``app.yaml``:: + + env_variables: + GAE_USE_SOCKETS_HTTPLIB : 'true' + +3. If you are using `App Engine Flexible +<https://cloud.google.com/appengine/docs/flexible/>`_, you can use the standard +:class:`PoolManager` without any configuration or special environment variables. +""" + +from __future__ import absolute_import +import io +import logging +import warnings +from ..packages.six.moves.urllib.parse import urljoin + +from ..exceptions import ( + HTTPError, + HTTPWarning, + MaxRetryError, + ProtocolError, + TimeoutError, + SSLError +) + +from ..request import RequestMethods +from ..response import HTTPResponse +from ..util.timeout import Timeout +from ..util.retry import Retry +from . import _appengine_environ + +try: + from google.appengine.api import urlfetch +except ImportError: + urlfetch = None + + +log = logging.getLogger(__name__) + + +class AppEnginePlatformWarning(HTTPWarning): + pass + + +class AppEnginePlatformError(HTTPError): + pass + + +class AppEngineManager(RequestMethods): + """ + Connection manager for Google App Engine sandbox applications. + + This manager uses the URLFetch service directly instead of using the + emulated httplib, and is subject to URLFetch limitations as described in + the App Engine documentation `here + <https://cloud.google.com/appengine/docs/python/urlfetch>`_. + + Notably it will raise an :class:`AppEnginePlatformError` if: + * URLFetch is not available. + * If you attempt to use this on App Engine Flexible, as full socket + support is available. + * If a request size is more than 10 megabytes. + * If a response size is more than 32 megabtyes. + * If you use an unsupported request method such as OPTIONS. + + Beyond those cases, it will raise normal urllib3 errors. + """ + + def __init__(self, headers=None, retries=None, validate_certificate=True, + urlfetch_retries=True): + if not urlfetch: + raise AppEnginePlatformError( + "URLFetch is not available in this environment.") + + if is_prod_appengine_mvms(): + raise AppEnginePlatformError( + "Use normal urllib3.PoolManager instead of AppEngineManager" + "on Managed VMs, as using URLFetch is not necessary in " + "this environment.") + + warnings.warn( + "urllib3 is using URLFetch on Google App Engine sandbox instead " + "of sockets. To use sockets directly instead of URLFetch see " + "https://urllib3.readthedocs.io/en/latest/reference/urllib3.contrib.html.", + AppEnginePlatformWarning) + + RequestMethods.__init__(self, headers) + self.validate_certificate = validate_certificate + self.urlfetch_retries = urlfetch_retries + + self.retries = retries or Retry.DEFAULT + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + # Return False to re-raise any potential exceptions + return False + + def urlopen(self, method, url, body=None, headers=None, + retries=None, redirect=True, timeout=Timeout.DEFAULT_TIMEOUT, + **response_kw): + + retries = self._get_retries(retries, redirect) + + try: + follow_redirects = ( + redirect and + retries.redirect != 0 and + retries.total) + response = urlfetch.fetch( + url, + payload=body, + method=method, + headers=headers or {}, + allow_truncated=False, + follow_redirects=self.urlfetch_retries and follow_redirects, + deadline=self._get_absolute_timeout(timeout), + validate_certificate=self.validate_certificate, + ) + except urlfetch.DeadlineExceededError as e: + raise TimeoutError(self, e) + + except urlfetch.InvalidURLError as e: + if 'too large' in str(e): + raise AppEnginePlatformError( + "URLFetch request too large, URLFetch only " + "supports requests up to 10mb in size.", e) + raise ProtocolError(e) + + except urlfetch.DownloadError as e: + if 'Too many redirects' in str(e): + raise MaxRetryError(self, url, reason=e) + raise ProtocolError(e) + + except urlfetch.ResponseTooLargeError as e: + raise AppEnginePlatformError( + "URLFetch response too large, URLFetch only supports" + "responses up to 32mb in size.", e) + + except urlfetch.SSLCertificateError as e: + raise SSLError(e) + + except urlfetch.InvalidMethodError as e: + raise AppEnginePlatformError( + "URLFetch does not support method: %s" % method, e) + + http_response = self._urlfetch_response_to_http_response( + response, retries=retries, **response_kw) + + # Handle redirect? + redirect_location = redirect and http_response.get_redirect_location() + if redirect_location: + # Check for redirect response + if (self.urlfetch_retries and retries.raise_on_redirect): + raise MaxRetryError(self, url, "too many redirects") + else: + if http_response.status == 303: + method = 'GET' + + try: + retries = retries.increment(method, url, response=http_response, _pool=self) + except MaxRetryError: + if retries.raise_on_redirect: + raise MaxRetryError(self, url, "too many redirects") + return http_response + + retries.sleep_for_retry(http_response) + log.debug("Redirecting %s -> %s", url, redirect_location) + redirect_url = urljoin(url, redirect_location) + return self.urlopen( + method, redirect_url, body, headers, + retries=retries, redirect=redirect, + timeout=timeout, **response_kw) + + # Check if we should retry the HTTP response. + has_retry_after = bool(http_response.getheader('Retry-After')) + if retries.is_retry(method, http_response.status, has_retry_after): + retries = retries.increment( + method, url, response=http_response, _pool=self) + log.debug("Retry: %s", url) + retries.sleep(http_response) + return self.urlopen( + method, url, + body=body, headers=headers, + retries=retries, redirect=redirect, + timeout=timeout, **response_kw) + + return http_response + + def _urlfetch_response_to_http_response(self, urlfetch_resp, **response_kw): + + if is_prod_appengine(): + # Production GAE handles deflate encoding automatically, but does + # not remove the encoding header. + content_encoding = urlfetch_resp.headers.get('content-encoding') + + if content_encoding == 'deflate': + del urlfetch_resp.headers['content-encoding'] + + transfer_encoding = urlfetch_resp.headers.get('transfer-encoding') + # We have a full response's content, + # so let's make sure we don't report ourselves as chunked data. + if transfer_encoding == 'chunked': + encodings = transfer_encoding.split(",") + encodings.remove('chunked') + urlfetch_resp.headers['transfer-encoding'] = ','.join(encodings) + + original_response = HTTPResponse( + # In order for decoding to work, we must present the content as + # a file-like object. + body=io.BytesIO(urlfetch_resp.content), + msg=urlfetch_resp.header_msg, + headers=urlfetch_resp.headers, + status=urlfetch_resp.status_code, + **response_kw + ) + + return HTTPResponse( + body=io.BytesIO(urlfetch_resp.content), + headers=urlfetch_resp.headers, + status=urlfetch_resp.status_code, + original_response=original_response, + **response_kw + ) + + def _get_absolute_timeout(self, timeout): + if timeout is Timeout.DEFAULT_TIMEOUT: + return None # Defer to URLFetch's default. + if isinstance(timeout, Timeout): + if timeout._read is not None or timeout._connect is not None: + warnings.warn( + "URLFetch does not support granular timeout settings, " + "reverting to total or default URLFetch timeout.", + AppEnginePlatformWarning) + return timeout.total + return timeout + + def _get_retries(self, retries, redirect): + if not isinstance(retries, Retry): + retries = Retry.from_int( + retries, redirect=redirect, default=self.retries) + + if retries.connect or retries.read or retries.redirect: + warnings.warn( + "URLFetch only supports total retries and does not " + "recognize connect, read, or redirect retry parameters.", + AppEnginePlatformWarning) + + return retries + + +# Alias methods from _appengine_environ to maintain public API interface. + +is_appengine = _appengine_environ.is_appengine +is_appengine_sandbox = _appengine_environ.is_appengine_sandbox +is_local_appengine = _appengine_environ.is_local_appengine +is_prod_appengine = _appengine_environ.is_prod_appengine +is_prod_appengine_mvms = _appengine_environ.is_prod_appengine_mvms diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/ntlmpool.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/ntlmpool.py new file mode 100644 index 0000000..8ea127c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/ntlmpool.py @@ -0,0 +1,111 @@ +""" +NTLM authenticating pool, contributed by erikcederstran + +Issue #10, see: http://code.google.com/p/urllib3/issues/detail?id=10 +""" +from __future__ import absolute_import + +from logging import getLogger +from ntlm import ntlm + +from .. import HTTPSConnectionPool +from ..packages.six.moves.http_client import HTTPSConnection + + +log = getLogger(__name__) + + +class NTLMConnectionPool(HTTPSConnectionPool): + """ + Implements an NTLM authentication version of an urllib3 connection pool + """ + + scheme = 'https' + + def __init__(self, user, pw, authurl, *args, **kwargs): + """ + authurl is a random URL on the server that is protected by NTLM. + user is the Windows user, probably in the DOMAIN\\username format. + pw is the password for the user. + """ + super(NTLMConnectionPool, self).__init__(*args, **kwargs) + self.authurl = authurl + self.rawuser = user + user_parts = user.split('\\', 1) + self.domain = user_parts[0].upper() + self.user = user_parts[1] + self.pw = pw + + def _new_conn(self): + # Performs the NTLM handshake that secures the connection. The socket + # must be kept open while requests are performed. + self.num_connections += 1 + log.debug('Starting NTLM HTTPS connection no. %d: https://%s%s', + self.num_connections, self.host, self.authurl) + + headers = {'Connection': 'Keep-Alive'} + req_header = 'Authorization' + resp_header = 'www-authenticate' + + conn = HTTPSConnection(host=self.host, port=self.port) + + # Send negotiation message + headers[req_header] = ( + 'NTLM %s' % ntlm.create_NTLM_NEGOTIATE_MESSAGE(self.rawuser)) + log.debug('Request headers: %s', headers) + conn.request('GET', self.authurl, None, headers) + res = conn.getresponse() + reshdr = dict(res.getheaders()) + log.debug('Response status: %s %s', res.status, res.reason) + log.debug('Response headers: %s', reshdr) + log.debug('Response data: %s [...]', res.read(100)) + + # Remove the reference to the socket, so that it can not be closed by + # the response object (we want to keep the socket open) + res.fp = None + + # Server should respond with a challenge message + auth_header_values = reshdr[resp_header].split(', ') + auth_header_value = None + for s in auth_header_values: + if s[:5] == 'NTLM ': + auth_header_value = s[5:] + if auth_header_value is None: + raise Exception('Unexpected %s response header: %s' % + (resp_header, reshdr[resp_header])) + + # Send authentication message + ServerChallenge, NegotiateFlags = \ + ntlm.parse_NTLM_CHALLENGE_MESSAGE(auth_header_value) + auth_msg = ntlm.create_NTLM_AUTHENTICATE_MESSAGE(ServerChallenge, + self.user, + self.domain, + self.pw, + NegotiateFlags) + headers[req_header] = 'NTLM %s' % auth_msg + log.debug('Request headers: %s', headers) + conn.request('GET', self.authurl, None, headers) + res = conn.getresponse() + log.debug('Response status: %s %s', res.status, res.reason) + log.debug('Response headers: %s', dict(res.getheaders())) + log.debug('Response data: %s [...]', res.read()[:100]) + if res.status != 200: + if res.status == 401: + raise Exception('Server rejected request: wrong ' + 'username or password') + raise Exception('Wrong server response: %s %s' % + (res.status, res.reason)) + + res.fp = None + log.debug('Connection established') + return conn + + def urlopen(self, method, url, body=None, headers=None, retries=3, + redirect=True, assert_same_host=True): + if headers is None: + headers = {} + headers['Connection'] = 'Keep-Alive' + return super(NTLMConnectionPool, self).urlopen(method, url, body, + headers, retries, + redirect, + assert_same_host) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/pyopenssl.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/pyopenssl.py new file mode 100644 index 0000000..363667c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/pyopenssl.py @@ -0,0 +1,466 @@ +""" +SSL with SNI_-support for Python 2. Follow these instructions if you would +like to verify SSL certificates in Python 2. Note, the default libraries do +*not* do certificate checking; you need to do additional work to validate +certificates yourself. + +This needs the following packages installed: + +* pyOpenSSL (tested with 16.0.0) +* cryptography (minimum 1.3.4, from pyopenssl) +* idna (minimum 2.0, from cryptography) + +However, pyopenssl depends on cryptography, which depends on idna, so while we +use all three directly here we end up having relatively few packages required. + +You can install them with the following command: + + pip install pyopenssl cryptography idna + +To activate certificate checking, call +:func:`~urllib3.contrib.pyopenssl.inject_into_urllib3` from your Python code +before you begin making HTTP requests. This can be done in a ``sitecustomize`` +module, or at any other time before your application begins using ``urllib3``, +like this:: + + try: + import urllib3.contrib.pyopenssl + urllib3.contrib.pyopenssl.inject_into_urllib3() + except ImportError: + pass + +Now you can use :mod:`urllib3` as you normally would, and it will support SNI +when the required modules are installed. + +Activating this module also has the positive side effect of disabling SSL/TLS +compression in Python 2 (see `CRIME attack`_). + +If you want to configure the default list of supported cipher suites, you can +set the ``urllib3.contrib.pyopenssl.DEFAULT_SSL_CIPHER_LIST`` variable. + +.. _sni: https://en.wikipedia.org/wiki/Server_Name_Indication +.. _crime attack: https://en.wikipedia.org/wiki/CRIME_(security_exploit) +""" +from __future__ import absolute_import + +import OpenSSL.SSL +from cryptography import x509 +from cryptography.hazmat.backends.openssl import backend as openssl_backend +from cryptography.hazmat.backends.openssl.x509 import _Certificate +try: + from cryptography.x509 import UnsupportedExtension +except ImportError: + # UnsupportedExtension is gone in cryptography >= 2.1.0 + class UnsupportedExtension(Exception): + pass + +from socket import timeout, error as SocketError +from io import BytesIO + +try: # Platform-specific: Python 2 + from socket import _fileobject +except ImportError: # Platform-specific: Python 3 + _fileobject = None + from ..packages.backports.makefile import backport_makefile + +import logging +import ssl +from ..packages import six +import sys + +from .. import util + +__all__ = ['inject_into_urllib3', 'extract_from_urllib3'] + +# SNI always works. +HAS_SNI = True + +# Map from urllib3 to PyOpenSSL compatible parameter-values. +_openssl_versions = { + ssl.PROTOCOL_SSLv23: OpenSSL.SSL.SSLv23_METHOD, + ssl.PROTOCOL_TLSv1: OpenSSL.SSL.TLSv1_METHOD, +} + +if hasattr(ssl, 'PROTOCOL_TLSv1_1') and hasattr(OpenSSL.SSL, 'TLSv1_1_METHOD'): + _openssl_versions[ssl.PROTOCOL_TLSv1_1] = OpenSSL.SSL.TLSv1_1_METHOD + +if hasattr(ssl, 'PROTOCOL_TLSv1_2') and hasattr(OpenSSL.SSL, 'TLSv1_2_METHOD'): + _openssl_versions[ssl.PROTOCOL_TLSv1_2] = OpenSSL.SSL.TLSv1_2_METHOD + +try: + _openssl_versions.update({ssl.PROTOCOL_SSLv3: OpenSSL.SSL.SSLv3_METHOD}) +except AttributeError: + pass + +_stdlib_to_openssl_verify = { + ssl.CERT_NONE: OpenSSL.SSL.VERIFY_NONE, + ssl.CERT_OPTIONAL: OpenSSL.SSL.VERIFY_PEER, + ssl.CERT_REQUIRED: + OpenSSL.SSL.VERIFY_PEER + OpenSSL.SSL.VERIFY_FAIL_IF_NO_PEER_CERT, +} +_openssl_to_stdlib_verify = dict( + (v, k) for k, v in _stdlib_to_openssl_verify.items() +) + +# OpenSSL will only write 16K at a time +SSL_WRITE_BLOCKSIZE = 16384 + +orig_util_HAS_SNI = util.HAS_SNI +orig_util_SSLContext = util.ssl_.SSLContext + + +log = logging.getLogger(__name__) + + +def inject_into_urllib3(): + 'Monkey-patch urllib3 with PyOpenSSL-backed SSL-support.' + + _validate_dependencies_met() + + util.ssl_.SSLContext = PyOpenSSLContext + util.HAS_SNI = HAS_SNI + util.ssl_.HAS_SNI = HAS_SNI + util.IS_PYOPENSSL = True + util.ssl_.IS_PYOPENSSL = True + + +def extract_from_urllib3(): + 'Undo monkey-patching by :func:`inject_into_urllib3`.' + + util.ssl_.SSLContext = orig_util_SSLContext + util.HAS_SNI = orig_util_HAS_SNI + util.ssl_.HAS_SNI = orig_util_HAS_SNI + util.IS_PYOPENSSL = False + util.ssl_.IS_PYOPENSSL = False + + +def _validate_dependencies_met(): + """ + Verifies that PyOpenSSL's package-level dependencies have been met. + Throws `ImportError` if they are not met. + """ + # Method added in `cryptography==1.1`; not available in older versions + from cryptography.x509.extensions import Extensions + if getattr(Extensions, "get_extension_for_class", None) is None: + raise ImportError("'cryptography' module missing required functionality. " + "Try upgrading to v1.3.4 or newer.") + + # pyOpenSSL 0.14 and above use cryptography for OpenSSL bindings. The _x509 + # attribute is only present on those versions. + from OpenSSL.crypto import X509 + x509 = X509() + if getattr(x509, "_x509", None) is None: + raise ImportError("'pyOpenSSL' module missing required functionality. " + "Try upgrading to v0.14 or newer.") + + +def _dnsname_to_stdlib(name): + """ + Converts a dNSName SubjectAlternativeName field to the form used by the + standard library on the given Python version. + + Cryptography produces a dNSName as a unicode string that was idna-decoded + from ASCII bytes. We need to idna-encode that string to get it back, and + then on Python 3 we also need to convert to unicode via UTF-8 (the stdlib + uses PyUnicode_FromStringAndSize on it, which decodes via UTF-8). + + If the name cannot be idna-encoded then we return None signalling that + the name given should be skipped. + """ + def idna_encode(name): + """ + Borrowed wholesale from the Python Cryptography Project. It turns out + that we can't just safely call `idna.encode`: it can explode for + wildcard names. This avoids that problem. + """ + from pip._vendor import idna + + try: + for prefix in [u'*.', u'.']: + if name.startswith(prefix): + name = name[len(prefix):] + return prefix.encode('ascii') + idna.encode(name) + return idna.encode(name) + except idna.core.IDNAError: + return None + + name = idna_encode(name) + if name is None: + return None + elif sys.version_info >= (3, 0): + name = name.decode('utf-8') + return name + + +def get_subj_alt_name(peer_cert): + """ + Given an PyOpenSSL certificate, provides all the subject alternative names. + """ + # Pass the cert to cryptography, which has much better APIs for this. + if hasattr(peer_cert, "to_cryptography"): + cert = peer_cert.to_cryptography() + else: + # This is technically using private APIs, but should work across all + # relevant versions before PyOpenSSL got a proper API for this. + cert = _Certificate(openssl_backend, peer_cert._x509) + + # We want to find the SAN extension. Ask Cryptography to locate it (it's + # faster than looping in Python) + try: + ext = cert.extensions.get_extension_for_class( + x509.SubjectAlternativeName + ).value + except x509.ExtensionNotFound: + # No such extension, return the empty list. + return [] + except (x509.DuplicateExtension, UnsupportedExtension, + x509.UnsupportedGeneralNameType, UnicodeError) as e: + # A problem has been found with the quality of the certificate. Assume + # no SAN field is present. + log.warning( + "A problem was encountered with the certificate that prevented " + "urllib3 from finding the SubjectAlternativeName field. This can " + "affect certificate validation. The error was %s", + e, + ) + return [] + + # We want to return dNSName and iPAddress fields. We need to cast the IPs + # back to strings because the match_hostname function wants them as + # strings. + # Sadly the DNS names need to be idna encoded and then, on Python 3, UTF-8 + # decoded. This is pretty frustrating, but that's what the standard library + # does with certificates, and so we need to attempt to do the same. + # We also want to skip over names which cannot be idna encoded. + names = [ + ('DNS', name) for name in map(_dnsname_to_stdlib, ext.get_values_for_type(x509.DNSName)) + if name is not None + ] + names.extend( + ('IP Address', str(name)) + for name in ext.get_values_for_type(x509.IPAddress) + ) + + return names + + +class WrappedSocket(object): + '''API-compatibility wrapper for Python OpenSSL's Connection-class. + + Note: _makefile_refs, _drop() and _reuse() are needed for the garbage + collector of pypy. + ''' + + def __init__(self, connection, socket, suppress_ragged_eofs=True): + self.connection = connection + self.socket = socket + self.suppress_ragged_eofs = suppress_ragged_eofs + self._makefile_refs = 0 + self._closed = False + + def fileno(self): + return self.socket.fileno() + + # Copy-pasted from Python 3.5 source code + def _decref_socketios(self): + if self._makefile_refs > 0: + self._makefile_refs -= 1 + if self._closed: + self.close() + + def recv(self, *args, **kwargs): + try: + data = self.connection.recv(*args, **kwargs) + except OpenSSL.SSL.SysCallError as e: + if self.suppress_ragged_eofs and e.args == (-1, 'Unexpected EOF'): + return b'' + else: + raise SocketError(str(e)) + except OpenSSL.SSL.ZeroReturnError as e: + if self.connection.get_shutdown() == OpenSSL.SSL.RECEIVED_SHUTDOWN: + return b'' + else: + raise + except OpenSSL.SSL.WantReadError: + if not util.wait_for_read(self.socket, self.socket.gettimeout()): + raise timeout('The read operation timed out') + else: + return self.recv(*args, **kwargs) + else: + return data + + def recv_into(self, *args, **kwargs): + try: + return self.connection.recv_into(*args, **kwargs) + except OpenSSL.SSL.SysCallError as e: + if self.suppress_ragged_eofs and e.args == (-1, 'Unexpected EOF'): + return 0 + else: + raise SocketError(str(e)) + except OpenSSL.SSL.ZeroReturnError as e: + if self.connection.get_shutdown() == OpenSSL.SSL.RECEIVED_SHUTDOWN: + return 0 + else: + raise + except OpenSSL.SSL.WantReadError: + if not util.wait_for_read(self.socket, self.socket.gettimeout()): + raise timeout('The read operation timed out') + else: + return self.recv_into(*args, **kwargs) + + def settimeout(self, timeout): + return self.socket.settimeout(timeout) + + def _send_until_done(self, data): + while True: + try: + return self.connection.send(data) + except OpenSSL.SSL.WantWriteError: + if not util.wait_for_write(self.socket, self.socket.gettimeout()): + raise timeout() + continue + except OpenSSL.SSL.SysCallError as e: + raise SocketError(str(e)) + + def sendall(self, data): + total_sent = 0 + while total_sent < len(data): + sent = self._send_until_done(data[total_sent:total_sent + SSL_WRITE_BLOCKSIZE]) + total_sent += sent + + def shutdown(self): + # FIXME rethrow compatible exceptions should we ever use this + self.connection.shutdown() + + def close(self): + if self._makefile_refs < 1: + try: + self._closed = True + return self.connection.close() + except OpenSSL.SSL.Error: + return + else: + self._makefile_refs -= 1 + + def getpeercert(self, binary_form=False): + x509 = self.connection.get_peer_certificate() + + if not x509: + return x509 + + if binary_form: + return OpenSSL.crypto.dump_certificate( + OpenSSL.crypto.FILETYPE_ASN1, + x509) + + return { + 'subject': ( + (('commonName', x509.get_subject().CN),), + ), + 'subjectAltName': get_subj_alt_name(x509) + } + + def _reuse(self): + self._makefile_refs += 1 + + def _drop(self): + if self._makefile_refs < 1: + self.close() + else: + self._makefile_refs -= 1 + + +if _fileobject: # Platform-specific: Python 2 + def makefile(self, mode, bufsize=-1): + self._makefile_refs += 1 + return _fileobject(self, mode, bufsize, close=True) +else: # Platform-specific: Python 3 + makefile = backport_makefile + +WrappedSocket.makefile = makefile + + +class PyOpenSSLContext(object): + """ + I am a wrapper class for the PyOpenSSL ``Context`` object. I am responsible + for translating the interface of the standard library ``SSLContext`` object + to calls into PyOpenSSL. + """ + def __init__(self, protocol): + self.protocol = _openssl_versions[protocol] + self._ctx = OpenSSL.SSL.Context(self.protocol) + self._options = 0 + self.check_hostname = False + + @property + def options(self): + return self._options + + @options.setter + def options(self, value): + self._options = value + self._ctx.set_options(value) + + @property + def verify_mode(self): + return _openssl_to_stdlib_verify[self._ctx.get_verify_mode()] + + @verify_mode.setter + def verify_mode(self, value): + self._ctx.set_verify( + _stdlib_to_openssl_verify[value], + _verify_callback + ) + + def set_default_verify_paths(self): + self._ctx.set_default_verify_paths() + + def set_ciphers(self, ciphers): + if isinstance(ciphers, six.text_type): + ciphers = ciphers.encode('utf-8') + self._ctx.set_cipher_list(ciphers) + + def load_verify_locations(self, cafile=None, capath=None, cadata=None): + if cafile is not None: + cafile = cafile.encode('utf-8') + if capath is not None: + capath = capath.encode('utf-8') + self._ctx.load_verify_locations(cafile, capath) + if cadata is not None: + self._ctx.load_verify_locations(BytesIO(cadata)) + + def load_cert_chain(self, certfile, keyfile=None, password=None): + self._ctx.use_certificate_chain_file(certfile) + if password is not None: + self._ctx.set_passwd_cb(lambda max_length, prompt_twice, userdata: password) + self._ctx.use_privatekey_file(keyfile or certfile) + + def wrap_socket(self, sock, server_side=False, + do_handshake_on_connect=True, suppress_ragged_eofs=True, + server_hostname=None): + cnx = OpenSSL.SSL.Connection(self._ctx, sock) + + if isinstance(server_hostname, six.text_type): # Platform-specific: Python 3 + server_hostname = server_hostname.encode('utf-8') + + if server_hostname is not None: + cnx.set_tlsext_host_name(server_hostname) + + cnx.set_connect_state() + + while True: + try: + cnx.do_handshake() + except OpenSSL.SSL.WantReadError: + if not util.wait_for_read(sock, sock.gettimeout()): + raise timeout('select timed out') + continue + except OpenSSL.SSL.Error as e: + raise ssl.SSLError('bad handshake: %r' % e) + break + + return WrappedSocket(cnx, sock) + + +def _verify_callback(cnx, x509, err_no, err_depth, return_code): + return err_no == 0 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/securetransport.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/securetransport.py new file mode 100644 index 0000000..77cb59e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/securetransport.py @@ -0,0 +1,804 @@ +""" +SecureTranport support for urllib3 via ctypes. + +This makes platform-native TLS available to urllib3 users on macOS without the +use of a compiler. This is an important feature because the Python Package +Index is moving to become a TLSv1.2-or-higher server, and the default OpenSSL +that ships with macOS is not capable of doing TLSv1.2. The only way to resolve +this is to give macOS users an alternative solution to the problem, and that +solution is to use SecureTransport. + +We use ctypes here because this solution must not require a compiler. That's +because pip is not allowed to require a compiler either. + +This is not intended to be a seriously long-term solution to this problem. +The hope is that PEP 543 will eventually solve this issue for us, at which +point we can retire this contrib module. But in the short term, we need to +solve the impending tire fire that is Python on Mac without this kind of +contrib module. So...here we are. + +To use this module, simply import and inject it:: + + import urllib3.contrib.securetransport + urllib3.contrib.securetransport.inject_into_urllib3() + +Happy TLSing! +""" +from __future__ import absolute_import + +import contextlib +import ctypes +import errno +import os.path +import shutil +import socket +import ssl +import threading +import weakref + +from .. import util +from ._securetransport.bindings import ( + Security, SecurityConst, CoreFoundation +) +from ._securetransport.low_level import ( + _assert_no_error, _cert_array_from_pem, _temporary_keychain, + _load_client_cert_chain +) + +try: # Platform-specific: Python 2 + from socket import _fileobject +except ImportError: # Platform-specific: Python 3 + _fileobject = None + from ..packages.backports.makefile import backport_makefile + +__all__ = ['inject_into_urllib3', 'extract_from_urllib3'] + +# SNI always works +HAS_SNI = True + +orig_util_HAS_SNI = util.HAS_SNI +orig_util_SSLContext = util.ssl_.SSLContext + +# This dictionary is used by the read callback to obtain a handle to the +# calling wrapped socket. This is a pretty silly approach, but for now it'll +# do. I feel like I should be able to smuggle a handle to the wrapped socket +# directly in the SSLConnectionRef, but for now this approach will work I +# guess. +# +# We need to lock around this structure for inserts, but we don't do it for +# reads/writes in the callbacks. The reasoning here goes as follows: +# +# 1. It is not possible to call into the callbacks before the dictionary is +# populated, so once in the callback the id must be in the dictionary. +# 2. The callbacks don't mutate the dictionary, they only read from it, and +# so cannot conflict with any of the insertions. +# +# This is good: if we had to lock in the callbacks we'd drastically slow down +# the performance of this code. +_connection_refs = weakref.WeakValueDictionary() +_connection_ref_lock = threading.Lock() + +# Limit writes to 16kB. This is OpenSSL's limit, but we'll cargo-cult it over +# for no better reason than we need *a* limit, and this one is right there. +SSL_WRITE_BLOCKSIZE = 16384 + +# This is our equivalent of util.ssl_.DEFAULT_CIPHERS, but expanded out to +# individual cipher suites. We need to do this because this is how +# SecureTransport wants them. +CIPHER_SUITES = [ + SecurityConst.TLS_AES_256_GCM_SHA384, + SecurityConst.TLS_CHACHA20_POLY1305_SHA256, + SecurityConst.TLS_AES_128_GCM_SHA256, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, + SecurityConst.TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, + SecurityConst.TLS_DHE_RSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_DHE_DSS_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_DHE_RSA_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_DHE_DSS_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_RSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_RSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_RSA_WITH_AES_256_CBC_SHA256, + SecurityConst.TLS_RSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_RSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_RSA_WITH_AES_128_CBC_SHA, +] + +# Basically this is simple: for PROTOCOL_SSLv23 we turn it into a low of +# TLSv1 and a high of TLSv1.2. For everything else, we pin to that version. +_protocol_to_min_max = { + ssl.PROTOCOL_SSLv23: (SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocol12), +} + +if hasattr(ssl, "PROTOCOL_SSLv2"): + _protocol_to_min_max[ssl.PROTOCOL_SSLv2] = ( + SecurityConst.kSSLProtocol2, SecurityConst.kSSLProtocol2 + ) +if hasattr(ssl, "PROTOCOL_SSLv3"): + _protocol_to_min_max[ssl.PROTOCOL_SSLv3] = ( + SecurityConst.kSSLProtocol3, SecurityConst.kSSLProtocol3 + ) +if hasattr(ssl, "PROTOCOL_TLSv1"): + _protocol_to_min_max[ssl.PROTOCOL_TLSv1] = ( + SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocol1 + ) +if hasattr(ssl, "PROTOCOL_TLSv1_1"): + _protocol_to_min_max[ssl.PROTOCOL_TLSv1_1] = ( + SecurityConst.kTLSProtocol11, SecurityConst.kTLSProtocol11 + ) +if hasattr(ssl, "PROTOCOL_TLSv1_2"): + _protocol_to_min_max[ssl.PROTOCOL_TLSv1_2] = ( + SecurityConst.kTLSProtocol12, SecurityConst.kTLSProtocol12 + ) +if hasattr(ssl, "PROTOCOL_TLS"): + _protocol_to_min_max[ssl.PROTOCOL_TLS] = _protocol_to_min_max[ssl.PROTOCOL_SSLv23] + + +def inject_into_urllib3(): + """ + Monkey-patch urllib3 with SecureTransport-backed SSL-support. + """ + util.ssl_.SSLContext = SecureTransportContext + util.HAS_SNI = HAS_SNI + util.ssl_.HAS_SNI = HAS_SNI + util.IS_SECURETRANSPORT = True + util.ssl_.IS_SECURETRANSPORT = True + + +def extract_from_urllib3(): + """ + Undo monkey-patching by :func:`inject_into_urllib3`. + """ + util.ssl_.SSLContext = orig_util_SSLContext + util.HAS_SNI = orig_util_HAS_SNI + util.ssl_.HAS_SNI = orig_util_HAS_SNI + util.IS_SECURETRANSPORT = False + util.ssl_.IS_SECURETRANSPORT = False + + +def _read_callback(connection_id, data_buffer, data_length_pointer): + """ + SecureTransport read callback. This is called by ST to request that data + be returned from the socket. + """ + wrapped_socket = None + try: + wrapped_socket = _connection_refs.get(connection_id) + if wrapped_socket is None: + return SecurityConst.errSSLInternal + base_socket = wrapped_socket.socket + + requested_length = data_length_pointer[0] + + timeout = wrapped_socket.gettimeout() + error = None + read_count = 0 + + try: + while read_count < requested_length: + if timeout is None or timeout >= 0: + if not util.wait_for_read(base_socket, timeout): + raise socket.error(errno.EAGAIN, 'timed out') + + remaining = requested_length - read_count + buffer = (ctypes.c_char * remaining).from_address( + data_buffer + read_count + ) + chunk_size = base_socket.recv_into(buffer, remaining) + read_count += chunk_size + if not chunk_size: + if not read_count: + return SecurityConst.errSSLClosedGraceful + break + except (socket.error) as e: + error = e.errno + + if error is not None and error != errno.EAGAIN: + data_length_pointer[0] = read_count + if error == errno.ECONNRESET or error == errno.EPIPE: + return SecurityConst.errSSLClosedAbort + raise + + data_length_pointer[0] = read_count + + if read_count != requested_length: + return SecurityConst.errSSLWouldBlock + + return 0 + except Exception as e: + if wrapped_socket is not None: + wrapped_socket._exception = e + return SecurityConst.errSSLInternal + + +def _write_callback(connection_id, data_buffer, data_length_pointer): + """ + SecureTransport write callback. This is called by ST to request that data + actually be sent on the network. + """ + wrapped_socket = None + try: + wrapped_socket = _connection_refs.get(connection_id) + if wrapped_socket is None: + return SecurityConst.errSSLInternal + base_socket = wrapped_socket.socket + + bytes_to_write = data_length_pointer[0] + data = ctypes.string_at(data_buffer, bytes_to_write) + + timeout = wrapped_socket.gettimeout() + error = None + sent = 0 + + try: + while sent < bytes_to_write: + if timeout is None or timeout >= 0: + if not util.wait_for_write(base_socket, timeout): + raise socket.error(errno.EAGAIN, 'timed out') + chunk_sent = base_socket.send(data) + sent += chunk_sent + + # This has some needless copying here, but I'm not sure there's + # much value in optimising this data path. + data = data[chunk_sent:] + except (socket.error) as e: + error = e.errno + + if error is not None and error != errno.EAGAIN: + data_length_pointer[0] = sent + if error == errno.ECONNRESET or error == errno.EPIPE: + return SecurityConst.errSSLClosedAbort + raise + + data_length_pointer[0] = sent + + if sent != bytes_to_write: + return SecurityConst.errSSLWouldBlock + + return 0 + except Exception as e: + if wrapped_socket is not None: + wrapped_socket._exception = e + return SecurityConst.errSSLInternal + + +# We need to keep these two objects references alive: if they get GC'd while +# in use then SecureTransport could attempt to call a function that is in freed +# memory. That would be...uh...bad. Yeah, that's the word. Bad. +_read_callback_pointer = Security.SSLReadFunc(_read_callback) +_write_callback_pointer = Security.SSLWriteFunc(_write_callback) + + +class WrappedSocket(object): + """ + API-compatibility wrapper for Python's OpenSSL wrapped socket object. + + Note: _makefile_refs, _drop(), and _reuse() are needed for the garbage + collector of PyPy. + """ + def __init__(self, socket): + self.socket = socket + self.context = None + self._makefile_refs = 0 + self._closed = False + self._exception = None + self._keychain = None + self._keychain_dir = None + self._client_cert_chain = None + + # We save off the previously-configured timeout and then set it to + # zero. This is done because we use select and friends to handle the + # timeouts, but if we leave the timeout set on the lower socket then + # Python will "kindly" call select on that socket again for us. Avoid + # that by forcing the timeout to zero. + self._timeout = self.socket.gettimeout() + self.socket.settimeout(0) + + @contextlib.contextmanager + def _raise_on_error(self): + """ + A context manager that can be used to wrap calls that do I/O from + SecureTransport. If any of the I/O callbacks hit an exception, this + context manager will correctly propagate the exception after the fact. + This avoids silently swallowing those exceptions. + + It also correctly forces the socket closed. + """ + self._exception = None + + # We explicitly don't catch around this yield because in the unlikely + # event that an exception was hit in the block we don't want to swallow + # it. + yield + if self._exception is not None: + exception, self._exception = self._exception, None + self.close() + raise exception + + def _set_ciphers(self): + """ + Sets up the allowed ciphers. By default this matches the set in + util.ssl_.DEFAULT_CIPHERS, at least as supported by macOS. This is done + custom and doesn't allow changing at this time, mostly because parsing + OpenSSL cipher strings is going to be a freaking nightmare. + """ + ciphers = (Security.SSLCipherSuite * len(CIPHER_SUITES))(*CIPHER_SUITES) + result = Security.SSLSetEnabledCiphers( + self.context, ciphers, len(CIPHER_SUITES) + ) + _assert_no_error(result) + + def _custom_validate(self, verify, trust_bundle): + """ + Called when we have set custom validation. We do this in two cases: + first, when cert validation is entirely disabled; and second, when + using a custom trust DB. + """ + # If we disabled cert validation, just say: cool. + if not verify: + return + + # We want data in memory, so load it up. + if os.path.isfile(trust_bundle): + with open(trust_bundle, 'rb') as f: + trust_bundle = f.read() + + cert_array = None + trust = Security.SecTrustRef() + + try: + # Get a CFArray that contains the certs we want. + cert_array = _cert_array_from_pem(trust_bundle) + + # Ok, now the hard part. We want to get the SecTrustRef that ST has + # created for this connection, shove our CAs into it, tell ST to + # ignore everything else it knows, and then ask if it can build a + # chain. This is a buuuunch of code. + result = Security.SSLCopyPeerTrust( + self.context, ctypes.byref(trust) + ) + _assert_no_error(result) + if not trust: + raise ssl.SSLError("Failed to copy trust reference") + + result = Security.SecTrustSetAnchorCertificates(trust, cert_array) + _assert_no_error(result) + + result = Security.SecTrustSetAnchorCertificatesOnly(trust, True) + _assert_no_error(result) + + trust_result = Security.SecTrustResultType() + result = Security.SecTrustEvaluate( + trust, ctypes.byref(trust_result) + ) + _assert_no_error(result) + finally: + if trust: + CoreFoundation.CFRelease(trust) + + if cert_array is not None: + CoreFoundation.CFRelease(cert_array) + + # Ok, now we can look at what the result was. + successes = ( + SecurityConst.kSecTrustResultUnspecified, + SecurityConst.kSecTrustResultProceed + ) + if trust_result.value not in successes: + raise ssl.SSLError( + "certificate verify failed, error code: %d" % + trust_result.value + ) + + def handshake(self, + server_hostname, + verify, + trust_bundle, + min_version, + max_version, + client_cert, + client_key, + client_key_passphrase): + """ + Actually performs the TLS handshake. This is run automatically by + wrapped socket, and shouldn't be needed in user code. + """ + # First, we do the initial bits of connection setup. We need to create + # a context, set its I/O funcs, and set the connection reference. + self.context = Security.SSLCreateContext( + None, SecurityConst.kSSLClientSide, SecurityConst.kSSLStreamType + ) + result = Security.SSLSetIOFuncs( + self.context, _read_callback_pointer, _write_callback_pointer + ) + _assert_no_error(result) + + # Here we need to compute the handle to use. We do this by taking the + # id of self modulo 2**31 - 1. If this is already in the dictionary, we + # just keep incrementing by one until we find a free space. + with _connection_ref_lock: + handle = id(self) % 2147483647 + while handle in _connection_refs: + handle = (handle + 1) % 2147483647 + _connection_refs[handle] = self + + result = Security.SSLSetConnection(self.context, handle) + _assert_no_error(result) + + # If we have a server hostname, we should set that too. + if server_hostname: + if not isinstance(server_hostname, bytes): + server_hostname = server_hostname.encode('utf-8') + + result = Security.SSLSetPeerDomainName( + self.context, server_hostname, len(server_hostname) + ) + _assert_no_error(result) + + # Setup the ciphers. + self._set_ciphers() + + # Set the minimum and maximum TLS versions. + result = Security.SSLSetProtocolVersionMin(self.context, min_version) + _assert_no_error(result) + result = Security.SSLSetProtocolVersionMax(self.context, max_version) + _assert_no_error(result) + + # If there's a trust DB, we need to use it. We do that by telling + # SecureTransport to break on server auth. We also do that if we don't + # want to validate the certs at all: we just won't actually do any + # authing in that case. + if not verify or trust_bundle is not None: + result = Security.SSLSetSessionOption( + self.context, + SecurityConst.kSSLSessionOptionBreakOnServerAuth, + True + ) + _assert_no_error(result) + + # If there's a client cert, we need to use it. + if client_cert: + self._keychain, self._keychain_dir = _temporary_keychain() + self._client_cert_chain = _load_client_cert_chain( + self._keychain, client_cert, client_key + ) + result = Security.SSLSetCertificate( + self.context, self._client_cert_chain + ) + _assert_no_error(result) + + while True: + with self._raise_on_error(): + result = Security.SSLHandshake(self.context) + + if result == SecurityConst.errSSLWouldBlock: + raise socket.timeout("handshake timed out") + elif result == SecurityConst.errSSLServerAuthCompleted: + self._custom_validate(verify, trust_bundle) + continue + else: + _assert_no_error(result) + break + + def fileno(self): + return self.socket.fileno() + + # Copy-pasted from Python 3.5 source code + def _decref_socketios(self): + if self._makefile_refs > 0: + self._makefile_refs -= 1 + if self._closed: + self.close() + + def recv(self, bufsiz): + buffer = ctypes.create_string_buffer(bufsiz) + bytes_read = self.recv_into(buffer, bufsiz) + data = buffer[:bytes_read] + return data + + def recv_into(self, buffer, nbytes=None): + # Read short on EOF. + if self._closed: + return 0 + + if nbytes is None: + nbytes = len(buffer) + + buffer = (ctypes.c_char * nbytes).from_buffer(buffer) + processed_bytes = ctypes.c_size_t(0) + + with self._raise_on_error(): + result = Security.SSLRead( + self.context, buffer, nbytes, ctypes.byref(processed_bytes) + ) + + # There are some result codes that we want to treat as "not always + # errors". Specifically, those are errSSLWouldBlock, + # errSSLClosedGraceful, and errSSLClosedNoNotify. + if (result == SecurityConst.errSSLWouldBlock): + # If we didn't process any bytes, then this was just a time out. + # However, we can get errSSLWouldBlock in situations when we *did* + # read some data, and in those cases we should just read "short" + # and return. + if processed_bytes.value == 0: + # Timed out, no data read. + raise socket.timeout("recv timed out") + elif result in (SecurityConst.errSSLClosedGraceful, SecurityConst.errSSLClosedNoNotify): + # The remote peer has closed this connection. We should do so as + # well. Note that we don't actually return here because in + # principle this could actually be fired along with return data. + # It's unlikely though. + self.close() + else: + _assert_no_error(result) + + # Ok, we read and probably succeeded. We should return whatever data + # was actually read. + return processed_bytes.value + + def settimeout(self, timeout): + self._timeout = timeout + + def gettimeout(self): + return self._timeout + + def send(self, data): + processed_bytes = ctypes.c_size_t(0) + + with self._raise_on_error(): + result = Security.SSLWrite( + self.context, data, len(data), ctypes.byref(processed_bytes) + ) + + if result == SecurityConst.errSSLWouldBlock and processed_bytes.value == 0: + # Timed out + raise socket.timeout("send timed out") + else: + _assert_no_error(result) + + # We sent, and probably succeeded. Tell them how much we sent. + return processed_bytes.value + + def sendall(self, data): + total_sent = 0 + while total_sent < len(data): + sent = self.send(data[total_sent:total_sent + SSL_WRITE_BLOCKSIZE]) + total_sent += sent + + def shutdown(self): + with self._raise_on_error(): + Security.SSLClose(self.context) + + def close(self): + # TODO: should I do clean shutdown here? Do I have to? + if self._makefile_refs < 1: + self._closed = True + if self.context: + CoreFoundation.CFRelease(self.context) + self.context = None + if self._client_cert_chain: + CoreFoundation.CFRelease(self._client_cert_chain) + self._client_cert_chain = None + if self._keychain: + Security.SecKeychainDelete(self._keychain) + CoreFoundation.CFRelease(self._keychain) + shutil.rmtree(self._keychain_dir) + self._keychain = self._keychain_dir = None + return self.socket.close() + else: + self._makefile_refs -= 1 + + def getpeercert(self, binary_form=False): + # Urgh, annoying. + # + # Here's how we do this: + # + # 1. Call SSLCopyPeerTrust to get hold of the trust object for this + # connection. + # 2. Call SecTrustGetCertificateAtIndex for index 0 to get the leaf. + # 3. To get the CN, call SecCertificateCopyCommonName and process that + # string so that it's of the appropriate type. + # 4. To get the SAN, we need to do something a bit more complex: + # a. Call SecCertificateCopyValues to get the data, requesting + # kSecOIDSubjectAltName. + # b. Mess about with this dictionary to try to get the SANs out. + # + # This is gross. Really gross. It's going to be a few hundred LoC extra + # just to repeat something that SecureTransport can *already do*. So my + # operating assumption at this time is that what we want to do is + # instead to just flag to urllib3 that it shouldn't do its own hostname + # validation when using SecureTransport. + if not binary_form: + raise ValueError( + "SecureTransport only supports dumping binary certs" + ) + trust = Security.SecTrustRef() + certdata = None + der_bytes = None + + try: + # Grab the trust store. + result = Security.SSLCopyPeerTrust( + self.context, ctypes.byref(trust) + ) + _assert_no_error(result) + if not trust: + # Probably we haven't done the handshake yet. No biggie. + return None + + cert_count = Security.SecTrustGetCertificateCount(trust) + if not cert_count: + # Also a case that might happen if we haven't handshaked. + # Handshook? Handshaken? + return None + + leaf = Security.SecTrustGetCertificateAtIndex(trust, 0) + assert leaf + + # Ok, now we want the DER bytes. + certdata = Security.SecCertificateCopyData(leaf) + assert certdata + + data_length = CoreFoundation.CFDataGetLength(certdata) + data_buffer = CoreFoundation.CFDataGetBytePtr(certdata) + der_bytes = ctypes.string_at(data_buffer, data_length) + finally: + if certdata: + CoreFoundation.CFRelease(certdata) + if trust: + CoreFoundation.CFRelease(trust) + + return der_bytes + + def _reuse(self): + self._makefile_refs += 1 + + def _drop(self): + if self._makefile_refs < 1: + self.close() + else: + self._makefile_refs -= 1 + + +if _fileobject: # Platform-specific: Python 2 + def makefile(self, mode, bufsize=-1): + self._makefile_refs += 1 + return _fileobject(self, mode, bufsize, close=True) +else: # Platform-specific: Python 3 + def makefile(self, mode="r", buffering=None, *args, **kwargs): + # We disable buffering with SecureTransport because it conflicts with + # the buffering that ST does internally (see issue #1153 for more). + buffering = 0 + return backport_makefile(self, mode, buffering, *args, **kwargs) + +WrappedSocket.makefile = makefile + + +class SecureTransportContext(object): + """ + I am a wrapper class for the SecureTransport library, to translate the + interface of the standard library ``SSLContext`` object to calls into + SecureTransport. + """ + def __init__(self, protocol): + self._min_version, self._max_version = _protocol_to_min_max[protocol] + self._options = 0 + self._verify = False + self._trust_bundle = None + self._client_cert = None + self._client_key = None + self._client_key_passphrase = None + + @property + def check_hostname(self): + """ + SecureTransport cannot have its hostname checking disabled. For more, + see the comment on getpeercert() in this file. + """ + return True + + @check_hostname.setter + def check_hostname(self, value): + """ + SecureTransport cannot have its hostname checking disabled. For more, + see the comment on getpeercert() in this file. + """ + pass + + @property + def options(self): + # TODO: Well, crap. + # + # So this is the bit of the code that is the most likely to cause us + # trouble. Essentially we need to enumerate all of the SSL options that + # users might want to use and try to see if we can sensibly translate + # them, or whether we should just ignore them. + return self._options + + @options.setter + def options(self, value): + # TODO: Update in line with above. + self._options = value + + @property + def verify_mode(self): + return ssl.CERT_REQUIRED if self._verify else ssl.CERT_NONE + + @verify_mode.setter + def verify_mode(self, value): + self._verify = True if value == ssl.CERT_REQUIRED else False + + def set_default_verify_paths(self): + # So, this has to do something a bit weird. Specifically, what it does + # is nothing. + # + # This means that, if we had previously had load_verify_locations + # called, this does not undo that. We need to do that because it turns + # out that the rest of the urllib3 code will attempt to load the + # default verify paths if it hasn't been told about any paths, even if + # the context itself was sometime earlier. We resolve that by just + # ignoring it. + pass + + def load_default_certs(self): + return self.set_default_verify_paths() + + def set_ciphers(self, ciphers): + # For now, we just require the default cipher string. + if ciphers != util.ssl_.DEFAULT_CIPHERS: + raise ValueError( + "SecureTransport doesn't support custom cipher strings" + ) + + def load_verify_locations(self, cafile=None, capath=None, cadata=None): + # OK, we only really support cadata and cafile. + if capath is not None: + raise ValueError( + "SecureTransport does not support cert directories" + ) + + self._trust_bundle = cafile or cadata + + def load_cert_chain(self, certfile, keyfile=None, password=None): + self._client_cert = certfile + self._client_key = keyfile + self._client_cert_passphrase = password + + def wrap_socket(self, sock, server_side=False, + do_handshake_on_connect=True, suppress_ragged_eofs=True, + server_hostname=None): + # So, what do we do here? Firstly, we assert some properties. This is a + # stripped down shim, so there is some functionality we don't support. + # See PEP 543 for the real deal. + assert not server_side + assert do_handshake_on_connect + assert suppress_ragged_eofs + + # Ok, we're good to go. Now we want to create the wrapped socket object + # and store it in the appropriate place. + wrapped_socket = WrappedSocket(sock) + + # Now we can handshake + wrapped_socket.handshake( + server_hostname, self._verify, self._trust_bundle, + self._min_version, self._max_version, self._client_cert, + self._client_key, self._client_key_passphrase + ) + return wrapped_socket diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/socks.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/socks.py new file mode 100644 index 0000000..811e312 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/contrib/socks.py @@ -0,0 +1,192 @@ +# -*- coding: utf-8 -*- +""" +This module contains provisional support for SOCKS proxies from within +urllib3. This module supports SOCKS4 (specifically the SOCKS4A variant) and +SOCKS5. To enable its functionality, either install PySocks or install this +module with the ``socks`` extra. + +The SOCKS implementation supports the full range of urllib3 features. It also +supports the following SOCKS features: + +- SOCKS4 +- SOCKS4a +- SOCKS5 +- Usernames and passwords for the SOCKS proxy + +Known Limitations: + +- Currently PySocks does not support contacting remote websites via literal + IPv6 addresses. Any such connection attempt will fail. You must use a domain + name. +- Currently PySocks does not support IPv6 connections to the SOCKS proxy. Any + such connection attempt will fail. +""" +from __future__ import absolute_import + +try: + import socks +except ImportError: + import warnings + from ..exceptions import DependencyWarning + + warnings.warn(( + 'SOCKS support in urllib3 requires the installation of optional ' + 'dependencies: specifically, PySocks. For more information, see ' + 'https://urllib3.readthedocs.io/en/latest/contrib.html#socks-proxies' + ), + DependencyWarning + ) + raise + +from socket import error as SocketError, timeout as SocketTimeout + +from ..connection import ( + HTTPConnection, HTTPSConnection +) +from ..connectionpool import ( + HTTPConnectionPool, HTTPSConnectionPool +) +from ..exceptions import ConnectTimeoutError, NewConnectionError +from ..poolmanager import PoolManager +from ..util.url import parse_url + +try: + import ssl +except ImportError: + ssl = None + + +class SOCKSConnection(HTTPConnection): + """ + A plain-text HTTP connection that connects via a SOCKS proxy. + """ + def __init__(self, *args, **kwargs): + self._socks_options = kwargs.pop('_socks_options') + super(SOCKSConnection, self).__init__(*args, **kwargs) + + def _new_conn(self): + """ + Establish a new connection via the SOCKS proxy. + """ + extra_kw = {} + if self.source_address: + extra_kw['source_address'] = self.source_address + + if self.socket_options: + extra_kw['socket_options'] = self.socket_options + + try: + conn = socks.create_connection( + (self.host, self.port), + proxy_type=self._socks_options['socks_version'], + proxy_addr=self._socks_options['proxy_host'], + proxy_port=self._socks_options['proxy_port'], + proxy_username=self._socks_options['username'], + proxy_password=self._socks_options['password'], + proxy_rdns=self._socks_options['rdns'], + timeout=self.timeout, + **extra_kw + ) + + except SocketTimeout as e: + raise ConnectTimeoutError( + self, "Connection to %s timed out. (connect timeout=%s)" % + (self.host, self.timeout)) + + except socks.ProxyError as e: + # This is fragile as hell, but it seems to be the only way to raise + # useful errors here. + if e.socket_err: + error = e.socket_err + if isinstance(error, SocketTimeout): + raise ConnectTimeoutError( + self, + "Connection to %s timed out. (connect timeout=%s)" % + (self.host, self.timeout) + ) + else: + raise NewConnectionError( + self, + "Failed to establish a new connection: %s" % error + ) + else: + raise NewConnectionError( + self, + "Failed to establish a new connection: %s" % e + ) + + except SocketError as e: # Defensive: PySocks should catch all these. + raise NewConnectionError( + self, "Failed to establish a new connection: %s" % e) + + return conn + + +# We don't need to duplicate the Verified/Unverified distinction from +# urllib3/connection.py here because the HTTPSConnection will already have been +# correctly set to either the Verified or Unverified form by that module. This +# means the SOCKSHTTPSConnection will automatically be the correct type. +class SOCKSHTTPSConnection(SOCKSConnection, HTTPSConnection): + pass + + +class SOCKSHTTPConnectionPool(HTTPConnectionPool): + ConnectionCls = SOCKSConnection + + +class SOCKSHTTPSConnectionPool(HTTPSConnectionPool): + ConnectionCls = SOCKSHTTPSConnection + + +class SOCKSProxyManager(PoolManager): + """ + A version of the urllib3 ProxyManager that routes connections via the + defined SOCKS proxy. + """ + pool_classes_by_scheme = { + 'http': SOCKSHTTPConnectionPool, + 'https': SOCKSHTTPSConnectionPool, + } + + def __init__(self, proxy_url, username=None, password=None, + num_pools=10, headers=None, **connection_pool_kw): + parsed = parse_url(proxy_url) + + if username is None and password is None and parsed.auth is not None: + split = parsed.auth.split(':') + if len(split) == 2: + username, password = split + if parsed.scheme == 'socks5': + socks_version = socks.PROXY_TYPE_SOCKS5 + rdns = False + elif parsed.scheme == 'socks5h': + socks_version = socks.PROXY_TYPE_SOCKS5 + rdns = True + elif parsed.scheme == 'socks4': + socks_version = socks.PROXY_TYPE_SOCKS4 + rdns = False + elif parsed.scheme == 'socks4a': + socks_version = socks.PROXY_TYPE_SOCKS4 + rdns = True + else: + raise ValueError( + "Unable to determine SOCKS version from %s" % proxy_url + ) + + self.proxy_url = proxy_url + + socks_options = { + 'socks_version': socks_version, + 'proxy_host': parsed.host, + 'proxy_port': parsed.port, + 'username': username, + 'password': password, + 'rdns': rdns + } + connection_pool_kw['_socks_options'] = socks_options + + super(SOCKSProxyManager, self).__init__( + num_pools, headers, **connection_pool_kw + ) + + self.pool_classes_by_scheme = SOCKSProxyManager.pool_classes_by_scheme diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/exceptions.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/exceptions.py new file mode 100644 index 0000000..7bbaa98 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/exceptions.py @@ -0,0 +1,246 @@ +from __future__ import absolute_import +from .packages.six.moves.http_client import ( + IncompleteRead as httplib_IncompleteRead +) +# Base Exceptions + + +class HTTPError(Exception): + "Base exception used by this module." + pass + + +class HTTPWarning(Warning): + "Base warning used by this module." + pass + + +class PoolError(HTTPError): + "Base exception for errors caused within a pool." + def __init__(self, pool, message): + self.pool = pool + HTTPError.__init__(self, "%s: %s" % (pool, message)) + + def __reduce__(self): + # For pickling purposes. + return self.__class__, (None, None) + + +class RequestError(PoolError): + "Base exception for PoolErrors that have associated URLs." + def __init__(self, pool, url, message): + self.url = url + PoolError.__init__(self, pool, message) + + def __reduce__(self): + # For pickling purposes. + return self.__class__, (None, self.url, None) + + +class SSLError(HTTPError): + "Raised when SSL certificate fails in an HTTPS connection." + pass + + +class ProxyError(HTTPError): + "Raised when the connection to a proxy fails." + pass + + +class DecodeError(HTTPError): + "Raised when automatic decoding based on Content-Type fails." + pass + + +class ProtocolError(HTTPError): + "Raised when something unexpected happens mid-request/response." + pass + + +#: Renamed to ProtocolError but aliased for backwards compatibility. +ConnectionError = ProtocolError + + +# Leaf Exceptions + +class MaxRetryError(RequestError): + """Raised when the maximum number of retries is exceeded. + + :param pool: The connection pool + :type pool: :class:`~urllib3.connectionpool.HTTPConnectionPool` + :param string url: The requested Url + :param exceptions.Exception reason: The underlying error + + """ + + def __init__(self, pool, url, reason=None): + self.reason = reason + + message = "Max retries exceeded with url: %s (Caused by %r)" % ( + url, reason) + + RequestError.__init__(self, pool, url, message) + + +class HostChangedError(RequestError): + "Raised when an existing pool gets a request for a foreign host." + + def __init__(self, pool, url, retries=3): + message = "Tried to open a foreign host with url: %s" % url + RequestError.__init__(self, pool, url, message) + self.retries = retries + + +class TimeoutStateError(HTTPError): + """ Raised when passing an invalid state to a timeout """ + pass + + +class TimeoutError(HTTPError): + """ Raised when a socket timeout error occurs. + + Catching this error will catch both :exc:`ReadTimeoutErrors + <ReadTimeoutError>` and :exc:`ConnectTimeoutErrors <ConnectTimeoutError>`. + """ + pass + + +class ReadTimeoutError(TimeoutError, RequestError): + "Raised when a socket timeout occurs while receiving data from a server" + pass + + +# This timeout error does not have a URL attached and needs to inherit from the +# base HTTPError +class ConnectTimeoutError(TimeoutError): + "Raised when a socket timeout occurs while connecting to a server" + pass + + +class NewConnectionError(ConnectTimeoutError, PoolError): + "Raised when we fail to establish a new connection. Usually ECONNREFUSED." + pass + + +class EmptyPoolError(PoolError): + "Raised when a pool runs out of connections and no more are allowed." + pass + + +class ClosedPoolError(PoolError): + "Raised when a request enters a pool after the pool has been closed." + pass + + +class LocationValueError(ValueError, HTTPError): + "Raised when there is something wrong with a given URL input." + pass + + +class LocationParseError(LocationValueError): + "Raised when get_host or similar fails to parse the URL input." + + def __init__(self, location): + message = "Failed to parse: %s" % location + HTTPError.__init__(self, message) + + self.location = location + + +class ResponseError(HTTPError): + "Used as a container for an error reason supplied in a MaxRetryError." + GENERIC_ERROR = 'too many error responses' + SPECIFIC_ERROR = 'too many {status_code} error responses' + + +class SecurityWarning(HTTPWarning): + "Warned when performing security reducing actions" + pass + + +class SubjectAltNameWarning(SecurityWarning): + "Warned when connecting to a host with a certificate missing a SAN." + pass + + +class InsecureRequestWarning(SecurityWarning): + "Warned when making an unverified HTTPS request." + pass + + +class SystemTimeWarning(SecurityWarning): + "Warned when system time is suspected to be wrong" + pass + + +class InsecurePlatformWarning(SecurityWarning): + "Warned when certain SSL configuration is not available on a platform." + pass + + +class SNIMissingWarning(HTTPWarning): + "Warned when making a HTTPS request without SNI available." + pass + + +class DependencyWarning(HTTPWarning): + """ + Warned when an attempt is made to import a module with missing optional + dependencies. + """ + pass + + +class ResponseNotChunked(ProtocolError, ValueError): + "Response needs to be chunked in order to read it as chunks." + pass + + +class BodyNotHttplibCompatible(HTTPError): + """ + Body should be httplib.HTTPResponse like (have an fp attribute which + returns raw chunks) for read_chunked(). + """ + pass + + +class IncompleteRead(HTTPError, httplib_IncompleteRead): + """ + Response length doesn't match expected Content-Length + + Subclass of http_client.IncompleteRead to allow int value + for `partial` to avoid creating large objects on streamed + reads. + """ + def __init__(self, partial, expected): + super(IncompleteRead, self).__init__(partial, expected) + + def __repr__(self): + return ('IncompleteRead(%i bytes read, ' + '%i more expected)' % (self.partial, self.expected)) + + +class InvalidHeader(HTTPError): + "The header provided was somehow invalid." + pass + + +class ProxySchemeUnknown(AssertionError, ValueError): + "ProxyManager does not support the supplied scheme" + # TODO(t-8ch): Stop inheriting from AssertionError in v2.0. + + def __init__(self, scheme): + message = "Not supported proxy scheme %s" % scheme + super(ProxySchemeUnknown, self).__init__(message) + + +class HeaderParsingError(HTTPError): + "Raised by assert_header_parsing, but we convert it to a log.warning statement." + def __init__(self, defects, unparsed_data): + message = '%s, unparsed data: %r' % (defects or 'Unknown', unparsed_data) + super(HeaderParsingError, self).__init__(message) + + +class UnrewindableBodyError(HTTPError): + "urllib3 encountered an error when trying to rewind a body" + pass diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/fields.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/fields.py new file mode 100644 index 0000000..37fe64a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/fields.py @@ -0,0 +1,178 @@ +from __future__ import absolute_import +import email.utils +import mimetypes + +from .packages import six + + +def guess_content_type(filename, default='application/octet-stream'): + """ + Guess the "Content-Type" of a file. + + :param filename: + The filename to guess the "Content-Type" of using :mod:`mimetypes`. + :param default: + If no "Content-Type" can be guessed, default to `default`. + """ + if filename: + return mimetypes.guess_type(filename)[0] or default + return default + + +def format_header_param(name, value): + """ + Helper function to format and quote a single header parameter. + + Particularly useful for header parameters which might contain + non-ASCII values, like file names. This follows RFC 2231, as + suggested by RFC 2388 Section 4.4. + + :param name: + The name of the parameter, a string expected to be ASCII only. + :param value: + The value of the parameter, provided as a unicode string. + """ + if not any(ch in value for ch in '"\\\r\n'): + result = '%s="%s"' % (name, value) + try: + result.encode('ascii') + except (UnicodeEncodeError, UnicodeDecodeError): + pass + else: + return result + if not six.PY3 and isinstance(value, six.text_type): # Python 2: + value = value.encode('utf-8') + value = email.utils.encode_rfc2231(value, 'utf-8') + value = '%s*=%s' % (name, value) + return value + + +class RequestField(object): + """ + A data container for request body parameters. + + :param name: + The name of this request field. + :param data: + The data/value body. + :param filename: + An optional filename of the request field. + :param headers: + An optional dict-like object of headers to initially use for the field. + """ + def __init__(self, name, data, filename=None, headers=None): + self._name = name + self._filename = filename + self.data = data + self.headers = {} + if headers: + self.headers = dict(headers) + + @classmethod + def from_tuples(cls, fieldname, value): + """ + A :class:`~urllib3.fields.RequestField` factory from old-style tuple parameters. + + Supports constructing :class:`~urllib3.fields.RequestField` from + 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:: + + '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', + + Field names and filenames must be unicode. + """ + if isinstance(value, tuple): + if len(value) == 3: + filename, data, content_type = value + else: + filename, data = value + content_type = guess_content_type(filename) + else: + filename = None + content_type = None + data = value + + request_param = cls(fieldname, data, filename=filename) + request_param.make_multipart(content_type=content_type) + + return request_param + + def _render_part(self, name, value): + """ + Overridable helper function to format a single header parameter. + + :param name: + The name of the parameter, a string expected to be ASCII only. + :param value: + The value of the parameter, provided as a unicode string. + """ + return format_header_param(name, value) + + def _render_parts(self, header_parts): + """ + Helper function to format and quote a single header. + + Useful for single headers that are composed of multiple items. E.g., + 'Content-Disposition' fields. + + :param header_parts: + A sequence of (k, v) tuples or a :class:`dict` of (k, v) to format + as `k1="v1"; k2="v2"; ...`. + """ + parts = [] + iterable = header_parts + if isinstance(header_parts, dict): + iterable = header_parts.items() + + for name, value in iterable: + if value is not None: + parts.append(self._render_part(name, value)) + + return '; '.join(parts) + + def render_headers(self): + """ + Renders the headers for this request field. + """ + lines = [] + + sort_keys = ['Content-Disposition', 'Content-Type', 'Content-Location'] + for sort_key in sort_keys: + if self.headers.get(sort_key, False): + lines.append('%s: %s' % (sort_key, self.headers[sort_key])) + + for header_name, header_value in self.headers.items(): + if header_name not in sort_keys: + if header_value: + lines.append('%s: %s' % (header_name, header_value)) + + lines.append('\r\n') + return '\r\n'.join(lines) + + def make_multipart(self, content_disposition=None, content_type=None, + content_location=None): + """ + Makes this request field into a multipart request field. + + This method overrides "Content-Disposition", "Content-Type" and + "Content-Location" headers to the request parameter. + + :param content_type: + The 'Content-Type' of the request body. + :param content_location: + The 'Content-Location' of the request body. + + """ + self.headers['Content-Disposition'] = content_disposition or 'form-data' + self.headers['Content-Disposition'] += '; '.join([ + '', self._render_parts( + (('name', self._name), ('filename', self._filename)) + ) + ]) + self.headers['Content-Type'] = content_type + self.headers['Content-Location'] = content_location diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/filepost.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/filepost.py new file mode 100644 index 0000000..78f1e19 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/filepost.py @@ -0,0 +1,98 @@ +from __future__ import absolute_import +import binascii +import codecs +import os + +from io import BytesIO + +from .packages import six +from .packages.six import b +from .fields import RequestField + +writer = codecs.lookup('utf-8')[3] + + +def choose_boundary(): + """ + Our embarrassingly-simple replacement for mimetools.choose_boundary. + """ + boundary = binascii.hexlify(os.urandom(16)) + if six.PY3: + boundary = boundary.decode('ascii') + return boundary + + +def iter_field_objects(fields): + """ + Iterate over fields. + + Supports list of (k, v) tuples and dicts, and lists of + :class:`~urllib3.fields.RequestField`. + + """ + if isinstance(fields, dict): + i = six.iteritems(fields) + else: + i = iter(fields) + + for field in i: + if isinstance(field, RequestField): + yield field + else: + yield RequestField.from_tuples(*field) + + +def iter_fields(fields): + """ + .. deprecated:: 1.6 + + Iterate over fields. + + The addition of :class:`~urllib3.fields.RequestField` makes this function + obsolete. Instead, use :func:`iter_field_objects`, which returns + :class:`~urllib3.fields.RequestField` objects. + + Supports list of (k, v) tuples and dicts. + """ + if isinstance(fields, dict): + return ((k, v) for k, v in six.iteritems(fields)) + + return ((k, v) for k, v in fields) + + +def encode_multipart_formdata(fields, boundary=None): + """ + Encode a dictionary of ``fields`` using the multipart/form-data MIME format. + + :param fields: + Dictionary of fields or list of (key, :class:`~urllib3.fields.RequestField`). + + :param boundary: + If not specified, then a random boundary will be generated using + :func:`urllib3.filepost.choose_boundary`. + """ + body = BytesIO() + if boundary is None: + boundary = choose_boundary() + + for field in iter_field_objects(fields): + body.write(b('--%s\r\n' % (boundary))) + + writer(body).write(field.render_headers()) + data = field.data + + if isinstance(data, int): + data = str(data) # Backwards compatibility + + if isinstance(data, six.text_type): + writer(body).write(data) + else: + body.write(data) + + body.write(b'\r\n') + + body.write(b('--%s--\r\n' % (boundary))) + + content_type = str('multipart/form-data; boundary=%s' % boundary) + + return body.getvalue(), content_type diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/__init__.py new file mode 100644 index 0000000..170e974 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/__init__.py @@ -0,0 +1,5 @@ +from __future__ import absolute_import + +from . import ssl_match_hostname + +__all__ = ('ssl_match_hostname', ) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/backports/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/backports/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/backports/makefile.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/backports/makefile.py new file mode 100644 index 0000000..740db37 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/backports/makefile.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +""" +backports.makefile +~~~~~~~~~~~~~~~~~~ + +Backports the Python 3 ``socket.makefile`` method for use with anything that +wants to create a "fake" socket object. +""" +import io + +from socket import SocketIO + + +def backport_makefile(self, mode="r", buffering=None, encoding=None, + errors=None, newline=None): + """ + Backport of ``socket.makefile`` from Python 3.5. + """ + if not set(mode) <= {"r", "w", "b"}: + raise ValueError( + "invalid mode %r (only r, w, b allowed)" % (mode,) + ) + writing = "w" in mode + reading = "r" in mode or not writing + assert reading or writing + binary = "b" in mode + rawmode = "" + if reading: + rawmode += "r" + if writing: + rawmode += "w" + raw = SocketIO(self, rawmode) + self._makefile_refs += 1 + if buffering is None: + buffering = -1 + if buffering < 0: + buffering = io.DEFAULT_BUFFER_SIZE + if buffering == 0: + if not binary: + raise ValueError("unbuffered streams must be binary") + return raw + if reading and writing: + buffer = io.BufferedRWPair(raw, raw, buffering) + elif reading: + buffer = io.BufferedReader(raw, buffering) + else: + assert writing + buffer = io.BufferedWriter(raw, buffering) + if binary: + return buffer + text = io.TextIOWrapper(buffer, encoding, errors, newline) + text.mode = mode + return text diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/six.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/six.py new file mode 100644 index 0000000..190c023 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/six.py @@ -0,0 +1,868 @@ +"""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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py new file mode 100644 index 0000000..d6594eb --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py @@ -0,0 +1,19 @@ +import sys + +try: + # Our match_hostname function is the same as 3.5's, so we only want to + # import the match_hostname function if it's at least that good. + if sys.version_info < (3, 5): + raise ImportError("Fallback to vendored code") + + from ssl import CertificateError, match_hostname +except ImportError: + try: + # Backport of the function from a pypi module + from backports.ssl_match_hostname import CertificateError, match_hostname + except ImportError: + # Our vendored copy + from ._implementation import CertificateError, match_hostname + +# Not needed, but documenting what we provide. +__all__ = ('CertificateError', 'match_hostname') diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py new file mode 100644 index 0000000..970cf65 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py @@ -0,0 +1,156 @@ +"""The match_hostname() function from Python 3.3.3, essential when using SSL.""" + +# Note: This file is under the PSF license as the code comes from the python +# stdlib. http://docs.python.org/3/license.html + +import re +import sys + +# ipaddress has been backported to 2.6+ in pypi. If it is installed on the +# system, use it to handle IPAddress ServerAltnames (this was added in +# python-3.5) otherwise only do DNS matching. This allows +# backports.ssl_match_hostname to continue to be used in Python 2.7. +try: + from pip._vendor import ipaddress +except ImportError: + ipaddress = None + +__version__ = '3.5.0.1' + + +class CertificateError(ValueError): + pass + + +def _dnsname_match(dn, hostname, max_wildcards=1): + """Matching according to RFC 6125, section 6.4.3 + + http://tools.ietf.org/html/rfc6125#section-6.4.3 + """ + pats = [] + if not dn: + return False + + # 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 _to_unicode(obj): + if isinstance(obj, str) and sys.version_info < (3,): + obj = unicode(obj, encoding='ascii', errors='strict') + return obj + +def _ipaddress_match(ipname, host_ip): + """Exact matching of IP addresses. + + RFC 6125 explicitly doesn't define an algorithm for this + (section 1.7.2 - "Out of Scope"). + """ + # OpenSSL may add a trailing newline to a subjectAltName's IP address + # Divergence from upstream: ipaddress can't handle byte str + ip = ipaddress.ip_address(_to_unicode(ipname).rstrip()) + return ip == host_ip + + +def match_hostname(cert, hostname): + """Verify that *cert* (in decoded format as returned by + SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125 + rules are followed, but IP addresses are not accepted for *hostname*. + + CertificateError is raised on failure. On success, the function + returns nothing. + """ + if not cert: + raise ValueError("empty or no certificate, match_hostname needs a " + "SSL socket or SSL context with either " + "CERT_OPTIONAL or CERT_REQUIRED") + try: + # Divergence from upstream: ipaddress can't handle byte str + host_ip = ipaddress.ip_address(_to_unicode(hostname)) + except ValueError: + # Not an IP address (common case) + host_ip = None + except UnicodeError: + # Divergence from upstream: Have to deal with ipaddress not taking + # byte strings. addresses should be all ascii, so we consider it not + # an ipaddress in this case + host_ip = None + except AttributeError: + # Divergence from upstream: Make ipaddress library optional + if ipaddress is None: + host_ip = None + else: + raise + dnsnames = [] + san = cert.get('subjectAltName', ()) + for key, value in san: + if key == 'DNS': + if host_ip is None and _dnsname_match(value, hostname): + return + dnsnames.append(value) + elif key == 'IP Address': + if host_ip is not None and _ipaddress_match(value, host_ip): + 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/poolmanager.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/poolmanager.py new file mode 100644 index 0000000..fe5491c --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/poolmanager.py @@ -0,0 +1,450 @@ +from __future__ import absolute_import +import collections +import functools +import logging + +from ._collections import RecentlyUsedContainer +from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool +from .connectionpool import port_by_scheme +from .exceptions import LocationValueError, MaxRetryError, ProxySchemeUnknown +from .packages.six.moves.urllib.parse import urljoin +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', 'ssl_context') + +# All known keyword arguments that could be provided to the pool manager, its +# pools, or the underlying connections. This is used to construct a pool key. +_key_fields = ( + 'key_scheme', # str + 'key_host', # str + 'key_port', # int + 'key_timeout', # int or float or Timeout + 'key_retries', # int or Retry + 'key_strict', # bool + 'key_block', # bool + 'key_source_address', # str + 'key_key_file', # str + 'key_cert_file', # str + 'key_cert_reqs', # str + 'key_ca_certs', # str + 'key_ssl_version', # str + 'key_ca_cert_dir', # str + 'key_ssl_context', # instance of ssl.SSLContext or urllib3.util.ssl_.SSLContext + 'key_maxsize', # int + 'key_headers', # dict + 'key__proxy', # parsed proxy url + 'key__proxy_headers', # dict + 'key_socket_options', # list of (level (int), optname (int), value (int or str)) tuples + 'key__socks_options', # dict + 'key_assert_hostname', # bool or string + 'key_assert_fingerprint', # str + 'key_server_hostname', #str +) + +#: The namedtuple class used to construct keys for the connection pool. +#: All custom key schemes should include the fields in this key at a minimum. +PoolKey = collections.namedtuple('PoolKey', _key_fields) + + +def _default_key_normalizer(key_class, request_context): + """ + Create a pool key out of a request context dictionary. + + 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. + :type key_class: namedtuple + :param request_context: + A dictionary-like object that contain the context for a request. + :type request_context: dict + + :return: A namedtuple that can be used as a connection pool key. + :rtype: PoolKey + """ + # Since we mutate the dictionary, make a copy first + context = request_context.copy() + context['scheme'] = context['scheme'].lower() + context['host'] = context['host'].lower() + + # These are both dictionaries and need to be transformed into frozensets + for key in ('headers', '_proxy_headers', '_socks_options'): + if key in context and context[key] is not None: + context[key] = frozenset(context[key].items()) + + # The socket_options key may be a list and needs to be transformed into a + # tuple. + socket_opts = context.get('socket_options') + if socket_opts is not None: + context['socket_options'] = tuple(socket_opts) + + # Map the kwargs to the names in the namedtuple - this is necessary since + # namedtuples can't have fields starting with '_'. + for key in list(context.keys()): + context['key_' + key] = context.pop(key) + + # Default to ``None`` for keys missing from the context + for field in key_class._fields: + if field not in context: + context[field] = None + + 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, PoolKey), + 'https': functools.partial(_default_key_normalizer, PoolKey), +} + +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, request_context=None): + """ + Create a new :class:`ConnectionPool` based on host, port, scheme, and + any additional pool keyword arguments. + + If ``request_context`` is provided, it is provided as keyword arguments + to the pool class used. 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] + if request_context is None: + request_context = self.connection_pool_kw.copy() + + # Although the context has everything necessary to create the pool, + # this function has historically only used the scheme, host, and port + # in the positional args. When an API change is acceptable these can + # be removed. + for key in ('scheme', 'host', 'port'): + request_context.pop(key, None) + + if scheme == 'http': + for kw in SSL_KEYWORDS: + request_context.pop(kw, None) + + return pool_cls(host, port, **request_context) + + 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', pool_kwargs=None): + """ + 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 ``pool_kwargs`` is + provided, it is merged with the instance's ``connection_pool_kw`` + variable and used to create the new connection pool, if one is + needed. + """ + + if not host: + raise LocationValueError("No host specified.") + + request_context = self._merge_pool_kwargs(pool_kwargs) + 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, request_context=request_context) + + def connection_from_pool_key(self, pool_key, request_context=None): + """ + 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 + scheme = request_context['scheme'] + host = request_context['host'] + port = request_context['port'] + pool = self._new_pool(scheme, host, port, request_context=request_context) + self.pools[pool_key] = pool + + return pool + + def connection_from_url(self, url, pool_kwargs=None): + """ + Similar to :func:`urllib3.connectionpool.connection_from_url`. + + If ``pool_kwargs`` is not provided and a new pool needs to be + constructed, ``self.connection_pool_kw`` is used to initialize + the :class:`urllib3.connectionpool.ConnectionPool`. If ``pool_kwargs`` + is provided, it is used instead. Note that if a new pool does not + need to be created for the request, the provided ``pool_kwargs`` are + not used. + """ + u = parse_url(url) + return self.connection_from_host(u.host, port=u.port, scheme=u.scheme, + pool_kwargs=pool_kwargs) + + def _merge_pool_kwargs(self, override): + """ + Merge a dictionary of override values for self.connection_pool_kw. + + This does not modify self.connection_pool_kw and returns a new dict. + Any keys in the override dictionary with a value of ``None`` are + removed from the merged dictionary. + """ + base_pool_kwargs = self.connection_pool_kw.copy() + if override: + for key, value in override.items(): + if value is None: + try: + del base_pool_kwargs[key] + except KeyError: + pass + else: + base_pool_kwargs[key] = value + return base_pool_kwargs + + 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.copy() + + 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) + + # Strip headers marked as unsafe to forward to the redirected location. + # Check remove_headers_on_redirect to avoid a potential network call within + # conn.is_same_host() which may use socket.gethostbyname() in the future. + if (retries.remove_headers_on_redirect + and not conn.is_same_host(redirect_location)): + for header in retries.remove_headers_on_redirect: + kw['headers'].pop(header, None) + + 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 containing 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', pool_kwargs=None): + if scheme == "https": + return super(ProxyManager, self).connection_from_host( + host, port, scheme, pool_kwargs=pool_kwargs) + + return super(ProxyManager, self).connection_from_host( + self.proxy.host, self.proxy.port, self.proxy.scheme, pool_kwargs=pool_kwargs) + + 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/request.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/request.py new file mode 100644 index 0000000..8f2f44b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/request.py @@ -0,0 +1,150 @@ +from __future__ import absolute_import + +from .filepost import encode_multipart_formdata +from .packages.six.moves.urllib.parse import urlencode + + +__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 = {'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 NotImplementedError("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() + + urlopen_kw['request_url'] = url + + 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 mimic 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/response.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/response.py new file mode 100644 index 0000000..c112690 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/response.py @@ -0,0 +1,705 @@ +from __future__ import absolute_import +from contextlib import contextmanager +import zlib +import io +import logging +from socket import timeout as SocketTimeout +from socket import error as SocketError + +from ._collections import HTTPHeaderDict +from .exceptions import ( + BodyNotHttplibCompatible, ProtocolError, DecodeError, ReadTimeoutError, + ResponseNotChunked, IncompleteRead, InvalidHeader +) +from .packages.six import string_types as basestring, 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 + +log = logging.getLogger(__name__) + + +class DeflateDecoder(object): + + def __init__(self): + self._first_try = True + self._data = b'' + 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: + decompressed = self._obj.decompress(data) + if decompressed: + self._first_try = False + self._data = None + return decompressed + 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 GzipDecoderState(object): + + FIRST_MEMBER = 0 + OTHER_MEMBERS = 1 + SWALLOW_DATA = 2 + + +class GzipDecoder(object): + + def __init__(self): + self._obj = zlib.decompressobj(16 + zlib.MAX_WBITS) + self._state = GzipDecoderState.FIRST_MEMBER + + def __getattr__(self, name): + return getattr(self._obj, name) + + def decompress(self, data): + ret = bytearray() + if self._state == GzipDecoderState.SWALLOW_DATA or not data: + return bytes(ret) + while True: + try: + ret += self._obj.decompress(data) + except zlib.error: + previous_state = self._state + # Ignore data after the first error + self._state = GzipDecoderState.SWALLOW_DATA + if previous_state == GzipDecoderState.OTHER_MEMBERS: + # Allow trailing garbage acceptable in other gzip clients + return bytes(ret) + raise + data = self._obj.unused_data + if not data: + return bytes(ret) + self._state = GzipDecoderState.OTHER_MEMBERS + self._obj = zlib.decompressobj(16 + zlib.MAX_WBITS) + + +class MultiDecoder(object): + """ + From RFC7231: + If one or more encodings have been applied to a representation, the + sender that applied the encodings MUST generate a Content-Encoding + header field that lists the content codings in the order in which + they were applied. + """ + + def __init__(self, modes): + self._decoders = [_get_decoder(m.strip()) for m in modes.split(',')] + + def flush(self): + return self._decoders[0].flush() + + def decompress(self, data): + for d in reversed(self._decoders): + data = d.decompress(data) + return data + + +def _get_decoder(mode): + if ',' in mode: + return MultiDecoder(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, will attempt to decode the body based on the + 'content-encoding' header. + + :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. + + :param retries: + The retries contains the last :class:`~urllib3.util.retry.Retry` that + was used during the request. + + :param enforce_content_length: + Enforce content length checking. Body returned by server must match + value of Content-Length header, if present. Otherwise, raise error. + """ + + 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, msg=None, + retries=None, enforce_content_length=False, + request_method=None, request_url=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.retries = retries + self.enforce_content_length = enforce_content_length + + self._decoder = None + self._body = None + self._fp = None + self._original_response = original_response + self._fp_bytes_read = 0 + self.msg = msg + self._request_url = request_url + + if body and isinstance(body, (basestring, bytes)): + 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 + + # Determine length of response + self.length_remaining = self._init_length(request_method) + + # 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 isclosed(self): + return is_fp_closed(self._fp) + + 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_length(self, request_method): + """ + Set initial length value for Response content if available. + """ + length = self.headers.get('content-length') + + if length is not None: + if self.chunked: + # This Response will fail with an IncompleteRead if it can't be + # received as chunked. This method falls back to attempt reading + # the response before raising an exception. + log.warning("Received response with both Content-Length and " + "Transfer-Encoding set. This is expressly forbidden " + "by RFC 7230 sec 3.3.2. Ignoring Content-Length and " + "attempting to process response as Transfer-Encoding: " + "chunked.") + return None + + try: + # RFC 7230 section 3.3.2 specifies multiple content lengths can + # be sent in a single Content-Length header + # (e.g. Content-Length: 42, 42). This line ensures the values + # are all valid ints and that as long as the `set` length is 1, + # all values are the same. Otherwise, the header is invalid. + lengths = set([int(val) for val in length.split(',')]) + if len(lengths) > 1: + raise InvalidHeader("Content-Length contained multiple " + "unmatching values (%s)" % length) + length = lengths.pop() + except ValueError: + length = None + else: + if length < 0: + length = None + + # Convert status to int for comparison + # In some cases, httplib returns a status of "_UNKNOWN" + try: + status = int(self.status) + except ValueError: + status = 0 + + # Check for responses that shouldn't include a body + if status in (204, 304) or 100 <= status < 200 or request_method == 'HEAD': + length = 0 + + return length + + def _init_decoder(self): + """ + Set-up the _decoder attribute if necessary. + """ + # 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: + if content_encoding in self.CONTENT_DECODERS: + self._decoder = _get_decoder(content_encoding) + elif ',' in content_encoding: + encodings = [e.strip() for e in content_encoding.split(',') if e.strip() in self.CONTENT_DECODERS] + if len(encodings): + 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 self.enforce_content_length and self.length_remaining not in (0, None): + # This is an edge case that httplib failed to cover due + # to concerns of backward compatibility. We're + # addressing it here to make sure IncompleteRead is + # raised during streaming, so all calls with incorrect + # Content-Length are caught. + raise IncompleteRead(self._fp_bytes_read, self.length_remaining) + + if data: + self._fp_bytes_read += len(data) + if self.length_remaining is not None: + self.length_remaining -= 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 and self.supports_chunked_reads(): + 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) + + # Backwards compatibility for http.cookiejar + def info(self): + return self.headers + + # 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, 'isclosed'): + return self._fp.isclosed() + elif hasattr(self._fp, 'closed'): + return self._fp.closed + 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 supports_chunked_reads(self): + """ + Checks if the underlying file-like object looks like a + httplib.HTTPResponse object. We do this by testing for the fp + attribute. If it is present we assume it returns raw chunks as + processed by read_chunked(). + """ + return hasattr(self._fp, 'fp') + + 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 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. + """ + 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.") + if not self.supports_chunked_reads(): + raise BodyNotHttplibCompatible( + "Body should be httplib.HTTPResponse like. " + "It should have have an fp attribute which returns raw chunks.") + + with self._error_catcher(): + # 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 + + # If a response is already read and closed + # then return immediately. + if self._fp.fp is None: + return + + 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() + + def geturl(self): + """ + Returns the URL that was the source of this response. + If the request that generated this response redirected, this method + will return the final redirect location. + """ + if self.retries is not None and len(self.retries.history): + return self.retries.history[-1].redirect_location + else: + return self._request_url diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__init__.py new file mode 100644 index 0000000..2f2770b --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/__init__.py @@ -0,0 +1,54 @@ +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, + IS_SECURETRANSPORT, + 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, +) +from .wait import ( + wait_for_read, + wait_for_write +) + +__all__ = ( + 'HAS_SNI', + 'IS_PYOPENSSL', + 'IS_SECURETRANSPORT', + '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', + 'wait_for_read', + 'wait_for_write' +) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/connection.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/connection.py new file mode 100644 index 0000000..5ad70b2 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/connection.py @@ -0,0 +1,134 @@ +from __future__ import absolute_import +import socket +from .wait import NoWayToWaitForSocketError, wait_for_read +from ..contrib import _appengine_environ + + +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 + try: + # Returns True if readable, which here means it's been dropped + return wait_for_read(sock, timeout=0.0) + except NoWayToWaitForSocketError: # Platform-specific: AppEngine + return False + + +# 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 + + # App Engine doesn't support IPV6 sockets and actually has a quota on the + # number of sockets that can be used, so just early out here instead of + # creating a socket needlessly. + # See https://github.com/urllib3/urllib3/issues/1446 + if _appengine_environ.is_appengine_sandbox(): + return 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/queue.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/queue.py new file mode 100644 index 0000000..d3d379a --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/queue.py @@ -0,0 +1,21 @@ +import collections +from ..packages import six +from ..packages.six.moves import queue + +if six.PY2: + # Queue is imported for side effects on MS Windows. See issue #229. + import Queue as _unused_module_Queue # noqa: F401 + + +class LifoQueue(queue.Queue): + def _init(self, _): + self.queue = collections.deque() + + def _qsize(self, len=len): + return len(self.queue) + + def _put(self, item): + self.queue.append(item) + + def _get(self): + return self.queue.pop() diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/request.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/request.py new file mode 100644 index 0000000..3ddfcd5 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/request.py @@ -0,0 +1,118 @@ +from __future__ import absolute_import +from base64 import b64encode + +from ..packages.six import b, integer_types +from ..exceptions import UnrewindableBodyError + +ACCEPT_ENCODING = 'gzip,deflate' +_FAILEDTELL = object() + + +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 + + +def set_file_position(body, pos): + """ + If a position is provided, move file to that point. + Otherwise, we'll attempt to record a position for future use. + """ + if pos is not None: + rewind_body(body, pos) + elif getattr(body, 'tell', None) is not None: + try: + pos = body.tell() + except (IOError, OSError): + # This differentiates from None, allowing us to catch + # a failed `tell()` later when trying to rewind the body. + pos = _FAILEDTELL + + return pos + + +def rewind_body(body, body_pos): + """ + Attempt to rewind body to a certain position. + Primarily used for request redirects and retries. + + :param body: + File-like object that supports seek. + + :param int pos: + Position to seek to in file. + """ + body_seek = getattr(body, 'seek', None) + if body_seek is not None and isinstance(body_pos, integer_types): + try: + body_seek(body_pos) + except (IOError, OSError): + raise UnrewindableBodyError("An error occurred when rewinding request " + "body for redirect/retry.") + elif body_pos is _FAILEDTELL: + raise UnrewindableBodyError("Unable to record file position for rewinding " + "request body during a redirect/retry.") + else: + raise ValueError("body_pos must be of type integer, " + "instead it was %s." % type(body_pos)) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/response.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/response.py new file mode 100644 index 0000000..3d54864 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/response.py @@ -0,0 +1,87 @@ +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 `isclosed()` first, in case Python3 doesn't set `closed`. + # GH Issue #928 + return obj.isclosed() + except AttributeError: + pass + + 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: + # get_payload is actually email.message.Message.get_payload; + # we're only interested in the result if it's not a multipart message + if not headers.is_multipart(): + payload = get_payload() + + if isinstance(payload, (bytes, str)): + unparsed_data = 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/retry.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/retry.py new file mode 100644 index 0000000..e7d0abd --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/retry.py @@ -0,0 +1,411 @@ +from __future__ import absolute_import +import time +import logging +from collections import namedtuple +from itertools import takewhile +import email +import re + +from ..exceptions import ( + ConnectTimeoutError, + MaxRetryError, + ProtocolError, + ReadTimeoutError, + ResponseError, + InvalidHeader, +) +from ..packages import six + + +log = logging.getLogger(__name__) + + +# Data structure for representing the metadata of requests that result in a retry. +RequestHistory = namedtuple('RequestHistory', ["method", "url", "error", + "status", "redirect_location"]) + + +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 int status: + How many times to retry on bad status codes. + + These are retries made on responses, where status code matches + ``status_forcelist``. + + Set to ``0`` to fail on the first retry of this type. + + :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. + + :param tuple history: The history of the request encountered during + each call to :meth:`~Retry.increment`. The list is in the order + the requests occurred. Each list item is of class :class:`RequestHistory`. + + :param bool respect_retry_after_header: + Whether to respect Retry-After header on status codes defined as + :attr:`Retry.RETRY_AFTER_STATUS_CODES` or not. + + :param iterable remove_headers_on_redirect: + Sequence of headers to remove from the request when a response + indicating a redirect is returned before firing off the redirected + request. + """ + + DEFAULT_METHOD_WHITELIST = frozenset([ + 'HEAD', 'GET', 'PUT', 'DELETE', 'OPTIONS', 'TRACE']) + + RETRY_AFTER_STATUS_CODES = frozenset([413, 429, 503]) + + DEFAULT_REDIRECT_HEADERS_BLACKLIST = frozenset(['Authorization']) + + #: Maximum backoff time. + BACKOFF_MAX = 120 + + def __init__(self, total=10, connect=None, read=None, redirect=None, status=None, + method_whitelist=DEFAULT_METHOD_WHITELIST, status_forcelist=None, + backoff_factor=0, raise_on_redirect=True, raise_on_status=True, + history=None, respect_retry_after_header=True, + remove_headers_on_redirect=DEFAULT_REDIRECT_HEADERS_BLACKLIST): + + self.total = total + self.connect = connect + self.read = read + self.status = status + + 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.history = history or tuple() + self.respect_retry_after_header = respect_retry_after_header + self.remove_headers_on_redirect = remove_headers_on_redirect + + def new(self, **kw): + params = dict( + total=self.total, + connect=self.connect, read=self.read, redirect=self.redirect, status=self.status, + 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, + history=self.history, + remove_headers_on_redirect=self.remove_headers_on_redirect + ) + 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 + """ + # We want to consider only the last consecutive errors sequence (Ignore redirects). + consecutive_errors_len = len(list(takewhile(lambda x: x.redirect_location is None, + reversed(self.history)))) + if consecutive_errors_len <= 1: + return 0 + + backoff_value = self.backoff_factor * (2 ** (consecutive_errors_len - 1)) + return min(self.BACKOFF_MAX, backoff_value) + + def parse_retry_after(self, retry_after): + # Whitespace: https://tools.ietf.org/html/rfc7230#section-3.2.4 + if re.match(r"^\s*[0-9]+\s*$", retry_after): + seconds = int(retry_after) + else: + retry_date_tuple = email.utils.parsedate(retry_after) + if retry_date_tuple is None: + raise InvalidHeader("Invalid Retry-After header: %s" % retry_after) + retry_date = time.mktime(retry_date_tuple) + seconds = retry_date - time.time() + + if seconds < 0: + seconds = 0 + + return seconds + + def get_retry_after(self, response): + """ Get the value of Retry-After in seconds. """ + + retry_after = response.getheader("Retry-After") + + if retry_after is None: + return None + + return self.parse_retry_after(retry_after) + + def sleep_for_retry(self, response=None): + retry_after = self.get_retry_after(response) + if retry_after: + time.sleep(retry_after) + return True + + return False + + def _sleep_backoff(self): + backoff = self.get_backoff_time() + if backoff <= 0: + return + time.sleep(backoff) + + def sleep(self, response=None): + """ Sleep between retry attempts. + + This method will respect a server's ``Retry-After`` response header + and sleep the duration of the time requested. If that is not present, it + will use an exponential backoff. By default, the backoff factor is 0 and + this method will return immediately. + """ + + if response: + slept = self.sleep_for_retry(response) + if slept: + return + + self._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_method_retryable(self, method): + """ Checks if a given HTTP method should be retried upon, depending if + it is included on the method whitelist. + """ + if self.method_whitelist and method.upper() not in self.method_whitelist: + return False + + return True + + def is_retry(self, method, status_code, has_retry_after=False): + """ Is this method/status code retryable? (Based on whitelists and control + variables such as the number of total retries to allow, whether to + respect the Retry-After header, whether this header is present, and + whether the returned status code is on the list of status codes to + be retried upon on the presence of the aforementioned header) + """ + if not self._is_method_retryable(method): + return False + + if self.status_forcelist and status_code in self.status_forcelist: + return True + + return (self.total and self.respect_retry_after_header and + has_retry_after and (status_code in self.RETRY_AFTER_STATUS_CODES)) + + def is_exhausted(self): + """ Are we out of retries? """ + retry_counts = (self.total, self.connect, self.read, self.redirect, self.status) + 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 + + connect = self.connect + read = self.read + redirect = self.redirect + status_count = self.status + cause = 'unknown' + status = None + redirect_location = None + + 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 + + elif error and self._is_read_error(error): + # Read retry? + if read is False or not self._is_method_retryable(method): + raise six.reraise(type(error), error, _stacktrace) + elif read is not None: + read -= 1 + + elif response and response.get_redirect_location(): + # Redirect retry? + if redirect is not None: + redirect -= 1 + cause = 'too many redirects' + redirect_location = response.get_redirect_location() + status = response.status + + else: + # Incrementing because of a server error like a 500 in + # status_forcelist and a the given method is in the whitelist + cause = ResponseError.GENERIC_ERROR + if response and response.status: + if status_count is not None: + status_count -= 1 + cause = ResponseError.SPECIFIC_ERROR.format( + status_code=response.status) + status = response.status + + history = self.history + (RequestHistory(method, url, error, status, redirect_location),) + + new_retry = self.new( + total=total, + connect=connect, read=read, redirect=redirect, status=status_count, + history=history) + + 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}, status={self.status})').format( + cls=type(self), self=self) + + +# For backwards compatibility (equivalent to pre-v1.9): +Retry.DEFAULT = Retry(3) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/ssl_.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/ssl_.py new file mode 100644 index 0000000..dfc553f --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/ssl_.py @@ -0,0 +1,381 @@ +from __future__ import absolute_import +import errno +import warnings +import hmac +import socket + +from binascii import hexlify, unhexlify +from hashlib import md5, sha1, sha256 + +from ..exceptions import SSLError, InsecurePlatformWarning, SNIMissingWarning +from ..packages import six + + +SSLContext = None +HAS_SNI = False +IS_PYOPENSSL = False +IS_SECURETRANSPORT = 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 + + +# Python 2.7 doesn't have inet_pton on non-Linux so we fallback on inet_aton in +# those cases. This means that we can only detect IPv4 addresses in this case. +if hasattr(socket, 'inet_pton'): + inet_pton = socket.inet_pton +else: + # Maybe we can use ipaddress if the user has urllib3[secure]? + try: + from pip._vendor import ipaddress + + def inet_pton(_, host): + if isinstance(host, bytes): + host = host.decode('ascii') + return ipaddress.ip_address(host) + + except ImportError: # Platform-specific: Non-Linux + def inet_pton(_, host): + return socket.inet_aton(host) + + +# 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 TLS 1.3 cipher suites +# - prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE), +# - prefer ECDHE over DHE for better performance, +# - prefer any AES-GCM and ChaCha20 over any AES-CBC for better performance and +# security, +# - prefer AES-GCM over ChaCha20 because hardware-accelerated AES is common, +# - disable NULL authentication, MD5 MACs and DSS for security reasons. +DEFAULT_CIPHERS = ':'.join([ + 'TLS13-AES-256-GCM-SHA384', + 'TLS13-CHACHA20-POLY1305-SHA256', + 'TLS13-AES-128-GCM-SHA256', + 'ECDH+AESGCM', + 'ECDH+CHACHA20', + 'DH+AESGCM', + 'DH+CHACHA20', + 'ECDH+AES256', + 'DH+AES256', + 'ECDH+AES128', + 'DH+AES', + 'RSA+AESGCM', + 'RSA+AES', + '!aNULL', + '!eNULL', + '!MD5', +]) + +try: + from ssl import SSLContext # Modern SSL? +except ImportError: + import sys + + class SSLContext(object): # Platform-specific: Python 2 + 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): + 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/advanced-usage.html' + '#ssl-warnings', + 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, + } + return wrap_socket(socket, ciphers=self.ciphers, **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 abbreviation. + (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 pip._vendor.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) + + context.set_ciphers(ciphers or DEFAULT_CIPHERS) + + # 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 + + 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. + :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: + # Note: This branch of code and all the variables in it are no longer + # used by urllib3 itself. We should consider deprecating and removing + # this code. + 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.7 + 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 + elif getattr(context, 'load_default_certs', None) is not None: + # try to load OS default certs; works well on Windows (require Python3.4+) + context.load_default_certs() + + if certfile: + context.load_cert_chain(certfile, keyfile) + + # If we detect server_hostname is an IP address then the SNI + # extension should not be used according to RFC3546 Section 3.1 + # We shouldn't warn the user if SNI isn't available but we would + # not be using SNI anyways due to IP address for server_hostname. + if ((server_hostname is not None and not is_ipaddress(server_hostname)) + or IS_SECURETRANSPORT): + if HAS_SNI and server_hostname is not None: + return context.wrap_socket(sock, server_hostname=server_hostname) + + warnings.warn( + 'An HTTPS request has been made, but the SNI (Server 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/advanced-usage.html' + '#ssl-warnings', + SNIMissingWarning + ) + + return context.wrap_socket(sock) + + +def is_ipaddress(hostname): + """Detects whether the hostname given is an IP address. + + :param str hostname: Hostname to examine. + :return: True if the hostname is an IP address, False otherwise. + """ + if six.PY3 and isinstance(hostname, bytes): + # IDN A-label bytes are ASCII compatible. + hostname = hostname.decode('ascii') + + families = [socket.AF_INET] + if hasattr(socket, 'AF_INET6'): + families.append(socket.AF_INET6) + + for af in families: + try: + inet_pton(af, hostname) + except (socket.error, ValueError, OSError): + pass + else: + return True + return False diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/timeout.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/timeout.py new file mode 100644 index 0000000..cec817e --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/timeout.py @@ -0,0 +1,242 @@ +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() + + +# Use time.monotonic if available. +current_time = getattr(time, "monotonic", 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 + <http://hg.python.org/cpython/file/603b4d593758/Lib/socket.py#l535>`_. + 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 + <http://hg.python.org/cpython/file/603b4d593758/Lib/socket.py#l535>`_. + 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 it is a numeric value less than or equal to + zero, or the type is not an integer, float, or None. + """ + if value is _Default: + return cls.DEFAULT_TIMEOUT + + if value is None or value is cls.DEFAULT_TIMEOUT: + return value + + if isinstance(value, bool): + raise ValueError("Timeout cannot be a boolean value. It must " + "be an int, float or None.") + try: + float(value) + except (TypeError, ValueError): + raise ValueError("Timeout value %s was %s, but it must be an " + "int, float or None." % (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 or equal to 0." % (name, value)) + except TypeError: # Python 3 + raise ValueError("Timeout value %s was %s, but it must be an " + "int, float or None." % (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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/url.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/url.py new file mode 100644 index 0000000..6b6f996 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/url.py @@ -0,0 +1,230 @@ +from __future__ import absolute_import +from collections import namedtuple + +from ..exceptions import LocationParseError + + +url_attrs = ['scheme', 'auth', 'host', 'port', 'path', 'query', 'fragment'] + +# We only want to normalize urls with an HTTP(S) scheme. +# urllib3 infers URLs without a scheme (None) to be http. +NORMALIZABLE_SCHEMES = ('http', 'https', None) + + +class Url(namedtuple('Url', url_attrs)): + """ + Datastructure for representing an HTTP URL. Used as a return value for + :func:`parse_url`. Both the scheme and host are normalized as they are + both case-insensitive according to RFC 3986. + """ + __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 + if scheme: + scheme = scheme.lower() + if host and scheme in NORMALIZABLE_SCHEMES: + host = host.lower() + 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. No whitespace, no plus or + # minus prefixes, no non-integer digits such as ^2 (superscript). + if not port.isdigit(): + raise LocationParseError(url) + try: + port = int(port) + except ValueError: + raise LocationParseError(url) + 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/wait.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/wait.py new file mode 100644 index 0000000..4db71ba --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/urllib3/util/wait.py @@ -0,0 +1,150 @@ +import errno +from functools import partial +import select +import sys +try: + from time import monotonic +except ImportError: + from time import time as monotonic + +__all__ = ["NoWayToWaitForSocketError", "wait_for_read", "wait_for_write"] + + +class NoWayToWaitForSocketError(Exception): + pass + + +# How should we wait on sockets? +# +# There are two types of APIs you can use for waiting on sockets: the fancy +# modern stateful APIs like epoll/kqueue, and the older stateless APIs like +# select/poll. The stateful APIs are more efficient when you have a lots of +# sockets to keep track of, because you can set them up once and then use them +# lots of times. But we only ever want to wait on a single socket at a time +# and don't want to keep track of state, so the stateless APIs are actually +# more efficient. So we want to use select() or poll(). +# +# Now, how do we choose between select() and poll()? On traditional Unixes, +# select() has a strange calling convention that makes it slow, or fail +# altogether, for high-numbered file descriptors. The point of poll() is to fix +# that, so on Unixes, we prefer poll(). +# +# On Windows, there is no poll() (or at least Python doesn't provide a wrapper +# for it), but that's OK, because on Windows, select() doesn't have this +# strange calling convention; plain select() works fine. +# +# So: on Windows we use select(), and everywhere else we use poll(). We also +# fall back to select() in case poll() is somehow broken or missing. + +if sys.version_info >= (3, 5): + # Modern Python, that retries syscalls by default + def _retry_on_intr(fn, timeout): + return fn(timeout) +else: + # Old and broken Pythons. + def _retry_on_intr(fn, timeout): + if timeout is None: + deadline = float("inf") + else: + deadline = monotonic() + timeout + + while True: + try: + return fn(timeout) + # OSError for 3 <= pyver < 3.5, select.error for pyver <= 2.7 + except (OSError, select.error) as e: + # 'e.args[0]' incantation works for both OSError and select.error + if e.args[0] != errno.EINTR: + raise + else: + timeout = deadline - monotonic() + if timeout < 0: + timeout = 0 + if timeout == float("inf"): + timeout = None + continue + + +def select_wait_for_socket(sock, read=False, write=False, timeout=None): + if not read and not write: + raise RuntimeError("must specify at least one of read=True, write=True") + rcheck = [] + wcheck = [] + if read: + rcheck.append(sock) + if write: + wcheck.append(sock) + # When doing a non-blocking connect, most systems signal success by + # marking the socket writable. Windows, though, signals success by marked + # it as "exceptional". We paper over the difference by checking the write + # sockets for both conditions. (The stdlib selectors module does the same + # thing.) + fn = partial(select.select, rcheck, wcheck, wcheck) + rready, wready, xready = _retry_on_intr(fn, timeout) + return bool(rready or wready or xready) + + +def poll_wait_for_socket(sock, read=False, write=False, timeout=None): + if not read and not write: + raise RuntimeError("must specify at least one of read=True, write=True") + mask = 0 + if read: + mask |= select.POLLIN + if write: + mask |= select.POLLOUT + poll_obj = select.poll() + poll_obj.register(sock, mask) + + # For some reason, poll() takes timeout in milliseconds + def do_poll(t): + if t is not None: + t *= 1000 + return poll_obj.poll(t) + + return bool(_retry_on_intr(do_poll, timeout)) + + +def null_wait_for_socket(*args, **kwargs): + raise NoWayToWaitForSocketError("no select-equivalent available") + + +def _have_working_poll(): + # Apparently some systems have a select.poll that fails as soon as you try + # to use it, either due to strange configuration or broken monkeypatching + # from libraries like eventlet/greenlet. + try: + poll_obj = select.poll() + _retry_on_intr(poll_obj.poll, 0) + except (AttributeError, OSError): + return False + else: + return True + + +def wait_for_socket(*args, **kwargs): + # We delay choosing which implementation to use until the first time we're + # called. We could do it at import time, but then we might make the wrong + # decision if someone goes wild with monkeypatching select.poll after + # we're imported. + global wait_for_socket + if _have_working_poll(): + wait_for_socket = poll_wait_for_socket + elif hasattr(select, "select"): + wait_for_socket = select_wait_for_socket + else: # Platform-specific: Appengine. + wait_for_socket = null_wait_for_socket + return wait_for_socket(*args, **kwargs) + + +def wait_for_read(sock, timeout=None): + """ Waits for reading to be available on a given socket. + Returns True if the socket is readable, or False if the timeout expired. + """ + return wait_for_socket(sock, read=True, timeout=timeout) + + +def wait_for_write(sock, timeout=None): + """ Waits for writing to be available on a given socket. + Returns True if the socket is readable, or False if the timeout expired. + """ + return wait_for_socket(sock, write=True, timeout=timeout) diff --git a/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/__init__.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/__init__.py new file mode 100644 index 0000000..d21d697 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/__init__.py @@ -0,0 +1,342 @@ +# coding: utf-8 +""" + + webencodings + ~~~~~~~~~~~~ + + This is a Python implementation of the `WHATWG Encoding standard + <http://encoding.spec.whatwg.org/>`. 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.1' + + +# 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 + <http://encoding.spec.whatwg.org/#ascii-case-insensitive>`_ + matching of encoding labels. + The same matching is also used, among other things, + for `CSS keywords <http://dev.w3.org/csswg/css-values/#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 + <http://encoding.spec.whatwg.org/#concept-encoding-get>`_ 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 '<Encoding %s>' % 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/labels.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/labels.py new file mode 100644 index 0000000..29cbf91 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/labels.py @@ -0,0 +1,231 @@ +""" + + 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/mklabels.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/mklabels.py new file mode 100644 index 0000000..295dc92 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/mklabels.py @@ -0,0 +1,59 @@ +""" + + 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/tests.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/tests.py new file mode 100644 index 0000000..e12c10d --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/tests.py @@ -0,0 +1,153 @@ +# coding: utf-8 +""" + + 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/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/x_user_defined.py b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/x_user_defined.py new file mode 100644 index 0000000..d16e326 --- /dev/null +++ b/venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/webencodings/x_user_defined.py @@ -0,0 +1,325 @@ +# coding: utf-8 +""" + + 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/venv/lib/python3.6/site-packages/setuptools-40.8.0-py3.6.egg b/venv/lib/python3.6/site-packages/setuptools-40.8.0-py3.6.egg new file mode 100644 index 0000000000000000000000000000000000000000..ad883dff55fffefb9ab9a0755f639e0690856a05 GIT binary patch literal 571890 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%0D<6!k%<kj^N+O{zl`8T~RVV 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 a+Yuby?OJUJv<QL)Kdq21R_%mDjrc#%-u<Qk literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/setuptools.pth b/venv/lib/python3.6/site-packages/setuptools.pth new file mode 100644 index 0000000..4902f07 --- /dev/null +++ b/venv/lib/python3.6/site-packages/setuptools.pth @@ -0,0 +1 @@ +./setuptools-40.8.0-py3.6.egg diff --git a/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/INSTALLER b/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/LICENSE b/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/LICENSE new file mode 100644 index 0000000..583f9f6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/LICENSE @@ -0,0 +1,254 @@ +A. HISTORY OF THE SOFTWARE +========================== + +Python was created in the early 1990s by Guido van Rossum at Stichting +Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands +as a successor of a language called ABC. Guido remains Python's +principal author, although it includes many contributions from others. + +In 1995, Guido continued his work on Python at the Corporation for +National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) +in Reston, Virginia where he released several versions of the +software. + +In May 2000, Guido and the Python core development team moved to +BeOpen.com to form the BeOpen PythonLabs team. In October of the same +year, the PythonLabs team moved to Digital Creations (now Zope +Corporation, see http://www.zope.com). In 2001, the Python Software +Foundation (PSF, see http://www.python.org/psf/) was formed, a +non-profit organization created specifically to own Python-related +Intellectual Property. Zope Corporation is a sponsoring member of +the PSF. + +All Python releases are Open Source (see http://www.opensource.org for +the Open Source Definition). Historically, most, but not all, Python +releases have also been GPL-compatible; the table below summarizes +the various releases. + + Release Derived Year Owner GPL- + from compatible? (1) + + 0.9.0 thru 1.2 1991-1995 CWI yes + 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes + 1.6 1.5.2 2000 CNRI no + 2.0 1.6 2000 BeOpen.com no + 1.6.1 1.6 2001 CNRI yes (2) + 2.1 2.0+1.6.1 2001 PSF no + 2.0.1 2.0+1.6.1 2001 PSF yes + 2.1.1 2.1+2.0.1 2001 PSF yes + 2.1.2 2.1.1 2002 PSF yes + 2.1.3 2.1.2 2002 PSF yes + 2.2 and above 2.1.1 2001-now PSF yes + +Footnotes: + +(1) GPL-compatible doesn't mean that we're distributing Python under + the GPL. All Python licenses, unlike the GPL, let you distribute + a modified version without making your changes open source. The + GPL-compatible licenses make it possible to combine Python with + other software that is released under the GPL; the others don't. + +(2) According to Richard Stallman, 1.6.1 is not GPL-compatible, + because its license has a choice of law clause. According to + CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 + is "not incompatible" with the GPL. + +Thanks to the many outside volunteers who have worked under Guido's +direction to make these releases possible. + + +B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON +=============================================================== + +PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 +-------------------------------------------- + +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using this software ("Python") in source or binary form and +its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, PSF hereby +grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, +analyze, test, perform and/or display publicly, prepare derivative works, +distribute, and otherwise use Python alone or in any derivative version, +provided, however, that PSF's License Agreement and PSF's notice of copyright, +i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +2011, 2012, 2013, 2014 Python Software Foundation; All Rights Reserved" are +retained in Python alone or in any derivative version prepared by Licensee. + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python. + +4. PSF is making Python available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using Python, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + +BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 +------------------------------------------- + +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 + +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the +Individual or Organization ("Licensee") accessing and otherwise using +this software in source or binary form and its associated +documentation ("the Software"). + +2. Subject to the terms and conditions of this BeOpen Python License +Agreement, BeOpen hereby grants Licensee a non-exclusive, +royalty-free, world-wide license to reproduce, analyze, test, perform +and/or display publicly, prepare derivative works, distribute, and +otherwise use the Software alone or in any derivative version, +provided, however, that the BeOpen Python License is retained in the +Software, alone or in any derivative version prepared by Licensee. + +3. BeOpen is making the Software available to Licensee on an "AS IS" +basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +5. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +6. This License Agreement shall be governed by and interpreted in all +respects by the law of the State of California, excluding conflict of +law provisions. Nothing in this License Agreement shall be deemed to +create any relationship of agency, partnership, or joint venture +between BeOpen and Licensee. This License Agreement does not grant +permission to use BeOpen trademarks or trade names in a trademark +sense to endorse or promote products or services of Licensee, or any +third party. As an exception, the "BeOpen Python" logos available at +http://www.pythonlabs.com/logos.html may be used according to the +permissions granted on that web page. + +7. By copying, installing or otherwise using the software, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + +CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 +--------------------------------------- + +1. This LICENSE AGREEMENT is between the Corporation for National +Research Initiatives, having an office at 1895 Preston White Drive, +Reston, VA 20191 ("CNRI"), and the Individual or Organization +("Licensee") accessing and otherwise using Python 1.6.1 software in +source or binary form and its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, CNRI +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 1.6.1 +alone or in any derivative version, provided, however, that CNRI's +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) +1995-2001 Corporation for National Research Initiatives; All Rights +Reserved" are retained in Python 1.6.1 alone or in any derivative +version prepared by Licensee. Alternately, in lieu of CNRI's License +Agreement, Licensee may substitute the following text (omitting the +quotes): "Python 1.6.1 is made available subject to the terms and +conditions in CNRI's License Agreement. This Agreement together with +Python 1.6.1 may be located on the Internet using the following +unique, persistent identifier (known as a handle): 1895.22/1013. This +Agreement may also be obtained from a proxy server on the Internet +using the following URL: http://hdl.handle.net/1895.22/1013". + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 1.6.1 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 1.6.1. + +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" +basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. This License Agreement shall be governed by the federal +intellectual property law of the United States, including without +limitation the federal copyright law, and, to the extent such +U.S. federal law does not apply, by the law of the Commonwealth of +Virginia, excluding Virginia's conflict of law provisions. +Notwithstanding the foregoing, with regard to derivative works based +on Python 1.6.1 that incorporate non-separable material that was +previously distributed under the GNU General Public License (GPL), the +law of the Commonwealth of Virginia shall govern this License +Agreement only as to issues arising under or with respect to +Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this +License Agreement shall be deemed to create any relationship of +agency, partnership, or joint venture between CNRI and Licensee. This +License Agreement does not grant permission to use CNRI trademarks or +trade name in a trademark sense to endorse or promote products or +services of Licensee, or any third party. + +8. By clicking on the "ACCEPT" button where indicated, or by copying, +installing or otherwise using Python 1.6.1, Licensee agrees to be +bound by the terms and conditions of this License Agreement. + + ACCEPT + + +CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 +-------------------------------------------------- + +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, +The Netherlands. 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 Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM 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. diff --git a/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/METADATA b/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/METADATA new file mode 100644 index 0000000..f9635cf --- /dev/null +++ b/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/METADATA @@ -0,0 +1,40 @@ +Metadata-Version: 2.1 +Name: typing-extensions +Version: 3.7.2 +Summary: Backported and Experimental Type Hints for Python 3.5+ +Home-page: https://github.com/python/typing/blob/master/typing_extensions/README.rst +Author: Guido van Rossum, Jukka Lehtosalo, Lukasz Langa, Michael Lee +Author-email: levkivskyi@gmail.com +License: PSF +Keywords: typing function annotations type hints hinting checking checker typehints typehinting typechecking backport +Platform: UNKNOWN +Classifier: Development Status :: 3 - Alpha +Classifier: Environment :: Console +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: Python Software Foundation License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python :: 2.7 +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 + +Typing Extensions -- Backported and Experimental Type Hints for Python + +The ``typing`` module was added to the standard library in Python 3.5 on +a provisional basis and will no longer be provisional in Python 3.7. However, +this means users of Python 3.5 - 3.6 who are unable to upgrade will not be +able to take advantage of new types added to the ``typing`` module, such as +``typing.Text`` or ``typing.Coroutine``. + +The ``typing_extensions`` module contains both backports of these changes +as well as experimental types that will eventually be added to the ``typing`` +module, such as ``Protocol``. + +Users of other Python versions should continue to install and use +the ``typing`` module from PyPi instead of using this one unless specifically +writing code that must be compatible with multiple Python versions or requires +experimental types. + + diff --git a/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/RECORD b/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/RECORD new file mode 100644 index 0000000..5e5347a --- /dev/null +++ b/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/RECORD @@ -0,0 +1,8 @@ +__pycache__/typing_extensions.cpython-36.pyc,, +typing_extensions-3.7.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +typing_extensions-3.7.2.dist-info/LICENSE,sha256=_xfOlOECAk3raHc-scx0ynbaTmWPNzUx8Kwi1oprsa0,12755 +typing_extensions-3.7.2.dist-info/METADATA,sha256=gnlHQYTjyi7WPqYjYg2ZNiedNKU74ILy26CEfq-riO8,1844 +typing_extensions-3.7.2.dist-info/RECORD,, +typing_extensions-3.7.2.dist-info/WHEEL,sha256=_NOXIqFgOaYmlm9RJLPQZ13BJuEIrp5jx5ptRD5uh3Y,92 +typing_extensions-3.7.2.dist-info/top_level.txt,sha256=hkDmk3VmrfXPOD--jS4aKTCu6kFZo-kVT1cIFfq1eU8,18 +typing_extensions.py,sha256=H8sw2ORnEqQY4Lc4_AlcHPpSWiC7BNlBjOL51CdMHoM,57717 diff --git a/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/WHEEL b/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/WHEEL new file mode 100644 index 0000000..4eeaea1 --- /dev/null +++ b/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.32.3) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/top_level.txt b/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/top_level.txt new file mode 100644 index 0000000..5fd4f05 --- /dev/null +++ b/venv/lib/python3.6/site-packages/typing_extensions-3.7.2.dist-info/top_level.txt @@ -0,0 +1 @@ +typing_extensions diff --git a/venv/lib/python3.6/site-packages/typing_extensions.py b/venv/lib/python3.6/site-packages/typing_extensions.py new file mode 100644 index 0000000..f4dbed6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/typing_extensions.py @@ -0,0 +1,1509 @@ +import abc +import collections +import contextlib +import sys +import typing +import collections.abc as collections_abc + +# After PEP 560, internal typing API was substantially reworked. +# This is especially important for Protocol class which uses internal APIs +# quite extensivelly. +PEP_560 = sys.version_info[:3] >= (3, 7, 0) + +# These are used by Protocol implementation +# We use internal typing helpers here, but this significantly reduces +# code duplication. (Also this is only until Protocol is in typing.) +from typing import Generic, Callable, TypeVar, Tuple +if PEP_560: + GenericMeta = TypingMeta = type +else: + from typing import GenericMeta, TypingMeta +OLD_GENERICS = False +try: + from typing import _type_vars, _next_in_mro, _type_check +except ImportError: + OLD_GENERICS = True +try: + from typing import _tp_cache +except ImportError: + _tp_cache = lambda x: x +try: + from typing import _TypingEllipsis, _TypingEmpty +except ImportError: + class _TypingEllipsis: pass + class _TypingEmpty: pass + + +# The two functions below are copies of typing internal helpers. +# They are needed by _ProtocolMeta + + +def _no_slots_copy(dct): + dict_copy = dict(dct) + if '__slots__' in dict_copy: + for slot in dict_copy['__slots__']: + dict_copy.pop(slot, None) + return dict_copy + + +def _check_generic(cls, parameters): + if not cls.__parameters__: + raise TypeError("%s is not a generic class" % repr(cls)) + alen = len(parameters) + elen = len(cls.__parameters__) + if alen != elen: + raise TypeError("Too %s parameters for %s; actual %s, expected %s" % + ("many" if alen > elen else "few", repr(cls), alen, elen)) + + +if hasattr(typing, '_generic_new'): + _generic_new = typing._generic_new +else: + # Note: The '_generic_new(...)' function is used as a part of the + # process of creating a generic type and was added to the typing module + # as of Python 3.5.3. + # + # We've defined '_generic_new(...)' below to exactly match the behavior + # implemented in older versions of 'typing' bundled with Python 3.5.0 to + # 3.5.2. This helps eliminate redundancy when defining collection types + # like 'Deque' later. + # + # See https://github.com/python/typing/pull/308 for more details -- in + # particular, compare and contrast the definition of types like + # 'typing.List' before and after the merge. + + def _generic_new(base_cls, cls, *args, **kwargs): + return base_cls.__new__(cls, *args, **kwargs) + +# See https://github.com/python/typing/pull/439 +if hasattr(typing, '_geqv'): + from typing import _geqv + _geqv_defined = True +else: + _geqv = None + _geqv_defined = False + +if sys.version_info[:2] >= (3, 6): + import _collections_abc + _check_methods_in_mro = _collections_abc._check_methods +else: + def _check_methods_in_mro(C, *methods): + mro = C.__mro__ + for method in methods: + for B in mro: + if method in B.__dict__: + if B.__dict__[method] is None: + return NotImplemented + break + else: + return NotImplemented + return True + + +# Please keep __all__ alphabetized within each category. +__all__ = [ + # Super-special typing primitives. + 'ClassVar', + 'Final', + 'Type', + + # ABCs (from collections.abc). + # The following are added depending on presence + # of their non-generic counterparts in stdlib: + # 'Awaitable', + # 'AsyncIterator', + # 'AsyncIterable', + # 'Coroutine', + # 'AsyncGenerator', + # 'AsyncContextManager', + # 'ChainMap', + + # Concrete collection types. + 'ContextManager', + 'Counter', + 'Deque', + 'DefaultDict', + + # One-off things. + 'final', + 'Literal', + 'NewType', + 'overload', + 'Text', + 'TYPE_CHECKING', +] + +# Protocols are hard to backport to the original version of typing 3.5.0 +HAVE_PROTOCOLS = sys.version_info[:3] != (3, 5, 0) + +if HAVE_PROTOCOLS: + __all__.extend(['Protocol', 'runtime']) + +# TODO +if hasattr(typing, 'NoReturn'): + NoReturn = typing.NoReturn +elif hasattr(typing, '_FinalTypingBase'): + class _NoReturn(typing._FinalTypingBase, _root=True): + """Special type indicating functions that never return. + Example:: + + from typing import NoReturn + + def stop() -> NoReturn: + raise Exception('no way') + + This type is invalid in other positions, e.g., ``List[NoReturn]`` + will fail in static type checkers. + """ + __slots__ = () + + def __instancecheck__(self, obj): + raise TypeError("NoReturn cannot be used with isinstance().") + + def __subclasscheck__(self, cls): + raise TypeError("NoReturn cannot be used with issubclass().") + + NoReturn = _NoReturn(_root=True) +else: + class _NoReturnMeta(typing.TypingMeta): + """Metaclass for NoReturn""" + def __new__(cls, name, bases, namespace, _root=False): + return super().__new__(cls, name, bases, namespace, _root=_root) + + def __instancecheck__(self, obj): + raise TypeError("NoReturn cannot be used with isinstance().") + + def __subclasscheck__(self, cls): + raise TypeError("NoReturn cannot be used with issubclass().") + + class NoReturn(typing.Final, metaclass=_NoReturnMeta, _root=True): + """Special type indicating functions that never return. + Example:: + + from typing import NoReturn + + def stop() -> NoReturn: + raise Exception('no way') + + This type is invalid in other positions, e.g., ``List[NoReturn]`` + will fail in static type checkers. + """ + __slots__ = () + + +# Some unconstrained type variables. These are used by the container types. +# (These are not for export.) +T = typing.TypeVar('T') # Any type. +KT = typing.TypeVar('KT') # Key type. +VT = typing.TypeVar('VT') # Value type. +T_co = typing.TypeVar('T_co', covariant=True) # Any type covariant containers. +V_co = typing.TypeVar('V_co', covariant=True) # Any type covariant containers. +VT_co = typing.TypeVar('VT_co', covariant=True) # Value type covariant containers. +T_contra = typing.TypeVar('T_contra', contravariant=True) # Ditto contravariant. + + +if hasattr(typing, 'ClassVar'): + ClassVar = typing.ClassVar +elif hasattr(typing, '_FinalTypingBase'): + class _ClassVar(typing._FinalTypingBase, _root=True): + """Special type construct to mark class variables. + + An annotation wrapped in ClassVar indicates that a given + attribute is intended to be used as a class variable and + should not be set on instances of that class. Usage:: + + class Starship: + stats: ClassVar[Dict[str, int]] = {} # class variable + damage: int = 10 # instance variable + + ClassVar accepts only types and cannot be further subscribed. + + Note that ClassVar is not a class itself, and should not + be used with isinstance() or issubclass(). + """ + + __slots__ = ('__type__',) + + def __init__(self, tp=None, **kwds): + self.__type__ = tp + + def __getitem__(self, item): + cls = type(self) + if self.__type__ is None: + return cls(typing._type_check(item, + '{} accepts only single type.'.format(cls.__name__[1:])), + _root=True) + raise TypeError('{} cannot be further subscripted' + .format(cls.__name__[1:])) + + def _eval_type(self, globalns, localns): + new_tp = typing._eval_type(self.__type__, globalns, localns) + if new_tp == self.__type__: + return self + return type(self)(new_tp, _root=True) + + def __repr__(self): + r = super().__repr__() + if self.__type__ is not None: + r += '[{}]'.format(typing._type_repr(self.__type__)) + return r + + def __hash__(self): + return hash((type(self).__name__, self.__type__)) + + def __eq__(self, other): + if not isinstance(other, _ClassVar): + return NotImplemented + if self.__type__ is not None: + return self.__type__ == other.__type__ + return self is other + + ClassVar = _ClassVar(_root=True) +else: + class _ClassVarMeta(typing.TypingMeta): + """Metaclass for ClassVar""" + + def __new__(cls, name, bases, namespace, tp=None, _root=False): + self = super().__new__(cls, name, bases, namespace, _root=_root) + if tp is not None: + self.__type__ = tp + return self + + def __instancecheck__(self, obj): + raise TypeError("ClassVar cannot be used with isinstance().") + + def __subclasscheck__(self, cls): + raise TypeError("ClassVar cannot be used with issubclass().") + + def __getitem__(self, item): + cls = type(self) + if self.__type__ is not None: + raise TypeError('{} cannot be further subscripted' + .format(cls.__name__[1:])) + + param = typing._type_check( + item, + '{} accepts only single type.'.format(cls.__name__[1:])) + return cls(self.__name__, self.__bases__, + dict(self.__dict__), tp=param, _root=True) + + def _eval_type(self, globalns, localns): + new_tp = typing._eval_type(self.__type__, globalns, localns) + if new_tp == self.__type__: + return self + return type(self)(self.__name__, self.__bases__, + dict(self.__dict__), tp=self.__type__, + _root=True) + + def __repr__(self): + r = super().__repr__() + if self.__type__ is not None: + r += '[{}]'.format(typing._type_repr(self.__type__)) + return r + + def __hash__(self): + return hash((type(self).__name__, self.__type__)) + + def __eq__(self, other): + if not isinstance(other, ClassVar): + return NotImplemented + if self.__type__ is not None: + return self.__type__ == other.__type__ + return self is other + + class ClassVar(typing.Final, metaclass=_ClassVarMeta, _root=True): + """Special type construct to mark class variables. + + An annotation wrapped in ClassVar indicates that a given + attribute is intended to be used as a class variable and + should not be set on instances of that class. Usage:: + + class Starship: + stats: ClassVar[Dict[str, int]] = {} # class variable + damage: int = 10 # instance variable + + ClassVar accepts only types and cannot be further subscribed. + + Note that ClassVar is not a class itself, and should not + be used with isinstance() or issubclass(). + """ + + __type__ = None + +if sys.version_info[:2] >= (3, 7): + class _FinalForm(typing._SpecialForm, _root=True): + + def __repr__(self): + return 'typing_extensions.' + self._name + + def __getitem__(self, parameters): + item = _type_check(parameters, + '{} accepts only single type'.format(self._name)) + return _GenericAlias(self, (item,)) + + Final = _FinalForm('Final', doc= + """A special typing construct to indicate that a name + cannot be re-assigned or overridden in a subclass. + For example: + + MAX_SIZE: Final = 9000 + MAX_SIZE += 1 # Error reported by type checker + + class Connection: + TIMEOUT: Final[int] = 10 + class FastConnector(Connection): + TIMEOUT = 1 # Error reported by type checker + + There is no runtime checking of these properties. + """) +elif hasattr(typing, '_FinalTypingBase'): + class _Final(typing._FinalTypingBase, _root=True): + """A special typing construct to indicate that a name + cannot be re-assigned or overridden in a subclass. + For example: + + MAX_SIZE: Final = 9000 + MAX_SIZE += 1 # Error reported by type checker + + class Connection: + TIMEOUT: Final[int] = 10 + class FastConnector(Connection): + TIMEOUT = 1 # Error reported by type checker + + There is no runtime checking of these properties. + """ + + __slots__ = ('__type__',) + + def __init__(self, tp=None, **kwds): + self.__type__ = tp + + def __getitem__(self, item): + cls = type(self) + if self.__type__ is None: + return cls(typing._type_check(item, + '{} accepts only single type.'.format(cls.__name__[1:])), + _root=True) + raise TypeError('{} cannot be further subscripted' + .format(cls.__name__[1:])) + + def _eval_type(self, globalns, localns): + new_tp = typing._eval_type(self.__type__, globalns, localns) + if new_tp == self.__type__: + return self + return type(self)(new_tp, _root=True) + + def __repr__(self): + r = super().__repr__() + if self.__type__ is not None: + r += '[{}]'.format(typing._type_repr(self.__type__)) + return r + + def __hash__(self): + return hash((type(self).__name__, self.__type__)) + + def __eq__(self, other): + if not isinstance(other, _Final): + return NotImplemented + if self.__type__ is not None: + return self.__type__ == other.__type__ + return self is other + + Final = _Final(_root=True) +else: + class _FinalMeta(typing.TypingMeta): + """Metaclass for Final""" + + def __new__(cls, name, bases, namespace, tp=None, _root=False): + self = super().__new__(cls, name, bases, namespace, _root=_root) + if tp is not None: + self.__type__ = tp + return self + + def __instancecheck__(self, obj): + raise TypeError("Final cannot be used with isinstance().") + + def __subclasscheck__(self, cls): + raise TypeError("Final cannot be used with issubclass().") + + def __getitem__(self, item): + cls = type(self) + if self.__type__ is not None: + raise TypeError('{} cannot be further subscripted' + .format(cls.__name__[1:])) + + param = typing._type_check( + item, + '{} accepts only single type.'.format(cls.__name__[1:])) + return cls(self.__name__, self.__bases__, + dict(self.__dict__), tp=param, _root=True) + + def _eval_type(self, globalns, localns): + new_tp = typing._eval_type(self.__type__, globalns, localns) + if new_tp == self.__type__: + return self + return type(self)(self.__name__, self.__bases__, + dict(self.__dict__), tp=self.__type__, + _root=True) + + def __repr__(self): + r = super().__repr__() + if self.__type__ is not None: + r += '[{}]'.format(typing._type_repr(self.__type__)) + return r + + def __hash__(self): + return hash((type(self).__name__, self.__type__)) + + def __eq__(self, other): + if not isinstance(other, Final): + return NotImplemented + if self.__type__ is not None: + return self.__type__ == other.__type__ + return self is other + + class Final(typing.Final, metaclass=_FinalMeta, _root=True): + """A special typing construct to indicate that a name + cannot be re-assigned or overridden in a subclass. + For example: + + MAX_SIZE: Final = 9000 + MAX_SIZE += 1 # Error reported by type checker + + class Connection: + TIMEOUT: Final[int] = 10 + class FastConnector(Connection): + TIMEOUT = 1 # Error reported by type checker + + There is no runtime checking of these properties. + """ + + __type__ = None + + +def final(f): + """This decorator can be used to indicate to type checkers that + the decorated method cannot be overridden, and decorated class + cannot be subclassed. For example: + + class Base: + @final + def done(self) -> None: + ... + class Sub(Base): + def done(self) -> None: # Error reported by type checker + ... + @final + class Leaf: + ... + class Other(Leaf): # Error reported by type checker + ... + + There is no runtime checking of these properties. + """ + return f + + +if hasattr(typing, 'Literal'): + Literal = typing.Literal +elif sys.version_info[:2] >= (3, 7): + class _LiteralForm(typing._SpecialForm, _root=True): + + def __repr__(self): + return 'typing_extensions.' + self._name + + def __getitem__(self, parameters): + return _GenericAlias(self, parameters) + + Literal = _LiteralForm('Literal', doc= + """A type that can be used to indicate to type checkers that the + corresponding value has a value literally equivalent to the + provided parameter. For example: + + var: Literal[4] = 4 + + The type checker understands that 'var' is literally equal to the + value 4 and no other value. + + Literal[...] cannot be subclassed. There is no runtime checking + verifying that the parameter is actually a value instead of a type. + """) +elif hasattr(typing, '_FinalTypingBase'): + class _Literal(typing._FinalTypingBase, _root=True): + """A type that can be used to indicate to type checkers that the + corresponding value has a value literally equivalent to the + provided parameter. For example: + + var: Literal[4] = 4 + + The type checker understands that 'var' is literally equal to the + value 4 and no other value. + + Literal[...] cannot be subclassed. There is no runtime checking + verifying that the parameter is actually a value instead of a type. + """ + + __slots__ = ('__values__',) + + def __init__(self, values=None, **kwds): + self.__values__ = values + + def __getitem__(self, values): + cls = type(self) + if self.__values__ is None: + if not isinstance(values, tuple): + values = (values,) + return cls(values, _root=True) + raise TypeError('{} cannot be further subscripted' + .format(cls.__name__[1:])) + + def _eval_type(self, globalns, localns): + return self + + def __repr__(self): + r = super().__repr__() + if self.__values__ is not None: + r += '[{}]'.format(', '.join(map(typing._type_repr, self.__values__))) + return r + + def __hash__(self): + return hash((type(self).__name__, self.__values__)) + + def __eq__(self, other): + if not isinstance(other, _Literal): + return NotImplemented + if self.__values__ is not None: + return self.__values__ == other.__values__ + return self is other + + Literal = _Literal(_root=True) +else: + class _LiteralMeta(typing.TypingMeta): + """Metaclass for Literal""" + + def __new__(cls, name, bases, namespace, values=None, _root=False): + self = super().__new__(cls, name, bases, namespace, _root=_root) + if values is not None: + self.__values__ = values + return self + + def __instancecheck__(self, obj): + raise TypeError("Literal cannot be used with isinstance().") + + def __subclasscheck__(self, cls): + raise TypeError("Literal cannot be used with issubclass().") + + def __getitem__(self, item): + cls = type(self) + if self.__values__ is not None: + raise TypeError('{} cannot be further subscripted' + .format(cls.__name__[1:])) + + if not isinstance(item, tuple): + item = (item,) + return cls(self.__name__, self.__bases__, + dict(self.__dict__), values=item, _root=True) + + def _eval_type(self, globalns, localns): + return self + + def __repr__(self): + r = super().__repr__() + if self.__values__ is not None: + r += '[{}]'.format(', '.join(map(typing._type_repr, self.__values__))) + return r + + def __hash__(self): + return hash((type(self).__name__, self.__values__)) + + def __eq__(self, other): + if not isinstance(other, Literal): + return NotImplemented + if self.__values__ is not None: + return self.__values__ == other.__values__ + return self is other + + class Literal(typing.Final, metaclass=_LiteralMeta, _root=True): + """A type that can be used to indicate to type checkers that the + corresponding value has a value literally equivalent to the + provided parameter. For example: + + var: Literal[4] = 4 + + The type checker understands that 'var' is literally equal to the + value 4 and no other value. + + Literal[...] cannot be subclassed. There is no runtime checking + verifying that the parameter is actually a value instead of a type. + """ + + __values__ = None + + +def _overload_dummy(*args, **kwds): + """Helper for @overload to raise when called.""" + raise NotImplementedError( + "You should not call an overloaded function. " + "A series of @overload-decorated functions " + "outside a stub module should always be followed " + "by an implementation that is not @overload-ed.") + + +def overload(func): + """Decorator for overloaded functions/methods. + + In a stub file, place two or more stub definitions for the same + function in a row, each decorated with @overload. For example: + + @overload + def utf8(value: None) -> None: ... + @overload + def utf8(value: bytes) -> bytes: ... + @overload + def utf8(value: str) -> bytes: ... + + In a non-stub file (i.e. a regular .py file), do the same but + follow it with an implementation. The implementation should *not* + be decorated with @overload. For example: + + @overload + def utf8(value: None) -> None: ... + @overload + def utf8(value: bytes) -> bytes: ... + @overload + def utf8(value: str) -> bytes: ... + def utf8(value): + # implementation goes here + """ + return _overload_dummy + + +# This is not a real generic class. Don't use outside annotations. +if hasattr(typing, 'Type'): + Type = typing.Type +else: + # Internal type variable used for Type[]. + CT_co = typing.TypeVar('CT_co', covariant=True, bound=type) + + class Type(typing.Generic[CT_co], extra=type): + """A special construct usable to annotate class objects. + + For example, suppose we have the following classes:: + + class User: ... # Abstract base for User classes + class BasicUser(User): ... + class ProUser(User): ... + class TeamUser(User): ... + + And a function that takes a class argument that's a subclass of + User and returns an instance of the corresponding class:: + + U = TypeVar('U', bound=User) + def new_user(user_class: Type[U]) -> U: + user = user_class() + # (Here we could write the user object to a database) + return user + joe = new_user(BasicUser) + + At this point the type checker knows that joe has type BasicUser. + """ + + __slots__ = () + + +# Various ABCs mimicking those in collections.abc. +# A few are simply re-exported for completeness. + +def _define_guard(type_name): + """ + Returns True if the given type isn't defined in typing but + is defined in collections_abc. + + Adds the type to __all__ if the collection is found in either + typing or collection_abc. + """ + if hasattr(typing, type_name): + __all__.append(type_name) + globals()[type_name] = getattr(typing, type_name) + return False + elif hasattr(collections_abc, type_name): + __all__.append(type_name) + return True + else: + return False + + +class _ExtensionsGenericMeta(GenericMeta): + def __subclasscheck__(self, subclass): + """This mimics a more modern GenericMeta.__subclasscheck__() logic + (that does not have problems with recursion) to work around interactions + between collections, typing, and typing_extensions on older + versions of Python, see https://github.com/python/typing/issues/501. + """ + if sys.version_info[:3] >= (3, 5, 3) or sys.version_info[:3] < (3, 5, 0): + if self.__origin__ is not None: + if sys._getframe(1).f_globals['__name__'] not in ['abc', 'functools']: + raise TypeError("Parameterized generics cannot be used with class " + "or instance checks") + return False + if not self.__extra__: + return super().__subclasscheck__(subclass) + res = self.__extra__.__subclasshook__(subclass) + if res is not NotImplemented: + return res + if self.__extra__ in subclass.__mro__: + return True + for scls in self.__extra__.__subclasses__(): + if isinstance(scls, GenericMeta): + continue + if issubclass(subclass, scls): + return True + return False + + +if _define_guard('Awaitable'): + class Awaitable(typing.Generic[T_co], metaclass=_ExtensionsGenericMeta, + extra=collections_abc.Awaitable): + __slots__ = () + + +if _define_guard('Coroutine'): + class Coroutine(Awaitable[V_co], typing.Generic[T_co, T_contra, V_co], + metaclass=_ExtensionsGenericMeta, + extra=collections_abc.Coroutine): + __slots__ = () + + +if _define_guard('AsyncIterable'): + class AsyncIterable(typing.Generic[T_co], + metaclass=_ExtensionsGenericMeta, + extra=collections_abc.AsyncIterable): + __slots__ = () + + +if _define_guard('AsyncIterator'): + class AsyncIterator(AsyncIterable[T_co], + metaclass=_ExtensionsGenericMeta, + extra=collections_abc.AsyncIterator): + __slots__ = () + + +if hasattr(typing, 'Deque'): + Deque = typing.Deque +elif _geqv_defined: + class Deque(collections.deque, typing.MutableSequence[T], + metaclass=_ExtensionsGenericMeta, + extra=collections.deque): + __slots__ = () + + def __new__(cls, *args, **kwds): + if _geqv(cls, Deque): + return collections.deque(*args, **kwds) + return _generic_new(collections.deque, cls, *args, **kwds) +else: + class Deque(collections.deque, typing.MutableSequence[T], + metaclass=_ExtensionsGenericMeta, + extra=collections.deque): + __slots__ = () + + def __new__(cls, *args, **kwds): + if cls._gorg is Deque: + return collections.deque(*args, **kwds) + return _generic_new(collections.deque, cls, *args, **kwds) + + +if hasattr(typing, 'ContextManager'): + ContextManager = typing.ContextManager +elif hasattr(contextlib, 'AbstractContextManager'): + class ContextManager(typing.Generic[T_co], + metaclass=_ExtensionsGenericMeta, + extra=contextlib.AbstractContextManager): + __slots__ = () +else: + class ContextManager(typing.Generic[T_co]): + __slots__ = () + + def __enter__(self): + return self + + @abc.abstractmethod + def __exit__(self, exc_type, exc_value, traceback): + return None + + @classmethod + def __subclasshook__(cls, C): + if cls is ContextManager: + # In Python 3.6+, it is possible to set a method to None to + # explicitly indicate that the class does not implement an ABC + # (https://bugs.python.org/issue25958), but we do not support + # that pattern here because this fallback class is only used + # in Python 3.5 and earlier. + if (any("__enter__" in B.__dict__ for B in C.__mro__) and + any("__exit__" in B.__dict__ for B in C.__mro__)): + return True + return NotImplemented + + +if hasattr(typing, 'AsyncContextManager'): + AsyncContextManager = typing.AsyncContextManager + __all__.append('AsyncContextManager') +elif hasattr(contextlib, 'AbstractAsyncContextManager'): + class AsyncContextManager(typing.Generic[T_co], + metaclass=_ExtensionsGenericMeta, + extra=contextlib.AbstractAsyncContextManager): + __slots__ = () + + __all__.append('AsyncContextManager') +elif sys.version_info[:2] >= (3, 5): + exec(""" +class AsyncContextManager(typing.Generic[T_co]): + __slots__ = () + + async def __aenter__(self): + return self + + @abc.abstractmethod + async def __aexit__(self, exc_type, exc_value, traceback): + return None + + @classmethod + def __subclasshook__(cls, C): + if cls is AsyncContextManager: + return _check_methods_in_mro(C, "__aenter__", "__aexit__") + return NotImplemented + +__all__.append('AsyncContextManager') +""") + + +if hasattr(typing, 'DefaultDict'): + DefaultDict = typing.DefaultDict +elif _geqv_defined: + class DefaultDict(collections.defaultdict, typing.MutableMapping[KT, VT], + metaclass=_ExtensionsGenericMeta, + extra=collections.defaultdict): + + __slots__ = () + + def __new__(cls, *args, **kwds): + if _geqv(cls, DefaultDict): + return collections.defaultdict(*args, **kwds) + return _generic_new(collections.defaultdict, cls, *args, **kwds) +else: + class DefaultDict(collections.defaultdict, typing.MutableMapping[KT, VT], + metaclass=_ExtensionsGenericMeta, + extra=collections.defaultdict): + + __slots__ = () + + def __new__(cls, *args, **kwds): + if cls._gorg is DefaultDict: + return collections.defaultdict(*args, **kwds) + return _generic_new(collections.defaultdict, cls, *args, **kwds) + + +if hasattr(typing, 'Counter'): + Counter = typing.Counter +elif (3, 5, 0) <= sys.version_info[:3] <= (3, 5, 1): + assert _geqv_defined + _TInt = typing.TypeVar('_TInt') + + class _CounterMeta(typing.GenericMeta): + """Metaclass for Counter""" + def __getitem__(self, item): + return super().__getitem__((item, int)) + + class Counter(collections.Counter, + typing.Dict[T, int], + metaclass=_CounterMeta, + extra=collections.Counter): + + __slots__ = () + + def __new__(cls, *args, **kwds): + if _geqv(cls, Counter): + return collections.Counter(*args, **kwds) + return _generic_new(collections.Counter, cls, *args, **kwds) + +elif _geqv_defined: + class Counter(collections.Counter, + typing.Dict[T, int], + metaclass=_ExtensionsGenericMeta, extra=collections.Counter): + + __slots__ = () + + def __new__(cls, *args, **kwds): + if _geqv(cls, Counter): + return collections.Counter(*args, **kwds) + return _generic_new(collections.Counter, cls, *args, **kwds) + +else: + class Counter(collections.Counter, + typing.Dict[T, int], + metaclass=_ExtensionsGenericMeta, extra=collections.Counter): + + __slots__ = () + + def __new__(cls, *args, **kwds): + if cls._gorg is Counter: + return collections.Counter(*args, **kwds) + return _generic_new(collections.Counter, cls, *args, **kwds) + + +if hasattr(typing, 'ChainMap'): + ChainMap = typing.ChainMap + __all__.append('ChainMap') +elif hasattr(collections, 'ChainMap'): + # ChainMap only exists in 3.3+ + if _geqv_defined: + class ChainMap(collections.ChainMap, typing.MutableMapping[KT, VT], + metaclass=_ExtensionsGenericMeta, + extra=collections.ChainMap): + + __slots__ = () + + def __new__(cls, *args, **kwds): + if _geqv(cls, ChainMap): + return collections.ChainMap(*args, **kwds) + return _generic_new(collections.ChainMap, cls, *args, **kwds) + else: + class ChainMap(collections.ChainMap, typing.MutableMapping[KT, VT], + metaclass=_ExtensionsGenericMeta, + extra=collections.ChainMap): + + __slots__ = () + + def __new__(cls, *args, **kwds): + if cls._gorg is ChainMap: + return collections.ChainMap(*args, **kwds) + return _generic_new(collections.ChainMap, cls, *args, **kwds) + + __all__.append('ChainMap') + + +if _define_guard('AsyncGenerator'): + class AsyncGenerator(AsyncIterator[T_co], typing.Generic[T_co, T_contra], + metaclass=_ExtensionsGenericMeta, + extra=collections_abc.AsyncGenerator): + __slots__ = () + + +if hasattr(typing, 'NewType'): + NewType = typing.NewType +else: + def NewType(name, tp): + """NewType creates simple unique types with almost zero + runtime overhead. NewType(name, tp) is considered a subtype of tp + by static type checkers. At runtime, NewType(name, tp) returns + a dummy function that simply returns its argument. Usage:: + + UserId = NewType('UserId', int) + + def name_by_id(user_id: UserId) -> str: + ... + + UserId('user') # Fails type check + + name_by_id(42) # Fails type check + name_by_id(UserId(42)) # OK + + num = UserId(5) + 1 # type: int + """ + + def new_type(x): + return x + + new_type.__name__ = name + new_type.__supertype__ = tp + return new_type + + +if hasattr(typing, 'Text'): + Text = typing.Text +else: + Text = str + + +if hasattr(typing, 'TYPE_CHECKING'): + TYPE_CHECKING = typing.TYPE_CHECKING +else: + # Constant that's True when type checking, but False here. + TYPE_CHECKING = False + + +def _gorg(cls): + """This function exists for compatibility with old typing versions.""" + assert isinstance(cls, GenericMeta) + if hasattr(cls, '_gorg'): + return cls._gorg + while cls.__origin__ is not None: + cls = cls.__origin__ + return cls + + +if OLD_GENERICS: + def _next_in_mro(cls): + """This function exists for compatibility with old typing versions.""" + next_in_mro = object + for i, c in enumerate(cls.__mro__[:-1]): + if isinstance(c, GenericMeta) and _gorg(c) is Generic: + next_in_mro = cls.__mro__[i + 1] + return next_in_mro + + +def _get_protocol_attrs(cls): + attrs = set() + for base in cls.__mro__[:-1]: # without object + if base.__name__ in ('Protocol', 'Generic'): + continue + annotations = getattr(base, '__annotations__', {}) + for attr in list(base.__dict__.keys()) + list(annotations.keys()): + if (not attr.startswith('_abc_') and attr not in ( + '__abstractmethods__', '__annotations__', '__weakref__', + '_is_protocol', '_is_runtime_protocol', '__dict__', + '__args__', '__slots__', + '__next_in_mro__', '__parameters__', '__origin__', + '__orig_bases__', '__extra__', '__tree_hash__', + '__doc__', '__subclasshook__', '__init__', '__new__', + '__module__', '_MutableMapping__marker', '_gorg')): + attrs.add(attr) + return attrs + + +def _is_callable_members_only(cls): + return all(callable(getattr(cls, attr, None)) for attr in _get_protocol_attrs(cls)) + + +if HAVE_PROTOCOLS and not PEP_560: + class _ProtocolMeta(GenericMeta): + """Internal metaclass for Protocol. + + This exists so Protocol classes can be generic without deriving + from Generic. + """ + if not OLD_GENERICS: + def __new__(cls, name, bases, namespace, + tvars=None, args=None, origin=None, extra=None, orig_bases=None): + # This is just a version copied from GenericMeta.__new__ that + # includes "Protocol" special treatment. (Comments removed for brevity.) + assert extra is None # Protocols should not have extra + if tvars is not None: + assert origin is not None + assert all(isinstance(t, TypeVar) for t in tvars), tvars + else: + tvars = _type_vars(bases) + gvars = None + for base in bases: + if base is Generic: + raise TypeError("Cannot inherit from plain Generic") + if (isinstance(base, GenericMeta) and + base.__origin__ in (Generic, Protocol)): + if gvars is not None: + raise TypeError( + "Cannot inherit from Generic[...] or" + " Protocol[...] multiple times.") + gvars = base.__parameters__ + if gvars is None: + gvars = tvars + else: + tvarset = set(tvars) + gvarset = set(gvars) + if not tvarset <= gvarset: + raise TypeError( + "Some type variables (%s) " + "are not listed in %s[%s]" % + (", ".join(str(t) for t in tvars if t not in gvarset), + "Generic" if any(b.__origin__ is Generic + for b in bases) else "Protocol", + ", ".join(str(g) for g in gvars))) + tvars = gvars + + initial_bases = bases + if (extra is not None and type(extra) is abc.ABCMeta and + extra not in bases): + bases = (extra,) + bases + bases = tuple(_gorg(b) if isinstance(b, GenericMeta) else b + for b in bases) + if any(isinstance(b, GenericMeta) and b is not Generic for b in bases): + bases = tuple(b for b in bases if b is not Generic) + namespace.update({'__origin__': origin, '__extra__': extra}) + self = super(GenericMeta, cls).__new__(cls, name, bases, namespace, + _root=True) + super(GenericMeta, self).__setattr__('_gorg', + self if not origin else + _gorg(origin)) + self.__parameters__ = tvars + self.__args__ = tuple(... if a is _TypingEllipsis else + () if a is _TypingEmpty else + a for a in args) if args else None + self.__next_in_mro__ = _next_in_mro(self) + if orig_bases is None: + self.__orig_bases__ = initial_bases + elif origin is not None: + self._abc_registry = origin._abc_registry + self._abc_cache = origin._abc_cache + if hasattr(self, '_subs_tree'): + self.__tree_hash__ = (hash(self._subs_tree()) if origin else + super(GenericMeta, self).__hash__()) + return self + + def __init__(cls, *args, **kwargs): + super().__init__(*args, **kwargs) + if not cls.__dict__.get('_is_protocol', None): + cls._is_protocol = any(b is Protocol or + isinstance(b, _ProtocolMeta) and + b.__origin__ is Protocol + for b in cls.__bases__) + if cls._is_protocol: + for base in cls.__mro__[1:]: + if not (base in (object, Generic, Callable) or + isinstance(base, TypingMeta) and base._is_protocol or + isinstance(base, GenericMeta) and + base.__origin__ is Generic): + raise TypeError('Protocols can only inherit from other' + ' protocols, got %r' % base) + + def _no_init(self, *args, **kwargs): + if type(self)._is_protocol: + raise TypeError('Protocols cannot be instantiated') + cls.__init__ = _no_init + + def _proto_hook(other): + if not cls.__dict__.get('_is_protocol', None): + return NotImplemented + if not isinstance(other, type): + # Same error as for issubclass(1, int) + raise TypeError('issubclass() arg 1 must be a class') + for attr in _get_protocol_attrs(cls): + for base in other.__mro__: + if attr in base.__dict__: + if base.__dict__[attr] is None: + return NotImplemented + break + annotations = getattr(base, '__annotations__', {}) + if (isinstance(annotations, typing.Mapping) and attr in annotations and + isinstance(other, _ProtocolMeta) and other._is_protocol): + break + else: + return NotImplemented + return True + if '__subclasshook__' not in cls.__dict__: + cls.__subclasshook__ = _proto_hook + + def __instancecheck__(self, instance): + # We need this method for situations where attributes are + # assigned in __init__. + if ((not getattr(self, '_is_protocol', False) or + _is_callable_members_only(self)) and + issubclass(instance.__class__, self)): + return True + if self._is_protocol: + if all(hasattr(instance, attr) and + (not callable(getattr(self, attr, None)) or + getattr(instance, attr) is not None) + for attr in _get_protocol_attrs(self)): + return True + return super(GenericMeta, self).__instancecheck__(instance) + + def __subclasscheck__(self, cls): + if self.__origin__ is not None: + if sys._getframe(1).f_globals['__name__'] not in ['abc', 'functools']: + raise TypeError("Parameterized generics cannot be used with class " + "or instance checks") + return False + if (self.__dict__.get('_is_protocol', None) and + not self.__dict__.get('_is_runtime_protocol', None)): + if sys._getframe(1).f_globals['__name__'] in ['abc', 'functools', 'typing']: + return False + raise TypeError("Instance and class checks can only be used with" + " @runtime protocols") + if (self.__dict__.get('_is_runtime_protocol', None) and + not _is_callable_members_only(self)): + if sys._getframe(1).f_globals['__name__'] in ['abc', 'functools', 'typing']: + return super(GenericMeta, self).__subclasscheck__(cls) + raise TypeError("Protocols with non-method members" + " don't support issubclass()") + return super(GenericMeta, self).__subclasscheck__(cls) + + if not OLD_GENERICS: + @_tp_cache + def __getitem__(self, params): + # We also need to copy this from GenericMeta.__getitem__ to get + # special treatment of "Protocol". (Comments removed for brevity.) + if not isinstance(params, tuple): + params = (params,) + if not params and _gorg(self) is not Tuple: + raise TypeError( + "Parameter list to %s[...] cannot be empty" % self.__qualname__) + msg = "Parameters to generic types must be types." + params = tuple(_type_check(p, msg) for p in params) + if self in (Generic, Protocol): + if not all(isinstance(p, TypeVar) for p in params): + raise TypeError( + "Parameters to %r[...] must all be type variables" % self) + if len(set(params)) != len(params): + raise TypeError( + "Parameters to %r[...] must all be unique" % self) + tvars = params + args = params + elif self in (Tuple, Callable): + tvars = _type_vars(params) + args = params + elif self.__origin__ in (Generic, Protocol): + raise TypeError("Cannot subscript already-subscripted %s" % + repr(self)) + else: + _check_generic(self, params) + tvars = _type_vars(params) + args = params + + prepend = (self,) if self.__origin__ is None else () + return self.__class__(self.__name__, + prepend + self.__bases__, + _no_slots_copy(self.__dict__), + tvars=tvars, + args=args, + origin=self, + extra=self.__extra__, + orig_bases=self.__orig_bases__) + + class Protocol(metaclass=_ProtocolMeta): + """Base class for protocol classes. Protocol classes are defined as:: + + class Proto(Protocol): + def meth(self) -> int: + ... + + Such classes are primarily used with static type checkers that recognize + structural subtyping (static duck-typing), for example:: + + class C: + def meth(self) -> int: + return 0 + + def func(x: Proto) -> int: + return x.meth() + + func(C()) # Passes static type check + + See PEP 544 for details. Protocol classes decorated with + @typing_extensions.runtime act as simple-minded runtime protocol that checks + only the presence of given attributes, ignoring their type signatures. + + Protocol classes can be generic, they are defined as:: + + class GenProto({bases}): + def meth(self) -> T: + ... + """ + __slots__ = () + _is_protocol = True + + def __new__(cls, *args, **kwds): + if _gorg(cls) is Protocol: + raise TypeError("Type Protocol cannot be instantiated; " + "it can be used only as a base class") + if OLD_GENERICS: + return _generic_new(_next_in_mro(cls), cls, *args, **kwds) + return _generic_new(cls.__next_in_mro__, cls, *args, **kwds) + if Protocol.__doc__ is not None: + Protocol.__doc__ = Protocol.__doc__.format(bases="Protocol, Generic[T]" if + OLD_GENERICS else "Protocol[T]") + + +elif PEP_560: + from typing import _type_check, _GenericAlias, _collect_type_vars + + class _ProtocolMeta(abc.ABCMeta): + # This metaclass is a bit unfortunate and exists only because of the lack + # of __instancehook__. + def __instancecheck__(cls, instance): + # We need this method for situations where attributes are + # assigned in __init__. + if ((not getattr(cls, '_is_protocol', False) or + _is_callable_members_only(cls)) and + issubclass(instance.__class__, cls)): + return True + if cls._is_protocol: + if all(hasattr(instance, attr) and + (not callable(getattr(cls, attr, None)) or + getattr(instance, attr) is not None) + for attr in _get_protocol_attrs(cls)): + return True + return super().__instancecheck__(instance) + + + class Protocol(metaclass=_ProtocolMeta): + # There is quite a lot of overlapping code with typing.Generic. + # Unfortunately it is hard to avoid this while these live in two different modules. + # The duplicated code will be removed when Protocol is moved to typing. + """Base class for protocol classes. Protocol classes are defined as:: + + class Proto(Protocol): + def meth(self) -> int: + ... + + Such classes are primarily used with static type checkers that recognize + structural subtyping (static duck-typing), for example:: + + class C: + def meth(self) -> int: + return 0 + + def func(x: Proto) -> int: + return x.meth() + + func(C()) # Passes static type check + + See PEP 544 for details. Protocol classes decorated with + @typing_extensions.runtime act as simple-minded runtime protocol that checks + only the presence of given attributes, ignoring their type signatures. + + Protocol classes can be generic, they are defined as:: + + class GenProto(Protocol[T]): + def meth(self) -> T: + ... + """ + __slots__ = () + _is_protocol = True + + def __new__(cls, *args, **kwds): + if cls is Protocol: + raise TypeError("Type Protocol cannot be instantiated; " + "it can only be used as a base class") + return super().__new__(cls) + + @_tp_cache + def __class_getitem__(cls, params): + if not isinstance(params, tuple): + params = (params,) + if not params and cls is not Tuple: + raise TypeError( + "Parameter list to {}[...] cannot be empty".format(cls.__qualname__)) + msg = "Parameters to generic types must be types." + params = tuple(_type_check(p, msg) for p in params) + if cls is Protocol: + # Generic can only be subscripted with unique type variables. + if not all(isinstance(p, TypeVar) for p in params): + i = 0 + while isinstance(params[i], TypeVar): + i += 1 + raise TypeError( + "Parameters to Protocol[...] must all be type variables." + " Parameter {} is {}".format(i + 1, params[i])) + if len(set(params)) != len(params): + raise TypeError( + "Parameters to Protocol[...] must all be unique") + else: + # Subscripting a regular Generic subclass. + _check_generic(cls, params) + return _GenericAlias(cls, params) + + def __init_subclass__(cls, *args, **kwargs): + tvars = [] + if '__orig_bases__' in cls.__dict__: + error = Generic in cls.__orig_bases__ + else: + error = Generic in cls.__bases__ + if error: + raise TypeError("Cannot inherit from plain Generic") + if '__orig_bases__' in cls.__dict__: + tvars = _collect_type_vars(cls.__orig_bases__) + # Look for Generic[T1, ..., Tn] or Protocol[T1, ..., Tn]. + # If found, tvars must be a subset of it. + # If not found, tvars is it. + # Also check for and reject plain Generic, + # and reject multiple Generic[...] and/or Protocol[...]. + gvars = None + for base in cls.__orig_bases__: + if (isinstance(base, _GenericAlias) and + base.__origin__ in (Generic, Protocol)): + # for error messages + the_base = 'Generic' if base.__origin__ is Generic else 'Protocol' + if gvars is not None: + raise TypeError( + "Cannot inherit from Generic[...]" + " and/or Protocol[...] multiple types.") + gvars = base.__parameters__ + if gvars is None: + gvars = tvars + else: + tvarset = set(tvars) + gvarset = set(gvars) + if not tvarset <= gvarset: + s_vars = ', '.join(str(t) for t in tvars if t not in gvarset) + s_args = ', '.join(str(g) for g in gvars) + raise TypeError("Some type variables ({}) are" + " not listed in {}[{}]".format(s_vars, the_base, s_args)) + tvars = gvars + cls.__parameters__ = tuple(tvars) + + # Determine if this is a protocol or a concrete subclass. + if not cls.__dict__.get('_is_protocol', None): + cls._is_protocol = any(b is Protocol for b in cls.__bases__) + + # Set (or override) the protocol subclass hook. + def _proto_hook(other): + if not cls.__dict__.get('_is_protocol', None): + return NotImplemented + if not getattr(cls, '_is_runtime_protocol', False): + if sys._getframe(2).f_globals['__name__'] in ['abc', 'functools']: + return NotImplemented + raise TypeError("Instance and class checks can only be used with" + " @runtime protocols") + if not _is_callable_members_only(cls): + if sys._getframe(2).f_globals['__name__'] in ['abc', 'functools']: + return NotImplemented + raise TypeError("Protocols with non-method members" + " don't support issubclass()") + if not isinstance(other, type): + # Same error as for issubclass(1, int) + raise TypeError('issubclass() arg 1 must be a class') + for attr in _get_protocol_attrs(cls): + for base in other.__mro__: + if attr in base.__dict__: + if base.__dict__[attr] is None: + return NotImplemented + break + annotations = getattr(base, '__annotations__', {}) + if (isinstance(annotations, typing.Mapping) and attr in annotations and + isinstance(other, _ProtocolMeta) and other._is_protocol): + break + else: + return NotImplemented + return True + if '__subclasshook__' not in cls.__dict__: + cls.__subclasshook__ = _proto_hook + + # We have nothing more to do for non-protocols. + if not cls._is_protocol: + return + + # Check consistency of bases. + for base in cls.__bases__: + if not (base in (object, Generic, Callable) or + isinstance(base, _ProtocolMeta) and base._is_protocol): + raise TypeError('Protocols can only inherit from other' + ' protocols, got %r' % base) + + def _no_init(self, *args, **kwargs): + if type(self)._is_protocol: + raise TypeError('Protocols cannot be instantiated') + cls.__init__ = _no_init + + +if HAVE_PROTOCOLS: + def runtime(cls): + """Mark a protocol class as a runtime protocol, so that it + can be used with isinstance() and issubclass(). Raise TypeError + if applied to a non-protocol class. + + This allows a simple-minded structural check very similar to the + one-offs in collections.abc such as Hashable. + """ + if not isinstance(cls, _ProtocolMeta) or not cls._is_protocol: + raise TypeError('@runtime can be only applied to protocol classes,' + ' got %r' % cls) + cls._is_runtime_protocol = True + return cls diff --git a/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/INSTALLER b/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/METADATA b/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/METADATA new file mode 100644 index 0000000..79b128c --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/METADATA @@ -0,0 +1,160 @@ +Metadata-Version: 2.1 +Name: websockets +Version: 6.0 +Summary: An implementation of the WebSocket Protocol (RFC 6455 & 7692) +Home-page: https://github.com/aaugustin/websockets +Author: Aymeric Augustin +Author-email: aymeric.augustin@m4x.org +License: BSD +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Web Environment +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: BSD License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Requires-Python: >=3.4 + +WebSockets +========== + +|rtd| |pypi-v| |pypi-pyversions| |pypi-l| |pypi-wheel| |circleci| |codecov| + +.. |rtd| image:: https://readthedocs.org/projects/websockets/badge/?version=latest + :target: https://websockets.readthedocs.io/ + +.. |pypi-v| image:: https://img.shields.io/pypi/v/websockets.svg + :target: https://pypi.python.org/pypi/websockets + +.. |pypi-pyversions| image:: https://img.shields.io/pypi/pyversions/websockets.svg + :target: https://pypi.python.org/pypi/websockets + +.. |pypi-l| image:: https://img.shields.io/pypi/l/websockets.svg + :target: https://pypi.python.org/pypi/websockets + +.. |pypi-wheel| image:: https://img.shields.io/pypi/wheel/websockets.svg + :target: https://pypi.python.org/pypi/websockets + +.. |circleci| image:: https://img.shields.io/circleci/project/github/aaugustin/websockets.svg + :target: https://circleci.com/gh/aaugustin/websockets + +.. |codecov| image:: https://codecov.io/gh/aaugustin/websockets/branch/master/graph/badge.svg + :target: https://codecov.io/gh/aaugustin/websockets + +What is ``websockets``? +----------------------- + +``websockets`` is a library for building WebSocket servers_ and clients_ in +Python with a focus on correctness and simplicity. + +.. _servers: https://github.com/aaugustin/websockets/blob/master/example/server.py +.. _clients: https://github.com/aaugustin/websockets/blob/master/example/client.py + +Built on top of ``asyncio``, Python's standard asynchronous I/O framework, it +provides an elegant coroutine-based API. + +Here's a client that says "Hello world!": + +.. copy-pasted because GitHub doesn't support the include directive + +.. code:: python + + #!/usr/bin/env python + + import asyncio + import websockets + + async def hello(uri): + async with websockets.connect(uri) as websocket: + await websocket.send("Hello world!") + + asyncio.get_event_loop().run_until_complete( + hello('ws://localhost:8765')) + +And here's an echo server (for Python ≥ 3.6): + +.. code:: python + + #!/usr/bin/env python + + import asyncio + import websockets + + async def echo(websocket, path): + async for message in websocket: + await websocket.send(message) + + asyncio.get_event_loop().run_until_complete( + websockets.serve(echo, 'localhost', 8765)) + asyncio.get_event_loop().run_forever() + +Does that look good? `Start here`_. + +.. _Start here: https://websockets.readthedocs.io/en/stable/intro.html + +Why should I use ``websockets``? +-------------------------------- + +The development of ``websockets`` is shaped by four principles: + +1. **Simplicity**: all you need to understand is ``msg = await ws.recv()`` and + ``await ws.send(msg)``; ``websockets`` takes care of managing connections + so you can focus on your application. + +2. **Robustness**: ``websockets`` is built for production; for example it was + the only library to `handle backpressure correctly`_ before the issue + became widely known in the Python community. + +3. **Quality**: ``websockets`` is heavily tested. Continuous integration fails + under 100% branch coverage. Also it passes the industry-standard `Autobahn + Testsuite`_. + +4. **Performance**: memory use is configurable. An extension written in C + accelerates expensive operations. It's pre-compiled for Linux, macOS and + Windows and packaged in the wheel format for each system and Python version. + +Documentation is a first class concern in the project. Head over to `Read the +Docs`_ and see for yourself. + +Professional support is available if you — or your company — are so inclined. +`Get in touch`_. + +(If you contribute to ``websockets`` and would like to become an official +support provider, let me know.) + +.. _Read the Docs: https://websockets.readthedocs.io/ +.. _handle backpressure correctly: https://vorpus.org/blog/some-thoughts-on-asynchronous-api-design-in-a-post-asyncawait-world/#websocket-servers +.. _Autobahn Testsuite: https://github.com/aaugustin/websockets/blob/master/compliance/README.rst +.. _Get in touch: https://fractalideas.com/ + +Why shouldn't I use ``websockets``? +----------------------------------- + +* If you prefer callbacks over coroutines: ``websockets`` was created to + provide the best coroutine-based API to manage WebSocket connections in + Python. Pick another library for a callback-based API. +* If you're looking for a mixed HTTP / WebSocket library: ``websockets`` aims + at being an excellent implementation of :rfc:`6455`: The WebSocket Protocol + and :rfc:`7692`: Compression Extensions for WebSocket. Its support for HTTP + is minimal — just enough for a HTTP health check. +* If you want to use Python 2: ``websockets`` builds upon ``asyncio`` which + only works on Python 3. ``websockets`` requires Python ≥ 3.4. + +What else? +---------- + +Bug reports, patches and suggestions welcome! Just open an issue_ or send a +`pull request`_. + +.. _issue: https://github.com/aaugustin/websockets/issues/new +.. _pull request: https://github.com/aaugustin/websockets/compare/ + +``websockets`` is released under the `BSD license`_. + +.. _BSD license: https://websockets.readthedocs.io/en/stable/license.html + + diff --git a/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/RECORD b/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/RECORD new file mode 100644 index 0000000..ed11652 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/RECORD @@ -0,0 +1,79 @@ +websockets-6.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +websockets-6.0.dist-info/METADATA,sha256=InnMCizlXlk9pEqf_UzyMYNBGv63j8zMXG-nppk20VM,5882 +websockets-6.0.dist-info/RECORD,, +websockets-6.0.dist-info/WHEEL,sha256=d2ILPScH-y2UwGxsW1PeA2TT-KW0Git4AJ6LeOK8sQo,109 +websockets-6.0.dist-info/top_level.txt,sha256=U9wgiV1uPNMh59dL1St3OK4SYaeiXJXj-WrNk_jh2V8,65 +websockets-6.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 +websockets/__init__.py,sha256=dtzzVSk5GjukX2OhwZhjfYhQBWTQCzYYoruzoivf8f4,383 +websockets/__pycache__/__init__.cpython-36.pyc,, +websockets/__pycache__/client.cpython-36.pyc,, +websockets/__pycache__/compatibility.cpython-36.pyc,, +websockets/__pycache__/exceptions.cpython-36.pyc,, +websockets/__pycache__/framing.cpython-36.pyc,, +websockets/__pycache__/handshake.cpython-36.pyc,, +websockets/__pycache__/headers.cpython-36.pyc,, +websockets/__pycache__/http.cpython-36.pyc,, +websockets/__pycache__/protocol.cpython-36.pyc,, +websockets/__pycache__/server.cpython-36.pyc,, +websockets/__pycache__/test_client_server.cpython-36.pyc,, +websockets/__pycache__/test_exceptions.cpython-36.pyc,, +websockets/__pycache__/test_framing.cpython-36.pyc,, +websockets/__pycache__/test_handshake.cpython-36.pyc,, +websockets/__pycache__/test_headers.cpython-36.pyc,, +websockets/__pycache__/test_http.cpython-36.pyc,, +websockets/__pycache__/test_protocol.cpython-36.pyc,, +websockets/__pycache__/test_speedups.cpython-36.pyc,, +websockets/__pycache__/test_uri.cpython-36.pyc,, +websockets/__pycache__/test_utils.cpython-36.pyc,, +websockets/__pycache__/uri.cpython-36.pyc,, +websockets/__pycache__/utils.cpython-36.pyc,, +websockets/__pycache__/version.cpython-36.pyc,, +websockets/client.py,sha256=BCXv7mW_IUmAAA5yTcx1Zgw_3JBQMi4vDNkI36L0tn0,15501 +websockets/compatibility.py,sha256=y2Y2ZUZoTDOzC9_zzlfuaqtFD0412QxvxB1ZzzffGes,1856 +websockets/exceptions.py,sha256=PnlxWI0ir47dX_8EVYpxMpUa4t-ON4Q9d2OgIzG-sy0,5325 +websockets/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +websockets/extensions/__pycache__/__init__.cpython-36.pyc,, +websockets/extensions/__pycache__/base.cpython-36.pyc,, +websockets/extensions/__pycache__/permessage_deflate.cpython-36.pyc,, +websockets/extensions/__pycache__/test_base.cpython-36.pyc,, +websockets/extensions/__pycache__/test_permessage_deflate.cpython-36.pyc,, +websockets/extensions/base.py,sha256=ksE3qwNrjlVgVxFNC2e4VYU1AmpP-58YldGXZf2mbUk,2008 +websockets/extensions/permessage_deflate.py,sha256=hyi0wwluQUaiBnHqncLeGi-X4RoY5S_huz-zARs8zlI,19540 +websockets/extensions/test_base.py,sha256=0aGNzlYwM-Fvi3DQKR5jP94A2GFVvW36u8xoljqb10g,85 +websockets/extensions/test_permessage_deflate.py,sha256=xiasgxQtcctc09iBEa-zW1fzeJe4d1iCiG0Fi00A7FA,30186 +websockets/framing.py,sha256=gUsI6qYL50yYvk2OmnmXm-DmnhJJMqmDOoIuDgerWf0,8938 +websockets/handshake.py,sha256=_Jlw3WCSJLm0JzVl2m_kPMUoV7rIXVht1euAFMF1pIc,5170 +websockets/headers.py,sha256=t-TiyMbmjvgzco65l_Tz5SqCTYA_xB1AL7vPPZIiZvE,9692 +websockets/http.py,sha256=Pox12UifObYx-wxR9CvCFxCHFypH81IiBcy_ge6BFO4,10058 +websockets/protocol.py,sha256=phK-gqwd5jtjIXHqvRy-9lmWo4igGwRs274yXQjfabw,39325 +websockets/py35/__init__.py,sha256=yYRQ_76YWF-La7UK4uZwOcPEIp4CE3RwXZ99BUM7qX4,152 +websockets/py35/__pycache__/__init__.cpython-36.pyc,, +websockets/py35/__pycache__/_test_client_server.cpython-36.pyc,, +websockets/py35/__pycache__/client.cpython-36.pyc,, +websockets/py35/__pycache__/server.cpython-36.pyc,, +websockets/py35/_test_client_server.py,sha256=tWDIGCUjBgNZ2N84rMQZbHZJs9g28sQrAlII3Z8vVhA,3739 +websockets/py35/client.py,sha256=2157erojqBVcBXXAXxZtmsJCeV-nu-FKZ7lI0xKaA68,1076 +websockets/py35/server.py,sha256=Boi-Ty0WyJcHDOzkSGKLvq_3uc5zrNM8V1SmFoblWIY,740 +websockets/py36/__init__.py,sha256=kAtEcyo6gA6UxWsDEi15Bfr1vLzWUklB7ViMVsN1DkY,147 +websockets/py36/__pycache__/__init__.cpython-36.pyc,, +websockets/py36/__pycache__/_test_client_server.cpython-36.pyc,, +websockets/py36/__pycache__/protocol.cpython-36.pyc,, +websockets/py36/_test_client_server.py,sha256=AhkvR9_xwszKLgqb3Bsi01j70LR84pYzocNcu-6DT8k,3061 +websockets/py36/protocol.py,sha256=Yc5oPGuH5LheU9c5GPLvSDBH8MYrKMjMFITXvte9MEc,428 +websockets/server.py,sha256=_LZB0M5q60sabIA-PQz2rVBpygN2_0h8Xs_Jo7NpQF8,29830 +websockets/speedups.c,sha256=Nbq9Q4TKGrG9LrUQbGGm5F6gpXhKYuKOwvOYNQ1jPxo,3370 +websockets/speedups.cpython-36m-x86_64-linux-gnu.so,sha256=AsAZ5bmqy4n0lic9OqRHmtpCu_R5bBfp22vq7WiRPR0,20223 +websockets/test_client_server.py,sha256=mTn2vWYkl6J8akhMHn4N9Gjmr-7ifREOsKdtS08O06c,42367 +websockets/test_exceptions.py,sha256=4l734uM1zJBABQZgs4IJ5Q_72pBJ2Fpq2MgWHumIN70,4043 +websockets/test_framing.py,sha256=Zhly67nfo0Qx-_WMeBCOywyuHW6XAL54aCsoZi08zdw,7645 +websockets/test_handshake.py,sha256=G9WZFlQjHBqPbgR7ovipmA9lHe_BvsEwpwEdWyccdZo,4073 +websockets/test_headers.py,sha256=h7XA6zA-LWjngNnZlyG3Z00IWjYRPJ96sNCJaQnIsvw,5587 +websockets/test_http.py,sha256=ry5arSNDIOG_Xrg65cHTVPhotSviJxwvxgaYpiN7ziw,7666 +websockets/test_localhost.pem,sha256=c1P0zcmhESihccXI_LoHrbeLMVshDTQAFiTkCduQe5g,2908 +websockets/test_protocol.py,sha256=aEIW4gZeL5ibC-qxjqpDqaDaag5izPOSUqv0E7ElN9c,38949 +websockets/test_speedups.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +websockets/test_uri.py,sha256=k1sc4AkNT5juwDO2X_J9C5GmelVF8sxaKlGGNzuN_dE,1074 +websockets/test_utils.py,sha256=ZG8hjKLvk0Q4b4M3YKE5DbR9pzIIM0ioy5mVtHZH7bY,1638 +websockets/uri.py,sha256=lfQRaPDE-8oTYVjXTZ0IeFO3APaynd1_XzP4x7Pz7K0,1796 +websockets/utils.py,sha256=Qt5rpZiL_6u4KgS5WFSXTrFhmDbZzydA6LGBM6DacMY,277 +websockets/version.py,sha256=bZXpkmCzmrXMl6D3hk8KDxVse4aJkadjghARGXLMuYA,16 diff --git a/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/WHEEL b/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/WHEEL new file mode 100644 index 0000000..92946fe --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.31.1) +Root-Is-Purelib: false +Tag: cp36-cp36m-manylinux1_x86_64 + diff --git a/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/top_level.txt b/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/top_level.txt new file mode 100644 index 0000000..73f88be --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/top_level.txt @@ -0,0 +1,4 @@ +websockets +websockets/extensions +websockets/py35 +websockets/py36 diff --git a/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/zip-safe b/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/zip-safe new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets-6.0.dist-info/zip-safe @@ -0,0 +1 @@ + diff --git a/venv/lib/python3.6/site-packages/websockets/__init__.py b/venv/lib/python3.6/site-packages/websockets/__init__.py new file mode 100644 index 0000000..b394c56 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/__init__.py @@ -0,0 +1,17 @@ +# This relies on each of the submodules having an __all__ variable. + +from .client import * +from .exceptions import * +from .protocol import * +from .server import * +from .uri import * +from .version import version as __version__ # noqa + + +__all__ = ( + client.__all__ + + exceptions.__all__ + + protocol.__all__ + + server.__all__ + + uri.__all__ +) diff --git a/venv/lib/python3.6/site-packages/websockets/client.py b/venv/lib/python3.6/site-packages/websockets/client.py new file mode 100644 index 0000000..aa45180 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/client.py @@ -0,0 +1,420 @@ +""" +The :mod:`websockets.client` module defines a simple WebSocket client API. + +""" + +import asyncio +import collections.abc +import sys + +from .exceptions import ( + InvalidHandshake, InvalidMessage, InvalidStatusCode, NegotiationError +) +from .extensions.permessage_deflate import ClientPerMessageDeflateFactory +from .handshake import build_request, check_response +from .headers import ( + build_basic_auth, build_extension_list, build_subprotocol_list, + parse_extension_list, parse_subprotocol_list +) +from .http import USER_AGENT, Headers, read_response +from .protocol import WebSocketCommonProtocol +from .uri import parse_uri + + +__all__ = ['connect', 'WebSocketClientProtocol'] + + +class WebSocketClientProtocol(WebSocketCommonProtocol): + """ + Complete WebSocket client implementation as an :class:`asyncio.Protocol`. + + This class inherits most of its methods from + :class:`~websockets.protocol.WebSocketCommonProtocol`. + + """ + is_client = True + side = 'client' + + def __init__(self, *, + origin=None, extensions=None, subprotocols=None, + extra_headers=None, **kwds): + self.origin = origin + self.available_extensions = extensions + self.available_subprotocols = subprotocols + self.extra_headers = extra_headers + super().__init__(**kwds) + + @asyncio.coroutine + def write_http_request(self, path, headers): + """ + Write request line and headers to the HTTP request. + + """ + self.path = path + self.request_headers = headers + + # Since the path and headers only contain ASCII characters, + # we can keep this simple. + request = 'GET {path} HTTP/1.1\r\n'.format(path=path) + request += str(headers) + + self.writer.write(request.encode()) + + @asyncio.coroutine + def read_http_response(self): + """ + Read status line and headers from the HTTP response. + + Raise :exc:`~websockets.exceptions.InvalidMessage` if the HTTP message + is malformed or isn't an HTTP/1.1 GET request. + + Don't attempt to read the response body because WebSocket handshake + responses don't have one. If the response contains a body, it may be + read from ``self.reader`` after this coroutine returns. + + """ + try: + status_code, headers = yield from read_response(self.reader) + except ValueError as exc: + raise InvalidMessage("Malformed HTTP message") from exc + + self.response_headers = headers + + return status_code, self.response_headers + + @staticmethod + def process_extensions(headers, available_extensions): + """ + Handle the Sec-WebSocket-Extensions HTTP response header. + + Check that each extension is supported, as well as its parameters. + + Return the list of accepted extensions. + + Raise :exc:`~websockets.exceptions.InvalidHandshake` to abort the + connection. + + :rfc:`6455` leaves the rules up to the specification of each + :extension. + + To provide this level of flexibility, for each extension accepted by + the server, we check for a match with each extension available in the + client configuration. If no match is found, an exception is raised. + + If several variants of the same extension are accepted by the server, + it may be configured severel times, which won't make sense in general. + Extensions must implement their own requirements. For this purpose, + the list of previously accepted extensions is provided. + + Other requirements, for example related to mandatory extensions or the + order of extensions, may be implemented by overriding this method. + + """ + accepted_extensions = [] + + header_values = headers.get_all('Sec-WebSocket-Extensions') + + if header_values: + + if available_extensions is None: + raise InvalidHandshake("No extensions supported") + + parsed_header_values = sum([ + parse_extension_list(header_value) + for header_value in header_values + ], []) + + for name, response_params in parsed_header_values: + + for extension_factory in available_extensions: + + # Skip non-matching extensions based on their name. + if extension_factory.name != name: + continue + + # Skip non-matching extensions based on their params. + try: + extension = extension_factory.process_response_params( + response_params, accepted_extensions) + except NegotiationError: + continue + + # Add matching extension to the final list. + accepted_extensions.append(extension) + + # Break out of the loop once we have a match. + break + + # If we didn't break from the loop, no extension in our list + # matched what the server sent. Fail the connection. + else: + raise NegotiationError( + "Unsupported extension: name = {}, params = {}".format( + name, response_params)) + + return accepted_extensions + + @staticmethod + def process_subprotocol(headers, available_subprotocols): + """ + Handle the Sec-WebSocket-Protocol HTTP response header. + + Check that it contains exactly one supported subprotocol. + + Return the selected subprotocol. + + """ + subprotocol = None + + header_values = headers.get_all('Sec-WebSocket-Protocol') + + if header_values: + + if available_subprotocols is None: + raise InvalidHandshake("No subprotocols supported") + + parsed_header_values = sum([ + parse_subprotocol_list(header_value) + for header_value in header_values + ], []) + + if len(parsed_header_values) > 1: + raise InvalidHandshake( + "Multiple subprotocols: {}".format( + ', '.join(parsed_header_values))) + + subprotocol = parsed_header_values[0] + + if subprotocol not in available_subprotocols: + raise NegotiationError( + "Unsupported subprotocol: {}".format(subprotocol)) + + return subprotocol + + @asyncio.coroutine + def handshake(self, wsuri, origin=None, available_extensions=None, + available_subprotocols=None, extra_headers=None): + """ + Perform the client side of the opening handshake. + + If provided, ``origin`` sets the Origin HTTP header. + + If provided, ``available_extensions`` is a list of supported + extensions in the order in which they should be used. + + If provided, ``available_subprotocols`` is a list of supported + subprotocols in order of decreasing preference. + + If provided, ``extra_headers`` sets additional HTTP request headers. + It must be a :class:`~websockets.http.Headers` instance, a + :class:`~collections.abc.Mapping`, or an iterable of ``(name, value)`` + pairs. + + Raise :exc:`~websockets.exceptions.InvalidHandshake` if the handshake + fails. + + """ + request_headers = Headers() + + if wsuri.port == (443 if wsuri.secure else 80): # pragma: no cover + request_headers['Host'] = wsuri.host + else: + request_headers['Host'] = '{}:{}'.format(wsuri.host, wsuri.port) + + if wsuri.user_info: + request_headers['Authorization'] = build_basic_auth( + *wsuri.user_info) + + if origin is not None: + request_headers['Origin'] = origin + + key = build_request(request_headers) + + if available_extensions is not None: + extensions_header = build_extension_list([ + ( + extension_factory.name, + extension_factory.get_request_params(), + ) + for extension_factory in available_extensions + ]) + request_headers['Sec-WebSocket-Extensions'] = extensions_header + + if available_subprotocols is not None: + protocol_header = build_subprotocol_list(available_subprotocols) + request_headers['Sec-WebSocket-Protocol'] = protocol_header + + if extra_headers is not None: + if isinstance(extra_headers, Headers): + extra_headers = extra_headers.raw_items() + elif isinstance(extra_headers, collections.abc.Mapping): + extra_headers = extra_headers.items() + for name, value in extra_headers: + request_headers[name] = value + + request_headers.setdefault('User-Agent', USER_AGENT) + + yield from self.write_http_request( + wsuri.resource_name, request_headers) + + status_code, response_headers = yield from self.read_http_response() + + if status_code != 101: + raise InvalidStatusCode(status_code) + + check_response(response_headers, key) + + self.extensions = self.process_extensions( + response_headers, available_extensions) + + self.subprotocol = self.process_subprotocol( + response_headers, available_subprotocols) + + self.connection_open() + + +class Connect: + """ + Connect to the WebSocket server at the given ``uri``. + + :func:`connect` returns an awaitable. Awaiting it yields an instance of + :class:`WebSocketClientProtocol` which can then be used to send and + receive messages. + + On Python ≥ 3.5.1, :func:`connect` can be used as a asynchronous context + manager. In that case, the connection is closed when exiting the context. + + :func:`connect` is a wrapper around the event loop's + :meth:`~asyncio.BaseEventLoop.create_connection` method. Unknown keyword + arguments are passed to :meth:`~asyncio.BaseEventLoop.create_connection`. + + For example, you can set the ``ssl`` keyword argument to a + :class:`~ssl.SSLContext` to enforce some TLS settings. When connecting to + a ``wss://`` URI, if this argument isn't provided explicitly, it's set to + ``True``, which means Python's default :class:`~ssl.SSLContext` is used. + + The behavior of the ``timeout``, ``max_size``, and ``max_queue``, + ``read_limit``, and ``write_limit`` optional arguments is described in the + documentation of :class:`~websockets.protocol.WebSocketCommonProtocol`. + + The ``create_protocol`` parameter allows customizing the asyncio protocol + that manages the connection. It should be a callable or class accepting + the same arguments as :class:`WebSocketClientProtocol` and returning a + :class:`WebSocketClientProtocol` instance. It defaults to + :class:`WebSocketClientProtocol`. + + :func:`connect` also accepts the following optional arguments: + + * ``origin`` sets the Origin HTTP header + * ``extensions`` is a list of supported extensions in order of + decreasing preference + * ``subprotocols`` is a list of supported subprotocols in order of + decreasing preference + * ``extra_headers`` sets additional HTTP request headers – it can be a + :class:`~websockets.http.Headers` instance, a + :class:`~collections.abc.Mapping`, or an iterable of ``(name, value)`` + pairs + * ``compression`` is a shortcut to configure compression extensions; + by default it enables the "permessage-deflate" extension; set it to + ``None`` to disable compression + + :func:`connect` raises :exc:`~websockets.uri.InvalidURI` if ``uri`` is + invalid and :exc:`~websockets.handshake.InvalidHandshake` if the opening + handshake fails. + + """ + + def __init__(self, uri, *, + create_protocol=None, + timeout=10, max_size=2 ** 20, max_queue=2 ** 5, + read_limit=2 ** 16, write_limit=2 ** 16, + loop=None, legacy_recv=False, klass=None, + origin=None, extensions=None, subprotocols=None, + extra_headers=None, compression='deflate', **kwds): + if loop is None: + loop = asyncio.get_event_loop() + + # Backwards-compatibility: create_protocol used to be called klass. + # In the unlikely event that both are specified, klass is ignored. + if create_protocol is None: + create_protocol = klass + + if create_protocol is None: + create_protocol = WebSocketClientProtocol + + wsuri = parse_uri(uri) + if wsuri.secure: + kwds.setdefault('ssl', True) + elif kwds.get('ssl') is not None: + raise ValueError("connect() received a SSL context for a ws:// " + "URI, use a wss:// URI to enable TLS") + + if compression == 'deflate': + if extensions is None: + extensions = [] + if not any( + extension_factory.name == ClientPerMessageDeflateFactory.name + for extension_factory in extensions + ): + extensions.append(ClientPerMessageDeflateFactory( + client_max_window_bits=True, + )) + elif compression is not None: + raise ValueError("Unsupported compression: {}".format(compression)) + + factory = lambda: create_protocol( + host=wsuri.host, port=wsuri.port, secure=wsuri.secure, + timeout=timeout, max_size=max_size, max_queue=max_queue, + read_limit=read_limit, write_limit=write_limit, + loop=loop, legacy_recv=legacy_recv, + origin=origin, extensions=extensions, subprotocols=subprotocols, + extra_headers=extra_headers, + ) + + if kwds.get('sock') is None: + host, port = wsuri.host, wsuri.port + else: + # If sock is given, host and port mustn't be specified. + host, port = None, None + + self._wsuri = wsuri + self._origin = origin + + # This is a coroutine object. + self._creating_connection = loop.create_connection( + factory, host, port, **kwds) + + @asyncio.coroutine + def __iter__(self): # pragma: no cover + transport, protocol = yield from self._creating_connection + + try: + yield from protocol.handshake( + self._wsuri, origin=self._origin, + available_extensions=protocol.available_extensions, + available_subprotocols=protocol.available_subprotocols, + extra_headers=protocol.extra_headers, + ) + except Exception: + yield from protocol.fail_connection() + raise + + self.ws_client = protocol + return protocol + + +# We can't define __await__ on Python < 3.5.1 because asyncio.ensure_future +# didn't accept arbitrary awaitables until Python 3.5.1. We don't define +# __aenter__ and __aexit__ either on Python < 3.5.1 to keep things simple. +if sys.version_info[:3] <= (3, 5, 0): # pragma: no cover + @asyncio.coroutine + def connect(*args, **kwds): + return Connect(*args, **kwds).__iter__() + connect.__doc__ = Connect.__doc__ + +else: + from .py35.client import __aenter__, __aexit__, __await__ + Connect.__aenter__ = __aenter__ + Connect.__aexit__ = __aexit__ + Connect.__await__ = __await__ + connect = Connect diff --git a/venv/lib/python3.6/site-packages/websockets/compatibility.py b/venv/lib/python3.6/site-packages/websockets/compatibility.py new file mode 100644 index 0000000..21bc586 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/compatibility.py @@ -0,0 +1,59 @@ +""" +The :mod:`websockets.compatibility` module provides helpers for bridging +compatibility issues across Python versions. + +""" + +import asyncio +import http + + +# Replace with BaseEventLoop.create_task when dropping Python < 3.4.2. +try: # pragma: no cover + asyncio_ensure_future = asyncio.ensure_future # Python ≥ 3.5 +except AttributeError: # pragma: no cover + asyncio_ensure_future = getattr(asyncio, 'async') # Python < 3.5 + +try: # pragma: no cover + # Python ≥ 3.5 + SWITCHING_PROTOCOLS = http.HTTPStatus.SWITCHING_PROTOCOLS + OK = http.HTTPStatus.OK + BAD_REQUEST = http.HTTPStatus.BAD_REQUEST + UNAUTHORIZED = http.HTTPStatus.UNAUTHORIZED + FORBIDDEN = http.HTTPStatus.FORBIDDEN + UPGRADE_REQUIRED = http.HTTPStatus.UPGRADE_REQUIRED + INTERNAL_SERVER_ERROR = http.HTTPStatus.INTERNAL_SERVER_ERROR + SERVICE_UNAVAILABLE = http.HTTPStatus.SERVICE_UNAVAILABLE +except AttributeError: # pragma: no cover + # Python < 3.5 + class SWITCHING_PROTOCOLS: + value = 101 + phrase = "Switching Protocols" + + class OK: + value = 200 + phrase = "OK" + + class BAD_REQUEST: + value = 400 + phrase = "Bad Request" + + class UNAUTHORIZED: + value = 401 + phrase = "Unauthorized" + + class FORBIDDEN: + value = 403 + phrase = "Forbidden" + + class UPGRADE_REQUIRED: + value = 426 + phrase = "Upgrade Required" + + class INTERNAL_SERVER_ERROR: + value = 500 + phrase = "Internal Server Error" + + class SERVICE_UNAVAILABLE: + value = 503 + phrase = "Service Unavailable" diff --git a/venv/lib/python3.6/site-packages/websockets/exceptions.py b/venv/lib/python3.6/site-packages/websockets/exceptions.py new file mode 100644 index 0000000..74619ca --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/exceptions.py @@ -0,0 +1,207 @@ +__all__ = [ + 'AbortHandshake', 'ConnectionClosed', 'DuplicateParameter', + 'InvalidHandshake', 'InvalidHeader', 'InvalidHeaderFormat', + 'InvalidHeaderValue', 'InvalidMessage', 'InvalidOrigin', + 'InvalidParameterName', 'InvalidParameterValue', 'InvalidState', + 'InvalidStatusCode', 'InvalidUpgrade', 'InvalidURI', 'NegotiationError', + 'PayloadTooBig', 'WebSocketProtocolError', +] + + +class InvalidHandshake(Exception): + """ + Exception raised when a handshake request or response is invalid. + + """ + + +class AbortHandshake(InvalidHandshake): + """ + Exception raised to abort a handshake and return a HTTP response. + + """ + def __init__(self, status, headers, body=b''): + self.status = status + self.headers = headers + self.body = body + message = "HTTP {}, {} headers, {} bytes".format( + status, len(headers), len(body)) + super().__init__(message) + + +class InvalidMessage(InvalidHandshake): + """ + Exception raised when the HTTP message in a handshake request is malformed. + + """ + + +class InvalidHeader(InvalidHandshake): + """ + Exception raised when a HTTP header doesn't have a valid format or value. + + """ + def __init__(self, name, value): + if value: + message = "Invalid {} header: {}".format(name, value) + else: + message = "Missing or empty {} header".format(name) + super().__init__(message) + + +class InvalidHeaderFormat(InvalidHeader): + """ + Exception raised when a Sec-WebSocket-* HTTP header cannot be parsed. + + """ + def __init__(self, name, error, string, pos): + error = "{} at {} in {}".format(error, pos, string) + super().__init__(name, error) + + +class InvalidHeaderValue(InvalidHeader): + """ + Exception raised when a Sec-WebSocket-* HTTP header has a wrong value. + + """ + + +class InvalidUpgrade(InvalidHeader): + """ + Exception raised when a Upgrade or Connection header isn't correct. + + """ + + +class InvalidOrigin(InvalidHeader): + """ + Exception raised when the Origin header in a request isn't allowed. + + """ + def __init__(self, origin): + super().__init__('Origin', origin) + + +class InvalidStatusCode(InvalidHandshake): + """ + Exception raised when a handshake response status code is invalid. + + Provides the integer status code in its ``status_code`` attribute. + + """ + def __init__(self, status_code): + self.status_code = status_code + message = "Status code not 101: {}".format(status_code) + super().__init__(message) + + +class NegotiationError(InvalidHandshake): + """ + Exception raised when negociating an extension fails. + + """ + + +class InvalidParameterName(NegotiationError): + """ + Exception raised when a parameter name in an extension header is invalid. + + """ + def __init__(self, name): + self.name = name + message = "Invalid parameter name: {}".format(name) + super().__init__(message) + + +class InvalidParameterValue(NegotiationError): + """ + Exception raised when a parameter value in an extension header is invalid. + + """ + def __init__(self, name, value): + self.name = name + self.value = value + message = "Invalid value for parameter {}: {}".format(name, value) + super().__init__(message) + + +class DuplicateParameter(NegotiationError): + """ + Exception raised when a parameter name is repeated in an extension header. + + """ + def __init__(self, name): + self.name = name + message = "Duplicate parameter: {}".format(name) + super().__init__(message) + + +class InvalidState(Exception): + """ + Exception raised when an operation is forbidden in the current state. + + """ + + +CLOSE_CODES = { + 1000: "OK", + 1001: "going away", + 1002: "protocol error", + 1003: "unsupported type", + # 1004 is reserved + 1005: "no status code [internal]", + 1006: "connection closed abnormally [internal]", + 1007: "invalid data", + 1008: "policy violation", + 1009: "message too big", + 1010: "extension required", + 1011: "unexpected error", + 1015: "TLS failure [internal]", +} + + +class ConnectionClosed(InvalidState): + """ + Exception raised when trying to read or write on a closed connection. + + Provides the connection close code and reason in its ``code`` and + ``reason`` attributes respectively. + + """ + def __init__(self, code, reason): + self.code = code + self.reason = reason + message = "WebSocket connection is closed: " + if 3000 <= code < 4000: + explanation = "registered" + elif 4000 <= code < 5000: + explanation = "private use" + else: + explanation = CLOSE_CODES.get(code, "unknown") + message += "code = {} ({}), ".format(code, explanation) + if reason: + message += "reason = {}".format(reason) + else: + message += "no reason" + super().__init__(message) + + +class InvalidURI(Exception): + """ + Exception raised when an URI isn't a valid websocket URI. + + """ + + +class PayloadTooBig(Exception): + """ + Exception raised when a frame's payload exceeds the maximum size. + + """ + + +class WebSocketProtocolError(Exception): + """ + Internal exception raised when the remote side breaks the protocol. + + """ diff --git a/venv/lib/python3.6/site-packages/websockets/extensions/__init__.py b/venv/lib/python3.6/site-packages/websockets/extensions/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.6/site-packages/websockets/extensions/base.py b/venv/lib/python3.6/site-packages/websockets/extensions/base.py new file mode 100644 index 0000000..1888f52 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/extensions/base.py @@ -0,0 +1,89 @@ +""" +The :mod:`websockets.extensions.base` defines abstract classes for extensions. + +See https://tools.ietf.org/html/rfc6455#section-9. + +""" + + +class ClientExtensionFactory: + """ + Abstract class for client-side extension factories. + + Extension factories handle configuration and negotiation. + + """ + name = ... + + def get_request_params(self): + """ + Build request parameters. + + Return a list of (name, value) pairs. + + """ + + def process_response_params(self, params, accepted_extensions): + """" + Process response parameters. + + ``params`` are a list of (name, value) pairs. + + ``accepted_extensions`` is a list of previously accepted extensions, + represented by extension instances. + + Return an extension instance (an instance of a subclass of + :class:`Extension`) if these parameters are acceptable. + + Raise :exc:`~websockets.exceptions.NegotiationError` if they aren't. + + """ + + +class ServerExtensionFactory: + """ + Abstract class for server-side extension factories. + + Extension factories handle configuration and negotiation. + + """ + name = ... + + def process_request_params(self, params, accepted_extensions): + """" + Process request parameters. + + ``accepted_extensions`` is a list of previously accepted extensions, + represented by extension instances. + + Return response params (a list of (name, value) pairs) and an + extension instance (an instance of a subclass of :class:`Extension`) + to accept this extension. + + Raise :exc:`~websockets.exceptions.NegotiationError` to reject it. + + """ + + +class Extension: + """ + Abstract class for extensions. + + """ + name = ... + + def decode(self, frame, *, max_size=None): + """ + Decode an incoming frame. + + Return a frame. + + """ + + def encode(self, frame): + """ + Encode an outgoing frame. + + Return a frame. + + """ diff --git a/venv/lib/python3.6/site-packages/websockets/extensions/permessage_deflate.py b/venv/lib/python3.6/site-packages/websockets/extensions/permessage_deflate.py new file mode 100644 index 0000000..7ca911a --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/extensions/permessage_deflate.py @@ -0,0 +1,548 @@ +""" +The :mod:`websockets.extensions.permessage_deflate` module implements the +Compression Extensions for WebSocket as specified in :rfc:`7692`. + +""" + +import zlib + +from ..exceptions import ( + DuplicateParameter, InvalidParameterName, InvalidParameterValue, + NegotiationError, PayloadTooBig +) +from ..framing import CTRL_OPCODES, OP_CONT + + +__all__ = [ + 'ClientPerMessageDeflateFactory', + 'ServerPerMessageDeflateFactory', + 'PerMessageDeflate', +] + +_EMPTY_UNCOMPRESSED_BLOCK = b'\x00\x00\xff\xff' + +_MAX_WINDOW_BITS_VALUES = [str(bits) for bits in range(8, 16)] + + +def _build_parameters( + server_no_context_takeover, + client_no_context_takeover, + server_max_window_bits, + client_max_window_bits, +): + """ + Build a list of ``(name, value)`` pairs for some compression parameters. + + """ + params = [] + if server_no_context_takeover: + params.append(('server_no_context_takeover', None)) + if client_no_context_takeover: + params.append(('client_no_context_takeover', None)) + if server_max_window_bits: + params.append(('server_max_window_bits', str(server_max_window_bits))) + if client_max_window_bits is True: # only in handshake requests + params.append(('client_max_window_bits', None)) + elif client_max_window_bits: + params.append(('client_max_window_bits', str(client_max_window_bits))) + return params + + +def _extract_parameters(params, *, is_server): + """ + Extract compression parameters from a list of ``(name, value)`` pairs. + + If ``is_server`` is ``True``, ``client_max_window_bits`` may be provided + without a value. This is only allow in handshake requests. + + """ + server_no_context_takeover = False + client_no_context_takeover = False + server_max_window_bits = None + client_max_window_bits = None + + for name, value in params: + + if name == 'server_no_context_takeover': + if server_no_context_takeover: + raise DuplicateParameter(name) + if value is None: + server_no_context_takeover = True + else: + raise InvalidParameterValue(name, value) + + elif name == 'client_no_context_takeover': + if client_no_context_takeover: + raise DuplicateParameter(name) + if value is None: + client_no_context_takeover = True + else: + raise InvalidParameterValue(name, value) + + elif name == 'server_max_window_bits': + if server_max_window_bits is not None: + raise DuplicateParameter(name) + if value in _MAX_WINDOW_BITS_VALUES: + server_max_window_bits = int(value) + else: + raise InvalidParameterValue(name, value) + + elif name == 'client_max_window_bits': + if client_max_window_bits is not None: + raise DuplicateParameter(name) + if is_server and value is None: # only in handshake requests + client_max_window_bits = True + elif value in _MAX_WINDOW_BITS_VALUES: + client_max_window_bits = int(value) + else: + raise InvalidParameterValue(name, value) + + else: + raise InvalidParameterName(name) + + return ( + server_no_context_takeover, + client_no_context_takeover, + server_max_window_bits, + client_max_window_bits, + ) + + +class ClientPerMessageDeflateFactory: + """ + Client-side extension factory for permessage-deflate extension. + + """ + name = 'permessage-deflate' + + def __init__( + self, + server_no_context_takeover=False, + client_no_context_takeover=False, + server_max_window_bits=None, + client_max_window_bits=None, + compress_settings=None, + ): + """ + Configure permessage-deflate extension factory. + + See https://tools.ietf.org/html/rfc7692#section-7.1. + + """ + if not (server_max_window_bits is None or + 8 <= server_max_window_bits <= 15): + raise ValueError("server_max_window_bits must be between 8 and 15") + if not (client_max_window_bits is None or + client_max_window_bits is True or + 8 <= client_max_window_bits <= 15): + raise ValueError("client_max_window_bits must be between 8 and 15") + if compress_settings is not None and 'wbits' in compress_settings: + raise ValueError("compress_settings must not include wbits, " + "set client_max_window_bits instead") + + self.server_no_context_takeover = server_no_context_takeover + self.client_no_context_takeover = client_no_context_takeover + self.server_max_window_bits = server_max_window_bits + self.client_max_window_bits = client_max_window_bits + self.compress_settings = compress_settings + + def get_request_params(self): + """ + Build request parameters. + + """ + return _build_parameters( + self.server_no_context_takeover, self.client_no_context_takeover, + self.server_max_window_bits, self.client_max_window_bits, + ) + + def process_response_params(self, params, accepted_extensions): + """" + Process response parameters. + + Return an extension instance. + + """ + if any(other.name == self.name for other in accepted_extensions): + raise NegotiationError("Received duplicate {}".format(self.name)) + + # Request parameters are available in instance variables. + + # Load response parameters in local variables. + ( + server_no_context_takeover, + client_no_context_takeover, + server_max_window_bits, + client_max_window_bits, + ) = _extract_parameters(params, is_server=False) + + # After comparing the request and the response, the final + # configuration must be available in the local variables. + + # server_no_context_takeover + # + # Req. Resp. Result + # ------ ------ -------------------------------------------------- + # False False False + # False True True + # True False Error! + # True True True + + if self.server_no_context_takeover: + if not server_no_context_takeover: + raise NegotiationError("Expected server_no_context_takeover") + + # client_no_context_takeover + # + # Req. Resp. Result + # ------ ------ -------------------------------------------------- + # False False False + # False True True + # True False True - must change value + # True True True + + if self.client_no_context_takeover: + if not client_no_context_takeover: + client_no_context_takeover = True + + # server_max_window_bits + + # Req. Resp. Result + # ------ ------ -------------------------------------------------- + # None None None + # None 8≤M≤15 M + # 8≤N≤15 None Error! + # 8≤N≤15 8≤M≤N M + # 8≤N≤15 N<M≤15 Error! + + if self.server_max_window_bits is None: + pass + + else: + if server_max_window_bits is None: + raise NegotiationError("Expected server_max_window_bits") + elif server_max_window_bits > self.server_max_window_bits: + raise NegotiationError("Unsupported server_max_window_bits") + + # client_max_window_bits + + # Req. Resp. Result + # ------ ------ -------------------------------------------------- + # None None None + # None 8≤M≤15 Error! + # True None None + # True 8≤M≤15 M + # 8≤N≤15 None N - must change value + # 8≤N≤15 8≤M≤N M + # 8≤N≤15 N<M≤15 Error! + + if self.client_max_window_bits is None: + if client_max_window_bits is not None: + raise NegotiationError("Unexpected client_max_window_bits") + + elif self.client_max_window_bits is True: + pass + + else: + if client_max_window_bits is None: + client_max_window_bits = self.client_max_window_bits + elif client_max_window_bits > self.client_max_window_bits: + raise NegotiationError("Unsupported client_max_window_bits") + + return PerMessageDeflate( + server_no_context_takeover, # remote_no_context_takeover + client_no_context_takeover, # local_no_context_takeover + server_max_window_bits or 15, # remote_max_window_bits + client_max_window_bits or 15, # local_max_window_bits + self.compress_settings, + ) + + +class ServerPerMessageDeflateFactory: + """ + Server-side extension factory for permessage-deflate extension. + + """ + name = 'permessage-deflate' + + def __init__( + self, + server_no_context_takeover=False, + client_no_context_takeover=False, + server_max_window_bits=None, + client_max_window_bits=None, + compress_settings=None, + ): + """ + Configure permessage-deflate extension factory. + + See https://tools.ietf.org/html/rfc7692#section-7.1. + + """ + if not (server_max_window_bits is None or + 8 <= server_max_window_bits <= 15): + raise ValueError("server_max_window_bits must be between 8 and 15") + if not (client_max_window_bits is None or + 8 <= client_max_window_bits <= 15): + raise ValueError("client_max_window_bits must be between 8 and 15") + if compress_settings is not None and 'wbits' in compress_settings: + raise ValueError("compress_settings must not include wbits, " + "set server_max_window_bits instead") + + self.server_no_context_takeover = server_no_context_takeover + self.client_no_context_takeover = client_no_context_takeover + self.server_max_window_bits = server_max_window_bits + self.client_max_window_bits = client_max_window_bits + self.compress_settings = compress_settings + + def process_request_params(self, params, accepted_extensions): + """" + Process request parameters. + + Return response params and an extension instance. + + """ + if any(other.name == self.name for other in accepted_extensions): + raise NegotiationError("Skipped duplicate {}".format(self.name)) + + # Load request parameters in local variables. + ( + server_no_context_takeover, + client_no_context_takeover, + server_max_window_bits, + client_max_window_bits, + ) = _extract_parameters(params, is_server=True) + + # Configuration parameters are available in instance variables. + + # After comparing the request and the configuration, the response must + # be available in the local variables. + + # server_no_context_takeover + # + # Config Req. Resp. + # ------ ------ -------------------------------------------------- + # False False False + # False True True + # True False True - must change value to True + # True True True + + if self.server_no_context_takeover: + if not server_no_context_takeover: + server_no_context_takeover = True + + # client_no_context_takeover + # + # Config Req. Resp. + # ------ ------ -------------------------------------------------- + # False False False + # False True True (or False) + # True False True - must change value to True + # True True True (or False) + + if self.client_no_context_takeover: + if not client_no_context_takeover: + client_no_context_takeover = True + + # server_max_window_bits + + # Config Req. Resp. + # ------ ------ -------------------------------------------------- + # None None None + # None 8≤M≤15 M + # 8≤N≤15 None N - must change value + # 8≤N≤15 8≤M≤N M + # 8≤N≤15 N<M≤15 N - must change value + + if self.server_max_window_bits is None: + pass + + else: + if server_max_window_bits is None: + server_max_window_bits = self.server_max_window_bits + elif server_max_window_bits > self.server_max_window_bits: + server_max_window_bits = self.server_max_window_bits + + # client_max_window_bits + + # Config Req. Resp. + # ------ ------ -------------------------------------------------- + # None None None + # None True None - must change value + # None 8≤M≤15 M (or None) + # 8≤N≤15 None Error! + # 8≤N≤15 True N - must change value + # 8≤N≤15 8≤M≤N M (or None) + # 8≤N≤15 N<M≤15 N + + if self.client_max_window_bits is None: + if client_max_window_bits is True: + client_max_window_bits = self.client_max_window_bits + + else: + if client_max_window_bits is None: + raise NegotiationError("Required client_max_window_bits") + elif client_max_window_bits is True: + client_max_window_bits = self.client_max_window_bits + elif self.client_max_window_bits < client_max_window_bits: + client_max_window_bits = self.client_max_window_bits + + return ( + _build_parameters( + server_no_context_takeover, client_no_context_takeover, + server_max_window_bits, client_max_window_bits, + ), + PerMessageDeflate( + client_no_context_takeover, # remote_no_context_takeover + server_no_context_takeover, # local_no_context_takeover + client_max_window_bits or 15, # remote_max_window_bits + server_max_window_bits or 15, # local_max_window_bits + self.compress_settings, + ) + ) + + +class PerMessageDeflate: + """ + permessage-deflate extension. + + """ + name = 'permessage-deflate' + + def __init__( + self, + remote_no_context_takeover, + local_no_context_takeover, + remote_max_window_bits, + local_max_window_bits, + compress_settings=None, + ): + """ + Configure permessage-deflate extension. + + """ + if compress_settings is None: + compress_settings = {} + + assert remote_no_context_takeover in [False, True] + assert local_no_context_takeover in [False, True] + assert 8 <= remote_max_window_bits <= 15 + assert 8 <= local_max_window_bits <= 15 + assert 'wbits' not in compress_settings + + self.remote_no_context_takeover = remote_no_context_takeover + self.local_no_context_takeover = local_no_context_takeover + self.remote_max_window_bits = remote_max_window_bits + self.local_max_window_bits = local_max_window_bits + self.compress_settings = compress_settings + + if not self.remote_no_context_takeover: + self.decoder = zlib.decompressobj( + wbits=-self.remote_max_window_bits) + + if not self.local_no_context_takeover: + self.encoder = zlib.compressobj( + wbits=-self.local_max_window_bits, + **self.compress_settings) + + # To handle continuation frames properly, we must keep track of + # whether that initial frame was encoded. + self.decode_cont_data = False + # There's no need for self.encode_cont_data because we always encode + # outgoing frames, so it would always be True. + + def __repr__(self): + return 'PerMessageDeflate({})'.format(', '.join([ + 'remote_no_context_takeover={}'.format( + self.remote_no_context_takeover), + 'local_no_context_takeover={}'.format( + self.local_no_context_takeover), + 'remote_max_window_bits={}'.format( + self.remote_max_window_bits), + 'local_max_window_bits={}'.format( + self.local_max_window_bits), + ])) + + def decode(self, frame, *, max_size=None): + """ + Decode an incoming frame. + + """ + # Skip control frames. + if frame.opcode in CTRL_OPCODES: + return frame + + # Handle continuation data frames: + # - skip if the initial data frame wasn't encoded + # - reset "decode continuation data" flag if it's a final frame + if frame.opcode == OP_CONT: + if not self.decode_cont_data: + return frame + if frame.fin: + self.decode_cont_data = False + + # Handle text and binary data frames: + # - skip if the frame isn't encoded + # - set "decode continuation data" flag if it's a non-final frame + else: + if not frame.rsv1: + return frame + if not frame.fin: # frame.rsv1 is True at this point + self.decode_cont_data = True + + # Re-initialize per-message decoder. + if self.remote_no_context_takeover: + self.decoder = zlib.decompressobj( + wbits=-self.remote_max_window_bits) + + # Uncompress compressed frames. Protect against zip bombs by + # preventing zlib from decompressing more than max_length bytes + # (except when the limit is disabled with max_size = None). + data = frame.data + if frame.fin: + data += _EMPTY_UNCOMPRESSED_BLOCK + max_length = 0 if max_size is None else max_size + data = self.decoder.decompress(data, max_length) + if self.decoder.unconsumed_tail: + raise PayloadTooBig( + "Uncompressed payload length exceeds size limit (? > {} bytes)" + .format(max_size)) + + # Allow garbage collection of the decoder if it won't be reused. + if frame.fin and self.remote_no_context_takeover: + self.decoder = None + + return frame._replace(data=data, rsv1=False) + + def encode(self, frame): + """ + Encode an outgoing frame. + + """ + # Skip control frames. + if frame.opcode in CTRL_OPCODES: + return frame + + # Since we always encode and never fragment messages, there's no logic + # similar to decode() here at this time. + + if frame.opcode != OP_CONT: + # Re-initialize per-message decoder. + if self.local_no_context_takeover: + self.encoder = zlib.compressobj( + wbits=-self.local_max_window_bits, + **self.compress_settings) + + # Compress data frames. + data = ( + self.encoder.compress(frame.data) + + self.encoder.flush(zlib.Z_SYNC_FLUSH) + ) + if frame.fin and data.endswith(_EMPTY_UNCOMPRESSED_BLOCK): + data = data[:-4] + + # Allow garbage collection of the encoder if it won't be reused. + if frame.fin and self.local_no_context_takeover: + self.encoder = None + + return frame._replace(data=data, rsv1=True) diff --git a/venv/lib/python3.6/site-packages/websockets/extensions/test_base.py b/venv/lib/python3.6/site-packages/websockets/extensions/test_base.py new file mode 100644 index 0000000..9dd15c8 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/extensions/test_base.py @@ -0,0 +1,4 @@ +from .base import * # noqa + + +# Abstract classes don't provide any behavior to test. diff --git a/venv/lib/python3.6/site-packages/websockets/extensions/test_permessage_deflate.py b/venv/lib/python3.6/site-packages/websockets/extensions/test_permessage_deflate.py new file mode 100644 index 0000000..e4afcec --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/extensions/test_permessage_deflate.py @@ -0,0 +1,849 @@ +import unittest +import zlib + +from ..exceptions import ( + DuplicateParameter, InvalidParameterName, InvalidParameterValue, + NegotiationError, PayloadTooBig +) +from ..framing import ( + OP_BINARY, OP_CLOSE, OP_CONT, OP_PING, OP_PONG, OP_TEXT, Frame, + serialize_close +) +from .permessage_deflate import * + + +class ExtensionTestsMixin: + + def assertExtensionEqual(self, extension1, extension2): + self.assertEqual(extension1.remote_no_context_takeover, + extension2.remote_no_context_takeover) + self.assertEqual(extension1.local_no_context_takeover, + extension2.local_no_context_takeover) + self.assertEqual(extension1.remote_max_window_bits, + extension2.remote_max_window_bits) + self.assertEqual(extension1.local_max_window_bits, + extension2.local_max_window_bits) + + +class ClientPerMessageDeflateFactoryTests(unittest.TestCase, + ExtensionTestsMixin): + + def test_name(self): + assert ClientPerMessageDeflateFactory.name == 'permessage-deflate' + + def test_init(self): + for config in [ + (False, False, 8, None), # server_max_window_bits ≥ 8 + (False, True, 15, None), # server_max_window_bits ≤ 15 + (True, False, None, 8), # client_max_window_bits ≥ 8 + (True, True, None, 15), # client_max_window_bits ≤ 15 + (False, False, None, True), # client_max_window_bits + (False, False, None, None, {'memLevel': 4}), + ]: + with self.subTest(config=config): + # This does not raise an exception. + ClientPerMessageDeflateFactory(*config) + + def test_init_error(self): + for config in [ + (False, False, 7, 8), # server_max_window_bits < 8 + (False, True, 8, 7), # client_max_window_bits < 8 + (True, False, 16, 15), # server_max_window_bits > 15 + (True, True, 15, 16), # client_max_window_bits > 15 + (False, False, True, None), # server_max_window_bits + (False, False, None, None, {'wbits': 11}), + ]: + with self.subTest(config=config): + with self.assertRaises(ValueError): + ClientPerMessageDeflateFactory(*config) + + def test_get_request_params(self): + for config, result in [ + # Test without any parameter + ( + (False, False, None, None), + [], + ), + # Test server_no_context_takeover + ( + (True, False, None, None), + [('server_no_context_takeover', None)], + ), + # Test client_no_context_takeover + ( + (False, True, None, None), + [('client_no_context_takeover', None)], + ), + # Test server_max_window_bits + ( + (False, False, 10, None), + [('server_max_window_bits', '10')], + ), + # Test client_max_window_bits + ( + (False, False, None, 10), + [('client_max_window_bits', '10')], + ), + ( + (False, False, None, True), + [('client_max_window_bits', None)], + ), + # Test all parameters together + ( + (True, True, 12, 12), + [ + ('server_no_context_takeover', None), + ('client_no_context_takeover', None), + ('server_max_window_bits', '12'), + ('client_max_window_bits', '12'), + ], + ), + ]: + with self.subTest(config=config): + factory = ClientPerMessageDeflateFactory(*config) + self.assertEqual(factory.get_request_params(), result) + + def test_process_response_params(self): + for config, response_params, result in [ + # Test without any parameter + ( + (False, False, None, None), + [], + (False, False, 15, 15), + ), + ( + (False, False, None, None), + [('unknown', None)], + InvalidParameterName, + ), + # Test server_no_context_takeover + ( + (False, False, None, None), + [('server_no_context_takeover', None)], + (True, False, 15, 15), + ), + ( + (True, False, None, None), + [], + NegotiationError, + ), + ( + (True, False, None, None), + [('server_no_context_takeover', None)], + (True, False, 15, 15), + ), + ( + (True, False, None, None), + [('server_no_context_takeover', None)] * 2, + DuplicateParameter, + ), + ( + (True, False, None, None), + [('server_no_context_takeover', '42')], + InvalidParameterValue, + ), + # Test client_no_context_takeover + ( + (False, False, None, None), + [('client_no_context_takeover', None)], + (False, True, 15, 15), + ), + ( + (False, True, None, None), + [], + (False, True, 15, 15), + ), + ( + (False, True, None, None), + [('client_no_context_takeover', None)], + (False, True, 15, 15), + ), + ( + (False, True, None, None), + [('client_no_context_takeover', None)] * 2, + DuplicateParameter, + ), + ( + (False, True, None, None), + [('client_no_context_takeover', '42')], + InvalidParameterValue, + ), + # Test server_max_window_bits + ( + (False, False, None, None), + [('server_max_window_bits', '7')], + NegotiationError, + ), + ( + (False, False, None, None), + [('server_max_window_bits', '10')], + (False, False, 10, 15), + ), + ( + (False, False, None, None), + [('server_max_window_bits', '16')], + NegotiationError, + ), + ( + (False, False, 12, None), + [], + NegotiationError, + ), + ( + (False, False, 12, None), + [('server_max_window_bits', '10')], + (False, False, 10, 15), + ), + ( + (False, False, 12, None), + [('server_max_window_bits', '12')], + (False, False, 12, 15), + ), + ( + (False, False, 12, None), + [('server_max_window_bits', '13')], + NegotiationError, + ), + ( + (False, False, 12, None), + [('server_max_window_bits', '12')] * 2, + DuplicateParameter, + ), + ( + (False, False, 12, None), + [('server_max_window_bits', '42')], + InvalidParameterValue, + ), + # Test client_max_window_bits + ( + (False, False, None, None), + [('client_max_window_bits', '10')], + NegotiationError, + ), + ( + (False, False, None, True), + [], + (False, False, 15, 15), + ), + ( + (False, False, None, True), + [('client_max_window_bits', '7')], + NegotiationError, + ), + ( + (False, False, None, True), + [('client_max_window_bits', '10')], + (False, False, 15, 10), + ), + ( + (False, False, None, True), + [('client_max_window_bits', '16')], + NegotiationError, + ), + ( + (False, False, None, 12), + [], + (False, False, 15, 12), + ), + ( + (False, False, None, 12), + [('client_max_window_bits', '10')], + (False, False, 15, 10), + ), + ( + (False, False, None, 12), + [('client_max_window_bits', '12')], + (False, False, 15, 12), + ), + ( + (False, False, None, 12), + [('client_max_window_bits', '13')], + NegotiationError, + ), + ( + (False, False, None, 12), + [('client_max_window_bits', '12')] * 2, + DuplicateParameter, + ), + ( + (False, False, None, 12), + [('client_max_window_bits', '42')], + InvalidParameterValue, + ), + # Test all parameters together + ( + (True, True, 12, 12), + [ + ('server_no_context_takeover', None), + ('client_no_context_takeover', None), + ('server_max_window_bits', '10'), + ('client_max_window_bits', '10'), + ], + (True, True, 10, 10), + ), + ( + (False, False, None, True), + [ + ('server_no_context_takeover', None), + ('client_no_context_takeover', None), + ('server_max_window_bits', '10'), + ('client_max_window_bits', '10'), + ], + (True, True, 10, 10), + ), + ( + (True, True, 12, 12), + [ + ('server_no_context_takeover', None), + ('server_max_window_bits', '12'), + ], + (True, True, 12, 12), + ), + ]: + with self.subTest( + config=config, + response_params=response_params, + ): + factory = ClientPerMessageDeflateFactory(*config) + if isinstance(result, type) and issubclass(result, Exception): + with self.assertRaises(result): + factory.process_response_params(response_params, []) + else: + extension = factory.process_response_params( + response_params, []) + expected = PerMessageDeflate(*result) + self.assertExtensionEqual(extension, expected) + + def test_process_response_params_deduplication(self): + factory = ClientPerMessageDeflateFactory(False, False, None, None) + with self.assertRaises(NegotiationError): + factory.process_response_params( + [], [PerMessageDeflate(False, False, 15, 15)]) + + +class ServerPerMessageDeflateFactoryTests(unittest.TestCase, + ExtensionTestsMixin): + + def test_name(self): + assert ServerPerMessageDeflateFactory.name == 'permessage-deflate' + + def test_init(self): + for config in [ + (False, False, 8, None), # server_max_window_bits ≥ 8 + (False, True, 15, None), # server_max_window_bits ≤ 15 + (True, False, None, 8), # client_max_window_bits ≥ 8 + (True, True, None, 15), # client_max_window_bits ≤ 15 + (False, False, None, None, {'memLevel': 4}), + ]: + with self.subTest(config=config): + # This does not raise an exception. + ServerPerMessageDeflateFactory(*config) + + def test_init_error(self): + for config in [ + (False, False, 7, 8), # server_max_window_bits < 8 + (False, True, 8, 7), # client_max_window_bits < 8 + (True, False, 16, 15), # server_max_window_bits > 15 + (True, True, 15, 16), # client_max_window_bits > 15 + (False, False, None, True), # client_max_window_bits + (False, False, True, None), # server_max_window_bits + (False, False, None, None, {'wbits': 11}), + ]: + with self.subTest(config=config): + with self.assertRaises(ValueError): + ServerPerMessageDeflateFactory(*config) + + def test_process_request_params(self): + # Parameters in result appear swapped vs. config because the order is + # (remote, local) vs. (server, client). + for config, request_params, response_params, result in [ + # Test without any parameter + ( + (False, False, None, None), + [], + [], + (False, False, 15, 15), + ), + ( + (False, False, None, None), + [('unknown', None)], + None, + InvalidParameterName, + ), + # Test server_no_context_takeover + ( + (False, False, None, None), + [('server_no_context_takeover', None)], + [('server_no_context_takeover', None)], + (False, True, 15, 15), + ), + ( + (True, False, None, None), + [], + [('server_no_context_takeover', None)], + (False, True, 15, 15), + ), + ( + (True, False, None, None), + [('server_no_context_takeover', None)], + [('server_no_context_takeover', None)], + (False, True, 15, 15), + ), + ( + (True, False, None, None), + [('server_no_context_takeover', None)] * 2, + None, + DuplicateParameter, + ), + ( + (True, False, None, None), + [('server_no_context_takeover', '42')], + None, + InvalidParameterValue, + ), + # Test client_no_context_takeover + ( + (False, False, None, None), + [('client_no_context_takeover', None)], + [('client_no_context_takeover', None)], # doesn't matter + (True, False, 15, 15), + ), + ( + (False, True, None, None), + [], + [('client_no_context_takeover', None)], + (True, False, 15, 15), + ), + ( + (False, True, None, None), + [('client_no_context_takeover', None)], + [('client_no_context_takeover', None)], # doesn't matter + (True, False, 15, 15), + ), + ( + (False, True, None, None), + [('client_no_context_takeover', None)] * 2, + None, + DuplicateParameter, + ), + ( + (False, True, None, None), + [('client_no_context_takeover', '42')], + None, + InvalidParameterValue, + ), + # Test server_max_window_bits + ( + (False, False, None, None), + [('server_max_window_bits', '7')], + None, + NegotiationError, + ), + ( + (False, False, None, None), + [('server_max_window_bits', '10')], + [('server_max_window_bits', '10')], + (False, False, 15, 10), + ), + ( + (False, False, None, None), + [('server_max_window_bits', '16')], + None, + NegotiationError, + ), + ( + (False, False, 12, None), + [], + [('server_max_window_bits', '12')], + (False, False, 15, 12), + ), + ( + (False, False, 12, None), + [('server_max_window_bits', '10')], + [('server_max_window_bits', '10')], + (False, False, 15, 10), + ), + ( + (False, False, 12, None), + [('server_max_window_bits', '12')], + [('server_max_window_bits', '12')], + (False, False, 15, 12), + ), + ( + (False, False, 12, None), + [('server_max_window_bits', '13')], + [('server_max_window_bits', '12')], + (False, False, 15, 12), + ), + ( + (False, False, 12, None), + [('server_max_window_bits', '12')] * 2, + None, + DuplicateParameter, + ), + ( + (False, False, 12, None), + [('server_max_window_bits', '42')], + None, + InvalidParameterValue, + ), + # Test client_max_window_bits + ( + (False, False, None, None), + [('client_max_window_bits', None)], + [], + (False, False, 15, 15), + ), + ( + (False, False, None, None), + [('client_max_window_bits', '7')], + None, + InvalidParameterValue, + ), + ( + (False, False, None, None), + [('client_max_window_bits', '10')], + [('client_max_window_bits', '10')], # doesn't matter + (False, False, 10, 15), + ), + ( + (False, False, None, None), + [('client_max_window_bits', '16')], + None, + InvalidParameterValue, + ), + ( + (False, False, None, 12), + [], + None, + NegotiationError, + ), + ( + (False, False, None, 12), + [('client_max_window_bits', None)], + [('client_max_window_bits', '12')], + (False, False, 12, 15), + ), + ( + (False, False, None, 12), + [('client_max_window_bits', '10')], + [('client_max_window_bits', '10')], + (False, False, 10, 15), + ), + ( + (False, False, None, 12), + [('client_max_window_bits', '12')], + [('client_max_window_bits', '12')], # doesn't matter + (False, False, 12, 15), + ), + ( + (False, False, None, 12), + [('client_max_window_bits', '13')], + [('client_max_window_bits', '12')], # doesn't matter + (False, False, 12, 15), + ), + ( + (False, False, None, 12), + [('client_max_window_bits', '12')] * 2, + None, + DuplicateParameter, + ), + ( + (False, False, None, 12), + [('client_max_window_bits', '42')], + None, + InvalidParameterValue, + ), + # # Test all parameters together + ( + (True, True, 12, 12), + [ + ('server_no_context_takeover', None), + ('client_no_context_takeover', None), + ('server_max_window_bits', '10'), + ('client_max_window_bits', '10'), + ], + [ + ('server_no_context_takeover', None), + ('client_no_context_takeover', None), + ('server_max_window_bits', '10'), + ('client_max_window_bits', '10'), + ], + (True, True, 10, 10), + ), + ( + (False, False, None, None), + [ + ('server_no_context_takeover', None), + ('client_no_context_takeover', None), + ('server_max_window_bits', '10'), + ('client_max_window_bits', '10'), + ], + [ + ('server_no_context_takeover', None), + ('client_no_context_takeover', None), + ('server_max_window_bits', '10'), + ('client_max_window_bits', '10'), + ], + (True, True, 10, 10), + ), + ( + (True, True, 12, 12), + [ + ('client_max_window_bits', None), + ], + [ + ('server_no_context_takeover', None), + ('client_no_context_takeover', None), + ('server_max_window_bits', '12'), + ('client_max_window_bits', '12'), + ], + (True, True, 12, 12), + ), + ]: + with self.subTest( + config=config, + request_params=request_params, + response_params=response_params, + ): + factory = ServerPerMessageDeflateFactory(*config) + if isinstance(result, type) and issubclass(result, Exception): + with self.assertRaises(result): + factory.process_request_params(request_params, []) + else: + params, extension = factory.process_request_params( + request_params, []) + self.assertEqual(params, response_params) + expected = PerMessageDeflate(*result) + self.assertExtensionEqual(extension, expected) + + def test_process_response_params_deduplication(self): + factory = ServerPerMessageDeflateFactory(False, False, None, None) + with self.assertRaises(NegotiationError): + factory.process_request_params( + [], [PerMessageDeflate(False, False, 15, 15)]) + + +class PerMessageDeflateTests(unittest.TestCase): + + def setUp(self): + # Set up an instance of the permessage-deflate extension with the most + # common settings. Since the extension is symmetrical, this instance + # may be used for testing both encoding and decoding. + self.extension = PerMessageDeflate(False, False, 15, 15) + + def test_name(self): + assert self.extension.name == 'permessage-deflate' + + # Control frames aren't encoded or decoded. + + def test_no_encode_decode_ping_frame(self): + frame = Frame(True, OP_PING, b'') + + self.assertEqual(self.extension.encode(frame), frame) + + self.assertEqual(self.extension.decode(frame), frame) + + def test_no_encode_decode_pong_frame(self): + frame = Frame(True, OP_PONG, b'') + + self.assertEqual(self.extension.encode(frame), frame) + + self.assertEqual(self.extension.decode(frame), frame) + + def test_no_encode_decode_close_frame(self): + frame = Frame(True, OP_CLOSE, serialize_close(1000, '')) + + self.assertEqual(self.extension.encode(frame), frame) + + self.assertEqual(self.extension.decode(frame), frame) + + # Data frames are encoded and decoded. + + def test_encode_decode_text_frame(self): + frame = Frame(True, OP_TEXT, 'café'.encode('utf-8')) + + enc_frame = self.extension.encode(frame) + + self.assertEqual(enc_frame, frame._replace( + rsv1=True, + data=b'JNL;\xbc\x12\x00', + )) + + dec_frame = self.extension.decode(enc_frame) + + self.assertEqual(dec_frame, frame) + + def test_encode_decode_binary_frame(self): + frame = Frame(True, OP_BINARY, b'tea') + + enc_frame = self.extension.encode(frame) + + self.assertEqual(enc_frame, frame._replace( + rsv1=True, + data=b'*IM\x04\x00', + )) + + dec_frame = self.extension.decode(enc_frame) + + self.assertEqual(dec_frame, frame) + + def test_encode_decode_fragmented_text_frame(self): + frame1 = Frame(False, OP_TEXT, 'café'.encode('utf-8')) + frame2 = Frame(False, OP_CONT, ' & '.encode('utf-8')) + frame3 = Frame(True, OP_CONT, 'croissants'.encode('utf-8')) + + enc_frame1 = self.extension.encode(frame1) + enc_frame2 = self.extension.encode(frame2) + enc_frame3 = self.extension.encode(frame3) + + self.assertEqual(enc_frame1, frame1._replace( + rsv1=True, + data=b'JNL;\xbc\x12\x00\x00\x00\xff\xff', + )) + self.assertEqual(enc_frame2, frame2._replace( + rsv1=True, + data=b'RPS\x00\x00\x00\x00\xff\xff', + )) + self.assertEqual(enc_frame3, frame3._replace( + rsv1=True, + data=b'J.\xca\xcf,.N\xcc+)\x06\x00', + )) + + dec_frame1 = self.extension.decode(enc_frame1) + dec_frame2 = self.extension.decode(enc_frame2) + dec_frame3 = self.extension.decode(enc_frame3) + + self.assertEqual(dec_frame1, frame1) + self.assertEqual(dec_frame2, frame2) + self.assertEqual(dec_frame3, frame3) + + def test_encode_decode_fragmented_binary_frame(self): + frame1 = Frame(False, OP_TEXT, b'tea ') + frame2 = Frame(True, OP_CONT, b'time') + + enc_frame1 = self.extension.encode(frame1) + enc_frame2 = self.extension.encode(frame2) + + self.assertEqual(enc_frame1, frame1._replace( + rsv1=True, + data=b'*IMT\x00\x00\x00\x00\xff\xff', + )) + self.assertEqual(enc_frame2, frame2._replace( + rsv1=True, + data=b'*\xc9\xccM\x05\x00', + )) + + dec_frame1 = self.extension.decode(enc_frame1) + dec_frame2 = self.extension.decode(enc_frame2) + + self.assertEqual(dec_frame1, frame1) + self.assertEqual(dec_frame2, frame2) + + def test_no_decode_text_frame(self): + frame = Frame(True, OP_TEXT, 'café'.encode('utf-8')) + + # Try decoding a frame that wasn't encoded. + self.assertEqual(self.extension.decode(frame), frame) + + def test_no_decode_binary_frame(self): + frame = Frame(True, OP_TEXT, b'tea') + + # Try decoding a frame that wasn't encoded. + self.assertEqual(self.extension.decode(frame), frame) + + def test_no_decode_fragmented_text_frame(self): + frame1 = Frame(False, OP_TEXT, 'café'.encode('utf-8')) + frame2 = Frame(False, OP_CONT, ' & '.encode('utf-8')) + frame3 = Frame(True, OP_CONT, 'croissants'.encode('utf-8')) + + dec_frame1 = self.extension.decode(frame1) + dec_frame2 = self.extension.decode(frame2) + dec_frame3 = self.extension.decode(frame3) + + self.assertEqual(dec_frame1, frame1) + self.assertEqual(dec_frame2, frame2) + self.assertEqual(dec_frame3, frame3) + + def test_no_decode_fragmented_binary_frame(self): + frame1 = Frame(False, OP_TEXT, b'tea ') + frame2 = Frame(True, OP_CONT, b'time') + + dec_frame1 = self.extension.decode(frame1) + dec_frame2 = self.extension.decode(frame2) + + self.assertEqual(dec_frame1, frame1) + self.assertEqual(dec_frame2, frame2) + + def test_context_takeover(self): + frame = Frame(True, OP_TEXT, 'café'.encode('utf-8')) + + enc_frame1 = self.extension.encode(frame) + enc_frame2 = self.extension.encode(frame) + + self.assertEqual(enc_frame1.data, b'JNL;\xbc\x12\x00') + self.assertEqual(enc_frame2.data, b'J\x06\x11\x00\x00') + + def test_remote_no_context_takeover(self): + # No context takeover when decoding messages. + self.extension = PerMessageDeflate(True, False, 15, 15) + + frame = Frame(True, OP_TEXT, 'café'.encode('utf-8')) + + enc_frame1 = self.extension.encode(frame) + enc_frame2 = self.extension.encode(frame) + + self.assertEqual(enc_frame1.data, b'JNL;\xbc\x12\x00') + self.assertEqual(enc_frame2.data, b'J\x06\x11\x00\x00') + + dec_frame1 = self.extension.decode(enc_frame1) + self.assertEqual(dec_frame1, frame) + + with self.assertRaises(zlib.error) as exc: + self.extension.decode(enc_frame2) + self.assertIn("invalid distance too far back", str(exc.exception)) + + def test_local_no_context_takeover(self): + # No context takeover when encoding and decoding messages. + self.extension = PerMessageDeflate(True, True, 15, 15) + + frame = Frame(True, OP_TEXT, 'café'.encode('utf-8')) + + enc_frame1 = self.extension.encode(frame) + enc_frame2 = self.extension.encode(frame) + + self.assertEqual(enc_frame1.data, b'JNL;\xbc\x12\x00') + self.assertEqual(enc_frame2.data, b'JNL;\xbc\x12\x00') + + dec_frame1 = self.extension.decode(enc_frame1) + dec_frame2 = self.extension.decode(enc_frame2) + + self.assertEqual(dec_frame1, frame) + self.assertEqual(dec_frame2, frame) + + # Compression settings can be customized. + + def test_compress_settings(self): + # Configure an extension so that no compression actually occurs. + extension = PerMessageDeflate(False, False, 15, 15, {'level': 0}) + + frame = Frame(True, OP_TEXT, 'café'.encode('utf-8')) + + enc_frame = extension.encode(frame) + + self.assertEqual(enc_frame, frame._replace( + rsv1=True, + data=b'\x00\x05\x00\xfa\xffcaf\xc3\xa9\x00', # not compressed + )) + + # Frames aren't decoded beyond max_length. + + def test_decompress_max_size(self): + frame = Frame(True, OP_TEXT, ('a' * 20).encode('utf-8')) + + enc_frame = self.extension.encode(frame) + + self.assertEqual(enc_frame.data, b'JL\xc4\x04\x00\x00') + + with self.assertRaises(PayloadTooBig): + self.extension.decode(enc_frame, max_size=10) diff --git a/venv/lib/python3.6/site-packages/websockets/framing.py b/venv/lib/python3.6/site-packages/websockets/framing.py new file mode 100644 index 0000000..b1b655b --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/framing.py @@ -0,0 +1,295 @@ +""" +The :mod:`websockets.framing` module implements data framing as specified in +`section 5 of RFC 6455`_. + +It deals with a single frame at a time. Anything that depends on the sequence +of frames is implemented in :mod:`websockets.protocol`. + +.. _section 5 of RFC 6455: http://tools.ietf.org/html/rfc6455#section-5 + +""" + +import asyncio +import collections +import io +import random +import struct + +from .exceptions import PayloadTooBig, WebSocketProtocolError + + +try: + from .speedups import apply_mask +except ImportError: # pragma: no cover + from .utils import apply_mask + + +__all__ = [ + 'DATA_OPCODES', 'CTRL_OPCODES', + 'OP_CONT', 'OP_TEXT', 'OP_BINARY', 'OP_CLOSE', 'OP_PING', 'OP_PONG', + 'Frame', 'encode_data', 'parse_close', 'serialize_close' +] + +DATA_OPCODES = OP_CONT, OP_TEXT, OP_BINARY = 0x00, 0x01, 0x02 +CTRL_OPCODES = OP_CLOSE, OP_PING, OP_PONG = 0x08, 0x09, 0x0a + +# Close code that are allowed in a close frame. +# Using a list optimizes `code in EXTERNAL_CLOSE_CODES`. +EXTERNAL_CLOSE_CODES = [ + 1000, + 1001, + 1002, + 1003, + 1007, + 1008, + 1009, + 1010, + 1011, +] + +FrameData = collections.namedtuple( + 'FrameData', + ['fin', 'opcode', 'data', 'rsv1', 'rsv2', 'rsv3'], +) + + +class Frame(FrameData): + """ + WebSocket frame. + + * ``fin`` is the FIN bit + * ``rsv1`` is the RSV1 bit + * ``rsv2`` is the RSV2 bit + * ``rsv3`` is the RSV3 bit + * ``opcode`` is the opcode + * ``data`` is the payload data + + Only these fields are needed by higher level code. The MASK bit, payload + length and masking-key are handled on the fly by :meth:`read` and + :meth:`write`. + + """ + def __new__(cls, fin, opcode, data, rsv1=False, rsv2=False, rsv3=False): + return FrameData.__new__(cls, fin, opcode, data, rsv1, rsv2, rsv3) + + @classmethod + @asyncio.coroutine + def read(cls, reader, *, mask, max_size=None, extensions=None): + """ + Read a WebSocket frame and return a :class:`Frame` object. + + ``reader`` is a coroutine taking an integer argument and reading + exactly this number of bytes, unless the end of file is reached. + + ``mask`` is a :class:`bool` telling whether the frame should be masked + i.e. whether the read happens on the server side. + + If ``max_size`` is set and the payload exceeds this size in bytes, + :exc:`~websockets.exceptions.PayloadTooBig` is raised. + + If ``extensions`` is provided, it's a list of classes with an + ``decode()`` method that transform the frame and return a new frame. + They are applied in reverse order. + + This function validates the frame before returning it and raises + :exc:`~websockets.exceptions.WebSocketProtocolError` if it contains + incorrect values. + + """ + # Read the header. + data = yield from reader(2) + head1, head2 = struct.unpack('!BB', data) + + # While not Pythonic, this is marginally faster than calling bool(). + fin = True if head1 & 0b10000000 else False + rsv1 = True if head1 & 0b01000000 else False + rsv2 = True if head1 & 0b00100000 else False + rsv3 = True if head1 & 0b00010000 else False + opcode = head1 & 0b00001111 + + if (True if head2 & 0b10000000 else False) != mask: + raise WebSocketProtocolError("Incorrect masking") + + length = head2 & 0b01111111 + if length == 126: + data = yield from reader(2) + length, = struct.unpack('!H', data) + elif length == 127: + data = yield from reader(8) + length, = struct.unpack('!Q', data) + if max_size is not None and length > max_size: + raise PayloadTooBig( + "Payload length exceeds size limit ({} > {} bytes)" + .format(length, max_size)) + if mask: + mask_bits = yield from reader(4) + + # Read the data. + data = yield from reader(length) + if mask: + data = apply_mask(data, mask_bits) + + frame = cls(fin, opcode, data, rsv1, rsv2, rsv3) + + if extensions is None: + extensions = [] + for extension in reversed(extensions): + frame = extension.decode(frame, max_size=max_size) + + frame.check() + + return frame + + def write(frame, writer, *, mask, extensions=None): + """ + Write a WebSocket frame. + + ``frame`` is the :class:`Frame` object to write. + + ``writer`` is a function accepting bytes. + + ``mask`` is a :class:`bool` telling whether the frame should be masked + i.e. whether the write happens on the client side. + + If ``extensions`` is provided, it's a list of classes with an + ``encode()`` method that transform the frame and return a new frame. + They are applied in order. + + This function validates the frame before sending it and raises + :exc:`~websockets.exceptions.WebSocketProtocolError` if it contains + incorrect values. + + """ + # The first parameter is called `frame` rather than `self`, + # but it's the instance of class to which this method is bound. + + frame.check() + + if extensions is None: + extensions = [] + for extension in extensions: + frame = extension.encode(frame) + + output = io.BytesIO() + + # Prepare the header. + head1 = ( + (0b10000000 if frame.fin else 0) | + (0b01000000 if frame.rsv1 else 0) | + (0b00100000 if frame.rsv2 else 0) | + (0b00010000 if frame.rsv3 else 0) | + frame.opcode + ) + + head2 = 0b10000000 if mask else 0 + + length = len(frame.data) + if length < 126: + output.write(struct.pack('!BB', head1, head2 | length)) + elif length < 65536: + output.write(struct.pack('!BBH', head1, head2 | 126, length)) + else: + output.write(struct.pack('!BBQ', head1, head2 | 127, length)) + + if mask: + mask_bits = struct.pack('!I', random.getrandbits(32)) + output.write(mask_bits) + + # Prepare the data. + if mask: + data = apply_mask(frame.data, mask_bits) + else: + data = frame.data + output.write(data) + + # Send the frame. + + # The frame is written in a single call to writer in order to prevent + # TCP fragmentation. See #68 for details. This also makes it safe to + # send frames concurrently from multiple coroutines. + writer(output.getvalue()) + + def check(frame): + """ + Check that this frame contains acceptable values. + + Raise :exc:`~websockets.exceptions.WebSocketProtocolError` if this + frame contains incorrect values. + + """ + # The first parameter is called `frame` rather than `self`, + # but it's the instance of class to which this method is bound. + + if frame.rsv1 or frame.rsv2 or frame.rsv3: + raise WebSocketProtocolError("Reserved bits must be 0") + + if frame.opcode in DATA_OPCODES: + return + elif frame.opcode in CTRL_OPCODES: + if len(frame.data) > 125: + raise WebSocketProtocolError("Control frame too long") + if not frame.fin: + raise WebSocketProtocolError("Fragmented control frame") + else: + raise WebSocketProtocolError( + "Invalid opcode: {}".format(frame.opcode)) + + +def encode_data(data): + """ + Helper that converts :class:`str` or :class:`bytes` to :class:`bytes`. + + :class:`str` are encoded with UTF-8. + + """ + # Expect str or bytes, return bytes. + if isinstance(data, str): + return data.encode('utf-8') + elif isinstance(data, bytes): + return data + else: + raise TypeError("data must be bytes or str") + + +def parse_close(data): + """ + Parse the data in a close frame. + + Return ``(code, reason)`` when ``code`` is an :class:`int` and ``reason`` + a :class:`str`. + + Raise :exc:`~websockets.exceptions.WebSocketProtocolError` or + :exc:`UnicodeDecodeError` if the data is invalid. + + """ + length = len(data) + if length >= 2: + code, = struct.unpack('!H', data[:2]) + check_close(code) + reason = data[2:].decode('utf-8') + return code, reason + elif length == 0: + return 1005, '' + else: + assert length == 1 + raise WebSocketProtocolError("Close frame too short") + + +def serialize_close(code, reason): + """ + Serialize the data for a close frame. + + This is the reverse of :func:`parse_close`. + + """ + check_close(code) + return struct.pack('!H', code) + reason.encode('utf-8') + + +def check_close(code): + """ + Check the close code for a close frame. + + """ + if not (code in EXTERNAL_CLOSE_CODES or 3000 <= code < 5000): + raise WebSocketProtocolError("Invalid status code") diff --git a/venv/lib/python3.6/site-packages/websockets/handshake.py b/venv/lib/python3.6/site-packages/websockets/handshake.py new file mode 100644 index 0000000..00fdd18 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/handshake.py @@ -0,0 +1,153 @@ +""" +The :mod:`websockets.handshake` module deals with the WebSocket opening +handshake according to `section 4 of RFC 6455`_. + +.. _section 4 of RFC 6455: http://tools.ietf.org/html/rfc6455#section-4 + +Functions defined in this module manipulate HTTP headers. The ``headers`` +argument must implement ``get`` and ``__setitem__`` and ``get`` — a small +subset of the :class:`~collections.abc.MutableMapping` abstract base class. + +Headers names and values are :class:`str` objects containing only ASCII +characters. + +Some checks cannot be performed because they depend too much on the +context; instead, they're documented below. + +To accept a connection, a server must: + +- Read the request, check that the method is GET, and check the headers with + :func:`check_request`, +- Send a 101 response to the client with the headers created by + :func:`build_response` if the request is valid; otherwise, send an + appropriate HTTP error code. + +To open a connection, a client must: + +- Send a GET request to the server with the headers created by + :func:`build_request`, +- Read the response, check that the status code is 101, and check the headers + with :func:`check_response`. + +""" + +import base64 +import binascii +import hashlib +import random + +from .exceptions import InvalidHeaderValue, InvalidUpgrade +from .headers import parse_connection, parse_upgrade + + +__all__ = [ + 'build_request', 'check_request', + 'build_response', 'check_response', +] + +GUID = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11' + + +def build_request(headers): + """ + Build a handshake request to send to the server. + + Return the ``key`` which must be passed to :func:`check_response`. + + """ + raw_key = bytes(random.getrandbits(8) for _ in range(16)) + key = base64.b64encode(raw_key).decode() + headers['Upgrade'] = 'websocket' + headers['Connection'] = 'Upgrade' + headers['Sec-WebSocket-Key'] = key + headers['Sec-WebSocket-Version'] = '13' + return key + + +def check_request(headers): + """ + Check a handshake request received from the client. + + If the handshake is valid, this function returns the ``key`` which must be + passed to :func:`build_response`. + + Otherwise it raises an :exc:`~websockets.exceptions.InvalidHandshake` + exception and the server must return an error like 400 Bad Request. + + This function doesn't verify that the request is an HTTP/1.1 or higher GET + request and doesn't perform Host and Origin checks. These controls are + usually performed earlier in the HTTP request handling code. They're the + responsibility of the caller. + + """ + connection = parse_connection(headers.get('Connection', '')) + if not any(value.lower() == 'upgrade' for value in connection): + raise InvalidUpgrade('Connection', headers.get('Connection', '')) + + upgrade = parse_upgrade(headers.get('Upgrade', '')) + # For compatibility with non-strict implementations, ignore case when + # checking the Upgrade header. It's supposed to be 'WebSocket'. + if not (len(upgrade) == 1 and upgrade[0].lower() == 'websocket'): + raise InvalidUpgrade('Upgrade', headers.get('Upgrade', '')) + + key = headers.get('Sec-WebSocket-Key', '') + try: + raw_key = base64.b64decode(key.encode(), validate=True) + except binascii.Error: + raise InvalidHeaderValue('Sec-WebSocket-Key', key) + if len(raw_key) != 16: + raise InvalidHeaderValue('Sec-WebSocket-Key', key) + + version = headers.get('Sec-WebSocket-Version', '') + if version != '13': + raise InvalidHeaderValue('Sec-WebSocket-Version', version) + + return key + + +def build_response(headers, key): + """ + Build a handshake response to send to the client. + + ``key`` comes from :func:`check_request`. + + """ + headers['Upgrade'] = 'websocket' + headers['Connection'] = 'Upgrade' + headers['Sec-WebSocket-Accept'] = accept(key) + + +def check_response(headers, key): + """ + Check a handshake response received from the server. + + ``key`` comes from :func:`build_request`. + + If the handshake is valid, this function returns ``None``. + + Otherwise it raises an :exc:`~websockets.exceptions.InvalidHandshake` + exception. + + This function doesn't verify that the response is an HTTP/1.1 or higher + response with a 101 status code. These controls are the responsibility of + the caller. + + """ + connection = parse_connection(headers.get('Connection', '')) + if not any(value.lower() == 'upgrade' for value in connection): + raise InvalidUpgrade('Connection', headers.get('Connection', '')) + + upgrade = parse_upgrade(headers.get('Upgrade', '')) + # For compatibility with non-strict implementations, ignore case when + # checking the Upgrade header. It's supposed to be 'WebSocket'. + if not (len(upgrade) == 1 and upgrade[0].lower() == 'websocket'): + raise InvalidUpgrade('Upgrade', headers.get('Upgrade', '')) + + if headers.get('Sec-WebSocket-Accept', '') != accept(key): + raise InvalidHeaderValue( + 'Sec-WebSocket-Accept', headers.get('Sec-WebSocket-Accept', '')) + + +def accept(key): + sha1 = hashlib.sha1((key + GUID).encode()).digest() + return base64.b64encode(sha1).decode() diff --git a/venv/lib/python3.6/site-packages/websockets/headers.py b/venv/lib/python3.6/site-packages/websockets/headers.py new file mode 100644 index 0000000..6da5ec7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/headers.py @@ -0,0 +1,339 @@ +""" +The :mod:`websockets.headers` module provides parsers and serializers for HTTP +headers used in WebSocket handshake messages. + +Its functions cannot be imported from :mod:`websockets`. They must be imported +from :mod:`websockets.headers`. + +""" + +import base64 +import re + +from .exceptions import InvalidHeaderFormat + + +__all__ = [ + 'parse_connection', 'parse_upgrade', + 'parse_extension_list', 'build_extension_list', + 'parse_subprotocol_list', 'build_subprotocol_list', +] + + +# To avoid a dependency on a parsing library, we implement manually the ABNF +# described in https://tools.ietf.org/html/rfc6455#section-9.1 with the +# definitions from https://tools.ietf.org/html/rfc7230#appendix-B. + +def peek_ahead(string, pos): + """ + Return the next character from ``string`` at the given position. + + Return ``None`` at the end of ``string``. + + We never need to peek more than one character ahead. + + """ + return None if pos == len(string) else string[pos] + + +_OWS_re = re.compile(r'[\t ]*') + + +def parse_OWS(string, pos): + """ + Parse optional whitespace from ``string`` at the given position. + + Return the new position. + + The whitespace itself isn't returned because it isn't significant. + + """ + # There's always a match, possibly empty, whose content doesn't matter. + match = _OWS_re.match(string, pos) + return match.end() + + +_token_re = re.compile(r'[-!#$%&\'*+.^_`|~0-9a-zA-Z]+') + + +def parse_token(string, pos, header_name): + """ + Parse a token from ``string`` at the given position. + + Return the token value and the new position. + + Raise :exc:`~websockets.exceptions.InvalidHeaderFormat` on invalid inputs. + + """ + match = _token_re.match(string, pos) + if match is None: + raise InvalidHeaderFormat( + header_name, "expected token", string=string, pos=pos) + return match.group(), match.end() + + +_quoted_string_re = re.compile( + r'"(?:[\x09\x20-\x21\x23-\x5b\x5d-\x7e]|\\[\x09\x20-\x7e\x80-\xff])*"') + + +_unquote_re = re.compile(r'\\([\x09\x20-\x7e\x80-\xff])') + + +def parse_quoted_string(string, pos, header_name): + """ + Parse a quoted string from ``string`` at the given position. + + Return the unquoted value and the new position. + + Raise :exc:`~websockets.exceptions.InvalidHeaderFormat` on invalid inputs. + + """ + match = _quoted_string_re.match(string, pos) + if match is None: + raise InvalidHeaderFormat( + header_name, "expected quoted string", string=string, pos=pos) + return _unquote_re.sub(r'\1', match.group()[1:-1]), match.end() + + +def parse_list(parse_item, string, pos, header_name): + """ + Parse a comma-separated list from ``string`` at the given position. + + This is appropriate for parsing values with the following grammar: + + 1#item + + ``parse_item`` parses one item. + + ``string`` is assumed not to start or end with whitespace. + + (This function is designed for parsing an entire header value and + :func:`~websockets.http.read_headers` strips whitespace from values.) + + Return a list of items. + + Raise :exc:`~websockets.exceptions.InvalidHeaderFormat` on invalid inputs. + + """ + # Per https://tools.ietf.org/html/rfc7230#section-7, "a recipient MUST + # parse and ignore a reasonable number of empty list elements"; hence + # while loops that remove extra delimiters. + + # Remove extra delimiters before the first item. + while peek_ahead(string, pos) == ',': + pos = parse_OWS(string, pos + 1) + + items = [] + while True: + # Loop invariant: a item starts at pos in string. + item, pos = parse_item(string, pos, header_name) + items.append(item) + pos = parse_OWS(string, pos) + + # We may have reached the end of the string. + if pos == len(string): + break + + # There must be a delimiter after each element except the last one. + if peek_ahead(string, pos) == ',': + pos = parse_OWS(string, pos + 1) + else: + raise InvalidHeaderFormat( + header_name, "expected comma", string=string, pos=pos) + + # Remove extra delimiters before the next item. + while peek_ahead(string, pos) == ',': + pos = parse_OWS(string, pos + 1) + + # We may have reached the end of the string. + if pos == len(string): + break + + # Since we only advance in the string by one character with peek_ahead() + # or with the end position of a regex match, we can't overshoot the end. + assert pos == len(string) + + return items + + +def parse_connection(string): + """ + Parse a ``Connection`` header. + + Return a list of connection options. + + Raise :exc:`~websockets.exceptions.InvalidHeaderFormat` on invalid inputs. + + """ + return parse_list(parse_token, string, 0, 'Connection') + + +_protocol_re = re.compile( + r'[-!#$%&\'*+.^_`|~0-9a-zA-Z]+(?:/[-!#$%&\'*+.^_`|~0-9a-zA-Z]+)?') + + +def parse_protocol(string, pos, header_name): + """ + Parse a protocol from ``string`` at the given position. + + Return the protocol value and the new position. + + Raise :exc:`~websockets.exceptions.InvalidHeaderFormat` on invalid inputs. + + """ + match = _protocol_re.match(string, pos) + if match is None: + raise InvalidHeaderFormat( + header_name, "expected protocol", string=string, pos=pos) + return match.group(), match.end() + + +def parse_upgrade(string): + """ + Parse an ``Upgrade`` header. + + Return a list of connection options. + + Raise :exc:`~websockets.exceptions.InvalidHeaderFormat` on invalid inputs. + + """ + return parse_list(parse_protocol, string, 0, 'Upgrade') + + +def parse_extension_param(string, pos, header_name): + """ + Parse a single extension parameter from ``string`` at the given position. + + Return a ``(name, value)`` pair and the new position. + + Raise :exc:`~websockets.exceptions.InvalidHeaderFormat` on invalid inputs. + + """ + # Extract parameter name. + name, pos = parse_token(string, pos, header_name) + pos = parse_OWS(string, pos) + # Extract parameter string, if there is one. + if peek_ahead(string, pos) == '=': + pos = parse_OWS(string, pos + 1) + if peek_ahead(string, pos) == '"': + pos_before = pos # for proper error reporting below + value, pos = parse_quoted_string(string, pos, header_name) + # https://tools.ietf.org/html/rfc6455#section-9.1 says: the value + # after quoted-string unescaping MUST conform to the 'token' ABNF. + if _token_re.fullmatch(value) is None: + raise InvalidHeaderFormat( + header_name, "invalid quoted string content", + string=string, pos=pos_before) + else: + value, pos = parse_token(string, pos, header_name) + pos = parse_OWS(string, pos) + else: + value = None + + return (name, value), pos + + +def parse_extension(string, pos, header_name): + """ + Parse an extension definition from ``string`` at the given position. + + Return an ``(extension name, parameters)`` pair, where ``parameters`` is a + list of ``(name, value)`` pairs, and the new position. + + Raise :exc:`~websockets.exceptions.InvalidHeaderFormat` on invalid inputs. + + """ + # Extract extension name. + name, pos = parse_token(string, pos, header_name) + pos = parse_OWS(string, pos) + # Extract all parameters. + parameters = [] + while peek_ahead(string, pos) == ';': + pos = parse_OWS(string, pos + 1) + parameter, pos = parse_extension_param(string, pos, header_name) + parameters.append(parameter) + return (name, parameters), pos + + +def parse_extension_list(string): + """ + Parse a ``Sec-WebSocket-Extensions`` header. + + Return a value with the following format:: + + [ + ( + 'extension name', + [ + ('parameter name', 'parameter value'), + .... + ] + ), + ... + ] + + Parameter values are ``None`` when no value is provided. + + Raise :exc:`~websockets.exceptions.InvalidHeaderFormat` on invalid inputs. + + """ + return parse_list(parse_extension, string, 0, 'Sec-WebSocket-Extensions') + + +def build_extension(name, parameters): + """ + Build an extension definition. + + This is the reverse of :func:`parse_extension`. + + """ + return '; '.join([name] + [ + # Quoted strings aren't necessary because values are always tokens. + name if value is None else '{}={}'.format(name, value) + for name, value in parameters + ]) + + +def build_extension_list(extensions): + """ + Unparse a ``Sec-WebSocket-Extensions`` header. + + This is the reverse of :func:`parse_extension_list`. + + """ + return ', '.join( + build_extension(name, parameters) + for name, parameters in extensions + ) + + +def parse_subprotocol_list(string): + """ + Parse a ``Sec-WebSocket-Protocol`` header. + + Raise :exc:`~websockets.exceptions.InvalidHeaderFormat` on invalid inputs. + + """ + return parse_list(parse_token, string, 0, 'Sec-WebSocket-Protocol') + + +def build_subprotocol_list(protocols): + """ + Unparse a ``Sec-WebSocket-Protocol`` header. + + This is the reverse of :func:`parse_subprotocol_list`. + + """ + return ', '.join(protocols) + + +def build_basic_auth(username, password): + """ + Build an Authorization header for HTTP Basic Auth. + + """ + # https://tools.ietf.org/html/rfc7617#section-2 + assert ':' not in username + user_pass = '{}:{}'.format(username, password) + basic_credentials = base64.b64encode(user_pass.encode()).decode() + return 'Basic ' + basic_credentials diff --git a/venv/lib/python3.6/site-packages/websockets/http.py b/venv/lib/python3.6/site-packages/websockets/http.py new file mode 100644 index 0000000..5ec3390 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/http.py @@ -0,0 +1,331 @@ +""" +The :mod:`websockets.http` module provides basic HTTP parsing and +serialization. It is merely adequate for WebSocket handshake messages. + +Its functions cannot be imported from :mod:`websockets`. They must be imported +from :mod:`websockets.http`. + +""" + +import asyncio +import collections.abc +import re +import sys + +from .version import version as websockets_version + + +__all__ = [ + 'Headers', 'MultipleValuesError', + 'read_request', 'read_response', + 'USER_AGENT', +] + +MAX_HEADERS = 256 +MAX_LINE = 4096 + +USER_AGENT = ' '.join(( + 'Python/{}'.format(sys.version[:3]), + 'websockets/{}'.format(websockets_version), +)) + + +# See https://tools.ietf.org/html/rfc7230#appendix-B. + +# Regex for validating header names. + +_token_re = re.compile(rb'[-!#$%&\'*+.^_`|~0-9a-zA-Z]+') + +# Regex for validating header values. + +# We don't attempt to support obsolete line folding. + +# Include HTAB (\x09), SP (\x20), VCHAR (\x21-\x7e), obs-text (\x80-\xff). + +# The ABNF is complicated because it attempts to express that optional +# whitespace is ignored. We strip whitespace and don't revalidate that. + +# See also https://www.rfc-editor.org/errata_search.php?rfc=7230&eid=4189 + +_value_re = re.compile(rb'[\x09\x20-\x7e\x80-\xff]*') + + +@asyncio.coroutine +def read_request(stream): + """ + Read an HTTP/1.1 GET request from ``stream``. + + ``stream`` is an :class:`~asyncio.StreamReader`. + + Return ``(path, headers)`` where ``path`` is a :class:`str` and + ``headers`` is a :class:`Headers` instance. + + ``path`` isn't URL-decoded or validated in any way. + + Non-ASCII characters are represented with surrogate escapes. + + Raise an exception if the request isn't well formatted. + + Don't attempt to read the request body because WebSocket handshake + requests don't have one. If the request contains a body, it may be + read from ``stream`` after this coroutine returns. + + """ + # https://tools.ietf.org/html/rfc7230#section-3.1.1 + + # Parsing is simple because fixed values are expected for method and + # version and because path isn't checked. Since WebSocket software tends + # to implement HTTP/1.1 strictly, there's little need for lenient parsing. + + # Given the implementation of read_line(), request_line ends with CRLF. + request_line = yield from read_line(stream) + + # This may raise "ValueError: not enough values to unpack" + method, path, version = request_line[:-2].split(b' ', 2) + + if method != b'GET': + raise ValueError("Unsupported HTTP method: %r" % method) + if version != b'HTTP/1.1': + raise ValueError("Unsupported HTTP version: %r" % version) + + path = path.decode('ascii', 'surrogateescape') + + headers = yield from read_headers(stream) + + return path, headers + + +@asyncio.coroutine +def read_response(stream): + """ + Read an HTTP/1.1 response from ``stream``. + + ``stream`` is an :class:`~asyncio.StreamReader`. + + Return ``(status_code, headers)`` where ``status_code`` is a :class:`int` + and ``headers`` is a :class:`Headers` instance. + + Non-ASCII characters are represented with surrogate escapes. + + Raise an exception if the response isn't well formatted. + + Don't attempt to read the response body, because WebSocket handshake + responses don't have one. If the response contains a body, it may be + read from ``stream`` after this coroutine returns. + + """ + # https://tools.ietf.org/html/rfc7230#section-3.1.2 + + # As in read_request, parsing is simple because a fixed value is expected + # for version, status_code is a 3-digit number, and reason can be ignored. + + # Given the implementation of read_line(), status_line ends with CRLF. + status_line = yield from read_line(stream) + + # This may raise "ValueError: not enough values to unpack" + version, status_code, reason = status_line[:-2].split(b' ', 2) + + if version != b'HTTP/1.1': + raise ValueError("Unsupported HTTP version: %r" % version) + # This may raise "ValueError: invalid literal for int() with base 10" + status_code = int(status_code) + if not 100 <= status_code < 1000: + raise ValueError("Unsupported HTTP status code: %d" % status_code) + if not _value_re.fullmatch(reason): + raise ValueError("Invalid HTTP reason phrase: %r" % reason) + + headers = yield from read_headers(stream) + + return status_code, headers + + +@asyncio.coroutine +def read_headers(stream): + """ + Read HTTP headers from ``stream``. + + ``stream`` is an :class:`~asyncio.StreamReader`. + + Return a :class:`Headers` instance + + Non-ASCII characters are represented with surrogate escapes. + + """ + # https://tools.ietf.org/html/rfc7230#section-3.2 + + # We don't attempt to support obsolete line folding. + + headers = Headers() + for _ in range(MAX_HEADERS + 1): + line = yield from read_line(stream) + if line == b'\r\n': + break + + # This may raise "ValueError: not enough values to unpack" + name, value = line[:-2].split(b':', 1) + if not _token_re.fullmatch(name): + raise ValueError("Invalid HTTP header name: %r" % name) + value = value.strip(b' \t') + if not _value_re.fullmatch(value): + raise ValueError("Invalid HTTP header value: %r" % value) + + name = name.decode('ascii') # guaranteed to be ASCII at this point + value = value.decode('ascii', 'surrogateescape') + headers[name] = value + + else: + raise ValueError("Too many HTTP headers") + + return headers + + +@asyncio.coroutine +def read_line(stream): + """ + Read a single line from ``stream``. + + ``stream`` is an :class:`~asyncio.StreamReader`. + + """ + # Security: this is bounded by the StreamReader's limit (default = 32kB). + line = yield from stream.readline() + # Security: this guarantees header values are small (hardcoded = 4kB) + if len(line) > MAX_LINE: + raise ValueError("Line too long") + # Not mandatory but safe - https://tools.ietf.org/html/rfc7230#section-3.5 + if not line.endswith(b'\r\n'): + raise ValueError("Line without CRLF") + return line + + +class MultipleValuesError(LookupError): + """ + Exception raised when :class:`Headers` has more than one value for a key. + + """ + + def __str__(self): + # Implement the same logic as KeyError_str in Objects/exceptions.c. + if len(self.args) == 1: + return repr(self.args[0]) + return super().__str__() + + +class Headers(collections.abc.MutableMapping): + """ + Data structure for working with HTTP headers efficiently. + + A :class:`list` of ``(name, values)`` is inefficient for lookups. + + A :class:`dict` doesn't suffice because header names are case-insensitive + and multiple occurrences of headers with the same name are possible. + + :class:`Headers` stores HTTP headers in a hybrid data structure to provide + efficient insertions and lookups while preserving the original data. + + In order to account for multiple values with minimal hassle, + :class:`Headers` follows this logic: + + - When getting a header with ``headers[name]``: + - if there's no value, :exc:`KeyError` is raised; + - if there's exactly one value, it's returned; + - if there's more than one value, :exc:`MultipleValuesError` is raised. + + - When setting a header with ``headers[name] = value``, the value is + appended to the list of values for that header. + + - When deleting a header with ``del headers[name]``, all values for that + header are removed (this is slow). + + Other methods for manipulating headers are consistent with this logic. + + As long as no header occurs multiple times, :class:`Headers` behaves like + :class:`dict`, except keys are lower-cased to provide case-insensitivity. + + :meth:`get_all()` returns a list of all values for a header and + :meth:`raw_items()` returns an iterator of ``(name, values)`` pairs, + similar to :meth:`http.client.HTTPMessage`. + + """ + + __slots__ = ['_dict', '_list'] + + def __init__(self, *args, **kwargs): + self._dict = {} + self._list = [] + # MutableMapping.update calls __setitem__ for each (name, value) pair. + self.update(*args, **kwargs) + + def __str__(self): + return ''.join( + '{}: {}\r\n'.format(key, value) + for key, value in self._list + ) + '\r\n' + + def __repr__(self): + return '{}({})'.format(self.__class__.__name__, repr(self._list)) + + def copy(self): + copy = self.__class__() + copy._dict = self._dict.copy() + copy._list = self._list.copy() + return copy + + # Collection methods + + def __contains__(self, key): + return key.lower() in self._dict + + def __iter__(self): + return iter(self._dict) + + def __len__(self): + return len(self._dict) + + # MutableMapping methods + + def __getitem__(self, key): + value = self._dict[key.lower()] + if len(value) == 1: + return value[0] + else: + raise MultipleValuesError(key) + + def __setitem__(self, key, value): + self._dict.setdefault(key.lower(), []).append(value) + self._list.append((key, value)) + + def __delitem__(self, key): + key_lower = key.lower() + self._dict.__delitem__(key_lower) + # This is inefficent. Fortunately deleting HTTP headers is uncommon. + self._list = [(k, v) for k, v in self._list if k.lower() != key_lower] + + def __eq__(self, other): + if not isinstance(other, Headers): + return NotImplemented + return self._list == other._list + + def clear(self): + """ + Remove all headers. + + """ + self._dict = {} + self._list = [] + + # Methods for handling multiple values + + def get_all(self, key): + """ + Return the (possibly empty) list of all values for a header. + + """ + return self._dict.get(key.lower(), []) + + def raw_items(self): + """ + Return an iterator of (header name, header value). + + """ + return iter(self._list) diff --git a/venv/lib/python3.6/site-packages/websockets/protocol.py b/venv/lib/python3.6/site-packages/websockets/protocol.py new file mode 100644 index 0000000..adadf63 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/protocol.py @@ -0,0 +1,1023 @@ +""" +The :mod:`websockets.protocol` module handles WebSocket control and data +frames as specified in `sections 4 to 8 of RFC 6455`_. + +.. _sections 4 to 8 of RFC 6455: http://tools.ietf.org/html/rfc6455#section-4 + +""" + +import asyncio +import asyncio.queues +import binascii +import codecs +import collections +import enum +import logging +import random +import struct +import sys +import warnings + +from .compatibility import asyncio_ensure_future +from .exceptions import ( + ConnectionClosed, InvalidState, PayloadTooBig, WebSocketProtocolError +) +from .framing import * +from .handshake import * + + +__all__ = ['WebSocketCommonProtocol'] + +logger = logging.getLogger(__name__) + + +# On Python ≥ 3.7, silence a deprecation warning that we can't address before +# dropping support for Python < 3.5. +warnings.filterwarnings( + action='ignore', + message=r"'with \(yield from lock\)' is deprecated " + r"use 'async with lock' instead", + category=DeprecationWarning, +) + + +# A WebSocket connection goes through the following four states, in order: + +class State(enum.IntEnum): + CONNECTING, OPEN, CLOSING, CLOSED = range(4) + +# In order to ensure consistency, the code always checks the current value of +# WebSocketCommonProtocol.state before assigning a new value and never yields +# between the check and the assignment. + + +class WebSocketCommonProtocol(asyncio.StreamReaderProtocol): + """ + This class implements common parts of the WebSocket protocol. + + It assumes that the WebSocket connection is established. The handshake is + managed in subclasses such as + :class:`~websockets.server.WebSocketServerProtocol` and + :class:`~websockets.client.WebSocketClientProtocol`. + + It runs a task that stores incoming data frames in a queue and deals with + control frames automatically. It sends outgoing data frames and performs + the closing handshake. + + On Python ≥ 3.6, :class:`WebSocketCommonProtocol` instances support + asynchronous iteration:: + + async for message in websocket: + await process(message) + + The iterator yields incoming messages. It exits normally when the + connection is closed with the status code 1000 (OK) or 1001 (going away). + It raises a :exc:`~websockets.exceptions.ConnectionClosed` exception when + the connection is closed with any other status code. + + The ``host``, ``port`` and ``secure`` parameters are simply stored as + attributes for handlers that need them. + + The ``timeout`` parameter defines the maximum wait time in seconds for + completing the closing handshake and, only on the client side, for + terminating the TCP connection. :meth:`close()` will complete in at most + ``4 * timeout`` on the server side and ``5 * timeout`` on the client side. + + The ``max_size`` parameter enforces the maximum size for incoming messages + in bytes. The default value is 1MB. ``None`` disables the limit. If a + message larger than the maximum size is received, :meth:`recv()` will + raise :exc:`~websockets.exceptions.ConnectionClosed` and the connection + will be closed with status code 1009. + + The ``max_queue`` parameter sets the maximum length of the queue that holds + incoming messages. The default value is 32. 0 disables the limit. Messages + are added to an in-memory queue when they're received; then :meth:`recv()` + pops from that queue. In order to prevent excessive memory consumption when + messages are received faster than they can be processed, the queue must be + bounded. If the queue fills up, the protocol stops processing incoming data + until :meth:`recv()` is called. In this situation, various receive buffers + (at least in ``asyncio`` and in the OS) will fill up, then the TCP receive + window will shrink, slowing down transmission to avoid packet loss. + + Since Python can use up to 4 bytes of memory to represent a single + character, each websocket connection may use up to ``4 * max_size * + max_queue`` bytes of memory to store incoming messages. By default, + this is 128MB. You may want to lower the limits, depending on your + application's requirements. + + The ``read_limit`` argument sets the high-water limit of the buffer for + incoming bytes. The low-water limit is half the high-water limit. The + default value is 64kB, half of asyncio's default (based on the current + implementation of :class:`~asyncio.StreamReader`). + + The ``write_limit`` argument sets the high-water limit of the buffer for + outgoing bytes. The low-water limit is a quarter of the high-water limit. + The default value is 64kB, equal to asyncio's default (based on the + current implementation of ``FlowControlMixin``). + + As soon as the HTTP request and response in the opening handshake are + processed: + + * the request path is available in the :attr:`path` attribute; + * the request and response HTTP headers are available in the + :attr:`request_headers` and :attr:`response_headers` attributes, + which are :class:`~websockets.http.Headers` instances. + + These attributes must be treated as immutable. + + If a subprotocol was negotiated, it's available in the :attr:`subprotocol` + attribute. + + Once the connection is closed, the status code is available in the + :attr:`close_code` attribute and the reason in :attr:`close_reason`. + + """ + # There are only two differences between the client-side and the server- + # side behavior: masking the payload and closing the underlying TCP + # connection. Set is_client and side to pick a side. + is_client = None + side = 'undefined' + + def __init__(self, *, + host=None, port=None, secure=None, + timeout=10, max_size=2 ** 20, max_queue=2 ** 5, + read_limit=2 ** 16, write_limit=2 ** 16, + loop=None, legacy_recv=False): + self.host = host + self.port = port + self.secure = secure + self.timeout = timeout + self.max_size = max_size + self.max_queue = max_queue + self.read_limit = read_limit + self.write_limit = write_limit + + # Store a reference to loop to avoid relying on self._loop, a private + # attribute of StreamReaderProtocol, inherited from FlowControlMixin. + if loop is None: + loop = asyncio.get_event_loop() + self.loop = loop + + self.legacy_recv = legacy_recv + + # Configure read buffer limits. The high-water limit is defined by + # ``self.read_limit``. The ``limit`` argument controls the line length + # limit and half the buffer limit of :class:`~asyncio.StreamReader`. + # That's why it must be set to half of ``self.read_limit``. + stream_reader = asyncio.StreamReader(limit=read_limit // 2, loop=loop) + super().__init__(stream_reader, self.client_connected, loop) + + self.reader = None + self.writer = None + self._drain_lock = asyncio.Lock(loop=loop) + + # This class implements the data transfer and closing handshake, which + # are shared between the client-side and the server-side. + # Subclasses implement the opening handshake and, on success, execute + # :meth:`connection_open()` to change the state to OPEN. + self.state = State.CONNECTING + logger.debug("%s - state = CONNECTING", self.side) + + # HTTP protocol parameters. + self.path = None + self.request_headers = None + self.response_headers = None + + # WebSocket protocol parameters. + self.extensions = [] + self.subprotocol = None + + # The close code and reason are set when receiving a close frame or + # losing the TCP connection. + self.close_code = None + self.close_reason = '' + + # Completed when the connection state becomes CLOSED. Translates the + # :meth:`connection_lost()` callback to a :class:`~asyncio.Future` + # that can be awaited. (Other :class:`~asyncio.Protocol` callbacks are + # translated by ``self.stream_reader``). + self.connection_lost_waiter = asyncio.Future(loop=loop) + + # Queue of received messages. + self.messages = asyncio.queues.Queue(max_queue, loop=loop) + + # Mapping of ping IDs to waiters, in chronological order. + self.pings = collections.OrderedDict() + + # Task running the data transfer. + self.transfer_data_task = None + + # Exception that occurred during data transfer, if any. + self.transfer_data_exc = None + + # Task closing the TCP connection. + self.close_connection_task = None + + def client_connected(self, reader, writer): + """ + Callback when the TCP connection is established. + + Record references to the stream reader and the stream writer to avoid + using private attributes ``_stream_reader`` and ``_stream_writer`` of + :class:`~asyncio.StreamReaderProtocol`. + + """ + self.reader = reader + self.writer = writer + + def connection_open(self): + """ + Callback when the WebSocket opening handshake completes. + + Enter the OPEN state and start the data transfer phase. + + """ + # 4.1. The WebSocket Connection is Established. + assert self.state is State.CONNECTING + self.state = State.OPEN + logger.debug("%s - state = OPEN", self.side) + # Start the task that receives incoming WebSocket messages. + self.transfer_data_task = asyncio_ensure_future( + self.transfer_data(), loop=self.loop) + # Start the task that eventually closes the TCP connection. + self.close_connection_task = asyncio_ensure_future( + self.close_connection(), loop=self.loop) + + # Public API + + @property + def local_address(self): + """ + Local address of the connection. + + This is a ``(host, port)`` tuple or ``None`` if the connection hasn't + been established yet. + + """ + if self.writer is None: + return None + return self.writer.get_extra_info('sockname') + + @property + def remote_address(self): + """ + Remote address of the connection. + + This is a ``(host, port)`` tuple or ``None`` if the connection hasn't + been established yet. + + """ + if self.writer is None: + return None + return self.writer.get_extra_info('peername') + + @property + def open(self): + """ + This property is ``True`` when the connection is usable. + + It may be used to detect disconnections but this is discouraged per + the EAFP_ principle. When ``open`` is ``False``, using the connection + raises a :exc:`~websockets.exceptions.ConnectionClosed` exception. + + .. _EAFP: https://docs.python.org/3/glossary.html#term-eafp + + """ + return self.state is State.OPEN and not self.transfer_data_task.done() + + @property + def closed(self): + """ + This property is ``True`` once the connection is closed. + + Be aware that both :attr:`open` and :attr`closed` are ``False`` during + the opening and closing sequences. + + """ + return self.state is State.CLOSED + + @asyncio.coroutine + def recv(self): + """ + This coroutine receives the next message. + + It returns a :class:`str` for a text frame and :class:`bytes` for a + binary frame. + + When the end of the message stream is reached, :meth:`recv` raises + :exc:`~websockets.exceptions.ConnectionClosed`. This can happen after + a normal connection closure, a protocol error or a network failure. + + .. versionchanged:: 3.0 + + :meth:`recv` used to return ``None`` instead. Refer to the + changelog for details. + + """ + # Don't yield from self.ensure_open() here because messages could be + # available in the queue even if the connection is closed. + + # Return any available message + try: + return self.messages.get_nowait() + except asyncio.queues.QueueEmpty: + pass + + # Don't yield from self.ensure_open() here because messages could be + # received before the closing frame even if the connection is closing. + + # Wait for a message until the connection is closed. + next_message = asyncio_ensure_future( + self.messages.get(), loop=self.loop) + # See https://bugs.python.org/issue23859 for cancellation handling. + try: + done, pending = yield from asyncio.wait( + [next_message, self.transfer_data_task], + loop=self.loop, return_when=asyncio.FIRST_COMPLETED) + except asyncio.CancelledError: + # Propagate cancellation to avoid leaking the next_message Task. + next_message.cancel() + raise + + if next_message in done: + return next_message.result() + else: + next_message.cancel() + if not self.legacy_recv: + assert self.state in [State.CLOSING, State.CLOSED] + # Wait until the connection is closed to raise + # ConnectionClosed with the correct code and reason. + yield from self.ensure_open() + + @asyncio.coroutine + def send(self, data): + """ + This coroutine sends a message. + + It sends :class:`str` as a text frame and :class:`bytes` as a binary + frame. It raises a :exc:`TypeError` for other inputs. + + """ + yield from self.ensure_open() + + if isinstance(data, str): + opcode = 1 + data = data.encode('utf-8') + elif isinstance(data, bytes): + opcode = 2 + else: + raise TypeError("data must be bytes or str") + + yield from self.write_frame(opcode, data) + + @asyncio.coroutine + def close(self, code=1000, reason=''): + """ + This coroutine performs the closing handshake. + + It waits for the other end to complete the handshake and for the TCP + connection to terminate. + + It doesn't do anything once the connection is closed. In other words + it's idemptotent. + + It's safe to wrap this coroutine in :func:`~asyncio.ensure_future` + since errors during connection termination aren't particularly useful. + + ``code`` must be an :class:`int` and ``reason`` a :class:`str`. + + """ + try: + yield from asyncio.wait_for( + self.write_close_frame(serialize_close(code, reason)), + self.timeout, loop=self.loop) + except asyncio.TimeoutError: + # If the close frame cannot be sent because the send buffers + # are full, the closing handshake won't complete anyway. + # Fail the connection to shut down faster. + self.fail_connection() + + # If no close frame is received within the timeout, wait_for() cancels + # the data transfer task and raises TimeoutError. Then transfer_data() + # catches CancelledError and exits without an exception. + + # If close() is called multiple times concurrently and one of these + # calls hits the timeout, other calls will resume executing without an + # exception, so there's no need to catch CancelledError here. + + try: + # If close() is cancelled during the wait, self.transfer_data_task + # is cancelled before the timeout elapses (on Python ≥ 3.4.3). + # This helps closing connections when shutting down a server. + yield from asyncio.wait_for( + self.transfer_data_task, + self.timeout, loop=self.loop) + except (asyncio.TimeoutError, asyncio.CancelledError): + pass + + # Wait for the close connection task to close the TCP connection. + yield from asyncio.shield(self.close_connection_task) + + @asyncio.coroutine + def ping(self, data=None): + """ + This coroutine sends a ping. + + It returns a :class:`~asyncio.Future` which will be completed when the + corresponding pong is received and which you may ignore if you don't + want to wait. + + A ping may serve as a keepalive or as a check that the remote endpoint + received all messages up to this point:: + + pong_waiter = await ws.ping() + await pong_waiter # only if you want to wait for the pong + + By default, the ping contains four random bytes. The content may be + overridden with the optional ``data`` argument which must be of type + :class:`str` (which will be encoded to UTF-8) or :class:`bytes`. + + """ + yield from self.ensure_open() + + if data is not None: + data = encode_data(data) + + # Protect against duplicates if a payload is explicitly set. + if data in self.pings: + raise ValueError("Already waiting for a pong with the same data") + + # Generate a unique random payload otherwise. + while data is None or data in self.pings: + data = struct.pack('!I', random.getrandbits(32)) + + self.pings[data] = asyncio.Future(loop=self.loop) + + yield from self.write_frame(OP_PING, data) + + return asyncio.shield(self.pings[data]) + + @asyncio.coroutine + def pong(self, data=b''): + """ + This coroutine sends a pong. + + An unsolicited pong may serve as a unidirectional heartbeat. + + The content may be overridden with the optional ``data`` argument + which must be of type :class:`str` (which will be encoded to UTF-8) or + :class:`bytes`. + + """ + yield from self.ensure_open() + + data = encode_data(data) + + yield from self.write_frame(OP_PONG, data) + + # Private methods - no guarantees. + + @asyncio.coroutine + def ensure_open(self): + """ + Check that the WebSocket connection is open. + + Raise :exc:`~websockets.exceptions.ConnectionClosed` if it isn't. + + """ + # Handle cases from most common to least common for performance. + if self.state is State.OPEN: + # If self.transfer_data_task exited without a closing handshake, + # self.close_connection_task may be closing it, going straight + # from OPEN to CLOSED. + if self.transfer_data_task.done(): + yield from asyncio.shield(self.close_connection_task) + raise ConnectionClosed(self.close_code, self.close_reason) + else: + return + + if self.state is State.CLOSED: + raise ConnectionClosed( + self.close_code, self.close_reason) from self.transfer_data_exc + + if self.state is State.CLOSING: + # If we started the closing handshake, wait for its completion to + # get the proper close code and status. self.close_connection_task + # will complete within 4 or 5 * timeout after calling close(). + # The CLOSING state also occurs when failing the connection. In + # that case self.close_connection_task will complete even faster. + if self.close_code is None: + yield from asyncio.shield(self.close_connection_task) + raise ConnectionClosed( + self.close_code, self.close_reason) from self.transfer_data_exc + + # Control may only reach this point in buggy third-party subclasses. + assert self.state is State.CONNECTING + raise InvalidState("WebSocket connection isn't established yet") + + @asyncio.coroutine + def transfer_data(self): + """ + Read incoming messages and put them in a queue. + + This coroutine runs in a task until the closing handshake is started. + + """ + try: + while True: + msg = yield from self.read_message() + # Exit the loop when receiving a close frame. + if msg is None: + break + yield from self.messages.put(msg) + + except asyncio.CancelledError as exc: + self.transfer_data_exc = exc + # If fail_connection() cancels this task, avoid logging the error + # twice and failing the connection again. + raise + + except WebSocketProtocolError as exc: + self.transfer_data_exc = exc + self.fail_connection(1002) + + except (ConnectionError, EOFError) as exc: + # Reading data with self.reader.readexactly may raise: + # - most subclasses of ConnectionError if the TCP connection + # breaks, is reset, or is aborted; + # - IncompleteReadError, a subclass of EOFError, if fewer + # bytes are available than requested. + self.transfer_data_exc = exc + self.fail_connection(1006) + + except UnicodeDecodeError as exc: + self.transfer_data_exc = exc + self.fail_connection(1007) + + except PayloadTooBig as exc: + self.transfer_data_exc = exc + self.fail_connection(1009) + + except Exception as exc: + # This shouldn't happen often because exceptions expected under + # regular circumstances are handled above. If it does, consider + # catching and handling more exceptions. + logger.error("Error in data transfer", exc_info=True) + + self.transfer_data_exc = exc + self.fail_connection(1011) + + @asyncio.coroutine + def read_message(self): + """ + Read a single message from the connection. + + Re-assemble data frames if the message is fragmented. + + Return ``None`` when the closing handshake is started. + + """ + frame = yield from self.read_data_frame(max_size=self.max_size) + + # A close frame was received. + if frame is None: + return + + if frame.opcode == OP_TEXT: + text = True + elif frame.opcode == OP_BINARY: + text = False + else: # frame.opcode == OP_CONT + raise WebSocketProtocolError("Unexpected opcode") + + # Shortcut for the common case - no fragmentation + if frame.fin: + return frame.data.decode('utf-8') if text else frame.data + + # 5.4. Fragmentation + chunks = [] + max_size = self.max_size + if text: + decoder = codecs.getincrementaldecoder('utf-8')(errors='strict') + if max_size is None: + def append(frame): + nonlocal chunks + chunks.append(decoder.decode(frame.data, frame.fin)) + else: + def append(frame): + nonlocal chunks, max_size + chunks.append(decoder.decode(frame.data, frame.fin)) + max_size -= len(frame.data) + else: + if max_size is None: + def append(frame): + nonlocal chunks + chunks.append(frame.data) + else: + def append(frame): + nonlocal chunks, max_size + chunks.append(frame.data) + max_size -= len(frame.data) + append(frame) + + while not frame.fin: + frame = yield from self.read_data_frame(max_size=max_size) + if frame is None: + raise WebSocketProtocolError("Incomplete fragmented message") + if frame.opcode != OP_CONT: + raise WebSocketProtocolError("Unexpected opcode") + append(frame) + + return ('' if text else b'').join(chunks) + + @asyncio.coroutine + def read_data_frame(self, max_size): + """ + Read a single data frame from the connection. + + Process control frames received before the next data frame. + + Return ``None`` if a close frame is encountered before any data frame. + + """ + # 6.2. Receiving Data + while True: + frame = yield from self.read_frame(max_size) + + # 5.5. Control Frames + if frame.opcode == OP_CLOSE: + # 7.1.5. The WebSocket Connection Close Code + # 7.1.6. The WebSocket Connection Close Reason + self.close_code, self.close_reason = parse_close(frame.data) + # Echo the original data instead of re-serializing it with + # serialize_close() because that fails when the close frame is + # empty and parse_close() synthetizes a 1005 close code. + yield from self.write_close_frame(frame.data) + return + + elif frame.opcode == OP_PING: + # Answer pings. + # Replace by frame.data.hex() when dropping Python < 3.5. + ping_hex = binascii.hexlify(frame.data).decode() or '[empty]' + logger.debug("%s - received ping, sending pong: %s", + self.side, ping_hex) + yield from self.pong(frame.data) + + elif frame.opcode == OP_PONG: + # Acknowledge pings on solicited pongs. + if frame.data in self.pings: + # Acknowledge all pings up to the one matching this pong. + ping_id = None + ping_ids = [] + while ping_id != frame.data: + ping_id, pong_waiter = self.pings.popitem(0) + ping_ids.append(ping_id) + pong_waiter.set_result(None) + pong_hex = ( + binascii.hexlify(frame.data).decode() or '[empty]') + logger.debug("%s - received solicited pong: %s", + self.side, pong_hex) + ping_ids = ping_ids[:-1] + if ping_ids: + pings_hex = ', '.join( + binascii.hexlify(ping_id).decode() or '[empty]' + for ping_id in ping_ids + ) + plural = 's' if len(ping_ids) > 1 else '' + logger.debug( + "%s - acknowledged previous ping%s: %s", + self.side, plural, pings_hex) + else: + pong_hex = ( + binascii.hexlify(frame.data).decode() or '[empty]') + logger.debug("%s - received unsolicited pong: %s", + self.side, pong_hex) + + # 5.6. Data Frames + else: + return frame + + @asyncio.coroutine + def read_frame(self, max_size): + """ + Read a single frame from the connection. + + """ + frame = yield from Frame.read( + self.reader.readexactly, + mask=not self.is_client, + max_size=max_size, + extensions=self.extensions, + ) + logger.debug("%s < %s", self.side, frame) + return frame + + @asyncio.coroutine + def write_frame(self, opcode, data=b'', _expected_state=State.OPEN): + # Defensive assertion for protocol compliance. + if self.state is not _expected_state: # pragma: no cover + raise InvalidState("Cannot write to a WebSocket " + "in the {} state".format(self.state.name)) + + frame = Frame(True, opcode, data) + logger.debug("%s > %s", self.side, frame) + frame.write( + self.writer.write, + mask=self.is_client, + extensions=self.extensions, + ) + + # Backport of https://github.com/python/asyncio/pull/280. + # Remove when dropping support for Python < 3.6. + if self.writer.transport is not None: # pragma: no cover + if self.writer_is_closing(): + yield + + try: + # drain() cannot be called concurrently by multiple coroutines: + # http://bugs.python.org/issue29930. Remove this lock when no + # version of Python where this bugs exists is supported anymore. + with (yield from self._drain_lock): + # Handle flow control automatically. + yield from self.writer.drain() + except ConnectionError: + # Terminate the connection if the socket died. + self.fail_connection() + # Wait until the connection is closed to raise ConnectionClosed + # with the correct code and reason. + yield from self.ensure_open() + + def writer_is_closing(self): + """ + Backport of https://github.com/python/asyncio/pull/291. + + Replace with ``self.writer.transport.is_closing()`` when dropping + support for Python < 3.6 and with ``self.writer.is_closing()`` when + https://bugs.python.org/issue31491 is fixed. + + """ + transport = self.writer.transport + try: + return transport.is_closing() + except AttributeError: # pragma: no cover + # This emulates what is_closing would return if it existed. + try: + return transport._closing + except AttributeError: + return transport._closed + + @asyncio.coroutine + def write_close_frame(self, data=b''): + """ + Write a close frame if and only if the connection state is OPEN. + + This dedicated coroutine must be used for writing close frames to + ensure that at most one close frame is sent on a given connection. + + """ + # Test and set the connection state before sending the close frame to + # avoid sending two frames in case of concurrent calls. + if self.state is State.OPEN: + # 7.1.3. The WebSocket Closing Handshake is Started + self.state = State.CLOSING + logger.debug("%s - state = CLOSING", self.side) + + # 7.1.2. Start the WebSocket Closing Handshake + yield from self.write_frame(OP_CLOSE, data, State.CLOSING) + + @asyncio.coroutine + def close_connection(self): + """ + 7.1.1. Close the WebSocket Connection + + When the opening handshake succeeds, :meth:`connection_open` starts + this coroutine in a task. It waits for the data transfer phase to + complete then it closes the TCP connection cleanly. + + When the opening handshake fails, :meth:`fail_connection` does the + same. There's no data transfer phase in that case. + + """ + try: + # Wait for the data transfer phase to complete. + if self.transfer_data_task is not None: + try: + yield from self.transfer_data_task + except asyncio.CancelledError: + pass + + # Cancel all pending pings because they'll never receive a pong. + for ping in self.pings.values(): + ping.cancel() + if self.pings: + pings_hex = ', '.join( + binascii.hexlify(ping_id).decode() or '[empty]' + for ping_id in self.pings + ) + plural = 's' if len(self.pings) > 1 else '' + logger.debug( + "%s - cancelled pending ping%s: %s", + self.side, plural, pings_hex) + + # A client should wait for a TCP close from the server. + if self.is_client and self.transfer_data_task is not None: + if (yield from self.wait_for_connection_lost()): + return + logger.debug( + "%s ! timed out waiting for TCP close", self.side) + + # Half-close the TCP connection if possible (when there's no TLS). + if self.writer.can_write_eof(): + logger.debug( + "%s x half-closing TCP connection", self.side) + self.writer.write_eof() + + if (yield from self.wait_for_connection_lost()): + return + logger.debug( + "%s ! timed out waiting for TCP close", self.side) + + finally: + # The try/finally ensures that the transport never remains open, + # even if this coroutine is cancelled (for example). + + # If connection_lost() was called, the TCP connection is closed. + # However, if TLS is enabled, the transport still needs closing. + # Else asyncio complains: ResourceWarning: unclosed transport. + if self.connection_lost_waiter.done() and not self.secure: + return + + # Close the TCP connection. Buffers are flushed asynchronously. + logger.debug( + "%s x closing TCP connection", self.side) + self.writer.close() + + if (yield from self.wait_for_connection_lost()): + return + logger.debug( + "%s ! timed out waiting for TCP close", self.side) + + # Abort the TCP connection. Buffers are discarded. + logger.debug( + "%s x aborting TCP connection", self.side) + self.writer.transport.abort() + + # connection_lost() is called quickly after aborting. + yield from self.wait_for_connection_lost() + + @asyncio.coroutine + def wait_for_connection_lost(self): + """ + Wait until the TCP connection is closed or ``self.timeout`` elapses. + + Return ``True`` if the connection is closed and ``False`` otherwise. + + """ + if not self.connection_lost_waiter.done(): + try: + yield from asyncio.wait_for( + asyncio.shield(self.connection_lost_waiter), + self.timeout, loop=self.loop) + except asyncio.TimeoutError: + pass + # Re-check self.connection_lost_waiter.done() synchronously because + # connection_lost() could run between the moment the timeout occurs + # and the moment this coroutine resumes running. + return self.connection_lost_waiter.done() + + def fail_connection(self, code=1006, reason=''): + """ + 7.1.7. Fail the WebSocket Connection + + This requires: + + 1. Stopping all processing of incoming data, which means cancelling + :attr:`transfer_data_task`. The close code will be 1006 unless a + close frame was received earlier. + + 2. Sending a close frame with an appropriate code if the opening + handshake succeeded and the other side is likely to process it. + + 3. Closing the connection. :meth:`close_connection` takes care of + this once :attr:`transfer_data_task` exits after being cancelled. + + (The specification describes these steps in the opposite order.) + + Return a :class:`~asyncio.Task` that completes when the TCP connection + is closed. + + """ + logger.debug( + "%s ! failing WebSocket connection: %d %s", + self.side, code, reason, + ) + + # Cancel transfer_data_task if the opening handshake succeeded. + # cancel() is idempotent and ignored if the task is done already. + if self.transfer_data_task is not None: + self.transfer_data_task.cancel() + + # Send a close frame when the state is OPEN (a close frame was already + # sent if it's CLOSING), except when failing the connection because of + # an error reading from or writing to the network. + # Don't send a close frame if the connection is broken. + if code != 1006 and self.state is State.OPEN: + + frame_data = serialize_close(code, reason) + + # Write the close frame without draining the write buffer. + + # Keeping fail_connection() synchronous guarantees it can't + # get stuck and simplifies the implementation of the callers. + # Not drainig the write buffer is acceptable in this context. + + # This duplicates a few lines of code from write_close_frame() + # and write_frame(). + + self.state = State.CLOSING + logger.debug("%s - state = CLOSING", self.side) + + frame = Frame(True, OP_CLOSE, frame_data) + logger.debug("%s > %s", self.side, frame) + frame.write( + self.writer.write, + mask=self.is_client, + extensions=self.extensions, + ) + + # Start close_connection_task if the opening handshake didn't succeed. + if self.close_connection_task is None: + self.close_connection_task = asyncio_ensure_future( + self.close_connection(), loop=self.loop) + + return self.close_connection_task + + # asyncio.StreamReaderProtocol methods + + def connection_made(self, transport): + """ + Configure write buffer limits. + + The high-water limit is defined by ``self.write_limit``. + + The low-water limit currently defaults to ``self.write_limit // 4`` in + :meth:`~asyncio.WriteTransport.set_write_buffer_limits`, which should + be all right for reasonable use cases of this library. + + This is the earliest point where we can get hold of the transport, + which means it's the best point for configuring it. + + """ + logger.debug("%s - event = connection_made(%s)", self.side, transport) + transport.set_write_buffer_limits(self.write_limit) + super().connection_made(transport) + + def eof_received(self): + """ + Close the transport after receiving EOF. + + Since Python 3.5, `:meth:~StreamReaderProtocol.eof_received` returns + ``True`` on non-TLS connections. + + See http://bugs.python.org/issue24539 for more information. + + This is inappropriate for websockets for at least three reasons: + + 1. The use case is to read data until EOF with self.reader.read(-1). + Since websockets is a TLV protocol, this never happens. + + 2. It doesn't work on TLS connections. A falsy value must be + returned to have the same behavior on TLS and plain connections. + + 3. The websockets protocol has its own closing handshake. Endpoints + close the TCP connection after sending a close frame. + + As a consequence we revert to the previous, more useful behavior. + + """ + logger.debug("%s - event = eof_received()", self.side) + super().eof_received() + return + + def connection_lost(self, exc): + """ + 7.1.4. The WebSocket Connection is Closed. + + """ + logger.debug("%s - event = connection_lost(%s)", self.side, exc) + self.state = State.CLOSED + logger.debug("%s - state = CLOSED", self.side) + if self.close_code is None: + self.close_code = 1006 + logger.debug("%s x code = %d, reason = %s", self.side, + self.close_code, self.close_reason or '[empty]') + # If self.connection_lost_waiter isn't pending, that's a bug, because: + # - it's set only here in connection_lost() which is called only once; + # - it must never be cancelled. + self.connection_lost_waiter.set_result(None) + super().connection_lost(exc) + + +if sys.version_info[:2] >= (3, 6): # pragma: no cover + from .py36.protocol import __aiter__ + WebSocketCommonProtocol.__aiter__ = __aiter__ diff --git a/venv/lib/python3.6/site-packages/websockets/py35/__init__.py b/venv/lib/python3.6/site-packages/websockets/py35/__init__.py new file mode 100644 index 0000000..9612d9d --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/py35/__init__.py @@ -0,0 +1,2 @@ +# This package contains code using async / await syntax added in Python 3.5. +# It cannot be imported on Python < 3.5 because it triggers syntax errors. diff --git a/venv/lib/python3.6/site-packages/websockets/py35/_test_client_server.py b/venv/lib/python3.6/site-packages/websockets/py35/_test_client_server.py new file mode 100644 index 0000000..c656dd3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/py35/_test_client_server.py @@ -0,0 +1,114 @@ +# Tests containing Python 3.5+ syntax, extracted from test_client_server.py. + +import asyncio +import pathlib +import socket +import sys +import tempfile +import unittest + +from ..client import * +from ..protocol import State +from ..server import * +from ..test_client_server import get_server_uri, handler + + +class AsyncAwaitTests(unittest.TestCase): + + def setUp(self): + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + + def tearDown(self): + self.loop.close() + + def test_client(self): + start_server = serve(handler, 'localhost', 0) + server = self.loop.run_until_complete(start_server) + + async def run_client(): + # Await connect. + client = await connect(get_server_uri(server)) + self.assertEqual(client.state, State.OPEN) + await client.close() + self.assertEqual(client.state, State.CLOSED) + + self.loop.run_until_complete(run_client()) + + server.close() + self.loop.run_until_complete(server.wait_closed()) + + def test_server(self): + + async def run_server(): + # Await serve. + server = await serve(handler, 'localhost', 0) + self.assertTrue(server.sockets) + server.close() + await server.wait_closed() + self.assertFalse(server.sockets) + + self.loop.run_until_complete(run_server()) + + +class ContextManagerTests(unittest.TestCase): + + def setUp(self): + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + + def tearDown(self): + self.loop.close() + + # Asynchronous context managers are only enabled on Python ≥ 3.5.1. + @unittest.skipIf( + sys.version_info[:3] <= (3, 5, 0), 'this test requires Python 3.5.1+') + def test_client(self): + start_server = serve(handler, 'localhost', 0) + server = self.loop.run_until_complete(start_server) + + async def run_client(): + # Use connect as an asynchronous context manager. + async with connect(get_server_uri(server)) as client: + self.assertEqual(client.state, State.OPEN) + + # Check that exiting the context manager closed the connection. + self.assertEqual(client.state, State.CLOSED) + + self.loop.run_until_complete(run_client()) + + server.close() + self.loop.run_until_complete(server.wait_closed()) + + # Asynchronous context managers are only enabled on Python ≥ 3.5.1. + @unittest.skipIf( + sys.version_info[:3] <= (3, 5, 0), 'this test requires Python 3.5.1+') + def test_server(self): + + async def run_server(): + # Use serve as an asynchronous context manager. + async with serve(handler, 'localhost', 0) as server: + self.assertTrue(server.sockets) + + # Check that exiting the context manager closed the server. + self.assertFalse(server.sockets) + + self.loop.run_until_complete(run_server()) + + # Asynchronous context managers are only enabled on Python ≥ 3.5.1. + @unittest.skipIf( + sys.version_info[:3] <= (3, 5, 0), 'this test requires Python 3.5.1+') + @unittest.skipUnless( + hasattr(socket, 'AF_UNIX'), 'this test requires Unix sockets') + def test_unix_server(self): + + async def run_server(path): + async with unix_serve(handler, path) as server: + self.assertTrue(server.sockets) + + # Check that exiting the context manager closed the server. + self.assertFalse(server.sockets) + + with tempfile.TemporaryDirectory() as temp_dir: + path = bytes(pathlib.Path(temp_dir) / 'websockets') + self.loop.run_until_complete(run_server(path)) diff --git a/venv/lib/python3.6/site-packages/websockets/py35/client.py b/venv/lib/python3.6/site-packages/websockets/py35/client.py new file mode 100644 index 0000000..7673ea3 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/py35/client.py @@ -0,0 +1,33 @@ +async def __aenter__(self): + return await self + + +async def __aexit__(self, exc_type, exc_value, traceback): + await self.ws_client.close() + + +async def __await_impl__(self): + # Duplicated with __iter__ because Python 3.7 requires an async function + # (as explained in __await__ below) which Python 3.4 doesn't support. + transport, protocol = await self._creating_connection + + try: + await protocol.handshake( + self._wsuri, origin=self._origin, + available_extensions=protocol.available_extensions, + available_subprotocols=protocol.available_subprotocols, + extra_headers=protocol.extra_headers, + ) + except Exception: + await protocol.fail_connection() + raise + + self.ws_client = protocol + return protocol + + +def __await__(self): + # __await__() must return a type that I don't know how to obtain except + # by calling __await__() on the return value of an async function. + # I'm not finding a better way to take advantage of PEP 492. + return __await_impl__(self).__await__() diff --git a/venv/lib/python3.6/site-packages/websockets/py35/server.py b/venv/lib/python3.6/site-packages/websockets/py35/server.py new file mode 100644 index 0000000..41a3675 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/py35/server.py @@ -0,0 +1,22 @@ +async def __aenter__(self): + return await self + + +async def __aexit__(self, exc_type, exc_value, traceback): + self.ws_server.close() + await self.ws_server.wait_closed() + + +async def __await_impl__(self): + # Duplicated with __iter__ because Python 3.7 requires an async function + # (as explained in __await__ below) which Python 3.4 doesn't support. + server = await self._creating_server + self.ws_server.wrap(server) + return self.ws_server + + +def __await__(self): + # __await__() must return a type that I don't know how to obtain except + # by calling __await__() on the return value of an async function. + # I'm not finding a better way to take advantage of PEP 492. + return __await_impl__(self).__await__() diff --git a/venv/lib/python3.6/site-packages/websockets/py36/__init__.py b/venv/lib/python3.6/site-packages/websockets/py36/__init__.py new file mode 100644 index 0000000..b9211bf --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/py36/__init__.py @@ -0,0 +1,2 @@ +# This package contains code using async iteration added in Python 3.6. +# It cannot be imported on Python < 3.6 because it triggers syntax errors. diff --git a/venv/lib/python3.6/site-packages/websockets/py36/_test_client_server.py b/venv/lib/python3.6/site-packages/websockets/py36/_test_client_server.py new file mode 100644 index 0000000..e81fbd6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/py36/_test_client_server.py @@ -0,0 +1,107 @@ +# Tests containing Python 3.6+ syntax, extracted from test_client_server.py. + +import asyncio +import sys +import unittest + +from ..client import * +from ..exceptions import ConnectionClosed +from ..server import * +from ..test_client_server import get_server_uri + + +# Fail at import time, not just at run time, to prevent test +# discovery. +if sys.version_info[:2] < (3, 6): # pragma: no cover + raise ImportError("Python 3.6+ only") + + +MESSAGES = ['3', '2', '1', 'Fire!'] + + +class AsyncIteratorTests(unittest.TestCase): + + # This is a protocol-level feature, but since it's a high-level API, it is + # much easier to exercise at the client or server level. + + def setUp(self): + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + + def tearDown(self): + self.loop.close() + + def test_iterate_on_messages(self): + + async def handler(ws, path): + for message in MESSAGES: + await ws.send(message) + + start_server = serve(handler, 'localhost', 0) + server = self.loop.run_until_complete(start_server) + + messages = [] + + async def run_client(): + nonlocal messages + async with connect(get_server_uri(server)) as ws: + async for message in ws: + messages.append(message) + + self.loop.run_until_complete(run_client()) + + self.assertEqual(messages, MESSAGES) + + server.close() + self.loop.run_until_complete(server.wait_closed()) + + def test_iterate_on_messages_going_away_exit_ok(self): + + async def handler(ws, path): + for message in MESSAGES: + await ws.send(message) + await ws.close(1001) + + start_server = serve(handler, 'localhost', 0) + server = self.loop.run_until_complete(start_server) + + messages = [] + + async def run_client(): + nonlocal messages + async with connect(get_server_uri(server)) as ws: + async for message in ws: + messages.append(message) + + self.loop.run_until_complete(run_client()) + + self.assertEqual(messages, MESSAGES) + + server.close() + self.loop.run_until_complete(server.wait_closed()) + + def test_iterate_on_messages_internal_error_exit_not_ok(self): + + async def handler(ws, path): + for message in MESSAGES: + await ws.send(message) + await ws.close(1011) + + start_server = serve(handler, 'localhost', 0) + server = self.loop.run_until_complete(start_server) + + messages = [] + + async def run_client(): + nonlocal messages + async with connect(get_server_uri(server)) as ws: + async for message in ws: + messages.append(message) + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(run_client()) + + self.assertEqual(messages, MESSAGES) + + server.close() + self.loop.run_until_complete(server.wait_closed()) diff --git a/venv/lib/python3.6/site-packages/websockets/py36/protocol.py b/venv/lib/python3.6/site-packages/websockets/py36/protocol.py new file mode 100644 index 0000000..f0784de --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/py36/protocol.py @@ -0,0 +1,20 @@ +from ..exceptions import ConnectionClosed + + +async def __aiter__(self): + """ + Iterate on received messages. + + Exit normally when the connection is closed with code 1000. + + Raise an exception in other cases. + + """ + try: + while True: + yield await self.recv() + except ConnectionClosed as exc: + if exc.code == 1000 or exc.code == 1001: + return + else: + raise diff --git a/venv/lib/python3.6/site-packages/websockets/server.py b/venv/lib/python3.6/site-packages/websockets/server.py new file mode 100644 index 0000000..1204eab --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/server.py @@ -0,0 +1,779 @@ +""" +The :mod:`websockets.server` module defines a simple WebSocket server API. + +""" + +import asyncio +import collections.abc +import email.utils +import logging +import sys + +from .compatibility import ( + BAD_REQUEST, FORBIDDEN, INTERNAL_SERVER_ERROR, SERVICE_UNAVAILABLE, + SWITCHING_PROTOCOLS, UPGRADE_REQUIRED, asyncio_ensure_future +) +from .exceptions import ( + AbortHandshake, InvalidHandshake, InvalidMessage, InvalidOrigin, + InvalidUpgrade, NegotiationError +) +from .extensions.permessage_deflate import ServerPerMessageDeflateFactory +from .handshake import build_response, check_request +from .headers import ( + build_extension_list, parse_extension_list, parse_subprotocol_list +) +from .http import USER_AGENT, Headers, read_request +from .protocol import WebSocketCommonProtocol + + +__all__ = ['serve', 'unix_serve', 'WebSocketServerProtocol'] + +logger = logging.getLogger(__name__) + + +class WebSocketServerProtocol(WebSocketCommonProtocol): + """ + Complete WebSocket server implementation as an :class:`asyncio.Protocol`. + + This class inherits most of its methods from + :class:`~websockets.protocol.WebSocketCommonProtocol`. + + For the sake of simplicity, it doesn't rely on a full HTTP implementation. + Its support for HTTP responses is very limited. + + """ + is_client = False + side = 'server' + + def __init__(self, ws_handler, ws_server, *, + origins=None, extensions=None, subprotocols=None, + extra_headers=None, **kwds): + self.ws_handler = ws_handler + self.ws_server = ws_server + self.origins = origins + self.available_extensions = extensions + self.available_subprotocols = subprotocols + self.extra_headers = extra_headers + super().__init__(**kwds) + + def connection_made(self, transport): + """ + Register connection and initialize a task to handle it. + + """ + super().connection_made(transport) + # Register the connection with the server before creating the handler + # task. Registering at the beginning of the handler coroutine would + # create a race condition between the creation of the task, which + # schedules its execution, and the moment the handler starts running. + self.ws_server.register(self) + self.handler_task = asyncio_ensure_future( + self.handler(), loop=self.loop) + + @asyncio.coroutine + def handler(self): + """ + Handle the lifecycle of a WebSocket connection. + + Since this method doesn't have a caller able to handle exceptions, it + attemps to log relevant ones and close the connection properly. + + """ + try: + + try: + path = yield from self.handshake( + origins=self.origins, + available_extensions=self.available_extensions, + available_subprotocols=self.available_subprotocols, + extra_headers=self.extra_headers, + ) + except ConnectionError as exc: + logger.debug( + "Connection error in opening handshake", exc_info=True) + raise + except Exception as exc: + if self._is_server_shutting_down(exc): + status, headers, body = ( + SERVICE_UNAVAILABLE, + [], + b"Server is shutting down.\n", + ) + elif isinstance(exc, AbortHandshake): + status, headers, body = ( + exc.status, + exc.headers, + exc.body, + ) + elif isinstance(exc, InvalidOrigin): + logger.debug("Invalid origin", exc_info=True) + status, headers, body = ( + FORBIDDEN, + [], + (str(exc) + "\n").encode(), + ) + elif isinstance(exc, InvalidUpgrade): + logger.debug("Invalid upgrade", exc_info=True) + status, headers, body = ( + UPGRADE_REQUIRED, + [('Upgrade', 'websocket')], + (str(exc) + "\n").encode(), + ) + elif isinstance(exc, InvalidHandshake): + logger.debug("Invalid handshake", exc_info=True) + status, headers, body = ( + BAD_REQUEST, + [], + (str(exc) + "\n").encode(), + ) + else: + logger.warning("Error in opening handshake", exc_info=True) + status, headers, body = ( + INTERNAL_SERVER_ERROR, + [], + b"See server log for more information.\n", + ) + + if not isinstance(headers, Headers): + headers = Headers(headers) + + headers.setdefault('Date', email.utils.formatdate(usegmt=True)) + headers.setdefault('Server', USER_AGENT) + headers.setdefault('Content-Length', str(len(body))) + headers.setdefault('Content-Type', 'text/plain') + headers.setdefault('Connection', 'close') + + yield from self.write_http_response(status, headers, body) + yield from self.fail_connection() + + return + + try: + yield from self.ws_handler(self, path) + except Exception as exc: + if self._is_server_shutting_down(exc): + if not self.closed: + self.fail_connection(1001) + else: + logger.error("Error in connection handler", exc_info=True) + if not self.closed: + self.fail_connection(1011) + raise + + try: + yield from self.close() + except ConnectionError as exc: + logger.debug( + "Connection error in closing handshake", exc_info=True) + raise + except Exception as exc: + if not self._is_server_shutting_down(exc): + logger.warning("Error in closing handshake", exc_info=True) + raise + + except Exception: + # Last-ditch attempt to avoid leaking connections on errors. + try: + self.writer.close() + except Exception: # pragma: no cover + pass + + finally: + # Unregister the connection with the server when the handler task + # terminates. Registration is tied to the lifecycle of the handler + # task because the server waits for tasks attached to registered + # connections before terminating. + self.ws_server.unregister(self) + + def _is_server_shutting_down(self, exc): + """ + Decide whether an exception means that the server is shutting down. + + """ + return ( + isinstance(exc, asyncio.CancelledError) and + self.ws_server.closing + ) + + @asyncio.coroutine + def read_http_request(self): + """ + Read request line and headers from the HTTP request. + + Raise :exc:`~websockets.exceptions.InvalidMessage` if the HTTP message + is malformed or isn't an HTTP/1.1 GET request. + + Don't attempt to read the request body because WebSocket handshake + requests don't have one. If the request contains a body, it may be + read from ``self.reader`` after this coroutine returns. + + """ + try: + path, headers = yield from read_request(self.reader) + except ValueError as exc: + raise InvalidMessage("Malformed HTTP message") from exc + + self.path = path + self.request_headers = headers + + return path, self.request_headers + + @asyncio.coroutine + def write_http_response(self, status, headers, body=None): + """ + Write status line and headers to the HTTP response. + + This coroutine is also able to write a response body. + + """ + self.response_headers = headers + + # Since the status line and headers only contain ASCII characters, + # we can keep this simple. + response = 'HTTP/1.1 {status.value} {status.phrase}\r\n'.format( + status=status) + response += str(headers) + + self.writer.write(response.encode()) + + if body is not None: + self.writer.write(body) + + @asyncio.coroutine + def process_request(self, path, request_headers): + """ + Intercept the HTTP request and return an HTTP response if needed. + + ``request_headers`` is a :class:`~websockets.http.Headers` instance. + + If this coroutine returns ``None``, the WebSocket handshake continues. + If it returns a status code, headers and a response body, that HTTP + response is sent and the connection is closed. + + The HTTP status must be a :class:`~http.HTTPStatus`. + (:class:`~http.HTTPStatus` was added in Python 3.5. Use a compatible + object on earlier versions. Look at ``SWITCHING_PROTOCOLS`` in + ``websockets.compatibility`` for an example.) + + HTTP headers must be a :class:`~websockets.http.Headers` instance, a + :class:`~collections.abc.Mapping`, or an iterable of ``(name, value)`` + pairs. + + The HTTP response body must be :class:`bytes`. It may be empty. + + This method may be overridden to check the request headers and set a + different status, for example to authenticate the request and return + ``HTTPStatus.UNAUTHORIZED`` or ``HTTPStatus.FORBIDDEN``. + + It is declared as a coroutine because such authentication checks are + likely to require network requests. + + """ + + @staticmethod + def process_origin(headers, origins=None): + """ + Handle the Origin HTTP request header. + + Raise :exc:`~websockets.exceptions.InvalidOrigin` if the origin isn't + acceptable. + + """ + origin = headers.get('Origin', '') + if origins is not None: + if origin not in origins: + raise InvalidOrigin(origin) + return origin + + @staticmethod + def process_extensions(headers, available_extensions): + """ + Handle the Sec-WebSocket-Extensions HTTP request header. + + Accept or reject each extension proposed in the client request. + Negotiate parameters for accepted extensions. + + Return the Sec-WebSocket-Extensions HTTP response header and the list + of accepted extensions. + + Raise :exc:`~websockets.exceptions.InvalidHandshake` to abort the + handshake with an HTTP 400 error code. (The default implementation + never does this.) + + :rfc:`6455` leaves the rules up to the specification of each + :extension. + + To provide this level of flexibility, for each extension proposed by + the client, we check for a match with each extension available in the + server configuration. If no match is found, the extension is ignored. + + If several variants of the same extension are proposed by the client, + it may be accepted severel times, which won't make sense in general. + Extensions must implement their own requirements. For this purpose, + the list of previously accepted extensions is provided. + + This process doesn't allow the server to reorder extensions. It can + only select a subset of the extensions proposed by the client. + + Other requirements, for example related to mandatory extensions or the + order of extensions, may be implemented by overriding this method. + + """ + response_header = [] + accepted_extensions = [] + + header_values = headers.get_all('Sec-WebSocket-Extensions') + + if header_values and available_extensions: + + parsed_header_values = sum([ + parse_extension_list(header_value) + for header_value in header_values + ], []) + + for name, request_params in parsed_header_values: + + for extension_factory in available_extensions: + + # Skip non-matching extensions based on their name. + if extension_factory.name != name: + continue + + # Skip non-matching extensions based on their params. + try: + response_params, extension = ( + extension_factory.process_request_params( + request_params, accepted_extensions)) + except NegotiationError: + continue + + # Add matching extension to the final list. + response_header.append((name, response_params)) + accepted_extensions.append(extension) + + # Break out of the loop once we have a match. + break + + # If we didn't break from the loop, no extension in our list + # matched what the client sent. The extension is declined. + + # Serialize extension header. + if response_header: + response_header = build_extension_list(response_header) + else: + response_header = None + + return response_header, accepted_extensions + + # Not @staticmethod because it calls self.select_subprotocol() + def process_subprotocol(self, headers, available_subprotocols): + """ + Handle the Sec-WebSocket-Protocol HTTP request header. + + Return Sec-WebSocket-Protocol HTTP response header, which is the same + as the selected subprotocol. + + """ + subprotocol = None + + header_values = headers.get_all('Sec-WebSocket-Protocol') + + if header_values and available_subprotocols: + + parsed_header_values = sum([ + parse_subprotocol_list(header_value) + for header_value in header_values + ], []) + + subprotocol = self.select_subprotocol( + parsed_header_values, + available_subprotocols, + ) + + return subprotocol + + @staticmethod + def select_subprotocol(client_subprotocols, server_subprotocols): + """ + Pick a subprotocol among those offered by the client. + + If several subprotocols are supported by the client and the server, + the default implementation selects the preferred subprotocols by + giving equal value to the priorities of the client and the server. + + If no subprotocols are supported by the client and the server, it + proceeds without a subprotocol. + + This is unlikely to be the most useful implementation in practice, as + many servers providing a subprotocol will require that the client uses + that subprotocol. Such rules can be implemented in a subclass. + + """ + subprotocols = set(client_subprotocols) & set(server_subprotocols) + if not subprotocols: + return None + priority = lambda p: ( + client_subprotocols.index(p) + server_subprotocols.index(p)) + return sorted(subprotocols, key=priority)[0] + + @asyncio.coroutine + def handshake(self, origins=None, available_extensions=None, + available_subprotocols=None, extra_headers=None): + """ + Perform the server side of the opening handshake. + + If provided, ``origins`` is a list of acceptable HTTP Origin values. + Include ``''`` if the lack of an origin is acceptable. + + If provided, ``available_extensions`` is a list of supported + extensions in the order in which they should be used. + + If provided, ``available_subprotocols`` is a list of supported + subprotocols in order of decreasing preference. + + If provided, ``extra_headers`` sets additional HTTP response headers. + It can be a :class:`~websockets.http.Headers` instance, a + :class:`~collections.abc.Mapping`, an iterable of ``(name, value)`` + pairs, or a callable taking the request path and headers in arguments + and returning one of the above. + + Raise :exc:`~websockets.exceptions.InvalidHandshake` if the handshake + fails. + + Return the path of the URI of the request. + + """ + path, request_headers = yield from self.read_http_request() + + # Hook for customizing request handling, for example checking + # authentication or treating some paths as plain HTTP endpoints. + + early_response = yield from self.process_request(path, request_headers) + if early_response is not None: + raise AbortHandshake(*early_response) + + key = check_request(request_headers) + + self.origin = self.process_origin(request_headers, origins) + + extensions_header, self.extensions = self.process_extensions( + request_headers, available_extensions) + + protocol_header = self.subprotocol = self.process_subprotocol( + request_headers, available_subprotocols) + + response_headers = Headers() + response_headers['Date'] = email.utils.formatdate(usegmt=True) + + build_response(response_headers, key) + + if extensions_header is not None: + response_headers['Sec-WebSocket-Extensions'] = extensions_header + + if self.subprotocol is not None: + response_headers['Sec-WebSocket-Protocol'] = protocol_header + + if extra_headers is not None: + if callable(extra_headers): + extra_headers = extra_headers(path, self.request_headers) + if isinstance(extra_headers, Headers): + extra_headers = extra_headers.raw_items() + elif isinstance(extra_headers, collections.abc.Mapping): + extra_headers = extra_headers.items() + for name, value in extra_headers: + response_headers[name] = value + + response_headers.setdefault('Server', USER_AGENT) + + yield from self.write_http_response( + SWITCHING_PROTOCOLS, response_headers) + + self.connection_open() + + return path + + +class WebSocketServer: + """ + Wrapper for :class:`~asyncio.Server` that closes connections on exit. + + This class provides the return type of :func:`~websockets.server.serve`. + + It mimics the interface of :class:`~asyncio.AbstractServer`, namely its + :meth:`~asyncio.AbstractServer.close()` and + :meth:`~asyncio.AbstractServer.wait_closed()` methods, to close WebSocket + connections properly on exit, in addition to closing the underlying + :class:`~asyncio.Server`. + + Instances of this class store a reference to the :class:`~asyncio.Server` + object returned by :meth:`~asyncio.AbstractEventLoop.create_server` rather + than inherit from :class:`~asyncio.Server` in part because + :meth:`~asyncio.AbstractEventLoop.create_server` doesn't support passing a + custom :class:`~asyncio.Server` class. + + """ + def __init__(self, loop): + # Store a reference to loop to avoid relying on self.server._loop. + self.loop = loop + + self.closing = False + self.websockets = set() + + def wrap(self, server): + """ + Attach to a given :class:`~asyncio.Server`. + + Since :meth:`~asyncio.AbstractEventLoop.create_server` doesn't support + injecting a custom ``Server`` class, the easiest solution that doesn't + rely on private :mod:`asyncio` APIs is to: + + - instantiate a :class:`WebSocketServer` + - give the protocol factory a reference to that instance + - call :meth:`~asyncio.AbstractEventLoop.create_server` with the + factory + - attach the resulting :class:`~asyncio.Server` with this method + + """ + self.server = server + + def register(self, protocol): + """ + Register a connection with this server. + + """ + self.websockets.add(protocol) + + def unregister(self, protocol): + """ + Unregister a connection with this server. + + """ + self.websockets.remove(protocol) + + def close(self): + """ + Close the underlying server, and clean up connections. + + This calls :meth:`~asyncio.Server.close` on the underlying + :class:`~asyncio.Server` object, closes open connections with + status code 1001, and stops accepting new connections. + + """ + # Make a note that the server is shutting down. Websocket connections + # check this attribute to decide to send a "going away" close code. + self.closing = True + + # Stop accepting new connections. + self.server.close() + + # Close open connections. For each connection, two tasks are running: + # 1. self.transfer_data_task receives incoming WebSocket messages + # 2. self.handler_task runs the opening handshake, the handler provided + # by the user and the closing handshake + # In the general case, cancelling the handler task will cause the + # handler provided by the user to exit with a CancelledError, which + # will then cause the transfer data task to terminate. + for websocket in self.websockets: + websocket.handler_task.cancel() + + @asyncio.coroutine + def wait_closed(self): + """ + Wait until the underlying server and all connections are closed. + + This calls :meth:`~asyncio.Server.wait_closed` on the underlying + :class:`~asyncio.Server` object and waits until closing handshakes + are complete and all connections are closed. + + This method must be called after :meth:`close()`. + + """ + # asyncio.wait doesn't accept an empty first argument. + if self.websockets: + # Either the handler or the connection can terminate first, + # depending on how the client behaves and the server is + # implemented. + yield from asyncio.wait( + [websocket.handler_task for websocket in self.websockets] + + [websocket.close_connection_task + for websocket in self.websockets], + loop=self.loop) + yield from self.server.wait_closed() + + @property + def sockets(self): + """ + List of :class:`~socket.socket` objects the server is listening to. + + ``None`` if the server is closed. + + """ + return self.server.sockets + + +class Serve: + """ + Create, start, and return a :class:`WebSocketServer`. + + :func:`serve` returns an awaitable. Awaiting it yields an instance of + :class:`WebSocketServer` which provides + :meth:`~websockets.server.WebSocketServer.close` and + :meth:`~websockets.server.WebSocketServer.wait_closed` methods for + terminating the server and cleaning up its resources. + + On Python ≥ 3.5, :func:`serve` can also be used as an asynchronous context + manager. In this case, the server is shut down when exiting the context. + + :func:`serve` is a wrapper around the event loop's + :meth:`~asyncio.AbstractEventLoop.create_server` method. Internally, it + creates and starts a :class:`~asyncio.Server` object by calling + :meth:`~asyncio.AbstractEventLoop.create_server`. The + :class:`WebSocketServer` it returns keeps a reference to this object. + + The ``ws_handler`` argument is the WebSocket handler. It must be a + coroutine accepting two arguments: a :class:`WebSocketServerProtocol` and + the request URI. + + The ``host`` and ``port`` arguments, as well as unrecognized keyword + arguments, are passed along to + :meth:`~asyncio.AbstractEventLoop.create_server`. For example, you can set + the ``ssl`` keyword argument to a :class:`~ssl.SSLContext` to enable TLS. + + The ``create_protocol`` parameter allows customizing the asyncio protocol + that manages the connection. It should be a callable or class accepting + the same arguments as :class:`WebSocketServerProtocol` and returning a + :class:`WebSocketServerProtocol` instance. It defaults to + :class:`WebSocketServerProtocol`. + + The behavior of the ``timeout``, ``max_size``, and ``max_queue``, + ``read_limit``, and ``write_limit`` optional arguments is described in the + documentation of :class:`~websockets.protocol.WebSocketCommonProtocol`. + + :func:`serve` also accepts the following optional arguments: + + * ``origins`` defines acceptable Origin HTTP headers — include ``''`` if + the lack of an origin is acceptable + * ``extensions`` is a list of supported extensions in order of + decreasing preference + * ``subprotocols`` is a list of supported subprotocols in order of + decreasing preference + * ``extra_headers`` sets additional HTTP response headers — it can be a + :class:`~websockets.http.Headers` instance, a + :class:`~collections.abc.Mapping`, an iterable of ``(name, value)`` + pairs, or a callable taking the request path and headers in arguments + and returning one of the above. + * ``compression`` is a shortcut to configure compression extensions; + by default it enables the "permessage-deflate" extension; set it to + ``None`` to disable compression + + Whenever a client connects, the server accepts the connection, creates a + :class:`WebSocketServerProtocol`, performs the opening handshake, and + delegates to the WebSocket handler. Once the handler completes, the server + performs the closing handshake and closes the connection. + + When a server is closed with + :meth:`~websockets.server.WebSocketServer.close`, all running WebSocket + handlers are cancelled. They may intercept :exc:`~asyncio.CancelledError` + and perform cleanup actions before re-raising that exception. If a handler + started new tasks, it should cancel them as well in that case. + + Since there's no useful way to propagate exceptions triggered in handlers, + they're sent to the ``'websockets.server'`` logger instead. Debugging is + much easier if you configure logging to print them:: + + import logging + logger = logging.getLogger('websockets.server') + logger.setLevel(logging.ERROR) + logger.addHandler(logging.StreamHandler()) + + """ + + def __init__(self, ws_handler, host=None, port=None, *, + path=None, create_protocol=None, + timeout=10, max_size=2 ** 20, max_queue=2 ** 5, + read_limit=2 ** 16, write_limit=2 ** 16, + loop=None, legacy_recv=False, klass=None, + origins=None, extensions=None, subprotocols=None, + extra_headers=None, compression='deflate', **kwds): + # Backwards-compatibility: create_protocol used to be called klass. + # In the unlikely event that both are specified, klass is ignored. + if create_protocol is None: + create_protocol = klass + + if create_protocol is None: + create_protocol = WebSocketServerProtocol + + if loop is None: + loop = asyncio.get_event_loop() + + ws_server = WebSocketServer(loop) + + secure = kwds.get('ssl') is not None + + if compression == 'deflate': + if extensions is None: + extensions = [] + if not any( + extension_factory.name == ServerPerMessageDeflateFactory.name + for extension_factory in extensions + ): + extensions.append(ServerPerMessageDeflateFactory()) + elif compression is not None: + raise ValueError("Unsupported compression: {}".format(compression)) + + factory = lambda: create_protocol( + ws_handler, ws_server, + host=host, port=port, secure=secure, + timeout=timeout, max_size=max_size, max_queue=max_queue, + read_limit=read_limit, write_limit=write_limit, + loop=loop, legacy_recv=legacy_recv, + origins=origins, extensions=extensions, subprotocols=subprotocols, + extra_headers=extra_headers, + ) + + if path is None: + creating_server = loop.create_server(factory, host, port, **kwds) + else: + creating_server = loop.create_unix_server(factory, path, **kwds) + + # This is a coroutine object. + self._creating_server = creating_server + self.ws_server = ws_server + + @asyncio.coroutine + def __iter__(self): # pragma: no cover + server = yield from self._creating_server + self.ws_server.wrap(server) + return self.ws_server + + +def unix_serve(ws_handler, path, **kwargs): + """ + Similar to :func:`serve()`, but for listening on Unix sockets. + + This function calls the event loop's + :meth:`~asyncio.AbstractEventLoop.create_unix_server` method. + + It is only available on Unix. + + It's useful for deploying a server behind a reverse proxy such as nginx. + + """ + return serve(ws_handler, path=path, **kwargs) + + +# We can't define __await__ on Python < 3.5.1 because asyncio.ensure_future +# didn't accept arbitrary awaitables until Python 3.5.1. We don't define +# __aenter__ and __aexit__ either on Python < 3.5.1 to keep things simple. +if sys.version_info[:3] <= (3, 5, 0): # pragma: no cover + @asyncio.coroutine + def serve(*args, **kwds): + return Serve(*args, **kwds).__iter__() + serve.__doc__ = Serve.__doc__ + +else: + from .py35.server import __aenter__, __aexit__, __await__ + Serve.__aenter__ = __aenter__ + Serve.__aexit__ = __aexit__ + Serve.__await__ = __await__ + serve = Serve diff --git a/venv/lib/python3.6/site-packages/websockets/speedups.c b/venv/lib/python3.6/site-packages/websockets/speedups.c new file mode 100644 index 0000000..4d76222 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/speedups.c @@ -0,0 +1,130 @@ +/* C implementation of performance sensitive functions. */ + +#define PY_SSIZE_T_CLEAN +#include <Python.h> +#include <stdint.h> /* uint32_t, uint64_t */ + +#if __SSE2__ +#include <emmintrin.h> +#endif + +static const Py_ssize_t MASK_LEN = 4; + +static PyObject * +apply_mask(PyObject *self, PyObject *args, PyObject *kwds) +{ + + // Inputs are treated as immutable, which causes an extra memory copy. + + static char *kwlist[] = {"data", "mask", NULL}; + const char *input; + Py_ssize_t input_len; + const char *mask; + Py_ssize_t mask_len; + + // Initialize a PyBytesObject then get a pointer to the underlying char * + // in order to avoid an extra memory copy in PyBytes_FromStringAndSize. + + PyObject *result; + char *output; + Py_ssize_t i = 0; + + if (!PyArg_ParseTupleAndKeywords( + args, kwds, "y#y#", kwlist, &input, &input_len, &mask, &mask_len)) + { + return NULL; + } + + if (mask_len != MASK_LEN) + { + PyErr_SetString(PyExc_ValueError, "mask must contain 4 bytes"); + return NULL; + } + + result = PyBytes_FromStringAndSize(NULL, input_len); + if (result == NULL) + { + return NULL; + } + + // Since we juste created result, we don't need error checks. + output = PyBytes_AS_STRING(result); + + // Apparently GCC cannot figure out the following optimizations by itself. + + // We need a new scope for MSVC 2010 (non C99 friendly) + { +#if __SSE2__ + + // With SSE2 support, XOR by blocks of 16 bytes = 128 bits. + + // Since we cannot control the 16-bytes alignment of input and output + // buffers, we rely on loadu/storeu rather than load/store. + + Py_ssize_t input_len_128 = input_len & ~15; + __m128i mask_128 = _mm_set1_epi32(*(uint32_t *)mask); + + for (; i < input_len_128; i += 16) + { + __m128i in_128 = _mm_loadu_si128((__m128i *)(input + i)); + __m128i out_128 = _mm_xor_si128(in_128, mask_128); + _mm_storeu_si128((__m128i *)(output + i), out_128); + } + +#else + + // Without SSE2 support, XOR by blocks of 8 bytes = 64 bits. + + // We assume the memory allocator aligns everything on 8 bytes boundaries. + + Py_ssize_t input_len_64 = input_len & ~7; + uint32_t mask_32 = *(uint32_t *)mask; + uint64_t mask_64 = ((uint64_t)mask_32 << 32) | (uint64_t)mask_32; + + for (; i < input_len_64; i += 8) + { + *(uint64_t *)(output + i) = *(uint64_t *)(input + i) ^ mask_64; + } + +#endif + } + + // XOR the remainder of the input byte by byte. + + for (; i < input_len; i++) + { + output[i] = input[i] ^ mask[i & (MASK_LEN - 1)]; + } + + return result; + +} + +static PyMethodDef speedups_methods[] = { + { + "apply_mask", + (PyCFunction)apply_mask, + METH_VARARGS | METH_KEYWORDS, + "Apply masking to websocket message.", + }, + {NULL, NULL, 0, NULL}, /* Sentinel */ +}; + +static struct PyModuleDef speedups_module = { + PyModuleDef_HEAD_INIT, + "websocket.speedups", /* m_name */ + "C implementation of performance sensitive functions.", + /* m_doc */ + -1, /* m_size */ + speedups_methods, /* m_methods */ + NULL, + NULL, + NULL, + NULL +}; + +PyMODINIT_FUNC +PyInit_speedups(void) +{ + return PyModule_Create(&speedups_module); +} diff --git a/venv/lib/python3.6/site-packages/websockets/speedups.cpython-36m-x86_64-linux-gnu.so b/venv/lib/python3.6/site-packages/websockets/speedups.cpython-36m-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..eb1304e7efe1887899d548ce31f1c664ec0b4bf4 GIT binary patch literal 20223 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 F{eP+VzeoT8 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/websockets/test_client_server.py b/venv/lib/python3.6/site-packages/websockets/test_client_server.py new file mode 100644 index 0000000..7111f04 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/test_client_server.py @@ -0,0 +1,1114 @@ +import asyncio +import contextlib +import functools +import logging +import pathlib +import random +import socket +import ssl +import sys +import tempfile +import unittest +import unittest.mock +import urllib.error +import urllib.request + +from .client import * +from .compatibility import FORBIDDEN, OK, UNAUTHORIZED +from .exceptions import ( + ConnectionClosed, InvalidHandshake, InvalidStatusCode, NegotiationError +) +from .extensions.permessage_deflate import ( + ClientPerMessageDeflateFactory, PerMessageDeflate, + ServerPerMessageDeflateFactory +) +from .handshake import build_response +from .http import USER_AGENT, Headers, read_response +from .protocol import State +from .server import * +from .test_protocol import MS + + +# Avoid displaying stack traces at the ERROR logging level. +logging.basicConfig(level=logging.CRITICAL) + + +# Generate TLS certificate with: +# $ openssl req -x509 -config test_localhost.cnf -days 15340 -newkey rsa:2048 \ +# -out test_localhost.crt -keyout test_localhost.key +# $ cat test_localhost.key test_localhost.crt > test_localhost.pem +# $ rm test_localhost.key test_localhost.crt + +testcert = bytes(pathlib.Path(__file__).with_name('test_localhost.pem')) + + +@asyncio.coroutine +def handler(ws, path): + if path == '/attributes': + yield from ws.send(repr((ws.host, ws.port, ws.secure))) + elif path == '/path': + yield from ws.send(str(ws.path)) + elif path == '/headers': + yield from ws.send(repr(ws.request_headers)) + yield from ws.send(repr(ws.response_headers)) + elif path == '/extensions': + yield from ws.send(repr(ws.extensions)) + elif path == '/subprotocol': + yield from ws.send(repr(ws.subprotocol)) + elif path == '/slow_stop': + try: + yield from asyncio.sleep(1000 * MS) + except asyncio.CancelledError: + yield from asyncio.sleep(MS) + raise + else: + yield from ws.send((yield from ws.recv())) + + +@contextlib.contextmanager +def temp_test_server(test, **kwds): + test.start_server(**kwds) + try: + yield + finally: + test.stop_server() + + +@contextlib.contextmanager +def temp_test_client(test, *args, **kwds): + test.start_client(*args, **kwds) + try: + yield + finally: + test.stop_client() + + +def with_manager(manager, *args, **kwds): + """ + Return a decorator that wraps a function with a context manager. + + """ + def decorate(func): + @functools.wraps(func) + def _decorate(self, *_args, **_kwds): + with manager(self, *args, **kwds): + return func(self, *_args, **_kwds) + + return _decorate + + return decorate + + +def with_server(**kwds): + """ + Return a decorator for TestCase methods that starts and stops a server. + + """ + return with_manager(temp_test_server, **kwds) + + +def with_client(*args, **kwds): + """ + Return a decorator for TestCase methods that starts and stops a client. + + """ + return with_manager(temp_test_client, *args, **kwds) + + +def get_server_uri(server, secure=False, resource_name='/', user_info=None): + """ + Return a WebSocket URI for connecting to the given server. + + """ + proto = 'wss' if secure else 'ws' + + user_info = ':'.join(user_info) + '@' if user_info else '' + + # Pick a random socket in order to test both IPv4 and IPv6 on systems + # where both are available. Randomizing tests is usually a bad idea. If + # needed, either use the first socket, or test separately IPv4 and IPv6. + server_socket = random.choice(server.sockets) + + if server_socket.family == socket.AF_INET6: # pragma: no cover + host, port = server_socket.getsockname()[:2] # (no IPv6 on CI) + host = '[{}]'.format(host) + elif server_socket.family == socket.AF_INET: + host, port = server_socket.getsockname() + elif server_socket.family == socket.AF_UNIX: + # The host and port are ignored when connecting to a Unix socket. + host, port = 'localhost', 0 + else: # pragma: no cover + raise ValueError("Expected an IPv6, IPv4, or Unix socket") + + return '{}://{}{}:{}{}'.format(proto, user_info, host, port, resource_name) + + +class UnauthorizedServerProtocol(WebSocketServerProtocol): + + @asyncio.coroutine + def process_request(self, path, request_headers): + # Test returning headers as a Headers instance (1/3) + return UNAUTHORIZED, Headers([('X-Access', 'denied')]), b'' + + +class ForbiddenServerProtocol(WebSocketServerProtocol): + + @asyncio.coroutine + def process_request(self, path, request_headers): + # Test returning headers as a dict (2/3) + return FORBIDDEN, {'X-Access': 'denied'}, b'' + + +class HealthCheckServerProtocol(WebSocketServerProtocol): + + @asyncio.coroutine + def process_request(self, path, request_headers): + # Test returning headers as a list of pairs (3/3) + if path == '/__health__/': + return OK, [('X-Access', 'OK')], b'status = green\n' + + +class FooClientProtocol(WebSocketClientProtocol): + pass + + +class BarClientProtocol(WebSocketClientProtocol): + pass + + +class ClientNoOpExtensionFactory: + name = 'x-no-op' + + def get_request_params(self): + return [] + + def process_response_params(self, params, accepted_extensions): + if params: + raise NegotiationError() + return NoOpExtension() + + +class ServerNoOpExtensionFactory: + name = 'x-no-op' + + def __init__(self, params=None): + self.params = params or [] + + def process_request_params(self, params, accepted_extensions): + return self.params, NoOpExtension() + + +class NoOpExtension: + name = 'x-no-op' + + def __repr__(self): + return 'NoOpExtension()' + + def decode(self, frame, *, max_size=None): + return frame + + def encode(self, frame): + return frame + + +class ClientServerTests(unittest.TestCase): + + secure = False + + def setUp(self): + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + + def tearDown(self): + self.loop.close() + + def run_loop_once(self): + # Process callbacks scheduled with call_soon by appending a callback + # to stop the event loop then running it until it hits that callback. + self.loop.call_soon(self.loop.stop) + self.loop.run_forever() + + def start_server(self, **kwds): + # Don't enable compression by default in tests. + kwds.setdefault('compression', None) + start_server = serve(handler, 'localhost', 0, **kwds) + self.server = self.loop.run_until_complete(start_server) + + def start_client(self, resource_name='/', user_info=None, **kwds): + # Don't enable compression by default in tests. + kwds.setdefault('compression', None) + secure = kwds.get('ssl') is not None + server_uri = get_server_uri( + self.server, secure, resource_name, user_info) + start_client = connect(server_uri, **kwds) + self.client = self.loop.run_until_complete(start_client) + + def stop_client(self): + try: + self.loop.run_until_complete( + asyncio.wait_for(self.client.close_connection_task, timeout=1)) + except asyncio.TimeoutError: # pragma: no cover + self.fail("Client failed to stop") + + def stop_server(self): + self.server.close() + try: + self.loop.run_until_complete( + asyncio.wait_for(self.server.wait_closed(), timeout=1)) + except asyncio.TimeoutError: # pragma: no cover + self.fail("Server failed to stop") + + @contextlib.contextmanager + def temp_server(self, **kwds): + with temp_test_server(self, **kwds): + yield + + @contextlib.contextmanager + def temp_client(self, *args, **kwds): + with temp_test_client(self, *args, **kwds): + yield + + @with_server() + @with_client() + def test_basic(self): + self.loop.run_until_complete(self.client.send("Hello!")) + reply = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(reply, "Hello!") + + def test_server_close_while_client_connected(self): + with self.temp_server(loop=self.loop): + # This endpoint waits just a bit when the connection is cancelled + # in order to test that wait_closed() really waits for completion. + self.start_client('/slow_stop') + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.client.recv()) + # Connection ends with 1001 going away. + self.assertEqual(self.client.close_code, 1001) + + def test_explicit_event_loop(self): + with self.temp_server(loop=self.loop): + with self.temp_client(loop=self.loop): + self.loop.run_until_complete(self.client.send("Hello!")) + reply = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(reply, "Hello!") + + # The way the legacy SSL implementation wraps sockets makes it extremely + # hard to write a test for Python 3.4. + @unittest.skipIf( + sys.version_info[:2] <= (3, 4), 'this test requires Python 3.5+') + @with_server() + def test_explicit_socket(self): + + class TrackedSocket(socket.socket): + def __init__(self, *args, **kwargs): + self.used_for_read = False + self.used_for_write = False + super().__init__(*args, **kwargs) + + def recv(self, *args, **kwargs): + self.used_for_read = True + return super().recv(*args, **kwargs) + + def send(self, *args, **kwargs): + self.used_for_write = True + return super().send(*args, **kwargs) + + server_socket = [ + s for s in self.server.sockets if s.family == socket.AF_INET][0] + client_socket = TrackedSocket(socket.AF_INET, socket.SOCK_STREAM) + client_socket.connect(server_socket.getsockname()) + + try: + self.assertFalse(client_socket.used_for_read) + self.assertFalse(client_socket.used_for_write) + + with self.temp_client( + sock=client_socket, + # "You must set server_hostname when using ssl without a host" + server_hostname='localhost' if self.secure else None, + ): + self.loop.run_until_complete(self.client.send("Hello!")) + reply = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(reply, "Hello!") + + self.assertTrue(client_socket.used_for_read) + self.assertTrue(client_socket.used_for_write) + + finally: + client_socket.close() + + @unittest.skipUnless( + hasattr(socket, 'AF_UNIX'), 'this test requires Unix sockets') + def test_unix_socket(self): + with tempfile.TemporaryDirectory() as temp_dir: + path = bytes(pathlib.Path(temp_dir) / 'websockets') + + # Like self.start_server() but with unix_serve(). + unix_server = unix_serve(handler, path) + self.server = self.loop.run_until_complete(unix_server) + + client_socket = socket.socket(socket.AF_UNIX) + client_socket.connect(path) + + try: + with self.temp_client(sock=client_socket): + self.loop.run_until_complete(self.client.send("Hello!")) + reply = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(reply, "Hello!") + + finally: + client_socket.close() + self.stop_server() + + @with_server() + @with_client('/attributes') + def test_protocol_attributes(self): + # The test could be connecting with IPv6 or IPv4. + expected_client_attrs = [ + server_socket.getsockname()[:2] + (self.secure,) + for server_socket in self.server.sockets + ] + client_attrs = (self.client.host, self.client.port, self.client.secure) + self.assertIn(client_attrs, expected_client_attrs) + + expected_server_attrs = ('localhost', 0, self.secure) + server_attrs = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_attrs, repr(expected_server_attrs)) + + @with_server() + @with_client('/path') + def test_protocol_path(self): + client_path = self.client.path + self.assertEqual(client_path, '/path') + server_path = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_path, '/path') + + @with_server() + @with_client('/headers', user_info=('user', 'pass')) + def test_protocol_basic_auth(self): + self.assertEqual( + self.client.request_headers['Authorization'], + 'Basic dXNlcjpwYXNz', + ) + + @with_server() + @with_client('/headers') + def test_protocol_headers(self): + client_req = self.client.request_headers + client_resp = self.client.response_headers + self.assertEqual(client_req['User-Agent'], USER_AGENT) + self.assertEqual(client_resp['Server'], USER_AGENT) + server_req = self.loop.run_until_complete(self.client.recv()) + server_resp = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_req, repr(client_req)) + self.assertEqual(server_resp, repr(client_resp)) + + @with_server() + @with_client('/headers', extra_headers=Headers({'X-Spam': 'Eggs'})) + def test_protocol_custom_request_headers(self): + req_headers = self.loop.run_until_complete(self.client.recv()) + self.loop.run_until_complete(self.client.recv()) + self.assertIn("('X-Spam', 'Eggs')", req_headers) + + @with_server() + @with_client('/headers', extra_headers={'X-Spam': 'Eggs'}) + def test_protocol_custom_request_headers_dict(self): + req_headers = self.loop.run_until_complete(self.client.recv()) + self.loop.run_until_complete(self.client.recv()) + self.assertIn("('X-Spam', 'Eggs')", req_headers) + + @with_server() + @with_client('/headers', extra_headers=[('X-Spam', 'Eggs')]) + def test_protocol_custom_request_headers_list(self): + req_headers = self.loop.run_until_complete(self.client.recv()) + self.loop.run_until_complete(self.client.recv()) + self.assertIn("('X-Spam', 'Eggs')", req_headers) + + @with_server() + @with_client('/headers', extra_headers=[('User-Agent', 'Eggs')]) + def test_protocol_custom_request_user_agent(self): + req_headers = self.loop.run_until_complete(self.client.recv()) + self.loop.run_until_complete(self.client.recv()) + self.assertEqual(req_headers.count("User-Agent"), 1) + self.assertIn("('User-Agent', 'Eggs')", req_headers) + + @with_server(extra_headers=lambda p, r: Headers({'X-Spam': 'Eggs'})) + @with_client('/headers') + def test_protocol_custom_response_headers_callable(self): + self.loop.run_until_complete(self.client.recv()) + resp_headers = self.loop.run_until_complete(self.client.recv()) + self.assertIn("('X-Spam', 'Eggs')", resp_headers) + + @with_server(extra_headers=lambda p, r: {'X-Spam': 'Eggs'}) + @with_client('/headers') + def test_protocol_custom_response_headers_callable_dict(self): + self.loop.run_until_complete(self.client.recv()) + resp_headers = self.loop.run_until_complete(self.client.recv()) + self.assertIn("('X-Spam', 'Eggs')", resp_headers) + + @with_server(extra_headers=lambda p, r: [('X-Spam', 'Eggs')]) + @with_client('/headers') + def test_protocol_custom_response_headers_callable_list(self): + self.loop.run_until_complete(self.client.recv()) + resp_headers = self.loop.run_until_complete(self.client.recv()) + self.assertIn("('X-Spam', 'Eggs')", resp_headers) + + @with_server(extra_headers=Headers({'X-Spam': 'Eggs'})) + @with_client('/headers') + def test_protocol_custom_response_headers(self): + self.loop.run_until_complete(self.client.recv()) + resp_headers = self.loop.run_until_complete(self.client.recv()) + self.assertIn("('X-Spam', 'Eggs')", resp_headers) + + @with_server(extra_headers={'X-Spam': 'Eggs'}) + @with_client('/headers') + def test_protocol_custom_response_headers_dict(self): + self.loop.run_until_complete(self.client.recv()) + resp_headers = self.loop.run_until_complete(self.client.recv()) + self.assertIn("('X-Spam', 'Eggs')", resp_headers) + + @with_server(extra_headers=[('X-Spam', 'Eggs')]) + @with_client('/headers') + def test_protocol_custom_response_headers_list(self): + self.loop.run_until_complete(self.client.recv()) + resp_headers = self.loop.run_until_complete(self.client.recv()) + self.assertIn("('X-Spam', 'Eggs')", resp_headers) + + @with_server(extra_headers=[('Server', 'Eggs')]) + @with_client('/headers') + def test_protocol_custom_response_user_agent(self): + self.loop.run_until_complete(self.client.recv()) + resp_headers = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(resp_headers.count("Server"), 1) + self.assertIn("('Server', 'Eggs')", resp_headers) + + def make_http_request(self, path='/'): + # Set url to 'https?://<host>:<port><path>'. + url = get_server_uri( + self.server, resource_name=path, secure=self.secure) + url = url.replace('ws', 'http') + + if self.secure: + open_health_check = functools.partial( + urllib.request.urlopen, url, context=self.client_context) + else: + open_health_check = functools.partial( + urllib.request.urlopen, url) + + return self.loop.run_in_executor(None, open_health_check) + + @with_server(create_protocol=HealthCheckServerProtocol) + def test_http_request_http_endpoint(self): + # Making a HTTP request to a HTTP endpoint succeeds. + response = self.loop.run_until_complete( + self.make_http_request('/__health__/')) + + with contextlib.closing(response): + self.assertEqual(response.code, 200) + self.assertEqual(response.read(), b'status = green\n') + + @with_server(create_protocol=HealthCheckServerProtocol) + def test_http_request_ws_endpoint(self): + # Making a HTTP request to a WS endpoint fails. + with self.assertRaises(urllib.error.HTTPError) as raised: + self.loop.run_until_complete(self.make_http_request()) + + self.assertEqual(raised.exception.code, 426) + self.assertEqual(raised.exception.headers['Upgrade'], 'websocket') + + @with_server(create_protocol=HealthCheckServerProtocol) + def test_ws_connection_http_endpoint(self): + # Making a WS connection to a HTTP endpoint fails. + with self.assertRaises(InvalidStatusCode) as raised: + self.start_client('/__health__/') + + self.assertEqual(raised.exception.status_code, 200) + + @with_server(create_protocol=HealthCheckServerProtocol) + def test_ws_connection_ws_endpoint(self): + # Making a WS connection to a WS endpoint succeeds. + self.start_client() + self.loop.run_until_complete(self.client.send("Hello!")) + self.loop.run_until_complete(self.client.recv()) + self.stop_client() + + def assert_client_raises_code(self, status_code): + with self.assertRaises(InvalidStatusCode) as raised: + self.start_client() + self.assertEqual(raised.exception.status_code, status_code) + + @with_server(create_protocol=UnauthorizedServerProtocol) + def test_server_create_protocol(self): + self.assert_client_raises_code(401) + + @with_server(create_protocol=(lambda *args, **kwargs: + UnauthorizedServerProtocol(*args, **kwargs))) + def test_server_create_protocol_function(self): + self.assert_client_raises_code(401) + + @with_server(klass=UnauthorizedServerProtocol) + def test_server_klass(self): + self.assert_client_raises_code(401) + + @with_server(create_protocol=ForbiddenServerProtocol, + klass=UnauthorizedServerProtocol) + def test_server_create_protocol_over_klass(self): + self.assert_client_raises_code(403) + + @with_server() + @with_client('/path', create_protocol=FooClientProtocol) + def test_client_create_protocol(self): + self.assertIsInstance(self.client, FooClientProtocol) + + @with_server() + @with_client('/path', create_protocol=( + lambda *args, **kwargs: FooClientProtocol(*args, **kwargs))) + def test_client_create_protocol_function(self): + self.assertIsInstance(self.client, FooClientProtocol) + + @with_server() + @with_client('/path', klass=FooClientProtocol) + def test_client_klass(self): + self.assertIsInstance(self.client, FooClientProtocol) + + @with_server() + @with_client('/path', create_protocol=BarClientProtocol, + klass=FooClientProtocol) + def test_client_create_protocol_over_klass(self): + self.assertIsInstance(self.client, BarClientProtocol) + + @with_server() + @with_client('/extensions') + def test_no_extension(self): + server_extensions = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_extensions, repr([])) + self.assertEqual(repr(self.client.extensions), repr([])) + + @with_server(extensions=[ServerNoOpExtensionFactory()]) + @with_client('/extensions', extensions=[ClientNoOpExtensionFactory()]) + def test_extension(self): + server_extensions = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_extensions, repr([NoOpExtension()])) + self.assertEqual(repr(self.client.extensions), repr([NoOpExtension()])) + + @with_server() + @with_client('/extensions', extensions=[ClientNoOpExtensionFactory()]) + def test_extension_not_accepted(self): + server_extensions = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_extensions, repr([])) + self.assertEqual(repr(self.client.extensions), repr([])) + + @with_server(extensions=[ServerNoOpExtensionFactory()]) + @with_client('/extensions') + def test_extension_not_requested(self): + server_extensions = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_extensions, repr([])) + self.assertEqual(repr(self.client.extensions), repr([])) + + @with_server(extensions=[ServerNoOpExtensionFactory([('foo', None)])]) + def test_extension_client_rejection(self): + with self.assertRaises(NegotiationError): + self.start_client( + '/extensions', + extensions=[ClientNoOpExtensionFactory()], + ) + + @with_server( + extensions=[ + # No match because the client doesn't send client_max_window_bits. + ServerPerMessageDeflateFactory(client_max_window_bits=10), + ServerPerMessageDeflateFactory(), + ], + ) + @with_client( + '/extensions', + extensions=[ + ClientPerMessageDeflateFactory(), + ], + ) + def test_extension_no_match_then_match(self): + # The order requested by the client has priority. + server_extensions = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_extensions, repr([ + PerMessageDeflate(False, False, 15, 15), + ])) + self.assertEqual(repr(self.client.extensions), repr([ + PerMessageDeflate(False, False, 15, 15), + ])) + + @with_server(extensions=[ServerPerMessageDeflateFactory()]) + @with_client('/extensions', extensions=[ClientNoOpExtensionFactory()]) + def test_extension_mismatch(self): + server_extensions = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_extensions, repr([])) + self.assertEqual(repr(self.client.extensions), repr([])) + + @with_server( + extensions=[ + ServerNoOpExtensionFactory(), + ServerPerMessageDeflateFactory(), + ], + ) + @with_client( + '/extensions', + extensions=[ + ClientPerMessageDeflateFactory(), + ClientNoOpExtensionFactory(), + ], + ) + def test_extension_order(self): + # The order requested by the client has priority. + server_extensions = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_extensions, repr([ + PerMessageDeflate(False, False, 15, 15), + NoOpExtension(), + ])) + self.assertEqual(repr(self.client.extensions), repr([ + PerMessageDeflate(False, False, 15, 15), + NoOpExtension(), + ])) + + @with_server(extensions=[ServerNoOpExtensionFactory()]) + @unittest.mock.patch.object(WebSocketServerProtocol, 'process_extensions') + def test_extensions_error(self, _process_extensions): + _process_extensions.return_value = 'x-no-op', [NoOpExtension()] + + with self.assertRaises(NegotiationError): + self.start_client( + '/extensions', + extensions=[ClientPerMessageDeflateFactory()], + ) + + @with_server(extensions=[ServerNoOpExtensionFactory()]) + @unittest.mock.patch.object(WebSocketServerProtocol, 'process_extensions') + def test_extensions_error_no_extensions(self, _process_extensions): + _process_extensions.return_value = 'x-no-op', [NoOpExtension()] + + with self.assertRaises(InvalidHandshake): + self.start_client('/extensions') + + @with_server(compression='deflate') + @with_client('/extensions', compression='deflate') + def test_compression_deflate(self): + server_extensions = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_extensions, repr([ + PerMessageDeflate(False, False, 15, 15), + ])) + self.assertEqual(repr(self.client.extensions), repr([ + PerMessageDeflate(False, False, 15, 15), + ])) + + @with_server( + extensions=[ + ServerPerMessageDeflateFactory( + client_no_context_takeover=True, + server_max_window_bits=10, + ), + ], + compression='deflate', # overridden by explicit config + ) + @with_client( + '/extensions', + extensions=[ + ClientPerMessageDeflateFactory( + server_no_context_takeover=True, + client_max_window_bits=12, + ), + ], + compression='deflate', # overridden by explicit config + ) + def test_compression_deflate_and_explicit_config(self): + server_extensions = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_extensions, repr([ + PerMessageDeflate(True, True, 12, 10), + ])) + self.assertEqual(repr(self.client.extensions), repr([ + PerMessageDeflate(True, True, 10, 12), + ])) + + def test_compression_unsupported_server(self): + with self.assertRaises(ValueError): + self.loop.run_until_complete(self.start_server(compression='xz')) + + @with_server() + def test_compression_unsupported_client(self): + with self.assertRaises(ValueError): + self.loop.run_until_complete(self.start_client(compression='xz')) + + @with_server() + @with_client('/subprotocol') + def test_no_subprotocol(self): + server_subprotocol = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_subprotocol, repr(None)) + self.assertEqual(self.client.subprotocol, None) + + @with_server(subprotocols=['superchat', 'chat']) + @with_client('/subprotocol', subprotocols=['otherchat', 'chat']) + def test_subprotocol(self): + server_subprotocol = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_subprotocol, repr('chat')) + self.assertEqual(self.client.subprotocol, 'chat') + + @with_server(subprotocols=['superchat']) + @with_client('/subprotocol', subprotocols=['otherchat']) + def test_subprotocol_not_accepted(self): + server_subprotocol = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_subprotocol, repr(None)) + self.assertEqual(self.client.subprotocol, None) + + @with_server() + @with_client('/subprotocol', subprotocols=['otherchat', 'chat']) + def test_subprotocol_not_offered(self): + server_subprotocol = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_subprotocol, repr(None)) + self.assertEqual(self.client.subprotocol, None) + + @with_server(subprotocols=['superchat', 'chat']) + @with_client('/subprotocol') + def test_subprotocol_not_requested(self): + server_subprotocol = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(server_subprotocol, repr(None)) + self.assertEqual(self.client.subprotocol, None) + + @with_server(subprotocols=['superchat']) + @unittest.mock.patch.object(WebSocketServerProtocol, 'process_subprotocol') + def test_subprotocol_error(self, _process_subprotocol): + _process_subprotocol.return_value = 'superchat' + + with self.assertRaises(NegotiationError): + self.start_client('/subprotocol', subprotocols=['otherchat']) + self.run_loop_once() + + @with_server(subprotocols=['superchat']) + @unittest.mock.patch.object(WebSocketServerProtocol, 'process_subprotocol') + def test_subprotocol_error_no_subprotocols(self, _process_subprotocol): + _process_subprotocol.return_value = 'superchat' + + with self.assertRaises(InvalidHandshake): + self.start_client('/subprotocol') + self.run_loop_once() + + @with_server(subprotocols=['superchat', 'chat']) + @unittest.mock.patch.object(WebSocketServerProtocol, 'process_subprotocol') + def test_subprotocol_error_two_subprotocols(self, _process_subprotocol): + _process_subprotocol.return_value = 'superchat, chat' + + with self.assertRaises(InvalidHandshake): + self.start_client( + '/subprotocol', subprotocols=['superchat', 'chat']) + self.run_loop_once() + + @with_server() + @unittest.mock.patch('websockets.server.read_request') + def test_server_receives_malformed_request(self, _read_request): + _read_request.side_effect = ValueError("read_request failed") + + with self.assertRaises(InvalidHandshake): + self.start_client() + + @with_server() + @unittest.mock.patch('websockets.client.read_response') + def test_client_receives_malformed_response(self, _read_response): + _read_response.side_effect = ValueError("read_response failed") + + with self.assertRaises(InvalidHandshake): + self.start_client() + self.run_loop_once() + + @with_server() + @unittest.mock.patch('websockets.client.build_request') + def test_client_sends_invalid_handshake_request(self, _build_request): + def wrong_build_request(headers): + return '42' + _build_request.side_effect = wrong_build_request + + with self.assertRaises(InvalidHandshake): + self.start_client() + + @with_server() + @unittest.mock.patch('websockets.server.build_response') + def test_server_sends_invalid_handshake_response(self, _build_response): + def wrong_build_response(headers, key): + return build_response(headers, '42') + _build_response.side_effect = wrong_build_response + + with self.assertRaises(InvalidHandshake): + self.start_client() + + @with_server() + @unittest.mock.patch('websockets.client.read_response') + def test_server_does_not_switch_protocols(self, _read_response): + @asyncio.coroutine + def wrong_read_response(stream): + status_code, headers = yield from read_response(stream) + return 400, headers + _read_response.side_effect = wrong_read_response + + with self.assertRaises(InvalidStatusCode): + self.start_client() + self.run_loop_once() + + @with_server() + @unittest.mock.patch( + 'websockets.server.WebSocketServerProtocol.process_request') + def test_server_error_in_handshake(self, _process_request): + _process_request.side_effect = Exception("process_request crashed") + + with self.assertRaises(InvalidHandshake): + self.start_client() + + @with_server() + @unittest.mock.patch('websockets.server.WebSocketServerProtocol.send') + def test_server_handler_crashes(self, send): + send.side_effect = ValueError("send failed") + + with self.temp_client(): + self.loop.run_until_complete(self.client.send("Hello!")) + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.client.recv()) + + # Connection ends with an unexpected error. + self.assertEqual(self.client.close_code, 1011) + + @with_server() + @unittest.mock.patch('websockets.server.WebSocketServerProtocol.close') + def test_server_close_crashes(self, close): + close.side_effect = ValueError("close failed") + + with self.temp_client(): + self.loop.run_until_complete(self.client.send("Hello!")) + reply = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(reply, "Hello!") + + # Connection ends with an abnormal closure. + self.assertEqual(self.client.close_code, 1006) + + @with_server() + @with_client() + @unittest.mock.patch.object(WebSocketClientProtocol, 'handshake') + def test_client_closes_connection_before_handshake(self, handshake): + # We have mocked the handshake() method to prevent the client from + # performing the opening handshake. Force it to close the connection. + self.client.writer.close() + # The server should stop properly anyway. It used to hang because the + # task handling the connection was waiting for the opening handshake. + + @with_server() + @unittest.mock.patch('websockets.server.read_request') + def test_server_shuts_down_during_opening_handshake(self, _read_request): + _read_request.side_effect = asyncio.CancelledError + + self.server.closing = True + with self.assertRaises(InvalidHandshake) as raised: + self.start_client() + + # Opening handshake fails with 503 Service Unavailable + self.assertEqual(str(raised.exception), "Status code not 101: 503") + + @with_server() + def test_server_shuts_down_during_connection_handling(self): + with self.temp_client(): + self.server.close() + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.client.recv()) + + # Websocket connection terminates with 1001 Going Away. + self.assertEqual(self.client.close_code, 1001) + + @with_server() + @unittest.mock.patch('websockets.server.WebSocketServerProtocol.close') + def test_server_shuts_down_during_connection_close(self, _close): + _close.side_effect = asyncio.CancelledError + + self.server.closing = True + with self.temp_client(): + self.loop.run_until_complete(self.client.send("Hello!")) + reply = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(reply, "Hello!") + + # Websocket connection terminates abnormally. + self.assertEqual(self.client.close_code, 1006) + + @with_server(create_protocol=ForbiddenServerProtocol) + def test_invalid_status_error_during_client_connect(self): + with self.assertRaises(InvalidStatusCode) as raised: + self.start_client() + exception = raised.exception + self.assertEqual(str(exception), "Status code not 101: 403") + self.assertEqual(exception.status_code, 403) + + @with_server() + @unittest.mock.patch( + 'websockets.server.WebSocketServerProtocol.write_http_response') + @unittest.mock.patch( + 'websockets.server.WebSocketServerProtocol.read_http_request') + def test_connection_error_during_opening_handshake( + self, _read_http_request, _write_http_response): + _read_http_request.side_effect = ConnectionError + + # This exception is currently platform-dependent. It was observed to + # be ConnectionResetError on Linux in the non-SSL case, and + # InvalidMessage otherwise (including both Linux and macOS). This + # doesn't matter though since this test is primarily for testing a + # code path on the server side. + with self.assertRaises(Exception): + self.start_client() + + # No response must not be written if the network connection is broken. + _write_http_response.assert_not_called() + + @with_server() + @unittest.mock.patch('websockets.server.WebSocketServerProtocol.close') + def test_connection_error_during_closing_handshake(self, close): + close.side_effect = ConnectionError + + with self.temp_client(): + self.loop.run_until_complete(self.client.send("Hello!")) + reply = self.loop.run_until_complete(self.client.recv()) + self.assertEqual(reply, "Hello!") + + # Connection ends with an abnormal closure. + self.assertEqual(self.client.close_code, 1006) + + +class SSLClientServerTests(ClientServerTests): + + secure = True + + @property + def server_context(self): + # Change to ssl.PROTOCOL_TLS_SERVER when dropping Python < 3.6. + ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLSv1) + ssl_context.load_cert_chain(testcert) + return ssl_context + + @property + def client_context(self): + # Change to ssl.PROTOCOL_TLS_CLIENT when dropping Python < 3.6. + # Then remove verify_mode and check_hostname below. + ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLSv1) + ssl_context.load_verify_locations(testcert) + ssl_context.verify_mode = ssl.CERT_REQUIRED + # ssl.match_hostname can't match IP addresses on Python < 3.5. + # We're using IP addresses to enforce testing of IPv4 and IPv6. + if sys.version_info[:2] >= (3, 5): # pragma: no cover + ssl_context.check_hostname = True + return ssl_context + + def start_server(self, **kwds): + kwds.setdefault('ssl', self.server_context) + super().start_server(**kwds) + + def start_client(self, path='/', **kwds): + kwds.setdefault('ssl', self.client_context) + super().start_client(path, **kwds) + + # TLS over Unix sockets doesn't make sense. + test_unix_socket = None + + @with_server() + def test_ws_uri_is_rejected(self): + with self.assertRaises(ValueError): + client = connect( + get_server_uri(self.server, secure=False), + ssl=self.client_context, + ) + # With Python ≥ 3.5, the exception is raised by connect() even + # before awaiting. However, with Python 3.4 the exception is + # raised only when awaiting. + self.loop.run_until_complete(client) # pragma: no cover + + +class ClientServerOriginTests(unittest.TestCase): + + def setUp(self): + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + + def tearDown(self): + self.loop.close() + + def test_checking_origin_succeeds(self): + server = self.loop.run_until_complete( + serve(handler, 'localhost', 0, origins=['http://localhost'])) + client = self.loop.run_until_complete( + connect(get_server_uri(server), origin='http://localhost')) + + self.loop.run_until_complete(client.send("Hello!")) + self.assertEqual(self.loop.run_until_complete(client.recv()), "Hello!") + + self.loop.run_until_complete(client.close()) + server.close() + self.loop.run_until_complete(server.wait_closed()) + + def test_checking_origin_fails(self): + server = self.loop.run_until_complete( + serve(handler, 'localhost', 0, origins=['http://localhost'])) + with self.assertRaisesRegex(InvalidHandshake, + "Status code not 101: 403"): + self.loop.run_until_complete( + connect(get_server_uri(server), origin='http://otherhost')) + + server.close() + self.loop.run_until_complete(server.wait_closed()) + + def test_checking_lack_of_origin_succeeds(self): + server = self.loop.run_until_complete( + serve(handler, 'localhost', 0, origins=[''])) + client = self.loop.run_until_complete(connect(get_server_uri(server))) + + self.loop.run_until_complete(client.send("Hello!")) + self.assertEqual(self.loop.run_until_complete(client.recv()), "Hello!") + + self.loop.run_until_complete(client.close()) + server.close() + self.loop.run_until_complete(server.wait_closed()) + + +class YieldFromTests(unittest.TestCase): + + def setUp(self): + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + + def tearDown(self): + self.loop.close() + + def test_client(self): + start_server = serve(handler, 'localhost', 0) + server = self.loop.run_until_complete(start_server) + + @asyncio.coroutine + def run_client(): + # Yield from connect. + client = yield from connect(get_server_uri(server)) + self.assertEqual(client.state, State.OPEN) + yield from client.close() + self.assertEqual(client.state, State.CLOSED) + + self.loop.run_until_complete(run_client()) + + server.close() + self.loop.run_until_complete(server.wait_closed()) + + def test_server(self): + + @asyncio.coroutine + def run_server(): + # Yield from serve. + server = yield from serve(handler, 'localhost', 0) + self.assertTrue(server.sockets) + server.close() + yield from server.wait_closed() + self.assertFalse(server.sockets) + + self.loop.run_until_complete(run_server()) + + +if sys.version_info[:2] >= (3, 5): # pragma: no cover + from .py35._test_client_server import AsyncAwaitTests # noqa + from .py35._test_client_server import ContextManagerTests # noqa + + +if sys.version_info[:2] >= (3, 6): # pragma: no cover + from .py36._test_client_server import AsyncIteratorTests # noqa diff --git a/venv/lib/python3.6/site-packages/websockets/test_exceptions.py b/venv/lib/python3.6/site-packages/websockets/test_exceptions.py new file mode 100644 index 0000000..0985e57 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/test_exceptions.py @@ -0,0 +1,122 @@ +import unittest + +from .exceptions import * +from .http import Headers + + +class ExceptionsTests(unittest.TestCase): + + def test_str(self): + for exception, exception_str in [ + ( + InvalidHandshake("Invalid request"), + "Invalid request", + ), + ( + AbortHandshake(200, Headers(), b'OK\n'), + "HTTP 200, 0 headers, 3 bytes", + ), + ( + InvalidMessage("Malformed HTTP message"), + "Malformed HTTP message", + ), + ( + InvalidHeader('Name', ''), + "Missing or empty Name header", + ), + ( + InvalidHeader('Name', 'Value'), + "Invalid Name header: Value", + ), + ( + InvalidHeaderFormat( + 'Sec-WebSocket-Protocol', "expected token", 'a=|', 3), + "Invalid Sec-WebSocket-Protocol header: " + "expected token at 3 in a=|", + ), + ( + InvalidHeaderValue('Sec-WebSocket-Version', '42'), + "Invalid Sec-WebSocket-Version header: 42", + ), + + ( + InvalidUpgrade('Upgrade', ''), + "Missing or empty Upgrade header", + ), + ( + InvalidUpgrade('Connection', 'websocket'), + "Invalid Connection header: websocket", + ), + ( + InvalidOrigin('http://bad.origin'), + 'Invalid Origin header: http://bad.origin', + ), + ( + InvalidStatusCode(403), + "Status code not 101: 403", + ), + ( + NegotiationError("Unsupported subprotocol: spam"), + "Unsupported subprotocol: spam", + ), + ( + InvalidParameterName('|'), + "Invalid parameter name: |", + ), + ( + InvalidParameterValue('a', '|'), + "Invalid value for parameter a: |", + ), + ( + DuplicateParameter('a'), + "Duplicate parameter: a", + ), + ( + InvalidState("WebSocket connection isn't established yet"), + "WebSocket connection isn't established yet", + ), + ( + ConnectionClosed(1000, ''), + "WebSocket connection is closed: code = 1000 " + "(OK), no reason", + ), + ( + ConnectionClosed(1001, 'bye'), + "WebSocket connection is closed: code = 1001 " + "(going away), reason = bye", + ), + ( + ConnectionClosed(1006, None), + "WebSocket connection is closed: code = 1006 " + "(connection closed abnormally [internal]), no reason" + ), + ( + ConnectionClosed(1016, None), + "WebSocket connection is closed: code = 1016 " + "(unknown), no reason" + ), + ( + ConnectionClosed(3000, None), + "WebSocket connection is closed: code = 3000 " + "(registered), no reason" + ), + ( + ConnectionClosed(4000, None), + "WebSocket connection is closed: code = 4000 " + "(private use), no reason" + ), + ( + InvalidURI("| isn't a valid URI"), + "| isn't a valid URI", + ), + ( + PayloadTooBig("Payload length exceeds limit: 2 > 1 bytes"), + "Payload length exceeds limit: 2 > 1 bytes", + ), + ( + WebSocketProtocolError("Invalid opcode: 7"), + "Invalid opcode: 7", + ), + ]: + with self.subTest(exception=exception): + self.assertEqual(str(exception), exception_str) diff --git a/venv/lib/python3.6/site-packages/websockets/test_framing.py b/venv/lib/python3.6/site-packages/websockets/test_framing.py new file mode 100644 index 0000000..d550f72 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/test_framing.py @@ -0,0 +1,228 @@ +import asyncio +import codecs +import unittest +import unittest.mock + +from .exceptions import PayloadTooBig, WebSocketProtocolError +from .framing import * + + +class FramingTests(unittest.TestCase): + + def setUp(self): + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + + def tearDown(self): + self.loop.close() + + def decode(self, message, mask=False, max_size=None, extensions=None): + self.stream = asyncio.StreamReader(loop=self.loop) + self.stream.feed_data(message) + self.stream.feed_eof() + frame = self.loop.run_until_complete(Frame.read( + self.stream.readexactly, mask=mask, + max_size=max_size, extensions=extensions, + )) + # Make sure all the data was consumed. + self.assertTrue(self.stream.at_eof()) + return frame + + def encode(self, frame, mask=False, extensions=None): + writer = unittest.mock.Mock() + frame.write(writer, mask=mask, extensions=extensions) + # Ensure the entire frame is sent with a single call to writer(). + # Multiple calls cause TCP fragmentation and degrade performance. + self.assertEqual(writer.call_count, 1) + # The frame data is the single positional argument of that call. + self.assertEqual(len(writer.call_args[0]), 1) + self.assertEqual(len(writer.call_args[1]), 0) + return writer.call_args[0][0] + + def round_trip(self, message, expected, mask=False, extensions=None): + decoded = self.decode(message, mask, extensions=extensions) + self.assertEqual(decoded, expected) + encoded = self.encode(decoded, mask, extensions=extensions) + if mask: # non-deterministic encoding + decoded = self.decode(encoded, mask, extensions=extensions) + self.assertEqual(decoded, expected) + else: # deterministic encoding + self.assertEqual(encoded, message) + + def round_trip_close(self, data, code, reason): + parsed = parse_close(data) + self.assertEqual(parsed, (code, reason)) + serialized = serialize_close(code, reason) + self.assertEqual(serialized, data) + + def test_text(self): + self.round_trip( + b'\x81\x04Spam', + Frame(True, OP_TEXT, b'Spam'), + ) + + def test_text_masked(self): + self.round_trip( + b'\x81\x84\x5b\xfb\xe1\xa8\x08\x8b\x80\xc5', + Frame(True, OP_TEXT, b'Spam'), + mask=True, + ) + + def test_binary(self): + self.round_trip( + b'\x82\x04Eggs', + Frame(True, OP_BINARY, b'Eggs'), + ) + + def test_binary_masked(self): + self.round_trip( + b'\x82\x84\x53\xcd\xe2\x89\x16\xaa\x85\xfa', + Frame(True, OP_BINARY, b'Eggs'), + mask=True, + ) + + def test_non_ascii_text(self): + self.round_trip( + b'\x81\x05caf\xc3\xa9', + Frame(True, OP_TEXT, 'café'.encode('utf-8')), + ) + + def test_non_ascii_text_masked(self): + self.round_trip( + b'\x81\x85\x64\xbe\xee\x7e\x07\xdf\x88\xbd\xcd', + Frame(True, OP_TEXT, 'café'.encode('utf-8')), + mask=True, + ) + + def test_close(self): + self.round_trip( + b'\x88\x00', + Frame(True, OP_CLOSE, b''), + ) + + def test_ping(self): + self.round_trip( + b'\x89\x04ping', + Frame(True, OP_PING, b'ping'), + ) + + def test_pong(self): + self.round_trip( + b'\x8a\x04pong', + Frame(True, OP_PONG, b'pong'), + ) + + def test_long(self): + self.round_trip( + b'\x82\x7e\x00\x7e' + 126 * b'a', + Frame(True, OP_BINARY, 126 * b'a'), + ) + + def test_very_long(self): + self.round_trip( + b'\x82\x7f\x00\x00\x00\x00\x00\x01\x00\x00' + 65536 * b'a', + Frame(True, OP_BINARY, 65536 * b'a'), + ) + + def test_payload_too_big(self): + with self.assertRaises(PayloadTooBig): + self.decode( + b'\x82\x7e\x04\x01' + 1025 * b'a', + max_size=1024, + ) + + def test_bad_reserved_bits(self): + for encoded in [b'\xc0\x00', b'\xa0\x00', b'\x90\x00']: + with self.subTest(encoded=encoded): + with self.assertRaises(WebSocketProtocolError): + self.decode(encoded) + + def test_good_opcode(self): + for opcode in list(range(0x00, 0x03)) + list(range(0x08, 0x0b)): + encoded = bytes([0x80 | opcode, 0]) + with self.subTest(encoded=encoded): + self.decode(encoded) # does not raise an exception + + def test_bad_opcode(self): + for opcode in list(range(0x03, 0x08)) + list(range(0x0b, 0x10)): + encoded = bytes([0x80 | opcode, 0]) + with self.subTest(encoded=encoded): + with self.assertRaises(WebSocketProtocolError): + self.decode(encoded) + + def test_mask_flag(self): + # Mask flag correctly set. + self.decode(b'\x80\x80\x00\x00\x00\x00', mask=True) + # Mask flag incorrectly unset. + with self.assertRaises(WebSocketProtocolError): + self.decode(b'\x80\x80\x00\x00\x00\x00') + # Mask flag correctly unset. + self.decode(b'\x80\x00') + # Mask flag incorrectly set. + with self.assertRaises(WebSocketProtocolError): + self.decode(b'\x80\x00', mask=True) + + def test_control_frame_max_length(self): + # At maximum allowed length. + self.decode(b'\x88\x7e\x00\x7d' + 125 * b'a') + # Above maximum allowed length. + with self.assertRaises(WebSocketProtocolError): + self.decode(b'\x88\x7e\x00\x7e' + 126 * b'a') + + def test_encode_data_str(self): + self.assertEqual(encode_data('café'), b'caf\xc3\xa9') + + def test_encode_data_bytes(self): + self.assertEqual(encode_data(b'tea'), b'tea') + + def test_encode_data_other(self): + with self.assertRaises(TypeError): + encode_data(None) + + def test_fragmented_control_frame(self): + # Fin bit correctly set. + self.decode(b'\x88\x00') + # Fin bit incorrectly unset. + with self.assertRaises(WebSocketProtocolError): + self.decode(b'\x08\x00') + + def test_parse_close_and_serialize_close(self): + self.round_trip_close(b'\x03\xe8', 1000, '') + self.round_trip_close(b'\x03\xe8OK', 1000, 'OK') + + def test_parse_close_empty(self): + self.assertEqual(parse_close(b''), (1005, '')) + + def test_parse_close_errors(self): + with self.assertRaises(WebSocketProtocolError): + parse_close(b'\x03') + with self.assertRaises(WebSocketProtocolError): + parse_close(b'\x03\xe7') + with self.assertRaises(UnicodeDecodeError): + parse_close(b'\x03\xe8\xff\xff') + + def test_serialize_close_errors(self): + with self.assertRaises(WebSocketProtocolError): + serialize_close(999, '') + + def test_extensions(self): + + class Rot13: + + @staticmethod + def encode(frame): + assert frame.opcode == OP_TEXT + text = frame.data.decode() + data = codecs.encode(text, 'rot13').encode() + return frame._replace(data=data) + + # This extensions is symmetrical. + @staticmethod + def decode(frame, *, max_size=None): + return Rot13.encode(frame) + + self.round_trip( + b'\x81\x05uryyb', + Frame(True, OP_TEXT, b'hello'), + extensions=[Rot13()], + ) diff --git a/venv/lib/python3.6/site-packages/websockets/test_handshake.py b/venv/lib/python3.6/site-packages/websockets/test_handshake.py new file mode 100644 index 0000000..5083d1e --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/test_handshake.py @@ -0,0 +1,117 @@ +import contextlib +import unittest + +from .exceptions import InvalidHandshake +from .handshake import * +from .handshake import accept # private API + + +class HandshakeTests(unittest.TestCase): + + def test_accept(self): + # Test vector from RFC 6455 + key = "dGhlIHNhbXBsZSBub25jZQ==" + acc = "s3pPLMBiTxaQ9kYGzzhZRbK+xOo=" + self.assertEqual(accept(key), acc) + + def test_round_trip(self): + request_headers = {} + request_key = build_request(request_headers) + response_key = check_request(request_headers) + self.assertEqual(request_key, response_key) + response_headers = {} + build_response(response_headers, response_key) + check_response(response_headers, request_key) + + @contextlib.contextmanager + def assertInvalidRequestHeaders(self): + """ + Provide request headers for corruption. + + Assert that the transformation made them invalid. + + """ + headers = {} + build_request(headers) + yield headers + with self.assertRaises(InvalidHandshake): + check_request(headers) + + def test_request_invalid_upgrade(self): + with self.assertInvalidRequestHeaders() as headers: + headers['Upgrade'] = 'socketweb' + + def test_request_missing_upgrade(self): + with self.assertInvalidRequestHeaders() as headers: + del headers['Upgrade'] + + def test_request_invalid_connection(self): + with self.assertInvalidRequestHeaders() as headers: + headers['Connection'] = 'Downgrade' + + def test_request_missing_connection(self): + with self.assertInvalidRequestHeaders() as headers: + del headers['Connection'] + + def test_request_invalid_key_not_base64(self): + with self.assertInvalidRequestHeaders() as headers: + headers['Sec-WebSocket-Key'] = "!@#$%^&*()" + + def test_request_invalid_key_not_well_padded(self): + with self.assertInvalidRequestHeaders() as headers: + headers['Sec-WebSocket-Key'] = "CSIRmL8dWYxeAdr/XpEHRw" + + def test_request_invalid_key_not_16_bytes_long(self): + with self.assertInvalidRequestHeaders() as headers: + headers['Sec-WebSocket-Key'] = "ZLpprpvK4PE=" + + def test_request_missing_key(self): + with self.assertInvalidRequestHeaders() as headers: + del headers['Sec-WebSocket-Key'] + + def test_request_invalid_version(self): + with self.assertInvalidRequestHeaders() as headers: + headers['Sec-WebSocket-Version'] = '42' + + def test_request_missing_version(self): + with self.assertInvalidRequestHeaders() as headers: + del headers['Sec-WebSocket-Version'] + + @contextlib.contextmanager + def assertInvalidResponseHeaders(self, key='CSIRmL8dWYxeAdr/XpEHRw=='): + """ + Provide response headers for corruption. + + Assert that the transformation made them invalid. + + """ + headers = {} + build_response(headers, key) + yield headers + with self.assertRaises(InvalidHandshake): + check_response(headers, key) + + def test_response_invalid_upgrade(self): + with self.assertInvalidResponseHeaders() as headers: + headers['Upgrade'] = 'socketweb' + + def test_response_missing_upgrade(self): + with self.assertInvalidResponseHeaders() as headers: + del headers['Upgrade'] + + def test_response_invalid_connection(self): + with self.assertInvalidResponseHeaders() as headers: + headers['Connection'] = 'Downgrade' + + def test_response_missing_connection(self): + with self.assertInvalidResponseHeaders() as headers: + del headers['Connection'] + + def test_response_invalid_accept(self): + with self.assertInvalidResponseHeaders() as headers: + other_key = "1Eq4UDEFQYg3YspNgqxv5g==" + headers['Sec-WebSocket-Accept'] = accept(other_key) + + def test_response_missing_accept(self): + with self.assertInvalidResponseHeaders() as headers: + del headers['Sec-WebSocket-Accept'] diff --git a/venv/lib/python3.6/site-packages/websockets/test_headers.py b/venv/lib/python3.6/site-packages/websockets/test_headers.py new file mode 100644 index 0000000..10c2a7f --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/test_headers.py @@ -0,0 +1,173 @@ +import unittest + +from .exceptions import InvalidHeaderFormat +from .headers import * +from .headers import build_basic_auth + + +class HeadersTests(unittest.TestCase): + + def test_parse_connection(self): + for header, parsed in [ + # Realistic use cases + ( + 'Upgrade', # Safari, Chrome + ['Upgrade'], + ), + ( + 'keep-alive, Upgrade', # Firefox + ['keep-alive', 'Upgrade'], + ), + # Pathological example + ( + ',,\t, , ,Upgrade ,,', + ['Upgrade'], + ), + ]: + with self.subTest(header=header): + self.assertEqual(parse_connection(header), parsed) + + def test_parse_connection_invalid_header(self): + for header in [ + '???', + 'keep-alive; Upgrade', + ]: + with self.subTest(header=header): + with self.assertRaises(InvalidHeaderFormat): + parse_connection(header) + + def test_parse_upgrade(self): + for header, parsed in [ + # Realistic use case + ( + 'websocket', + ['websocket'], + ), + # Synthetic example + ( + 'http/3.0, websocket', + ['http/3.0', 'websocket'] + ), + # Pathological example + ( + ',, WebSocket, \t,,', + ['WebSocket'], + ), + ]: + with self.subTest(header=header): + self.assertEqual(parse_upgrade(header), parsed) + + def test_parse_upgrade_invalid_header(self): + for header in [ + '???', + 'websocket 2', + 'http/3.0; websocket', + ]: + with self.subTest(header=header): + with self.assertRaises(InvalidHeaderFormat): + parse_upgrade(header) + + def test_parse_extension_list(self): + for header, parsed in [ + # Synthetic examples + ( + 'foo', + [('foo', [])], + ), + ( + 'foo, bar', + [('foo', []), ('bar', [])], + ), + ( + 'foo; name; token=token; quoted-string="quoted-string", ' + 'bar; quux; quuux', + [ + ('foo', [('name', None), ('token', 'token'), + ('quoted-string', 'quoted-string')]), + ('bar', [('quux', None), ('quuux', None)]), + ], + ), + # Pathological example + ( + ',\t, , ,foo ;bar = 42,, baz,,', + [('foo', [('bar', '42')]), ('baz', [])], + ), + # Realistic use cases for permessage-deflate + ( + 'permessage-deflate', + [('permessage-deflate', [])], + ), + ( + 'permessage-deflate; client_max_window_bits', + [('permessage-deflate', [('client_max_window_bits', None)])], + ), + ( + 'permessage-deflate; server_max_window_bits=10', + [('permessage-deflate', [('server_max_window_bits', '10')])], + ), + ]: + with self.subTest(header=header): + self.assertEqual(parse_extension_list(header), parsed) + # Also ensure that build_extension_list round-trips cleanly. + unparsed = build_extension_list(parsed) + self.assertEqual(parse_extension_list(unparsed), parsed) + + def test_parse_extension_list_invalid_header(self): + for header in [ + # Truncated examples + '', + ',\t,' + 'foo;', + 'foo; bar;', + 'foo; bar=', + 'foo; bar="baz', + # Wrong delimiter + 'foo, bar, baz=quux; quuux', + # Value in quoted string parameter that isn't a token + 'foo; bar=" "', + ]: + with self.subTest(header=header): + with self.assertRaises(InvalidHeaderFormat): + parse_extension_list(header) + + def test_parse_subprotocol_list(self): + for header, parsed in [ + # Synthetic examples + ( + 'foo', + ['foo'], + ), + ( + 'foo, bar', + ['foo', 'bar'], + ), + # Pathological example + ( + ',\t, , ,foo ,, bar,baz,,', + ['foo', 'bar', 'baz'], + ), + ]: + with self.subTest(header=header): + self.assertEqual(parse_subprotocol_list(header), parsed) + # Also ensure that build_subprotocol_list round-trips cleanly. + unparsed = build_subprotocol_list(parsed) + self.assertEqual(parse_subprotocol_list(unparsed), parsed) + + def test_parse_subprotocol_list_invalid_header(self): + for header in [ + # Truncated examples + '', + ',\t,' + # Wrong delimiter + 'foo; bar', + ]: + with self.subTest(header=header): + with self.assertRaises(InvalidHeaderFormat): + parse_subprotocol_list(header) + + def test_build_basic_auth(self): + # Test vector from RFC 7617. + self.assertEqual( + build_basic_auth("Aladdin", "open sesame"), + 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==', + ) diff --git a/venv/lib/python3.6/site-packages/websockets/test_http.py b/venv/lib/python3.6/site-packages/websockets/test_http.py new file mode 100644 index 0000000..01ae6de --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/test_http.py @@ -0,0 +1,228 @@ +import asyncio +import unittest + +from .http import * +from .http import read_headers + + +class HTTPAsyncTests(unittest.TestCase): + + def setUp(self): + super().setUp() + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + self.stream = asyncio.StreamReader(loop=self.loop) + + def tearDown(self): + self.loop.close() + super().tearDown() + + def test_read_request(self): + # Example from the protocol overview in RFC 6455 + self.stream.feed_data( + b'GET /chat HTTP/1.1\r\n' + b'Host: server.example.com\r\n' + b'Upgrade: websocket\r\n' + b'Connection: Upgrade\r\n' + b'Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==\r\n' + b'Origin: http://example.com\r\n' + b'Sec-WebSocket-Protocol: chat, superchat\r\n' + b'Sec-WebSocket-Version: 13\r\n' + b'\r\n' + ) + path, headers = self.loop.run_until_complete( + read_request(self.stream)) + self.assertEqual(path, '/chat') + self.assertEqual(headers['Upgrade'], 'websocket') + + def test_read_response(self): + # Example from the protocol overview in RFC 6455 + self.stream.feed_data( + b'HTTP/1.1 101 Switching Protocols\r\n' + b'Upgrade: websocket\r\n' + b'Connection: Upgrade\r\n' + b'Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n' + b'Sec-WebSocket-Protocol: chat\r\n' + b'\r\n' + ) + status_code, headers = self.loop.run_until_complete( + read_response(self.stream)) + self.assertEqual(status_code, 101) + self.assertEqual(headers['Upgrade'], 'websocket') + + def test_request_method(self): + self.stream.feed_data(b'OPTIONS * HTTP/1.1\r\n\r\n') + with self.assertRaises(ValueError): + self.loop.run_until_complete(read_request(self.stream)) + + def test_request_version(self): + self.stream.feed_data(b'GET /chat HTTP/1.0\r\n\r\n') + with self.assertRaises(ValueError): + self.loop.run_until_complete(read_request(self.stream)) + + def test_response_version(self): + self.stream.feed_data(b'HTTP/1.0 400 Bad Request\r\n\r\n') + with self.assertRaises(ValueError): + self.loop.run_until_complete(read_response(self.stream)) + + def test_response_status(self): + self.stream.feed_data(b'HTTP/1.1 007 My name is Bond\r\n\r\n') + with self.assertRaises(ValueError): + self.loop.run_until_complete(read_response(self.stream)) + + def test_response_reason(self): + self.stream.feed_data(b'HTTP/1.1 200 \x7f\r\n\r\n') + with self.assertRaises(ValueError): + self.loop.run_until_complete(read_response(self.stream)) + + def test_header_name(self): + self.stream.feed_data(b'foo bar: baz qux\r\n\r\n') + with self.assertRaises(ValueError): + self.loop.run_until_complete(read_headers(self.stream)) + + def test_header_value(self): + self.stream.feed_data(b'foo: \x00\x00\x0f\r\n\r\n') + with self.assertRaises(ValueError): + self.loop.run_until_complete(read_headers(self.stream)) + + def test_headers_limit(self): + self.stream.feed_data(b'foo: bar\r\n' * 257 + b'\r\n') + with self.assertRaises(ValueError): + self.loop.run_until_complete(read_headers(self.stream)) + + def test_line_limit(self): + # Header line contains 5 + 4090 + 2 = 4097 bytes. + self.stream.feed_data(b'foo: ' + b'a' * 4090 + b'\r\n\r\n') + with self.assertRaises(ValueError): + self.loop.run_until_complete(read_headers(self.stream)) + + def test_line_ending(self): + self.stream.feed_data(b'foo: bar\n\n') + with self.assertRaises(ValueError): + self.loop.run_until_complete(read_headers(self.stream)) + + +class HeadersTests(unittest.TestCase): + + def setUp(self): + self.headers = Headers([ + ('Connection', 'Upgrade'), + ('Server', USER_AGENT), + ]) + + def test_str(self): + self.assertEqual( + str(self.headers), + "Connection: Upgrade\r\nServer: {}\r\n\r\n".format(USER_AGENT), + ) + + def test_repr(self): + self.assertEqual( + repr(self.headers), + "Headers([('Connection', 'Upgrade'), " + "('Server', '{}')])".format(USER_AGENT), + ) + + def test_multiple_values_error_str(self): + self.assertEqual( + str(MultipleValuesError('Connection')), + "'Connection'", + ) + self.assertEqual( + str(MultipleValuesError()), + "", + ) + + def test_contains(self): + self.assertIn('Server', self.headers) + + def test_contains_case_insensitive(self): + self.assertIn('server', self.headers) + + def test_contains_not_found(self): + self.assertNotIn('Date', self.headers) + + def test_iter(self): + self.assertEqual(set(iter(self.headers)), {'connection', 'server'}) + + def test_len(self): + self.assertEqual(len(self.headers), 2) + + def test_getitem(self): + self.assertEqual(self.headers['Server'], USER_AGENT) + + def test_getitem_case_insensitive(self): + self.assertEqual(self.headers['server'], USER_AGENT) + + def test_getitem_key_error(self): + with self.assertRaises(KeyError): + self.headers['Upgrade'] + + def test_getitem_multiple_values_error(self): + self.headers['Server'] = '2' + with self.assertRaises(MultipleValuesError): + self.headers['Server'] + + def test_setitem(self): + self.headers['Upgrade'] = 'websocket' + self.assertEqual(self.headers['Upgrade'], 'websocket') + + def test_setitem_case_insensitive(self): + self.headers['upgrade'] = 'websocket' + self.assertEqual(self.headers['Upgrade'], 'websocket') + + def test_setitem_multiple_values(self): + self.headers['Connection'] = 'close' + with self.assertRaises(MultipleValuesError): + self.headers['Connection'] + + def test_delitem(self): + del self.headers['Connection'] + with self.assertRaises(KeyError): + self.headers['Connection'] + + def test_delitem_case_insensitive(self): + del self.headers['connection'] + with self.assertRaises(KeyError): + self.headers['Connection'] + + def test_delitem_multiple_values(self): + self.headers['Connection'] = 'close' + del self.headers['Connection'] + with self.assertRaises(KeyError): + self.headers['Connection'] + + def test_eq(self): + other_headers = self.headers.copy() + self.assertEqual(self.headers, other_headers) + + def test_eq_not_equal(self): + self.assertNotEqual(self.headers, []) + + def test_clear(self): + self.headers.clear() + self.assertFalse(self.headers) + self.assertEqual(self.headers, Headers()) + + def test_get_all(self): + self.assertEqual(self.headers.get_all('Connection'), ['Upgrade']) + + def test_get_all_case_insensitive(self): + self.assertEqual(self.headers.get_all('connection'), ['Upgrade']) + + def test_get_all_no_values(self): + self.assertEqual(self.headers.get_all('Upgrade'), []) + + def test_get_all_multiple_values(self): + self.headers['Connection'] = 'close' + self.assertEqual( + self.headers.get_all('Connection'), ['Upgrade', 'close']) + + def test_raw_items(self): + self.assertEqual( + list(self.headers.raw_items()), + [ + ('Connection', 'Upgrade'), + ('Server', USER_AGENT), + ], + ) diff --git a/venv/lib/python3.6/site-packages/websockets/test_localhost.pem b/venv/lib/python3.6/site-packages/websockets/test_localhost.pem new file mode 100644 index 0000000..b8a9ea9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/test_localhost.pem @@ -0,0 +1,48 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCUgrQVkNbAWRlo +zZUj14Ufz7YEp2MXmvmhdlfOGLwjy+xPO98aJRv5/nYF2eWM3llcmLe8FbBSK+QF +To4su7ZVnc6qITOHqcSDUw06WarQUMs94bhHUvQp1u8+b2hNiMeGw6+QiBI6OJRO +iGpLRbkN6Uj3AKwi8SYVoLyMiztuwbNyGf8fF3DDpHZtBitGtMSBCMsQsfB465pl +2UoyBrWa2lsbLt3VvBZZvHqfEuPjpjjKN5USIXnaf0NizaR6ps3EyfftWy4i7zIQ +N5uTExvaPDyPn9nH3q/dkT99mSMSU1AvTTpX8PN7DlqE6wZMbQsBPRGW7GElQ+Ox +IKdKOLk5AgMBAAECggEAd3kqzQqnaTiEs4ZoC9yPUUc1pErQ8iWP27Ar9TZ67MVa +B2ggFJV0C0sFwbFI9WnPNCn77gj4vzJmD0riH+SnS/tXThDFtscBu7BtvNp0C4Bj +8RWMvXxjxuENuQnBPFbkRWtZ6wk8uK/Zx9AAyyt9M07Qjz1wPfAIdm/IH7zHBFMA +gsqjnkLh1r0FvjNEbLiuGqYU/GVxaZYd+xy+JU52IxjHUUL9yD0BPWb+Szar6AM2 +gUpmTX6+BcCZwwZ//DzCoWYZ9JbP8akn6edBeZyuMPqYgLzZkPyQ+hRW46VPPw89 +yg4LR9nzgQiBHlac0laB4NrWa+d9QRRLitl1O3gVAQKBgQDDkptxXu7w9Lpc+HeE +N/pJfpCzUuF7ZC4vatdoDzvfB5Ky6W88Poq+I7bB9m7StXdFAbDyUBxvisjTBMVA +OtYqpAk/rhX8MjSAtjoFe2nH+eEiQriuZmtA5CdKEXS4hNbc/HhEPWhk7Zh8OV5v +y7l4r6l4UHqaN9QyE0vlFdmcmQKBgQDCZZR/trJ2/g2OquaS+Zd2h/3NXw0NBq4z +4OBEWqNa/R35jdK6WlWJH7+tKOacr+xtswLpPeZHGwMdk64/erbYWBuJWAjpH72J +DM9+1H5fFHANWpWTNn94enQxwfzZRvdkxq4IWzGhesptYnHIzoAmaqC3lbn/e3u0 +Flng32hFoQKBgQCF3D4K3hib0lYQtnxPgmUMktWF+A+fflViXTWs4uhu4mcVkFNz +n7clJ5q6reryzAQjtmGfqRedfRex340HRn46V2aBMK2Znd9zzcZu5CbmGnFvGs3/ +iNiWZNNDjike9sV+IkxLIODoW/vH4xhxWrbLFSjg0ezoy5ew4qZK2abF2QKBgQC5 +M5efeQpbjTyTUERtf/aKCZOGZmkDoPq0GCjxVjzNQdqd1z0NJ2TYR/QP36idXIlu +FZ7PYZaS5aw5MGpQtfOe94n8dm++0et7t0WzunRO1yTNxCA+aSxWNquegAcJZa/q +RdKlyWPmSRqzzZdDzWCPuQQ3AyF5wkYfUy/7qjwoIQKBgB2v96BV7+lICviIKzzb +1o3A3VzAX5MGd98uLGjlK4qsBC+s7mk2eQztiNZgbA0W6fhQ5Dz3HcXJ5ppy8Okc +jeAktrNRzz15hvi/XkWdO+VMqiHW4l+sWYukjhCyod1oO1KGHq0LYYvv076syxGw +vRKLq7IJ4WIp1VtfaBlrIogq +-----END PRIVATE KEY----- +-----BEGIN CERTIFICATE----- +MIIDTTCCAjWgAwIBAgIJAJ6VG2cQlsepMA0GCSqGSIb3DQEBCwUAMEwxCzAJBgNV +BAYTAkZSMQ4wDAYDVQQHDAVQYXJpczEZMBcGA1UECgwQQXltZXJpYyBBdWd1c3Rp +bjESMBAGA1UEAwwJbG9jYWxob3N0MCAXDTE4MDUwNTE2NTc1NloYDzIwNjAwNTA0 +MTY1NzU2WjBMMQswCQYDVQQGEwJGUjEOMAwGA1UEBwwFUGFyaXMxGTAXBgNVBAoM +EEF5bWVyaWMgQXVndXN0aW4xEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJSCtBWQ1sBZGWjNlSPXhR/PtgSnYxea+aF2 +V84YvCPL7E873xolG/n+dgXZ5YzeWVyYt7wVsFIr5AVOjiy7tlWdzqohM4epxINT +DTpZqtBQyz3huEdS9CnW7z5vaE2Ix4bDr5CIEjo4lE6IaktFuQ3pSPcArCLxJhWg +vIyLO27Bs3IZ/x8XcMOkdm0GK0a0xIEIyxCx8HjrmmXZSjIGtZraWxsu3dW8Flm8 +ep8S4+OmOMo3lRIhedp/Q2LNpHqmzcTJ9+1bLiLvMhA3m5MTG9o8PI+f2cfer92R +P32ZIxJTUC9NOlfw83sOWoTrBkxtCwE9EZbsYSVD47Egp0o4uTkCAwEAAaMwMC4w +LAYDVR0RBCUwI4IJbG9jYWxob3N0hwR/AAABhxAAAAAAAAAAAAAAAAAAAAABMA0G +CSqGSIb3DQEBCwUAA4IBAQA0imKp/rflfbDCCx78NdsR5rt0jKem2t3YPGT6tbeU ++FQz62SEdeD2OHWxpvfPf+6h3iTXJbkakr2R4lP3z7GHUe61lt3So9VHAvgbtPTH +aB1gOdThA83o0fzQtnIv67jCvE9gwPQInViZLEcm2iQEZLj6AuSvBKmluTR7vNRj +8/f2R4LsDfCWGrzk2W+deGRvSow7irS88NQ8BW8S8otgMiBx4D2UlOmQwqr6X+/r +jYIDuMb6GDKRXtBUGDokfE94hjj9u2mrNRwt8y4tqu8ZNa//yLEQ0Ow2kP3QJPLY +941VZpwRi2v/+JvI7OBYlvbOTFwM8nAk79k+Dgviygd9 +-----END CERTIFICATE----- diff --git a/venv/lib/python3.6/site-packages/websockets/test_protocol.py b/venv/lib/python3.6/site-packages/websockets/test_protocol.py new file mode 100644 index 0000000..19ec7bc --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/test_protocol.py @@ -0,0 +1,997 @@ +import asyncio +import contextlib +import functools +import logging +import os +import time +import unittest +import unittest.mock + +from .compatibility import asyncio_ensure_future +from .exceptions import ConnectionClosed, InvalidState +from .framing import * +from .protocol import State, WebSocketCommonProtocol + + +# Avoid displaying stack traces at the ERROR logging level. +logging.basicConfig(level=logging.CRITICAL) + + +# Unit for timeouts. May be increased on slow machines by setting the +# WEBSOCKETS_TESTS_TIMEOUT_FACTOR environment variable. +MS = 0.001 * int(os.environ.get('WEBSOCKETS_TESTS_TIMEOUT_FACTOR', 1)) + +# asyncio's debug mode has a 10x performance penalty for this test suite. +if os.environ.get('PYTHONASYNCIODEBUG'): # pragma: no cover + MS *= 10 + +# Ensure that timeouts are larger than the clock's resolution (for Windows). +MS = max(MS, 2.5 * time.get_clock_info('monotonic').resolution) + + +class TransportMock(unittest.mock.Mock): + """ + Transport mock to control the protocol's inputs and outputs in tests. + + It calls the protocol's connection_made and connection_lost methods like + actual transports. + + It also calls the protocol's connection_open method to bypass the + WebSocket handshake. + + To simulate incoming data, tests call the protocol's data_received and + eof_received methods directly. + + They could also pause_writing and resume_writing to test flow control. + + """ + # This should happen in __init__ but overriding Mock.__init__ is hard. + def setup_mock(self, loop, protocol): + self.loop = loop + self.protocol = protocol + self._eof = False + self._closing = False + # Simulate a successful TCP handshake. + self.protocol.connection_made(self) + # Simulate a successful WebSocket handshake. + self.protocol.connection_open() + + def can_write_eof(self): + return True + + def write_eof(self): + # When the protocol half-closes the TCP connection, it expects the + # other end to close it. Simulate that. + if not self._eof: + self.loop.call_soon(self.close) + self._eof = True + + def is_closing(self): + return self._closing + + def close(self): + # Simulate how actual transports drop the connection. + if not self._closing: + self.loop.call_soon(self.protocol.connection_lost, None) + self._closing = True + + def abort(self): + # Change this to an `if` if tests call abort() multiple times. + assert self.protocol.state is not State.CLOSED + self.loop.call_soon(self.protocol.connection_lost, None) + + +class CommonTests: + """ + Mixin that defines most tests but doesn't inherit unittest.TestCase. + + Tests are run by the ServerTests and ClientTests subclasses. + + """ + def setUp(self): + super().setUp() + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + self.protocol = WebSocketCommonProtocol() + self.transport = TransportMock() + self.transport.setup_mock(self.loop, self.protocol) + + def tearDown(self): + self.transport.close() + self.loop.run_until_complete(self.protocol.close()) + self.loop.close() + super().tearDown() + + # Utilities for writing tests. + + def run_loop_once(self): + # Process callbacks scheduled with call_soon by appending a callback + # to stop the event loop then running it until it hits that callback. + self.loop.call_soon(self.loop.stop) + self.loop.run_forever() + + def make_drain_slow(self, delay=MS): + # Process connection_made in order to initialize self.protocol.writer. + self.run_loop_once() + + original_drain = self.protocol.writer.drain + + @asyncio.coroutine + def delayed_drain(): + yield from asyncio.sleep(delay, loop=self.loop) + yield from original_drain() + + self.protocol.writer.drain = delayed_drain + + close_frame = Frame(True, OP_CLOSE, serialize_close(1000, 'close')) + local_close = Frame(True, OP_CLOSE, serialize_close(1000, 'local')) + remote_close = Frame(True, OP_CLOSE, serialize_close(1000, 'remote')) + + @property + def ensure_future(self): + return functools.partial(asyncio_ensure_future, loop=self.loop) + + def receive_frame(self, frame): + """ + Make the protocol receive a frame. + + """ + writer = self.protocol.data_received + mask = not self.protocol.is_client + frame.write(writer, mask=mask) + + def receive_eof(self): + """ + Make the protocol receive the end of the data stream. + + Since ``WebSocketCommonProtocol.eof_received`` returns ``None``, an + actual transport would close itself after calling it. This function + emulates that behavior. + + """ + self.protocol.eof_received() + self.loop.call_soon(self.transport.close) + + def receive_eof_if_client(self): + """ + Like receive_eof, but only if this is the client side. + + Since the server is supposed to initiate the termination of the TCP + connection, this method helps making tests work for both sides. + + """ + if self.protocol.is_client: + self.receive_eof() + + def close_connection(self, code=1000, reason='close'): + """ + Execute a closing handshake. + + This puts the connection in the CLOSED state. + + """ + close_frame_data = serialize_close(code, reason) + # Prepare the response to the closing handshake from the remote side. + self.receive_frame(Frame(True, OP_CLOSE, close_frame_data)) + self.receive_eof_if_client() + # Trigger the closing handshake from the local side and complete it. + self.loop.run_until_complete(self.protocol.close(code, reason)) + # Empty the outgoing data stream so we can make assertions later on. + self.assertOneFrameSent(True, OP_CLOSE, close_frame_data) + + assert self.protocol.state is State.CLOSED + + def half_close_connection_local(self, code=1000, reason='close'): + """ + Start a closing handshake but do not complete it. + + The main difference with `close_connection` is that the connection is + left in the CLOSING state until the event loop runs again. + + The current implementation returns a task that must be awaited or + cancelled, else asyncio complains about destroying a pending task. + + """ + close_frame_data = serialize_close(code, reason) + # Trigger the closing handshake from the local endpoint. + close_task = self.ensure_future(self.protocol.close(code, reason)) + self.run_loop_once() # wait_for executes + self.run_loop_once() # write_frame executes + # Empty the outgoing data stream so we can make assertions later on. + self.assertOneFrameSent(True, OP_CLOSE, close_frame_data) + + assert self.protocol.state is State.CLOSING + + # Complete the closing sequence at 1ms intervals so the test can run + # at each point even it goes back to the event loop several times. + self.loop.call_later( + MS, self.receive_frame, Frame(True, OP_CLOSE, close_frame_data)) + self.loop.call_later(2 * MS, self.receive_eof_if_client) + + # This task must be awaited or cancelled by the caller. + return close_task + + def half_close_connection_remote(self, code=1000, reason='close'): + """ + Receive a closing handshake but do not complete it. + + The main difference with `close_connection` is that the connection is + left in the CLOSING state until the event loop runs again. + + """ + # On the server side, websockets completes the closing handshake and + # closes the TCP connection immediately. Yield to the event loop after + # sending the close frame to run the test while the connection is in + # the CLOSING state. + if not self.protocol.is_client: + self.make_drain_slow() + + close_frame_data = serialize_close(code, reason) + # Trigger the closing handshake from the remote endpoint. + self.receive_frame(Frame(True, OP_CLOSE, close_frame_data)) + self.run_loop_once() # read_frame executes + # Empty the outgoing data stream so we can make assertions later on. + self.assertOneFrameSent(True, OP_CLOSE, close_frame_data) + + assert self.protocol.state is State.CLOSING + + # Complete the closing sequence at 1ms intervals so the test can run + # at each point even it goes back to the event loop several times. + self.loop.call_later(2 * MS, self.receive_eof_if_client) + + def process_invalid_frames(self): + """ + Make the protocol fail quickly after simulating invalid data. + + To achieve this, this function triggers the protocol's eof_received, + which interrupts pending reads waiting for more data. + + """ + self.run_loop_once() + self.receive_eof() + self.loop.run_until_complete(self.protocol.close_connection_task) + + def last_sent_frame(self): + """ + Read the last frame sent to the transport. + + This method assumes that at most one frame was sent. It raises an + AssertionError otherwise. + + """ + stream = asyncio.StreamReader(loop=self.loop) + + for (data,), kw in self.transport.write.call_args_list: + stream.feed_data(data) + self.transport.write.call_args_list = [] + stream.feed_eof() + + if stream.at_eof(): + frame = None + else: + frame = self.loop.run_until_complete(Frame.read( + stream.readexactly, mask=self.protocol.is_client)) + + if not stream.at_eof(): # pragma: no cover + data = self.loop.run_until_complete(stream.read()) + raise AssertionError("Trailing data found: {!r}".format(data)) + + return frame + + def assertOneFrameSent(self, *args): + self.assertEqual(self.last_sent_frame(), Frame(*args)) + + def assertNoFrameSent(self): + self.assertIsNone(self.last_sent_frame()) + + def assertConnectionClosed(self, code, message): + # The following line guarantees that connection_lost was called. + self.assertEqual(self.protocol.state, State.CLOSED) + # A close frame was received. + self.assertEqual(self.protocol.close_code, code) + self.assertEqual(self.protocol.close_reason, message) + + def assertConnectionFailed(self, code, message): + # The following line guarantees that connection_lost was called. + self.assertEqual(self.protocol.state, State.CLOSED) + # No close frame was received. + self.assertEqual(self.protocol.close_code, 1006) + self.assertEqual(self.protocol.close_reason, '') + # A close frame was sent -- unless the connection was already lost. + if code == 1006: + self.assertNoFrameSent() + else: + self.assertOneFrameSent( + True, OP_CLOSE, serialize_close(code, message)) + + @contextlib.contextmanager + def assertCompletesWithin(self, min_time, max_time): + t0 = self.loop.time() + yield + t1 = self.loop.time() + dt = t1 - t0 + self.assertGreaterEqual( + dt, min_time, "Too fast: {} < {}".format(dt, min_time)) + self.assertLess( + dt, max_time, "Too slow: {} >= {}".format(dt, max_time)) + + # Test public attributes. + + def test_local_address(self): + get_extra_info = unittest.mock.Mock(return_value=('host', 4312)) + self.transport.get_extra_info = get_extra_info + + self.assertEqual(self.protocol.local_address, ('host', 4312)) + get_extra_info.assert_called_with('sockname', None) + + def test_local_address_before_connection(self): + # Emulate the situation before connection_open() runs. + self.protocol.writer, _writer = None, self.protocol.writer + + try: + self.assertEqual(self.protocol.local_address, None) + finally: + self.protocol.writer = _writer + + def test_remote_address(self): + get_extra_info = unittest.mock.Mock(return_value=('host', 4312)) + self.transport.get_extra_info = get_extra_info + + self.assertEqual(self.protocol.remote_address, ('host', 4312)) + get_extra_info.assert_called_with('peername', None) + + def test_remote_address_before_connection(self): + # Emulate the situation before connection_open() runs. + self.protocol.writer, _writer = None, self.protocol.writer + + try: + self.assertEqual(self.protocol.remote_address, None) + finally: + self.protocol.writer = _writer + + def test_open(self): + self.assertTrue(self.protocol.open) + self.close_connection() + self.assertFalse(self.protocol.open) + + def test_closed(self): + self.assertFalse(self.protocol.closed) + self.close_connection() + self.assertTrue(self.protocol.closed) + + # Test the recv coroutine. + + def test_recv_text(self): + self.receive_frame(Frame(True, OP_TEXT, 'café'.encode('utf-8'))) + data = self.loop.run_until_complete(self.protocol.recv()) + self.assertEqual(data, 'café') + + def test_recv_binary(self): + self.receive_frame(Frame(True, OP_BINARY, b'tea')) + data = self.loop.run_until_complete(self.protocol.recv()) + self.assertEqual(data, b'tea') + + def test_recv_on_closing_connection_local(self): + close_task = self.half_close_connection_local() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.recv()) + + self.loop.run_until_complete(close_task) # cleanup + + def test_recv_on_closing_connection_remote(self): + self.half_close_connection_remote() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.recv()) + + def test_recv_on_closed_connection(self): + self.close_connection() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.recv()) + + def test_recv_protocol_error(self): + self.receive_frame(Frame(True, OP_CONT, 'café'.encode('utf-8'))) + self.process_invalid_frames() + self.assertConnectionFailed(1002, '') + + def test_recv_unicode_error(self): + self.receive_frame(Frame(True, OP_TEXT, 'café'.encode('latin-1'))) + self.process_invalid_frames() + self.assertConnectionFailed(1007, '') + + def test_recv_text_payload_too_big(self): + self.protocol.max_size = 1024 + self.receive_frame(Frame(True, OP_TEXT, 'café'.encode('utf-8') * 205)) + self.process_invalid_frames() + self.assertConnectionFailed(1009, '') + + def test_recv_binary_payload_too_big(self): + self.protocol.max_size = 1024 + self.receive_frame(Frame(True, OP_BINARY, b'tea' * 342)) + self.process_invalid_frames() + self.assertConnectionFailed(1009, '') + + def test_recv_text_no_max_size(self): + self.protocol.max_size = None # for test coverage + self.receive_frame(Frame(True, OP_TEXT, 'café'.encode('utf-8') * 205)) + data = self.loop.run_until_complete(self.protocol.recv()) + self.assertEqual(data, 'café' * 205) + + def test_recv_binary_no_max_size(self): + self.protocol.max_size = None # for test coverage + self.receive_frame(Frame(True, OP_BINARY, b'tea' * 342)) + data = self.loop.run_until_complete(self.protocol.recv()) + self.assertEqual(data, b'tea' * 342) + + def test_recv_other_error(self): + @asyncio.coroutine + def read_message(): + raise Exception("BOOM") + self.protocol.read_message = read_message + self.process_invalid_frames() + self.assertConnectionFailed(1011, '') + + def test_recv_cancelled(self): + recv = self.ensure_future(self.protocol.recv()) + self.loop.call_soon(recv.cancel) + with self.assertRaises(asyncio.CancelledError): + self.loop.run_until_complete(recv) + + # The next frame doesn't disappear in a vacuum (it used to). + self.receive_frame(Frame(True, OP_TEXT, 'café'.encode('utf-8'))) + data = self.loop.run_until_complete(self.protocol.recv()) + self.assertEqual(data, 'café') + + # Test the send coroutine. + + def test_send_text(self): + self.loop.run_until_complete(self.protocol.send('café')) + self.assertOneFrameSent(True, OP_TEXT, 'café'.encode('utf-8')) + + def test_send_binary(self): + self.loop.run_until_complete(self.protocol.send(b'tea')) + self.assertOneFrameSent(True, OP_BINARY, b'tea') + + def test_send_type_error(self): + with self.assertRaises(TypeError): + self.loop.run_until_complete(self.protocol.send(42)) + self.assertNoFrameSent() + + def test_send_on_closing_connection_local(self): + close_task = self.half_close_connection_local() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.send('foobar')) + + self.assertNoFrameSent() + + self.loop.run_until_complete(close_task) # cleanup + + def test_send_on_closing_connection_remote(self): + self.half_close_connection_remote() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.send('foobar')) + + self.assertNoFrameSent() + + def test_send_on_closed_connection(self): + self.close_connection() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.send('foobar')) + + self.assertNoFrameSent() + + # Test the ping coroutine. + + def test_ping_default(self): + self.loop.run_until_complete(self.protocol.ping()) + # With our testing tools, it's more convenient to extract the expected + # ping data from the library's internals than from the frame sent. + ping_data = next(iter(self.protocol.pings)) + self.assertIsInstance(ping_data, bytes) + self.assertEqual(len(ping_data), 4) + self.assertOneFrameSent(True, OP_PING, ping_data) + + def test_ping_text(self): + self.loop.run_until_complete(self.protocol.ping('café')) + self.assertOneFrameSent(True, OP_PING, 'café'.encode('utf-8')) + + def test_ping_binary(self): + self.loop.run_until_complete(self.protocol.ping(b'tea')) + self.assertOneFrameSent(True, OP_PING, b'tea') + + def test_ping_type_error(self): + with self.assertRaises(TypeError): + self.loop.run_until_complete(self.protocol.ping(42)) + self.assertNoFrameSent() + + def test_ping_on_closing_connection_local(self): + close_task = self.half_close_connection_local() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.ping()) + + self.assertNoFrameSent() + + self.loop.run_until_complete(close_task) # cleanup + + def test_ping_on_closing_connection_remote(self): + self.half_close_connection_remote() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.ping()) + + self.assertNoFrameSent() + + def test_ping_on_closed_connection(self): + self.close_connection() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.ping()) + + self.assertNoFrameSent() + + # Test the pong coroutine. + + def test_pong_default(self): + self.loop.run_until_complete(self.protocol.pong()) + self.assertOneFrameSent(True, OP_PONG, b'') + + def test_pong_text(self): + self.loop.run_until_complete(self.protocol.pong('café')) + self.assertOneFrameSent(True, OP_PONG, 'café'.encode('utf-8')) + + def test_pong_binary(self): + self.loop.run_until_complete(self.protocol.pong(b'tea')) + self.assertOneFrameSent(True, OP_PONG, b'tea') + + def test_pong_type_error(self): + with self.assertRaises(TypeError): + self.loop.run_until_complete(self.protocol.pong(42)) + self.assertNoFrameSent() + + def test_pong_on_closing_connection_local(self): + close_task = self.half_close_connection_local() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.pong()) + + self.assertNoFrameSent() + + self.loop.run_until_complete(close_task) # cleanup + + def test_pong_on_closing_connection_remote(self): + self.half_close_connection_remote() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.pong()) + + self.assertNoFrameSent() + + def test_pong_on_closed_connection(self): + self.close_connection() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.pong()) + + self.assertNoFrameSent() + + # Test the protocol's logic for acknowledging pings with pongs. + + def test_answer_ping(self): + self.receive_frame(Frame(True, OP_PING, b'test')) + self.run_loop_once() + self.assertOneFrameSent(True, OP_PONG, b'test') + + def test_ignore_pong(self): + self.receive_frame(Frame(True, OP_PONG, b'test')) + self.run_loop_once() + self.assertNoFrameSent() + + def test_acknowledge_ping(self): + ping = self.loop.run_until_complete(self.protocol.ping()) + self.assertFalse(ping.done()) + ping_frame = self.last_sent_frame() + pong_frame = Frame(True, OP_PONG, ping_frame.data) + self.receive_frame(pong_frame) + self.run_loop_once() + self.run_loop_once() + self.assertTrue(ping.done()) + + def test_cancel_ping(self): + ping = self.loop.run_until_complete(self.protocol.ping()) + # Remove the frame from the buffer, else close_connection() complains. + self.last_sent_frame() + self.assertFalse(ping.cancelled()) + self.close_connection() + self.assertTrue(ping.cancelled()) + + def test_acknowledge_previous_pings(self): + pings = [( + self.loop.run_until_complete(self.protocol.ping()), + self.last_sent_frame(), + ) for i in range(3)] + # Unsolicited pong doesn't acknowledge pings + self.receive_frame(Frame(True, OP_PONG, b'')) + self.run_loop_once() + self.run_loop_once() + self.assertFalse(pings[0][0].done()) + self.assertFalse(pings[1][0].done()) + self.assertFalse(pings[2][0].done()) + # Pong acknowledges all previous pings + self.receive_frame(Frame(True, OP_PONG, pings[1][1].data)) + self.run_loop_once() + self.run_loop_once() + self.assertTrue(pings[0][0].done()) + self.assertTrue(pings[1][0].done()) + self.assertFalse(pings[2][0].done()) + + def test_cancelled_ping(self): + ping = self.loop.run_until_complete(self.protocol.ping()) + ping_frame = self.last_sent_frame() + ping.cancel() + pong_frame = Frame(True, OP_PONG, ping_frame.data) + self.receive_frame(pong_frame) + self.run_loop_once() + self.run_loop_once() + self.assertTrue(ping.cancelled()) + + def test_duplicate_ping(self): + self.loop.run_until_complete(self.protocol.ping(b'foobar')) + self.assertOneFrameSent(True, OP_PING, b'foobar') + with self.assertRaises(ValueError): + self.loop.run_until_complete(self.protocol.ping(b'foobar')) + self.assertNoFrameSent() + + # Test the protocol's logic for rebuilding fragmented messages. + + def test_fragmented_text(self): + self.receive_frame(Frame(False, OP_TEXT, 'ca'.encode('utf-8'))) + self.receive_frame(Frame(True, OP_CONT, 'fé'.encode('utf-8'))) + data = self.loop.run_until_complete(self.protocol.recv()) + self.assertEqual(data, 'café') + + def test_fragmented_binary(self): + self.receive_frame(Frame(False, OP_BINARY, b't')) + self.receive_frame(Frame(False, OP_CONT, b'e')) + self.receive_frame(Frame(True, OP_CONT, b'a')) + data = self.loop.run_until_complete(self.protocol.recv()) + self.assertEqual(data, b'tea') + + def test_fragmented_text_payload_too_big(self): + self.protocol.max_size = 1024 + self.receive_frame(Frame(False, OP_TEXT, 'café'.encode('utf-8') * 100)) + self.receive_frame(Frame(True, OP_CONT, 'café'.encode('utf-8') * 105)) + self.process_invalid_frames() + self.assertConnectionFailed(1009, '') + + def test_fragmented_binary_payload_too_big(self): + self.protocol.max_size = 1024 + self.receive_frame(Frame(False, OP_BINARY, b'tea' * 171)) + self.receive_frame(Frame(True, OP_CONT, b'tea' * 171)) + self.process_invalid_frames() + self.assertConnectionFailed(1009, '') + + def test_fragmented_text_no_max_size(self): + self.protocol.max_size = None # for test coverage + self.receive_frame(Frame(False, OP_TEXT, 'café'.encode('utf-8') * 100)) + self.receive_frame(Frame(True, OP_CONT, 'café'.encode('utf-8') * 105)) + data = self.loop.run_until_complete(self.protocol.recv()) + self.assertEqual(data, 'café' * 205) + + def test_fragmented_binary_no_max_size(self): + self.protocol.max_size = None # for test coverage + self.receive_frame(Frame(False, OP_BINARY, b'tea' * 171)) + self.receive_frame(Frame(True, OP_CONT, b'tea' * 171)) + data = self.loop.run_until_complete(self.protocol.recv()) + self.assertEqual(data, b'tea' * 342) + + def test_control_frame_within_fragmented_text(self): + self.receive_frame(Frame(False, OP_TEXT, 'ca'.encode('utf-8'))) + self.receive_frame(Frame(True, OP_PING, b'')) + self.receive_frame(Frame(True, OP_CONT, 'fé'.encode('utf-8'))) + data = self.loop.run_until_complete(self.protocol.recv()) + self.assertEqual(data, 'café') + self.assertOneFrameSent(True, OP_PONG, b'') + + def test_unterminated_fragmented_text(self): + self.receive_frame(Frame(False, OP_TEXT, 'ca'.encode('utf-8'))) + # Missing the second part of the fragmented frame. + self.receive_frame(Frame(True, OP_BINARY, b'tea')) + self.process_invalid_frames() + self.assertConnectionFailed(1002, '') + + def test_close_handshake_in_fragmented_text(self): + self.receive_frame(Frame(False, OP_TEXT, 'ca'.encode('utf-8'))) + self.receive_frame(Frame(True, OP_CLOSE, b'')) + self.process_invalid_frames() + # The RFC may have overlooked this case: it says that control frames + # can be interjected in the middle of a fragmented message and that a + # close frame must be echoed. Even though there's an unterminated + # message, technically, the closing handshake was successful. + self.assertConnectionClosed(1005, '') + + def test_connection_close_in_fragmented_text(self): + self.receive_frame(Frame(False, OP_TEXT, 'ca'.encode('utf-8'))) + self.process_invalid_frames() + self.assertConnectionFailed(1006, '') + + # Test miscellaneous code paths to ensure full coverage. + + def test_connection_lost(self): + # Test calling connection_lost without going through close_connection. + self.protocol.connection_lost(None) + + self.assertConnectionFailed(1006, '') + + def test_ensure_open_before_opening_handshake(self): + # Simulate a bug by forcibly reverting the protocol state. + self.protocol.state = State.CONNECTING + + with self.assertRaises(InvalidState): + self.loop.run_until_complete(self.protocol.ensure_open()) + + def test_ensure_open_during_unclean_close(self): + # Process connection_made in order to start transfer_data_task. + self.run_loop_once() + + # Ensure the test terminates quickly. + self.loop.call_later(MS, self.receive_eof_if_client) + + # Simulate the case when close() times out sending a close frame. + self.protocol.fail_connection() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.ensure_open()) + + def test_legacy_recv(self): + # By default legacy_recv in disabled. + self.assertEqual(self.protocol.legacy_recv, False) + + self.close_connection() + + # Enable legacy_recv. + self.protocol.legacy_recv = True + + # Now recv() returns None instead of raising ConnectionClosed. + self.assertIsNone(self.loop.run_until_complete(self.protocol.recv())) + + def test_connection_closed_attributes(self): + self.close_connection() + + with self.assertRaises(ConnectionClosed) as context: + self.loop.run_until_complete(self.protocol.recv()) + + connection_closed_exc = context.exception + self.assertEqual(connection_closed_exc.code, 1000) + self.assertEqual(connection_closed_exc.reason, 'close') + + # Test the protocol logic for closing the connection. + + def test_local_close(self): + # Emulate how the remote endpoint answers the closing handshake. + self.loop.call_later(MS, self.receive_frame, self.close_frame) + self.loop.call_later(MS, self.receive_eof_if_client) + + # Run the closing handshake. + self.loop.run_until_complete(self.protocol.close(reason='close')) + + self.assertConnectionClosed(1000, 'close') + self.assertOneFrameSent(*self.close_frame) + + # Closing the connection again is a no-op. + self.loop.run_until_complete(self.protocol.close(reason='oh noes!')) + + self.assertConnectionClosed(1000, 'close') + self.assertNoFrameSent() + + def test_remote_close(self): + # Emulate how the remote endpoint initiates the closing handshake. + self.loop.call_later(MS, self.receive_frame, self.close_frame) + self.loop.call_later(MS, self.receive_eof_if_client) + + # Wait for some data in order to process the handshake. + # After recv() raises ConnectionClosed, the connection is closed. + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(self.protocol.recv()) + + self.assertConnectionClosed(1000, 'close') + self.assertOneFrameSent(*self.close_frame) + + # Closing the connection again is a no-op. + self.loop.run_until_complete(self.protocol.close(reason='oh noes!')) + + self.assertConnectionClosed(1000, 'close') + self.assertNoFrameSent() + + def test_simultaneous_close(self): + # Receive the incoming close frame right after self.protocol.close() + # starts executing. This reproduces the error described in: + # https://github.com/aaugustin/websockets/issues/339 + self.loop.call_soon(self.receive_frame, self.remote_close) + self.loop.call_soon(self.receive_eof_if_client) + + self.loop.run_until_complete(self.protocol.close(reason='local')) + + self.assertConnectionClosed(1000, 'remote') + # The current implementation sends a close frame in response to the + # close frame received from the remote end. It skips the close frame + # that should be sent as a result of calling close(). + self.assertOneFrameSent(*self.remote_close) + + def test_close_preserves_incoming_frames(self): + self.receive_frame(Frame(True, OP_TEXT, b'hello')) + + self.loop.call_later(MS, self.receive_frame, self.close_frame) + self.loop.call_later(MS, self.receive_eof_if_client) + self.loop.run_until_complete(self.protocol.close(reason='close')) + + self.assertConnectionClosed(1000, 'close') + self.assertOneFrameSent(*self.close_frame) + + next_message = self.loop.run_until_complete(self.protocol.recv()) + self.assertEqual(next_message, 'hello') + + def test_close_protocol_error(self): + invalid_close_frame = Frame(True, OP_CLOSE, b'\x00') + self.receive_frame(invalid_close_frame) + self.receive_eof_if_client() + self.run_loop_once() + self.loop.run_until_complete(self.protocol.close(reason='close')) + + self.assertConnectionFailed(1002, '') + + def test_close_connection_lost(self): + self.receive_eof() + self.run_loop_once() + self.loop.run_until_complete(self.protocol.close(reason='close')) + + self.assertConnectionFailed(1006, '') + + def test_local_close_during_recv(self): + recv = self.ensure_future(self.protocol.recv()) + + self.loop.call_later(MS, self.receive_frame, self.close_frame) + self.loop.call_later(MS, self.receive_eof_if_client) + + self.loop.run_until_complete(self.protocol.close(reason='close')) + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(recv) + + self.assertConnectionClosed(1000, 'close') + + # There is no test_remote_close_during_recv because it would be identical + # to test_remote_close. + + def test_remote_close_during_send(self): + self.make_drain_slow() + send = self.ensure_future(self.protocol.send('hello')) + + self.receive_frame(self.close_frame) + self.receive_eof() + + with self.assertRaises(ConnectionClosed): + self.loop.run_until_complete(send) + + self.assertConnectionClosed(1000, 'close') + + # There is no test_local_close_during_send because this cannot really + # happen, considering that writes are serialized. + + +class ServerTests(CommonTests, unittest.TestCase): + + def setUp(self): + super().setUp() + self.protocol.is_client = False + self.protocol.side = 'server' + + def test_local_close_send_close_frame_timeout(self): + self.protocol.timeout = 10 * MS + self.make_drain_slow(50 * MS) + # If we can't send a close frame, time out in 10ms. + # Check the timing within -1/+9ms for robustness. + with self.assertCompletesWithin(9 * MS, 19 * MS): + self.loop.run_until_complete(self.protocol.close(reason='close')) + self.assertConnectionClosed(1006, '') + + def test_local_close_receive_close_frame_timeout(self): + self.protocol.timeout = 10 * MS + # If the client doesn't send a close frame, time out in 10ms. + # Check the timing within -1/+9ms for robustness. + with self.assertCompletesWithin(9 * MS, 19 * MS): + self.loop.run_until_complete(self.protocol.close(reason='close')) + self.assertConnectionClosed(1006, '') + + def test_local_close_connection_lost_timeout_after_write_eof(self): + self.protocol.timeout = 10 * MS + # If the client doesn't close its side of the TCP connection after we + # half-close our side with write_eof(), time out in 10ms. + # Check the timing within -1/+9ms for robustness. + with self.assertCompletesWithin(9 * MS, 19 * MS): + # HACK: disable write_eof => other end drops connection emulation. + self.transport._eof = True + self.receive_frame(self.close_frame) + self.loop.run_until_complete(self.protocol.close(reason='close')) + self.assertConnectionClosed(1000, 'close') + + def test_local_close_connection_lost_timeout_after_close(self): + self.protocol.timeout = 10 * MS + # If the client doesn't close its side of the TCP connection after we + # half-close our side with write_eof() and close it with close(), time + # out in 20ms. + # Check the timing within -1/+9ms for robustness. + with self.assertCompletesWithin(19 * MS, 29 * MS): + # HACK: disable write_eof => other end drops connection emulation. + self.transport._eof = True + # HACK: disable close => other end drops connection emulation. + self.transport._closing = True + self.receive_frame(self.close_frame) + self.loop.run_until_complete(self.protocol.close(reason='close')) + self.assertConnectionClosed(1000, 'close') + + +class ClientTests(CommonTests, unittest.TestCase): + + def setUp(self): + super().setUp() + self.protocol.is_client = True + self.protocol.side = 'client' + + def test_local_close_send_close_frame_timeout(self): + self.protocol.timeout = 10 * MS + self.make_drain_slow(50 * MS) + # If we can't send a close frame, time out in 20ms. + # - 10ms waiting for sending a close frame + # - 10ms waiting for receiving a half-close + # Check the timing within -1/+9ms for robustness. + with self.assertCompletesWithin(19 * MS, 29 * MS): + self.loop.run_until_complete(self.protocol.close(reason='close')) + self.assertConnectionClosed(1006, '') + + def test_local_close_receive_close_frame_timeout(self): + self.protocol.timeout = 10 * MS + # If the server doesn't send a close frame, time out in 20ms: + # - 10ms waiting for receiving a close frame + # - 10ms waiting for receiving a half-close + # Check the timing within -1/+9ms for robustness. + with self.assertCompletesWithin(19 * MS, 29 * MS): + self.loop.run_until_complete(self.protocol.close(reason='close')) + self.assertConnectionClosed(1006, '') + + def test_local_close_connection_lost_timeout_after_write_eof(self): + self.protocol.timeout = 10 * MS + # If the server doesn't half-close its side of the TCP connection + # after we send a close frame, time out in 20ms: + # - 10ms waiting for receiving a half-close + # - 10ms waiting for receiving a close after write_eof + # Check the timing within -1/+9ms for robustness. + with self.assertCompletesWithin(19 * MS, 29 * MS): + # HACK: disable write_eof => other end drops connection emulation. + self.transport._eof = True + self.receive_frame(self.close_frame) + self.loop.run_until_complete(self.protocol.close(reason='close')) + self.assertConnectionClosed(1000, 'close') + + def test_local_close_connection_lost_timeout_after_close(self): + self.protocol.timeout = 10 * MS + # If the client doesn't close its side of the TCP connection after we + # half-close our side with write_eof() and close it with close(), time + # out in 20ms. + # - 10ms waiting for receiving a half-close + # - 10ms waiting for receiving a close after write_eof + # - 10ms waiting for receiving a close after close + # Check the timing within -1/+9ms for robustness. + with self.assertCompletesWithin(29 * MS, 39 * MS): + # HACK: disable write_eof => other end drops connection emulation. + self.transport._eof = True + # HACK: disable close => other end drops connection emulation. + self.transport._closing = True + self.receive_frame(self.close_frame) + self.loop.run_until_complete(self.protocol.close(reason='close')) + self.assertConnectionClosed(1000, 'close') diff --git a/venv/lib/python3.6/site-packages/websockets/test_speedups.py b/venv/lib/python3.6/site-packages/websockets/test_speedups.py new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.6/site-packages/websockets/test_uri.py b/venv/lib/python3.6/site-packages/websockets/test_uri.py new file mode 100644 index 0000000..86e305a --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/test_uri.py @@ -0,0 +1,48 @@ +import unittest + +from .exceptions import InvalidURI +from .uri import * + + +VALID_URIS = [ + ( + 'ws://localhost/', + (False, 'localhost', 80, '/', None), + ), + ( + 'wss://localhost/', + (True, 'localhost', 443, '/', None), + ), + ( + 'ws://localhost/path?query', + (False, 'localhost', 80, '/path?query', None), + ), + ( + 'WS://LOCALHOST/PATH?QUERY', + (False, 'localhost', 80, '/PATH?QUERY', None), + ), + ( + 'ws://user:pass@localhost/', + (False, 'localhost', 80, '/', ('user', 'pass')), + ), +] + +INVALID_URIS = [ + 'http://localhost/', + 'https://localhost/', + 'ws://localhost/path#fragment', +] + + +class URITests(unittest.TestCase): + + def test_success(self): + for uri, parsed in VALID_URIS: + with self.subTest(uri=uri): + self.assertEqual(parse_uri(uri), parsed) + + def test_error(self): + for uri in INVALID_URIS: + with self.subTest(uri=uri): + with self.assertRaises(InvalidURI): + parse_uri(uri) diff --git a/venv/lib/python3.6/site-packages/websockets/test_utils.py b/venv/lib/python3.6/site-packages/websockets/test_utils.py new file mode 100644 index 0000000..9611ee7 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/test_utils.py @@ -0,0 +1,53 @@ +import unittest + +from .utils import apply_mask as py_apply_mask + + +class UtilsTests(unittest.TestCase): + + @staticmethod + def apply_mask(*args, **kwargs): + return py_apply_mask(*args, **kwargs) + + def test_apply_mask(self): + for data_in, mask, data_out in [ + (b'', b'1234', b''), + (b'aBcDe', b'\x00\x00\x00\x00', b'aBcDe'), + (b'abcdABCD', b'1234', b'PPPPpppp'), + (b'abcdABCD' * 10, b'1234', b'PPPPpppp' * 10), + ]: + with self.subTest(data_in=data_in, mask=mask): + self.assertEqual(self.apply_mask(data_in, mask), data_out) + + def test_apply_mask_check_input_types(self): + for data_in, mask in [ + (None, None), + (b'abcd', None), + (None, b'abcd'), + ]: + with self.subTest(data_in=data_in, mask=mask): + with self.assertRaises(TypeError): + self.apply_mask(data_in, mask) + + def test_apply_mask_check_mask_length(self): + for data_in, mask in [ + (b'', b''), + (b'abcd', b'123'), + (b'', b'aBcDe'), + (b'12345678', b'12345678'), + ]: + with self.subTest(data_in=data_in, mask=mask): + with self.assertRaises(ValueError): + self.apply_mask(data_in, mask) + + +try: + from .speedups import apply_mask as c_apply_mask +except ImportError: # pragma: no cover + pass +else: + class SpeedupsTests(UtilsTests): + + @staticmethod + def apply_mask(*args, **kwargs): + return c_apply_mask(*args, **kwargs) diff --git a/venv/lib/python3.6/site-packages/websockets/uri.py b/venv/lib/python3.6/site-packages/websockets/uri.py new file mode 100644 index 0000000..21f757f --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/uri.py @@ -0,0 +1,60 @@ +""" +The :mod:`websockets.uri` module implements parsing of WebSocket URIs +according to `section 3 of RFC 6455`_. + +.. _section 3 of RFC 6455: http://tools.ietf.org/html/rfc6455#section-3 + +""" + +import collections +import urllib.parse + +from .exceptions import InvalidURI + + +__all__ = ['parse_uri', 'WebSocketURI'] + +WebSocketURI = collections.namedtuple( + 'WebSocketURI', ['secure', 'host', 'port', 'resource_name', 'user_info']) +WebSocketURI.__doc__ = """WebSocket URI. + +* ``secure`` is the secure flag +* ``host`` is the lower-case host +* ``port`` if the integer port, it's always provided even if it's the default +* ``resource_name`` is the resource name, that is, the path and optional query +* ``user_info`` is an ``(username, password)`` tuple when the URI contains + `User Information`_, else ``None``. + +.. _User Information: https://tools.ietf.org/html/rfc3986#section-3.2.1 + +""" + + +def parse_uri(uri): + """ + This function parses and validates a WebSocket URI. + + If the URI is valid, it returns a :class:`WebSocketURI`. + + Otherwise it raises an :exc:`~websockets.exceptions.InvalidURI` exception. + + """ + uri = urllib.parse.urlparse(uri) + try: + assert uri.scheme in ['ws', 'wss'] + assert uri.params == '' + assert uri.fragment == '' + assert uri.hostname is not None + except AssertionError as exc: + raise InvalidURI("{} isn't a valid URI".format(uri)) from exc + + secure = uri.scheme == 'wss' + host = uri.hostname + port = uri.port or (443 if secure else 80) + resource_name = uri.path or '/' + if uri.query: + resource_name += '?' + uri.query + user_info = None + if uri.username or uri.password: + user_info = (uri.username, uri.password) + return WebSocketURI(secure, host, port, resource_name, user_info) diff --git a/venv/lib/python3.6/site-packages/websockets/utils.py b/venv/lib/python3.6/site-packages/websockets/utils.py new file mode 100644 index 0000000..b4083df --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/utils.py @@ -0,0 +1,14 @@ +import itertools + + +__all__ = ['apply_mask'] + + +def apply_mask(data, mask): + """ + Apply masking to websocket message. + + """ + if len(mask) != 4: + raise ValueError("mask must contain 4 bytes") + return bytes(b ^ m for b, m in zip(data, itertools.cycle(mask))) diff --git a/venv/lib/python3.6/site-packages/websockets/version.py b/venv/lib/python3.6/site-packages/websockets/version.py new file mode 100644 index 0000000..9d929a9 --- /dev/null +++ b/venv/lib/python3.6/site-packages/websockets/version.py @@ -0,0 +1 @@ +version = '6.0' diff --git a/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/INSTALLER b/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/LICENSE.txt b/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/LICENSE.txt new file mode 100644 index 0000000..cc5cfd6 --- /dev/null +++ b/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/LICENSE.txt @@ -0,0 +1,201 @@ + 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 2016-2018, Andrew Svetlov and aio-libs team + + 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/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/METADATA b/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/METADATA new file mode 100644 index 0000000..81d2cef --- /dev/null +++ b/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/METADATA @@ -0,0 +1,551 @@ +Metadata-Version: 2.1 +Name: yarl +Version: 1.3.0 +Summary: Yet another URL library +Home-page: https://github.com/aio-libs/yarl/ +Author: Andrew Svetlov +Author-email: andrew.svetlov@gmail.com +License: Apache 2 +Platform: UNKNOWN +Classifier: License :: OSI Approved :: Apache Software License +Classifier: Intended Audience :: Developers +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Topic :: Internet :: WWW/HTTP +Requires-Python: >=3.5.3 +Requires-Dist: multidict (>=4.0) +Requires-Dist: idna (>=2.0) + +yarl +==== + +.. image:: https://travis-ci.com/aio-libs/yarl.svg?branch=master + :target: https://travis-ci.com/aio-libs/yarl + :align: right + +.. image:: https://codecov.io/gh/aio-libs/yarl/branch/master/graph/badge.svg + :target: https://codecov.io/gh/aio-libs/yarl + +.. image:: https://badge.fury.io/py/yarl.svg + :target: https://badge.fury.io/py/yarl + + +.. image:: https://readthedocs.org/projects/yarl/badge/?version=latest + :target: https://yarl.readthedocs.io + + +.. image:: https://img.shields.io/pypi/pyversions/yarl.svg + :target: https://pypi.python.org/pypi/yarl + +.. image:: https://badges.gitter.im/Join%20Chat.svg + :target: https://gitter.im/aio-libs/Lobby + :alt: Chat on Gitter + +Introduction +------------ + +Url is constructed from ``str``:: + + >>> from yarl import URL + >>> url = URL('https://www.python.org/~guido?arg=1#frag') + >>> url + URL('https://www.python.org/~guido?arg=1#frag') + +All url parts: *scheme*, *user*, *password*, *host*, *port*, *path*, +*query* and *fragment* are accessible by properties:: + + >>> url.scheme + 'https' + >>> url.host + 'www.python.org' + >>> url.path + '/~guido' + >>> url.query_string + 'arg=1' + >>> url.query + <MultiDictProxy('arg': '1')> + >>> url.fragment + 'frag' + +All url manipulations produce a new url object:: + + >>> url.parent / 'downloads/source' + URL('https://www.python.org/downloads/source') + +Strings passed to constructor and modification methods are +automatically encoded giving canonical representation as result:: + + >>> url = URL('https://www.python.org/путь') + >>> url + URL('https://www.python.org/%D0%BF%D1%83%D1%82%D1%8C') + +Regular properties are *percent-decoded*, use ``raw_`` versions for +getting *encoded* strings:: + + >>> url.path + '/путь' + + >>> url.raw_path + '/%D0%BF%D1%83%D1%82%D1%8C' + +Human readable representation of URL is available as ``.human_repr()``:: + + >>> url.human_repr() + 'https://www.python.org/путь' + +For full documentation please read https://yarl.readthedocs.org. + + +Installation +------------ + +:: + + $ pip install yarl + +The library is Python 3 only! + + +Dependencies +------------ + +YARL requires multidict_ library. + + +API documentation +------------------ + +The documentation is located at https://yarl.readthedocs.org + +Comparison with other URL libraries +------------------------------------ + +* furl (https://pypi.python.org/pypi/furl) + + The library has rich functionality but the ``furl`` object is mutable. + + I'm afraid to pass this object into foreign code: who knows if the + code will modify my url in a terrible way while I just want to send URL + with handy helpers for accessing URL properties. + + ``furl`` has other non-obvious tricky things but the main objection + is mutability. + +* URLObject (https://pypi.python.org/pypi/URLObject) + + URLObject is immutable, that's pretty good. + + Every URL change generates a new URL object. + + But the library doesn't do any decode/encode transformations leaving the + end user to cope with these gory details. + + +Source code +----------- + +The project is hosted on GitHub_ + +Please file an issue on the `bug tracker +<https://github.com/aio-libs/yarl/issues>`_ if you have found a bug +or have some suggestion in order to improve the library. + +The library uses `Travis <https://travis-ci.org/aio-libs/yarl>`_ for +Continuous Integration. + +Discussion list +--------------- + +*aio-libs* google group: https://groups.google.com/forum/#!forum/aio-libs + +Feel free to post your questions and ideas here. + + +Authors and License +------------------- + +The ``yarl`` package is written by Andrew Svetlov. + +It's *Apache 2* licensed and freely available. + + +.. _GitHub: https://github.com/aio-libs/yarl + +.. _multidict: https://github.com/aio-libs/multidict + + +CHANGES +======= + +1.3.0 (2018-12-11) +------------------ + +* Fix annotations for ``query`` parameter (#207) + +* An incoming query sequence can have int variables (the same as for + Mapping type) (#208) + +* Add ``URL.explicit_port`` property (#218) + +* Give a friendlier error when port cant be converted to int (#168) + +* ``bool(URL())`` now returns ``False`` (#272) + +1.2.6 (2018-06-14) +------------------ + +* Drop Python 3.4 trove classifier (#205) + +1.2.5 (2018-05-23) +------------------ + +* Fix annotations for ``build`` (#199) + +1.2.4 (2018-05-08) +------------------ + +* Fix annotations for ``cached_property`` (#195) + +1.2.3 (2018-05-03) +------------------ + +* Accept ``str`` subclasses in ``URL`` constructor (#190) + +1.2.2 (2018-05-01) +------------------ + +* Fix build + +1.2.1 (2018-04-30) +------------------ + +* Pin minimal required Python to 3.5.3 (#189) + +1.2.0 (2018-04-30) +------------------ + +* Forbid inheritance, replace ``__init__`` with ``__new__`` (#171) + +* Support PEP-561 (provide type hinting marker) (#182) + +1.1.1 (2018-02-17) +------------------ + +* Fix performance regression: don't encode enmpty netloc (#170) + +1.1.0 (2018-01-21) +------------------ + +* Make pure Python quoter consistent with Cython version (#162) + +1.0.0 (2018-01-15) +------------------ + +* Use fast path if quoted string does not need requoting (#154) + +* Speed up quoting/unquoting by ``_Quoter`` and ``_Unquoter`` classes (#155) + +* Drop ``yarl.quote`` and ``yarl.unquote`` public functions (#155) + +* Add custom string writer, reuse static buffer if available (#157) + Code is 50-80 times faster than Pure Python version (was 4-5 times faster) + +* Don't recode IP zone (#144) + +* Support ``encoded=True`` in ``yarl.URL.build()`` (#158) + +* Fix updating query with multiple keys (#160) + +0.18.0 (2018-01-10) +------------------- + +* Fallback to IDNA 2003 if domain name is not IDNA 2008 compatible (#152) + +0.17.0 (2017-12-30) +------------------- + +* Use IDNA 2008 for domain name processing (#149) + +0.16.0 (2017-12-07) +------------------- + +* Fix raising ``TypeError`` by ``url.query_string()`` after + ``url.with_query({})`` (empty mapping) (#141) + +0.15.0 (2017-11-23) +------------------- + +* Add ``raw_path_qs`` attribute (#137) + +0.14.2 (2017-11-14) +------------------- + +* Restore ``strict`` parameter as no-op in ``quote`` / ``unquote`` + +0.14.1 (2017-11-13) +------------------- + +* Restore ``strict`` parameter as no-op for sake of compatibility with + aiohttp 2.2 + +0.14.0 (2017-11-11) +------------------- + +* Drop strict mode (#123) + +* Fix ``"ValueError: Unallowed PCT %"`` when there's a ``"%"`` in the url (#124) + +0.13.0 (2017-10-01) +------------------- + +* Document ``encoded`` parameter (#102) + +* Support relative urls like ``'?key=value'`` (#100) + +* Unsafe encoding for QS fixed. Encode ``;`` char in value param (#104) + +* Process passwords without user names (#95) + +0.12.0 (2017-06-26) +------------------- + +* Properly support paths without leading slash in ``URL.with_path()`` (#90) + +* Enable type annotation checks + +0.11.0 (2017-06-26) +------------------- + +* Normalize path (#86) + +* Clear query and fragment parts in ``.with_path()`` (#85) + +0.10.3 (2017-06-13) +------------------- + +* Prevent double URL args unquoting (#83) + +0.10.2 (2017-05-05) +------------------- + +* Unexpected hash behaviour (#75) + + +0.10.1 (2017-05-03) +------------------- + +* Unexpected compare behaviour (#73) + +* Do not quote or unquote + if not a query string. (#74) + + +0.10.0 (2017-03-14) +------------------- + +* Added ``URL.build`` class method (#58) + +* Added ``path_qs`` attribute (#42) + + +0.9.8 (2017-02-16) +------------------ + +* Do not quote ``:`` in path + + +0.9.7 (2017-02-16) +------------------ + +* Load from pickle without _cache (#56) + +* Percent-encoded pluses in path variables become spaces (#59) + + +0.9.6 (2017-02-15) +------------------ + +* Revert backward incompatible change (BaseURL) + + +0.9.5 (2017-02-14) +------------------ + +* Fix BaseURL rich comparison support + + +0.9.4 (2017-02-14) +------------------ + +* Use BaseURL + + +0.9.3 (2017-02-14) +------------------ + +* Added BaseURL + + +0.9.2 (2017-02-08) +------------------ + +* Remove debug print + + +0.9.1 (2017-02-07) +------------------ + +* Do not lose tail chars (#45) + + +0.9.0 (2017-02-07) +------------------ + +* Allow to quote ``%`` in non strict mode (#21) + +* Incorrect parsing of query parameters with %3B (;) inside (#34) + +* Fix core dumps (#41) + +* tmpbuf - compiling error (#43) + +* Added ``URL.update_path()`` method + +* Added ``URL.update_query()`` method (#47) + + +0.8.1 (2016-12-03) +------------------ + +* Fix broken aiohttp: revert back ``quote`` / ``unquote``. + + +0.8.0 (2016-12-03) +------------------ + +* Support more verbose error messages in ``.with_query()`` (#24) + +* Don't percent-encode ``@`` and ``:`` in path (#32) + +* Don't expose ``yarl.quote`` and ``yarl.unquote``, these functions are + part of private API + +0.7.1 (2016-11-18) +------------------ + +* Accept not only ``str`` but all classes inherited from ``str`` also (#25) + +0.7.0 (2016-11-07) +------------------ + +* Accept ``int`` as value for ``.with_query()`` + +0.6.0 (2016-11-07) +------------------ + +* Explicitly use UTF8 encoding in setup.py (#20) +* Properly unquote non-UTF8 strings (#19) + +0.5.3 (2016-11-02) +------------------ + +* Don't use namedtuple fields but indexes on URL construction + +0.5.2 (2016-11-02) +------------------ + +* Inline ``_encode`` class method + +0.5.1 (2016-11-02) +------------------ + +* Make URL construction faster by removing extra classmethod calls + +0.5.0 (2016-11-02) +------------------ + +* Add cython optimization for quoting/unquoting +* Provide binary wheels + +0.4.3 (2016-09-29) +------------------ + +* Fix typing stubs + +0.4.2 (2016-09-29) +------------------ + +* Expose ``quote()`` and ``unquote()`` as public API + +0.4.1 (2016-09-28) +------------------ + +* Support empty values in query (``'/path?arg'``) + +0.4.0 (2016-09-27) +------------------ + +* Introduce ``relative()`` (#16) + +0.3.2 (2016-09-27) +------------------ + +* Typo fixes #15 + +0.3.1 (2016-09-26) +------------------ + +* Support sequence of pairs as ``with_query()`` parameter + +0.3.0 (2016-09-26) +------------------ + +* Introduce ``is_default_port()`` + +0.2.1 (2016-09-26) +------------------ + +* Raise ValueError for URLs like 'http://:8080/' + +0.2.0 (2016-09-18) +------------------ + +* Avoid doubling slashes when joining paths (#13) + +* Appending path starting from slash is forbidden (#12) + +0.1.4 (2016-09-09) +------------------ + +* Add kwargs support for ``with_query()`` (#10) + +0.1.3 (2016-09-07) +------------------ + +* Document ``with_query()``, ``with_fragment()`` and ``origin()`` + +* Allow ``None`` for ``with_query()`` and ``with_fragment()`` + +0.1.2 (2016-09-07) +------------------ + +* Fix links, tune docs theme. + +0.1.1 (2016-09-06) +------------------ + +* Update README, old version used obsolete API + +0.1.0 (2016-09-06) +------------------ + +* The library was deeply refactored, bytes are gone away but all + accepted strings are encoded if needed. + +0.0.1 (2016-08-30) +------------------ + +* The first release. + + diff --git a/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/RECORD b/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/RECORD new file mode 100644 index 0000000..ec719ef --- /dev/null +++ b/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/RECORD @@ -0,0 +1,15 @@ +yarl-1.3.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +yarl-1.3.0.dist-info/LICENSE.txt,sha256=FMCCBQPO7xXoFKibA32e_AZocAhwGClLauDycWOHLMU,11368 +yarl-1.3.0.dist-info/METADATA,sha256=SPFKjTvLncumbLJrtQOcBuBoBGJbGnWxxc5Vjrz3czY,11328 +yarl-1.3.0.dist-info/RECORD,, +yarl-1.3.0.dist-info/WHEEL,sha256=d2ILPScH-y2UwGxsW1PeA2TT-KW0Git4AJ6LeOK8sQo,109 +yarl-1.3.0.dist-info/top_level.txt,sha256=vf3SJuQh-k7YtvsUrV_OPOrT9Kqn0COlk7IPYyhtGkQ,5 +yarl/__init__.py,sha256=2vaUGXz_V9EBz7aZIKOF3J0WhXbkVGjO6g8JPZO1UXI,30682 +yarl/__init__.pyi,sha256=82IosS7B4Vcp3T1tJ8xZ3RTAdj0L_KOGqJxG9yVHRF8,2864 +yarl/__pycache__/__init__.cpython-36.pyc,, +yarl/__pycache__/quoting.cpython-36.pyc,, +yarl/_quoting.c,sha256=oFzTeYvYDe5o72R-zGzCys83sqvt2NXoxGSKmjBNm8w,466378 +yarl/_quoting.cpython-36m-x86_64-linux-gnu.so,sha256=0t4mUsEdlzfLgC0A1N7ttE4e3YN8d9JhLkAdklTeZCQ,545686 +yarl/_quoting.pyx,sha256=CgAY8lRSfhTJepLaxp_l9UnwKPu5M4kZcFNei6Nlqyg,11701 +yarl/py.typed,sha256=Ml3HXnuYFoaiowlyfo6IQ_Dmv9gGV8uhQbqwZDzsNE8,13 +yarl/quoting.py,sha256=_YAMmcQFiIG9-LgYaSGreXBLU1MGwmFhTWWFt-wdR9c,6539 diff --git a/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/WHEEL b/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/WHEEL new file mode 100644 index 0000000..92946fe --- /dev/null +++ b/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.31.1) +Root-Is-Purelib: false +Tag: cp36-cp36m-manylinux1_x86_64 + diff --git a/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/top_level.txt b/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/top_level.txt new file mode 100644 index 0000000..e93e8bd --- /dev/null +++ b/venv/lib/python3.6/site-packages/yarl-1.3.0.dist-info/top_level.txt @@ -0,0 +1 @@ +yarl diff --git a/venv/lib/python3.6/site-packages/yarl/__init__.py b/venv/lib/python3.6/site-packages/yarl/__init__.py new file mode 100644 index 0000000..d68ea23 --- /dev/null +++ b/venv/lib/python3.6/site-packages/yarl/__init__.py @@ -0,0 +1,978 @@ +import warnings +from collections.abc import Mapping, Sequence +from ipaddress import ip_address +from urllib.parse import SplitResult, parse_qsl, urljoin, urlsplit, urlunsplit + +from multidict import MultiDict, MultiDictProxy +import idna + + +from .quoting import _Quoter, _Unquoter + +__version__ = "1.3.0" + +__all__ = ("URL",) + + +# is_leaf() + + +DEFAULT_PORTS = {"http": 80, "https": 443, "ws": 80, "wss": 443} + +sentinel = object() + + +class cached_property: + """Use as a class method decorator. It operates almost exactly like + the Python `@property` decorator, but it puts the result of the + method it decorates into the instance dict after the first call, + effectively replacing the function it decorates with an instance + variable. It is, in Python parlance, a data descriptor. + + """ + + def __init__(self, wrapped): + self.wrapped = wrapped + try: + self.__doc__ = wrapped.__doc__ + except AttributeError: # pragma: no cover + self.__doc__ = "" + self.name = wrapped.__name__ + + def __get__(self, inst, owner, _sentinel=sentinel): + if inst is None: + return self + val = inst._cache.get(self.name, _sentinel) + if val is not _sentinel: + return val + val = self.wrapped(inst) + inst._cache[self.name] = val + return val + + def __set__(self, inst, value): + raise AttributeError("cached property is read-only") + + +class URL: + # Don't derive from str + # follow pathlib.Path design + # probably URL will not suffer from pathlib problems: + # it's intended for libraries like aiohttp, + # not to be passed into standard library functions like os.open etc. + + # URL grammar (RFC 3986) + # pct-encoded = "%" HEXDIG HEXDIG + # reserved = gen-delims / sub-delims + # gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@" + # sub-delims = "!" / "$" / "&" / "'" / "(" / ")" + # / "*" / "+" / "," / ";" / "=" + # unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" + # URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] + # hier-part = "//" authority path-abempty + # / path-absolute + # / path-rootless + # / path-empty + # scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ) + # authority = [ userinfo "@" ] host [ ":" port ] + # userinfo = *( unreserved / pct-encoded / sub-delims / ":" ) + # host = IP-literal / IPv4address / reg-name + # IP-literal = "[" ( IPv6address / IPvFuture ) "]" + # IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" ) + # IPv6address = 6( h16 ":" ) ls32 + # / "::" 5( h16 ":" ) ls32 + # / [ h16 ] "::" 4( h16 ":" ) ls32 + # / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 + # / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 + # / [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 + # / [ *4( h16 ":" ) h16 ] "::" ls32 + # / [ *5( h16 ":" ) h16 ] "::" h16 + # / [ *6( h16 ":" ) h16 ] "::" + # ls32 = ( h16 ":" h16 ) / IPv4address + # ; least-significant 32 bits of address + # h16 = 1*4HEXDIG + # ; 16 bits of address represented in hexadecimal + # IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet + # dec-octet = DIGIT ; 0-9 + # / %x31-39 DIGIT ; 10-99 + # / "1" 2DIGIT ; 100-199 + # / "2" %x30-34 DIGIT ; 200-249 + # / "25" %x30-35 ; 250-255 + # reg-name = *( unreserved / pct-encoded / sub-delims ) + # port = *DIGIT + # path = path-abempty ; begins with "/" or is empty + # / path-absolute ; begins with "/" but not "//" + # / path-noscheme ; begins with a non-colon segment + # / path-rootless ; begins with a segment + # / path-empty ; zero characters + # path-abempty = *( "/" segment ) + # path-absolute = "/" [ segment-nz *( "/" segment ) ] + # path-noscheme = segment-nz-nc *( "/" segment ) + # path-rootless = segment-nz *( "/" segment ) + # path-empty = 0<pchar> + # segment = *pchar + # segment-nz = 1*pchar + # segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" ) + # ; non-zero-length segment without any colon ":" + # pchar = unreserved / pct-encoded / sub-delims / ":" / "@" + # query = *( pchar / "/" / "?" ) + # fragment = *( pchar / "/" / "?" ) + # URI-reference = URI / relative-ref + # relative-ref = relative-part [ "?" query ] [ "#" fragment ] + # relative-part = "//" authority path-abempty + # / path-absolute + # / path-noscheme + # / path-empty + # absolute-URI = scheme ":" hier-part [ "?" query ] + __slots__ = ("_cache", "_val") + + _QUOTER = _Quoter() + _PATH_QUOTER = _Quoter(safe="@:", protected="/+") + _QUERY_QUOTER = _Quoter(safe="?/:@", protected="=+&;", qs=True) + _QUERY_PART_QUOTER = _Quoter(safe="?/:@", qs=True) + _FRAGMENT_QUOTER = _Quoter(safe="?/:@") + + _UNQUOTER = _Unquoter() + _PATH_UNQUOTER = _Unquoter(unsafe="+") + _QS_UNQUOTER = _Unquoter(qs=True) + + def __new__(cls, val="", *, encoded=False, strict=None): + if strict is not None: # pragma: no cover + warnings.warn("strict parameter is ignored") + if type(val) is cls: + return val + if type(val) is str: + val = urlsplit(val) + elif type(val) is SplitResult: + if not encoded: + raise ValueError("Cannot apply decoding to SplitResult") + elif isinstance(val, str): + val = urlsplit(str(val)) + else: + raise TypeError("Constructor parameter should be str") + + if not encoded: + if not val[1]: # netloc + netloc = "" + host = "" + else: + host = val.hostname + if host is None: + raise ValueError("Invalid URL: host is required for abolute urls.") + + try: + port = val.port + except ValueError: + raise ValueError("Invalid URL: port can't be converted to integer") + + netloc = cls._make_netloc( + val.username, val.password, host, port, encode=True + ) + path = cls._PATH_QUOTER(val[2]) + if netloc: + path = cls._normalize_path(path) + + cls._validate_authority_uri_abs_path(host=host, path=path) + query = cls._QUERY_QUOTER(val[3]) + fragment = cls._FRAGMENT_QUOTER(val[4]) + val = SplitResult(val[0], netloc, path, query, fragment) + + self = object.__new__(cls) + self._val = val + self._cache = {} + return self + + @classmethod + def build( + cls, + *, + scheme="", + user="", + password="", + host="", + port=None, + path="", + query=None, + query_string="", + fragment="", + encoded=False + ): + """Creates and returns a new URL""" + + if not host and scheme: + raise ValueError('Can\'t build URL with "scheme" but without "host".') + if port and not host: + raise ValueError('Can\'t build URL with "port" but without "host".') + if query and query_string: + raise ValueError('Only one of "query" or "query_string" should be passed') + + if not user and not password and not host and not port: + netloc = "" + else: + netloc = cls._make_netloc(user, password, host, port, encode=not encoded) + if not encoded: + path = cls._PATH_QUOTER(path) + if netloc: + path = cls._normalize_path(path) + + cls._validate_authority_uri_abs_path(host=host, path=path) + query_string = cls._QUERY_QUOTER(query_string) + fragment = cls._FRAGMENT_QUOTER(fragment) + + url = cls( + SplitResult(scheme, netloc, path, query_string, fragment), encoded=True + ) + + if query: + return url.with_query(query) + else: + return url + + def __init_subclass__(cls): + raise TypeError("Inheritance a class {!r} from URL " "is forbidden".format(cls)) + + def __str__(self): + val = self._val + if not val.path and self.is_absolute() and (val.query or val.fragment): + val = val._replace(path="/") + return urlunsplit(val) + + def __repr__(self): + return "{}('{}')".format(self.__class__.__name__, str(self)) + + def __eq__(self, other): + if not type(other) is URL: + return NotImplemented + + val1 = self._val + if not val1.path and self.is_absolute(): + val1 = val1._replace(path="/") + + val2 = other._val + if not val2.path and other.is_absolute(): + val2 = val2._replace(path="/") + + return val1 == val2 + + def __hash__(self): + ret = self._cache.get("hash") + if ret is None: + val = self._val + if not val.path and self.is_absolute(): + val = val._replace(path="/") + ret = self._cache["hash"] = hash(val) + return ret + + def __le__(self, other): + if not type(other) is URL: + return NotImplemented + return self._val <= other._val + + def __lt__(self, other): + if not type(other) is URL: + return NotImplemented + return self._val < other._val + + def __ge__(self, other): + if not type(other) is URL: + return NotImplemented + return self._val >= other._val + + def __gt__(self, other): + if not type(other) is URL: + return NotImplemented + return self._val > other._val + + def __truediv__(self, name): + name = self._PATH_QUOTER(name) + if name.startswith("/"): + raise ValueError("Appending path " "starting from slash is forbidden") + path = self._val.path + if path == "/": + new_path = "/" + name + elif not path and not self.is_absolute(): + new_path = name + else: + parts = path.rstrip("/").split("/") + parts.append(name) + new_path = "/".join(parts) + if self.is_absolute(): + new_path = self._normalize_path(new_path) + return URL( + self._val._replace(path=new_path, query="", fragment=""), encoded=True + ) + + def __bool__(self) -> bool: + return bool( + self._val.netloc or self._val.path or self._val.query or self._val.fragment + ) + + def __getstate__(self): + return (self._val,) + + def __setstate__(self, state): + if state[0] is None and isinstance(state[1], dict): + # default style pickle + self._val = state[1]["_val"] + else: + self._val, *unused = state + self._cache = {} + + def is_absolute(self): + """A check for absolute URLs. + + Return True for absolute ones (having scheme or starting + with //), False otherwise. + + """ + return self.raw_host is not None + + def is_default_port(self): + """A check for default port. + + Return True if port is default for specified scheme, + e.g. 'http://python.org' or 'http://python.org:80', False + otherwise. + + """ + if self.port is None: + return False + default = DEFAULT_PORTS.get(self.scheme) + if default is None: + return False + return self.port == default + + def origin(self): + """Return an URL with scheme, host and port parts only. + + user, password, path, query and fragment are removed. + + """ + # TODO: add a keyword-only option for keeping user/pass maybe? + if not self.is_absolute(): + raise ValueError("URL should be absolute") + if not self._val.scheme: + raise ValueError("URL should have scheme") + v = self._val + netloc = self._make_netloc(None, None, v.hostname, v.port, encode=False) + val = v._replace(netloc=netloc, path="", query="", fragment="") + return URL(val, encoded=True) + + def relative(self): + """Return a relative part of the URL. + + scheme, user, password, host and port are removed. + + """ + if not self.is_absolute(): + raise ValueError("URL should be absolute") + val = self._val._replace(scheme="", netloc="") + return URL(val, encoded=True) + + @property + def scheme(self): + """Scheme for absolute URLs. + + Empty string for relative URLs or URLs starting with // + + """ + return self._val.scheme + + @property + def raw_user(self): + """Encoded user part of URL. + + None if user is missing. + + """ + # not .username + ret = self._val.username + if not ret: + return None + return ret + + @cached_property + def user(self): + """Decoded user part of URL. + + None if user is missing. + + """ + return self._UNQUOTER(self.raw_user) + + @property + def raw_password(self): + """Encoded password part of URL. + + None if password is missing. + + """ + return self._val.password + + @cached_property + def password(self): + """Decoded password part of URL. + + None if password is missing. + + """ + return self._UNQUOTER(self.raw_password) + + @property + def raw_host(self): + """Encoded host part of URL. + + None for relative URLs. + + """ + # Use host instead of hostname for sake of shortness + # May add .hostname prop later + return self._val.hostname + + @cached_property + def host(self): + """Decoded host part of URL. + + None for relative URLs. + + """ + raw = self.raw_host + if raw is None: + return None + if "%" in raw: + # Hack for scoped IPv6 addresses like + # fe80::2%Проверка + # presence of '%' sign means only IPv6 address, so idna is useless. + return raw + + try: + return idna.decode(raw.encode("ascii")) + except UnicodeError: # e.g. '::1' + return raw.encode("ascii").decode("idna") + + @property + def port(self): + """Port part of URL, with scheme-based fallback. + + None for relative URLs or URLs without explicit port and + scheme without default port substitution. + + """ + return self._val.port or DEFAULT_PORTS.get(self._val.scheme) + + @property + def explicit_port(self): + """Port part of URL, without scheme-based fallback. + + None for relative URLs or URLs without explicit port. + + """ + return self._val.port + + @property + def raw_path(self): + """Encoded path of URL. + + / for absolute URLs without path part. + + """ + ret = self._val.path + if not ret and self.is_absolute(): + ret = "/" + return ret + + @cached_property + def path(self): + """Decoded path of URL. + + / for absolute URLs without path part. + + """ + return self._PATH_UNQUOTER(self.raw_path) + + @cached_property + def query(self): + """A MultiDictProxy representing parsed query parameters in decoded + representation. + + Empty value if URL has no query part. + + """ + ret = MultiDict(parse_qsl(self.raw_query_string, keep_blank_values=True)) + return MultiDictProxy(ret) + + @property + def raw_query_string(self): + """Encoded query part of URL. + + Empty string if query is missing. + + """ + return self._val.query + + @cached_property + def query_string(self): + """Decoded query part of URL. + + Empty string if query is missing. + + """ + return self._QS_UNQUOTER(self.raw_query_string) + + @cached_property + def path_qs(self): + """Decoded path of URL with query.""" + if not self.query_string: + return self.path + return "{}?{}".format(self.path, self.query_string) + + @cached_property + def raw_path_qs(self): + """Encoded path of URL with query.""" + if not self.raw_query_string: + return self.raw_path + return "{}?{}".format(self.raw_path, self.raw_query_string) + + @property + def raw_fragment(self): + """Encoded fragment part of URL. + + Empty string if fragment is missing. + + """ + return self._val.fragment + + @cached_property + def fragment(self): + """Decoded fragment part of URL. + + Empty string if fragment is missing. + + """ + return self._UNQUOTER(self.raw_fragment) + + @cached_property + def raw_parts(self): + """A tuple containing encoded *path* parts. + + ('/',) for absolute URLs if *path* is missing. + + """ + path = self._val.path + if self.is_absolute(): + if not path: + parts = ["/"] + else: + parts = ["/"] + path[1:].split("/") + else: + if path.startswith("/"): + parts = ["/"] + path[1:].split("/") + else: + parts = path.split("/") + return tuple(parts) + + @cached_property + def parts(self): + """A tuple containing decoded *path* parts. + + ('/',) for absolute URLs if *path* is missing. + + """ + return tuple(self._UNQUOTER(part) for part in self.raw_parts) + + @cached_property + def parent(self): + """A new URL with last part of path removed and cleaned up query and + fragment. + + """ + path = self.raw_path + if not path or path == "/": + if self.raw_fragment or self.raw_query_string: + return URL(self._val._replace(query="", fragment=""), encoded=True) + return self + parts = path.split("/") + val = self._val._replace(path="/".join(parts[:-1]), query="", fragment="") + return URL(val, encoded=True) + + @cached_property + def raw_name(self): + """The last part of raw_parts.""" + parts = self.raw_parts + if self.is_absolute(): + parts = parts[1:] + if not parts: + return "" + else: + return parts[-1] + else: + return parts[-1] + + @cached_property + def name(self): + """The last part of parts.""" + return self._UNQUOTER(self.raw_name) + + @staticmethod + def _validate_authority_uri_abs_path(host, path): + """Ensure that path in URL with authority starts with a leading slash. + + Raise ValueError if not. + """ + if len(host) > 0 and len(path) > 0 and not path.startswith("/"): + raise ValueError( + "Path in a URL with authority " "should start with a slash ('/') if set" + ) + + @classmethod + def _normalize_path(cls, path): + # Drop '.' and '..' from path + + segments = path.split("/") + resolved_path = [] + + for seg in segments: + if seg == "..": + try: + resolved_path.pop() + except IndexError: + # ignore any .. segments that would otherwise cause an + # IndexError when popped from resolved_path if + # resolving for rfc3986 + pass + elif seg == ".": + continue + else: + resolved_path.append(seg) + + if segments[-1] in (".", ".."): + # do some post-processing here. + # if the last segment was a relative dir, + # then we need to append the trailing '/' + resolved_path.append("") + + return "/".join(resolved_path) + + @classmethod + def _encode_host(cls, host): + try: + ip, sep, zone = host.partition("%") + ip = ip_address(ip) + except ValueError: + try: + host = idna.encode(host, uts46=True).decode("ascii") + except UnicodeError: + host = host.encode("idna").decode("ascii") + else: + host = ip.compressed + if sep: + host += "%" + zone + if ip.version == 6: + host = "[" + host + "]" + return host + + @classmethod + def _make_netloc(cls, user, password, host, port, encode): + if encode: + ret = cls._encode_host(host) + else: + ret = host + if port: + ret = ret + ":" + str(port) + if password: + if not user: + user = "" + else: + if encode: + user = cls._QUOTER(user) + if encode: + password = cls._QUOTER(password) + user = user + ":" + password + elif user and encode: + user = cls._QUOTER(user) + if user: + ret = user + "@" + ret + return ret + + def with_scheme(self, scheme): + """Return a new URL with scheme replaced.""" + # N.B. doesn't cleanup query/fragment + if not isinstance(scheme, str): + raise TypeError("Invalid scheme type") + if not self.is_absolute(): + raise ValueError("scheme replacement is not allowed " "for relative URLs") + return URL(self._val._replace(scheme=scheme.lower()), encoded=True) + + def with_user(self, user): + """Return a new URL with user replaced. + + Autoencode user if needed. + + Clear user/password if user is None. + + """ + # N.B. doesn't cleanup query/fragment + val = self._val + if user is None: + password = None + elif isinstance(user, str): + user = self._QUOTER(user) + password = val.password + else: + raise TypeError("Invalid user type") + if not self.is_absolute(): + raise ValueError("user replacement is not allowed " "for relative URLs") + return URL( + self._val._replace( + netloc=self._make_netloc( + user, password, val.hostname, val.port, encode=False + ) + ), + encoded=True, + ) + + def with_password(self, password): + """Return a new URL with password replaced. + + Autoencode password if needed. + + Clear password if argument is None. + + """ + # N.B. doesn't cleanup query/fragment + if password is None: + pass + elif isinstance(password, str): + password = self._QUOTER(password) + else: + raise TypeError("Invalid password type") + if not self.is_absolute(): + raise ValueError("password replacement is not allowed " "for relative URLs") + val = self._val + return URL( + self._val._replace( + netloc=self._make_netloc( + val.username, password, val.hostname, val.port, encode=False + ) + ), + encoded=True, + ) + + def with_host(self, host): + """Return a new URL with host replaced. + + Autoencode host if needed. + + Changing host for relative URLs is not allowed, use .join() + instead. + + """ + # N.B. doesn't cleanup query/fragment + if not isinstance(host, str): + raise TypeError("Invalid host type") + if not self.is_absolute(): + raise ValueError("host replacement is not allowed " "for relative URLs") + if not host: + raise ValueError("host removing is not allowed") + host = self._encode_host(host) + val = self._val + return URL( + self._val._replace( + netloc=self._make_netloc( + val.username, val.password, host, val.port, encode=False + ) + ), + encoded=True, + ) + + def with_port(self, port): + """Return a new URL with port replaced. + + Clear port to default if None is passed. + + """ + # N.B. doesn't cleanup query/fragment + if port is not None and not isinstance(port, int): + raise TypeError("port should be int or None, got {}".format(type(port))) + if not self.is_absolute(): + raise ValueError("port replacement is not allowed " "for relative URLs") + val = self._val + return URL( + self._val._replace( + netloc=self._make_netloc( + val.username, val.password, val.hostname, port, encode=False + ) + ), + encoded=True, + ) + + def with_path(self, path, *, encoded=False): + """Return a new URL with path replaced.""" + if not encoded: + path = self._PATH_QUOTER(path) + if self.is_absolute(): + path = self._normalize_path(path) + if len(path) > 0 and path[0] != "/": + path = "/" + path + return URL(self._val._replace(path=path, query="", fragment=""), encoded=True) + + @staticmethod + def _query_var(v): + if isinstance(v, str): + return v + if type(v) is int: # no subclasses like bool + return str(v) + raise TypeError( + "Invalid variable type: value " + "should be str or int, got {!r} " + "of type {}".format(v, type(v)) + ) + + def _get_str_query(self, *args, **kwargs): + if kwargs: + if len(args) > 0: + raise ValueError( + "Either kwargs or single query parameter " "must be present" + ) + query = kwargs + elif len(args) == 1: + query = args[0] + else: + raise ValueError( + "Either kwargs or single query parameter " "must be present" + ) + + if query is None: + query = "" + elif isinstance(query, Mapping): + quoter = self._QUERY_PART_QUOTER + query = "&".join( + quoter(k) + "=" + quoter(self._query_var(v)) for k, v in query.items() + ) + elif isinstance(query, str): + query = self._QUERY_QUOTER(query) + elif isinstance(query, (bytes, bytearray, memoryview)): + raise TypeError( + "Invalid query type: bytes, bytearray and " "memoryview are forbidden" + ) + elif isinstance(query, Sequence): + quoter = self._QUERY_PART_QUOTER + query = "&".join( + quoter(k) + "=" + quoter(self._query_var(v)) for k, v in query + ) + else: + raise TypeError( + "Invalid query type: only str, mapping or " + "sequence of (str, str) pairs is allowed" + ) + + return query + + def with_query(self, *args, **kwargs): + """Return a new URL with query part replaced. + + Accepts any Mapping (e.g. dict, multidict.MultiDict instances) + or str, autoencode the argument if needed. + + A sequence of (key, value) pairs is supported as well. + + It also can take an arbitrary number of keyword arguments. + + Clear query if None is passed. + + """ + # N.B. doesn't cleanup query/fragment + + new_query = self._get_str_query(*args, **kwargs) + return URL( + self._val._replace(path=self._val.path, query=new_query), encoded=True + ) + + def update_query(self, *args, **kwargs): + """Return a new URL with query part updated.""" + s = self._get_str_query(*args, **kwargs) + new_query = MultiDict(parse_qsl(s, keep_blank_values=True)) + query = MultiDict(self.query) + query.update(new_query) + + return URL(self._val._replace(query=self._get_str_query(query)), encoded=True) + + def with_fragment(self, fragment): + """Return a new URL with fragment replaced. + + Autoencode fragment if needed. + + Clear fragment to default if None is passed. + + """ + # N.B. doesn't cleanup query/fragment + if fragment is None: + fragment = "" + elif not isinstance(fragment, str): + raise TypeError("Invalid fragment type") + return URL( + self._val._replace(fragment=self._FRAGMENT_QUOTER(fragment)), encoded=True + ) + + def with_name(self, name): + """Return a new URL with name (last part of path) replaced. + + Query and fragment parts are cleaned up. + + Name is encoded if needed. + + """ + # N.B. DOES cleanup query/fragment + if not isinstance(name, str): + raise TypeError("Invalid name type") + if "/" in name: + raise ValueError("Slash in name is not allowed") + name = self._PATH_QUOTER(name) + if name in (".", ".."): + raise ValueError(". and .. values are forbidden") + parts = list(self.raw_parts) + if self.is_absolute(): + if len(parts) == 1: + parts.append(name) + else: + parts[-1] = name + parts[0] = "" # replace leading '/' + else: + parts[-1] = name + if parts[0] == "/": + parts[0] = "" # replace leading '/' + return URL( + self._val._replace(path="/".join(parts), query="", fragment=""), + encoded=True, + ) + + def join(self, url): + """Join URLs + + Construct a full (“absolute”) URL by combining a “base URL” + (self) with another URL (url). + + Informally, this uses components of the base URL, in + particular the addressing scheme, the network location and + (part of) the path, to provide missing components in the + relative URL. + + """ + # See docs for urllib.parse.urljoin + if not isinstance(url, URL): + raise TypeError("url should be URL") + return URL(urljoin(str(self), str(url)), encoded=True) + + def human_repr(self): + """Return decoded human readable string for URL representation.""" + + return urlunsplit( + SplitResult( + self.scheme, + self._make_netloc( + self.user, self.password, self.host, self._val.port, encode=False + ), + self.path, + self.query_string, + self.fragment, + ) + ) diff --git a/venv/lib/python3.6/site-packages/yarl/__init__.pyi b/venv/lib/python3.6/site-packages/yarl/__init__.pyi new file mode 100644 index 0000000..c5cf2b4 --- /dev/null +++ b/venv/lib/python3.6/site-packages/yarl/__init__.pyi @@ -0,0 +1,88 @@ +from typing import overload, Any, Tuple, Optional, Mapping, Union, Sequence, Type +import multidict + +QueryVariable = Union[str, int] +Query = Union[ + None, str, Mapping[str, QueryVariable], Sequence[Tuple[str, QueryVariable]] +] + +class URL: + scheme: str + raw_user: str + user: Optional[str] + raw_password: Optional[str] + password: Optional[str] + raw_host: Optional[str] + host: Optional[str] + port: Optional[int] + raw_path: str + path: str + raw_query_string: str + query_string: str + path_qs: str + raw_path_qs: str + raw_fragment: str + fragment: str + query: multidict.MultiDict[str] + raw_name: str + name: str + raw_parts: Tuple[str, ...] + parts: Tuple[str, ...] + parent: URL + def __init__( + self, val: Union[str, "URL"] = ..., *, encoded: bool = ... + ) -> None: ... + @classmethod + def build( + cls, + *, + scheme: str = ..., + user: str = ..., + password: str = ..., + host: str = ..., + port: Optional[int] = ..., + path: str = ..., + query: Query = ..., + query_string: str = ..., + fragment: str = ..., + encoded: bool = ... + ) -> URL: ... + def __str__(self) -> str: ... + def __repr__(self) -> str: ... + def __eq__(self, other: Any) -> bool: ... + def __le__(self, other: Any) -> bool: ... + def __lt__(self, other: Any) -> bool: ... + def __ge__(self, other: Any) -> bool: ... + def __gt__(self, other: Any) -> bool: ... + def __hash__(self) -> int: ... + def __truediv__(self, name: str) -> URL: ... + def is_absolute(self) -> bool: ... + def is_default_port(self) -> bool: ... + def origin(self) -> URL: ... + def relative(self) -> URL: ... + def with_scheme(self, scheme: str) -> URL: ... + def with_user(self, user: Optional[str]) -> URL: ... + def with_password(self, password: Optional[str]) -> URL: ... + def with_host(self, host: str) -> URL: ... + def with_port(self, port: Optional[int]) -> URL: ... + def with_path(self, path: str, *, encoded: bool = ...) -> URL: ... + @overload + def with_query(self, query: Query) -> URL: ... + @overload # noqa: F811 + def with_query(self, **kwargs: QueryVariable) -> URL: ... + @overload + def update_query(self, query: Query) -> URL: ... + @overload # noqa: F811 + def update_query(self, **kwargs: QueryVariable) -> URL: ... + def with_fragment(self, fragment: Optional[str]) -> URL: ... + def with_name(self, name: str) -> URL: ... + def join(self, url: URL) -> URL: ... + def human_repr(self) -> str: ... + # private API + @classmethod + def _normalize_path(cls, path: str) -> str: ... + +class cached_property: + def __init__(self, wrapped: Any) -> None: ... + def __get__(self, inst: URL, owner: Type[URL]) -> Any: ... + def __set__(self, inst: URL, value: Any) -> None: ... diff --git a/venv/lib/python3.6/site-packages/yarl/_quoting.c b/venv/lib/python3.6/site-packages/yarl/_quoting.c new file mode 100644 index 0000000..9284285 --- /dev/null +++ b/venv/lib/python3.6/site-packages/yarl/_quoting.c @@ -0,0 +1,12162 @@ +/* Generated by Cython 0.29 */ + +/* BEGIN: Cython Metadata +{ + "distutils": { + "depends": [], + "name": "yarl._quoting", + "sources": [ + "yarl/_quoting.pyx" + ] + }, + "module_name": "yarl._quoting" +} +END: Cython Metadata */ + +#define PY_SSIZE_T_CLEAN +#include "Python.h" +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) + #error Cython requires Python 2.6+ or Python 3.3+. +#else +#define CYTHON_ABI "0_29" +#define CYTHON_HEX_VERSION 0x001D00F0 +#define CYTHON_FUTURE_DIVISION 1 +#include <stddef.h> +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x02070000 + #define HAVE_LONG_LONG + #endif +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #ifndef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 1 + #endif + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #ifndef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #endif +#endif +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #include "longintrepr.h" + #undef SHIFT + #undef BASE + #undef MASK +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include <stdint.h> +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#ifndef CYTHON_INLINE + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #elif defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_INLINE inline + #else + #define CYTHON_INLINE + #endif +#endif + +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#ifndef METH_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif +#if CYTHON_USE_DICT_VERSIONS +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ + } +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(p) +#endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; // PyThread_create_key reports success always +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif // TSS (Thread Specific Storage) API +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) +#else + #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) + #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact + #define PyObject_Unicode PyObject_Str +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t PyInt_AsLong +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : (Py_INCREF(func), func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(WIN32) || defined(MS_WINDOWS) + #define _USE_MATH_DEFINES +#endif +#include <math.h> +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif +#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) +#define __Pyx_truncl trunc +#else +#define __Pyx_truncl truncl +#endif + + +#define __PYX_ERR(f_index, lineno, Ln_error) \ +{ \ + __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \ +} + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__yarl___quoting +#define __PYX_HAVE_API__yarl___quoting +/* Early includes */ +#include <stdint.h> +#include <string.h> +#include <stdio.h> +#ifdef _OPENMP +#include <omp.h> +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0 +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include <cstdlib> + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +#if CYTHON_ASSUME_SAFE_MACROS +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ +static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + + +static const char *__pyx_f[] = { + "yarl/_quoting.pyx", + "stringsource", + "type.pxd", +}; + +/*--- Type declarations ---*/ +struct __pyx_obj_4yarl_8_quoting__Quoter; +struct __pyx_obj_4yarl_8_quoting__Unquoter; +struct __pyx_t_4yarl_8_quoting_Writer; + +/* "yarl/_quoting.pyx":76 + * # ----------------- writer --------------------------- + * + * cdef struct Writer: # <<<<<<<<<<<<<< + * char *buf + * Py_ssize_t size + */ +struct __pyx_t_4yarl_8_quoting_Writer { + char *buf; + Py_ssize_t size; + Py_ssize_t pos; + int changed; +}; + +/* "yarl/_quoting.pyx":186 + * + * + * cdef class _Quoter: # <<<<<<<<<<<<<< + * cdef bint _qs + * + */ +struct __pyx_obj_4yarl_8_quoting__Quoter { + PyObject_HEAD + struct __pyx_vtabstruct_4yarl_8_quoting__Quoter *__pyx_vtab; + int _qs; + uint8_t _safe_table[16]; + uint8_t _protected_table[16]; +}; + + +/* "yarl/_quoting.pyx":301 + * + * + * cdef class _Unquoter: # <<<<<<<<<<<<<< + * cdef str _unsafe + * cdef bint _qs + */ +struct __pyx_obj_4yarl_8_quoting__Unquoter { + PyObject_HEAD + struct __pyx_vtabstruct_4yarl_8_quoting__Unquoter *__pyx_vtab; + PyObject *_unsafe; + int _qs; + struct __pyx_obj_4yarl_8_quoting__Quoter *_quoter; + struct __pyx_obj_4yarl_8_quoting__Quoter *_qs_quoter; +}; + + + +/* "yarl/_quoting.pyx":186 + * + * + * cdef class _Quoter: # <<<<<<<<<<<<<< + * cdef bint _qs + * + */ + +struct __pyx_vtabstruct_4yarl_8_quoting__Quoter { + PyObject *(*_do_quote)(struct __pyx_obj_4yarl_8_quoting__Quoter *, PyObject *, struct __pyx_t_4yarl_8_quoting_Writer *); + int (*_write)(struct __pyx_obj_4yarl_8_quoting__Quoter *, struct __pyx_t_4yarl_8_quoting_Writer *, Py_UCS4); +}; +static struct __pyx_vtabstruct_4yarl_8_quoting__Quoter *__pyx_vtabptr_4yarl_8_quoting__Quoter; +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting_7_Quoter__write(struct __pyx_obj_4yarl_8_quoting__Quoter *, struct __pyx_t_4yarl_8_quoting_Writer *, Py_UCS4); + + +/* "yarl/_quoting.pyx":301 + * + * + * cdef class _Unquoter: # <<<<<<<<<<<<<< + * cdef str _unsafe + * cdef bint _qs + */ + +struct __pyx_vtabstruct_4yarl_8_quoting__Unquoter { + PyObject *(*_do_unquote)(struct __pyx_obj_4yarl_8_quoting__Unquoter *, PyObject *); +}; +static struct __pyx_vtabstruct_4yarl_8_quoting__Unquoter *__pyx_vtabptr_4yarl_8_quoting__Unquoter; + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* WriteUnraisableException.proto */ +static void __Pyx_WriteUnraisable(const char *name, int clineno, + int lineno, const char *filename, + int full_traceback, int nogil); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* ArgTypeTest.proto */ +#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ + ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\ + __Pyx__ArgTypeTest(obj, type, name, exact)) +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); + +/* unicode_iter.proto */ +static CYTHON_INLINE int __Pyx_init_unicode_iteration( + PyObject* ustring, Py_ssize_t *length, void** data, int *kind); + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = PyFrame_Type.tp_basicsize - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* GetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* SwapException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* GetTopmostException.proto */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); +#endif + +/* SaveResetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +#else +#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) +#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) +#endif + +/* ReRaiseException.proto */ +static CYTHON_INLINE void __Pyx_ReraiseException(void); + +/* PyErrExceptionMatches.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); +#else +#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) +#endif + +/* GetAttr.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *); + +/* GetAttr3.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *); + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +#define __Pyx_GetModuleGlobalNameUncached(var, name) {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* PyObjectCallNoArg.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); +#else +#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) +#endif + +/* PyObjectCall2Args.proto */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); + +/* PyObjectGetMethod.proto */ +static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); + +/* PyObjectCallMethod1.proto */ +static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); + +/* ByteArrayAppend.proto */ +static CYTHON_INLINE int __Pyx_PyByteArray_Append(PyObject* bytearray, int value); + +/* ByteArrayAppendObject.proto */ +static CYTHON_INLINE int __Pyx_PyByteArray_AppendObject(PyObject* bytearray, PyObject* value); + +/* PyUnicode_Substring.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Substring( + PyObject* text, Py_ssize_t start, Py_ssize_t stop); + +/* decode_c_string_utf16.proto */ +static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16(const char *s, Py_ssize_t size, const char *errors) { + int byteorder = 0; + return PyUnicode_DecodeUTF16(s, size, errors, &byteorder); +} +static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16LE(const char *s, Py_ssize_t size, const char *errors) { + int byteorder = -1; + return PyUnicode_DecodeUTF16(s, size, errors, &byteorder); +} +static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16BE(const char *s, Py_ssize_t size, const char *errors) { + int byteorder = 1; + return PyUnicode_DecodeUTF16(s, size, errors, &byteorder); +} + +/* decode_c_bytes.proto */ +static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes( + const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop, + const char* encoding, const char* errors, + PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)); + +/* decode_bytearray.proto */ +static CYTHON_INLINE PyObject* __Pyx_decode_bytearray( + PyObject* string, Py_ssize_t start, Py_ssize_t stop, + const char* encoding, const char* errors, + PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) { + return __Pyx_decode_c_bytes( + PyByteArray_AS_STRING(string), PyByteArray_GET_SIZE(string), + start, stop, encoding, errors, decode_func); +} + +/* PyUnicodeContains.proto */ +static CYTHON_INLINE int __Pyx_PyUnicode_ContainsTF(PyObject* substring, PyObject* text, int eq) { + int result = PyUnicode_Contains(text, substring); + return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); +} + +/* ListAppend.proto */ +#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS +static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) { + PyListObject* L = (PyListObject*) list; + Py_ssize_t len = Py_SIZE(list); + if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) { + Py_INCREF(x); + PyList_SET_ITEM(list, len, x); + Py_SIZE(list) = len+1; + return 0; + } + return PyList_Append(list, x); +} +#else +#define __Pyx_PyList_Append(L,x) PyList_Append(L,x) +#endif + +/* SliceObject.proto */ +#define __Pyx_PyObject_DelSlice(obj, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound)\ + __Pyx_PyObject_SetSlice(obj, (PyObject*)NULL, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound) +static CYTHON_INLINE int __Pyx_PyObject_SetSlice( + PyObject* obj, PyObject* value, Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** py_start, PyObject** py_stop, PyObject** py_slice, + int has_cstart, int has_cstop, int wraparound); + +/* IncludeStringH.proto */ +#include <string.h> + +/* BytesEquals.proto */ +static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); + +/* UnicodeEquals.proto */ +static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); + +/* UnicodeAsUCS4.proto */ +static CYTHON_INLINE Py_UCS4 __Pyx_PyUnicode_AsPy_UCS4(PyObject*); + +/* object_ord.proto */ +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyObject_Ord(c)\ + (likely(PyUnicode_Check(c)) ? (long)__Pyx_PyUnicode_AsPy_UCS4(c) : __Pyx__PyObject_Ord(c)) +#else +#define __Pyx_PyObject_Ord(c) __Pyx__PyObject_Ord(c) +#endif +static long __Pyx__PyObject_Ord(PyObject* c); + +/* SliceObject.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice( + PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** py_start, PyObject** py_stop, PyObject** py_slice, + int has_cstart, int has_cstop, int wraparound); + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* ImportFrom.proto */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); + +/* GetItemInt.proto */ +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); + +/* HasAttr.proto */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *); + +/* ExtTypeTest.proto */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); + +/* PyObject_GenericGetAttrNoDict.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr +#endif + +/* PyObject_GenericGetAttr.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr +#endif + +/* SetVTable.proto */ +static int __Pyx_SetVtable(PyObject *dict, void *vtable); + +/* SetupReduce.proto */ +static int __Pyx_setup_reduce(PyObject* type_obj); + +/* TypeImport.proto */ +#ifndef __PYX_HAVE_RT_ImportType_proto +#define __PYX_HAVE_RT_ImportType_proto +enum __Pyx_ImportType_CheckSize { + __Pyx_ImportType_CheckSize_Error = 0, + __Pyx_ImportType_CheckSize_Warn = 1, + __Pyx_ImportType_CheckSize_Ignore = 2 +}; +static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); +#endif + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE uint8_t __Pyx_PyInt_As_uint8_t(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + +static PyObject *__pyx_f_4yarl_8_quoting_7_Quoter__do_quote(struct __pyx_obj_4yarl_8_quoting__Quoter *__pyx_v_self, PyObject *__pyx_v_val, struct __pyx_t_4yarl_8_quoting_Writer *__pyx_v_writer); /* proto*/ +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting_7_Quoter__write(struct __pyx_obj_4yarl_8_quoting__Quoter *__pyx_v_self, struct __pyx_t_4yarl_8_quoting_Writer *__pyx_v_writer, Py_UCS4 __pyx_v_ch); /* proto*/ +static PyObject *__pyx_f_4yarl_8_quoting_9_Unquoter__do_unquote(struct __pyx_obj_4yarl_8_quoting__Unquoter *__pyx_v_self, PyObject *__pyx_v_val); /* proto*/ + +/* Module declarations from 'libc.stdint' */ + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'libc.stdio' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.type' */ +static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; + +/* Module declarations from 'cpython' */ + +/* Module declarations from 'cpython.object' */ + +/* Module declarations from 'cpython.exc' */ + +/* Module declarations from 'cpython.mem' */ + +/* Module declarations from 'cpython.unicode' */ + +/* Module declarations from 'yarl._quoting' */ +static PyTypeObject *__pyx_ptype_4yarl_8_quoting__Quoter = 0; +static PyTypeObject *__pyx_ptype_4yarl_8_quoting__Unquoter = 0; +static PyObject *__pyx_v_4yarl_8_quoting_GEN_DELIMS = 0; +static PyObject *__pyx_v_4yarl_8_quoting_SUB_DELIMS_WITHOUT_QS = 0; +static PyObject *__pyx_v_4yarl_8_quoting_SUB_DELIMS = 0; +static PyObject *__pyx_v_4yarl_8_quoting_RESERVED = 0; +static PyObject *__pyx_v_4yarl_8_quoting_UNRESERVED = 0; +static PyObject *__pyx_v_4yarl_8_quoting_ALLOWED = 0; +static PyObject *__pyx_v_4yarl_8_quoting_QS = 0; +static char __pyx_v_4yarl_8_quoting_BUFFER[0x2000]; +static uint8_t __pyx_v_4yarl_8_quoting_ALLOWED_TABLE[16]; +static uint8_t __pyx_v_4yarl_8_quoting_ALLOWED_NOTQS_TABLE[16]; +static CYTHON_INLINE Py_UCS4 __pyx_f_4yarl_8_quoting__to_hex(uint8_t); /*proto*/ +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting__from_hex(Py_UCS4); /*proto*/ +static CYTHON_INLINE Py_UCS4 __pyx_f_4yarl_8_quoting__restore_ch(Py_UCS4, Py_UCS4); /*proto*/ +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting_bit_at(uint8_t *, uint64_t); /*proto*/ +static CYTHON_INLINE void __pyx_f_4yarl_8_quoting_set_bit(uint8_t *, uint64_t); /*proto*/ +static CYTHON_INLINE void __pyx_f_4yarl_8_quoting__init_writer(struct __pyx_t_4yarl_8_quoting_Writer *); /*proto*/ +static CYTHON_INLINE void __pyx_f_4yarl_8_quoting__release_writer(struct __pyx_t_4yarl_8_quoting_Writer *); /*proto*/ +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting__write_char(struct __pyx_t_4yarl_8_quoting_Writer *, Py_UCS4, int); /*proto*/ +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting__write_pct(struct __pyx_t_4yarl_8_quoting_Writer *, uint8_t, int); /*proto*/ +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting__write_percent(struct __pyx_t_4yarl_8_quoting_Writer *); /*proto*/ +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting__write_pct_check(struct __pyx_t_4yarl_8_quoting_Writer *, Py_UCS4, Py_UCS4 *); /*proto*/ +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting__write_utf8(struct __pyx_t_4yarl_8_quoting_Writer *, Py_UCS4); /*proto*/ +static PyObject *__pyx_f_4yarl_8_quoting___pyx_unpickle__Quoter__set_state(struct __pyx_obj_4yarl_8_quoting__Quoter *, PyObject *); /*proto*/ +static PyObject *__pyx_f_4yarl_8_quoting___pyx_unpickle__Unquoter__set_state(struct __pyx_obj_4yarl_8_quoting__Unquoter *, PyObject *); /*proto*/ +static int __Pyx_carray_from_py_uint8_t(PyObject *, uint8_t *, Py_ssize_t); /*proto*/ +#define __Pyx_MODULE_NAME "yarl._quoting" +extern int __pyx_module_is_main_yarl___quoting; +int __pyx_module_is_main_yarl___quoting = 0; + +/* Implementation of 'yarl._quoting' */ +static PyObject *__pyx_builtin_range; +static PyObject *__pyx_builtin_chr; +static PyObject *__pyx_builtin_ValueError; +static PyObject *__pyx_builtin_TypeError; +static PyObject *__pyx_builtin_UnicodeDecodeError; +static PyObject *__pyx_builtin_hex; +static PyObject *__pyx_builtin_OverflowError; +static PyObject *__pyx_builtin_enumerate; +static PyObject *__pyx_builtin_IndexError; +static const char __pyx_k_[] = ""; +static const char __pyx_k_i[] = "i"; +static const char __pyx_k__4[] = "+=&;"; +static const char __pyx_k__5[] = "%"; +static const char __pyx_k__6[] = "+"; +static const char __pyx_k__7[] = " "; +static const char __pyx_k__9[] = ":/?#[]@"; +static const char __pyx_k_qs[] = "qs"; +static const char __pyx_k__10[] = "!$'()*,"; +static const char __pyx_k__11[] = "+?=;"; +static const char __pyx_k__12[] = "-._~"; +static const char __pyx_k__13[] = "+&=;"; +static const char __pyx_k_chr[] = "chr"; +static const char __pyx_k_hex[] = "hex"; +static const char __pyx_k_new[] = "__new__"; +static const char __pyx_k_val[] = "val"; +static const char __pyx_k_base[] = "base"; +static const char __pyx_k_dict[] = "__dict__"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_safe[] = "safe"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_range[] = "range"; +static const char __pyx_k_upper[] = "upper"; +static const char __pyx_k_Quoter[] = "_Quoter"; +static const char __pyx_k_append[] = "append"; +static const char __pyx_k_digits[] = "digits"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_pickle[] = "pickle"; +static const char __pyx_k_reduce[] = "__reduce__"; +static const char __pyx_k_string[] = "string"; +static const char __pyx_k_unsafe[] = "unsafe"; +static const char __pyx_k_update[] = "update"; +static const char __pyx_k_Unquoter[] = "_Unquoter"; +static const char __pyx_k_getstate[] = "__getstate__"; +static const char __pyx_k_pyx_type[] = "__pyx_type"; +static const char __pyx_k_setstate[] = "__setstate__"; +static const char __pyx_k_TypeError[] = "TypeError"; +static const char __pyx_k_enumerate[] = "enumerate"; +static const char __pyx_k_protected[] = "protected"; +static const char __pyx_k_pyx_state[] = "__pyx_state"; +static const char __pyx_k_reduce_ex[] = "__reduce_ex__"; +static const char __pyx_k_IndexError[] = "IndexError"; +static const char __pyx_k_ValueError[] = "ValueError"; +static const char __pyx_k_pyx_result[] = "__pyx_result"; +static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__"; +static const char __pyx_k_PickleError[] = "PickleError"; +static const char __pyx_k_pyx_checksum[] = "__pyx_checksum"; +static const char __pyx_k_stringsource[] = "stringsource"; +static const char __pyx_k_OverflowError[] = "OverflowError"; +static const char __pyx_k_ascii_letters[] = "ascii_letters"; +static const char __pyx_k_reduce_cython[] = "__reduce_cython__"; +static const char __pyx_k_yarl__quoting[] = "yarl._quoting"; +static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError"; +static const char __pyx_k_setstate_cython[] = "__setstate_cython__"; +static const char __pyx_k_UnicodeDecodeError[] = "UnicodeDecodeError"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_pyx_unpickle__Quoter[] = "__pyx_unpickle__Quoter"; +static const char __pyx_k_Argument_should_be_str[] = "Argument should be str"; +static const char __pyx_k_pyx_unpickle__Unquoter[] = "__pyx_unpickle__Unquoter"; +static const char __pyx_k_Incompatible_checksums_s_vs_0x27[] = "Incompatible checksums (%s vs 0x276577d = (_qs, _qs_quoter, _quoter, _unsafe))"; +static const char __pyx_k_Incompatible_checksums_s_vs_0x8f[] = "Incompatible checksums (%s vs 0x8f193a6 = (_protected_table, _qs, _safe_table))"; +static const char __pyx_k_Only_safe_symbols_with_ORD_128_a[] = "Only safe symbols with ORD < 128 are allowed"; +static PyObject *__pyx_kp_u_; +static PyObject *__pyx_kp_u_Argument_should_be_str; +static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x27; +static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x8f; +static PyObject *__pyx_n_s_IndexError; +static PyObject *__pyx_kp_u_Only_safe_symbols_with_ORD_128_a; +static PyObject *__pyx_n_s_OverflowError; +static PyObject *__pyx_n_s_PickleError; +static PyObject *__pyx_n_s_Quoter; +static PyObject *__pyx_n_s_TypeError; +static PyObject *__pyx_n_s_UnicodeDecodeError; +static PyObject *__pyx_n_s_Unquoter; +static PyObject *__pyx_n_s_ValueError; +static PyObject *__pyx_kp_u__10; +static PyObject *__pyx_kp_u__11; +static PyObject *__pyx_kp_u__12; +static PyObject *__pyx_kp_u__13; +static PyObject *__pyx_kp_u__4; +static PyObject *__pyx_kp_u__5; +static PyObject *__pyx_kp_u__6; +static PyObject *__pyx_kp_u__7; +static PyObject *__pyx_kp_u__9; +static PyObject *__pyx_n_s_append; +static PyObject *__pyx_n_s_ascii_letters; +static PyObject *__pyx_n_s_base; +static PyObject *__pyx_n_s_chr; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_dict; +static PyObject *__pyx_n_s_digits; +static PyObject *__pyx_n_s_enumerate; +static PyObject *__pyx_n_s_getstate; +static PyObject *__pyx_n_s_hex; +static PyObject *__pyx_n_s_i; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_n_s_new; +static PyObject *__pyx_n_s_pickle; +static PyObject *__pyx_n_s_protected; +static PyObject *__pyx_n_s_pyx_PickleError; +static PyObject *__pyx_n_s_pyx_checksum; +static PyObject *__pyx_n_s_pyx_result; +static PyObject *__pyx_n_s_pyx_state; +static PyObject *__pyx_n_s_pyx_type; +static PyObject *__pyx_n_s_pyx_unpickle__Quoter; +static PyObject *__pyx_n_s_pyx_unpickle__Unquoter; +static PyObject *__pyx_n_s_pyx_vtable; +static PyObject *__pyx_n_s_qs; +static PyObject *__pyx_n_s_range; +static PyObject *__pyx_n_s_reduce; +static PyObject *__pyx_n_s_reduce_cython; +static PyObject *__pyx_n_s_reduce_ex; +static PyObject *__pyx_n_s_safe; +static PyObject *__pyx_n_s_setstate; +static PyObject *__pyx_n_s_setstate_cython; +static PyObject *__pyx_n_s_string; +static PyObject *__pyx_kp_s_stringsource; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_unsafe; +static PyObject *__pyx_n_s_update; +static PyObject *__pyx_n_s_upper; +static PyObject *__pyx_n_s_val; +static PyObject *__pyx_n_s_yarl__quoting; +static int __pyx_pf_4yarl_8_quoting_7_Quoter___init__(struct __pyx_obj_4yarl_8_quoting__Quoter *__pyx_v_self, PyObject *__pyx_v_safe, PyObject *__pyx_v_protected, int __pyx_v_qs); /* proto */ +static PyObject *__pyx_pf_4yarl_8_quoting_7_Quoter_2__call__(struct __pyx_obj_4yarl_8_quoting__Quoter *__pyx_v_self, PyObject *__pyx_v_val); /* proto */ +static PyObject *__pyx_pf_4yarl_8_quoting_7_Quoter_4__reduce_cython__(struct __pyx_obj_4yarl_8_quoting__Quoter *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_4yarl_8_quoting_7_Quoter_6__setstate_cython__(struct __pyx_obj_4yarl_8_quoting__Quoter *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static int __pyx_pf_4yarl_8_quoting_9_Unquoter___init__(struct __pyx_obj_4yarl_8_quoting__Unquoter *__pyx_v_self, PyObject *__pyx_v_unsafe, PyObject *__pyx_v_qs); /* proto */ +static PyObject *__pyx_pf_4yarl_8_quoting_9_Unquoter_2__call__(struct __pyx_obj_4yarl_8_quoting__Unquoter *__pyx_v_self, PyObject *__pyx_v_val); /* proto */ +static PyObject *__pyx_pf_4yarl_8_quoting_9_Unquoter_4__reduce_cython__(struct __pyx_obj_4yarl_8_quoting__Unquoter *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_4yarl_8_quoting_9_Unquoter_6__setstate_cython__(struct __pyx_obj_4yarl_8_quoting__Unquoter *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_4yarl_8_quoting___pyx_unpickle__Quoter(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_4yarl_8_quoting_2__pyx_unpickle__Unquoter(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_tp_new_4yarl_8_quoting__Quoter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_4yarl_8_quoting__Unquoter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_int_2; +static PyObject *__pyx_int_16; +static PyObject *__pyx_int_41310077; +static PyObject *__pyx_int_150049702; +static PyObject *__pyx_slice__8; +static PyObject *__pyx_tuple__2; +static PyObject *__pyx_tuple__3; +static PyObject *__pyx_tuple__14; +static PyObject *__pyx_tuple__16; +static PyObject *__pyx_codeobj__15; +static PyObject *__pyx_codeobj__17; +/* Late includes */ + +/* "yarl/_quoting.pyx":24 + * + * + * cdef inline Py_UCS4 _to_hex(uint8_t v): # <<<<<<<<<<<<<< + * if v < 10: + * return <Py_UCS4>(v+0x30) # ord('0') == 0x30 + */ + +static CYTHON_INLINE Py_UCS4 __pyx_f_4yarl_8_quoting__to_hex(uint8_t __pyx_v_v) { + Py_UCS4 __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("_to_hex", 0); + + /* "yarl/_quoting.pyx":25 + * + * cdef inline Py_UCS4 _to_hex(uint8_t v): + * if v < 10: # <<<<<<<<<<<<<< + * return <Py_UCS4>(v+0x30) # ord('0') == 0x30 + * else: + */ + __pyx_t_1 = ((__pyx_v_v < 10) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":26 + * cdef inline Py_UCS4 _to_hex(uint8_t v): + * if v < 10: + * return <Py_UCS4>(v+0x30) # ord('0') == 0x30 # <<<<<<<<<<<<<< + * else: + * return <Py_UCS4>(v+0x41-10) # ord('A') == 0x41 + */ + __pyx_r = ((Py_UCS4)(__pyx_v_v + 0x30)); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":25 + * + * cdef inline Py_UCS4 _to_hex(uint8_t v): + * if v < 10: # <<<<<<<<<<<<<< + * return <Py_UCS4>(v+0x30) # ord('0') == 0x30 + * else: + */ + } + + /* "yarl/_quoting.pyx":28 + * return <Py_UCS4>(v+0x30) # ord('0') == 0x30 + * else: + * return <Py_UCS4>(v+0x41-10) # ord('A') == 0x41 # <<<<<<<<<<<<<< + * + * + */ + /*else*/ { + __pyx_r = ((Py_UCS4)((__pyx_v_v + 0x41) - 10)); + goto __pyx_L0; + } + + /* "yarl/_quoting.pyx":24 + * + * + * cdef inline Py_UCS4 _to_hex(uint8_t v): # <<<<<<<<<<<<<< + * if v < 10: + * return <Py_UCS4>(v+0x30) # ord('0') == 0x30 + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yarl/_quoting.pyx":31 + * + * + * cdef inline int _from_hex(Py_UCS4 v): # <<<<<<<<<<<<<< + * if '0' <= v <= '9': + * return <int>(v) - 0x30 # ord('0') == 0x30 + */ + +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting__from_hex(Py_UCS4 __pyx_v_v) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + __Pyx_RefNannySetupContext("_from_hex", 0); + + /* "yarl/_quoting.pyx":32 + * + * cdef inline int _from_hex(Py_UCS4 v): + * if '0' <= v <= '9': # <<<<<<<<<<<<<< + * return <int>(v) - 0x30 # ord('0') == 0x30 + * elif 'A' <= v <= 'F': + */ + __pyx_t_1 = (48 <= __pyx_v_v); + if (__pyx_t_1) { + __pyx_t_1 = (__pyx_v_v <= 57); + } + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":33 + * cdef inline int _from_hex(Py_UCS4 v): + * if '0' <= v <= '9': + * return <int>(v) - 0x30 # ord('0') == 0x30 # <<<<<<<<<<<<<< + * elif 'A' <= v <= 'F': + * return <int>(v) - 0x41 + 10 # ord('A') == 0x41 + */ + __pyx_r = (((int)__pyx_v_v) - 0x30); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":32 + * + * cdef inline int _from_hex(Py_UCS4 v): + * if '0' <= v <= '9': # <<<<<<<<<<<<<< + * return <int>(v) - 0x30 # ord('0') == 0x30 + * elif 'A' <= v <= 'F': + */ + } + + /* "yarl/_quoting.pyx":34 + * if '0' <= v <= '9': + * return <int>(v) - 0x30 # ord('0') == 0x30 + * elif 'A' <= v <= 'F': # <<<<<<<<<<<<<< + * return <int>(v) - 0x41 + 10 # ord('A') == 0x41 + * elif 'a' <= v <= 'f': + */ + __pyx_t_2 = (65 <= __pyx_v_v); + if (__pyx_t_2) { + __pyx_t_2 = (__pyx_v_v <= 70); + } + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":35 + * return <int>(v) - 0x30 # ord('0') == 0x30 + * elif 'A' <= v <= 'F': + * return <int>(v) - 0x41 + 10 # ord('A') == 0x41 # <<<<<<<<<<<<<< + * elif 'a' <= v <= 'f': + * return <int>(v) - 0x61 + 10 # ord('a') == 0x61 + */ + __pyx_r = ((((int)__pyx_v_v) - 0x41) + 10); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":34 + * if '0' <= v <= '9': + * return <int>(v) - 0x30 # ord('0') == 0x30 + * elif 'A' <= v <= 'F': # <<<<<<<<<<<<<< + * return <int>(v) - 0x41 + 10 # ord('A') == 0x41 + * elif 'a' <= v <= 'f': + */ + } + + /* "yarl/_quoting.pyx":36 + * elif 'A' <= v <= 'F': + * return <int>(v) - 0x41 + 10 # ord('A') == 0x41 + * elif 'a' <= v <= 'f': # <<<<<<<<<<<<<< + * return <int>(v) - 0x61 + 10 # ord('a') == 0x61 + * else: + */ + __pyx_t_1 = (97 <= __pyx_v_v); + if (__pyx_t_1) { + __pyx_t_1 = (__pyx_v_v <= 0x66); + } + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":37 + * return <int>(v) - 0x41 + 10 # ord('A') == 0x41 + * elif 'a' <= v <= 'f': + * return <int>(v) - 0x61 + 10 # ord('a') == 0x61 # <<<<<<<<<<<<<< + * else: + * return -1 + */ + __pyx_r = ((((int)__pyx_v_v) - 0x61) + 10); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":36 + * elif 'A' <= v <= 'F': + * return <int>(v) - 0x41 + 10 # ord('A') == 0x41 + * elif 'a' <= v <= 'f': # <<<<<<<<<<<<<< + * return <int>(v) - 0x61 + 10 # ord('a') == 0x61 + * else: + */ + } + + /* "yarl/_quoting.pyx":39 + * return <int>(v) - 0x61 + 10 # ord('a') == 0x61 + * else: + * return -1 # <<<<<<<<<<<<<< + * + * + */ + /*else*/ { + __pyx_r = -1; + goto __pyx_L0; + } + + /* "yarl/_quoting.pyx":31 + * + * + * cdef inline int _from_hex(Py_UCS4 v): # <<<<<<<<<<<<<< + * if '0' <= v <= '9': + * return <int>(v) - 0x30 # ord('0') == 0x30 + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yarl/_quoting.pyx":42 + * + * + * cdef inline Py_UCS4 _restore_ch(Py_UCS4 d1, Py_UCS4 d2): # <<<<<<<<<<<<<< + * cdef int digit1 = _from_hex(d1) + * if digit1 < 0: + */ + +static CYTHON_INLINE Py_UCS4 __pyx_f_4yarl_8_quoting__restore_ch(Py_UCS4 __pyx_v_d1, Py_UCS4 __pyx_v_d2) { + int __pyx_v_digit1; + int __pyx_v_digit2; + Py_UCS4 __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("_restore_ch", 0); + + /* "yarl/_quoting.pyx":43 + * + * cdef inline Py_UCS4 _restore_ch(Py_UCS4 d1, Py_UCS4 d2): + * cdef int digit1 = _from_hex(d1) # <<<<<<<<<<<<<< + * if digit1 < 0: + * return <Py_UCS4>-1 + */ + __pyx_v_digit1 = __pyx_f_4yarl_8_quoting__from_hex(__pyx_v_d1); + + /* "yarl/_quoting.pyx":44 + * cdef inline Py_UCS4 _restore_ch(Py_UCS4 d1, Py_UCS4 d2): + * cdef int digit1 = _from_hex(d1) + * if digit1 < 0: # <<<<<<<<<<<<<< + * return <Py_UCS4>-1 + * cdef int digit2 = _from_hex(d2) + */ + __pyx_t_1 = ((__pyx_v_digit1 < 0) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":45 + * cdef int digit1 = _from_hex(d1) + * if digit1 < 0: + * return <Py_UCS4>-1 # <<<<<<<<<<<<<< + * cdef int digit2 = _from_hex(d2) + * if digit2 < 0: + */ + __pyx_r = ((Py_UCS4)-1L); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":44 + * cdef inline Py_UCS4 _restore_ch(Py_UCS4 d1, Py_UCS4 d2): + * cdef int digit1 = _from_hex(d1) + * if digit1 < 0: # <<<<<<<<<<<<<< + * return <Py_UCS4>-1 + * cdef int digit2 = _from_hex(d2) + */ + } + + /* "yarl/_quoting.pyx":46 + * if digit1 < 0: + * return <Py_UCS4>-1 + * cdef int digit2 = _from_hex(d2) # <<<<<<<<<<<<<< + * if digit2 < 0: + * return <Py_UCS4>-1 + */ + __pyx_v_digit2 = __pyx_f_4yarl_8_quoting__from_hex(__pyx_v_d2); + + /* "yarl/_quoting.pyx":47 + * return <Py_UCS4>-1 + * cdef int digit2 = _from_hex(d2) + * if digit2 < 0: # <<<<<<<<<<<<<< + * return <Py_UCS4>-1 + * return <Py_UCS4>(digit1 << 4 | digit2) + */ + __pyx_t_1 = ((__pyx_v_digit2 < 0) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":48 + * cdef int digit2 = _from_hex(d2) + * if digit2 < 0: + * return <Py_UCS4>-1 # <<<<<<<<<<<<<< + * return <Py_UCS4>(digit1 << 4 | digit2) + * + */ + __pyx_r = ((Py_UCS4)-1L); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":47 + * return <Py_UCS4>-1 + * cdef int digit2 = _from_hex(d2) + * if digit2 < 0: # <<<<<<<<<<<<<< + * return <Py_UCS4>-1 + * return <Py_UCS4>(digit1 << 4 | digit2) + */ + } + + /* "yarl/_quoting.pyx":49 + * if digit2 < 0: + * return <Py_UCS4>-1 + * return <Py_UCS4>(digit1 << 4 | digit2) # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = ((Py_UCS4)((__pyx_v_digit1 << 4) | __pyx_v_digit2)); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":42 + * + * + * cdef inline Py_UCS4 _restore_ch(Py_UCS4 d1, Py_UCS4 d2): # <<<<<<<<<<<<<< + * cdef int digit1 = _from_hex(d1) + * if digit1 < 0: + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yarl/_quoting.pyx":56 + * + * + * cdef inline bint bit_at(uint8_t array[], uint64_t ch): # <<<<<<<<<<<<<< + * return array[ch >> 3] & (1 << (ch & 7)) + * + */ + +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting_bit_at(uint8_t *__pyx_v_array, uint64_t __pyx_v_ch) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("bit_at", 0); + + /* "yarl/_quoting.pyx":57 + * + * cdef inline bint bit_at(uint8_t array[], uint64_t ch): + * return array[ch >> 3] & (1 << (ch & 7)) # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = ((__pyx_v_array[(__pyx_v_ch >> 3)]) & (1 << (__pyx_v_ch & 7))); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":56 + * + * + * cdef inline bint bit_at(uint8_t array[], uint64_t ch): # <<<<<<<<<<<<<< + * return array[ch >> 3] & (1 << (ch & 7)) + * + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yarl/_quoting.pyx":60 + * + * + * cdef inline void set_bit(uint8_t array[], uint64_t ch): # <<<<<<<<<<<<<< + * array[ch >> 3] |= (1 << (ch & 7)) + * + */ + +static CYTHON_INLINE void __pyx_f_4yarl_8_quoting_set_bit(uint8_t *__pyx_v_array, uint64_t __pyx_v_ch) { + __Pyx_RefNannyDeclarations + uint64_t __pyx_t_1; + __Pyx_RefNannySetupContext("set_bit", 0); + + /* "yarl/_quoting.pyx":61 + * + * cdef inline void set_bit(uint8_t array[], uint64_t ch): + * array[ch >> 3] |= (1 << (ch & 7)) # <<<<<<<<<<<<<< + * + * + */ + __pyx_t_1 = (__pyx_v_ch >> 3); + (__pyx_v_array[__pyx_t_1]) = ((__pyx_v_array[__pyx_t_1]) | (1 << (__pyx_v_ch & 7))); + + /* "yarl/_quoting.pyx":60 + * + * + * cdef inline void set_bit(uint8_t array[], uint64_t ch): # <<<<<<<<<<<<<< + * array[ch >> 3] |= (1 << (ch & 7)) + * + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +/* "yarl/_quoting.pyx":83 + * + * + * cdef inline void _init_writer(Writer* writer): # <<<<<<<<<<<<<< + * writer.buf = &BUFFER[0] + * writer.size = BUF_SIZE + */ + +static CYTHON_INLINE void __pyx_f_4yarl_8_quoting__init_writer(struct __pyx_t_4yarl_8_quoting_Writer *__pyx_v_writer) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("_init_writer", 0); + + /* "yarl/_quoting.pyx":84 + * + * cdef inline void _init_writer(Writer* writer): + * writer.buf = &BUFFER[0] # <<<<<<<<<<<<<< + * writer.size = BUF_SIZE + * writer.pos = 0 + */ + __pyx_v_writer->buf = (&(__pyx_v_4yarl_8_quoting_BUFFER[0])); + + /* "yarl/_quoting.pyx":85 + * cdef inline void _init_writer(Writer* writer): + * writer.buf = &BUFFER[0] + * writer.size = BUF_SIZE # <<<<<<<<<<<<<< + * writer.pos = 0 + * writer.changed = 0 + */ + __pyx_v_writer->size = 0x2000; + + /* "yarl/_quoting.pyx":86 + * writer.buf = &BUFFER[0] + * writer.size = BUF_SIZE + * writer.pos = 0 # <<<<<<<<<<<<<< + * writer.changed = 0 + * + */ + __pyx_v_writer->pos = 0; + + /* "yarl/_quoting.pyx":87 + * writer.size = BUF_SIZE + * writer.pos = 0 + * writer.changed = 0 # <<<<<<<<<<<<<< + * + * + */ + __pyx_v_writer->changed = 0; + + /* "yarl/_quoting.pyx":83 + * + * + * cdef inline void _init_writer(Writer* writer): # <<<<<<<<<<<<<< + * writer.buf = &BUFFER[0] + * writer.size = BUF_SIZE + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +/* "yarl/_quoting.pyx":90 + * + * + * cdef inline void _release_writer(Writer* writer): # <<<<<<<<<<<<<< + * if writer.buf != BUFFER: + * PyMem_Free(writer.buf) + */ + +static CYTHON_INLINE void __pyx_f_4yarl_8_quoting__release_writer(struct __pyx_t_4yarl_8_quoting_Writer *__pyx_v_writer) { + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("_release_writer", 0); + + /* "yarl/_quoting.pyx":91 + * + * cdef inline void _release_writer(Writer* writer): + * if writer.buf != BUFFER: # <<<<<<<<<<<<<< + * PyMem_Free(writer.buf) + * + */ + __pyx_t_1 = ((__pyx_v_writer->buf != __pyx_v_4yarl_8_quoting_BUFFER) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":92 + * cdef inline void _release_writer(Writer* writer): + * if writer.buf != BUFFER: + * PyMem_Free(writer.buf) # <<<<<<<<<<<<<< + * + * + */ + PyMem_Free(__pyx_v_writer->buf); + + /* "yarl/_quoting.pyx":91 + * + * cdef inline void _release_writer(Writer* writer): + * if writer.buf != BUFFER: # <<<<<<<<<<<<<< + * PyMem_Free(writer.buf) + * + */ + } + + /* "yarl/_quoting.pyx":90 + * + * + * cdef inline void _release_writer(Writer* writer): # <<<<<<<<<<<<<< + * if writer.buf != BUFFER: + * PyMem_Free(writer.buf) + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +/* "yarl/_quoting.pyx":95 + * + * + * cdef inline int _write_char(Writer* writer, Py_UCS4 ch, bint changed): # <<<<<<<<<<<<<< + * cdef char * buf + * cdef Py_ssize_t size + */ + +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting__write_char(struct __pyx_t_4yarl_8_quoting_Writer *__pyx_v_writer, Py_UCS4 __pyx_v_ch, int __pyx_v_changed) { + char *__pyx_v_buf; + Py_ssize_t __pyx_v_size; + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2; + __Pyx_RefNannySetupContext("_write_char", 0); + + /* "yarl/_quoting.pyx":99 + * cdef Py_ssize_t size + * + * if writer.pos == writer.size: # <<<<<<<<<<<<<< + * # reallocate + * size = writer.size + BUF_SIZE + */ + __pyx_t_1 = ((__pyx_v_writer->pos == __pyx_v_writer->size) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":101 + * if writer.pos == writer.size: + * # reallocate + * size = writer.size + BUF_SIZE # <<<<<<<<<<<<<< + * if writer.buf == BUFFER: + * buf = <char*>PyMem_Malloc(size) + */ + __pyx_v_size = (__pyx_v_writer->size + 0x2000); + + /* "yarl/_quoting.pyx":102 + * # reallocate + * size = writer.size + BUF_SIZE + * if writer.buf == BUFFER: # <<<<<<<<<<<<<< + * buf = <char*>PyMem_Malloc(size) + * if buf == NULL: + */ + __pyx_t_1 = ((__pyx_v_writer->buf == __pyx_v_4yarl_8_quoting_BUFFER) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":103 + * size = writer.size + BUF_SIZE + * if writer.buf == BUFFER: + * buf = <char*>PyMem_Malloc(size) # <<<<<<<<<<<<<< + * if buf == NULL: + * PyErr_NoMemory() + */ + __pyx_v_buf = ((char *)PyMem_Malloc(__pyx_v_size)); + + /* "yarl/_quoting.pyx":104 + * if writer.buf == BUFFER: + * buf = <char*>PyMem_Malloc(size) + * if buf == NULL: # <<<<<<<<<<<<<< + * PyErr_NoMemory() + * return -1 + */ + __pyx_t_1 = ((__pyx_v_buf == NULL) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":105 + * buf = <char*>PyMem_Malloc(size) + * if buf == NULL: + * PyErr_NoMemory() # <<<<<<<<<<<<<< + * return -1 + * memcpy(buf, writer.buf, writer.size) + */ + __pyx_t_2 = PyErr_NoMemory(); if (unlikely(__pyx_t_2 == ((PyObject *)NULL))) __PYX_ERR(0, 105, __pyx_L1_error) + + /* "yarl/_quoting.pyx":106 + * if buf == NULL: + * PyErr_NoMemory() + * return -1 # <<<<<<<<<<<<<< + * memcpy(buf, writer.buf, writer.size) + * else: + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":104 + * if writer.buf == BUFFER: + * buf = <char*>PyMem_Malloc(size) + * if buf == NULL: # <<<<<<<<<<<<<< + * PyErr_NoMemory() + * return -1 + */ + } + + /* "yarl/_quoting.pyx":107 + * PyErr_NoMemory() + * return -1 + * memcpy(buf, writer.buf, writer.size) # <<<<<<<<<<<<<< + * else: + * buf = <char*>PyMem_Realloc(writer.buf, size) + */ + (void)(memcpy(__pyx_v_buf, __pyx_v_writer->buf, __pyx_v_writer->size)); + + /* "yarl/_quoting.pyx":102 + * # reallocate + * size = writer.size + BUF_SIZE + * if writer.buf == BUFFER: # <<<<<<<<<<<<<< + * buf = <char*>PyMem_Malloc(size) + * if buf == NULL: + */ + goto __pyx_L4; + } + + /* "yarl/_quoting.pyx":109 + * memcpy(buf, writer.buf, writer.size) + * else: + * buf = <char*>PyMem_Realloc(writer.buf, size) # <<<<<<<<<<<<<< + * if buf == NULL: + * PyErr_NoMemory() + */ + /*else*/ { + __pyx_v_buf = ((char *)PyMem_Realloc(__pyx_v_writer->buf, __pyx_v_size)); + + /* "yarl/_quoting.pyx":110 + * else: + * buf = <char*>PyMem_Realloc(writer.buf, size) + * if buf == NULL: # <<<<<<<<<<<<<< + * PyErr_NoMemory() + * return -1 + */ + __pyx_t_1 = ((__pyx_v_buf == NULL) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":111 + * buf = <char*>PyMem_Realloc(writer.buf, size) + * if buf == NULL: + * PyErr_NoMemory() # <<<<<<<<<<<<<< + * return -1 + * writer.buf = buf + */ + __pyx_t_2 = PyErr_NoMemory(); if (unlikely(__pyx_t_2 == ((PyObject *)NULL))) __PYX_ERR(0, 111, __pyx_L1_error) + + /* "yarl/_quoting.pyx":112 + * if buf == NULL: + * PyErr_NoMemory() + * return -1 # <<<<<<<<<<<<<< + * writer.buf = buf + * writer.size = size + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":110 + * else: + * buf = <char*>PyMem_Realloc(writer.buf, size) + * if buf == NULL: # <<<<<<<<<<<<<< + * PyErr_NoMemory() + * return -1 + */ + } + } + __pyx_L4:; + + /* "yarl/_quoting.pyx":113 + * PyErr_NoMemory() + * return -1 + * writer.buf = buf # <<<<<<<<<<<<<< + * writer.size = size + * writer.buf[writer.pos] = <char>ch + */ + __pyx_v_writer->buf = __pyx_v_buf; + + /* "yarl/_quoting.pyx":114 + * return -1 + * writer.buf = buf + * writer.size = size # <<<<<<<<<<<<<< + * writer.buf[writer.pos] = <char>ch + * writer.pos += 1 + */ + __pyx_v_writer->size = __pyx_v_size; + + /* "yarl/_quoting.pyx":99 + * cdef Py_ssize_t size + * + * if writer.pos == writer.size: # <<<<<<<<<<<<<< + * # reallocate + * size = writer.size + BUF_SIZE + */ + } + + /* "yarl/_quoting.pyx":115 + * writer.buf = buf + * writer.size = size + * writer.buf[writer.pos] = <char>ch # <<<<<<<<<<<<<< + * writer.pos += 1 + * writer.changed |= changed + */ + (__pyx_v_writer->buf[__pyx_v_writer->pos]) = ((char)__pyx_v_ch); + + /* "yarl/_quoting.pyx":116 + * writer.size = size + * writer.buf[writer.pos] = <char>ch + * writer.pos += 1 # <<<<<<<<<<<<<< + * writer.changed |= changed + * return 0 + */ + __pyx_v_writer->pos = (__pyx_v_writer->pos + 1); + + /* "yarl/_quoting.pyx":117 + * writer.buf[writer.pos] = <char>ch + * writer.pos += 1 + * writer.changed |= changed # <<<<<<<<<<<<<< + * return 0 + * + */ + __pyx_v_writer->changed = (__pyx_v_writer->changed | __pyx_v_changed); + + /* "yarl/_quoting.pyx":118 + * writer.pos += 1 + * writer.changed |= changed + * return 0 # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = 0; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":95 + * + * + * cdef inline int _write_char(Writer* writer, Py_UCS4 ch, bint changed): # <<<<<<<<<<<<<< + * cdef char * buf + * cdef Py_ssize_t size + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_WriteUnraisable("yarl._quoting._write_char", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); + __pyx_r = 0; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yarl/_quoting.pyx":121 + * + * + * cdef inline int _write_pct(Writer* writer, uint8_t ch, bint changed): # <<<<<<<<<<<<<< + * if _write_char(writer, '%', changed) < 0: + * return -1 + */ + +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting__write_pct(struct __pyx_t_4yarl_8_quoting_Writer *__pyx_v_writer, uint8_t __pyx_v_ch, int __pyx_v_changed) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("_write_pct", 0); + + /* "yarl/_quoting.pyx":122 + * + * cdef inline int _write_pct(Writer* writer, uint8_t ch, bint changed): + * if _write_char(writer, '%', changed) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_char(writer, _to_hex(<uint8_t>ch >> 4), changed) < 0: + */ + __pyx_t_1 = ((__pyx_f_4yarl_8_quoting__write_char(__pyx_v_writer, 37, __pyx_v_changed) < 0) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":123 + * cdef inline int _write_pct(Writer* writer, uint8_t ch, bint changed): + * if _write_char(writer, '%', changed) < 0: + * return -1 # <<<<<<<<<<<<<< + * if _write_char(writer, _to_hex(<uint8_t>ch >> 4), changed) < 0: + * return -1 + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":122 + * + * cdef inline int _write_pct(Writer* writer, uint8_t ch, bint changed): + * if _write_char(writer, '%', changed) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_char(writer, _to_hex(<uint8_t>ch >> 4), changed) < 0: + */ + } + + /* "yarl/_quoting.pyx":124 + * if _write_char(writer, '%', changed) < 0: + * return -1 + * if _write_char(writer, _to_hex(<uint8_t>ch >> 4), changed) < 0: # <<<<<<<<<<<<<< + * return -1 + * return _write_char(writer, _to_hex(<uint8_t>ch & 0x0f), changed) + */ + __pyx_t_1 = ((__pyx_f_4yarl_8_quoting__write_char(__pyx_v_writer, __pyx_f_4yarl_8_quoting__to_hex((((uint8_t)__pyx_v_ch) >> 4)), __pyx_v_changed) < 0) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":125 + * return -1 + * if _write_char(writer, _to_hex(<uint8_t>ch >> 4), changed) < 0: + * return -1 # <<<<<<<<<<<<<< + * return _write_char(writer, _to_hex(<uint8_t>ch & 0x0f), changed) + * + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":124 + * if _write_char(writer, '%', changed) < 0: + * return -1 + * if _write_char(writer, _to_hex(<uint8_t>ch >> 4), changed) < 0: # <<<<<<<<<<<<<< + * return -1 + * return _write_char(writer, _to_hex(<uint8_t>ch & 0x0f), changed) + */ + } + + /* "yarl/_quoting.pyx":126 + * if _write_char(writer, _to_hex(<uint8_t>ch >> 4), changed) < 0: + * return -1 + * return _write_char(writer, _to_hex(<uint8_t>ch & 0x0f), changed) # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = __pyx_f_4yarl_8_quoting__write_char(__pyx_v_writer, __pyx_f_4yarl_8_quoting__to_hex((((uint8_t)__pyx_v_ch) & 0x0f)), __pyx_v_changed); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":121 + * + * + * cdef inline int _write_pct(Writer* writer, uint8_t ch, bint changed): # <<<<<<<<<<<<<< + * if _write_char(writer, '%', changed) < 0: + * return -1 + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yarl/_quoting.pyx":129 + * + * + * cdef inline int _write_percent(Writer* writer): # <<<<<<<<<<<<<< + * if _write_char(writer, '%', True) < 0: + * return -1 + */ + +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting__write_percent(struct __pyx_t_4yarl_8_quoting_Writer *__pyx_v_writer) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + __Pyx_RefNannySetupContext("_write_percent", 0); + + /* "yarl/_quoting.pyx":130 + * + * cdef inline int _write_percent(Writer* writer): + * if _write_char(writer, '%', True) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_char(writer, '2', True) < 0: + */ + __pyx_t_1 = ((__pyx_f_4yarl_8_quoting__write_char(__pyx_v_writer, 37, 1) < 0) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":131 + * cdef inline int _write_percent(Writer* writer): + * if _write_char(writer, '%', True) < 0: + * return -1 # <<<<<<<<<<<<<< + * if _write_char(writer, '2', True) < 0: + * return -1 + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":130 + * + * cdef inline int _write_percent(Writer* writer): + * if _write_char(writer, '%', True) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_char(writer, '2', True) < 0: + */ + } + + /* "yarl/_quoting.pyx":132 + * if _write_char(writer, '%', True) < 0: + * return -1 + * if _write_char(writer, '2', True) < 0: # <<<<<<<<<<<<<< + * return -1 + * return _write_char(writer, '5', True) + */ + __pyx_t_1 = ((__pyx_f_4yarl_8_quoting__write_char(__pyx_v_writer, 50, 1) < 0) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":133 + * return -1 + * if _write_char(writer, '2', True) < 0: + * return -1 # <<<<<<<<<<<<<< + * return _write_char(writer, '5', True) + * + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":132 + * if _write_char(writer, '%', True) < 0: + * return -1 + * if _write_char(writer, '2', True) < 0: # <<<<<<<<<<<<<< + * return -1 + * return _write_char(writer, '5', True) + */ + } + + /* "yarl/_quoting.pyx":134 + * if _write_char(writer, '2', True) < 0: + * return -1 + * return _write_char(writer, '5', True) # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = __pyx_f_4yarl_8_quoting__write_char(__pyx_v_writer, 53, 1); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":129 + * + * + * cdef inline int _write_percent(Writer* writer): # <<<<<<<<<<<<<< + * if _write_char(writer, '%', True) < 0: + * return -1 + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yarl/_quoting.pyx":137 + * + * + * cdef inline int _write_pct_check(Writer* writer, Py_UCS4 ch, Py_UCS4 pct[]): # <<<<<<<<<<<<<< + * cdef Py_UCS4 pct1 = _to_hex(<uint8_t>ch >> 4) + * cdef Py_UCS4 pct2 = _to_hex(<uint8_t>ch & 0x0f) + */ + +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting__write_pct_check(struct __pyx_t_4yarl_8_quoting_Writer *__pyx_v_writer, Py_UCS4 __pyx_v_ch, Py_UCS4 *__pyx_v_pct) { + Py_UCS4 __pyx_v_pct1; + Py_UCS4 __pyx_v_pct2; + int __pyx_v_changed; + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + __Pyx_RefNannySetupContext("_write_pct_check", 0); + + /* "yarl/_quoting.pyx":138 + * + * cdef inline int _write_pct_check(Writer* writer, Py_UCS4 ch, Py_UCS4 pct[]): + * cdef Py_UCS4 pct1 = _to_hex(<uint8_t>ch >> 4) # <<<<<<<<<<<<<< + * cdef Py_UCS4 pct2 = _to_hex(<uint8_t>ch & 0x0f) + * cdef bint changed = pct[0] != pct1 or pct[1] != pct2 + */ + __pyx_v_pct1 = __pyx_f_4yarl_8_quoting__to_hex((((uint8_t)__pyx_v_ch) >> 4)); + + /* "yarl/_quoting.pyx":139 + * cdef inline int _write_pct_check(Writer* writer, Py_UCS4 ch, Py_UCS4 pct[]): + * cdef Py_UCS4 pct1 = _to_hex(<uint8_t>ch >> 4) + * cdef Py_UCS4 pct2 = _to_hex(<uint8_t>ch & 0x0f) # <<<<<<<<<<<<<< + * cdef bint changed = pct[0] != pct1 or pct[1] != pct2 + * + */ + __pyx_v_pct2 = __pyx_f_4yarl_8_quoting__to_hex((((uint8_t)__pyx_v_ch) & 0x0f)); + + /* "yarl/_quoting.pyx":140 + * cdef Py_UCS4 pct1 = _to_hex(<uint8_t>ch >> 4) + * cdef Py_UCS4 pct2 = _to_hex(<uint8_t>ch & 0x0f) + * cdef bint changed = pct[0] != pct1 or pct[1] != pct2 # <<<<<<<<<<<<<< + * + * if _write_char(writer, '%', changed) < 0: + */ + __pyx_t_2 = (((__pyx_v_pct[0]) != __pyx_v_pct1) != 0); + if (!__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L3_bool_binop_done; + } + __pyx_t_2 = (((__pyx_v_pct[1]) != __pyx_v_pct2) != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L3_bool_binop_done:; + __pyx_v_changed = __pyx_t_1; + + /* "yarl/_quoting.pyx":142 + * cdef bint changed = pct[0] != pct1 or pct[1] != pct2 + * + * if _write_char(writer, '%', changed) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_char(writer, pct1, changed) < 0: + */ + __pyx_t_1 = ((__pyx_f_4yarl_8_quoting__write_char(__pyx_v_writer, 37, __pyx_v_changed) < 0) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":143 + * + * if _write_char(writer, '%', changed) < 0: + * return -1 # <<<<<<<<<<<<<< + * if _write_char(writer, pct1, changed) < 0: + * return -1 + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":142 + * cdef bint changed = pct[0] != pct1 or pct[1] != pct2 + * + * if _write_char(writer, '%', changed) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_char(writer, pct1, changed) < 0: + */ + } + + /* "yarl/_quoting.pyx":144 + * if _write_char(writer, '%', changed) < 0: + * return -1 + * if _write_char(writer, pct1, changed) < 0: # <<<<<<<<<<<<<< + * return -1 + * return _write_char(writer, pct2, changed) + */ + __pyx_t_1 = ((__pyx_f_4yarl_8_quoting__write_char(__pyx_v_writer, __pyx_v_pct1, __pyx_v_changed) < 0) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":145 + * return -1 + * if _write_char(writer, pct1, changed) < 0: + * return -1 # <<<<<<<<<<<<<< + * return _write_char(writer, pct2, changed) + * + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":144 + * if _write_char(writer, '%', changed) < 0: + * return -1 + * if _write_char(writer, pct1, changed) < 0: # <<<<<<<<<<<<<< + * return -1 + * return _write_char(writer, pct2, changed) + */ + } + + /* "yarl/_quoting.pyx":146 + * if _write_char(writer, pct1, changed) < 0: + * return -1 + * return _write_char(writer, pct2, changed) # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = __pyx_f_4yarl_8_quoting__write_char(__pyx_v_writer, __pyx_v_pct2, __pyx_v_changed); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":137 + * + * + * cdef inline int _write_pct_check(Writer* writer, Py_UCS4 ch, Py_UCS4 pct[]): # <<<<<<<<<<<<<< + * cdef Py_UCS4 pct1 = _to_hex(<uint8_t>ch >> 4) + * cdef Py_UCS4 pct2 = _to_hex(<uint8_t>ch & 0x0f) + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yarl/_quoting.pyx":149 + * + * + * cdef inline int _write_utf8(Writer* writer, Py_UCS4 symbol): # <<<<<<<<<<<<<< + * cdef uint64_t utf = <uint64_t> symbol + * + */ + +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting__write_utf8(struct __pyx_t_4yarl_8_quoting_Writer *__pyx_v_writer, Py_UCS4 __pyx_v_symbol) { + uint64_t __pyx_v_utf; + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + __Pyx_RefNannySetupContext("_write_utf8", 0); + + /* "yarl/_quoting.pyx":150 + * + * cdef inline int _write_utf8(Writer* writer, Py_UCS4 symbol): + * cdef uint64_t utf = <uint64_t> symbol # <<<<<<<<<<<<<< + * + * if utf < 0x80: + */ + __pyx_v_utf = ((uint64_t)__pyx_v_symbol); + + /* "yarl/_quoting.pyx":152 + * cdef uint64_t utf = <uint64_t> symbol + * + * if utf < 0x80: # <<<<<<<<<<<<<< + * return _write_pct(writer, <uint8_t>utf, True) + * elif utf < 0x800: + */ + __pyx_t_1 = ((__pyx_v_utf < 0x80) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":153 + * + * if utf < 0x80: + * return _write_pct(writer, <uint8_t>utf, True) # <<<<<<<<<<<<<< + * elif utf < 0x800: + * if _write_pct(writer, <uint8_t>(0xc0 | (utf >> 6)), True) < 0: + */ + __pyx_r = __pyx_f_4yarl_8_quoting__write_pct(__pyx_v_writer, ((uint8_t)__pyx_v_utf), 1); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":152 + * cdef uint64_t utf = <uint64_t> symbol + * + * if utf < 0x80: # <<<<<<<<<<<<<< + * return _write_pct(writer, <uint8_t>utf, True) + * elif utf < 0x800: + */ + } + + /* "yarl/_quoting.pyx":154 + * if utf < 0x80: + * return _write_pct(writer, <uint8_t>utf, True) + * elif utf < 0x800: # <<<<<<<<<<<<<< + * if _write_pct(writer, <uint8_t>(0xc0 | (utf >> 6)), True) < 0: + * return -1 + */ + __pyx_t_1 = ((__pyx_v_utf < 0x800) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":155 + * return _write_pct(writer, <uint8_t>utf, True) + * elif utf < 0x800: + * if _write_pct(writer, <uint8_t>(0xc0 | (utf >> 6)), True) < 0: # <<<<<<<<<<<<<< + * return -1 + * return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) + */ + __pyx_t_1 = ((__pyx_f_4yarl_8_quoting__write_pct(__pyx_v_writer, ((uint8_t)(0xc0 | (__pyx_v_utf >> 6))), 1) < 0) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":156 + * elif utf < 0x800: + * if _write_pct(writer, <uint8_t>(0xc0 | (utf >> 6)), True) < 0: + * return -1 # <<<<<<<<<<<<<< + * return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) + * elif 0xD800 <= utf <= 0xDFFF: + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":155 + * return _write_pct(writer, <uint8_t>utf, True) + * elif utf < 0x800: + * if _write_pct(writer, <uint8_t>(0xc0 | (utf >> 6)), True) < 0: # <<<<<<<<<<<<<< + * return -1 + * return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) + */ + } + + /* "yarl/_quoting.pyx":157 + * if _write_pct(writer, <uint8_t>(0xc0 | (utf >> 6)), True) < 0: + * return -1 + * return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) # <<<<<<<<<<<<<< + * elif 0xD800 <= utf <= 0xDFFF: + * # surogate pair, ignored + */ + __pyx_r = __pyx_f_4yarl_8_quoting__write_pct(__pyx_v_writer, ((uint8_t)(0x80 | (__pyx_v_utf & 0x3f))), 1); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":154 + * if utf < 0x80: + * return _write_pct(writer, <uint8_t>utf, True) + * elif utf < 0x800: # <<<<<<<<<<<<<< + * if _write_pct(writer, <uint8_t>(0xc0 | (utf >> 6)), True) < 0: + * return -1 + */ + } + + /* "yarl/_quoting.pyx":158 + * return -1 + * return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) + * elif 0xD800 <= utf <= 0xDFFF: # <<<<<<<<<<<<<< + * # surogate pair, ignored + * return 0 + */ + __pyx_t_1 = (0xD800 <= __pyx_v_utf); + if (__pyx_t_1) { + __pyx_t_1 = (__pyx_v_utf <= 0xDFFF); + } + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":160 + * elif 0xD800 <= utf <= 0xDFFF: + * # surogate pair, ignored + * return 0 # <<<<<<<<<<<<<< + * elif utf < 0x10000: + * if _write_pct(writer, <uint8_t>(0xe0 | (utf >> 12)), True) < 0: + */ + __pyx_r = 0; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":158 + * return -1 + * return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) + * elif 0xD800 <= utf <= 0xDFFF: # <<<<<<<<<<<<<< + * # surogate pair, ignored + * return 0 + */ + } + + /* "yarl/_quoting.pyx":161 + * # surogate pair, ignored + * return 0 + * elif utf < 0x10000: # <<<<<<<<<<<<<< + * if _write_pct(writer, <uint8_t>(0xe0 | (utf >> 12)), True) < 0: + * return -1 + */ + __pyx_t_2 = ((__pyx_v_utf < 0x10000) != 0); + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":162 + * return 0 + * elif utf < 0x10000: + * if _write_pct(writer, <uint8_t>(0xe0 | (utf >> 12)), True) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f)), + */ + __pyx_t_2 = ((__pyx_f_4yarl_8_quoting__write_pct(__pyx_v_writer, ((uint8_t)(0xe0 | (__pyx_v_utf >> 12))), 1) < 0) != 0); + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":163 + * elif utf < 0x10000: + * if _write_pct(writer, <uint8_t>(0xe0 | (utf >> 12)), True) < 0: + * return -1 # <<<<<<<<<<<<<< + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f)), + * True) < 0: + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":162 + * return 0 + * elif utf < 0x10000: + * if _write_pct(writer, <uint8_t>(0xe0 | (utf >> 12)), True) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f)), + */ + } + + /* "yarl/_quoting.pyx":165 + * return -1 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f)), + * True) < 0: # <<<<<<<<<<<<<< + * return -1 + * return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) + */ + __pyx_t_2 = ((__pyx_f_4yarl_8_quoting__write_pct(__pyx_v_writer, ((uint8_t)(0x80 | ((__pyx_v_utf >> 6) & 0x3f))), 1) < 0) != 0); + + /* "yarl/_quoting.pyx":164 + * if _write_pct(writer, <uint8_t>(0xe0 | (utf >> 12)), True) < 0: + * return -1 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f)), # <<<<<<<<<<<<<< + * True) < 0: + * return -1 + */ + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":166 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f)), + * True) < 0: + * return -1 # <<<<<<<<<<<<<< + * return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) + * elif utf > 0x10FFFF: + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":164 + * if _write_pct(writer, <uint8_t>(0xe0 | (utf >> 12)), True) < 0: + * return -1 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f)), # <<<<<<<<<<<<<< + * True) < 0: + * return -1 + */ + } + + /* "yarl/_quoting.pyx":167 + * True) < 0: + * return -1 + * return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) # <<<<<<<<<<<<<< + * elif utf > 0x10FFFF: + * # symbol is too large + */ + __pyx_r = __pyx_f_4yarl_8_quoting__write_pct(__pyx_v_writer, ((uint8_t)(0x80 | (__pyx_v_utf & 0x3f))), 1); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":161 + * # surogate pair, ignored + * return 0 + * elif utf < 0x10000: # <<<<<<<<<<<<<< + * if _write_pct(writer, <uint8_t>(0xe0 | (utf >> 12)), True) < 0: + * return -1 + */ + } + + /* "yarl/_quoting.pyx":168 + * return -1 + * return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) + * elif utf > 0x10FFFF: # <<<<<<<<<<<<<< + * # symbol is too large + * return 0 + */ + __pyx_t_2 = ((__pyx_v_utf > 0x10FFFF) != 0); + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":170 + * elif utf > 0x10FFFF: + * # symbol is too large + * return 0 # <<<<<<<<<<<<<< + * else: + * if _write_pct(writer, <uint8_t>(0xf0 | (utf >> 18)), True) < 0: + */ + __pyx_r = 0; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":168 + * return -1 + * return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) + * elif utf > 0x10FFFF: # <<<<<<<<<<<<<< + * # symbol is too large + * return 0 + */ + } + + /* "yarl/_quoting.pyx":172 + * return 0 + * else: + * if _write_pct(writer, <uint8_t>(0xf0 | (utf >> 18)), True) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 12) & 0x3f)), + */ + /*else*/ { + __pyx_t_2 = ((__pyx_f_4yarl_8_quoting__write_pct(__pyx_v_writer, ((uint8_t)(0xf0 | (__pyx_v_utf >> 18))), 1) < 0) != 0); + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":173 + * else: + * if _write_pct(writer, <uint8_t>(0xf0 | (utf >> 18)), True) < 0: + * return -1 # <<<<<<<<<<<<<< + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 12) & 0x3f)), + * True) < 0: + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":172 + * return 0 + * else: + * if _write_pct(writer, <uint8_t>(0xf0 | (utf >> 18)), True) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 12) & 0x3f)), + */ + } + + /* "yarl/_quoting.pyx":175 + * return -1 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 12) & 0x3f)), + * True) < 0: # <<<<<<<<<<<<<< + * return -1 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f)), + */ + __pyx_t_2 = ((__pyx_f_4yarl_8_quoting__write_pct(__pyx_v_writer, ((uint8_t)(0x80 | ((__pyx_v_utf >> 12) & 0x3f))), 1) < 0) != 0); + + /* "yarl/_quoting.pyx":174 + * if _write_pct(writer, <uint8_t>(0xf0 | (utf >> 18)), True) < 0: + * return -1 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 12) & 0x3f)), # <<<<<<<<<<<<<< + * True) < 0: + * return -1 + */ + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":176 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 12) & 0x3f)), + * True) < 0: + * return -1 # <<<<<<<<<<<<<< + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f)), + * True) < 0: + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":174 + * if _write_pct(writer, <uint8_t>(0xf0 | (utf >> 18)), True) < 0: + * return -1 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 12) & 0x3f)), # <<<<<<<<<<<<<< + * True) < 0: + * return -1 + */ + } + + /* "yarl/_quoting.pyx":178 + * return -1 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f)), + * True) < 0: # <<<<<<<<<<<<<< + * return -1 + * return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) + */ + __pyx_t_2 = ((__pyx_f_4yarl_8_quoting__write_pct(__pyx_v_writer, ((uint8_t)(0x80 | ((__pyx_v_utf >> 6) & 0x3f))), 1) < 0) != 0); + + /* "yarl/_quoting.pyx":177 + * True) < 0: + * return -1 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f)), # <<<<<<<<<<<<<< + * True) < 0: + * return -1 + */ + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":179 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f)), + * True) < 0: + * return -1 # <<<<<<<<<<<<<< + * return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) + * + */ + __pyx_r = -1; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":177 + * True) < 0: + * return -1 + * if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f)), # <<<<<<<<<<<<<< + * True) < 0: + * return -1 + */ + } + + /* "yarl/_quoting.pyx":180 + * True) < 0: + * return -1 + * return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = __pyx_f_4yarl_8_quoting__write_pct(__pyx_v_writer, ((uint8_t)(0x80 | (__pyx_v_utf & 0x3f))), 1); + goto __pyx_L0; + } + + /* "yarl/_quoting.pyx":149 + * + * + * cdef inline int _write_utf8(Writer* writer, Py_UCS4 symbol): # <<<<<<<<<<<<<< + * cdef uint64_t utf = <uint64_t> symbol + * + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yarl/_quoting.pyx":192 + * cdef uint8_t _protected_table[16] + * + * def __init__(self, *, str safe='', str protected='', bint qs=False): # <<<<<<<<<<<<<< + * cdef Py_UCS4 ch + * + */ + +/* Python wrapper */ +static int __pyx_pw_4yarl_8_quoting_7_Quoter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_4yarl_8_quoting_7_Quoter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_safe = 0; + PyObject *__pyx_v_protected = 0; + int __pyx_v_qs; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_safe,&__pyx_n_s_protected,&__pyx_n_s_qs,0}; + PyObject* values[3] = {0,0,0}; + values[0] = ((PyObject*)__pyx_kp_u_); + values[1] = ((PyObject*)__pyx_kp_u_); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + if (kw_args > 0 && likely(kw_args <= 3)) { + Py_ssize_t index; + for (index = 0; index < 3 && kw_args > 0; index++) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, *__pyx_pyargnames[index]); + if (value) { values[index] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "__init__") < 0)) __PYX_ERR(0, 192, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 0) { + goto __pyx_L5_argtuple_error; + } else { + } + __pyx_v_safe = ((PyObject*)values[0]); + __pyx_v_protected = ((PyObject*)values[1]); + if (values[2]) { + __pyx_v_qs = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_qs == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 192, __pyx_L3_error) + } else { + __pyx_v_qs = ((int)0); + } + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 192, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("yarl._quoting._Quoter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_safe), (&PyUnicode_Type), 1, "safe", 1))) __PYX_ERR(0, 192, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_protected), (&PyUnicode_Type), 1, "protected", 1))) __PYX_ERR(0, 192, __pyx_L1_error) + __pyx_r = __pyx_pf_4yarl_8_quoting_7_Quoter___init__(((struct __pyx_obj_4yarl_8_quoting__Quoter *)__pyx_v_self), __pyx_v_safe, __pyx_v_protected, __pyx_v_qs); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_4yarl_8_quoting_7_Quoter___init__(struct __pyx_obj_4yarl_8_quoting__Quoter *__pyx_v_self, PyObject *__pyx_v_safe, PyObject *__pyx_v_protected, int __pyx_v_qs) { + Py_UCS4 __pyx_v_ch; + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + Py_ssize_t __pyx_t_3; + Py_ssize_t __pyx_t_4; + void *__pyx_t_5; + int __pyx_t_6; + int __pyx_t_7; + Py_ssize_t __pyx_t_8; + PyObject *__pyx_t_9 = NULL; + __Pyx_RefNannySetupContext("__init__", 0); + + /* "yarl/_quoting.pyx":195 + * cdef Py_UCS4 ch + * + * self._qs = qs # <<<<<<<<<<<<<< + * + * if not self._qs: + */ + __pyx_v_self->_qs = __pyx_v_qs; + + /* "yarl/_quoting.pyx":197 + * self._qs = qs + * + * if not self._qs: # <<<<<<<<<<<<<< + * memcpy(self._safe_table, + * ALLOWED_NOTQS_TABLE, + */ + __pyx_t_1 = ((!(__pyx_v_self->_qs != 0)) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":198 + * + * if not self._qs: + * memcpy(self._safe_table, # <<<<<<<<<<<<<< + * ALLOWED_NOTQS_TABLE, + * sizeof(self._safe_table)) + */ + (void)(memcpy(__pyx_v_self->_safe_table, __pyx_v_4yarl_8_quoting_ALLOWED_NOTQS_TABLE, (sizeof(__pyx_v_self->_safe_table)))); + + /* "yarl/_quoting.pyx":197 + * self._qs = qs + * + * if not self._qs: # <<<<<<<<<<<<<< + * memcpy(self._safe_table, + * ALLOWED_NOTQS_TABLE, + */ + goto __pyx_L3; + } + + /* "yarl/_quoting.pyx":202 + * sizeof(self._safe_table)) + * else: + * memcpy(self._safe_table, # <<<<<<<<<<<<<< + * ALLOWED_TABLE, + * sizeof(self._safe_table)) + */ + /*else*/ { + + /* "yarl/_quoting.pyx":204 + * memcpy(self._safe_table, + * ALLOWED_TABLE, + * sizeof(self._safe_table)) # <<<<<<<<<<<<<< + * for ch in safe: + * if ord(ch) > 127: + */ + (void)(memcpy(__pyx_v_self->_safe_table, __pyx_v_4yarl_8_quoting_ALLOWED_TABLE, (sizeof(__pyx_v_self->_safe_table)))); + } + __pyx_L3:; + + /* "yarl/_quoting.pyx":205 + * ALLOWED_TABLE, + * sizeof(self._safe_table)) + * for ch in safe: # <<<<<<<<<<<<<< + * if ord(ch) > 127: + * raise ValueError("Only safe symbols with ORD < 128 are allowed") + */ + if (unlikely(__pyx_v_safe == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' is not iterable"); + __PYX_ERR(0, 205, __pyx_L1_error) + } + __Pyx_INCREF(__pyx_v_safe); + __pyx_t_2 = __pyx_v_safe; + __pyx_t_7 = __Pyx_init_unicode_iteration(__pyx_t_2, (&__pyx_t_4), (&__pyx_t_5), (&__pyx_t_6)); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 205, __pyx_L1_error) + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_4; __pyx_t_8++) { + __pyx_t_3 = __pyx_t_8; + __pyx_v_ch = __Pyx_PyUnicode_READ(__pyx_t_6, __pyx_t_5, __pyx_t_3); + + /* "yarl/_quoting.pyx":206 + * sizeof(self._safe_table)) + * for ch in safe: + * if ord(ch) > 127: # <<<<<<<<<<<<<< + * raise ValueError("Only safe symbols with ORD < 128 are allowed") + * set_bit(self._safe_table, ch) + */ + __pyx_t_1 = ((((long)__pyx_v_ch) > 0x7F) != 0); + if (unlikely(__pyx_t_1)) { + + /* "yarl/_quoting.pyx":207 + * for ch in safe: + * if ord(ch) > 127: + * raise ValueError("Only safe symbols with ORD < 128 are allowed") # <<<<<<<<<<<<<< + * set_bit(self._safe_table, ch) + * + */ + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 207, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_Raise(__pyx_t_9, 0, 0, 0); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __PYX_ERR(0, 207, __pyx_L1_error) + + /* "yarl/_quoting.pyx":206 + * sizeof(self._safe_table)) + * for ch in safe: + * if ord(ch) > 127: # <<<<<<<<<<<<<< + * raise ValueError("Only safe symbols with ORD < 128 are allowed") + * set_bit(self._safe_table, ch) + */ + } + + /* "yarl/_quoting.pyx":208 + * if ord(ch) > 127: + * raise ValueError("Only safe symbols with ORD < 128 are allowed") + * set_bit(self._safe_table, ch) # <<<<<<<<<<<<<< + * + * memset(self._protected_table, 0, sizeof(self._protected_table)) + */ + __pyx_f_4yarl_8_quoting_set_bit(__pyx_v_self->_safe_table, __pyx_v_ch); + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "yarl/_quoting.pyx":210 + * set_bit(self._safe_table, ch) + * + * memset(self._protected_table, 0, sizeof(self._protected_table)) # <<<<<<<<<<<<<< + * for ch in protected: + * if ord(ch) > 127: + */ + (void)(memset(__pyx_v_self->_protected_table, 0, (sizeof(__pyx_v_self->_protected_table)))); + + /* "yarl/_quoting.pyx":211 + * + * memset(self._protected_table, 0, sizeof(self._protected_table)) + * for ch in protected: # <<<<<<<<<<<<<< + * if ord(ch) > 127: + * raise ValueError("Only safe symbols with ORD < 128 are allowed") + */ + if (unlikely(__pyx_v_protected == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' is not iterable"); + __PYX_ERR(0, 211, __pyx_L1_error) + } + __Pyx_INCREF(__pyx_v_protected); + __pyx_t_2 = __pyx_v_protected; + __pyx_t_7 = __Pyx_init_unicode_iteration(__pyx_t_2, (&__pyx_t_3), (&__pyx_t_5), (&__pyx_t_6)); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 211, __pyx_L1_error) + for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_3; __pyx_t_8++) { + __pyx_t_4 = __pyx_t_8; + __pyx_v_ch = __Pyx_PyUnicode_READ(__pyx_t_6, __pyx_t_5, __pyx_t_4); + + /* "yarl/_quoting.pyx":212 + * memset(self._protected_table, 0, sizeof(self._protected_table)) + * for ch in protected: + * if ord(ch) > 127: # <<<<<<<<<<<<<< + * raise ValueError("Only safe symbols with ORD < 128 are allowed") + * set_bit(self._safe_table, ch) + */ + __pyx_t_1 = ((((long)__pyx_v_ch) > 0x7F) != 0); + if (unlikely(__pyx_t_1)) { + + /* "yarl/_quoting.pyx":213 + * for ch in protected: + * if ord(ch) > 127: + * raise ValueError("Only safe symbols with ORD < 128 are allowed") # <<<<<<<<<<<<<< + * set_bit(self._safe_table, ch) + * set_bit(self._protected_table, ch) + */ + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 213, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_Raise(__pyx_t_9, 0, 0, 0); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __PYX_ERR(0, 213, __pyx_L1_error) + + /* "yarl/_quoting.pyx":212 + * memset(self._protected_table, 0, sizeof(self._protected_table)) + * for ch in protected: + * if ord(ch) > 127: # <<<<<<<<<<<<<< + * raise ValueError("Only safe symbols with ORD < 128 are allowed") + * set_bit(self._safe_table, ch) + */ + } + + /* "yarl/_quoting.pyx":214 + * if ord(ch) > 127: + * raise ValueError("Only safe symbols with ORD < 128 are allowed") + * set_bit(self._safe_table, ch) # <<<<<<<<<<<<<< + * set_bit(self._protected_table, ch) + * + */ + __pyx_f_4yarl_8_quoting_set_bit(__pyx_v_self->_safe_table, __pyx_v_ch); + + /* "yarl/_quoting.pyx":215 + * raise ValueError("Only safe symbols with ORD < 128 are allowed") + * set_bit(self._safe_table, ch) + * set_bit(self._protected_table, ch) # <<<<<<<<<<<<<< + * + * def __call__(self, val): + */ + __pyx_f_4yarl_8_quoting_set_bit(__pyx_v_self->_protected_table, __pyx_v_ch); + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "yarl/_quoting.pyx":192 + * cdef uint8_t _protected_table[16] + * + * def __init__(self, *, str safe='', str protected='', bint qs=False): # <<<<<<<<<<<<<< + * cdef Py_UCS4 ch + * + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("yarl._quoting._Quoter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yarl/_quoting.pyx":217 + * set_bit(self._protected_table, ch) + * + * def __call__(self, val): # <<<<<<<<<<<<<< + * cdef Writer writer + * if val is None: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_4yarl_8_quoting_7_Quoter_3__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pw_4yarl_8_quoting_7_Quoter_3__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_val = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__call__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_val,0}; + PyObject* values[1] = {0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__call__") < 0)) __PYX_ERR(0, 217, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + } + __pyx_v_val = values[0]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__call__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 217, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("yarl._quoting._Quoter.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_4yarl_8_quoting_7_Quoter_2__call__(((struct __pyx_obj_4yarl_8_quoting__Quoter *)__pyx_v_self), __pyx_v_val); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_4yarl_8_quoting_7_Quoter_2__call__(struct __pyx_obj_4yarl_8_quoting__Quoter *__pyx_v_self, PyObject *__pyx_v_val) { + struct __pyx_t_4yarl_8_quoting_Writer __pyx_v_writer; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; + char const *__pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + __Pyx_RefNannySetupContext("__call__", 0); + __Pyx_INCREF(__pyx_v_val); + + /* "yarl/_quoting.pyx":219 + * def __call__(self, val): + * cdef Writer writer + * if val is None: # <<<<<<<<<<<<<< + * return None + * if type(val) is not str: + */ + __pyx_t_1 = (__pyx_v_val == Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":220 + * cdef Writer writer + * if val is None: + * return None # <<<<<<<<<<<<<< + * if type(val) is not str: + * if isinstance(val, str): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":219 + * def __call__(self, val): + * cdef Writer writer + * if val is None: # <<<<<<<<<<<<<< + * return None + * if type(val) is not str: + */ + } + + /* "yarl/_quoting.pyx":221 + * if val is None: + * return None + * if type(val) is not str: # <<<<<<<<<<<<<< + * if isinstance(val, str): + * # derived from str + */ + __pyx_t_2 = (((PyObject *)Py_TYPE(__pyx_v_val)) != ((PyObject *)(&PyUnicode_Type))); + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":222 + * return None + * if type(val) is not str: + * if isinstance(val, str): # <<<<<<<<<<<<<< + * # derived from str + * val = str(val) + */ + __pyx_t_1 = PyUnicode_Check(__pyx_v_val); + __pyx_t_2 = (__pyx_t_1 != 0); + if (likely(__pyx_t_2)) { + + /* "yarl/_quoting.pyx":224 + * if isinstance(val, str): + * # derived from str + * val = str(val) # <<<<<<<<<<<<<< + * else: + * raise TypeError("Argument should be str") + */ + __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_val); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 224, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_val, __pyx_t_3); + __pyx_t_3 = 0; + + /* "yarl/_quoting.pyx":222 + * return None + * if type(val) is not str: + * if isinstance(val, str): # <<<<<<<<<<<<<< + * # derived from str + * val = str(val) + */ + goto __pyx_L5; + } + + /* "yarl/_quoting.pyx":226 + * val = str(val) + * else: + * raise TypeError("Argument should be str") # <<<<<<<<<<<<<< + * _init_writer(&writer) + * try: + */ + /*else*/ { + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 226, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 226, __pyx_L1_error) + } + __pyx_L5:; + + /* "yarl/_quoting.pyx":221 + * if val is None: + * return None + * if type(val) is not str: # <<<<<<<<<<<<<< + * if isinstance(val, str): + * # derived from str + */ + } + + /* "yarl/_quoting.pyx":227 + * else: + * raise TypeError("Argument should be str") + * _init_writer(&writer) # <<<<<<<<<<<<<< + * try: + * return self._do_quote(<str>val, &writer) + */ + __pyx_f_4yarl_8_quoting__init_writer((&__pyx_v_writer)); + + /* "yarl/_quoting.pyx":228 + * raise TypeError("Argument should be str") + * _init_writer(&writer) + * try: # <<<<<<<<<<<<<< + * return self._do_quote(<str>val, &writer) + * finally: + */ + /*try:*/ { + + /* "yarl/_quoting.pyx":229 + * _init_writer(&writer) + * try: + * return self._do_quote(<str>val, &writer) # <<<<<<<<<<<<<< + * finally: + * _release_writer(&writer) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = ((struct __pyx_vtabstruct_4yarl_8_quoting__Quoter *)__pyx_v_self->__pyx_vtab)->_do_quote(__pyx_v_self, ((PyObject*)__pyx_v_val), (&__pyx_v_writer)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 229, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L6_return; + } + + /* "yarl/_quoting.pyx":231 + * return self._do_quote(<str>val, &writer) + * finally: + * _release_writer(&writer) # <<<<<<<<<<<<<< + * + * cdef str _do_quote(self, str val, Writer *writer): + */ + /*finally:*/ { + __pyx_L7_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename; + { + __pyx_f_4yarl_8_quoting__release_writer((&__pyx_v_writer)); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + } + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9); + __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; + __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6; + goto __pyx_L1_error; + } + __pyx_L6_return: { + __pyx_t_12 = __pyx_r; + __pyx_r = 0; + __pyx_f_4yarl_8_quoting__release_writer((&__pyx_v_writer)); + __pyx_r = __pyx_t_12; + __pyx_t_12 = 0; + goto __pyx_L0; + } + } + + /* "yarl/_quoting.pyx":217 + * set_bit(self._protected_table, ch) + * + * def __call__(self, val): # <<<<<<<<<<<<<< + * cdef Writer writer + * if val is None: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("yarl._quoting._Quoter.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yarl/_quoting.pyx":233 + * _release_writer(&writer) + * + * cdef str _do_quote(self, str val, Writer *writer): # <<<<<<<<<<<<<< + * cdef Py_UCS4 ch + * cdef int has_pct = 0 + */ + +static PyObject *__pyx_f_4yarl_8_quoting_7_Quoter__do_quote(struct __pyx_obj_4yarl_8_quoting__Quoter *__pyx_v_self, PyObject *__pyx_v_val, struct __pyx_t_4yarl_8_quoting_Writer *__pyx_v_writer) { + Py_UCS4 __pyx_v_ch; + int __pyx_v_has_pct; + Py_UCS4 __pyx_v_pct[2]; + CYTHON_UNUSED int __pyx_v_idx; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + Py_ssize_t __pyx_t_3; + void *__pyx_t_4; + int __pyx_t_5; + int __pyx_t_6; + Py_ssize_t __pyx_t_7; + int __pyx_t_8; + PyObject *__pyx_t_9 = NULL; + __Pyx_RefNannySetupContext("_do_quote", 0); + + /* "yarl/_quoting.pyx":235 + * cdef str _do_quote(self, str val, Writer *writer): + * cdef Py_UCS4 ch + * cdef int has_pct = 0 # <<<<<<<<<<<<<< + * cdef Py_UCS4 pct[2] + * cdef int idx = 0 + */ + __pyx_v_has_pct = 0; + + /* "yarl/_quoting.pyx":237 + * cdef int has_pct = 0 + * cdef Py_UCS4 pct[2] + * cdef int idx = 0 # <<<<<<<<<<<<<< + * + * for ch in val: + */ + __pyx_v_idx = 0; + + /* "yarl/_quoting.pyx":239 + * cdef int idx = 0 + * + * for ch in val: # <<<<<<<<<<<<<< + * if has_pct: + * pct[has_pct-1] = ch + */ + if (unlikely(__pyx_v_val == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' is not iterable"); + __PYX_ERR(0, 239, __pyx_L1_error) + } + __Pyx_INCREF(__pyx_v_val); + __pyx_t_1 = __pyx_v_val; + __pyx_t_6 = __Pyx_init_unicode_iteration(__pyx_t_1, (&__pyx_t_3), (&__pyx_t_4), (&__pyx_t_5)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 239, __pyx_L1_error) + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_3; __pyx_t_7++) { + __pyx_t_2 = __pyx_t_7; + __pyx_v_ch = __Pyx_PyUnicode_READ(__pyx_t_5, __pyx_t_4, __pyx_t_2); + + /* "yarl/_quoting.pyx":240 + * + * for ch in val: + * if has_pct: # <<<<<<<<<<<<<< + * pct[has_pct-1] = ch + * has_pct += 1 + */ + __pyx_t_8 = (__pyx_v_has_pct != 0); + if (__pyx_t_8) { + + /* "yarl/_quoting.pyx":241 + * for ch in val: + * if has_pct: + * pct[has_pct-1] = ch # <<<<<<<<<<<<<< + * has_pct += 1 + * if has_pct == 3: + */ + (__pyx_v_pct[(__pyx_v_has_pct - 1)]) = __pyx_v_ch; + + /* "yarl/_quoting.pyx":242 + * if has_pct: + * pct[has_pct-1] = ch + * has_pct += 1 # <<<<<<<<<<<<<< + * if has_pct == 3: + * ch = _restore_ch(pct[0], pct[1]) + */ + __pyx_v_has_pct = (__pyx_v_has_pct + 1); + + /* "yarl/_quoting.pyx":243 + * pct[has_pct-1] = ch + * has_pct += 1 + * if has_pct == 3: # <<<<<<<<<<<<<< + * ch = _restore_ch(pct[0], pct[1]) + * has_pct = 0 + */ + __pyx_t_8 = ((__pyx_v_has_pct == 3) != 0); + if (__pyx_t_8) { + + /* "yarl/_quoting.pyx":244 + * has_pct += 1 + * if has_pct == 3: + * ch = _restore_ch(pct[0], pct[1]) # <<<<<<<<<<<<<< + * has_pct = 0 + * + */ + __pyx_v_ch = __pyx_f_4yarl_8_quoting__restore_ch((__pyx_v_pct[0]), (__pyx_v_pct[1])); + + /* "yarl/_quoting.pyx":245 + * if has_pct == 3: + * ch = _restore_ch(pct[0], pct[1]) + * has_pct = 0 # <<<<<<<<<<<<<< + * + * if ch == <Py_UCS4>-1: + */ + __pyx_v_has_pct = 0; + + /* "yarl/_quoting.pyx":247 + * has_pct = 0 + * + * if ch == <Py_UCS4>-1: # <<<<<<<<<<<<<< + * if _write_percent(writer) < 0: + * raise + */ + __pyx_t_8 = ((__pyx_v_ch == ((Py_UCS4)-1L)) != 0); + if (__pyx_t_8) { + + /* "yarl/_quoting.pyx":248 + * + * if ch == <Py_UCS4>-1: + * if _write_percent(writer) < 0: # <<<<<<<<<<<<<< + * raise + * if self._write(writer, pct[0]) < 0: + */ + __pyx_t_8 = ((__pyx_f_4yarl_8_quoting__write_percent(__pyx_v_writer) < 0) != 0); + if (unlikely(__pyx_t_8)) { + + /* "yarl/_quoting.pyx":249 + * if ch == <Py_UCS4>-1: + * if _write_percent(writer) < 0: + * raise # <<<<<<<<<<<<<< + * if self._write(writer, pct[0]) < 0: + * raise + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 249, __pyx_L1_error) + + /* "yarl/_quoting.pyx":248 + * + * if ch == <Py_UCS4>-1: + * if _write_percent(writer) < 0: # <<<<<<<<<<<<<< + * raise + * if self._write(writer, pct[0]) < 0: + */ + } + + /* "yarl/_quoting.pyx":250 + * if _write_percent(writer) < 0: + * raise + * if self._write(writer, pct[0]) < 0: # <<<<<<<<<<<<<< + * raise + * if self._write(writer, pct[1]) < 0: + */ + __pyx_t_8 = ((__pyx_f_4yarl_8_quoting_7_Quoter__write(__pyx_v_self, __pyx_v_writer, (__pyx_v_pct[0])) < 0) != 0); + if (unlikely(__pyx_t_8)) { + + /* "yarl/_quoting.pyx":251 + * raise + * if self._write(writer, pct[0]) < 0: + * raise # <<<<<<<<<<<<<< + * if self._write(writer, pct[1]) < 0: + * raise + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 251, __pyx_L1_error) + + /* "yarl/_quoting.pyx":250 + * if _write_percent(writer) < 0: + * raise + * if self._write(writer, pct[0]) < 0: # <<<<<<<<<<<<<< + * raise + * if self._write(writer, pct[1]) < 0: + */ + } + + /* "yarl/_quoting.pyx":252 + * if self._write(writer, pct[0]) < 0: + * raise + * if self._write(writer, pct[1]) < 0: # <<<<<<<<<<<<<< + * raise + * continue + */ + __pyx_t_8 = ((__pyx_f_4yarl_8_quoting_7_Quoter__write(__pyx_v_self, __pyx_v_writer, (__pyx_v_pct[1])) < 0) != 0); + if (unlikely(__pyx_t_8)) { + + /* "yarl/_quoting.pyx":253 + * raise + * if self._write(writer, pct[1]) < 0: + * raise # <<<<<<<<<<<<<< + * continue + * + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 253, __pyx_L1_error) + + /* "yarl/_quoting.pyx":252 + * if self._write(writer, pct[0]) < 0: + * raise + * if self._write(writer, pct[1]) < 0: # <<<<<<<<<<<<<< + * raise + * continue + */ + } + + /* "yarl/_quoting.pyx":254 + * if self._write(writer, pct[1]) < 0: + * raise + * continue # <<<<<<<<<<<<<< + * + * if ch < 128: + */ + goto __pyx_L3_continue; + + /* "yarl/_quoting.pyx":247 + * has_pct = 0 + * + * if ch == <Py_UCS4>-1: # <<<<<<<<<<<<<< + * if _write_percent(writer) < 0: + * raise + */ + } + + /* "yarl/_quoting.pyx":256 + * continue + * + * if ch < 128: # <<<<<<<<<<<<<< + * if bit_at(self._protected_table, ch): + * if _write_pct(writer, ch, True) < 0: + */ + __pyx_t_8 = ((__pyx_v_ch < 0x80) != 0); + if (__pyx_t_8) { + + /* "yarl/_quoting.pyx":257 + * + * if ch < 128: + * if bit_at(self._protected_table, ch): # <<<<<<<<<<<<<< + * if _write_pct(writer, ch, True) < 0: + * raise + */ + __pyx_t_8 = (__pyx_f_4yarl_8_quoting_bit_at(__pyx_v_self->_protected_table, __pyx_v_ch) != 0); + if (__pyx_t_8) { + + /* "yarl/_quoting.pyx":258 + * if ch < 128: + * if bit_at(self._protected_table, ch): + * if _write_pct(writer, ch, True) < 0: # <<<<<<<<<<<<<< + * raise + * continue + */ + __pyx_t_8 = ((__pyx_f_4yarl_8_quoting__write_pct(__pyx_v_writer, __pyx_v_ch, 1) < 0) != 0); + if (unlikely(__pyx_t_8)) { + + /* "yarl/_quoting.pyx":259 + * if bit_at(self._protected_table, ch): + * if _write_pct(writer, ch, True) < 0: + * raise # <<<<<<<<<<<<<< + * continue + * + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 259, __pyx_L1_error) + + /* "yarl/_quoting.pyx":258 + * if ch < 128: + * if bit_at(self._protected_table, ch): + * if _write_pct(writer, ch, True) < 0: # <<<<<<<<<<<<<< + * raise + * continue + */ + } + + /* "yarl/_quoting.pyx":260 + * if _write_pct(writer, ch, True) < 0: + * raise + * continue # <<<<<<<<<<<<<< + * + * if bit_at(self._safe_table, ch): + */ + goto __pyx_L3_continue; + + /* "yarl/_quoting.pyx":257 + * + * if ch < 128: + * if bit_at(self._protected_table, ch): # <<<<<<<<<<<<<< + * if _write_pct(writer, ch, True) < 0: + * raise + */ + } + + /* "yarl/_quoting.pyx":262 + * continue + * + * if bit_at(self._safe_table, ch): # <<<<<<<<<<<<<< + * if _write_char(writer, ch, True) < 0: + * raise + */ + __pyx_t_8 = (__pyx_f_4yarl_8_quoting_bit_at(__pyx_v_self->_safe_table, __pyx_v_ch) != 0); + if (__pyx_t_8) { + + /* "yarl/_quoting.pyx":263 + * + * if bit_at(self._safe_table, ch): + * if _write_char(writer, ch, True) < 0: # <<<<<<<<<<<<<< + * raise + * continue + */ + __pyx_t_8 = ((__pyx_f_4yarl_8_quoting__write_char(__pyx_v_writer, __pyx_v_ch, 1) < 0) != 0); + if (unlikely(__pyx_t_8)) { + + /* "yarl/_quoting.pyx":264 + * if bit_at(self._safe_table, ch): + * if _write_char(writer, ch, True) < 0: + * raise # <<<<<<<<<<<<<< + * continue + * + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 264, __pyx_L1_error) + + /* "yarl/_quoting.pyx":263 + * + * if bit_at(self._safe_table, ch): + * if _write_char(writer, ch, True) < 0: # <<<<<<<<<<<<<< + * raise + * continue + */ + } + + /* "yarl/_quoting.pyx":265 + * if _write_char(writer, ch, True) < 0: + * raise + * continue # <<<<<<<<<<<<<< + * + * if _write_pct_check(writer, ch, pct) < 0: + */ + goto __pyx_L3_continue; + + /* "yarl/_quoting.pyx":262 + * continue + * + * if bit_at(self._safe_table, ch): # <<<<<<<<<<<<<< + * if _write_char(writer, ch, True) < 0: + * raise + */ + } + + /* "yarl/_quoting.pyx":256 + * continue + * + * if ch < 128: # <<<<<<<<<<<<<< + * if bit_at(self._protected_table, ch): + * if _write_pct(writer, ch, True) < 0: + */ + } + + /* "yarl/_quoting.pyx":267 + * continue + * + * if _write_pct_check(writer, ch, pct) < 0: # <<<<<<<<<<<<<< + * raise + * continue + */ + __pyx_t_8 = ((__pyx_f_4yarl_8_quoting__write_pct_check(__pyx_v_writer, __pyx_v_ch, __pyx_v_pct) < 0) != 0); + if (unlikely(__pyx_t_8)) { + + /* "yarl/_quoting.pyx":268 + * + * if _write_pct_check(writer, ch, pct) < 0: + * raise # <<<<<<<<<<<<<< + * continue + * + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 268, __pyx_L1_error) + + /* "yarl/_quoting.pyx":267 + * continue + * + * if _write_pct_check(writer, ch, pct) < 0: # <<<<<<<<<<<<<< + * raise + * continue + */ + } + + /* "yarl/_quoting.pyx":243 + * pct[has_pct-1] = ch + * has_pct += 1 + * if has_pct == 3: # <<<<<<<<<<<<<< + * ch = _restore_ch(pct[0], pct[1]) + * has_pct = 0 + */ + } + + /* "yarl/_quoting.pyx":269 + * if _write_pct_check(writer, ch, pct) < 0: + * raise + * continue # <<<<<<<<<<<<<< + * + * elif ch == '%': + */ + goto __pyx_L3_continue; + + /* "yarl/_quoting.pyx":240 + * + * for ch in val: + * if has_pct: # <<<<<<<<<<<<<< + * pct[has_pct-1] = ch + * has_pct += 1 + */ + } + + /* "yarl/_quoting.pyx":271 + * continue + * + * elif ch == '%': # <<<<<<<<<<<<<< + * has_pct = 1 + * continue + */ + __pyx_t_8 = ((__pyx_v_ch == 37) != 0); + if (__pyx_t_8) { + + /* "yarl/_quoting.pyx":272 + * + * elif ch == '%': + * has_pct = 1 # <<<<<<<<<<<<<< + * continue + * + */ + __pyx_v_has_pct = 1; + + /* "yarl/_quoting.pyx":273 + * elif ch == '%': + * has_pct = 1 + * continue # <<<<<<<<<<<<<< + * + * if self._write(writer, ch) < 0: + */ + goto __pyx_L3_continue; + + /* "yarl/_quoting.pyx":271 + * continue + * + * elif ch == '%': # <<<<<<<<<<<<<< + * has_pct = 1 + * continue + */ + } + + /* "yarl/_quoting.pyx":275 + * continue + * + * if self._write(writer, ch) < 0: # <<<<<<<<<<<<<< + * raise + * + */ + __pyx_t_8 = ((__pyx_f_4yarl_8_quoting_7_Quoter__write(__pyx_v_self, __pyx_v_writer, __pyx_v_ch) < 0) != 0); + if (unlikely(__pyx_t_8)) { + + /* "yarl/_quoting.pyx":276 + * + * if self._write(writer, ch) < 0: + * raise # <<<<<<<<<<<<<< + * + * if has_pct: + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 276, __pyx_L1_error) + + /* "yarl/_quoting.pyx":275 + * continue + * + * if self._write(writer, ch) < 0: # <<<<<<<<<<<<<< + * raise + * + */ + } + __pyx_L3_continue:; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "yarl/_quoting.pyx":278 + * raise + * + * if has_pct: # <<<<<<<<<<<<<< + * if _write_percent(writer) < 0: + * raise + */ + __pyx_t_8 = (__pyx_v_has_pct != 0); + if (__pyx_t_8) { + + /* "yarl/_quoting.pyx":279 + * + * if has_pct: + * if _write_percent(writer) < 0: # <<<<<<<<<<<<<< + * raise + * if has_pct > 1: # the value is 2 + */ + __pyx_t_8 = ((__pyx_f_4yarl_8_quoting__write_percent(__pyx_v_writer) < 0) != 0); + if (unlikely(__pyx_t_8)) { + + /* "yarl/_quoting.pyx":280 + * if has_pct: + * if _write_percent(writer) < 0: + * raise # <<<<<<<<<<<<<< + * if has_pct > 1: # the value is 2 + * if self._write(writer, ch) < 0: + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 280, __pyx_L1_error) + + /* "yarl/_quoting.pyx":279 + * + * if has_pct: + * if _write_percent(writer) < 0: # <<<<<<<<<<<<<< + * raise + * if has_pct > 1: # the value is 2 + */ + } + + /* "yarl/_quoting.pyx":281 + * if _write_percent(writer) < 0: + * raise + * if has_pct > 1: # the value is 2 # <<<<<<<<<<<<<< + * if self._write(writer, ch) < 0: + * raise + */ + __pyx_t_8 = ((__pyx_v_has_pct > 1) != 0); + if (__pyx_t_8) { + + /* "yarl/_quoting.pyx":282 + * raise + * if has_pct > 1: # the value is 2 + * if self._write(writer, ch) < 0: # <<<<<<<<<<<<<< + * raise + * + */ + __pyx_t_8 = ((__pyx_f_4yarl_8_quoting_7_Quoter__write(__pyx_v_self, __pyx_v_writer, __pyx_v_ch) < 0) != 0); + if (unlikely(__pyx_t_8)) { + + /* "yarl/_quoting.pyx":283 + * if has_pct > 1: # the value is 2 + * if self._write(writer, ch) < 0: + * raise # <<<<<<<<<<<<<< + * + * if not writer.changed: + */ + __Pyx_ReraiseException(); __PYX_ERR(0, 283, __pyx_L1_error) + + /* "yarl/_quoting.pyx":282 + * raise + * if has_pct > 1: # the value is 2 + * if self._write(writer, ch) < 0: # <<<<<<<<<<<<<< + * raise + * + */ + } + + /* "yarl/_quoting.pyx":281 + * if _write_percent(writer) < 0: + * raise + * if has_pct > 1: # the value is 2 # <<<<<<<<<<<<<< + * if self._write(writer, ch) < 0: + * raise + */ + } + + /* "yarl/_quoting.pyx":278 + * raise + * + * if has_pct: # <<<<<<<<<<<<<< + * if _write_percent(writer) < 0: + * raise + */ + } + + /* "yarl/_quoting.pyx":285 + * raise + * + * if not writer.changed: # <<<<<<<<<<<<<< + * return val + * else: + */ + __pyx_t_8 = ((!(__pyx_v_writer->changed != 0)) != 0); + if (__pyx_t_8) { + + /* "yarl/_quoting.pyx":286 + * + * if not writer.changed: + * return val # <<<<<<<<<<<<<< + * else: + * return PyUnicode_DecodeASCII(writer.buf, writer.pos, "strict") + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_val); + __pyx_r = __pyx_v_val; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":285 + * raise + * + * if not writer.changed: # <<<<<<<<<<<<<< + * return val + * else: + */ + } + + /* "yarl/_quoting.pyx":288 + * return val + * else: + * return PyUnicode_DecodeASCII(writer.buf, writer.pos, "strict") # <<<<<<<<<<<<<< + * + * cdef inline int _write(self, Writer *writer, Py_UCS4 ch): + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_t_9 = PyUnicode_DecodeASCII(__pyx_v_writer->buf, __pyx_v_writer->pos, ((char *)"strict")); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 288, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_r = ((PyObject*)__pyx_t_9); + __pyx_t_9 = 0; + goto __pyx_L0; + } + + /* "yarl/_quoting.pyx":233 + * _release_writer(&writer) + * + * cdef str _do_quote(self, str val, Writer *writer): # <<<<<<<<<<<<<< + * cdef Py_UCS4 ch + * cdef int has_pct = 0 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("yarl._quoting._Quoter._do_quote", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yarl/_quoting.pyx":290 + * return PyUnicode_DecodeASCII(writer.buf, writer.pos, "strict") + * + * cdef inline int _write(self, Writer *writer, Py_UCS4 ch): # <<<<<<<<<<<<<< + * if self._qs: + * if ch == ' ': + */ + +static CYTHON_INLINE int __pyx_f_4yarl_8_quoting_7_Quoter__write(struct __pyx_obj_4yarl_8_quoting__Quoter *__pyx_v_self, struct __pyx_t_4yarl_8_quoting_Writer *__pyx_v_writer, Py_UCS4 __pyx_v_ch) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + __Pyx_RefNannySetupContext("_write", 0); + + /* "yarl/_quoting.pyx":291 + * + * cdef inline int _write(self, Writer *writer, Py_UCS4 ch): + * if self._qs: # <<<<<<<<<<<<<< + * if ch == ' ': + * return _write_char(writer, '+', True) + */ + __pyx_t_1 = (__pyx_v_self->_qs != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":292 + * cdef inline int _write(self, Writer *writer, Py_UCS4 ch): + * if self._qs: + * if ch == ' ': # <<<<<<<<<<<<<< + * return _write_char(writer, '+', True) + * + */ + __pyx_t_1 = ((__pyx_v_ch == 32) != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":293 + * if self._qs: + * if ch == ' ': + * return _write_char(writer, '+', True) # <<<<<<<<<<<<<< + * + * if ch < 128 and bit_at(self._safe_table, ch): + */ + __pyx_r = __pyx_f_4yarl_8_quoting__write_char(__pyx_v_writer, 43, 1); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":292 + * cdef inline int _write(self, Writer *writer, Py_UCS4 ch): + * if self._qs: + * if ch == ' ': # <<<<<<<<<<<<<< + * return _write_char(writer, '+', True) + * + */ + } + + /* "yarl/_quoting.pyx":291 + * + * cdef inline int _write(self, Writer *writer, Py_UCS4 ch): + * if self._qs: # <<<<<<<<<<<<<< + * if ch == ' ': + * return _write_char(writer, '+', True) + */ + } + + /* "yarl/_quoting.pyx":295 + * return _write_char(writer, '+', True) + * + * if ch < 128 and bit_at(self._safe_table, ch): # <<<<<<<<<<<<<< + * return _write_char(writer, ch, False) + * + */ + __pyx_t_2 = ((__pyx_v_ch < 0x80) != 0); + if (__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L6_bool_binop_done; + } + __pyx_t_2 = (__pyx_f_4yarl_8_quoting_bit_at(__pyx_v_self->_safe_table, __pyx_v_ch) != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L6_bool_binop_done:; + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":296 + * + * if ch < 128 and bit_at(self._safe_table, ch): + * return _write_char(writer, ch, False) # <<<<<<<<<<<<<< + * + * return _write_utf8(writer, ch) + */ + __pyx_r = __pyx_f_4yarl_8_quoting__write_char(__pyx_v_writer, __pyx_v_ch, 0); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":295 + * return _write_char(writer, '+', True) + * + * if ch < 128 and bit_at(self._safe_table, ch): # <<<<<<<<<<<<<< + * return _write_char(writer, ch, False) + * + */ + } + + /* "yarl/_quoting.pyx":298 + * return _write_char(writer, ch, False) + * + * return _write_utf8(writer, ch) # <<<<<<<<<<<<<< + * + * + */ + __pyx_r = __pyx_f_4yarl_8_quoting__write_utf8(__pyx_v_writer, __pyx_v_ch); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":290 + * return PyUnicode_DecodeASCII(writer.buf, writer.pos, "strict") + * + * cdef inline int _write(self, Writer *writer, Py_UCS4 ch): # <<<<<<<<<<<<<< + * if self._qs: + * if ch == ' ': + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef bint use_setstate + * state = (self._protected_table, self._qs, self._safe_table) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_4yarl_8_quoting_7_Quoter_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_4yarl_8_quoting_7_Quoter_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_4yarl_8_quoting_7_Quoter_4__reduce_cython__(((struct __pyx_obj_4yarl_8_quoting__Quoter *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_4yarl_8_quoting_7_Quoter_4__reduce_cython__(struct __pyx_obj_4yarl_8_quoting__Quoter *__pyx_v_self) { + int __pyx_v_use_setstate; + PyObject *__pyx_v_state = NULL; + PyObject *__pyx_v__dict = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + int __pyx_t_6; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":3 + * def __reduce_cython__(self): + * cdef bint use_setstate + * state = (self._protected_table, self._qs, self._safe_table) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = __Pyx_PyObject_FromCString(__pyx_v_self->_protected_table); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->_qs); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_FromCString(__pyx_v_self->_safe_table); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_t_3 = 0; + __pyx_v_state = __pyx_t_4; + __pyx_t_4 = 0; + + /* "(tree fragment)":4 + * cdef bint use_setstate + * state = (self._protected_table, self._qs, self._safe_table) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_4 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_v__dict = __pyx_t_4; + __pyx_t_4 = 0; + + /* "(tree fragment)":5 + * state = (self._protected_table, self._qs, self._safe_table) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_5 = (__pyx_v__dict != Py_None); + __pyx_t_6 = (__pyx_t_5 != 0); + if (__pyx_t_6) { + + /* "(tree fragment)":6 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__dict); + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF_SET(__pyx_v_state, __pyx_t_3); + __pyx_t_3 = 0; + + /* "(tree fragment)":7 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = False + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":5 + * state = (self._protected_table, self._qs, self._safe_table) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":9 + * use_setstate = True + * else: + * use_setstate = False # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle__Quoter, (type(self), 0x8f193a6, None), state + */ + /*else*/ { + __pyx_v_use_setstate = 0; + } + __pyx_L3:; + + /* "(tree fragment)":10 + * else: + * use_setstate = False + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle__Quoter, (type(self), 0x8f193a6, None), state + * else: + */ + __pyx_t_6 = (__pyx_v_use_setstate != 0); + if (__pyx_t_6) { + + /* "(tree fragment)":11 + * use_setstate = False + * if use_setstate: + * return __pyx_unpickle__Quoter, (type(self), 0x8f193a6, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle__Quoter, (type(self), 0x8f193a6, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle__Quoter); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_150049702); + __Pyx_GIVEREF(__pyx_int_150049702); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_150049702); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state); + __pyx_t_3 = 0; + __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* "(tree fragment)":10 + * else: + * use_setstate = False + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle__Quoter, (type(self), 0x8f193a6, None), state + * else: + */ + } + + /* "(tree fragment)":13 + * return __pyx_unpickle__Quoter, (type(self), 0x8f193a6, None), state + * else: + * return __pyx_unpickle__Quoter, (type(self), 0x8f193a6, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle__Quoter__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle__Quoter); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_150049702); + __Pyx_GIVEREF(__pyx_int_150049702); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_150049702); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state); + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4); + __pyx_t_2 = 0; + __pyx_t_4 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef bint use_setstate + * state = (self._protected_table, self._qs, self._safe_table) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("yarl._quoting._Quoter.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":14 + * else: + * return __pyx_unpickle__Quoter, (type(self), 0x8f193a6, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle__Quoter__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_4yarl_8_quoting_7_Quoter_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_4yarl_8_quoting_7_Quoter_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_4yarl_8_quoting_7_Quoter_6__setstate_cython__(((struct __pyx_obj_4yarl_8_quoting__Quoter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_4yarl_8_quoting_7_Quoter_6__setstate_cython__(struct __pyx_obj_4yarl_8_quoting__Quoter *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":15 + * return __pyx_unpickle__Quoter, (type(self), 0x8f193a6, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle__Quoter__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 15, __pyx_L1_error) + __pyx_t_1 = __pyx_f_4yarl_8_quoting___pyx_unpickle__Quoter__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":14 + * else: + * return __pyx_unpickle__Quoter, (type(self), 0x8f193a6, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle__Quoter__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("yarl._quoting._Quoter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yarl/_quoting.pyx":307 + * cdef _Quoter _qs_quoter + * + * def __init__(self, *, unsafe='', qs=False): # <<<<<<<<<<<<<< + * self._unsafe = unsafe + * self._qs = qs + */ + +/* Python wrapper */ +static int __pyx_pw_4yarl_8_quoting_9_Unquoter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_4yarl_8_quoting_9_Unquoter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_unsafe = 0; + PyObject *__pyx_v_qs = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_unsafe,&__pyx_n_s_qs,0}; + PyObject* values[2] = {0,0}; + values[0] = ((PyObject *)__pyx_kp_u_); + values[1] = ((PyObject *)Py_False); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + if (kw_args > 0 && likely(kw_args <= 2)) { + Py_ssize_t index; + for (index = 0; index < 2 && kw_args > 0; index++) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, *__pyx_pyargnames[index]); + if (value) { values[index] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "__init__") < 0)) __PYX_ERR(0, 307, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 0) { + goto __pyx_L5_argtuple_error; + } else { + } + __pyx_v_unsafe = values[0]; + __pyx_v_qs = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 307, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("yarl._quoting._Unquoter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_4yarl_8_quoting_9_Unquoter___init__(((struct __pyx_obj_4yarl_8_quoting__Unquoter *)__pyx_v_self), __pyx_v_unsafe, __pyx_v_qs); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_4yarl_8_quoting_9_Unquoter___init__(struct __pyx_obj_4yarl_8_quoting__Unquoter *__pyx_v_self, PyObject *__pyx_v_unsafe, PyObject *__pyx_v_qs) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("__init__", 0); + + /* "yarl/_quoting.pyx":308 + * + * def __init__(self, *, unsafe='', qs=False): + * self._unsafe = unsafe # <<<<<<<<<<<<<< + * self._qs = qs + * self._quoter = _Quoter() + */ + if (!(likely(PyUnicode_CheckExact(__pyx_v_unsafe))||((__pyx_v_unsafe) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_v_unsafe)->tp_name), 0))) __PYX_ERR(0, 308, __pyx_L1_error) + __pyx_t_1 = __pyx_v_unsafe; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->_unsafe); + __Pyx_DECREF(__pyx_v_self->_unsafe); + __pyx_v_self->_unsafe = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "yarl/_quoting.pyx":309 + * def __init__(self, *, unsafe='', qs=False): + * self._unsafe = unsafe + * self._qs = qs # <<<<<<<<<<<<<< + * self._quoter = _Quoter() + * self._qs_quoter = _Quoter(qs=True) + */ + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_qs); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 309, __pyx_L1_error) + __pyx_v_self->_qs = __pyx_t_2; + + /* "yarl/_quoting.pyx":310 + * self._unsafe = unsafe + * self._qs = qs + * self._quoter = _Quoter() # <<<<<<<<<<<<<< + * self._qs_quoter = _Quoter(qs=True) + * + */ + __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4yarl_8_quoting__Quoter)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 310, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->_quoter); + __Pyx_DECREF(((PyObject *)__pyx_v_self->_quoter)); + __pyx_v_self->_quoter = ((struct __pyx_obj_4yarl_8_quoting__Quoter *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "yarl/_quoting.pyx":311 + * self._qs = qs + * self._quoter = _Quoter() + * self._qs_quoter = _Quoter(qs=True) # <<<<<<<<<<<<<< + * + * def __call__(self, val): + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 311, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_qs, Py_True) < 0) __PYX_ERR(0, 311, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4yarl_8_quoting__Quoter), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 311, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_v_self->_qs_quoter); + __Pyx_DECREF(((PyObject *)__pyx_v_self->_qs_quoter)); + __pyx_v_self->_qs_quoter = ((struct __pyx_obj_4yarl_8_quoting__Quoter *)__pyx_t_3); + __pyx_t_3 = 0; + + /* "yarl/_quoting.pyx":307 + * cdef _Quoter _qs_quoter + * + * def __init__(self, *, unsafe='', qs=False): # <<<<<<<<<<<<<< + * self._unsafe = unsafe + * self._qs = qs + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("yarl._quoting._Unquoter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yarl/_quoting.pyx":313 + * self._qs_quoter = _Quoter(qs=True) + * + * def __call__(self, val): # <<<<<<<<<<<<<< + * if val is None: + * return None + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_4yarl_8_quoting_9_Unquoter_3__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pw_4yarl_8_quoting_9_Unquoter_3__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_val = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__call__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_val,0}; + PyObject* values[1] = {0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_val)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__call__") < 0)) __PYX_ERR(0, 313, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + } + __pyx_v_val = values[0]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__call__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 313, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("yarl._quoting._Unquoter.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_4yarl_8_quoting_9_Unquoter_2__call__(((struct __pyx_obj_4yarl_8_quoting__Unquoter *)__pyx_v_self), __pyx_v_val); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_4yarl_8_quoting_9_Unquoter_2__call__(struct __pyx_obj_4yarl_8_quoting__Unquoter *__pyx_v_self, PyObject *__pyx_v_val) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + __Pyx_RefNannySetupContext("__call__", 0); + __Pyx_INCREF(__pyx_v_val); + + /* "yarl/_quoting.pyx":314 + * + * def __call__(self, val): + * if val is None: # <<<<<<<<<<<<<< + * return None + * if type(val) is not str: + */ + __pyx_t_1 = (__pyx_v_val == Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":315 + * def __call__(self, val): + * if val is None: + * return None # <<<<<<<<<<<<<< + * if type(val) is not str: + * if isinstance(val, str): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + + /* "yarl/_quoting.pyx":314 + * + * def __call__(self, val): + * if val is None: # <<<<<<<<<<<<<< + * return None + * if type(val) is not str: + */ + } + + /* "yarl/_quoting.pyx":316 + * if val is None: + * return None + * if type(val) is not str: # <<<<<<<<<<<<<< + * if isinstance(val, str): + * # derived from str + */ + __pyx_t_2 = (((PyObject *)Py_TYPE(__pyx_v_val)) != ((PyObject *)(&PyUnicode_Type))); + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "yarl/_quoting.pyx":317 + * return None + * if type(val) is not str: + * if isinstance(val, str): # <<<<<<<<<<<<<< + * # derived from str + * val = str(val) + */ + __pyx_t_1 = PyUnicode_Check(__pyx_v_val); + __pyx_t_2 = (__pyx_t_1 != 0); + if (likely(__pyx_t_2)) { + + /* "yarl/_quoting.pyx":319 + * if isinstance(val, str): + * # derived from str + * val = str(val) # <<<<<<<<<<<<<< + * else: + * raise TypeError("Argument should be str") + */ + __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_val); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 319, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_val, __pyx_t_3); + __pyx_t_3 = 0; + + /* "yarl/_quoting.pyx":317 + * return None + * if type(val) is not str: + * if isinstance(val, str): # <<<<<<<<<<<<<< + * # derived from str + * val = str(val) + */ + goto __pyx_L5; + } + + /* "yarl/_quoting.pyx":321 + * val = str(val) + * else: + * raise TypeError("Argument should be str") # <<<<<<<<<<<<<< + * return self._do_unquote(<str>val) + * + */ + /*else*/ { + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 321, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 321, __pyx_L1_error) + } + __pyx_L5:; + + /* "yarl/_quoting.pyx":316 + * if val is None: + * return None + * if type(val) is not str: # <<<<<<<<<<<<<< + * if isinstance(val, str): + * # derived from str + */ + } + + /* "yarl/_quoting.pyx":322 + * else: + * raise TypeError("Argument should be str") + * return self._do_unquote(<str>val) # <<<<<<<<<<<<<< + * + * cdef str _do_unquote(self, str val): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = ((struct __pyx_vtabstruct_4yarl_8_quoting__Unquoter *)__pyx_v_self->__pyx_vtab)->_do_unquote(__pyx_v_self, ((PyObject*)__pyx_v_val)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 322, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":313 + * self._qs_quoter = _Quoter(qs=True) + * + * def __call__(self, val): # <<<<<<<<<<<<<< + * if val is None: + * return None + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("yarl._quoting._Unquoter.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yarl/_quoting.pyx":324 + * return self._do_unquote(<str>val) + * + * cdef str _do_unquote(self, str val): # <<<<<<<<<<<<<< + * if len(val) == 0: + * return val + */ + +static PyObject *__pyx_f_4yarl_8_quoting_9_Unquoter__do_unquote(struct __pyx_obj_4yarl_8_quoting__Unquoter *__pyx_v_self, PyObject *__pyx_v_val) { + PyObject *__pyx_v_pct = 0; + PyObject *__pyx_v_last_pct = 0; + PyObject *__pyx_v_pcts = 0; + PyObject *__pyx_v_ret = 0; + PyObject *__pyx_v_unquoted = 0; + PyObject *__pyx_v_ch = NULL; + PyObject *__pyx_v_h = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + Py_ssize_t __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + Py_ssize_t __pyx_t_5; + void *__pyx_t_6; + int __pyx_t_7; + int __pyx_t_8; + Py_ssize_t __pyx_t_9; + Py_ssize_t __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + int __pyx_t_17; + int __pyx_t_18; + long __pyx_t_19; + PyObject *(*__pyx_t_20)(PyObject *); + __Pyx_RefNannySetupContext("_do_unquote", 0); + + /* "yarl/_quoting.pyx":325 + * + * cdef str _do_unquote(self, str val): + * if len(val) == 0: # <<<<<<<<<<<<<< + * return val + * cdef str pct = '' + */ + if (unlikely(__pyx_v_val == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(0, 325, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_PyUnicode_GET_LENGTH(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 325, __pyx_L1_error) + __pyx_t_2 = ((__pyx_t_1 == 0) != 0); + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":326 + * cdef str _do_unquote(self, str val): + * if len(val) == 0: + * return val # <<<<<<<<<<<<<< + * cdef str pct = '' + * cdef str last_pct = '' + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_val); + __pyx_r = __pyx_v_val; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":325 + * + * cdef str _do_unquote(self, str val): + * if len(val) == 0: # <<<<<<<<<<<<<< + * return val + * cdef str pct = '' + */ + } + + /* "yarl/_quoting.pyx":327 + * if len(val) == 0: + * return val + * cdef str pct = '' # <<<<<<<<<<<<<< + * cdef str last_pct = '' + * cdef bytearray pcts = bytearray() + */ + __Pyx_INCREF(__pyx_kp_u_); + __pyx_v_pct = __pyx_kp_u_; + + /* "yarl/_quoting.pyx":328 + * return val + * cdef str pct = '' + * cdef str last_pct = '' # <<<<<<<<<<<<<< + * cdef bytearray pcts = bytearray() + * cdef list ret = [] + */ + __Pyx_INCREF(__pyx_kp_u_); + __pyx_v_last_pct = __pyx_kp_u_; + + /* "yarl/_quoting.pyx":329 + * cdef str pct = '' + * cdef str last_pct = '' + * cdef bytearray pcts = bytearray() # <<<<<<<<<<<<<< + * cdef list ret = [] + * cdef str unquoted + */ + __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyByteArray_Type))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 329, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_v_pcts = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + + /* "yarl/_quoting.pyx":330 + * cdef str last_pct = '' + * cdef bytearray pcts = bytearray() + * cdef list ret = [] # <<<<<<<<<<<<<< + * cdef str unquoted + * for ch in val: + */ + __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 330, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_v_ret = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + + /* "yarl/_quoting.pyx":332 + * cdef list ret = [] + * cdef str unquoted + * for ch in val: # <<<<<<<<<<<<<< + * if pct: + * pct += ch + */ + if (unlikely(__pyx_v_val == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' is not iterable"); + __PYX_ERR(0, 332, __pyx_L1_error) + } + __Pyx_INCREF(__pyx_v_val); + __pyx_t_4 = __pyx_v_val; + __pyx_t_8 = __Pyx_init_unicode_iteration(__pyx_t_4, (&__pyx_t_5), (&__pyx_t_6), (&__pyx_t_7)); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 332, __pyx_L1_error) + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_5; __pyx_t_9++) { + __pyx_t_1 = __pyx_t_9; + __pyx_t_3 = PyUnicode_FromOrdinal(__Pyx_PyUnicode_READ(__pyx_t_7, __pyx_t_6, __pyx_t_1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 332, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_XDECREF_SET(__pyx_v_ch, __pyx_t_3); + __pyx_t_3 = 0; + + /* "yarl/_quoting.pyx":333 + * cdef str unquoted + * for ch in val: + * if pct: # <<<<<<<<<<<<<< + * pct += ch + * if len(pct) == 3: # pragma: no branch # peephole optimizer + */ + __pyx_t_2 = (__pyx_v_pct != Py_None)&&(__Pyx_PyUnicode_IS_TRUE(__pyx_v_pct) != 0); + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":334 + * for ch in val: + * if pct: + * pct += ch # <<<<<<<<<<<<<< + * if len(pct) == 3: # pragma: no branch # peephole optimizer + * pcts.append(int(pct[1:], base=16)) + */ + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_pct, __pyx_v_ch); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 334, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(PyUnicode_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(0, 334, __pyx_L1_error) + __Pyx_DECREF_SET(__pyx_v_pct, ((PyObject*)__pyx_t_3)); + __pyx_t_3 = 0; + + /* "yarl/_quoting.pyx":335 + * if pct: + * pct += ch + * if len(pct) == 3: # pragma: no branch # peephole optimizer # <<<<<<<<<<<<<< + * pcts.append(int(pct[1:], base=16)) + * last_pct = pct + */ + if (unlikely(__pyx_v_pct == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(0, 335, __pyx_L1_error) + } + __pyx_t_10 = __Pyx_PyUnicode_GET_LENGTH(__pyx_v_pct); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 335, __pyx_L1_error) + __pyx_t_2 = ((__pyx_t_10 == 3) != 0); + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":336 + * pct += ch + * if len(pct) == 3: # pragma: no branch # peephole optimizer + * pcts.append(int(pct[1:], base=16)) # <<<<<<<<<<<<<< + * last_pct = pct + * pct = '' + */ + if (unlikely(__pyx_v_pct == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 336, __pyx_L1_error) + } + __pyx_t_3 = __Pyx_PyUnicode_Substring(__pyx_v_pct, 1, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 336, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 336, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 336, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_base, __pyx_int_16) < 0) __PYX_ERR(0, 336, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)(&PyInt_Type)), __pyx_t_11, __pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 336, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_13 = __Pyx_PyByteArray_AppendObject(__pyx_v_pcts, __pyx_t_12); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 336, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + + /* "yarl/_quoting.pyx":337 + * if len(pct) == 3: # pragma: no branch # peephole optimizer + * pcts.append(int(pct[1:], base=16)) + * last_pct = pct # <<<<<<<<<<<<<< + * pct = '' + * continue + */ + __Pyx_INCREF(__pyx_v_pct); + __Pyx_DECREF_SET(__pyx_v_last_pct, __pyx_v_pct); + + /* "yarl/_quoting.pyx":338 + * pcts.append(int(pct[1:], base=16)) + * last_pct = pct + * pct = '' # <<<<<<<<<<<<<< + * continue + * if pcts: + */ + __Pyx_INCREF(__pyx_kp_u_); + __Pyx_DECREF_SET(__pyx_v_pct, __pyx_kp_u_); + + /* "yarl/_quoting.pyx":335 + * if pct: + * pct += ch + * if len(pct) == 3: # pragma: no branch # peephole optimizer # <<<<<<<<<<<<<< + * pcts.append(int(pct[1:], base=16)) + * last_pct = pct + */ + } + + /* "yarl/_quoting.pyx":339 + * last_pct = pct + * pct = '' + * continue # <<<<<<<<<<<<<< + * if pcts: + * try: + */ + goto __pyx_L4_continue; + + /* "yarl/_quoting.pyx":333 + * cdef str unquoted + * for ch in val: + * if pct: # <<<<<<<<<<<<<< + * pct += ch + * if len(pct) == 3: # pragma: no branch # peephole optimizer + */ + } + + /* "yarl/_quoting.pyx":340 + * pct = '' + * continue + * if pcts: # <<<<<<<<<<<<<< + * try: + * unquoted = pcts.decode('utf8') + */ + __pyx_t_2 = (PyByteArray_GET_SIZE(__pyx_v_pcts) != 0); + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":341 + * continue + * if pcts: + * try: # <<<<<<<<<<<<<< + * unquoted = pcts.decode('utf8') + * except UnicodeDecodeError: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + /*try:*/ { + + /* "yarl/_quoting.pyx":342 + * if pcts: + * try: + * unquoted = pcts.decode('utf8') # <<<<<<<<<<<<<< + * except UnicodeDecodeError: + * pass + */ + __pyx_t_12 = __Pyx_decode_bytearray(__pyx_v_pcts, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 342, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_XDECREF_SET(__pyx_v_unquoted, ((PyObject*)__pyx_t_12)); + __pyx_t_12 = 0; + + /* "yarl/_quoting.pyx":341 + * continue + * if pcts: + * try: # <<<<<<<<<<<<<< + * unquoted = pcts.decode('utf8') + * except UnicodeDecodeError: + */ + } + + /* "yarl/_quoting.pyx":346 + * pass + * else: + * if self._qs and unquoted in '+=&;': # <<<<<<<<<<<<<< + * ret.append(self._qs_quoter(unquoted)) + * elif unquoted in self._unsafe: + */ + /*else:*/ { + __pyx_t_17 = (__pyx_v_self->_qs != 0); + if (__pyx_t_17) { + } else { + __pyx_t_2 = __pyx_t_17; + goto __pyx_L18_bool_binop_done; + } + __pyx_t_17 = (__Pyx_PyUnicode_ContainsTF(__pyx_v_unquoted, __pyx_kp_u__4, Py_EQ)); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 346, __pyx_L11_except_error) + __pyx_t_18 = (__pyx_t_17 != 0); + __pyx_t_2 = __pyx_t_18; + __pyx_L18_bool_binop_done:; + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":347 + * else: + * if self._qs and unquoted in '+=&;': + * ret.append(self._qs_quoter(unquoted)) # <<<<<<<<<<<<<< + * elif unquoted in self._unsafe: + * ret.append(self._quoter(unquoted)) + */ + __Pyx_INCREF(((PyObject *)__pyx_v_self->_qs_quoter)); + __pyx_t_3 = ((PyObject *)__pyx_v_self->_qs_quoter); __pyx_t_11 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_12 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_11, __pyx_v_unquoted) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_unquoted); + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 347, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ret, __pyx_t_12); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 347, __pyx_L11_except_error) + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + + /* "yarl/_quoting.pyx":346 + * pass + * else: + * if self._qs and unquoted in '+=&;': # <<<<<<<<<<<<<< + * ret.append(self._qs_quoter(unquoted)) + * elif unquoted in self._unsafe: + */ + goto __pyx_L17; + } + + /* "yarl/_quoting.pyx":348 + * if self._qs and unquoted in '+=&;': + * ret.append(self._qs_quoter(unquoted)) + * elif unquoted in self._unsafe: # <<<<<<<<<<<<<< + * ret.append(self._quoter(unquoted)) + * else: + */ + if (unlikely(__pyx_v_self->_unsafe == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 348, __pyx_L11_except_error) + } + __pyx_t_2 = (__Pyx_PyUnicode_ContainsTF(__pyx_v_unquoted, __pyx_v_self->_unsafe, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 348, __pyx_L11_except_error) + __pyx_t_18 = (__pyx_t_2 != 0); + if (__pyx_t_18) { + + /* "yarl/_quoting.pyx":349 + * ret.append(self._qs_quoter(unquoted)) + * elif unquoted in self._unsafe: + * ret.append(self._quoter(unquoted)) # <<<<<<<<<<<<<< + * else: + * ret.append(unquoted) + */ + __Pyx_INCREF(((PyObject *)__pyx_v_self->_quoter)); + __pyx_t_3 = ((PyObject *)__pyx_v_self->_quoter); __pyx_t_11 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_12 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_11, __pyx_v_unquoted) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_unquoted); + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 349, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ret, __pyx_t_12); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 349, __pyx_L11_except_error) + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + + /* "yarl/_quoting.pyx":348 + * if self._qs and unquoted in '+=&;': + * ret.append(self._qs_quoter(unquoted)) + * elif unquoted in self._unsafe: # <<<<<<<<<<<<<< + * ret.append(self._quoter(unquoted)) + * else: + */ + goto __pyx_L17; + } + + /* "yarl/_quoting.pyx":351 + * ret.append(self._quoter(unquoted)) + * else: + * ret.append(unquoted) # <<<<<<<<<<<<<< + * del pcts[:] + * + */ + /*else*/ { + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ret, __pyx_v_unquoted); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 351, __pyx_L11_except_error) + } + __pyx_L17:; + + /* "yarl/_quoting.pyx":352 + * else: + * ret.append(unquoted) + * del pcts[:] # <<<<<<<<<<<<<< + * + * if ch == '%': + */ + if (__Pyx_PyObject_DelSlice(__pyx_v_pcts, 0, 0, NULL, NULL, NULL, 0, 0, 1) < 0) __PYX_ERR(0, 352, __pyx_L11_except_error) + } + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + goto __pyx_L16_try_end; + __pyx_L9_error:; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + + /* "yarl/_quoting.pyx":343 + * try: + * unquoted = pcts.decode('utf8') + * except UnicodeDecodeError: # <<<<<<<<<<<<<< + * pass + * else: + */ + __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_UnicodeDecodeError); + if (__pyx_t_8) { + __Pyx_ErrRestore(0,0,0); + goto __pyx_L10_exception_handled; + } + goto __pyx_L11_except_error; + __pyx_L11_except_error:; + + /* "yarl/_quoting.pyx":341 + * continue + * if pcts: + * try: # <<<<<<<<<<<<<< + * unquoted = pcts.decode('utf8') + * except UnicodeDecodeError: + */ + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + goto __pyx_L1_error; + __pyx_L10_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + __pyx_L16_try_end:; + } + + /* "yarl/_quoting.pyx":340 + * pct = '' + * continue + * if pcts: # <<<<<<<<<<<<<< + * try: + * unquoted = pcts.decode('utf8') + */ + } + + /* "yarl/_quoting.pyx":354 + * del pcts[:] + * + * if ch == '%': # <<<<<<<<<<<<<< + * pct = ch + * continue + */ + __pyx_t_18 = (__Pyx_PyUnicode_Equals(__pyx_v_ch, __pyx_kp_u__5, Py_EQ)); if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 354, __pyx_L1_error) + if (__pyx_t_18) { + + /* "yarl/_quoting.pyx":355 + * + * if ch == '%': + * pct = ch # <<<<<<<<<<<<<< + * continue + * + */ + if (!(likely(PyUnicode_CheckExact(__pyx_v_ch))||((__pyx_v_ch) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_v_ch)->tp_name), 0))) __PYX_ERR(0, 355, __pyx_L1_error) + __pyx_t_12 = __pyx_v_ch; + __Pyx_INCREF(__pyx_t_12); + __Pyx_DECREF_SET(__pyx_v_pct, ((PyObject*)__pyx_t_12)); + __pyx_t_12 = 0; + + /* "yarl/_quoting.pyx":356 + * if ch == '%': + * pct = ch + * continue # <<<<<<<<<<<<<< + * + * if pcts: + */ + goto __pyx_L4_continue; + + /* "yarl/_quoting.pyx":354 + * del pcts[:] + * + * if ch == '%': # <<<<<<<<<<<<<< + * pct = ch + * continue + */ + } + + /* "yarl/_quoting.pyx":358 + * continue + * + * if pcts: # <<<<<<<<<<<<<< + * ret.append(last_pct) # %F8ab + * last_pct = '' + */ + __pyx_t_18 = (PyByteArray_GET_SIZE(__pyx_v_pcts) != 0); + if (__pyx_t_18) { + + /* "yarl/_quoting.pyx":359 + * + * if pcts: + * ret.append(last_pct) # %F8ab # <<<<<<<<<<<<<< + * last_pct = '' + * + */ + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ret, __pyx_v_last_pct); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 359, __pyx_L1_error) + + /* "yarl/_quoting.pyx":360 + * if pcts: + * ret.append(last_pct) # %F8ab + * last_pct = '' # <<<<<<<<<<<<<< + * + * if ch == '+': + */ + __Pyx_INCREF(__pyx_kp_u_); + __Pyx_DECREF_SET(__pyx_v_last_pct, __pyx_kp_u_); + + /* "yarl/_quoting.pyx":358 + * continue + * + * if pcts: # <<<<<<<<<<<<<< + * ret.append(last_pct) # %F8ab + * last_pct = '' + */ + } + + /* "yarl/_quoting.pyx":362 + * last_pct = '' + * + * if ch == '+': # <<<<<<<<<<<<<< + * if not self._qs or ch in self._unsafe: + * ret.append('+') + */ + __pyx_t_18 = (__Pyx_PyUnicode_Equals(__pyx_v_ch, __pyx_kp_u__6, Py_EQ)); if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 362, __pyx_L1_error) + if (__pyx_t_18) { + + /* "yarl/_quoting.pyx":363 + * + * if ch == '+': + * if not self._qs or ch in self._unsafe: # <<<<<<<<<<<<<< + * ret.append('+') + * else: + */ + __pyx_t_2 = ((!(__pyx_v_self->_qs != 0)) != 0); + if (!__pyx_t_2) { + } else { + __pyx_t_18 = __pyx_t_2; + goto __pyx_L24_bool_binop_done; + } + if (unlikely(__pyx_v_self->_unsafe == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 363, __pyx_L1_error) + } + __pyx_t_2 = (__Pyx_PyUnicode_ContainsTF(__pyx_v_ch, __pyx_v_self->_unsafe, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 363, __pyx_L1_error) + __pyx_t_17 = (__pyx_t_2 != 0); + __pyx_t_18 = __pyx_t_17; + __pyx_L24_bool_binop_done:; + if (__pyx_t_18) { + + /* "yarl/_quoting.pyx":364 + * if ch == '+': + * if not self._qs or ch in self._unsafe: + * ret.append('+') # <<<<<<<<<<<<<< + * else: + * ret.append(' ') + */ + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ret, __pyx_kp_u__6); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 364, __pyx_L1_error) + + /* "yarl/_quoting.pyx":363 + * + * if ch == '+': + * if not self._qs or ch in self._unsafe: # <<<<<<<<<<<<<< + * ret.append('+') + * else: + */ + goto __pyx_L23; + } + + /* "yarl/_quoting.pyx":366 + * ret.append('+') + * else: + * ret.append(' ') # <<<<<<<<<<<<<< + * continue + * + */ + /*else*/ { + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ret, __pyx_kp_u__7); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 366, __pyx_L1_error) + } + __pyx_L23:; + + /* "yarl/_quoting.pyx":367 + * else: + * ret.append(' ') + * continue # <<<<<<<<<<<<<< + * + * if ch in self._unsafe: + */ + goto __pyx_L4_continue; + + /* "yarl/_quoting.pyx":362 + * last_pct = '' + * + * if ch == '+': # <<<<<<<<<<<<<< + * if not self._qs or ch in self._unsafe: + * ret.append('+') + */ + } + + /* "yarl/_quoting.pyx":369 + * continue + * + * if ch in self._unsafe: # <<<<<<<<<<<<<< + * ret.append('%') + * h = hex(ord(ch)).upper()[2:] + */ + if (unlikely(__pyx_v_self->_unsafe == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 369, __pyx_L1_error) + } + __pyx_t_18 = (__Pyx_PyUnicode_ContainsTF(__pyx_v_ch, __pyx_v_self->_unsafe, Py_EQ)); if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 369, __pyx_L1_error) + __pyx_t_17 = (__pyx_t_18 != 0); + if (__pyx_t_17) { + + /* "yarl/_quoting.pyx":370 + * + * if ch in self._unsafe: + * ret.append('%') # <<<<<<<<<<<<<< + * h = hex(ord(ch)).upper()[2:] + * for ch in h: + */ + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ret, __pyx_kp_u__5); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 370, __pyx_L1_error) + + /* "yarl/_quoting.pyx":371 + * if ch in self._unsafe: + * ret.append('%') + * h = hex(ord(ch)).upper()[2:] # <<<<<<<<<<<<<< + * for ch in h: + * ret.append(ch) + */ + __pyx_t_19 = __Pyx_PyObject_Ord(__pyx_v_ch); if (unlikely(__pyx_t_19 == ((long)(long)(Py_UCS4)-1))) __PYX_ERR(0, 371, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_t_19); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 371, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 371, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_upper); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 371, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_12 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 371, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_t_12, 2, 0, NULL, NULL, &__pyx_slice__8, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 371, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF_SET(__pyx_v_h, __pyx_t_3); + __pyx_t_3 = 0; + + /* "yarl/_quoting.pyx":372 + * ret.append('%') + * h = hex(ord(ch)).upper()[2:] + * for ch in h: # <<<<<<<<<<<<<< + * ret.append(ch) + * continue + */ + if (likely(PyList_CheckExact(__pyx_v_h)) || PyTuple_CheckExact(__pyx_v_h)) { + __pyx_t_3 = __pyx_v_h; __Pyx_INCREF(__pyx_t_3); __pyx_t_10 = 0; + __pyx_t_20 = NULL; + } else { + __pyx_t_10 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_h); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 372, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_20 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 372, __pyx_L1_error) + } + for (;;) { + if (likely(!__pyx_t_20)) { + if (likely(PyList_CheckExact(__pyx_t_3))) { + if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_12 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_12); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 372, __pyx_L1_error) + #else + __pyx_t_12 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 372, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + #endif + } else { + if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_12); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 372, __pyx_L1_error) + #else + __pyx_t_12 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 372, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + #endif + } + } else { + __pyx_t_12 = __pyx_t_20(__pyx_t_3); + if (unlikely(!__pyx_t_12)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 372, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_12); + } + __Pyx_DECREF_SET(__pyx_v_ch, __pyx_t_12); + __pyx_t_12 = 0; + + /* "yarl/_quoting.pyx":373 + * h = hex(ord(ch)).upper()[2:] + * for ch in h: + * ret.append(ch) # <<<<<<<<<<<<<< + * continue + * + */ + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ret, __pyx_v_ch); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 373, __pyx_L1_error) + + /* "yarl/_quoting.pyx":372 + * ret.append('%') + * h = hex(ord(ch)).upper()[2:] + * for ch in h: # <<<<<<<<<<<<<< + * ret.append(ch) + * continue + */ + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "yarl/_quoting.pyx":374 + * for ch in h: + * ret.append(ch) + * continue # <<<<<<<<<<<<<< + * + * ret.append(ch) + */ + goto __pyx_L4_continue; + + /* "yarl/_quoting.pyx":369 + * continue + * + * if ch in self._unsafe: # <<<<<<<<<<<<<< + * ret.append('%') + * h = hex(ord(ch)).upper()[2:] + */ + } + + /* "yarl/_quoting.pyx":376 + * continue + * + * ret.append(ch) # <<<<<<<<<<<<<< + * + * if pcts: + */ + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ret, __pyx_v_ch); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 376, __pyx_L1_error) + __pyx_L4_continue:; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "yarl/_quoting.pyx":378 + * ret.append(ch) + * + * if pcts: # <<<<<<<<<<<<<< + * try: + * unquoted = pcts.decode('utf8') + */ + __pyx_t_17 = (PyByteArray_GET_SIZE(__pyx_v_pcts) != 0); + if (__pyx_t_17) { + + /* "yarl/_quoting.pyx":379 + * + * if pcts: + * try: # <<<<<<<<<<<<<< + * unquoted = pcts.decode('utf8') + * except UnicodeDecodeError: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_16, &__pyx_t_15, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_14); + /*try:*/ { + + /* "yarl/_quoting.pyx":380 + * if pcts: + * try: + * unquoted = pcts.decode('utf8') # <<<<<<<<<<<<<< + * except UnicodeDecodeError: + * ret.append(last_pct) # %F8 + */ + __pyx_t_3 = __Pyx_decode_bytearray(__pyx_v_pcts, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 380, __pyx_L30_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_XDECREF_SET(__pyx_v_unquoted, ((PyObject*)__pyx_t_3)); + __pyx_t_3 = 0; + + /* "yarl/_quoting.pyx":379 + * + * if pcts: + * try: # <<<<<<<<<<<<<< + * unquoted = pcts.decode('utf8') + * except UnicodeDecodeError: + */ + } + + /* "yarl/_quoting.pyx":384 + * ret.append(last_pct) # %F8 + * else: + * if self._qs and unquoted in '+=&;': # <<<<<<<<<<<<<< + * ret.append(self._qs_quoter(unquoted)) + * elif unquoted in self._unsafe: + */ + /*else:*/ { + __pyx_t_18 = (__pyx_v_self->_qs != 0); + if (__pyx_t_18) { + } else { + __pyx_t_17 = __pyx_t_18; + goto __pyx_L37_bool_binop_done; + } + __pyx_t_18 = (__Pyx_PyUnicode_ContainsTF(__pyx_v_unquoted, __pyx_kp_u__4, Py_EQ)); if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 384, __pyx_L32_except_error) + __pyx_t_2 = (__pyx_t_18 != 0); + __pyx_t_17 = __pyx_t_2; + __pyx_L37_bool_binop_done:; + if (__pyx_t_17) { + + /* "yarl/_quoting.pyx":385 + * else: + * if self._qs and unquoted in '+=&;': + * ret.append(self._qs_quoter(unquoted)) # <<<<<<<<<<<<<< + * elif unquoted in self._unsafe: + * ret.append(self._quoter(unquoted)) + */ + __Pyx_INCREF(((PyObject *)__pyx_v_self->_qs_quoter)); + __pyx_t_12 = ((PyObject *)__pyx_v_self->_qs_quoter); __pyx_t_11 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + __pyx_t_3 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_11, __pyx_v_unquoted) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_unquoted); + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 385, __pyx_L32_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ret, __pyx_t_3); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 385, __pyx_L32_except_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "yarl/_quoting.pyx":384 + * ret.append(last_pct) # %F8 + * else: + * if self._qs and unquoted in '+=&;': # <<<<<<<<<<<<<< + * ret.append(self._qs_quoter(unquoted)) + * elif unquoted in self._unsafe: + */ + goto __pyx_L36; + } + + /* "yarl/_quoting.pyx":386 + * if self._qs and unquoted in '+=&;': + * ret.append(self._qs_quoter(unquoted)) + * elif unquoted in self._unsafe: # <<<<<<<<<<<<<< + * ret.append(self._quoter(unquoted)) + * else: + */ + if (unlikely(__pyx_v_self->_unsafe == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 386, __pyx_L32_except_error) + } + __pyx_t_17 = (__Pyx_PyUnicode_ContainsTF(__pyx_v_unquoted, __pyx_v_self->_unsafe, Py_EQ)); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 386, __pyx_L32_except_error) + __pyx_t_2 = (__pyx_t_17 != 0); + if (__pyx_t_2) { + + /* "yarl/_quoting.pyx":387 + * ret.append(self._qs_quoter(unquoted)) + * elif unquoted in self._unsafe: + * ret.append(self._quoter(unquoted)) # <<<<<<<<<<<<<< + * else: + * ret.append(unquoted) + */ + __Pyx_INCREF(((PyObject *)__pyx_v_self->_quoter)); + __pyx_t_12 = ((PyObject *)__pyx_v_self->_quoter); __pyx_t_11 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + __pyx_t_3 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_11, __pyx_v_unquoted) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_unquoted); + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 387, __pyx_L32_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ret, __pyx_t_3); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 387, __pyx_L32_except_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "yarl/_quoting.pyx":386 + * if self._qs and unquoted in '+=&;': + * ret.append(self._qs_quoter(unquoted)) + * elif unquoted in self._unsafe: # <<<<<<<<<<<<<< + * ret.append(self._quoter(unquoted)) + * else: + */ + goto __pyx_L36; + } + + /* "yarl/_quoting.pyx":389 + * ret.append(self._quoter(unquoted)) + * else: + * ret.append(unquoted) # <<<<<<<<<<<<<< + * return ''.join(ret) + */ + /*else*/ { + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ret, __pyx_v_unquoted); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 389, __pyx_L32_except_error) + } + __pyx_L36:; + } + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L35_try_end; + __pyx_L30_error:; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "yarl/_quoting.pyx":381 + * try: + * unquoted = pcts.decode('utf8') + * except UnicodeDecodeError: # <<<<<<<<<<<<<< + * ret.append(last_pct) # %F8 + * else: + */ + __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_UnicodeDecodeError); + if (__pyx_t_7) { + __Pyx_AddTraceback("yarl._quoting._Unquoter._do_unquote", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_12, &__pyx_t_11) < 0) __PYX_ERR(0, 381, __pyx_L32_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_12); + __Pyx_GOTREF(__pyx_t_11); + + /* "yarl/_quoting.pyx":382 + * unquoted = pcts.decode('utf8') + * except UnicodeDecodeError: + * ret.append(last_pct) # %F8 # <<<<<<<<<<<<<< + * else: + * if self._qs and unquoted in '+=&;': + */ + __pyx_t_13 = __Pyx_PyList_Append(__pyx_v_ret, __pyx_v_last_pct); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 382, __pyx_L32_except_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L31_exception_handled; + } + goto __pyx_L32_except_error; + __pyx_L32_except_error:; + + /* "yarl/_quoting.pyx":379 + * + * if pcts: + * try: # <<<<<<<<<<<<<< + * unquoted = pcts.decode('utf8') + * except UnicodeDecodeError: + */ + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_15, __pyx_t_14); + goto __pyx_L1_error; + __pyx_L31_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_15, __pyx_t_14); + __pyx_L35_try_end:; + } + + /* "yarl/_quoting.pyx":378 + * ret.append(ch) + * + * if pcts: # <<<<<<<<<<<<<< + * try: + * unquoted = pcts.decode('utf8') + */ + } + + /* "yarl/_quoting.pyx":390 + * else: + * ret.append(unquoted) + * return ''.join(ret) # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_11 = PyUnicode_Join(__pyx_kp_u_, __pyx_v_ret); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 390, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_r = ((PyObject*)__pyx_t_11); + __pyx_t_11 = 0; + goto __pyx_L0; + + /* "yarl/_quoting.pyx":324 + * return self._do_unquote(<str>val) + * + * cdef str _do_unquote(self, str val): # <<<<<<<<<<<<<< + * if len(val) == 0: + * return val + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_AddTraceback("yarl._quoting._Unquoter._do_unquote", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_pct); + __Pyx_XDECREF(__pyx_v_last_pct); + __Pyx_XDECREF(__pyx_v_pcts); + __Pyx_XDECREF(__pyx_v_ret); + __Pyx_XDECREF(__pyx_v_unquoted); + __Pyx_XDECREF(__pyx_v_ch); + __Pyx_XDECREF(__pyx_v_h); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef bint use_setstate + * state = (self._qs, self._qs_quoter, self._quoter, self._unsafe) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_4yarl_8_quoting_9_Unquoter_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_4yarl_8_quoting_9_Unquoter_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_4yarl_8_quoting_9_Unquoter_4__reduce_cython__(((struct __pyx_obj_4yarl_8_quoting__Unquoter *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_4yarl_8_quoting_9_Unquoter_4__reduce_cython__(struct __pyx_obj_4yarl_8_quoting__Unquoter *__pyx_v_self) { + int __pyx_v_use_setstate; + PyObject *__pyx_v_state = NULL; + PyObject *__pyx_v__dict = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":3 + * def __reduce_cython__(self): + * cdef bint use_setstate + * state = (self._qs, self._qs_quoter, self._quoter, self._unsafe) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_qs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); + __Pyx_INCREF(((PyObject *)__pyx_v_self->_qs_quoter)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_self->_qs_quoter)); + PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self->_qs_quoter)); + __Pyx_INCREF(((PyObject *)__pyx_v_self->_quoter)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_self->_quoter)); + PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject *)__pyx_v_self->_quoter)); + __Pyx_INCREF(__pyx_v_self->_unsafe); + __Pyx_GIVEREF(__pyx_v_self->_unsafe); + PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_self->_unsafe); + __pyx_t_1 = 0; + __pyx_v_state = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "(tree fragment)":4 + * cdef bint use_setstate + * state = (self._qs, self._qs_quoter, self._quoter, self._unsafe) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_2 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_v__dict = __pyx_t_2; + __pyx_t_2 = 0; + + /* "(tree fragment)":5 + * state = (self._qs, self._qs_quoter, self._quoter, self._unsafe) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_3 = (__pyx_v__dict != Py_None); + __pyx_t_4 = (__pyx_t_3 != 0); + if (__pyx_t_4) { + + /* "(tree fragment)":6 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v__dict); + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; + + /* "(tree fragment)":7 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self._qs_quoter is not None or self._quoter is not None or self._unsafe is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":5 + * state = (self._qs, self._qs_quoter, self._quoter, self._unsafe) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":9 + * use_setstate = True + * else: + * use_setstate = self._qs_quoter is not None or self._quoter is not None or self._unsafe is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle__Unquoter, (type(self), 0x276577d, None), state + */ + /*else*/ { + __pyx_t_3 = (((PyObject *)__pyx_v_self->_qs_quoter) != Py_None); + __pyx_t_5 = (__pyx_t_3 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_4 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (((PyObject *)__pyx_v_self->_quoter) != Py_None); + __pyx_t_3 = (__pyx_t_5 != 0); + if (!__pyx_t_3) { + } else { + __pyx_t_4 = __pyx_t_3; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_3 = (__pyx_v_self->_unsafe != ((PyObject*)Py_None)); + __pyx_t_5 = (__pyx_t_3 != 0); + __pyx_t_4 = __pyx_t_5; + __pyx_L4_bool_binop_done:; + __pyx_v_use_setstate = __pyx_t_4; + } + __pyx_L3:; + + /* "(tree fragment)":10 + * else: + * use_setstate = self._qs_quoter is not None or self._quoter is not None or self._unsafe is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle__Unquoter, (type(self), 0x276577d, None), state + * else: + */ + __pyx_t_4 = (__pyx_v_use_setstate != 0); + if (__pyx_t_4) { + + /* "(tree fragment)":11 + * use_setstate = self._qs_quoter is not None or self._quoter is not None or self._unsafe is not None + * if use_setstate: + * return __pyx_unpickle__Unquoter, (type(self), 0x276577d, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle__Unquoter, (type(self), 0x276577d, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pyx_unpickle__Unquoter); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_41310077); + __Pyx_GIVEREF(__pyx_int_41310077); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_41310077); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None); + __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_state); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + + /* "(tree fragment)":10 + * else: + * use_setstate = self._qs_quoter is not None or self._quoter is not None or self._unsafe is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle__Unquoter, (type(self), 0x276577d, None), state + * else: + */ + } + + /* "(tree fragment)":13 + * return __pyx_unpickle__Unquoter, (type(self), 0x276577d, None), state + * else: + * return __pyx_unpickle__Unquoter, (type(self), 0x276577d, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle__Unquoter__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pyx_unpickle__Unquoter); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_41310077); + __Pyx_GIVEREF(__pyx_int_41310077); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_41310077); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state); + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2); + __pyx_t_6 = 0; + __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef bint use_setstate + * state = (self._qs, self._qs_quoter, self._quoter, self._unsafe) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("yarl._quoting._Unquoter.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":14 + * else: + * return __pyx_unpickle__Unquoter, (type(self), 0x276577d, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle__Unquoter__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_4yarl_8_quoting_9_Unquoter_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_4yarl_8_quoting_9_Unquoter_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_4yarl_8_quoting_9_Unquoter_6__setstate_cython__(((struct __pyx_obj_4yarl_8_quoting__Unquoter *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_4yarl_8_quoting_9_Unquoter_6__setstate_cython__(struct __pyx_obj_4yarl_8_quoting__Unquoter *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":15 + * return __pyx_unpickle__Unquoter, (type(self), 0x276577d, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle__Unquoter__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 15, __pyx_L1_error) + __pyx_t_1 = __pyx_f_4yarl_8_quoting___pyx_unpickle__Unquoter__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":14 + * else: + * return __pyx_unpickle__Unquoter, (type(self), 0x276577d, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle__Unquoter__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("yarl._quoting._Unquoter.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle__Quoter(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * if __pyx_checksum != 0x8f193a6: + * from pickle import PickleError as __pyx_PickleError + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_4yarl_8_quoting_1__pyx_unpickle__Quoter(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_4yarl_8_quoting_1__pyx_unpickle__Quoter = {"__pyx_unpickle__Quoter", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4yarl_8_quoting_1__pyx_unpickle__Quoter, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_4yarl_8_quoting_1__pyx_unpickle__Quoter(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle__Quoter (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__Quoter", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__Quoter", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle__Quoter") < 0)) __PYX_ERR(1, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__Quoter", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("yarl._quoting.__pyx_unpickle__Quoter", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_4yarl_8_quoting___pyx_unpickle__Quoter(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_4yarl_8_quoting___pyx_unpickle__Quoter(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = NULL; + PyObject *__pyx_v___pyx_result = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + __Pyx_RefNannySetupContext("__pyx_unpickle__Quoter", 0); + + /* "(tree fragment)":2 + * def __pyx_unpickle__Quoter(__pyx_type, long __pyx_checksum, __pyx_state): + * if __pyx_checksum != 0x8f193a6: # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x8f193a6 = (_protected_table, _qs, _safe_table))" % __pyx_checksum) + */ + __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x8f193a6) != 0); + if (__pyx_t_1) { + + /* "(tree fragment)":3 + * def __pyx_unpickle__Quoter(__pyx_type, long __pyx_checksum, __pyx_state): + * if __pyx_checksum != 0x8f193a6: + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x8f193a6 = (_protected_table, _qs, _safe_table))" % __pyx_checksum) + * __pyx_result = _Quoter.__new__(__pyx_type) + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError); + __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_2); + __pyx_v___pyx_PickleError = __pyx_t_2; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":4 + * if __pyx_checksum != 0x8f193a6: + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x8f193a6 = (_protected_table, _qs, _safe_table))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = _Quoter.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x8f, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 4, __pyx_L1_error) + + /* "(tree fragment)":2 + * def __pyx_unpickle__Quoter(__pyx_type, long __pyx_checksum, __pyx_state): + * if __pyx_checksum != 0x8f193a6: # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x8f193a6 = (_protected_table, _qs, _safe_table))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":5 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x8f193a6 = (_protected_table, _qs, _safe_table))" % __pyx_checksum) + * __pyx_result = _Quoter.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle__Quoter__set_state(<_Quoter> __pyx_result, __pyx_state) + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4yarl_8_quoting__Quoter), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v___pyx_result = __pyx_t_3; + __pyx_t_3 = 0; + + /* "(tree fragment)":6 + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x8f193a6 = (_protected_table, _qs, _safe_table))" % __pyx_checksum) + * __pyx_result = _Quoter.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle__Quoter__set_state(<_Quoter> __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_1 = (__pyx_v___pyx_state != Py_None); + __pyx_t_6 = (__pyx_t_1 != 0); + if (__pyx_t_6) { + + /* "(tree fragment)":7 + * __pyx_result = _Quoter.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle__Quoter__set_state(<_Quoter> __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle__Quoter__set_state(_Quoter __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 7, __pyx_L1_error) + __pyx_t_3 = __pyx_f_4yarl_8_quoting___pyx_unpickle__Quoter__set_state(((struct __pyx_obj_4yarl_8_quoting__Quoter *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":6 + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x8f193a6 = (_protected_table, _qs, _safe_table))" % __pyx_checksum) + * __pyx_result = _Quoter.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle__Quoter__set_state(<_Quoter> __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":8 + * if __pyx_state is not None: + * __pyx_unpickle__Quoter__set_state(<_Quoter> __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle__Quoter__set_state(_Quoter __pyx_result, tuple __pyx_state): + * __pyx_result._protected_table = __pyx_state[0]; __pyx_result._qs = __pyx_state[1]; __pyx_result._safe_table = __pyx_state[2] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle__Quoter(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * if __pyx_checksum != 0x8f193a6: + * from pickle import PickleError as __pyx_PickleError + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("yarl._quoting.__pyx_unpickle__Quoter", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":9 + * __pyx_unpickle__Quoter__set_state(<_Quoter> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle__Quoter__set_state(_Quoter __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._protected_table = __pyx_state[0]; __pyx_result._qs = __pyx_state[1]; __pyx_result._safe_table = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_4yarl_8_quoting___pyx_unpickle__Quoter__set_state(struct __pyx_obj_4yarl_8_quoting__Quoter *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + uint8_t __pyx_t_2[16]; + int __pyx_t_3; + Py_ssize_t __pyx_t_4; + int __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + __Pyx_RefNannySetupContext("__pyx_unpickle__Quoter__set_state", 0); + + /* "(tree fragment)":10 + * return __pyx_result + * cdef __pyx_unpickle__Quoter__set_state(_Quoter __pyx_result, tuple __pyx_state): + * __pyx_result._protected_table = __pyx_state[0]; __pyx_result._qs = __pyx_state[1]; __pyx_result._safe_table = __pyx_state[2] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[3]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 10, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (unlikely(__Pyx_carray_from_py_uint8_t(__pyx_t_1, __pyx_t_2, 16) < 0)) __PYX_ERR(1, 10, __pyx_L1_error) + memcpy(&(__pyx_v___pyx_result->_protected_table[0]), __pyx_t_2, sizeof(__pyx_v___pyx_result->_protected_table[0]) * (16)); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 10, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->_qs = __pyx_t_3; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 10, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (unlikely(__Pyx_carray_from_py_uint8_t(__pyx_t_1, __pyx_t_2, 16) < 0)) __PYX_ERR(1, 10, __pyx_L1_error) + memcpy(&(__pyx_v___pyx_result->_safe_table[0]), __pyx_t_2, sizeof(__pyx_v___pyx_result->_safe_table[0]) * (16)); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":11 + * cdef __pyx_unpickle__Quoter__set_state(_Quoter __pyx_result, tuple __pyx_state): + * __pyx_result._protected_table = __pyx_state[0]; __pyx_result._qs = __pyx_state[1]; __pyx_result._safe_table = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[3]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(1, 11, __pyx_L1_error) + } + __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 11, __pyx_L1_error) + __pyx_t_5 = ((__pyx_t_4 > 3) != 0); + if (__pyx_t_5) { + } else { + __pyx_t_3 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 11, __pyx_L1_error) + __pyx_t_6 = (__pyx_t_5 != 0); + __pyx_t_3 = __pyx_t_6; + __pyx_L4_bool_binop_done:; + if (__pyx_t_3) { + + /* "(tree fragment)":12 + * __pyx_result._protected_table = __pyx_state[0]; __pyx_result._qs = __pyx_state[1]; __pyx_result._safe_table = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[3]) # <<<<<<<<<<<<<< + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_update); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":11 + * cdef __pyx_unpickle__Quoter__set_state(_Quoter __pyx_result, tuple __pyx_state): + * __pyx_result._protected_table = __pyx_state[0]; __pyx_result._qs = __pyx_state[1]; __pyx_result._safe_table = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[3]) + */ + } + + /* "(tree fragment)":9 + * __pyx_unpickle__Quoter__set_state(<_Quoter> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle__Quoter__set_state(_Quoter __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._protected_table = __pyx_state[0]; __pyx_result._qs = __pyx_state[1]; __pyx_result._safe_table = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("yarl._quoting.__pyx_unpickle__Quoter__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle__Unquoter(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * if __pyx_checksum != 0x276577d: + * from pickle import PickleError as __pyx_PickleError + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_4yarl_8_quoting_3__pyx_unpickle__Unquoter(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_4yarl_8_quoting_3__pyx_unpickle__Unquoter = {"__pyx_unpickle__Unquoter", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4yarl_8_quoting_3__pyx_unpickle__Unquoter, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_4yarl_8_quoting_3__pyx_unpickle__Unquoter(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle__Unquoter (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__Unquoter", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__Unquoter", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle__Unquoter") < 0)) __PYX_ERR(1, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__Unquoter", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("yarl._quoting.__pyx_unpickle__Unquoter", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_4yarl_8_quoting_2__pyx_unpickle__Unquoter(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_4yarl_8_quoting_2__pyx_unpickle__Unquoter(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = NULL; + PyObject *__pyx_v___pyx_result = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + __Pyx_RefNannySetupContext("__pyx_unpickle__Unquoter", 0); + + /* "(tree fragment)":2 + * def __pyx_unpickle__Unquoter(__pyx_type, long __pyx_checksum, __pyx_state): + * if __pyx_checksum != 0x276577d: # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x276577d = (_qs, _qs_quoter, _quoter, _unsafe))" % __pyx_checksum) + */ + __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x276577d) != 0); + if (__pyx_t_1) { + + /* "(tree fragment)":3 + * def __pyx_unpickle__Unquoter(__pyx_type, long __pyx_checksum, __pyx_state): + * if __pyx_checksum != 0x276577d: + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x276577d = (_qs, _qs_quoter, _quoter, _unsafe))" % __pyx_checksum) + * __pyx_result = _Unquoter.__new__(__pyx_type) + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError); + __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_2); + __pyx_v___pyx_PickleError = __pyx_t_2; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":4 + * if __pyx_checksum != 0x276577d: + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x276577d = (_qs, _qs_quoter, _quoter, _unsafe))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = _Unquoter.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x27, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(1, 4, __pyx_L1_error) + + /* "(tree fragment)":2 + * def __pyx_unpickle__Unquoter(__pyx_type, long __pyx_checksum, __pyx_state): + * if __pyx_checksum != 0x276577d: # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x276577d = (_qs, _qs_quoter, _quoter, _unsafe))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":5 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x276577d = (_qs, _qs_quoter, _quoter, _unsafe))" % __pyx_checksum) + * __pyx_result = _Unquoter.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle__Unquoter__set_state(<_Unquoter> __pyx_result, __pyx_state) + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4yarl_8_quoting__Unquoter), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v___pyx_result = __pyx_t_3; + __pyx_t_3 = 0; + + /* "(tree fragment)":6 + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x276577d = (_qs, _qs_quoter, _quoter, _unsafe))" % __pyx_checksum) + * __pyx_result = _Unquoter.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle__Unquoter__set_state(<_Unquoter> __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_1 = (__pyx_v___pyx_state != Py_None); + __pyx_t_6 = (__pyx_t_1 != 0); + if (__pyx_t_6) { + + /* "(tree fragment)":7 + * __pyx_result = _Unquoter.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle__Unquoter__set_state(<_Unquoter> __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle__Unquoter__set_state(_Unquoter __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 7, __pyx_L1_error) + __pyx_t_3 = __pyx_f_4yarl_8_quoting___pyx_unpickle__Unquoter__set_state(((struct __pyx_obj_4yarl_8_quoting__Unquoter *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":6 + * raise __pyx_PickleError("Incompatible checksums (%s vs 0x276577d = (_qs, _qs_quoter, _quoter, _unsafe))" % __pyx_checksum) + * __pyx_result = _Unquoter.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle__Unquoter__set_state(<_Unquoter> __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":8 + * if __pyx_state is not None: + * __pyx_unpickle__Unquoter__set_state(<_Unquoter> __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle__Unquoter__set_state(_Unquoter __pyx_result, tuple __pyx_state): + * __pyx_result._qs = __pyx_state[0]; __pyx_result._qs_quoter = __pyx_state[1]; __pyx_result._quoter = __pyx_state[2]; __pyx_result._unsafe = __pyx_state[3] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle__Unquoter(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * if __pyx_checksum != 0x276577d: + * from pickle import PickleError as __pyx_PickleError + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("yarl._quoting.__pyx_unpickle__Unquoter", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":9 + * __pyx_unpickle__Unquoter__set_state(<_Unquoter> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle__Unquoter__set_state(_Unquoter __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._qs = __pyx_state[0]; __pyx_result._qs_quoter = __pyx_state[1]; __pyx_result._quoter = __pyx_state[2]; __pyx_result._unsafe = __pyx_state[3] + * if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_4yarl_8_quoting___pyx_unpickle__Unquoter__set_state(struct __pyx_obj_4yarl_8_quoting__Unquoter *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + __Pyx_RefNannySetupContext("__pyx_unpickle__Unquoter__set_state", 0); + + /* "(tree fragment)":10 + * return __pyx_result + * cdef __pyx_unpickle__Unquoter__set_state(_Unquoter __pyx_result, tuple __pyx_state): + * __pyx_result._qs = __pyx_state[0]; __pyx_result._qs_quoter = __pyx_state[1]; __pyx_result._quoter = __pyx_state[2]; __pyx_result._unsafe = __pyx_state[3] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[4]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 10, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->_qs = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 10, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4yarl_8_quoting__Quoter))))) __PYX_ERR(1, 10, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->_qs_quoter); + __Pyx_DECREF(((PyObject *)__pyx_v___pyx_result->_qs_quoter)); + __pyx_v___pyx_result->_qs_quoter = ((struct __pyx_obj_4yarl_8_quoting__Quoter *)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 10, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4yarl_8_quoting__Quoter))))) __PYX_ERR(1, 10, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->_quoter); + __Pyx_DECREF(((PyObject *)__pyx_v___pyx_result->_quoter)); + __pyx_v___pyx_result->_quoter = ((struct __pyx_obj_4yarl_8_quoting__Quoter *)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 10, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 10, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->_unsafe); + __Pyx_DECREF(__pyx_v___pyx_result->_unsafe); + __pyx_v___pyx_result->_unsafe = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "(tree fragment)":11 + * cdef __pyx_unpickle__Unquoter__set_state(_Unquoter __pyx_result, tuple __pyx_state): + * __pyx_result._qs = __pyx_state[0]; __pyx_result._qs_quoter = __pyx_state[1]; __pyx_result._quoter = __pyx_state[2]; __pyx_result._unsafe = __pyx_state[3] + * if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[4]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(1, 11, __pyx_L1_error) + } + __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 11, __pyx_L1_error) + __pyx_t_4 = ((__pyx_t_3 > 4) != 0); + if (__pyx_t_4) { + } else { + __pyx_t_2 = __pyx_t_4; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 11, __pyx_L1_error) + __pyx_t_5 = (__pyx_t_4 != 0); + __pyx_t_2 = __pyx_t_5; + __pyx_L4_bool_binop_done:; + if (__pyx_t_2) { + + /* "(tree fragment)":12 + * __pyx_result._qs = __pyx_state[0]; __pyx_result._qs_quoter = __pyx_state[1]; __pyx_result._quoter = __pyx_state[2]; __pyx_result._unsafe = __pyx_state[3] + * if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[4]) # <<<<<<<<<<<<<< + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":11 + * cdef __pyx_unpickle__Unquoter__set_state(_Unquoter __pyx_result, tuple __pyx_state): + * __pyx_result._qs = __pyx_state[0]; __pyx_result._qs_quoter = __pyx_state[1]; __pyx_result._quoter = __pyx_state[2]; __pyx_result._unsafe = __pyx_state[3] + * if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[4]) + */ + } + + /* "(tree fragment)":9 + * __pyx_unpickle__Unquoter__set_state(<_Unquoter> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle__Unquoter__set_state(_Unquoter __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._qs = __pyx_state[0]; __pyx_result._qs_quoter = __pyx_state[1]; __pyx_result._quoter = __pyx_state[2]; __pyx_result._unsafe = __pyx_state[3] + * if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("yarl._quoting.__pyx_unpickle__Unquoter__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "carray.from_py":77 + * + * @cname("__Pyx_carray_from_py_uint8_t") + * cdef int __Pyx_carray_from_py_uint8_t(object o, base_type *v, Py_ssize_t length) except -1: # <<<<<<<<<<<<<< + * cdef Py_ssize_t i = length + * try: + */ + +static int __Pyx_carray_from_py_uint8_t(PyObject *__pyx_v_o, uint8_t *__pyx_v_v, Py_ssize_t __pyx_v_length) { + Py_ssize_t __pyx_v_i; + PyObject *__pyx_v_item = NULL; + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + int __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + Py_ssize_t __pyx_t_8; + PyObject *(*__pyx_t_9)(PyObject *); + PyObject *__pyx_t_10 = NULL; + uint8_t __pyx_t_11; + char const *__pyx_t_12; + __Pyx_RefNannySetupContext("__Pyx_carray_from_py_uint8_t", 0); + + /* "carray.from_py":78 + * @cname("__Pyx_carray_from_py_uint8_t") + * cdef int __Pyx_carray_from_py_uint8_t(object o, base_type *v, Py_ssize_t length) except -1: + * cdef Py_ssize_t i = length # <<<<<<<<<<<<<< + * try: + * i = len(o) + */ + __pyx_v_i = __pyx_v_length; + + /* "carray.from_py":79 + * cdef int __Pyx_carray_from_py_uint8_t(object o, base_type *v, Py_ssize_t length) except -1: + * cdef Py_ssize_t i = length + * try: # <<<<<<<<<<<<<< + * i = len(o) + * except (TypeError, OverflowError): + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "carray.from_py":80 + * cdef Py_ssize_t i = length + * try: + * i = len(o) # <<<<<<<<<<<<<< + * except (TypeError, OverflowError): + * pass + */ + __pyx_t_4 = PyObject_Length(__pyx_v_o); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 80, __pyx_L3_error) + __pyx_v_i = __pyx_t_4; + + /* "carray.from_py":79 + * cdef int __Pyx_carray_from_py_uint8_t(object o, base_type *v, Py_ssize_t length) except -1: + * cdef Py_ssize_t i = length + * try: # <<<<<<<<<<<<<< + * i = len(o) + * except (TypeError, OverflowError): + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "carray.from_py":81 + * try: + * i = len(o) + * except (TypeError, OverflowError): # <<<<<<<<<<<<<< + * pass + * if i == length: + */ + __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError) || __Pyx_PyErr_ExceptionMatches(__pyx_builtin_OverflowError); + if (__pyx_t_5) { + __Pyx_ErrRestore(0,0,0); + goto __pyx_L4_exception_handled; + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "carray.from_py":79 + * cdef int __Pyx_carray_from_py_uint8_t(object o, base_type *v, Py_ssize_t length) except -1: + * cdef Py_ssize_t i = length + * try: # <<<<<<<<<<<<<< + * i = len(o) + * except (TypeError, OverflowError): + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L4_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + __pyx_L8_try_end:; + } + + /* "carray.from_py":83 + * except (TypeError, OverflowError): + * pass + * if i == length: # <<<<<<<<<<<<<< + * for i, item in enumerate(o): + * if i >= length: + */ + __pyx_t_6 = ((__pyx_v_i == __pyx_v_length) != 0); + if (__pyx_t_6) { + + /* "carray.from_py":84 + * pass + * if i == length: + * for i, item in enumerate(o): # <<<<<<<<<<<<<< + * if i >= length: + * break + */ + __pyx_t_4 = 0; + if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) { + __pyx_t_7 = __pyx_v_o; __Pyx_INCREF(__pyx_t_7); __pyx_t_8 = 0; + __pyx_t_9 = NULL; + } else { + __pyx_t_8 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 84, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 84, __pyx_L1_error) + } + for (;;) { + if (likely(!__pyx_t_9)) { + if (likely(PyList_CheckExact(__pyx_t_7))) { + if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_7)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_10 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(1, 84, __pyx_L1_error) + #else + __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 84, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + #endif + } else { + if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_7)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(1, 84, __pyx_L1_error) + #else + __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 84, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + #endif + } + } else { + __pyx_t_10 = __pyx_t_9(__pyx_t_7); + if (unlikely(!__pyx_t_10)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(1, 84, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_10); + } + __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_10); + __pyx_t_10 = 0; + __pyx_v_i = __pyx_t_4; + __pyx_t_4 = (__pyx_t_4 + 1); + + /* "carray.from_py":85 + * if i == length: + * for i, item in enumerate(o): + * if i >= length: # <<<<<<<<<<<<<< + * break + * v[i] = item + */ + __pyx_t_6 = ((__pyx_v_i >= __pyx_v_length) != 0); + if (__pyx_t_6) { + + /* "carray.from_py":86 + * for i, item in enumerate(o): + * if i >= length: + * break # <<<<<<<<<<<<<< + * v[i] = item + * else: + */ + goto __pyx_L11_break; + + /* "carray.from_py":85 + * if i == length: + * for i, item in enumerate(o): + * if i >= length: # <<<<<<<<<<<<<< + * break + * v[i] = item + */ + } + + /* "carray.from_py":87 + * if i >= length: + * break + * v[i] = item # <<<<<<<<<<<<<< + * else: + * i += 1 # convert index to length + */ + __pyx_t_11 = __Pyx_PyInt_As_uint8_t(__pyx_v_item); if (unlikely((__pyx_t_11 == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 87, __pyx_L1_error) + (__pyx_v_v[__pyx_v_i]) = __pyx_t_11; + + /* "carray.from_py":84 + * pass + * if i == length: + * for i, item in enumerate(o): # <<<<<<<<<<<<<< + * if i >= length: + * break + */ + } + /*else*/ { + + /* "carray.from_py":89 + * v[i] = item + * else: + * i += 1 # convert index to length # <<<<<<<<<<<<<< + * if i == length: + * return 0 + */ + __pyx_v_i = (__pyx_v_i + 1); + + /* "carray.from_py":90 + * else: + * i += 1 # convert index to length + * if i == length: # <<<<<<<<<<<<<< + * return 0 + * + */ + __pyx_t_6 = ((__pyx_v_i == __pyx_v_length) != 0); + if (__pyx_t_6) { + + /* "carray.from_py":91 + * i += 1 # convert index to length + * if i == length: + * return 0 # <<<<<<<<<<<<<< + * + * PyErr_Format( + */ + __pyx_r = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L0; + + /* "carray.from_py":90 + * else: + * i += 1 # convert index to length + * if i == length: # <<<<<<<<<<<<<< + * return 0 + * + */ + } + } + + /* "carray.from_py":84 + * pass + * if i == length: + * for i, item in enumerate(o): # <<<<<<<<<<<<<< + * if i >= length: + * break + */ + __pyx_L11_break:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "carray.from_py":83 + * except (TypeError, OverflowError): + * pass + * if i == length: # <<<<<<<<<<<<<< + * for i, item in enumerate(o): + * if i >= length: + */ + } + + /* "carray.from_py":96 + * IndexError, + * ("too many values found during array assignment, expected %zd" + * if i >= length else # <<<<<<<<<<<<<< + * "not enough values found during array assignment, expected %zd, got %zd"), + * length, i) + */ + if (((__pyx_v_i >= __pyx_v_length) != 0)) { + __pyx_t_12 = ((char const *)"too many values found during array assignment, expected %zd"); + } else { + __pyx_t_12 = ((char const *)"not enough values found during array assignment, expected %zd, got %zd"); + } + + /* "carray.from_py":93 + * return 0 + * + * PyErr_Format( # <<<<<<<<<<<<<< + * IndexError, + * ("too many values found during array assignment, expected %zd" + */ + __pyx_t_7 = PyErr_Format(__pyx_builtin_IndexError, __pyx_t_12, __pyx_v_length, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 93, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "carray.from_py":77 + * + * @cname("__Pyx_carray_from_py_uint8_t") + * cdef int __Pyx_carray_from_py_uint8_t(object o, base_type *v, Py_ssize_t length) except -1: # <<<<<<<<<<<<<< + * cdef Py_ssize_t i = length + * try: + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_AddTraceback("carray.from_py.__Pyx_carray_from_py_uint8_t", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_item); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} +static struct __pyx_vtabstruct_4yarl_8_quoting__Quoter __pyx_vtable_4yarl_8_quoting__Quoter; + +static PyObject *__pyx_tp_new_4yarl_8_quoting__Quoter(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_4yarl_8_quoting__Quoter *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_4yarl_8_quoting__Quoter *)o); + p->__pyx_vtab = __pyx_vtabptr_4yarl_8_quoting__Quoter; + return o; +} + +static void __pyx_tp_dealloc_4yarl_8_quoting__Quoter(PyObject *o) { + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + (*Py_TYPE(o)->tp_free)(o); +} + +static PyMethodDef __pyx_methods_4yarl_8_quoting__Quoter[] = { + {"__reduce_cython__", (PyCFunction)__pyx_pw_4yarl_8_quoting_7_Quoter_5__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_4yarl_8_quoting_7_Quoter_7__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_4yarl_8_quoting__Quoter = { + PyVarObject_HEAD_INIT(0, 0) + "yarl._quoting._Quoter", /*tp_name*/ + sizeof(struct __pyx_obj_4yarl_8_quoting__Quoter), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_4yarl_8_quoting__Quoter, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + __pyx_pw_4yarl_8_quoting_7_Quoter_3__call__, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/ + 0, /*tp_doc*/ + 0, /*tp_traverse*/ + 0, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_4yarl_8_quoting__Quoter, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_4yarl_8_quoting_7_Quoter_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_4yarl_8_quoting__Quoter, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; +static struct __pyx_vtabstruct_4yarl_8_quoting__Unquoter __pyx_vtable_4yarl_8_quoting__Unquoter; + +static PyObject *__pyx_tp_new_4yarl_8_quoting__Unquoter(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_4yarl_8_quoting__Unquoter *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_4yarl_8_quoting__Unquoter *)o); + p->__pyx_vtab = __pyx_vtabptr_4yarl_8_quoting__Unquoter; + p->_unsafe = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->_quoter = ((struct __pyx_obj_4yarl_8_quoting__Quoter *)Py_None); Py_INCREF(Py_None); + p->_qs_quoter = ((struct __pyx_obj_4yarl_8_quoting__Quoter *)Py_None); Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_4yarl_8_quoting__Unquoter(PyObject *o) { + struct __pyx_obj_4yarl_8_quoting__Unquoter *p = (struct __pyx_obj_4yarl_8_quoting__Unquoter *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->_unsafe); + Py_CLEAR(p->_quoter); + Py_CLEAR(p->_qs_quoter); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_4yarl_8_quoting__Unquoter(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_4yarl_8_quoting__Unquoter *p = (struct __pyx_obj_4yarl_8_quoting__Unquoter *)o; + if (p->_quoter) { + e = (*v)(((PyObject *)p->_quoter), a); if (e) return e; + } + if (p->_qs_quoter) { + e = (*v)(((PyObject *)p->_qs_quoter), a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_4yarl_8_quoting__Unquoter(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_4yarl_8_quoting__Unquoter *p = (struct __pyx_obj_4yarl_8_quoting__Unquoter *)o; + tmp = ((PyObject*)p->_quoter); + p->_quoter = ((struct __pyx_obj_4yarl_8_quoting__Quoter *)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->_qs_quoter); + p->_qs_quoter = ((struct __pyx_obj_4yarl_8_quoting__Quoter *)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyMethodDef __pyx_methods_4yarl_8_quoting__Unquoter[] = { + {"__reduce_cython__", (PyCFunction)__pyx_pw_4yarl_8_quoting_9_Unquoter_5__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_4yarl_8_quoting_9_Unquoter_7__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_4yarl_8_quoting__Unquoter = { + PyVarObject_HEAD_INIT(0, 0) + "yarl._quoting._Unquoter", /*tp_name*/ + sizeof(struct __pyx_obj_4yarl_8_quoting__Unquoter), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_4yarl_8_quoting__Unquoter, /*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + __pyx_pw_4yarl_8_quoting_9_Unquoter_3__call__, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_4yarl_8_quoting__Unquoter, /*tp_traverse*/ + __pyx_tp_clear_4yarl_8_quoting__Unquoter, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_4yarl_8_quoting__Unquoter, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_4yarl_8_quoting_9_Unquoter_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_4yarl_8_quoting__Unquoter, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif +}; + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec__quoting(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec__quoting}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "_quoting", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_kp_u_, __pyx_k_, sizeof(__pyx_k_), 0, 1, 0, 0}, + {&__pyx_kp_u_Argument_should_be_str, __pyx_k_Argument_should_be_str, sizeof(__pyx_k_Argument_should_be_str), 0, 1, 0, 0}, + {&__pyx_kp_s_Incompatible_checksums_s_vs_0x27, __pyx_k_Incompatible_checksums_s_vs_0x27, sizeof(__pyx_k_Incompatible_checksums_s_vs_0x27), 0, 0, 1, 0}, + {&__pyx_kp_s_Incompatible_checksums_s_vs_0x8f, __pyx_k_Incompatible_checksums_s_vs_0x8f, sizeof(__pyx_k_Incompatible_checksums_s_vs_0x8f), 0, 0, 1, 0}, + {&__pyx_n_s_IndexError, __pyx_k_IndexError, sizeof(__pyx_k_IndexError), 0, 0, 1, 1}, + {&__pyx_kp_u_Only_safe_symbols_with_ORD_128_a, __pyx_k_Only_safe_symbols_with_ORD_128_a, sizeof(__pyx_k_Only_safe_symbols_with_ORD_128_a), 0, 1, 0, 0}, + {&__pyx_n_s_OverflowError, __pyx_k_OverflowError, sizeof(__pyx_k_OverflowError), 0, 0, 1, 1}, + {&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1}, + {&__pyx_n_s_Quoter, __pyx_k_Quoter, sizeof(__pyx_k_Quoter), 0, 0, 1, 1}, + {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, + {&__pyx_n_s_UnicodeDecodeError, __pyx_k_UnicodeDecodeError, sizeof(__pyx_k_UnicodeDecodeError), 0, 0, 1, 1}, + {&__pyx_n_s_Unquoter, __pyx_k_Unquoter, sizeof(__pyx_k_Unquoter), 0, 0, 1, 1}, + {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, + {&__pyx_kp_u__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 1, 0, 0}, + {&__pyx_kp_u__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 1, 0, 0}, + {&__pyx_kp_u__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 1, 0, 0}, + {&__pyx_kp_u__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 1, 0, 0}, + {&__pyx_kp_u__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 1, 0, 0}, + {&__pyx_kp_u__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 1, 0, 0}, + {&__pyx_kp_u__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 1, 0, 0}, + {&__pyx_kp_u__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 1, 0, 0}, + {&__pyx_kp_u__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 1, 0, 0}, + {&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1}, + {&__pyx_n_s_ascii_letters, __pyx_k_ascii_letters, sizeof(__pyx_k_ascii_letters), 0, 0, 1, 1}, + {&__pyx_n_s_base, __pyx_k_base, sizeof(__pyx_k_base), 0, 0, 1, 1}, + {&__pyx_n_s_chr, __pyx_k_chr, sizeof(__pyx_k_chr), 0, 0, 1, 1}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1}, + {&__pyx_n_s_digits, __pyx_k_digits, sizeof(__pyx_k_digits), 0, 0, 1, 1}, + {&__pyx_n_s_enumerate, __pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 0, 1, 1}, + {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1}, + {&__pyx_n_s_hex, __pyx_k_hex, sizeof(__pyx_k_hex), 0, 0, 1, 1}, + {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1}, + {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1}, + {&__pyx_n_s_protected, __pyx_k_protected, sizeof(__pyx_k_protected), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_type, __pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle__Quoter, __pyx_k_pyx_unpickle__Quoter, sizeof(__pyx_k_pyx_unpickle__Quoter), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle__Unquoter, __pyx_k_pyx_unpickle__Unquoter, sizeof(__pyx_k_pyx_unpickle__Unquoter), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1}, + {&__pyx_n_s_qs, __pyx_k_qs, sizeof(__pyx_k_qs), 0, 0, 1, 1}, + {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, + {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1}, + {&__pyx_n_s_safe, __pyx_k_safe, sizeof(__pyx_k_safe), 0, 0, 1, 1}, + {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1}, + {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1}, + {&__pyx_n_s_string, __pyx_k_string, sizeof(__pyx_k_string), 0, 0, 1, 1}, + {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_unsafe, __pyx_k_unsafe, sizeof(__pyx_k_unsafe), 0, 0, 1, 1}, + {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1}, + {&__pyx_n_s_upper, __pyx_k_upper, sizeof(__pyx_k_upper), 0, 0, 1, 1}, + {&__pyx_n_s_val, __pyx_k_val, sizeof(__pyx_k_val), 0, 0, 1, 1}, + {&__pyx_n_s_yarl__quoting, __pyx_k_yarl__quoting, sizeof(__pyx_k_yarl__quoting), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 67, __pyx_L1_error) + __pyx_builtin_chr = __Pyx_GetBuiltinName(__pyx_n_s_chr); if (!__pyx_builtin_chr) __PYX_ERR(0, 68, __pyx_L1_error) + __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 207, __pyx_L1_error) + __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(0, 226, __pyx_L1_error) + __pyx_builtin_UnicodeDecodeError = __Pyx_GetBuiltinName(__pyx_n_s_UnicodeDecodeError); if (!__pyx_builtin_UnicodeDecodeError) __PYX_ERR(0, 343, __pyx_L1_error) + __pyx_builtin_hex = __Pyx_GetBuiltinName(__pyx_n_s_hex); if (!__pyx_builtin_hex) __PYX_ERR(0, 371, __pyx_L1_error) + __pyx_builtin_OverflowError = __Pyx_GetBuiltinName(__pyx_n_s_OverflowError); if (!__pyx_builtin_OverflowError) __PYX_ERR(1, 81, __pyx_L1_error) + __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(1, 84, __pyx_L1_error) + __pyx_builtin_IndexError = __Pyx_GetBuiltinName(__pyx_n_s_IndexError); if (!__pyx_builtin_IndexError) __PYX_ERR(1, 94, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "yarl/_quoting.pyx":207 + * for ch in safe: + * if ord(ch) > 127: + * raise ValueError("Only safe symbols with ORD < 128 are allowed") # <<<<<<<<<<<<<< + * set_bit(self._safe_table, ch) + * + */ + __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_u_Only_safe_symbols_with_ORD_128_a); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 207, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__2); + __Pyx_GIVEREF(__pyx_tuple__2); + + /* "yarl/_quoting.pyx":213 + * for ch in protected: + * if ord(ch) > 127: + * raise ValueError("Only safe symbols with ORD < 128 are allowed") # <<<<<<<<<<<<<< + * set_bit(self._safe_table, ch) + * set_bit(self._protected_table, ch) + */ + __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_u_Only_safe_symbols_with_ORD_128_a); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 213, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__2); + __Pyx_GIVEREF(__pyx_tuple__2); + + /* "yarl/_quoting.pyx":226 + * val = str(val) + * else: + * raise TypeError("Argument should be str") # <<<<<<<<<<<<<< + * _init_writer(&writer) + * try: + */ + __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_u_Argument_should_be_str); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 226, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__3); + __Pyx_GIVEREF(__pyx_tuple__3); + + /* "yarl/_quoting.pyx":321 + * val = str(val) + * else: + * raise TypeError("Argument should be str") # <<<<<<<<<<<<<< + * return self._do_unquote(<str>val) + * + */ + __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_u_Argument_should_be_str); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 321, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__3); + __Pyx_GIVEREF(__pyx_tuple__3); + + /* "yarl/_quoting.pyx":371 + * if ch in self._unsafe: + * ret.append('%') + * h = hex(ord(ch)).upper()[2:] # <<<<<<<<<<<<<< + * for ch in h: + * ret.append(ch) + */ + __pyx_slice__8 = PySlice_New(__pyx_int_2, Py_None, Py_None); if (unlikely(!__pyx_slice__8)) __PYX_ERR(0, 371, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice__8); + __Pyx_GIVEREF(__pyx_slice__8); + + /* "(tree fragment)":1 + * def __pyx_unpickle__Quoter(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * if __pyx_checksum != 0x8f193a6: + * from pickle import PickleError as __pyx_PickleError + */ + __pyx_tuple__14 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__14); + __Pyx_GIVEREF(__pyx_tuple__14); + __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle__Quoter, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(1, 1, __pyx_L1_error) + __pyx_tuple__16 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__16); + __Pyx_GIVEREF(__pyx_tuple__16); + __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle__Unquoter, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_16 = PyInt_FromLong(16); if (unlikely(!__pyx_int_16)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_41310077 = PyInt_FromLong(41310077L); if (unlikely(!__pyx_int_41310077)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_150049702 = PyInt_FromLong(150049702L); if (unlikely(!__pyx_int_150049702)) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __pyx_v_4yarl_8_quoting_GEN_DELIMS = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_4yarl_8_quoting_SUB_DELIMS_WITHOUT_QS = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_4yarl_8_quoting_SUB_DELIMS = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_4yarl_8_quoting_RESERVED = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_4yarl_8_quoting_UNRESERVED = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_4yarl_8_quoting_ALLOWED = ((PyObject*)Py_None); Py_INCREF(Py_None); + __pyx_v_4yarl_8_quoting_QS = ((PyObject*)Py_None); Py_INCREF(Py_None); + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + __pyx_vtabptr_4yarl_8_quoting__Quoter = &__pyx_vtable_4yarl_8_quoting__Quoter; + __pyx_vtable_4yarl_8_quoting__Quoter._do_quote = (PyObject *(*)(struct __pyx_obj_4yarl_8_quoting__Quoter *, PyObject *, struct __pyx_t_4yarl_8_quoting_Writer *))__pyx_f_4yarl_8_quoting_7_Quoter__do_quote; + __pyx_vtable_4yarl_8_quoting__Quoter._write = (int (*)(struct __pyx_obj_4yarl_8_quoting__Quoter *, struct __pyx_t_4yarl_8_quoting_Writer *, Py_UCS4))__pyx_f_4yarl_8_quoting_7_Quoter__write; + if (PyType_Ready(&__pyx_type_4yarl_8_quoting__Quoter) < 0) __PYX_ERR(0, 186, __pyx_L1_error) + __pyx_type_4yarl_8_quoting__Quoter.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4yarl_8_quoting__Quoter.tp_dictoffset && __pyx_type_4yarl_8_quoting__Quoter.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_4yarl_8_quoting__Quoter.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (__Pyx_SetVtable(__pyx_type_4yarl_8_quoting__Quoter.tp_dict, __pyx_vtabptr_4yarl_8_quoting__Quoter) < 0) __PYX_ERR(0, 186, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Quoter, (PyObject *)&__pyx_type_4yarl_8_quoting__Quoter) < 0) __PYX_ERR(0, 186, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4yarl_8_quoting__Quoter) < 0) __PYX_ERR(0, 186, __pyx_L1_error) + __pyx_ptype_4yarl_8_quoting__Quoter = &__pyx_type_4yarl_8_quoting__Quoter; + __pyx_vtabptr_4yarl_8_quoting__Unquoter = &__pyx_vtable_4yarl_8_quoting__Unquoter; + __pyx_vtable_4yarl_8_quoting__Unquoter._do_unquote = (PyObject *(*)(struct __pyx_obj_4yarl_8_quoting__Unquoter *, PyObject *))__pyx_f_4yarl_8_quoting_9_Unquoter__do_unquote; + if (PyType_Ready(&__pyx_type_4yarl_8_quoting__Unquoter) < 0) __PYX_ERR(0, 301, __pyx_L1_error) + __pyx_type_4yarl_8_quoting__Unquoter.tp_print = 0; + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4yarl_8_quoting__Unquoter.tp_dictoffset && __pyx_type_4yarl_8_quoting__Unquoter.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_4yarl_8_quoting__Unquoter.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (__Pyx_SetVtable(__pyx_type_4yarl_8_quoting__Unquoter.tp_dict, __pyx_vtabptr_4yarl_8_quoting__Unquoter) < 0) __PYX_ERR(0, 301, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Unquoter, (PyObject *)&__pyx_type_4yarl_8_quoting__Unquoter) < 0) __PYX_ERR(0, 301, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4yarl_8_quoting__Unquoter) < 0) __PYX_ERR(0, 301, __pyx_L1_error) + __pyx_ptype_4yarl_8_quoting__Unquoter = &__pyx_type_4yarl_8_quoting__Unquoter; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", + #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 + sizeof(PyTypeObject), + #else + sizeof(PyHeapTypeObject), + #endif + __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#if PY_MAJOR_VERSION < 3 +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC void +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#else +#ifdef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC init_quoting(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC init_quoting(void) +#else +__Pyx_PyMODINIT_FUNC PyInit__quoting(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit__quoting(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + result = PyDict_SetItemString(moddict, to_name, value); + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__") < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__") < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__") < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__") < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec__quoting(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + long __pyx_t_4; + int __pyx_t_5; + int __pyx_t_6; + uint64_t __pyx_t_7; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module '_quoting' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #if CYTHON_REFNANNY +__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); +if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); +} +#endif + __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit__quoting(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + #ifdef WITH_THREAD /* Python build with threading support? */ + PyEval_InitThreads(); + #endif + #endif + /*--- Module creation code ---*/ + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("_quoting", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + #if CYTHON_COMPILING_IN_PYPY + Py_INCREF(__pyx_b); + #endif + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main_yarl___quoting) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "yarl._quoting")) { + if (unlikely(PyDict_SetItemString(modules, "yarl._quoting", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Global type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + if (unlikely(__Pyx_modinit_type_init_code() != 0)) goto __pyx_L1_error; + if (unlikely(__Pyx_modinit_type_import_code() != 0)) goto __pyx_L1_error; + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_function_import_code(); + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + + /* "yarl/_quoting.pyx":10 + * from cpython.unicode cimport PyUnicode_DecodeASCII + * + * from string import ascii_letters, digits # <<<<<<<<<<<<<< + * + * cdef str GEN_DELIMS = ":/?#[]@" + */ + __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_ascii_letters); + __Pyx_GIVEREF(__pyx_n_s_ascii_letters); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_ascii_letters); + __Pyx_INCREF(__pyx_n_s_digits); + __Pyx_GIVEREF(__pyx_n_s_digits); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_digits); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_string, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_ascii_letters); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ascii_letters, __pyx_t_1) < 0) __PYX_ERR(0, 10, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_digits); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_digits, __pyx_t_1) < 0) __PYX_ERR(0, 10, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "yarl/_quoting.pyx":12 + * from string import ascii_letters, digits + * + * cdef str GEN_DELIMS = ":/?#[]@" # <<<<<<<<<<<<<< + * cdef str SUB_DELIMS_WITHOUT_QS = "!$'()*," + * cdef str SUB_DELIMS = SUB_DELIMS_WITHOUT_QS + '+?=;' + */ + __Pyx_INCREF(__pyx_kp_u__9); + __Pyx_XGOTREF(__pyx_v_4yarl_8_quoting_GEN_DELIMS); + __Pyx_DECREF_SET(__pyx_v_4yarl_8_quoting_GEN_DELIMS, __pyx_kp_u__9); + __Pyx_GIVEREF(__pyx_kp_u__9); + + /* "yarl/_quoting.pyx":13 + * + * cdef str GEN_DELIMS = ":/?#[]@" + * cdef str SUB_DELIMS_WITHOUT_QS = "!$'()*," # <<<<<<<<<<<<<< + * cdef str SUB_DELIMS = SUB_DELIMS_WITHOUT_QS + '+?=;' + * cdef str RESERVED = GEN_DELIMS + SUB_DELIMS + */ + __Pyx_INCREF(__pyx_kp_u__10); + __Pyx_XGOTREF(__pyx_v_4yarl_8_quoting_SUB_DELIMS_WITHOUT_QS); + __Pyx_DECREF_SET(__pyx_v_4yarl_8_quoting_SUB_DELIMS_WITHOUT_QS, __pyx_kp_u__10); + __Pyx_GIVEREF(__pyx_kp_u__10); + + /* "yarl/_quoting.pyx":14 + * cdef str GEN_DELIMS = ":/?#[]@" + * cdef str SUB_DELIMS_WITHOUT_QS = "!$'()*," + * cdef str SUB_DELIMS = SUB_DELIMS_WITHOUT_QS + '+?=;' # <<<<<<<<<<<<<< + * cdef str RESERVED = GEN_DELIMS + SUB_DELIMS + * cdef str UNRESERVED = ascii_letters + digits + '-._~' + */ + __pyx_t_2 = __Pyx_PyUnicode_ConcatSafe(__pyx_v_4yarl_8_quoting_SUB_DELIMS_WITHOUT_QS, __pyx_kp_u__11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_v_4yarl_8_quoting_SUB_DELIMS); + __Pyx_DECREF_SET(__pyx_v_4yarl_8_quoting_SUB_DELIMS, ((PyObject*)__pyx_t_2)); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + + /* "yarl/_quoting.pyx":15 + * cdef str SUB_DELIMS_WITHOUT_QS = "!$'()*," + * cdef str SUB_DELIMS = SUB_DELIMS_WITHOUT_QS + '+?=;' + * cdef str RESERVED = GEN_DELIMS + SUB_DELIMS # <<<<<<<<<<<<<< + * cdef str UNRESERVED = ascii_letters + digits + '-._~' + * cdef str ALLOWED = UNRESERVED + SUB_DELIMS_WITHOUT_QS + */ + __pyx_t_2 = __Pyx_PyUnicode_ConcatSafe(__pyx_v_4yarl_8_quoting_GEN_DELIMS, __pyx_v_4yarl_8_quoting_SUB_DELIMS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_v_4yarl_8_quoting_RESERVED); + __Pyx_DECREF_SET(__pyx_v_4yarl_8_quoting_RESERVED, ((PyObject*)__pyx_t_2)); + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + + /* "yarl/_quoting.pyx":16 + * cdef str SUB_DELIMS = SUB_DELIMS_WITHOUT_QS + '+?=;' + * cdef str RESERVED = GEN_DELIMS + SUB_DELIMS + * cdef str UNRESERVED = ascii_letters + digits + '-._~' # <<<<<<<<<<<<<< + * cdef str ALLOWED = UNRESERVED + SUB_DELIMS_WITHOUT_QS + * cdef str QS = '+&=;' + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ascii_letters); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_digits); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_kp_u__12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_XGOTREF(__pyx_v_4yarl_8_quoting_UNRESERVED); + __Pyx_DECREF_SET(__pyx_v_4yarl_8_quoting_UNRESERVED, ((PyObject*)__pyx_t_1)); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "yarl/_quoting.pyx":17 + * cdef str RESERVED = GEN_DELIMS + SUB_DELIMS + * cdef str UNRESERVED = ascii_letters + digits + '-._~' + * cdef str ALLOWED = UNRESERVED + SUB_DELIMS_WITHOUT_QS # <<<<<<<<<<<<<< + * cdef str QS = '+&=;' + * + */ + __pyx_t_1 = __Pyx_PyUnicode_ConcatSafe(__pyx_v_4yarl_8_quoting_UNRESERVED, __pyx_v_4yarl_8_quoting_SUB_DELIMS_WITHOUT_QS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_v_4yarl_8_quoting_ALLOWED); + __Pyx_DECREF_SET(__pyx_v_4yarl_8_quoting_ALLOWED, ((PyObject*)__pyx_t_1)); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + + /* "yarl/_quoting.pyx":18 + * cdef str UNRESERVED = ascii_letters + digits + '-._~' + * cdef str ALLOWED = UNRESERVED + SUB_DELIMS_WITHOUT_QS + * cdef str QS = '+&=;' # <<<<<<<<<<<<<< + * + * DEF BUF_SIZE = 8 * 1024 # 8KiB + */ + __Pyx_INCREF(__pyx_kp_u__13); + __Pyx_XGOTREF(__pyx_v_4yarl_8_quoting_QS); + __Pyx_DECREF_SET(__pyx_v_4yarl_8_quoting_QS, __pyx_kp_u__13); + __Pyx_GIVEREF(__pyx_kp_u__13); + + /* "yarl/_quoting.pyx":64 + * + * + * memset(ALLOWED_TABLE, 0, sizeof(ALLOWED_TABLE)) # <<<<<<<<<<<<<< + * memset(ALLOWED_NOTQS_TABLE, 0, sizeof(ALLOWED_NOTQS_TABLE)) + * + */ + (void)(memset(__pyx_v_4yarl_8_quoting_ALLOWED_TABLE, 0, (sizeof(__pyx_v_4yarl_8_quoting_ALLOWED_TABLE)))); + + /* "yarl/_quoting.pyx":65 + * + * memset(ALLOWED_TABLE, 0, sizeof(ALLOWED_TABLE)) + * memset(ALLOWED_NOTQS_TABLE, 0, sizeof(ALLOWED_NOTQS_TABLE)) # <<<<<<<<<<<<<< + * + * for i in range(128): + */ + (void)(memset(__pyx_v_4yarl_8_quoting_ALLOWED_NOTQS_TABLE, 0, (sizeof(__pyx_v_4yarl_8_quoting_ALLOWED_NOTQS_TABLE)))); + + /* "yarl/_quoting.pyx":67 + * memset(ALLOWED_NOTQS_TABLE, 0, sizeof(ALLOWED_NOTQS_TABLE)) + * + * for i in range(128): # <<<<<<<<<<<<<< + * if chr(i) in ALLOWED: + * set_bit(ALLOWED_TABLE, i) + */ + for (__pyx_t_4 = 0; __pyx_t_4 < 0x80; __pyx_t_4+=1) { + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 67, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_i, __pyx_t_1) < 0) __PYX_ERR(0, 67, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "yarl/_quoting.pyx":68 + * + * for i in range(128): + * if chr(i) in ALLOWED: # <<<<<<<<<<<<<< + * set_bit(ALLOWED_TABLE, i) + * set_bit(ALLOWED_NOTQS_TABLE, i) + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_chr, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(__pyx_v_4yarl_8_quoting_ALLOWED == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 68, __pyx_L1_error) + } + __pyx_t_5 = (__Pyx_PyUnicode_ContainsTF(__pyx_t_3, __pyx_v_4yarl_8_quoting_ALLOWED, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = (__pyx_t_5 != 0); + if (__pyx_t_6) { + + /* "yarl/_quoting.pyx":69 + * for i in range(128): + * if chr(i) in ALLOWED: + * set_bit(ALLOWED_TABLE, i) # <<<<<<<<<<<<<< + * set_bit(ALLOWED_NOTQS_TABLE, i) + * if chr(i) in QS: + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_t_3); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_f_4yarl_8_quoting_set_bit(__pyx_v_4yarl_8_quoting_ALLOWED_TABLE, __pyx_t_7); + + /* "yarl/_quoting.pyx":70 + * if chr(i) in ALLOWED: + * set_bit(ALLOWED_TABLE, i) + * set_bit(ALLOWED_NOTQS_TABLE, i) # <<<<<<<<<<<<<< + * if chr(i) in QS: + * set_bit(ALLOWED_NOTQS_TABLE, i) + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_t_3); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 70, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_f_4yarl_8_quoting_set_bit(__pyx_v_4yarl_8_quoting_ALLOWED_NOTQS_TABLE, __pyx_t_7); + + /* "yarl/_quoting.pyx":68 + * + * for i in range(128): + * if chr(i) in ALLOWED: # <<<<<<<<<<<<<< + * set_bit(ALLOWED_TABLE, i) + * set_bit(ALLOWED_NOTQS_TABLE, i) + */ + } + + /* "yarl/_quoting.pyx":71 + * set_bit(ALLOWED_TABLE, i) + * set_bit(ALLOWED_NOTQS_TABLE, i) + * if chr(i) in QS: # <<<<<<<<<<<<<< + * set_bit(ALLOWED_NOTQS_TABLE, i) + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_chr, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(__pyx_v_4yarl_8_quoting_QS == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 71, __pyx_L1_error) + } + __pyx_t_6 = (__Pyx_PyUnicode_ContainsTF(__pyx_t_1, __pyx_v_4yarl_8_quoting_QS, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 71, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_5 = (__pyx_t_6 != 0); + if (__pyx_t_5) { + + /* "yarl/_quoting.pyx":72 + * set_bit(ALLOWED_NOTQS_TABLE, i) + * if chr(i) in QS: + * set_bit(ALLOWED_NOTQS_TABLE, i) # <<<<<<<<<<<<<< + * + * # ----------------- writer --------------------------- + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __Pyx_PyInt_As_uint64_t(__pyx_t_1); if (unlikely((__pyx_t_7 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 72, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_f_4yarl_8_quoting_set_bit(__pyx_v_4yarl_8_quoting_ALLOWED_NOTQS_TABLE, __pyx_t_7); + + /* "yarl/_quoting.pyx":71 + * set_bit(ALLOWED_TABLE, i) + * set_bit(ALLOWED_NOTQS_TABLE, i) + * if chr(i) in QS: # <<<<<<<<<<<<<< + * set_bit(ALLOWED_NOTQS_TABLE, i) + * + */ + } + } + + /* "(tree fragment)":1 + * def __pyx_unpickle__Quoter(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * if __pyx_checksum != 0x8f193a6: + * from pickle import PickleError as __pyx_PickleError + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_4yarl_8_quoting_1__pyx_unpickle__Quoter, NULL, __pyx_n_s_yarl__quoting); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle__Quoter, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":9 + * __pyx_unpickle__Quoter__set_state(<_Quoter> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle__Quoter__set_state(_Quoter __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._protected_table = __pyx_state[0]; __pyx_result._qs = __pyx_state[1]; __pyx_result._safe_table = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_4yarl_8_quoting_3__pyx_unpickle__Unquoter, NULL, __pyx_n_s_yarl__quoting); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle__Unquoter, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "yarl/_quoting.pyx":1 + * # cython: language_level=3 # <<<<<<<<<<<<<< + * + * from libc.stdint cimport uint8_t, uint64_t + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "carray.from_py":77 + * + * @cname("__Pyx_carray_from_py_uint8_t") + * cdef int __Pyx_carray_from_py_uint8_t(object o, base_type *v, Py_ssize_t length) except -1: # <<<<<<<<<<<<<< + * cdef Py_ssize_t i = length + * try: + */ + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init yarl._quoting", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init yarl._quoting"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* PyErrFetchRestore */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* WriteUnraisableException */ +static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno, + CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename, + int full_traceback, CYTHON_UNUSED int nogil) { + PyObject *old_exc, *old_val, *old_tb; + PyObject *ctx; + __Pyx_PyThreadState_declare +#ifdef WITH_THREAD + PyGILState_STATE state; + if (nogil) + state = PyGILState_Ensure(); +#ifdef _MSC_VER + else state = (PyGILState_STATE)-1; +#endif +#endif + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&old_exc, &old_val, &old_tb); + if (full_traceback) { + Py_XINCREF(old_exc); + Py_XINCREF(old_val); + Py_XINCREF(old_tb); + __Pyx_ErrRestore(old_exc, old_val, old_tb); + PyErr_PrintEx(1); + } + #if PY_MAJOR_VERSION < 3 + ctx = PyString_FromString(name); + #else + ctx = PyUnicode_FromString(name); + #endif + __Pyx_ErrRestore(old_exc, old_val, old_tb); + if (!ctx) { + PyErr_WriteUnraisable(Py_None); + } else { + PyErr_WriteUnraisable(ctx); + Py_DECREF(ctx); + } +#ifdef WITH_THREAD + if (nogil) + PyGILState_Release(state); +#endif +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* ArgTypeTest */ +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact) +{ + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + else if (exact) { + #if PY_MAJOR_VERSION == 2 + if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; + #endif + } + else { + if (likely(__Pyx_TypeCheck(obj, type))) return 1; + } + PyErr_Format(PyExc_TypeError, + "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)", + name, type->tp_name, Py_TYPE(obj)->tp_name); + return 0; +} + +/* unicode_iter */ +static CYTHON_INLINE int __Pyx_init_unicode_iteration( + PyObject* ustring, Py_ssize_t *length, void** data, int *kind) { +#if CYTHON_PEP393_ENABLED + if (unlikely(__Pyx_PyUnicode_READY(ustring) < 0)) return -1; + *kind = PyUnicode_KIND(ustring); + *length = PyUnicode_GET_LENGTH(ustring); + *data = PyUnicode_DATA(ustring); +#else + *kind = 0; + *length = PyUnicode_GET_SIZE(ustring); + *data = (void*)PyUnicode_AS_UNICODE(ustring); +#endif + return 0; +} + +/* PyObjectCall */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = func->ob_type->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* RaiseException */ +#if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* PyCFunctionFastCall */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyFunctionFastCall */ +#if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCallMethO */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallOneArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* GetException */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif + return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; +} + +/* SwapException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = *type; + exc_info->exc_value = *value; + exc_info->exc_traceback = *tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = *type; + tstate->exc_value = *value; + tstate->exc_traceback = *tb; + #endif + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); + PyErr_SetExcInfo(*type, *value, *tb); + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#endif + +/* GetTopmostException */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) +{ + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* SaveResetException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* ReRaiseException */ +static CYTHON_INLINE void __Pyx_ReraiseException(void) { + PyObject *type = NULL, *value = NULL, *tb = NULL; +#if CYTHON_FAST_THREAD_STATE + PyThreadState *tstate = PyThreadState_GET(); + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + type = exc_info->exc_type; + value = exc_info->exc_value; + tb = exc_info->exc_traceback; + #else + type = tstate->exc_type; + value = tstate->exc_value; + tb = tstate->exc_traceback; + #endif +#else + PyErr_GetExcInfo(&type, &value, &tb); +#endif + if (!type || type == Py_None) { +#if !CYTHON_FAST_THREAD_STATE + Py_XDECREF(type); + Py_XDECREF(value); + Py_XDECREF(tb); +#endif + PyErr_SetString(PyExc_RuntimeError, + "No active exception to reraise"); + } else { +#if CYTHON_FAST_THREAD_STATE + Py_INCREF(type); + Py_XINCREF(value); + Py_XINCREF(tb); +#endif + PyErr_Restore(type, value, tb); + } +} + +/* PyErrExceptionMatches */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i<n; i++) { + if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1; + } +#endif + for (i=0; i<n; i++) { + if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1; + } + return 0; +} +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) { + PyObject *exc_type = tstate->curexc_type; + if (exc_type == err) return 1; + if (unlikely(!exc_type)) return 0; + if (unlikely(PyTuple_Check(err))) + return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); + return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); +} +#endif + +/* GetAttr */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) { +#if CYTHON_USE_TYPE_SLOTS +#if PY_MAJOR_VERSION >= 3 + if (likely(PyUnicode_Check(n))) +#else + if (likely(PyString_Check(n))) +#endif + return __Pyx_PyObject_GetAttrStr(o, n); +#endif + return PyObject_GetAttr(o, n); +} + +/* GetAttr3 */ +static PyObject *__Pyx_GetAttr3Default(PyObject *d) { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) + return NULL; + __Pyx_PyErr_Clear(); + Py_INCREF(d); + return d; +} +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) { + PyObject *r = __Pyx_GetAttr(o, n); + return (likely(r)) ? r : __Pyx_GetAttr3Default(d); +} + +/* GetModuleGlobalName */ +#if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* PyObjectCallNoArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, NULL, 0); + } +#endif +#ifdef __Pyx_CyFunction_USED + if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) +#else + if (likely(PyCFunction_Check(func))) +#endif + { + if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { + return __Pyx_PyObject_CallMethO(func, NULL); + } + } + return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); +} +#endif + +/* PyObjectCall2Args */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { + PyObject *args, *result = NULL; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyFunction_FastCall(function, args, 2); + } + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyCFunction_FastCall(function, args, 2); + } + #endif + args = PyTuple_New(2); + if (unlikely(!args)) goto done; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + Py_INCREF(function); + result = __Pyx_PyObject_Call(function, args, NULL); + Py_DECREF(args); + Py_DECREF(function); +done: + return result; +} + +/* PyObjectGetMethod */ +static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { + PyObject *attr; +#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP + PyTypeObject *tp = Py_TYPE(obj); + PyObject *descr; + descrgetfunc f = NULL; + PyObject **dictptr, *dict; + int meth_found = 0; + assert (*method == NULL); + if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { + attr = __Pyx_PyObject_GetAttrStr(obj, name); + goto try_unpack; + } + if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { + return 0; + } + descr = _PyType_Lookup(tp, name); + if (likely(descr != NULL)) { + Py_INCREF(descr); +#if PY_MAJOR_VERSION >= 3 + #ifdef __Pyx_CyFunction_USED + if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) + #else + if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type))) + #endif +#else + #ifdef __Pyx_CyFunction_USED + if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) + #else + if (likely(PyFunction_Check(descr))) + #endif +#endif + { + meth_found = 1; + } else { + f = Py_TYPE(descr)->tp_descr_get; + if (f != NULL && PyDescr_IsData(descr)) { + attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); + Py_DECREF(descr); + goto try_unpack; + } + } + } + dictptr = _PyObject_GetDictPtr(obj); + if (dictptr != NULL && (dict = *dictptr) != NULL) { + Py_INCREF(dict); + attr = __Pyx_PyDict_GetItemStr(dict, name); + if (attr != NULL) { + Py_INCREF(attr); + Py_DECREF(dict); + Py_XDECREF(descr); + goto try_unpack; + } + Py_DECREF(dict); + } + if (meth_found) { + *method = descr; + return 1; + } + if (f != NULL) { + attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); + Py_DECREF(descr); + goto try_unpack; + } + if (descr != NULL) { + *method = descr; + return 0; + } + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(name)); +#endif + return 0; +#else + attr = __Pyx_PyObject_GetAttrStr(obj, name); + goto try_unpack; +#endif +try_unpack: +#if CYTHON_UNPACK_METHODS + if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { + PyObject *function = PyMethod_GET_FUNCTION(attr); + Py_INCREF(function); + Py_DECREF(attr); + *method = function; + return 1; + } +#endif + *method = attr; + return 0; +} + +/* PyObjectCallMethod1 */ +static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) { + PyObject *result = __Pyx_PyObject_CallOneArg(method, arg); + Py_DECREF(method); + return result; +} +static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { + PyObject *method = NULL, *result; + int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); + if (likely(is_method)) { + result = __Pyx_PyObject_Call2Args(method, obj, arg); + Py_DECREF(method); + return result; + } + if (unlikely(!method)) return NULL; + return __Pyx__PyObject_CallMethod1(method, arg); +} + +/* ByteArrayAppend */ +static CYTHON_INLINE int __Pyx_PyByteArray_Append(PyObject* bytearray, int value) { + PyObject *pyval, *retval; +#if CYTHON_COMPILING_IN_CPYTHON + if (likely(__Pyx_is_valid_index(value, 256))) { + Py_ssize_t n = Py_SIZE(bytearray); + if (likely(n != PY_SSIZE_T_MAX)) { + if (unlikely(PyByteArray_Resize(bytearray, n + 1) < 0)) + return -1; + PyByteArray_AS_STRING(bytearray)[n] = value; + return 0; + } + } else { + PyErr_SetString(PyExc_ValueError, "byte must be in range(0, 256)"); + return -1; + } +#endif + pyval = PyInt_FromLong(value); + if (unlikely(!pyval)) + return -1; + retval = __Pyx_PyObject_CallMethod1(bytearray, __pyx_n_s_append, pyval); + Py_DECREF(pyval); + if (unlikely(!retval)) + return -1; + Py_DECREF(retval); + return 0; +} + +/* ByteArrayAppendObject */ +static CYTHON_INLINE int __Pyx_PyByteArray_AppendObject(PyObject* bytearray, PyObject* value) { + Py_ssize_t ival; +#if PY_MAJOR_VERSION < 3 + if (unlikely(PyString_Check(value))) { + if (unlikely(PyString_GET_SIZE(value) != 1)) { + PyErr_SetString(PyExc_ValueError, "string must be of size 1"); + return -1; + } + ival = (unsigned char) (PyString_AS_STRING(value)[0]); + } else +#endif +#if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(value)) && likely(Py_SIZE(value) == 1 || Py_SIZE(value) == 0)) { + if (Py_SIZE(value) == 0) { + ival = 0; + } else { + ival = ((PyLongObject*)value)->ob_digit[0]; + if (unlikely(ival > 255)) goto bad_range; + } + } else +#endif + { + ival = __Pyx_PyIndex_AsSsize_t(value); + if (unlikely(!__Pyx_is_valid_index(ival, 256))) { + if (ival == -1 && PyErr_Occurred()) + return -1; + goto bad_range; + } + } + return __Pyx_PyByteArray_Append(bytearray, ival); +bad_range: + PyErr_SetString(PyExc_ValueError, "byte must be in range(0, 256)"); + return -1; +} + +/* PyUnicode_Substring */ +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Substring( + PyObject* text, Py_ssize_t start, Py_ssize_t stop) { + Py_ssize_t length; + if (unlikely(__Pyx_PyUnicode_READY(text) == -1)) return NULL; + length = __Pyx_PyUnicode_GET_LENGTH(text); + if (start < 0) { + start += length; + if (start < 0) + start = 0; + } + if (stop < 0) + stop += length; + else if (stop > length) + stop = length; + length = stop - start; + if (length <= 0) + return PyUnicode_FromUnicode(NULL, 0); +#if CYTHON_PEP393_ENABLED + return PyUnicode_FromKindAndData(PyUnicode_KIND(text), + PyUnicode_1BYTE_DATA(text) + start*PyUnicode_KIND(text), stop-start); +#else + return PyUnicode_FromUnicode(PyUnicode_AS_UNICODE(text)+start, stop-start); +#endif +} + +/* decode_c_bytes */ +static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes( + const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop, + const char* encoding, const char* errors, + PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) { + if (unlikely((start < 0) | (stop < 0))) { + if (start < 0) { + start += length; + if (start < 0) + start = 0; + } + if (stop < 0) + stop += length; + } + if (stop > length) + stop = length; + length = stop - start; + if (unlikely(length <= 0)) + return PyUnicode_FromUnicode(NULL, 0); + cstring += start; + if (decode_func) { + return decode_func(cstring, length, errors); + } else { + return PyUnicode_Decode(cstring, length, encoding, errors); + } +} + +/* SliceObject */ +static CYTHON_INLINE int __Pyx_PyObject_SetSlice(PyObject* obj, PyObject* value, + Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, + int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { +#if CYTHON_USE_TYPE_SLOTS + PyMappingMethods* mp; +#if PY_MAJOR_VERSION < 3 + PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; + if (likely(ms && ms->sq_ass_slice)) { + if (!has_cstart) { + if (_py_start && (*_py_start != Py_None)) { + cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); + if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstart = 0; + } + if (!has_cstop) { + if (_py_stop && (*_py_stop != Py_None)) { + cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); + if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstop = PY_SSIZE_T_MAX; + } + if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { + Py_ssize_t l = ms->sq_length(obj); + if (likely(l >= 0)) { + if (cstop < 0) { + cstop += l; + if (cstop < 0) cstop = 0; + } + if (cstart < 0) { + cstart += l; + if (cstart < 0) cstart = 0; + } + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + goto bad; + PyErr_Clear(); + } + } + return ms->sq_ass_slice(obj, cstart, cstop, value); + } +#endif + mp = Py_TYPE(obj)->tp_as_mapping; + if (likely(mp && mp->mp_ass_subscript)) +#endif + { + int result; + PyObject *py_slice, *py_start, *py_stop; + if (_py_slice) { + py_slice = *_py_slice; + } else { + PyObject* owned_start = NULL; + PyObject* owned_stop = NULL; + if (_py_start) { + py_start = *_py_start; + } else { + if (has_cstart) { + owned_start = py_start = PyInt_FromSsize_t(cstart); + if (unlikely(!py_start)) goto bad; + } else + py_start = Py_None; + } + if (_py_stop) { + py_stop = *_py_stop; + } else { + if (has_cstop) { + owned_stop = py_stop = PyInt_FromSsize_t(cstop); + if (unlikely(!py_stop)) { + Py_XDECREF(owned_start); + goto bad; + } + } else + py_stop = Py_None; + } + py_slice = PySlice_New(py_start, py_stop, Py_None); + Py_XDECREF(owned_start); + Py_XDECREF(owned_stop); + if (unlikely(!py_slice)) goto bad; + } +#if CYTHON_USE_TYPE_SLOTS + result = mp->mp_ass_subscript(obj, py_slice, value); +#else + result = value ? PyObject_SetItem(obj, py_slice, value) : PyObject_DelItem(obj, py_slice); +#endif + if (!_py_slice) { + Py_DECREF(py_slice); + } + return result; + } + PyErr_Format(PyExc_TypeError, + "'%.200s' object does not support slice %.10s", + Py_TYPE(obj)->tp_name, value ? "assignment" : "deletion"); +bad: + return -1; +} + +/* BytesEquals */ +static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { +#if CYTHON_COMPILING_IN_PYPY + return PyObject_RichCompareBool(s1, s2, equals); +#else + if (s1 == s2) { + return (equals == Py_EQ); + } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { + const char *ps1, *ps2; + Py_ssize_t length = PyBytes_GET_SIZE(s1); + if (length != PyBytes_GET_SIZE(s2)) + return (equals == Py_NE); + ps1 = PyBytes_AS_STRING(s1); + ps2 = PyBytes_AS_STRING(s2); + if (ps1[0] != ps2[0]) { + return (equals == Py_NE); + } else if (length == 1) { + return (equals == Py_EQ); + } else { + int result; +#if CYTHON_USE_UNICODE_INTERNALS + Py_hash_t hash1, hash2; + hash1 = ((PyBytesObject*)s1)->ob_shash; + hash2 = ((PyBytesObject*)s2)->ob_shash; + if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { + return (equals == Py_NE); + } +#endif + result = memcmp(ps1, ps2, (size_t)length); + return (equals == Py_EQ) ? (result == 0) : (result != 0); + } + } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { + return (equals == Py_NE); + } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { + return (equals == Py_NE); + } else { + int result; + PyObject* py_result = PyObject_RichCompare(s1, s2, equals); + if (!py_result) + return -1; + result = __Pyx_PyObject_IsTrue(py_result); + Py_DECREF(py_result); + return result; + } +#endif +} + +/* UnicodeEquals */ +static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { +#if CYTHON_COMPILING_IN_PYPY + return PyObject_RichCompareBool(s1, s2, equals); +#else +#if PY_MAJOR_VERSION < 3 + PyObject* owned_ref = NULL; +#endif + int s1_is_unicode, s2_is_unicode; + if (s1 == s2) { + goto return_eq; + } + s1_is_unicode = PyUnicode_CheckExact(s1); + s2_is_unicode = PyUnicode_CheckExact(s2); +#if PY_MAJOR_VERSION < 3 + if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { + owned_ref = PyUnicode_FromObject(s2); + if (unlikely(!owned_ref)) + return -1; + s2 = owned_ref; + s2_is_unicode = 1; + } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { + owned_ref = PyUnicode_FromObject(s1); + if (unlikely(!owned_ref)) + return -1; + s1 = owned_ref; + s1_is_unicode = 1; + } else if (((!s2_is_unicode) & (!s1_is_unicode))) { + return __Pyx_PyBytes_Equals(s1, s2, equals); + } +#endif + if (s1_is_unicode & s2_is_unicode) { + Py_ssize_t length; + int kind; + void *data1, *data2; + if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) + return -1; + length = __Pyx_PyUnicode_GET_LENGTH(s1); + if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { + goto return_ne; + } +#if CYTHON_USE_UNICODE_INTERNALS + { + Py_hash_t hash1, hash2; + #if CYTHON_PEP393_ENABLED + hash1 = ((PyASCIIObject*)s1)->hash; + hash2 = ((PyASCIIObject*)s2)->hash; + #else + hash1 = ((PyUnicodeObject*)s1)->hash; + hash2 = ((PyUnicodeObject*)s2)->hash; + #endif + if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { + goto return_ne; + } + } +#endif + kind = __Pyx_PyUnicode_KIND(s1); + if (kind != __Pyx_PyUnicode_KIND(s2)) { + goto return_ne; + } + data1 = __Pyx_PyUnicode_DATA(s1); + data2 = __Pyx_PyUnicode_DATA(s2); + if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { + goto return_ne; + } else if (length == 1) { + goto return_eq; + } else { + int result = memcmp(data1, data2, (size_t)(length * kind)); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_EQ) ? (result == 0) : (result != 0); + } + } else if ((s1 == Py_None) & s2_is_unicode) { + goto return_ne; + } else if ((s2 == Py_None) & s1_is_unicode) { + goto return_ne; + } else { + int result; + PyObject* py_result = PyObject_RichCompare(s1, s2, equals); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + if (!py_result) + return -1; + result = __Pyx_PyObject_IsTrue(py_result); + Py_DECREF(py_result); + return result; + } +return_eq: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_EQ); +return_ne: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_NE); +#endif +} + +/* UnicodeAsUCS4 */ +static CYTHON_INLINE Py_UCS4 __Pyx_PyUnicode_AsPy_UCS4(PyObject* x) { + Py_ssize_t length; + #if CYTHON_PEP393_ENABLED + length = PyUnicode_GET_LENGTH(x); + if (likely(length == 1)) { + return PyUnicode_READ_CHAR(x, 0); + } + #else + length = PyUnicode_GET_SIZE(x); + if (likely(length == 1)) { + return PyUnicode_AS_UNICODE(x)[0]; + } + #if Py_UNICODE_SIZE == 2 + else if (PyUnicode_GET_SIZE(x) == 2) { + Py_UCS4 high_val = PyUnicode_AS_UNICODE(x)[0]; + if (high_val >= 0xD800 && high_val <= 0xDBFF) { + Py_UCS4 low_val = PyUnicode_AS_UNICODE(x)[1]; + if (low_val >= 0xDC00 && low_val <= 0xDFFF) { + return 0x10000 + (((high_val & ((1<<10)-1)) << 10) | (low_val & ((1<<10)-1))); + } + } + } + #endif + #endif + PyErr_Format(PyExc_ValueError, + "only single character unicode strings can be converted to Py_UCS4, " + "got length %" CYTHON_FORMAT_SSIZE_T "d", length); + return (Py_UCS4)-1; +} + +/* object_ord */ +static long __Pyx__PyObject_Ord(PyObject* c) { + Py_ssize_t size; + if (PyBytes_Check(c)) { + size = PyBytes_GET_SIZE(c); + if (likely(size == 1)) { + return (unsigned char) PyBytes_AS_STRING(c)[0]; + } +#if PY_MAJOR_VERSION < 3 + } else if (PyUnicode_Check(c)) { + return (long)__Pyx_PyUnicode_AsPy_UCS4(c); +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + } else if (PyByteArray_Check(c)) { + size = PyByteArray_GET_SIZE(c); + if (likely(size == 1)) { + return (unsigned char) PyByteArray_AS_STRING(c)[0]; + } +#endif + } else { + PyErr_Format(PyExc_TypeError, + "ord() expected string of length 1, but %.200s found", c->ob_type->tp_name); + return (long)(Py_UCS4)-1; + } + PyErr_Format(PyExc_TypeError, + "ord() expected a character, but string of length %zd found", size); + return (long)(Py_UCS4)-1; +} + +/* SliceObject */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, + Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, + int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { +#if CYTHON_USE_TYPE_SLOTS + PyMappingMethods* mp; +#if PY_MAJOR_VERSION < 3 + PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; + if (likely(ms && ms->sq_slice)) { + if (!has_cstart) { + if (_py_start && (*_py_start != Py_None)) { + cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); + if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstart = 0; + } + if (!has_cstop) { + if (_py_stop && (*_py_stop != Py_None)) { + cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); + if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstop = PY_SSIZE_T_MAX; + } + if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { + Py_ssize_t l = ms->sq_length(obj); + if (likely(l >= 0)) { + if (cstop < 0) { + cstop += l; + if (cstop < 0) cstop = 0; + } + if (cstart < 0) { + cstart += l; + if (cstart < 0) cstart = 0; + } + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + goto bad; + PyErr_Clear(); + } + } + return ms->sq_slice(obj, cstart, cstop); + } +#endif + mp = Py_TYPE(obj)->tp_as_mapping; + if (likely(mp && mp->mp_subscript)) +#endif + { + PyObject* result; + PyObject *py_slice, *py_start, *py_stop; + if (_py_slice) { + py_slice = *_py_slice; + } else { + PyObject* owned_start = NULL; + PyObject* owned_stop = NULL; + if (_py_start) { + py_start = *_py_start; + } else { + if (has_cstart) { + owned_start = py_start = PyInt_FromSsize_t(cstart); + if (unlikely(!py_start)) goto bad; + } else + py_start = Py_None; + } + if (_py_stop) { + py_stop = *_py_stop; + } else { + if (has_cstop) { + owned_stop = py_stop = PyInt_FromSsize_t(cstop); + if (unlikely(!py_stop)) { + Py_XDECREF(owned_start); + goto bad; + } + } else + py_stop = Py_None; + } + py_slice = PySlice_New(py_start, py_stop, Py_None); + Py_XDECREF(owned_start); + Py_XDECREF(owned_stop); + if (unlikely(!py_slice)) goto bad; + } +#if CYTHON_USE_TYPE_SLOTS + result = mp->mp_subscript(obj, py_slice); +#else + result = PyObject_GetItem(obj, py_slice); +#endif + if (!_py_slice) { + Py_DECREF(py_slice); + } + return result; + } + PyErr_Format(PyExc_TypeError, + "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name); +bad: + return NULL; +} + +/* Import */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if (strchr(__Pyx_MODULE_NAME, '.')) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* ImportFrom */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { + PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); + if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Format(PyExc_ImportError, + #if PY_MAJOR_VERSION < 3 + "cannot import name %.230s", PyString_AS_STRING(name)); + #else + "cannot import name %S", name); + #endif + } + return value; +} + +/* GetItemInt */ +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyList_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyTuple_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return NULL; + PyErr_Clear(); + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +} + +/* HasAttr */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) { + PyObject *r; + if (unlikely(!__Pyx_PyBaseString_Check(n))) { + PyErr_SetString(PyExc_TypeError, + "hasattr(): attribute name must be string"); + return -1; + } + r = __Pyx_GetAttr(o, n); + if (unlikely(!r)) { + PyErr_Clear(); + return 0; + } else { + Py_DECREF(r); + return 1; + } +} + +/* ExtTypeTest */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + if (likely(__Pyx_TypeCheck(obj, type))) + return 1; + PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", + Py_TYPE(obj)->tp_name, type->tp_name); + return 0; +} + +/* PyObject_GenericGetAttrNoDict */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, attr_name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(attr_name)); +#endif + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { + PyObject *descr; + PyTypeObject *tp = Py_TYPE(obj); + if (unlikely(!PyString_Check(attr_name))) { + return PyObject_GenericGetAttr(obj, attr_name); + } + assert(!tp->tp_dictoffset); + descr = _PyType_Lookup(tp, attr_name); + if (unlikely(!descr)) { + return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); + } + Py_INCREF(descr); + #if PY_MAJOR_VERSION < 3 + if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) + #endif + { + descrgetfunc f = Py_TYPE(descr)->tp_descr_get; + if (unlikely(f)) { + PyObject *res = f(descr, obj, (PyObject *)tp); + Py_DECREF(descr); + return res; + } + } + return descr; +} +#endif + +/* PyObject_GenericGetAttr */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) { + if (unlikely(Py_TYPE(obj)->tp_dictoffset)) { + return PyObject_GenericGetAttr(obj, attr_name); + } + return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name); +} +#endif + +/* SetVTable */ +static int __Pyx_SetVtable(PyObject *dict, void *vtable) { +#if PY_VERSION_HEX >= 0x02070000 + PyObject *ob = PyCapsule_New(vtable, 0, 0); +#else + PyObject *ob = PyCObject_FromVoidPtr(vtable, 0); +#endif + if (!ob) + goto bad; + if (PyDict_SetItem(dict, __pyx_n_s_pyx_vtable, ob) < 0) + goto bad; + Py_DECREF(ob); + return 0; +bad: + Py_XDECREF(ob); + return -1; +} + +/* SetupReduce */ +static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) { + int ret; + PyObject *name_attr; + name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name); + if (likely(name_attr)) { + ret = PyObject_RichCompareBool(name_attr, name, Py_EQ); + } else { + ret = -1; + } + if (unlikely(ret < 0)) { + PyErr_Clear(); + ret = 0; + } + Py_XDECREF(name_attr); + return ret; +} +static int __Pyx_setup_reduce(PyObject* type_obj) { + int ret = 0; + PyObject *object_reduce = NULL; + PyObject *object_reduce_ex = NULL; + PyObject *reduce = NULL; + PyObject *reduce_ex = NULL; + PyObject *reduce_cython = NULL; + PyObject *setstate = NULL; + PyObject *setstate_cython = NULL; +#if CYTHON_USE_PYTYPE_LOOKUP + if (_PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate)) goto GOOD; +#else + if (PyObject_HasAttr(type_obj, __pyx_n_s_getstate)) goto GOOD; +#endif +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD; +#else + object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD; +#endif + reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto BAD; + if (reduce_ex == object_reduce_ex) { +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD; +#else + object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD; +#endif + reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto BAD; + if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) { + reduce_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_cython); if (unlikely(!reduce_cython)) goto BAD; + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto BAD; + setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate); + if (!setstate) PyErr_Clear(); + if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) { + setstate_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate_cython); if (unlikely(!setstate_cython)) goto BAD; + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto BAD; + } + PyType_Modified((PyTypeObject*)type_obj); + } + } + goto GOOD; +BAD: + if (!PyErr_Occurred()) + PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name); + ret = -1; +GOOD: +#if !CYTHON_USE_PYTYPE_LOOKUP + Py_XDECREF(object_reduce); + Py_XDECREF(object_reduce_ex); +#endif + Py_XDECREF(reduce); + Py_XDECREF(reduce_ex); + Py_XDECREF(reduce_cython); + Py_XDECREF(setstate); + Py_XDECREF(setstate_cython); + return ret; +} + +/* TypeImport */ +#ifndef __PYX_HAVE_RT_ImportType +#define __PYX_HAVE_RT_ImportType +static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, + size_t size, enum __Pyx_ImportType_CheckSize check_size) +{ + PyObject *result = 0; + char warning[200]; + Py_ssize_t basicsize; +#ifdef Py_LIMITED_API + PyObject *py_basicsize; +#endif + result = PyObject_GetAttrString(module, class_name); + if (!result) + goto bad; + if (!PyType_Check(result)) { + PyErr_Format(PyExc_TypeError, + "%.200s.%.200s is not a type object", + module_name, class_name); + goto bad; + } +#ifndef Py_LIMITED_API + basicsize = ((PyTypeObject *)result)->tp_basicsize; +#else + py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); + if (!py_basicsize) + goto bad; + basicsize = PyLong_AsSsize_t(py_basicsize); + Py_DECREF(py_basicsize); + py_basicsize = 0; + if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; +#endif + if ((size_t)basicsize < size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; + } + return (PyTypeObject *)result; +bad: + Py_XDECREF(result); + return NULL; +} +#endif + +/* CLineInTraceback */ +#ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#endif + +/* CodeObjectCache */ +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ +#include "compile.h" +#include "frameobject.h" +#include "traceback.h" +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyObject *py_srcfile = 0; + PyObject *py_funcname = 0; + #if PY_MAJOR_VERSION < 3 + py_srcfile = PyString_FromString(filename); + #else + py_srcfile = PyUnicode_FromString(filename); + #endif + if (!py_srcfile) goto bad; + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + #else + py_funcname = PyUnicode_FromString(funcname); + #endif + } + if (!py_funcname) goto bad; + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + Py_DECREF(py_funcname); + return py_code; +bad: + Py_XDECREF(py_srcfile); + Py_XDECREF(py_funcname); + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + py_code = __pyx_find_code_object(c_line ? -c_line : py_line); + if (!py_code) { + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) goto bad; + __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); + } + py_frame = PyFrame_New( + tstate, /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +/* CIntFromPyVerify */ +#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* CIntFromPy */ +static CYTHON_INLINE uint8_t __Pyx_PyInt_As_uint8_t(PyObject *x) { + const uint8_t neg_one = (uint8_t) ((uint8_t) 0 - (uint8_t) 1), const_zero = (uint8_t) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(uint8_t) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(uint8_t, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (uint8_t) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint8_t) 0; + case 1: __PYX_VERIFY_RETURN_INT(uint8_t, digit, digits[0]) + case 2: + if (8 * sizeof(uint8_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) >= 2 * PyLong_SHIFT) { + return (uint8_t) (((((uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(uint8_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) >= 3 * PyLong_SHIFT) { + return (uint8_t) (((((((uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(uint8_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) >= 4 * PyLong_SHIFT) { + return (uint8_t) (((((((((uint8_t)digits[3]) << PyLong_SHIFT) | (uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (uint8_t) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(uint8_t) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint8_t, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint8_t) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint8_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint8_t) 0; + case -1: __PYX_VERIFY_RETURN_INT(uint8_t, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(uint8_t, digit, +digits[0]) + case -2: + if (8 * sizeof(uint8_t) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) - 1 > 2 * PyLong_SHIFT) { + return (uint8_t) (((uint8_t)-1)*(((((uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(uint8_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) - 1 > 2 * PyLong_SHIFT) { + return (uint8_t) ((((((uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(uint8_t) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) - 1 > 3 * PyLong_SHIFT) { + return (uint8_t) (((uint8_t)-1)*(((((((uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(uint8_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) - 1 > 3 * PyLong_SHIFT) { + return (uint8_t) ((((((((uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(uint8_t) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) - 1 > 4 * PyLong_SHIFT) { + return (uint8_t) (((uint8_t)-1)*(((((((((uint8_t)digits[3]) << PyLong_SHIFT) | (uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(uint8_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) - 1 > 4 * PyLong_SHIFT) { + return (uint8_t) ((((((((((uint8_t)digits[3]) << PyLong_SHIFT) | (uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); + } + } + break; + } +#endif + if (sizeof(uint8_t) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint8_t, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint8_t) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint8_t, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + uint8_t val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (uint8_t) -1; + } + } else { + uint8_t val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (uint8_t) -1; + val = __Pyx_PyInt_As_uint8_t(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to uint8_t"); + return (uint8_t) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to uint8_t"); + return (uint8_t) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) { + const uint64_t neg_one = (uint64_t) ((uint64_t) 0 - (uint64_t) 1), const_zero = (uint64_t) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(uint64_t) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(uint64_t, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (uint64_t) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint64_t) 0; + case 1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, digits[0]) + case 2: + if (8 * sizeof(uint64_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) >= 2 * PyLong_SHIFT) { + return (uint64_t) (((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(uint64_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) >= 3 * PyLong_SHIFT) { + return (uint64_t) (((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(uint64_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) >= 4 * PyLong_SHIFT) { + return (uint64_t) (((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (uint64_t) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(uint64_t) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint64_t, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint64_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint64_t) 0; + case -1: __PYX_VERIFY_RETURN_INT(uint64_t, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, +digits[0]) + case -2: + if (8 * sizeof(uint64_t) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT) { + return (uint64_t) (((uint64_t)-1)*(((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(uint64_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT) { + return (uint64_t) ((((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT) { + return (uint64_t) (((uint64_t)-1)*(((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(uint64_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT) { + return (uint64_t) ((((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) - 1 > 4 * PyLong_SHIFT) { + return (uint64_t) (((uint64_t)-1)*(((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(uint64_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) - 1 > 4 * PyLong_SHIFT) { + return (uint64_t) ((((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); + } + } + break; + } +#endif + if (sizeof(uint64_t) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint64_t, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint64_t) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint64_t, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + uint64_t val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (uint64_t) -1; + } + } else { + uint64_t val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (uint64_t) -1; + val = __Pyx_PyInt_As_uint64_t(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to uint64_t"); + return (uint64_t) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to uint64_t"); + return (uint64_t) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { + const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { + const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0; + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* FastTypeChecks */ +#if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i<n; i++) { + if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1; + } +#endif + for (i=0; i<n; i++) { + PyObject *t = PyTuple_GET_ITEM(tuple, i); + #if PY_MAJOR_VERSION < 3 + if (likely(exc_type == t)) return 1; + #endif + if (likely(PyExceptionClass_Check(t))) { + if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1; + } else { + } + } + return 0; +} +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) { + if (likely(err == exc_type)) return 1; + if (likely(PyExceptionClass_Check(err))) { + if (likely(PyExceptionClass_Check(exc_type))) { + return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type); + } else if (likely(PyTuple_Check(exc_type))) { + return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type); + } else { + } + } + return PyErr_GivenExceptionMatches(err, exc_type); +} +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) { + assert(PyExceptionClass_Check(exc_type1)); + assert(PyExceptionClass_Check(exc_type2)); + if (likely(err == exc_type1 || err == exc_type2)) return 1; + if (likely(PyExceptionClass_Check(err))) { + return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2); + } + return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2)); +} +#endif + +/* CheckBinaryVersion */ +static int __Pyx_check_binary_version(void) { + char ctversion[4], rtversion[4]; + PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); + PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion()); + if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) { + char message[200]; + PyOS_snprintf(message, sizeof(message), + "compiletime version %s of module '%.100s' " + "does not match runtime version %s", + ctversion, __Pyx_MODULE_NAME, rtversion); + return PyErr_WarnEx(NULL, message, 1); + } + return 0; +} + +/* InitStrings */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + if (PyObject_Hash(*t->p) == -1) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +} +#else +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(PyUnicode_IS_ASCII(o))) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +} +#endif +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS + PyNumberMethods *m; +#endif + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(PyLong_Check(x))) +#endif + return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS + m = Py_TYPE(x)->tp_as_number; + #if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(b); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/venv/lib/python3.6/site-packages/yarl/_quoting.cpython-36m-x86_64-linux-gnu.so b/venv/lib/python3.6/site-packages/yarl/_quoting.cpython-36m-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..22c7c93666ea68f5c3208427ab8fae9af1c66631 GIT binary patch literal 545686 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 IXKq#g2X^Zpy8r+H literal 0 HcmV?d00001 diff --git a/venv/lib/python3.6/site-packages/yarl/_quoting.pyx b/venv/lib/python3.6/site-packages/yarl/_quoting.pyx new file mode 100644 index 0000000..8d5ae8c --- /dev/null +++ b/venv/lib/python3.6/site-packages/yarl/_quoting.pyx @@ -0,0 +1,390 @@ +# cython: language_level=3 + +from libc.stdint cimport uint8_t, uint64_t +from libc.string cimport memcpy, memset + +from cpython.exc cimport PyErr_NoMemory +from cpython.mem cimport PyMem_Malloc, PyMem_Realloc, PyMem_Free +from cpython.unicode cimport PyUnicode_DecodeASCII + +from string import ascii_letters, digits + +cdef str GEN_DELIMS = ":/?#[]@" +cdef str SUB_DELIMS_WITHOUT_QS = "!$'()*," +cdef str SUB_DELIMS = SUB_DELIMS_WITHOUT_QS + '+?=;' +cdef str RESERVED = GEN_DELIMS + SUB_DELIMS +cdef str UNRESERVED = ascii_letters + digits + '-._~' +cdef str ALLOWED = UNRESERVED + SUB_DELIMS_WITHOUT_QS +cdef str QS = '+&=;' + +DEF BUF_SIZE = 8 * 1024 # 8KiB +cdef char BUFFER[BUF_SIZE] + + +cdef inline Py_UCS4 _to_hex(uint8_t v): + if v < 10: + return <Py_UCS4>(v+0x30) # ord('0') == 0x30 + else: + return <Py_UCS4>(v+0x41-10) # ord('A') == 0x41 + + +cdef inline int _from_hex(Py_UCS4 v): + if '0' <= v <= '9': + return <int>(v) - 0x30 # ord('0') == 0x30 + elif 'A' <= v <= 'F': + return <int>(v) - 0x41 + 10 # ord('A') == 0x41 + elif 'a' <= v <= 'f': + return <int>(v) - 0x61 + 10 # ord('a') == 0x61 + else: + return -1 + + +cdef inline Py_UCS4 _restore_ch(Py_UCS4 d1, Py_UCS4 d2): + cdef int digit1 = _from_hex(d1) + if digit1 < 0: + return <Py_UCS4>-1 + cdef int digit2 = _from_hex(d2) + if digit2 < 0: + return <Py_UCS4>-1 + return <Py_UCS4>(digit1 << 4 | digit2) + + +cdef uint8_t ALLOWED_TABLE[16] +cdef uint8_t ALLOWED_NOTQS_TABLE[16] + + +cdef inline bint bit_at(uint8_t array[], uint64_t ch): + return array[ch >> 3] & (1 << (ch & 7)) + + +cdef inline void set_bit(uint8_t array[], uint64_t ch): + array[ch >> 3] |= (1 << (ch & 7)) + + +memset(ALLOWED_TABLE, 0, sizeof(ALLOWED_TABLE)) +memset(ALLOWED_NOTQS_TABLE, 0, sizeof(ALLOWED_NOTQS_TABLE)) + +for i in range(128): + if chr(i) in ALLOWED: + set_bit(ALLOWED_TABLE, i) + set_bit(ALLOWED_NOTQS_TABLE, i) + if chr(i) in QS: + set_bit(ALLOWED_NOTQS_TABLE, i) + +# ----------------- writer --------------------------- + +cdef struct Writer: + char *buf + Py_ssize_t size + Py_ssize_t pos + bint changed + + +cdef inline void _init_writer(Writer* writer): + writer.buf = &BUFFER[0] + writer.size = BUF_SIZE + writer.pos = 0 + writer.changed = 0 + + +cdef inline void _release_writer(Writer* writer): + if writer.buf != BUFFER: + PyMem_Free(writer.buf) + + +cdef inline int _write_char(Writer* writer, Py_UCS4 ch, bint changed): + cdef char * buf + cdef Py_ssize_t size + + if writer.pos == writer.size: + # reallocate + size = writer.size + BUF_SIZE + if writer.buf == BUFFER: + buf = <char*>PyMem_Malloc(size) + if buf == NULL: + PyErr_NoMemory() + return -1 + memcpy(buf, writer.buf, writer.size) + else: + buf = <char*>PyMem_Realloc(writer.buf, size) + if buf == NULL: + PyErr_NoMemory() + return -1 + writer.buf = buf + writer.size = size + writer.buf[writer.pos] = <char>ch + writer.pos += 1 + writer.changed |= changed + return 0 + + +cdef inline int _write_pct(Writer* writer, uint8_t ch, bint changed): + if _write_char(writer, '%', changed) < 0: + return -1 + if _write_char(writer, _to_hex(<uint8_t>ch >> 4), changed) < 0: + return -1 + return _write_char(writer, _to_hex(<uint8_t>ch & 0x0f), changed) + + +cdef inline int _write_percent(Writer* writer): + if _write_char(writer, '%', True) < 0: + return -1 + if _write_char(writer, '2', True) < 0: + return -1 + return _write_char(writer, '5', True) + + +cdef inline int _write_pct_check(Writer* writer, Py_UCS4 ch, Py_UCS4 pct[]): + cdef Py_UCS4 pct1 = _to_hex(<uint8_t>ch >> 4) + cdef Py_UCS4 pct2 = _to_hex(<uint8_t>ch & 0x0f) + cdef bint changed = pct[0] != pct1 or pct[1] != pct2 + + if _write_char(writer, '%', changed) < 0: + return -1 + if _write_char(writer, pct1, changed) < 0: + return -1 + return _write_char(writer, pct2, changed) + + +cdef inline int _write_utf8(Writer* writer, Py_UCS4 symbol): + cdef uint64_t utf = <uint64_t> symbol + + if utf < 0x80: + return _write_pct(writer, <uint8_t>utf, True) + elif utf < 0x800: + if _write_pct(writer, <uint8_t>(0xc0 | (utf >> 6)), True) < 0: + return -1 + return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) + elif 0xD800 <= utf <= 0xDFFF: + # surogate pair, ignored + return 0 + elif utf < 0x10000: + if _write_pct(writer, <uint8_t>(0xe0 | (utf >> 12)), True) < 0: + return -1 + if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f)), + True) < 0: + return -1 + return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) + elif utf > 0x10FFFF: + # symbol is too large + return 0 + else: + if _write_pct(writer, <uint8_t>(0xf0 | (utf >> 18)), True) < 0: + return -1 + if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 12) & 0x3f)), + True) < 0: + return -1 + if _write_pct(writer, <uint8_t>(0x80 | ((utf >> 6) & 0x3f)), + True) < 0: + return -1 + return _write_pct(writer, <uint8_t>(0x80 | (utf & 0x3f)), True) + + +# --------------------- end writer -------------------------- + + +cdef class _Quoter: + cdef bint _qs + + cdef uint8_t _safe_table[16] + cdef uint8_t _protected_table[16] + + def __init__(self, *, str safe='', str protected='', bint qs=False): + cdef Py_UCS4 ch + + self._qs = qs + + if not self._qs: + memcpy(self._safe_table, + ALLOWED_NOTQS_TABLE, + sizeof(self._safe_table)) + else: + memcpy(self._safe_table, + ALLOWED_TABLE, + sizeof(self._safe_table)) + for ch in safe: + if ord(ch) > 127: + raise ValueError("Only safe symbols with ORD < 128 are allowed") + set_bit(self._safe_table, ch) + + memset(self._protected_table, 0, sizeof(self._protected_table)) + for ch in protected: + if ord(ch) > 127: + raise ValueError("Only safe symbols with ORD < 128 are allowed") + set_bit(self._safe_table, ch) + set_bit(self._protected_table, ch) + + def __call__(self, val): + cdef Writer writer + if val is None: + return None + if type(val) is not str: + if isinstance(val, str): + # derived from str + val = str(val) + else: + raise TypeError("Argument should be str") + _init_writer(&writer) + try: + return self._do_quote(<str>val, &writer) + finally: + _release_writer(&writer) + + cdef str _do_quote(self, str val, Writer *writer): + cdef Py_UCS4 ch + cdef int has_pct = 0 + cdef Py_UCS4 pct[2] + cdef int idx = 0 + + for ch in val: + if has_pct: + pct[has_pct-1] = ch + has_pct += 1 + if has_pct == 3: + ch = _restore_ch(pct[0], pct[1]) + has_pct = 0 + + if ch == <Py_UCS4>-1: + if _write_percent(writer) < 0: + raise + if self._write(writer, pct[0]) < 0: + raise + if self._write(writer, pct[1]) < 0: + raise + continue + + if ch < 128: + if bit_at(self._protected_table, ch): + if _write_pct(writer, ch, True) < 0: + raise + continue + + if bit_at(self._safe_table, ch): + if _write_char(writer, ch, True) < 0: + raise + continue + + if _write_pct_check(writer, ch, pct) < 0: + raise + continue + + elif ch == '%': + has_pct = 1 + continue + + if self._write(writer, ch) < 0: + raise + + if has_pct: + if _write_percent(writer) < 0: + raise + if has_pct > 1: # the value is 2 + if self._write(writer, ch) < 0: + raise + + if not writer.changed: + return val + else: + return PyUnicode_DecodeASCII(writer.buf, writer.pos, "strict") + + cdef inline int _write(self, Writer *writer, Py_UCS4 ch): + if self._qs: + if ch == ' ': + return _write_char(writer, '+', True) + + if ch < 128 and bit_at(self._safe_table, ch): + return _write_char(writer, ch, False) + + return _write_utf8(writer, ch) + + +cdef class _Unquoter: + cdef str _unsafe + cdef bint _qs + cdef _Quoter _quoter + cdef _Quoter _qs_quoter + + def __init__(self, *, unsafe='', qs=False): + self._unsafe = unsafe + self._qs = qs + self._quoter = _Quoter() + self._qs_quoter = _Quoter(qs=True) + + def __call__(self, val): + if val is None: + return None + if type(val) is not str: + if isinstance(val, str): + # derived from str + val = str(val) + else: + raise TypeError("Argument should be str") + return self._do_unquote(<str>val) + + cdef str _do_unquote(self, str val): + if len(val) == 0: + return val + cdef str pct = '' + cdef str last_pct = '' + cdef bytearray pcts = bytearray() + cdef list ret = [] + cdef str unquoted + for ch in val: + if pct: + pct += ch + if len(pct) == 3: # pragma: no branch # peephole optimizer + pcts.append(int(pct[1:], base=16)) + last_pct = pct + pct = '' + continue + if pcts: + try: + unquoted = pcts.decode('utf8') + except UnicodeDecodeError: + pass + else: + if self._qs and unquoted in '+=&;': + ret.append(self._qs_quoter(unquoted)) + elif unquoted in self._unsafe: + ret.append(self._quoter(unquoted)) + else: + ret.append(unquoted) + del pcts[:] + + if ch == '%': + pct = ch + continue + + if pcts: + ret.append(last_pct) # %F8ab + last_pct = '' + + if ch == '+': + if not self._qs or ch in self._unsafe: + ret.append('+') + else: + ret.append(' ') + continue + + if ch in self._unsafe: + ret.append('%') + h = hex(ord(ch)).upper()[2:] + for ch in h: + ret.append(ch) + continue + + ret.append(ch) + + if pcts: + try: + unquoted = pcts.decode('utf8') + except UnicodeDecodeError: + ret.append(last_pct) # %F8 + else: + if self._qs and unquoted in '+=&;': + ret.append(self._qs_quoter(unquoted)) + elif unquoted in self._unsafe: + ret.append(self._quoter(unquoted)) + else: + ret.append(unquoted) + return ''.join(ret) diff --git a/venv/lib/python3.6/site-packages/yarl/py.typed b/venv/lib/python3.6/site-packages/yarl/py.typed new file mode 100644 index 0000000..867e2c8 --- /dev/null +++ b/venv/lib/python3.6/site-packages/yarl/py.typed @@ -0,0 +1 @@ +# Placeholder \ No newline at end of file diff --git a/venv/lib/python3.6/site-packages/yarl/quoting.py b/venv/lib/python3.6/site-packages/yarl/quoting.py new file mode 100644 index 0000000..9fdcc4c --- /dev/null +++ b/venv/lib/python3.6/site-packages/yarl/quoting.py @@ -0,0 +1,204 @@ +import re +from string import ascii_letters, ascii_lowercase, digits +from typing import Optional, TYPE_CHECKING, cast + +BASCII_LOWERCASE = ascii_lowercase.encode("ascii") +BPCT_ALLOWED = {"%{:02X}".format(i).encode("ascii") for i in range(256)} +GEN_DELIMS = ":/?#[]@" +SUB_DELIMS_WITHOUT_QS = "!$'()*," +SUB_DELIMS = SUB_DELIMS_WITHOUT_QS + "+&=;" +RESERVED = GEN_DELIMS + SUB_DELIMS +UNRESERVED = ascii_letters + digits + "-._~" +ALLOWED = UNRESERVED + SUB_DELIMS_WITHOUT_QS + + +_IS_HEX = re.compile(b"[A-Z0-9][A-Z0-9]") + + +class _Quoter: + def __init__( + self, *, safe: str = "", protected: str = "", qs: bool = False + ) -> None: + self._safe = safe + self._protected = protected + self._qs = qs + + def __call__(self, val: Optional[str]) -> Optional[str]: + if val is None: + return None + if not isinstance(val, str): + raise TypeError("Argument should be str") + if not val: + return "" + bval = cast(str, val).encode("utf8", errors="ignore") + ret = bytearray() + pct = bytearray() + safe = self._safe + safe += ALLOWED + if not self._qs: + safe += "+&=;" + safe += self._protected + bsafe = safe.encode("ascii") + idx = 0 + while idx < len(bval): + ch = bval[idx] + idx += 1 + + if pct: + if ch in BASCII_LOWERCASE: + ch = ch - 32 # convert to uppercase + pct.append(ch) + if len(pct) == 3: # pragma: no branch # peephole optimizer + buf = pct[1:] + if not _IS_HEX.match(buf): + ret.extend(b"%25") + pct.clear() + idx -= 2 + continue + try: + unquoted = chr(int(pct[1:].decode("ascii"), base=16)) + except ValueError: + ret.extend(b"%25") + pct.clear() + idx -= 2 + continue + + if unquoted in self._protected: + ret.extend(pct) + elif unquoted in safe: + ret.append(ord(unquoted)) + else: + ret.extend(pct) + pct.clear() + + # special case, if we have only one char after "%" + elif len(pct) == 2 and idx == len(bval): + ret.extend(b"%25") + pct.clear() + idx -= 1 + + continue + + elif ch == ord("%"): + pct.clear() + pct.append(ch) + + # special case if "%" is last char + if idx == len(bval): + ret.extend(b"%25") + + continue + + if self._qs: + if ch == ord(" "): + ret.append(ord("+")) + continue + if ch in bsafe: + ret.append(ch) + continue + + ret.extend(("%{:02X}".format(ch)).encode("ascii")) + + return ret.decode("ascii") + + +class _Unquoter: + def __init__(self, *, unsafe: str = "", qs: bool = False) -> None: + self._unsafe = unsafe + self._qs = qs + self._quoter = _Quoter() + self._qs_quoter = _Quoter(qs=True) + + def __call__(self, val: Optional[str]) -> Optional[str]: + if val is None: + return None + if not isinstance(val, str): + raise TypeError("Argument should be str") + if not val: + return "" + pct = "" + last_pct = "" + pcts = bytearray() + ret = [] + for ch in val: + if pct: + pct += ch + if len(pct) == 3: # pragma: no branch # peephole optimizer + pcts.append(int(pct[1:], base=16)) + last_pct = pct + pct = "" + continue + if pcts: + try: + unquoted = pcts.decode("utf8") + except UnicodeDecodeError: + pass + else: + if self._qs and unquoted in "+=&;": + to_add = self._qs_quoter(unquoted) + if to_add is None: # pragma: no cover + raise RuntimeError("Cannot quote None") + ret.append(to_add) + elif unquoted in self._unsafe: + to_add = self._qs_quoter(unquoted) + if to_add is None: # pragma: no cover + raise RuntimeError("Cannot quote None") + ret.append(to_add) + else: + ret.append(unquoted) + del pcts[:] + + if ch == "%": + pct = ch + continue + + if pcts: + ret.append(last_pct) # %F8ab + last_pct = "" + + if ch == "+": + if not self._qs or ch in self._unsafe: + ret.append("+") + else: + ret.append(" ") + continue + + if ch in self._unsafe: + ret.append("%") + h = hex(ord(ch)).upper()[2:] + for ch in h: + ret.append(ch) + continue + + ret.append(ch) + + if pcts: + try: + unquoted = pcts.decode("utf8") + except UnicodeDecodeError: + ret.append(last_pct) # %F8 + else: + if self._qs and unquoted in "+=&;": + to_add = self._qs_quoter(unquoted) + if to_add is None: # pragma: no cover + raise RuntimeError("Cannot quote None") + ret.append(to_add) + elif unquoted in self._unsafe: + to_add = self._qs_quoter(unquoted) + if to_add is None: # pragma: no cover + raise RuntimeError("Cannot quote None") + ret.append(to_add) + else: + ret.append(unquoted) + return "".join(ret) + + +_PyQuoter = _Quoter +_PyUnquoter = _Unquoter + +if not TYPE_CHECKING: # pragma: no branch + try: + from ._quoting import _Quoter, _Unquoter + except ImportError: # pragma: no cover + _Quoter = _PyQuoter + _Unquoter = _PyUnquoter diff --git a/venv/lib64 b/venv/lib64 new file mode 120000 index 0000000..7951405 --- /dev/null +++ b/venv/lib64 @@ -0,0 +1 @@ +lib \ No newline at end of file diff --git a/venv/pyvenv.cfg b/venv/pyvenv.cfg new file mode 100644 index 0000000..6bb23d5 --- /dev/null +++ b/venv/pyvenv.cfg @@ -0,0 +1,3 @@ +home = /home/freeman/anaconda3/bin +include-system-site-packages = false +version = 3.6.8